任何人都有关于如何构建动态平均度量的建议 - 它没有指定特定切片,而是使用您当前的视图?我在前端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]。[AmountA] / [Measures]。[IndicatorA]”效果很好 - “[IndicatorA]”总结为“[AmountA]”的非空值数。无论在视图中选择了什么尺寸,这也很有用 - 它总是除以已经过滤的行数。
但是[AmountB]怎么样?我没有空指标列。对于我当前视图中已过滤的任何行,我想获得[AmountB]的平均值。如果我尝试使用行数作为一个简单的公式(伪造代码“[Measures]。[AmountB] / Count([Measures]。[Key])”)我得到错误的结果,因为它计算所有的平均值为空行。
所以,我需要一种方法来使用AVG函数来指定[AmountB]的平均值,超过“我当前正在过滤的任何行,基于我当前正在使用的任何维度”。如何指定此动态集?
我尝试了AVG功能的几种不同用途,它们要么返回null,要么归结为大数,显然不是我想要的平均值。
Thanks- 马特
答案 0 :(得分:0)
抱歉,我的第一个建议是错误的。如果您无权访问OLAP多维数据集,则无法为此目的编写任何mdx查询(恕我直言)。因为,您在此访问级别中没有任何详细数据(来自事实表),并且您只能使用多维数据集中的聚合数据和维度。 否则(如果您有权访问olap db),您可以在度量值组中创建此度量标准(非NULL行数),然后将其用于AVG计算(作为多维数据集中的计算成员或在您的“WITH”部分中) MDX查询)。