使用切片器计算用户选择的参考年和比较年的同比差异

问题描述 投票:0回答:1

“如何在 Power BI 中创建一个度量来计算两个选定年份之间的差异 (%),其中用户可以从同一报表页面上的切片器选择参考年份和比较年份?”

我在 Power BI 中创建了两个切片器:一个用于参考年,另一个用于比较年。我使用

SELECTEDVALUE
函数来捕获用户选择的年份,并且我编写了一个度量来计算每个选定年份的值之间的差异。

Change in % 2 = 
VAR YearReference = SELECTEDVALUE('Dates'[Years])
VAR YearCompared = SELECTEDVALUE('Dates'[Years])
VAR ReferenceValue = 
    CALCULATE(
        SUM('GNA (2)'[Value (TEU)]), 
        'GNA (2)'[Year] = YearReference
    )
VAR ComparedValue = 
    CALCULATE(
        SUM('GNA(2)'[Value (TEU)]), 
        'GNA(2)'[Year] = YearCompared
    )
RETURN
IF(
    ISBLANK(ReferenceValue) || ISBLANK(ComparedValue),
    BLANK(),
    DIVIDE((ComparedValue - ReferenceValue), ReferenceValue, 0) * 100
)
powerbi dax percentage date-difference slicers
1个回答
-1
投票

您需要确保 PBI 区分参考切片器中选择的年份和比较切片器中选择的年份。由于两个切片器使用同一列(“日期”[年份]),因此您需要确保该度量处理他们分开。

 Change in % = 
       VAR YearReference = SELECTEDVALUE('Dates'[Year]) -- Capture year from the reference slicer
         VAR YearCompared = SELECTEDVALUE('Dates'[Year]) -- Capture year from the comparison slicer
    VAR ReferenceValue = 
        CALCULATE(
            SUM('GNA (2)'[Value (TEU)]), 
            YEAR('GNA (2)'[Date]) = YearReference  -- Use the date's year from the GNA table
        )
    VAR ComparedValue = 
        CALCULATE(
            SUM('GNA (2)'[Value (TEU)]), 
            YEAR('GNA (2)'[Date]) = YearCompared  -- Use the date's year from the GNA table
        )
    RETURN
    IF(
        ISBLANK(ReferenceValue) || ISBLANK(ComparedValue),
        BLANK(),
        DIVIDE((ComparedValue - ReferenceValue), ReferenceValue, 0) * 100
    )
© www.soinside.com 2019 - 2024. All rights reserved.