每月最后一个日期(MAX日期)值的平均值

时间:2019-07-19 21:00:15

标签: powerbi dax powerbi-desktop

我希望计算每个月的平均天数(MAX date)值。下面是示例数据。

能否请您帮助我进行DAX计算。非常感激。

如果您需要更多信息,请告诉我。

Location    DATE           NAME  VALUE  
P1         1/1/2019 0:00    ABC   12    
P1  1/2/2019 0:00   ABC 4   
P1  1/3/2019 0:00   ABC 50  
P1  1/4/2019 0:00   ABC 8   
P1  1/5/2019 0:00   ABC 35  ABC MaxDate value of JAN
P1  1/1/2019 0:00   DEF 20  
P1  1/2/2019 0:00   DEF 25  
P1  1/3/2019 0:00   DEF 66  
P1  1/4/2019 0:00   DEF 24  
P1  1/5/2019 0:00   DEF 50  DEF MaxDate value of JAN
P2  2/1/2018 0:00   ABC 28  
P2  2/2/2018 0:00   ABC 82  
P2  2/3/2018 0:00   ABC 67  
P2  2/4/2018 0:00   ABC 43  
P2  2/5/2018 0:00   ABC 66  ABC MaxDate value of FEB
P2  2/1/2018 0:00   DEF 28  
P2  2/2/2018 0:00   DEF 82  
P2  2/3/2018 0:00   DEF 67  
P2  2/4/2018 0:00   DEF 43  
P2  2/5/2018 0:00   DEF 34  DEF MaxDate value of FEB

我需要的是每个月的最大日期平均值作为年初至今 年初至今= AVG(35 + 66)
年初至今= AVG(50 + 34)


谢谢

我需要的是每个月的最大日期平均值作为年初至今 年初至今= AVG(35 + 66)
年初至今= AVG(50 + 34)

1 个答案:

答案 0 :(得分:0)

注意:数据表或“数据”是指您在问题中提供的数据表。

方法1:

像这样汇总数据表:

SummarizedTable = 
SUMMARIZE(
    ADDCOLUMNS(
        'Data';
        "Month"; MONTH([DATE]);
        "Year"; YEAR([DATE])
    );
    [Year];
    [Month];
    [NAME];
    "MaxDateValue" = 
    var MaxD = MAX([DATE])
    return
    CALCULATE(
        SUM('Data'[VALUE]);
        'Data'[DATE] = MaxD
    )
)

您最终得到一个新表,如下所示:

enter image description here

在仪表板上,可以通过从新表[NAME]中拖放[MaxDateValue]'SummarizedTable'来构建可视表。在可视化窗格中的[MaxDateValue]上单击鼠标右键,然后选择“平均值”而不是“和”,您应该得到一个如下所示的可视表:

enter image description here

方法2:

您可以将其转化为度量,而不必使用汇总来计算新表。这样做的好处是,您可以保留原始数据的完整性,并且可以更轻松地进行切片。

AvgYtd = 
AVERAGEX(
    SUMMARIZE(
        ADDCOLUMNS(
            'Data';
            "Month"; MONTH([DATE]);
            "Year"; YEAR([DATE])
        );
        [Year];
        [Month];
        [NAME];
        "MaxDateValue" = 
        var MaxD = MAX([DATE])
        return
        CALCULATE(
            SUM('Data'[VALUE]);
            'Data'[DATE] = MaxD
        )
    );
    [MaxDateValue]
)

现在,您可以在仪表板上通过从原始数据表中拖动[NAME]并添加新的度量值[AvgYtd]来创建一个新的可视表,以使两个表显示相同的内容:

enter image description here

不过,您现在可以添加切片器,例如从“数据”表中[Location]中选择P1:

enter image description here

您可以看到使用该度量创建的可视表受到切片器的影响,而汇总表则不受此影响。