如何汇总同一张发票中的项目类型以在DAX中查找百分比

时间:2019-04-09 22:43:41

标签: powerbi dax ssas-tabular

在发票中,有多个项目,包括折扣项目。我将如何找到整个发票的折扣百分比,然后用它来计算每个项目的调整后美元?

我可以使用汇总和汇总来找到每张发票的百分比,但是我无法将其达到项目级别。

这是我当前在事实表中的内容:

Invoice Type        Item            Dollars
11111   Shipment    pancake         50
11111   Shipment    waffle          200
11111   Discount    discount item   20
11111   Discount    discount item   30

这就是我想要创建的:

item    dollars discount %  adjusted dollars
pancake 50      0.2         40
waffle  200     0.2         160

以下是我要实现的步骤:

  1. 为每种类型加总美元
    • 出货量= 250
    • 折扣= 50
  2. 找到折扣%
    • 折扣/出货量= 20%
  3. 使用该折扣%来调整每个项目的美元金额。
    • 调整后的煎饼= 50 *(1-0.2)= 40
    • 调整后的华夫饼= 200 *(1-0.2)= 160
  4. 将这些调整后的美元加起来算。

这样的想法是,我可以将项目或发票放在数据透视表的列上,并获得量度给我调整后的美元金额。我能够仅凭发票来完成此操作,但是我不知道如何在项目级别执行此操作。

任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:2)

添加以下措施

发货金额:

Shipment Amount = 
    CALCULATE ( 
        SUM ( FactTable[Dollars] ),
        FactTable[Type] = "Shipment"
    )

发票折扣%:

Invoice Discount % = 
VAR InvoiceShipment = 
    CALCULATE ( 
        SUM ( FactTable[Dollars] ),
        FILTER ( 
            ALLEXCEPT ( FactTable, FactTable[Invoice] ), 
            FactTable[Type] = "Shipment"
        )
    )
VAR InvoiceDiscount = 
    CALCULATE ( 
        SUM ( FactTable[Dollars] ),
        FILTER ( 
            ALLEXCEPT ( FactTable, FactTable[Invoice] ), 
            FactTable[Type] = "Discount"
        )
    )
RETURN
    DIVIDE ( 
        InvoiceDiscount, 
        InvoiceShipment, 
        BLANK()
    )

调整金额:

Adjusted Amount = 
    SUMX ( 
        FactTable,
        [Shipment Amount] * ( 1 - [Invoice Discount %] )
    )

现在,您可以根据需要在可视化中使用它们。

enter image description here

有关PBIX文件的信息,请参见https://pwrbi.com/so_55602327/