【发布时间】:2011-11-30 04:25:28
【问题描述】:
任何人都对如何构建动态的平均度量有建议 - 它没有指定特定的切片,而是使用您当前的视图?我正在使用前端 OLAP 查看器(Strategy Companion),我需要一个基于当前在数据视图中过滤的维度的“动态”实现。
我的事实表看起来像这样:
Key AmountA IndicatorA AmountB Other Data
1 5 1 null 25
2 6 1 null 52
3 7 1 2 106
4 null 0 4 108
现在我可以使用“[Measures].[AmountA] / [Measures].[IndicatorA]”为“[Measures].[AmountA]”指定一个简单的平均值,效果很好 - “[IndicatorA]”总计为“[AmountA]”的非空值的数量。无论在视图中选择什么维度,这也很有效 - 它总是除以已过滤的行数。
但是 [AmountB] 呢?我没有空指示符列。对于我当前视图中过滤的任何行,我想获得 [AmountB] 的平均值。如果我尝试使用行数作为一个简单的公式(伪代码“[Measures].[AmountB] / Count([Measures].[Key])”)我会得到错误的结果,因为它正在计算所有平均为空行。
所以,我需要一种方法来使用 AVG 函数来指定 [AmountB] 在“我当前正在过滤的任何行,基于我当前使用的任何维度”的集合上的平均值。如何指定这个动态集?
我已经尝试了 AVG 函数的几种不同用法,它们要么返回 null,要么总结为巨大的数字,显然不是我正在寻找的平均值。
谢谢- 马特
【问题讨论】: