2016-03-02 20 views
0

我有以下MDX查詢在MDX查詢所有(測量)欄是空的

SELECT 

NON EMPTY 
{     
    [Measures].[Date] 
    ,[Measures].[count] 
    ,[Measures].[Growth] 
    ,[Measures].[Growth percentage] 
} 
ON COLUMNS, 

NON EMPTY 
(
    NONEMPTY(
    [Business Unit].[BU Number].[BU Number]) 
    ,[Department].[Deptnumber].[Deptnumber] 
    ,SelectedPeriod 
) 
ON ROWS 

FROM Cube 

至於結果我得到

Bu Number DeptNumber Period  Date count Growth Growth percentage 
1   a   1/1  null null null null 
1   a   1/1  null null null null 
1   b   1/1  1  null null null 

我只希望其中至少有一個字段被刪除的行 (計數 增長 增長百分比 ) ,所以當我看到該行應刪除所有空

非空不這樣做,在這個例子中

那麼如何解決這個問題

感謝

+0

如果去掉NONEMPTY功能會發生什麼(在NON和EMPTY之間沒有空格的那個)? –

+0

我刪除了,結果是一樣的。 – John

+0

作爲字符串「空」來作爲null?我已經修正了你的問題中的表格,因爲似乎有一個額外的專欄......我可能犯了一個錯誤:如果是這樣,請更正。 – whytheq

回答

2

試試這個:

SELECT 
{     
    [Measures].[Date] 
    ,[Measures].[count] 
    ,[Measures].[Growth] 
    ,[Measures].[Growth percentage] 
} 
ON COLUMNS, 
NONEMPTY(
    [Business Unit].[BU Number].[BU Number].Members 
    *[Department].[Deptnumber].[Deptnumber].Members 
    *SelectedPeriod, 
    { 
    [Measures].[count] 
    ,[Measures].[Growth] 
    ,[Measures].[Growth percentage] 
    } 
) 
ON ROWS 

FROM Cube 
+0

我很想知道這是否有效。我不知道你可以使用多個度量作爲Nonempty()函數的第二個參數。 –

+0

@TabAlleman我相信任何設置都可以作爲第二參數 – GregGalloway

+0

它的確如此。事實證明,我確實知道這一點,我只是忘記了我知道這一點。當我在過去使用它時,我在MDX的WITH子句中創建了一個計算集並將其用作第二個參數。它運行良好。 –

0

我添加了一個會員制的measure.date null如果有其他空 工作,但現在的性能不存在。它適用於一些數據的過濾器,但98%也不會給人很長一段時間後,結果等待

MEMBER [Measures].[Date calc] AS 
(
    IIF([Measures].[Date] = null 
    AND [Measures].[count] = null 
    AND [Measures].[Growth] = null 
    AND [Measures].[Growth percentage] = null, Null, [Measures].[Date] ) 
) 

而且我用 NON EMPTY CROSSJOIN( Hierarchize(),
Hierarchize(), SelectedPeriode )
ON ROWS

和解決性能問題