Несколько Sumifs превосходит в DAX - PullRequest
0 голосов
/ 09 ноября 2018

В настоящее время я использую Power BI, так как моя организация смещается в сторону улучшения визуализации, но они должны были упомянуть сложность DAX:)

У меня есть несколько множественных значений в файле Excel, которые я никак не могу преобразовать в Power BI с помощью DAX

Вот таблица, которую я привел в Excel из необработанных данных на другом листе:

enter image description here

и вот код в ячейках:

Код красной стрелки:

=IFERROR((SUMIFS(ID_600!$E:$E,ID_600!$D:$D,"sick hours paid",ID_600!$A:$A,K$18)+SUMIFS(ID_600!$E:$E,ID_600!$D:$D,"sick hours unpaid",ID_600!$A:$A,K$18))/SUMIFS(ID_600!$E:$E,ID_600!$D:$D,"regular hours",ID_600!$A:$A,K$18),NA())
  • Столбец A в листе ID_600 содержит данные о дате, и он сравнивается в сумме, если он равен 11/5/2018

Код синей стрелки:

=IFERROR((SUMIFS(ID_600!$E$1:$E$5056,ID_600!$D$1:$D$5056,"sick hours paid",ID_600!$A$1:$A$5056,K$18,ID_600!$C$1:$C$5056,$A$23)+SUMIFS(ID_600!$E$1:$E$5056,ID_600!$D$1:$D$5056,"sick hours unpaid",ID_600!$A$1:$A$5056,K$18,ID_600!$C$1:$C$5056,$A$23))/SUMIFS(ID_600!$E$1:$E$5056,ID_600!$D$1:$D$5056,"regular hours",ID_600!$A$1:$A$5056,K$18,ID_600!$C$1:$C$5056,$A$23),NA())
  • Столбец A в листе ID_600 содержит данные даты, и он сравнивается суммированным, если он равен 5/5/2018, в дополнение к суммированию, если столбец «В» (A23) соответствует данным в столбце C в листе ID_600

И после выяснения кода DAX я посмотрю, что я могу сделать, чтобы преобразовать это с помощью визуализаций.

Пример файла для необработанных данных: https://ufile.io/lfddf

* отредактировано 2

1 Ответ

0 голосов
/ 09 ноября 2018

Да, DAX может быть сложным, но в этом случае выражения DAX проще, чем формулы Excel. Чтобы создать нечто похожее на вашу сводную таблицу в матричном визуале, создайте следующие три показателя:

Total Sick Hours =
CALCULATE ( SUM ( 'table'[hours] ),
    OR ( 'table'[type] = "Sick Hours Paid", 'table'[type] = "Sick Hours Unpaid" ))

Total Regular Hours = CALCULATE( SUM ( 'table'[hours] ), 'table'[type] = "Regular Hours" )

% Sick hours of Regular hours = DIVIDE( [Total Sick Hours], [Total Regular Hours], 0 )

Затем создайте матричный визуал и поместите dep в строки, Date в столбцы и % Sick hours of Regular hours в значения. Отформатируйте % Sick hours of Regular hours как процентное значение (выберите меру на панели «Поля» и нажмите «%» на вкладке «Моделирование»).

Результат должен выглядеть примерно так:

enter image description here

...