使用可能完全为空的层次结构级别

问题描述:

我的层级结构最多为4级。级别4并不总是存在,但是我的SSRS报告正在将它用于某些逻辑(处理空值)。 这是我的MDX查询的一部分返回所有层级的一些数据:使用可能完全为空的层次结构级别

{ DESCENDANTS([Hierarchy].[Hierarchy], [Hierarchy].[Hierarchy].[Level4], LEAVES) } ON ROWS 

报告正常工作时,我的成绩至少一行4级。但是,如果用户使用的一些参数报告以指定一组没有等级4的数据,显示以下错误:

The dataset 'Data' contains a definition for the Field 'Level4'. 
This field is missing from the returned result set from the data source. 

我该如何处理?基本上我的报告停止工作,如果用户设法筛选出一小部分没有4级节点的数据。

编辑:我一直在做一些测试,出于某种原因,错误不再显示。然而,我仍然遇到同样的问题,因为Level4值的字段在报告中只是空白,如果我在其中放置了一些IsNothing()逻辑,我会得到#Error而不是True/False,因此报告不起作用。

+0

你能张贴整个查询? –

取而代之的是:

{ DESCENDANTS([Hierarchy].[Hierarchy], [Hierarchy].[Hierarchy].[Level4], LEAVES) } ON ROWS 

你需要指定级别4?我认为上述的回报您的层次结构的最底层(4)的所有成员 - 可能像下面的“模式”:

[Dimension].[Hierarchy].LEVELS([Dimension].[Hierarchy].Levels.Count-1) 

但是,如果你想坚持的功能后代,那么也许这个“模式“:

DESCENDANTS([Dimension].[Hierarchy].[All], ([Dimension].[Hierarchy].Levels.Count - 1), SELF) 

但即使像下面这样可能会做您所需要的:

DESCENDANTS([Dimension].[Hierarchy].[All], , LEAVES) 
+0

这将返回与我的查询相同的结果,仍然是用户筛选数据时没有4级层次结构成员和报告逻辑发生故障的相同问题(IsNothing check returns #Error) –

+0

@ Alex_404'IsNothing'不是MDX函数 – whytheq

+0

这是SSRS中的一个函数,我试图用它来处理缺失的行,MDX查询没有问题 –