【问题标题】:Power BI matrix - Subtract two (dynamic) corresponding columns using DAXPower BI 矩阵 - 使用 DAX 减去两个(动态)对应列
【发布时间】:2020-12-30 11:21:05
【问题描述】:

我在下面的 Power BI Desktop 矩阵中有一个度量。

度量来自单个表,并且是具有数值的列的总和。

度量为:SUM(Table[Column])

列组 1:类别

第 2 列:年份

第 3 列:Qtr(即 Q)

我有一个场景,我们的客户想要获得 2020 年第一季度 A 类2020 年第一季度 B 类之间的差异(差异)。

新列是 Q1 Variance。

以类似的方式,我需要 A 类的 2020 Q2 和 B 类的 2020 Q2 之间的差异。

如何根据这种情况在矩阵中获取新列,其中我减去年份和季度中的相应列?

还有可能在以后的情况下,A 类可以有 B 类可能没有的年份。

例如,A 类可能有 2018 和 2019,而 B 类可能有 2017 和 2018

在这种情况下,我只需要 2018 年季度之间的差异,不需要对 2017 年和 2019 年进行任何计算。

任何想法,请使用 DAX?

类别选择通过切片器进行。

有时可能是类别 A 和类别 B,有时可能是类别 B 和类别 C,它们是从切片器中选择的。

切片器将始终准确一次选择 2 个类别。

所以,我不能硬编码任何东西。一切都是动态的。

A 类可能有 2018 年和 2019 年, 而B类可能有2017年和2018年, 而C类可能有2019、2020、2021等。

另外,我可能还需要比较相应的月份。假设 A 的 2019 年 1 月将从 B 的 2019 年 1 月减去(类似于季度比较)。

我认为我们可能需要使用一些变量来匹配年份,然后移动到季度,然后再移动到月份。

【问题讨论】:

    标签: matrix powerbi dax dynamic-columns


    【解决方案1】:

    如果您恰好有两个不同的类别,则可以使用 max 选择一个,使用 min 选择一个,然后计算两者之间的差异。

    Variance =
    VAR Cat1 = MAXX ( ALLSELECTED ( Table1 ), Table1[Category] )
    VAR Cat2 = MINX ( ALLSELECTED ( Table1 ), Table1[Category] )
    VAR Sum1 = CALCULATE ( SUM ( Table1[Column] ), Table1[Category] = Cat1 )
    VAR Sum2 = CALCULATE ( SUM ( Table1[Column] ), Table1[Category] = Cat2 )
    RETURN
        IF ( ISBLANK ( Sum1 ) || ISBLANK ( Sum2 ), BLANK (), Sum1 - Sum2 )
    

    这会保留年份和季度/月份的上下文,并且只更改类别上下文以进行计算。

    【讨论】:

    • 谢谢亚历克西斯;这说得通。尝试后我会回来的。
    • 非常感谢亚历克西斯;现在可以了;我使用了您提供的想法,并根据我的需要进行了微调;我还学到了很多关于 ALLSELECTED DAX 函数的知识。非常感谢您的帮助。
    • 另一个小问题:我正在使用 Power BI 矩阵。因此,新的方差度量显示为每个类别的列(组列)。是否有任何技术仅在任何一个类别下显示方差度量列?使用 DAX 在 Power BI 中是否有任何可能的隐藏技术?
    • 你的小问题实际上要困难得多,需要自己的帖子。
    • 好的,将发布一个新的;数据适合您的方法;但是方差列对于两个类别(在矩阵中)都是重复的,这是多余的。在我发布关于矩阵冗余列隐藏部分的问题后,我会通知你。再次感谢亚历克西斯的帮助。
    【解决方案2】:

    有一个名为 SAMEPERIODLASTYEAR 的函数可以与时间智能配合使用,也许对你有用。

    【讨论】:

    • 我实际上不是在比较两个不同年份之间的衡量标准;而是在同一年进行比较(例如:2020 Q1 Vs 2020 Q1),只是类别不同(A Vs B Vs C......)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多