求出MAX值的累积和

时间:2018-10-23 15:42:53

标签: max powerbi dax

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

因此,首先,我需要找到每个类别/每年的最大值。然后,我要计算这些最大值的累积总和。我尝试通过设置最大度量值来进行尝试(第一步工作得很好-找到给定年份的每个类别/月的最大值),但后来我找不到找到累积总和的解决方案(发现累积最大值很容易,但是不是我要找的东西。

表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

2 个答案:

答案 0 :(得分:0)

就小计而言,这与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]
    )

以下是输出:

CumSum

如果扩展到月份级别,则看起来像这样:

CumSum Monthly


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

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

这将分别计算每年的最高金额,然后将它们加在一起。


外部参考:

答案 1 :(得分:0)

感谢Alex,但是很遗憾,您的公式无法正常工作。它可以正确计算累积值,但是会按月份和年份显示该值。

results