Как суммировать типы элементов в одном и том же счете, чтобы найти проценты в DAX - PullRequest
1 голос
/ 10 апреля 2019

В инвойсе есть несколько позиций, включая скидку.Как найти% скидку для всего счета, а затем использовать его для расчета скорректированных долларов для каждого элемента?

Я могу найти проценты для каждого счета, используя суммы и суммы, но я не могу получить их вУровень предмета.

Это то, что у меня сейчас есть в моей таблице фактов:

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 Ответ

2 голосов
/ 10 апреля 2019

Добавьте следующие меры

Сумма отгрузки:

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

...