我想使用另一个维度中的一些信息来过滤多维数据集安全性的维度。
所以 - 我有一个维度,其中包含一些帐户负责人(帐号和负责人的姓名缩写)以及所有帐户的另一个维度。 我想确保一个人只能看到他们负责的账户上的动作。
我可以像这样进行过滤:
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 :(得分: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;