SSAS立方体计算

时间:2015-02-09 15:36:44

标签: visual-studio-2012 ssas mdx olap-cube

我有一个由多个维度和指标组成的多维数据集。我有一个指标“成本”,我希望根据用户选择的细分,获得总成本的记录百分比成本。例如:

如果用户选择维度:“广告系列”,“广告组”和“关键字”,则结果集应计算'%cost',如下所示。所有'%cost'应该加起来为1。 enter image description here

如果用户选择维度:“广告系列”,则结果集应计算'%cost',如下所示。所有'%cost'应该加起来为1。

enter image description here

如何在SSAS多维数据集计算中编写公式,以便根据用户选择的段动态计算%成本?

我的当前公式为([Keyword].[Keyword].CurrentMember, [Measures].[Cost])/ (sum(Axis(1),[Measures].[Cost]))。它有效,但需要很长时间才能计算出来。我想知道是否有更好的方法来做到这一点。

提前致谢。

2 个答案:

答案 0 :(得分:0)

如果使用Parent怎么办?

[Measures].[Cost]
/
(Axis(1).Item(0).Item(0).Hierarchy.CurrentMember.Parent
,[Measures].[Cost])

这使服务器可以使用预先计算的值而不是SUM。

(我还删除了[Keyword].[Keyword].CurrentMember,因为我们没有在这里看到使用它的理由:如果它在轴上或作为过滤器,引擎会自动应用它

答案 1 :(得分:0)

此公式完美无缺。但是当你在一个立方体中你有更多的棕褐色并且尝试在Excel中显示它们时它会显示#value错误而不是给出结果,而如果它放置两个以上的变量就可以了。这是唯一的问题。