Power BI 使用最后已知值生成未来日期

Power BI generate future date with last known value

我需要帮助才能使用 Power BI 中的最后已知值生成未来日期 我有如下数据:

Date variable value
Dec-20 PC 20000
Dec-20 PLOB 50000
Jan-21 PC 30000
Jan-21 PLOB 40000
Feb-21 PC 50000
Feb-21 PLOB 60000
Mar-21 PC 20000
Mar-21 PLOB 50000
Apr-21 PC 60000
Apr-21 PLOB 70000

我需要生成以下 table:

Date variable value
Dec-20 PC 20000
Dec-20 PLOB 50000
Jan-21 PC 30000
Jan-21 PLOB 40000
Feb-21 PC 50000
Feb-21 PLOB 60000
Mar-21 PC 20000
Mar-21 PLOB 50000
Apr-21 PC 60000
Apr-21 PLOB 70000
May-21 PC 60000
May-21 PLOB 70000
: : :
Dec-21 PLOB 60000
Dec-21 PLOB 70000

请协助我进行DAX计算

谢谢

你可以试试下面的方法,步骤是

  1. 创建当前月份列表
  2. 计算最大月份
  3. 获取不同的类别
  4. 生成 2021 年所有未来月份的列表,并以 ADDCOLUMNS 月份开始计算。
  5. 使用 EXCEPT
  6. 仅获取未来月份
  7. 将未来几个月与不同的类别交叉连接,这将为您提供所有可能的组合。
  8. ADDCOLUMNSCROSSJOIN table,其中 [value] 是使用 [variable] 名称和 table 中的最大月份计算的你提供。 VAR用于访问行上下文,所以我们可以使用FILTER.

计算Table

Future =
VAR PresentMonths =
    ALL ( 'Table'[Date] )
VAR maxMonth =
    MAXX ( 'Table', [Date] )
VAR DistinctCat =
    ALL ( 'Table'[variable] )
VAR AllMonths =
    SUMMARIZE (
        ADDCOLUMNS (
            CALENDAR ( DATE ( 2021, 01, 01 ), DATE ( 2021, 12, 31 ) ),
            "MonthStart", DATE ( YEAR ( [Date] ), MONTH ( [Date] ), 01 )
        ),
        [MonthStart]
    )
VAR FutureMonths =
    EXCEPT ( AllMonths, PresentMonths )
VAR FutureTable =
    ADDCOLUMNS (
        CROSSJOIN ( FutureMonths, DistinctCat ),
        "value",
            CALCULATE (
                SUM ( 'Table'[value] ),
                VAR localVariable = [variable]
                RETURN
                    FILTER ( 'Table', [variable] = localVariable && [Date] = maxMonth )
            )
    )
RETURN
    UNION ( 'Table', FutureTable )

输出

Date variable value
December 2020 PLOB 50000
December 2020 PC 20000
January 2021 PC 30000
January 2021 PLOB 40000
February 2021 PC 50000
February 2021 PLOB 60000
March 2021 PC 20000
March 2021 PLOB 50000
April 2021 PC 60000
April 2021 PLOB 70000
May 2021 PC 60000
May 2021 PLOB 70000
June 2021 PLOB 70000
June 2021 PC 60000
July 2021 PC 60000
July 2021 PLOB 70000
August 2021 PC 60000
August 2021 PLOB 70000
September 2021 PC 60000
September 2021 PLOB 70000
October 2021 PC 60000
October 2021 PLOB 70000
November 2021 PC 60000
November 2021 PLOB 70000
December 2021 PC 60000
December 2021 PLOB 70000