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

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

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

我可以使用summarize和sumx找到每张发票的百分比,但我无法将其提升到商品级别。

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

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. 将这些调整后的美元加起来。

我的想法是,我可以将项目或发票放在数据透视表中的列上,并获得度量以给我一个调整后的美元金额。我能够只为发票做这件事,但我无法弄清楚如何在项目级别做到这一点。

任何帮助,将不胜感激。

powerbi dax ssas-tabular
1个回答
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

请参阅https://pwrbi.com/so_55602327/,例如PBIX文件

© www.soinside.com 2019 - 2024. All rights reserved.