问题描述
我有一个要求,我必须将维度安全性应用于维度“ CompensationItem”之一。 但是问题是它依赖于另一个维度“场景”。 我们有一个带有agementItem,Scenario和User列的映射表/度量(COMP SECURITY),它们应该确定方案用户组合是否可以访问“ CompensationItem”。 似乎产品不支持此功能,因此我们决定使用MDX来实现这一目的。
我们为此编写了以下MDX查询:
SELECT
{
Exists
(
[CompensationItem].[CompensationItemLevel2].[CompensationItemLevel2].MEMBERS,"[User].&[1]","COMP SECURITY"
)
} ON ROWS,{{[Time].[All Time]}}
DIMENSION PROPERTIES [Parent_Unique_Name] ON COLUMNS
FROM Workforce
WHERE
[Scenario].&[1];
当我使用Exists条件时,这会根据用户和方案过滤器返回正确的结果。
但是问题是CompensationItem具有3个级别。并且COMP SECURITY表将仅具有最少节点/最后一级的映射。 因此,如果我在MDX查询中使用level1 / level2,则该筛选器将无法正常工作,并且即使该叶网不安全/未针对该场景映射,汇总总数仍会为所有叶节点提供结果。
我用于level2的以下查询未提供所需的结果:
SELECT
{
Exists
(
[CompensationItem].[CompensationItemGroupNameLevel].&[GroupName],{{[Time].[All Time]}}
DIMENSION PROPERTIES [Parent_Unique_Name] ON COLUMNS
FROM Workforce
WHERE
[Scenario].&[1];
有人可以指导如何解决/重写此查询以获取所需的输出。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)