Фильтрация перед группировкой / обобщением в Powerbi - PullRequest
1 голос
/ 21 июня 2019

У меня проблемы с группировкой и фильтрацией в powerbi.Я хочу прояснить этот вопрос, поэтому моя цель - сделать все на DAX, а не использовать фильтры в отчетах.Я делаю это, потому что я создам другие таблицы, которые будут относиться к этой.

Итак, допустим, у меня есть одна такая таблица, называемая sales:

Order Customer Product Date         Amount    Type
A001  John     TV      01/02/2019   200,00    ok
A002  Mark     Chair   10/02/2019   150,00    ok
A003  John     Bed     15/02/2019   50,00     Cancelled
A004  Mark     TV      17/02/2019   75,00     ok
A004  Susan    Table   19/02/2019   20,00     ok
A005  John     Pillow  21/02/2019   50,00     ok

Я хочуполучите другую таблицу, подобную этой:

Customer   Orders  Last Order   First Order  Amount  Type
John       2       21/02/2019   01/02/2019   250,00  ok
John       1       15/02/2019   15/02/2019    50,00  Cancelled
Mark       2       17/02/2019   10/02/2019   225,00  ok   
Susan      1       19/02/2019   19/02/2019    20,00  ok

Итак, если бы я не учел, был ли продукт отменен или нет, формула для создания другой таблицы была бы:

GROUPBY = (Sales;
'sales'[Customer]
"orders"; countx(currentgroup();'sales'[order]);
"last_order";MAXX(currentgroup();'sales'[Date]);
"first_order";MINX(currentgroup();'sales'[Date]);
"Amount";SUMX(currentgroup();'sales'[Amount]))

Вопросесть, как я могу сгруппировать по типу и понять, был ли заказ отменен или нет?

tks

Ответы [ 2 ]

1 голос
/ 21 июня 2019

Лично я предпочитаю от SUMMARIZECOLUMNS до GROUP BY в простых ситуациях, поскольку это менее многословно.

Summary =
SUMMARIZECOLUMNS (
    Sales[Customer],
    Sales[Type],
    "orders", COUNT ( Sales[Order] ),
    "last_order", MAX ( Sales[Date] ),
    "first_order", MIN ( Sales[Date] ),
    "Amount", SUM ( Sales[Amount] )
)
0 голосов
/ 21 июня 2019

Вы можете просто добавить «Тип» в качестве поля группировки:

Summarized Sales =
GROUPBY (
    'sales',
    'sales'[Customer],
    'sales'[Type],
    "orders", COUNTX ( CURRENTGROUP (), 'sales'[order] ),
    "last_order", MAXX ( CURRENTGROUP (), 'sales'[Date] ),
    "first_order", MINX ( CURRENTGROUP (), 'sales'[Date] ),
    "amount", SUMX ( CURRENTGROUP (), 'sales'[Amount] )
)

Результат:

enter image description here

...