【问题标题】:YTD Average in DAXDAX 的年初至今平均值
【发布时间】:2018-03-22 13:50:15
【问题描述】:

需要在 DAX 中计算 YTD 平均值和 LYTD 平均值,我们的财政年度从 4 月开始。 因此,如果我今天是 2017 年 6 月 5 日,那么 lytd_AVG 将是从 4 月到 6 月 (MTD 4 月 17 日)+(MTD 5 月 17 日)+(MTD 6 月 17 日)/3

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

假设我当前的日期是 2017 年 6 月 3 日,则 YTD 平均值为 60

【问题讨论】:

    标签: powerbi dax ssas-tabular


    【解决方案1】:

    假设您的数据是每月提供的(因为您没有样本数据),对于 YTD,您应该能够使用如下所示的内容:

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

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

    您可以为 LYTD 使用SAMEPERIOODLASTYEAR 函数:

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

    然后您应该能够像这样构建表格:

    【讨论】:

    • 这对我不起作用,我已附上示例数据供您参考。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-07
    相关资源
    最近更新 更多