Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/powerbi/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Powerbi 每个月最后日期(最长日期)的平均值_Powerbi_Dax_Powerbi Desktop - Fatal编程技术网

Powerbi 每个月最后日期(最长日期)的平均值

Powerbi 每个月最后日期(最长日期)的平均值,powerbi,dax,powerbi-desktop,Powerbi,Dax,Powerbi Desktop,我期待着计算每个月的最后一天(最大日期)值的平均值。下面是示例数据 你能找个人帮我做一下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/20

我期待着计算每个月的最后一天(最大日期)值的平均值。下面是示例数据

你能找个人帮我做一下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
我需要的是每个月的最大日期值的平均值作为YTD ABC YTD=平均值(35+66)
DEF YTD=平均值(50+34)


谢谢 我需要的是每个月的最大日期值的平均值作为YTD ABC YTD=平均值(35+66)

DEF YTD=AVG(50+34)

N.B:数据表或“数据”指您在问题中提供的数据表

方法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
    )
)
您将得到一个新表,如下所示:

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
    )
)

在您的仪表板上,您可以通过从新表中拖放
'summaredtable'
来构建一个带有
[NAME]
[MaxDateValue]
的可视表。右键单击可视化窗格中的
[MaxDateValue]
,然后选择average而不是sum,您将得到一个如下所示的可视化表格:

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
    )
)

方法2:

您可以将其转换为度量值,而不是使用summary计算新表。这样做的好处是保留了原始数据的完整性,这使得切片更容易

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]
来创建一个新的可视表,这样您就有两个表显示相同的内容:

但是,现在可以从数据表中添加切片器,例如
[Location]
,并选择P1:


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

N.B:数据表或“数据”是指您在问题中提供的数据表

方法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
    )
)
您将得到一个新表,如下所示:

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
    )
)

在您的仪表板上,您可以通过从新表中拖放
'summaredtable'
来构建一个带有
[NAME]
[MaxDateValue]
的可视表。右键单击可视化窗格中的
[MaxDateValue]
,然后选择average而不是sum,您将得到一个如下所示的可视化表格:

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
    )
)

方法2:

您可以将其转换为度量值,而不是使用summary计算新表。这样做的好处是保留了原始数据的完整性,这使得切片更容易

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]
来创建一个新的可视表,这样您就有两个表显示相同的内容:

但是,现在可以从数据表中添加切片器,例如
[Location]
,并选择P1:

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