【问题标题】:Finding cummulative sum of MAX values查找 MAX 值的累积和
【发布时间】:2018-10-24 05:00:50
【问题描述】:

我需要计算每个时期(或每个类别)的最大值的累积总和。查看嵌入的图像。

所以,首先,我需要找到每年每个类别/月的最大值。然后我想计算这些最大值的累积和。我通过设置最大度量来尝试它(这对于第一步来说很好 - 找到给定年份的每个类别/月的最大值)但是我找不到找到累积 SUM 的解决方案(找到累积最大值很容易,但是不是我要找的东西)。

表 1

Year  Month  MonthlyValue  MaxPerYear
2016  Jan    10            15
2016  Feb    15            15
2016  Mar    12            15
2017  Jan    22            22
2017  Feb    19            22
2017  Mar    12            22
2018  Jan     5            17
2018  Feb    16            17
2018  Mar    17            17

期望的输出

Year  CumSum
2016  15
2017  37
2018  54

【问题讨论】:

  • 为什么 2018 年是 16 而不是 17?
  • 我的错误。当然应该是 17 岁

标签: max powerbi dax


【解决方案1】:

就小计而言,这与this questionthis questionthis question 有点相似,但也包括一个累积部分。

您可以分两步完成此操作。首先,计算一个给出每年最大值的表格,然后使用累积总计模式。

CumSum = 
VAR Summary =
    SUMMARIZE(
        ALLSELECTED(Table1),
        Table1[Year],
        "Max",
        MAX(Table1[MonthlyValue])
    )
RETURN
    SUMX(
        FILTER(
            Summary, 
            Table1[Year] <= MAX(Table1[Year])
        ),
        [Max]
    )

这是输出:

如果你展开到月份级别,那么它看起来像这样:


请注意,如果您只需要小计工作,则将每一行保留为最大值 (15, 22, 17, 54) 而不是最大值的累积总和 (15, 37, 54, 54),那么您可以使用更简单的方法:

MaxSum =
    SUMX(
        VALUES( Table1[Year] ),
        CALCULATE( MAX( Table1[MonthlyValue] ) )
    )

这会分别计算每年的最大值,然后将它们相加。


外部参考:

【讨论】:

    猜你喜欢
    • 2021-08-04
    • 1970-01-01
    • 2017-12-15
    • 1970-01-01
    • 2022-12-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多