计算 Power BI 中同一列的两个给定值之间的百分比差异

Calculate Percentage Difference between two given values from the same column in Power BI

我正在努力寻找一种解决方案来获取同一列中两个给定值的百分比差异。

我的数据是这样的:

在任何给定情况下,如何计算两个不同版本之间count_of_points的差异?

示例: 场景 1:我需要计算 V110 和 V113 之间的变化。它将是 400(假设 V113 有 500 点,V110 有 100 点。Diff = 400)

场景2:我需要计算V112和V115之间的变化。它将是 400(假设 V115 有 600 点,V112 有 200 点。Diff = 400)

我每次都手动这样做。寻求一些帮助以实现自动化。

这将是一个数据建模问题,而不是衡量实施问题。

当您展示两个版本之间的差异时,您首先需要能够将这两个版本放置在您的报告中进行比较,如下图所示。因此,您需要有两个不同的列,您可以在切片器或矩阵等上 select

我的方法是创建一个新的 table,它复制每一行及其后续版本。例如,您将 V110 行复制到四个后续行:V111、V112、V113 和 V115。在这个新的 table 中,每一行代表您要比较的每一对可能的版本。然后你可以计算每行中两个版本的差异。新的 table 如下所示。

这个 table 可以像下面这样使用计算的 table 创建。您也应该能够使用 Power Query 来做到这一点。

// DAX calculated table
// In this code snippet, the original table is referred to as "Versions".
Version Comparison = GENERATE (
    SELECTCOLUMNS (
        Versions,
        "Version Before", [version],
        "Points Before", [count_of_points]
    ),
    SELECTCOLUMNS (
        FILTER ( Versions, Versions[version] > [Version Before] ),
        "Version After", [version],
        "Points After", [count_of_points],
        "Points Diff", [count_of_points] - [Points Before]
    )
)

那么,为差异定义一个度量可能是个好主意,它仅在一对版本被 selected 时引用“Point Diff”列值。

// DAX measure
Diff Measure = SELECTEDVALUE ( 'Version Comparison'[Points Diff] )

输出图片