2015-07-10 118 views
0

我想用另一維度中的某些信息來過濾具有多維數據集安全性的維度。MDX過濾具有其他維度結果的維度成員

所以 - 我有一個維度,其中包含所有帳戶的某個帳戶負責人(帳戶編號和首字母縮寫)和另一個維度。 我想確保一個人只能看到他們負責的賬戶上的變動。

我可以過濾工作是這樣的:

SELECT 
    {} ON 0 
,{ 
    Exists 
    (
     Filter 
     (
      [Accounts].[Accounts].[AccountNo] 
     * 
      [AccountResponsible].[AccountResponsible].[AccountNo] 
     , 
      [Accounts].[Accounts].Properties("key") 
     = 
      [AccountResponsible].[AccountResponsible].Properties("key") 
    ) 
    ,[AccountResponsible].[Responsible].&[MSA] 
    ) 
    } ON 1 
FROM mycube; 

的問題是,有兩列,我不能使用,在多維數據集安全。有沒有辦法重寫這個,所以我實際上只有一列允許用戶可以看到的成員?

回答

0

嘗試使用Extract功能:

SELECT 
    {} ON 0 
, 

EXTRACT(
{ 
    Exists 
    (
     Filter 
     (
      [Accounts].[Accounts].[AccountNo] 
     * 
      [AccountResponsible].[AccountResponsible].[AccountNo] 
     , 
      [Accounts].[Accounts].Properties("key") 
     = 
      [AccountResponsible].[AccountResponsible].Properties("key") 
    ) 
    ,[AccountResponsible].[Responsible].&[MSA] 
    ) 
} 
,[Accounts].[Accounts] //<<HIERARCHY YOU WISH TO EXTRACT 
) ON 1 
FROM mycube; 
+0

這工作 - 謝謝 –