在DAX年初至今平均(YTD Average in DAX)

2019-11-04 16:10发布

需要计算YTD平均和LYTD平均指数DAX,我们的会计年度从四月开始所以,如果我的当前日期是5六月2017那么lytd_AVG是从4至6月会(MTD APRN 17)+(MTD 5月17日) +(MTD 6月17日)/ 3

和LYTD_AVG将是(MTD 4月16日)+(MTD 5月16日)+(MTD 6月16日)/ 3

假设我的当前日期是2017年6月3日,年初至今平均达到60

Answer 1:

假设你的数据每月给予(因为你没有样本数据),为YTD你应该能够使用的东西,看起来像这样:

YTD Avg = CALCULATE(AVERAGE(Table[Value]), DATESYTD(Table[Date], "03-31"))

最后一个参数指定的年终日期( 参考 )。

您可以使用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])

然后,您应该能够建立这样的表:



文章来源: YTD Average in DAX