不使用选择中的集合的集合上的MDX总和

时间:2014-03-15 08:35:19

标签: ssas mdx

我遇到这种情况:

插槽(尺寸) 客户(维) MinCounter(用MIN聚合测量) MaxCounter(用MAX聚合测量)

我想创建一个计算成员,它是计数器的Delta(MaxCounter - MinCounter) 我用了一个简单的公式:

[测量]。[MaxCounter] - [测量]。[MinCounter]

当我使用Slot维度时,Obv它有效,因为计数器是相对于插槽的。

但我想为每位顾客提供三角洲。每个客户都有N个插槽 这意味着要计算delta我需要为客户的每个槽计算delta,并将所有槽都计算为具有客户的delta。所以我试过了:

(SUM(([Slot]。[Code] .children,[Measures]。[MaxCounter])) - SUM(([Slot]。[Code] .children,[Measures]。[MinCounter])))

但它不起作用。

当我尝试使用客户作为维度和Delta类似度量时,我获得了错误的结果。三角洲似乎计算如下:

客户所有时段之间的最大柜台

客户所有时段之间的最小柜台

1 个答案:

答案 0 :(得分:0)

似乎正在计算这种方式,因为这就是你所要求的......

总和(计算出每个插槽的最大计数器) - sum(计算每个槽的最小计数器)

当你想问

总和(每个槽;最大计数器 - 最小计数器)

尝试创建像

这样的计算成员
with member [Measures].[CounterDiff] as 
([Measures].[MaxCounter] - [Measures].[MinCounter])

然后在

中使用它
sum([Slot].[Code].children, [Measures].[CounterDiff])