Excel 同一原始功率BI中每个类别的百分比差异

Excel 同一原始功率BI中每个类别的百分比差异,excel,powerbi,dax,powerbi-desktop,Excel,Powerbi,Dax,Powerbi Desktop,我正在编写Power BI的一份报告,我遇到了一个问题。我想做一件简单的事情(在DAX中或以各种可能的方式),那就是:在报告中创建一个列,该列与指定的每个类别相差一定百分比。我想考虑的类别只是一个,并在名为“元素比较”的行中指定。为了澄清这个问题,我在这里举了一个例子: 元素 总价值 元素来比较总数 与指定元素的总差异%diff A. 334 C 178,3% B 323 D -73,8% C 120 A. -64,1% D 1234 A. 269,5% 假设您的数据是您在问题中发布的没有%列的

我正在编写Power BI的一份报告,我遇到了一个问题。我想做一件简单的事情(在DAX中或以各种可能的方式),那就是:在报告中创建一个列,该列与指定的每个类别相差一定百分比。我想考虑的类别只是一个,并在名为“元素比较”的行中指定。为了澄清这个问题,我在这里举了一个例子:

元素 总价值 元素来比较总数 与指定元素的总差异%diff A. 334 C 178,3% B 323 D -73,8% C 120 A. -64,1% D 1234 A. 269,5%
假设您的数据是您在问题中发布的没有%列的表

T
表格

可以编写一个度量来计算当前行的总值,然后是要比较的元素的值,方法是在要比较的元素上设置一个过滤器上下文,与
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
在可视化表格中使用此度量,我们可以得到所需的表格


假设您的数据是您在问题中发布的表格,没有%列

T
表格

可以编写一个度量来计算当前行的总值,然后是要比较的元素的值,方法是在要比较的元素上设置一个过滤器上下文,与
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
在可视化表格中使用此度量,我们可以得到所需的表格


使用
DAX
获取求差所需的值,然后进行计算。为了更好的理解,我把它分成两部分

  • 使用
    LOOKUPVALUE
    创建一个新列,以获取要比较的值

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

  • 现在很简单。在另一列中使用您的计算。确保此列使用的是
    %
    格式


  • 使用
    DAX
    获取求差所需的值,然后进行计算。为了更好的理解,我把它分成两部分

  • 使用
    LOOKUPVALUE
    创建一个新列,以获取要比较的值

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

  • 现在很简单。在另一列中使用您的计算。确保此列使用的是
    %
    格式


  • 哪种逻辑给出了百分比差异?在第一行中,简单地说:(120-334)/120。计算很简单,但我不能在Dax中进行,因为我不熟悉语法哪个逻辑给出了百分比差?第一行简单地:(120-334)/120。计算很简单,但我不能在Dax中进行,因为我不熟悉语法