ssas - MDX 排除层次结构中存在值的结果

标签 ssas mdx olap

如果我弄错了一些术语,请原谅,我是 MDX/OLAP 的新手。

我有一个维度来确定道德墙。维度看起来像这样:

Ethical Wall (dimension)
   --> Matter ID (hierarchy)
   --> Walled (hierarchy)
   --> White Listed Initials (hierarchy)
   --> Black Listed Initials (hierarchy)

[Walled] 层次结构包含 true 或 false,具体取决于事物是否应用了墙。

白名单和黑名单层次结构分别包含有权或无权访问某事项的用户姓名首字母。请注意,事物要么被列入白名单,要么被列入黑名单,绝不是两者的结合。

我已经能够相对轻松地解释无墙场景和白名单场景,但我在黑名单场景中遇到了很多问题。这是我到目前为止提出的 where 子句:

({
    (
        [Ethical Wall].[Walled].&[True]
        ,[Ethical Wall].[White Listed Initials].&[XXX]
        ,[Ethical Wall].[Black Listed Initials].&[]
    )
    ,(
        [Ethical Wall].[Walled].&[True]
        ,[Ethical Wall].[White Listed Initials].&[]
        ,-{[Ethical Wall].[Black Listed Initials].&[XXX]}
    )
    ,(
        [Ethical Wall].[Walled].&[False]
        ,[Ethical Wall].[White Listed Initials].&[]
        ,[Ethical Wall].[Black Listed Initials].&[]
    )
}) 

剥离并在表格中表示我从中过滤的初始数据集,看起来像这样:

enter image description here

我只想选择首字母为 XXX 的用户有权访问的 Ids。从上面应用过滤器我得到所有 3 个 Ids。我要找的结果集只有Id12。上面的文件管理器匹配如下:

enter image description here

我理解为什么我的过滤器正在检索所有 3 个 Id,但我不明白如何修改过滤器的中间部分以排除 Id 正确。这是过滤器的违规部分:

    ,(
        [Ethical Wall].[Walled].&[True]
        ,[Ethical Wall].[White Listed Initials].&[]
        ,-{[Ethical Wall].[Black Listed Initials].&[XXX]}
    )

我如何修改我的过滤器以匹配这样的数据集?

enter image description here

最佳答案

为什么不能对此进行简化?

WHERE
({
    (
        [Ethical Wall].[Walled].&[True]
        ,[Ethical Wall].[White Listed Initials].&[XXX]
    )
    ,(
        [Ethical Wall].[Walled].&[False]
        ,[Ethical Wall].[White Listed Initials].&[]
    )
});

关于ssas - MDX 排除层次结构中存在值的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44835658/

相关文章:

visual-studio-2010 - 具有多个时间序列的立方体设计

svn - 如何防止 Tortoise SVN 进行自动合并?

c# - 以编程方式添加具有数据库权限的角色

oracle - 将父子数据放入基于 Oracle 级别的 OLAP 层次结构

ssas - 将 MDX 转换为 DAX 查询时的性能问题

asp.net - Mdx 字符串生成器

excel - 为什么从 SSAS OLAP Cube (MDX) 获取数据时 Excel Grand Total 返回错误 (#VALUE!)?

excel - 创建查询后如何从 SSAS 多维数据集导出数据?

delphi - Delphi 的 Crosstab/Cube/Pivot 组件

sql-server - 了解 olap 的书籍建议