过滤度量(或删除异常值)

Col*_*lin 5 mdx cubes cube

假设我foo在一个多维数据集中有一个度量,并且我有一个报告要求,用户希望在报告中看到以下度量:

total foo
total foo excluding instances where foo > 10
total foo excluding instances where foo > 30
Run Code Online (Sandbox Code Playgroud)

处理这个问题的最佳方法是什么?在过去,我添加了Named Calculations,它返回NULLif foo > 10或just foo.我觉得必须有一种方法可以在MDX中实现这一点(类似的东西Filter([Measures].[foo], [Measures].[foo] > 10)),但我不能为我的生活做出任何贡献.

有任何想法吗?

Sam*_*way 3

诀窍是您需要在您的设备上应用过滤器,而不是在您的测量上。

例如,使用常用的 Microsoft“仓库和销售”演示多维数据集,以下 MDX 将显示销售额大于 2000 美元的所有商店的销售额。

SELECT Filter([Store].[Stores].[Store].members, [Unit Sales] > 2000) ON COLUMNS,
[销量] ON ROWS
FROM [仓库和销售]

  • 我感谢您的意见,这根本不是我想要的效果。您的示例过滤了一组商店,但我正在寻找的是一种过滤事实记录的方法。使用您的示例,假设我想显示每个商店的平均单位销售额,我仍然想显示每个商店,但我不希望平均值汇总单位销售额 > 2000。 (2认同)