我有一个由多个维度和指标组成的多维数据集。我有一个指标“成本”,我希望根据用户选择的细分,获得总成本的记录百分比成本。例如:
如果用户选择维度:“广告系列”,“广告组”和“关键字”,则结果集应计算'%cost',如下所示。所有'%cost'应该加起来为1。
如果用户选择维度:“广告系列”,则结果集应计算'%cost',如下所示。所有'%cost'应该加起来为1。
如何在SSAS多维数据集计算中编写公式,以便根据用户选择的段动态计算%成本?
我的当前公式为([Keyword].[Keyword].CurrentMember, [Measures].[Cost])/
(sum(Axis(1),[Measures].[Cost]))
。它有效,但需要很长时间才能计算出来。我想知道是否有更好的方法来做到这一点。
提前致谢。
答案 0 :(得分:0)
如果使用Parent
怎么办?
[Measures].[Cost]
/
(Axis(1).Item(0).Item(0).Hierarchy.CurrentMember.Parent
,[Measures].[Cost])
这使服务器可以使用预先计算的值而不是SUM。
(我还删除了[Keyword].[Keyword].CurrentMember
,因为我们没有在这里看到使用它的理由:如果它在轴上或作为过滤器,引擎会自动应用它
答案 1 :(得分:0)
此公式完美无缺。但是当你在一个立方体中你有更多的棕褐色并且尝试在Excel中显示它们时它会显示#value错误而不是给出结果,而如果它放置两个以上的变量就可以了。这是唯一的问题。