2017-09-22 88 views
0

我的層級結構最多爲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

你能張貼整個查詢? –

回答

1

取而代之的是:

{ 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查詢沒有問題 –

相關問題