Powerbi 每个月最后日期(最长日期)的平均值
我期待着计算每个月的最后一天(最大日期)值的平均值。下面是示例数据 你能找个人帮我做一下DAX计算吗。非常感谢 如果你需要更多信息,请告诉我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
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:
您可以看到,使用度量值创建的可视表受切片器的影响,而汇总表不受切片器的影响