相同原始数据中每个类别的百分比差异,Power BI

Percentage difference per category in the same raw, Power BI

我在 Power BI 中处理报表时遇到了问题。我想做一件简单的事情(在 DAX 中或以各种可能的方式),即:在报告中创建一个列,它是每个指定类别的百分比差异。我要考虑的类别只是一个,并且在名为“要比较的元素”的同一行中指定。为了澄清这个问题,我在这里举了一个例子:

Element Total Value Element to compare the total total %diff from element specified
A 334 C 178,3%
B 323 D -73,8%
C 120 A -64,1%
D 1234 A 269,5%

我想创建“%DIFF FORM ELEMENT SPECIFIED”列,但找不到简单的方法,有人可以帮助我吗?非常感谢。

假设您的数据是 table 您在没有 % 列的情况下发布的问题

T table

可以编写一个度量来计算当前行的总值,然后是要比较的元素的值,方法是在要与 CALCULATE 比较的元素上设置过滤器上下文,最后计算百分比使用 DIVIDE

%DIFF FORM ELEMENT SPECIFIED =
VAR CurrentValue =
    SUM ( T[Total Value] )
VAR ElementToCompare =
    SELECTEDVALUE ( T[Element to compare the total] )
VAR CompareValue =
    CALCULATE (
        SUM ( T[Total Value] ),
        T[Element] = ElementToCompare,
        REMOVEFILTERS ( T )
    )
VAR Result =
    DIVIDE (
        CurrentValue - CompareValue,
        CompareValue
    )
RETURN
    Result

在 table 视觉中使用此度量,我们得到所需的 table

DAX得到求差所需的值,然后进行计算。为了更好地理解,我将其分成两部分。

  1. 使用 LOOKUPVALUE 创建一个新列以获取要比较的值。

    Value to be compared = LOOKUPVALUE([Total Value],[Element],[Elemet to be compared])
    

  2. 现在simple.Use您在另一栏中的计算。 确保您使用的是此列的 % 格式。

    total %diff from element specified = ('Table'[Total Value] - 'Table'[Value to be compared])/'Table'[Value to be compared]