【问题标题】:DAX expression: create a new table from table reshapingDAX 表达式:通过表整形创建新表
【发布时间】:2023-03-22 06:35:02
【问题描述】:

我是 Power BI 的新手,也许这是一个非常愚蠢的问题。

我想要实现的是通过使用 DAX 重塑原始表来创建一个新表。

原始表格如下:

ID  Start   End
1   Sep 2013    Oct 2013
2   Oct 2013    Jan 2014
3   Oct 2013    Dec 2013
4   Oct 2013    Nov 2013
5   Nov 2013    Dec 2013
6   Nov 2013    Jan 2014

新表将使用“Start”和“End”中的值作为行名,并使用“Start”和“End”在每个月-年中的计数作为值。这意味着预期的、重新调整的新表如下所示:

MonthYear   StartCount  EndCount
Sep 2013    1   0
Oct 2013    3   1
Nov 2013    2   1
Dec 2013    0   2
Jan 2014    0   2

我想了解您是否知道如何使用 DAX 重塑表格。

【问题讨论】:

    标签: powerbi dax


    【解决方案1】:

    如果您尝试创建计算表,这应该会返回您的预期输出:

    New Table =
    ADDCOLUMNS (
        SELECTCOLUMNS (
            SUMMARIZE (
                UNION ( VALUES ( Data[Start] ); VALUES ( Data[End] ) );
                Data[Start]
            );
            "Date"; [Start]
        );
        "StartCount"; CALCULATE ( COUNTROWS ( Data ); Data[Start] = EARLIER ( [Date] ) );
        "EndCount"; CALCULATE ( COUNTROWS ( Data ); Data[End] = EARLIER ( [Date] ) )
    )
    

    使用 UNIONSUMMARIZE 我得到了您对日期的不同值,使用 SELECTCOLUMNS 只是为了创建别名。 ADDCOLUMNS 使用它来创建 CALCULATE 的工作范围,并使用 EARLIER 过滤数据。

    【讨论】:

    • 这完全符合预期!非常感谢您的详细解释。
    • 这是一种旋转数据,有趣!!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-09-27
    • 2022-08-09
    • 1970-01-01
    相关资源
    最近更新 更多