DAX - PowerPivot 衡量指标,用于计算上一年的比率

DAX - PowerPivot measure to calculate ratio from prior year

我有一个按年分类的交易记录数据集。以下是一个帐户的示例数据集,从 2018 年到 2020 年每年有 2 笔交易。

ID  YR  TRANS   VAL
A   2018    1   50
A   2018    2   100
A   2019    1   60
A   2019    2   75
A   2020    1   45
A   2020    2   80

我将其加载到 Excel 数据模型中,并根据该模型创建一个枢轴 table:行中的 ID、列中的 YR 以及值的 VAL 总和。

像这样(假设这是一个枢轴table):

Sum of VAL  Column Labels       
Row Labels  2018    2019    2020
A            150     135     125

我如何创建一个度量来计算与上一年相比的变化?因此,2019 年的列为 -10%,2020 年的列为 -7.4%。

类似这样的东西(再次想象这是一个支点 table):

            Column Labels                   
            Sum of VAL              CHNG_FROM_PRIOR     
Row Labels  2018    2019    2020    2018    2019    2020
A            150     135     125     N/a  -10.0%   -7.4%

你可以这样做:

prior% =
VAR _cal =
CALCULATE (
    DIVIDE (
        [SUMVAL],
        CALCULATE (
            [SUMVAL],
            FILTER ( ALL ( 'Table'[YR] ), 'Table'[YR] = SELECTEDVALUE ( 'Table'[YR] ) - 1 )
        )
    )
)
RETURN
IF ( _cal = BLANK (), _cal, 1 - _cal )