【问题标题】:MDX Sum of Min on a set without using the set in the select集合上的 MDX 最小值总和,而不使用选择中的集合
【发布时间】:2014-03-15 08:35:19
【问题描述】:

我有这种情况:

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

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

[Measures].[MaxCounter] - [Measures].[MinCounter]

当我使用 Slot 维度时,它会起作用,因为计数器是相对于 slot 的。

但我希望为每位客户提供增量。每个客户都有 N 个插槽 这意味着要计算增量,我需要为客户的每个插槽计算增量,然后将它们全部求和以获得客户的增量。所以我尝试了:

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

但它不起作用。

当我尝试以客户为维度和 Delta 为度量进行轴心计算时,我得到了错误的结果。 Delta 似乎是这样计算的:

客户所有插槽之间的最大计数器

客户所有插槽之间的分钟计数器

【问题讨论】:

    标签: ssas mdx


    【解决方案1】:

    它似乎是这样计算的,因为这是你要求它做的……

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

    当你想问时

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

    尝试创建一个计算成员,例如

    with member [Measures].[CounterDiff] as 
    ([Measures].[MaxCounter] - [Measures].[MinCounter])
    

    然后在

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

    【讨论】:

    • 这正是我昨天所做的!!! :) 使用某些维度有点慢,但你给了我确认这是一个有效的解决方案。谢谢
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-14
    • 1970-01-01
    相关资源
    最近更新 更多