MDX-将每行除以基于父级的值

时间:2012-08-06 11:58:12

标签: ssas mdx cube

我处于这样一种情况,我需要计算每个会计年度的百分比,具体取决于行的不同数量。

我已经完成了每年城市的独特计数(相当简单的任务),直到这两个列表在立方体中。

第一个列表是给定年份的州范围不同计数。 第二个列表是城市明智的特定年份,根据该城市当年的全州计数百分比。

我的问题是我需要为每个给定年份的百分比列准备一个计算成员。

例如,在2009年,城市1的独特数量为2697,百分比增长率为32.94%。 (使用的公式= 2697/8187)。

我尝试了

 ([Measures].[Distinct Count])/(SUM(ROOT(),[Measures].[Distinct Count]))
,但没有运气。

非常感谢任何帮助。

提前致谢。

PS:2009年全市范围内的金额永远不会等于当年的全州范围。这是因为我们正在计算城市和州的两个不同的计数。

enter image description here

1 个答案:

答案 0 :(得分:1)

您需要为此创建区域层次结构,例如State - >市。创建如下的计算。然后在浏览器中将您的Hierarchy放在左侧,将销售额和计算的百分比放在值中。

([Dim].[Region].CurrentMember, [Measures].[Salesamt]) /
iif(
    ([Dim].[Region].CurrentMember.Parent, [Measures].[Salesamt]) = 0,
    ([Dim].[Region].CurrentMember, [Measures].[Salesamt]),
    ([Dim].[Region].CurrentMember.Parent, [Measures].[Salesamt])
)