代码之家  ›  专栏  ›  技术社区  ›  Scott Munro Shimmy Weitzhandler

当前成员(MDX)忽略切片器维度

mdx
  •  0
  • Scott Munro Shimmy Weitzhandler  · 技术社区  · 16 年前

    我在角色的celldata表达式中使用currentmember函数来限制通过特定维度访问多维数据集。这是按预期工作的,但有一个例外。即使切片器维度用于筛选角色无权查看的数据,字符串“n/a”也会显示在所有单元格中。

    只有在将角色在轴中限制访问的维度包括在内之后,单元格的值才会按预期显示。

    在我看来,当前成员函数似乎忽略了切片器维度。是这样吗?我应该如何处理这个问题?

    2 回复  |  直到 16 年前
        1
  •  0
  •   Magnus Smith    16 年前

    我的建议是,严肃地说,远离那些要求您使用多维数据集值限制访问的多维数据集。在那里,做了那件事,浪费了太多的时间,最后还是得到了一个不稳定的解决方案。

    绝对不要在OLAP中使用“角色”。

        2
  •  1
  •   Darren Gosbell    16 年前

    这取决于您如何使用过滤器进行查询。如果要生成子查询(使用SSMS或BIDS中的顶部筛选区域),则当前成员将返回所有成员-这是子查询设计的工作方式。如果使用ssms或bids中较低的查询,它将使用where子句,您应该看到预期的结果。

    如果只是按维度成员筛选,那么最好使用维度数据选项卡而不是单元格数据。