需要计算DAX的年初至今平均值和LYTD平均值,我们的财政年度从4月开始。 因此,如果我现在的日子是2017年6月的第5天,那么lytd_AVG将从4月到6月 (MTD Aprn 17)+(MTD May 17)+(MTD June 17)/ 3
和LYTD_AVG会是 (MTD Apr 16)+(MTD May 16)+(MTD June 16)/ 3
假设我目前的日期是06-03-2017,那么YTD平均值将是60
答案 0 :(得分:1)
假设您的数据是按月提供的(因为您没有样本数据),对于YTD,您应该能够使用如下所示的内容:
YTD Avg = CALCULATE(AVERAGE(Table[Value]), DATESYTD(Table[Date], "03-31"))
最后一个参数指定年终日期(Reference)。
您可以将SAMEPERIOODLASTYEAR
功能用于LYTD:
LYTD Avg = CALCULATE(AVERAGE(Table[Value]),
SAMEPERIODLASTYEAR(DATESYTD(Table[Date], "03-31")))
修改:由于您的数据是每天,我们需要做更多的工作。
首先,将月份和年度计算列添加到您的表中:
Month = MONTH(Table[Date])
FiscalYear = YEAR(MINX(DATESYTD(Table[Date], "03-31"), [Date]))
然后,您将按月采取措施:
YTD = AVERAGEX
SUMMARIZE(Table1,
Table1[Month],
"MTDAmount", SUM(Table1[Amount])),
[MTDAmount])
LYTD = AVERAGEX(
SUMMARIZE(
FILTER(ALL(Table1),
Table1[Month] IN VALUES(Table1[Month]) &&
Table1[FiscalYear] = MAX(Table1[FiscalYear]) - 1),
Table1[Month],
"MTDAmount", SUM(Table1[Amount])),
[MTDAmount])
然后你应该能够构建这样的表: