【问题标题】:DAX - Power BI - Creating Historical Table from Audit TableDAX - Power BI - 从审计表创建历史表
【发布时间】:2021-08-19 23:29:42
【问题描述】:

我正在尝试从我的审计表中的数据创建一个 MonthEndStatus 历史表。此表不存在,我们需要根据审计表记录创建它。

我有一个审核表,其中包含对提交记录的更改。

SubID RevID Status ChangeDate
12 1 New 1/2/2021
13 1 New 1/3/2021
12 2 Open 1/3/2021
13 2 Open 1/5/2021
12 3 Closed 4/1/2021
12 4 Re-Open 6/1/2021
12 5 Closed 9/2/2021
12 6 Open 9/3/2021
13 3 Closed 9/5/2021

我也有标准的日期表,其中包含每一天的所有良好日期数据。

我希望 MonthEndStatus 看起来像

SubID Status Month End
12 Open 1/2021
13 Open 1/2021
12 Open 2/2021
13 Open 2/2021
12 Open 3/2021
13 Open 3/2021
12 Closed 4/2021
13 Open 4/2021
12 Closed 5/2021
13 Open 5/2021
12 Re-Open 6/2021
13 Open 6/2021
12 Re-Open 7/2021
13 Open 7/2021
12 Re-Open 8/2021
13 Open 8/2021
12 Open 9/2021
13 Closed 9/2021

我的第一个想法是使用从 Date 表到 Audit 表的 Left Outer Merge,但它不会为每个月的每个 ID 创建一行。

如何使用 Power BI DAX 或其他方法为审计表中未包含的月份创建记录并使用上个月的值?

提前感谢您的帮助。

马特

【问题讨论】:

    标签: powerbi dax powerquery


    【解决方案1】:
    MonthEndStatus = 
        VAR EndOfMonthDates =
            TREATAS (
                SELECTCOLUMNS (
                    ADDCOLUMNS (
                        VALUES ( Dates[MonthName] ),
                        "Date", CALCULATE ( MAX ( Dates[Date] ) )
                    ),
                    "Date", [Date]
                ),
                Dates[Date]
            )
    RETURN
    ADDCOLUMNS (
    GENERATE ( VALUES ( Submissions[SubID] ), EndOfMonthDates ),
        "Status",
            VAR CurrentEndOfMonth = Dates[Date]
            VAR MAXSubbmissionDateInRange =
                CALCULATE (
                    MAX ( Submissions[ChangeDate] ),
                    REMOVEFILTERS ( Dates ),
                    Submissions[ChangeDate] <= CurrentEndOfMonth
                )
            RETURN
                CALCULATE (
                    SELECTEDVALUE ( Submissions[Status] ),
                    REMOVEFILTERS ( Dates ),
                    Submissions[ChangeDate] = MAXSubbmissionDateInRange
                )
    )
    

    【讨论】:

      猜你喜欢
      • 2017-06-29
      • 1970-01-01
      • 2023-03-17
      • 2020-07-01
      • 2022-06-16
      • 2011-05-22
      • 1970-01-01
      • 2016-12-30
      • 1970-01-01
      相关资源
      最近更新 更多