2015-07-10 113 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

这工作 - 谢谢 –