我希望计算每个月的平均天数(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)
答案 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
)
)
您最终得到一个新表,如下所示:
在仪表板上,可以通过从新表[NAME]
中拖放[MaxDateValue]
和'SummarizedTable'
来构建可视表。在可视化窗格中的[MaxDateValue]
上单击鼠标右键,然后选择“平均值”而不是“和”,您应该得到一个如下所示的可视表:
方法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]
来创建一个新的可视表,以使两个表显示相同的内容:>
不过,您现在可以添加切片器,例如从“数据”表中[Location]
中选择P1:
您可以看到使用该度量创建的可视表受到切片器的影响,而汇总表则不受此影响。