2012-01-04 48 views
1

我有以下查詢計算成員:MDX多個除了在計算成員過濾

SUM(
    EXCEPT([Policy].[Policy Status].[Policy Status],[Policy].[Policy Status].&[Void]) 
    , [Measures].[CountPolicyEndorsesNull] 
) 

我要的是包括另一個排除過濾器。我曾嘗試以下操作:

SUM(
    {EXCEPT([Policy].[Policy Status].[Policy Status],[Policy].[Policy Status].&[Void])} 
    * 
    {EXCEPT([Invoice].[Invoice Status].[Invoice Status],[Invoice].[Invoice Status].&[Void])} 
    , [Measures].[CountPolicyEndorsesNull] 
) 

但它返回比第一查詢多個結果。有任何想法嗎?

回答

0

您的語法無誤。它可能是更多的原因有以下幾種:

  1. 你有陰性結果
  2. 你有一個([發票] [發票狀態] & [虛空],[措施] [CountPolicyEndorsesNull]。)默認成員在[發票],[發票狀態],[發票狀態]中設置。

,請返回下面的查詢:

select 
    [Measures].[CountPolicyEndorsesNull] 
on columns, 
    {[Invoice].[Invoice Status].DefaultMember, 
     [Invoice].[Invoice Status].&[Void] 
    } 
on rows 
from [CubeName] 

,將讓你的罪魁禍首。

+0

我跑了,但我不明白我應該從中得到什麼。這裏的截圖:http://img84.imageshack.us/img84/2589/60258089.png ...當我只留下[度量]。[CountPolicyEndorsesNull]列上我仍然得到相同的數字。啊哈! – 2012-01-05 09:17:48

+0

啊!您的'發票狀態'的'DefaultMember'爲'null',因此當您完成整個集合時,您會將「發票狀態」的其餘部分添加到結果中。您可以通過在'&[Void]'之後包括'[發票]。[發票狀態] .Members'來查看。這就是爲什麼你會得到額外的價值。 – Eric 2012-01-05 13:25:11

+0

我的教育猜測是defaultmember不會爲空。也許維度,層次或級別拼寫錯誤。 – ic3 2012-01-05 21:53:01