Power BI Measure для расчета процента, который изменяется с фильтрами - PullRequest
1 голос
/ 23 мая 2019

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

У меня есть набор данных, подобный приведенному ниже, но с более чем 1 миллионом строк данных за 18 месяцев.Все поля являются текстовыми, за исключением месяца, который является датой, и SUMofAPPTS, который является числовым.

SUPP    GEOG1   MODE    STATUS  TYPE    TIME    Month   Day    SUMofAPPTS
AA  00D Face    Att     1       1       Day     2018-06 Sun    12
AA  00D Face    Att     1       1       Day     2018-06 Mon    119
AA  00D Face    Att     1       4       Unk     2018-06 Tues   98
BB  00D Tel     DNA     2       1       Day     2018-06 Weds   98
BB  00D Online  DNA     3       1       Day     2018-06 Thurs  126
CC  00D Face    DNA     1       2       Day     2018-07 Sun    8

Я хотел бы получить показатель, который рассчитывает процентное соотношение SUMofAPPTS к Day и MODE (ито же самое, но для STATUS, TYPE и TIME), который изменяется, когда фильтры помещаются в другие поля.

Поэтому я думаю, что мне нужно сделать этот простой расчет (который будет работать в столбце, еслиЯ просто хотел, чтобы процентная доля на строку всего набора данных была более динамичной, чтобы она работала при фильтрации данных:

PERCENT = 'dataset'[SUMofAPPTS]/SUM('dataset'[SUMofAPPTS])

Конечным результатом будет столбчатая диаграмма с накоплением со следующими атрибутами:

  • День как Ось
  • ПРОЦЕНТ как Значение
  • РЕЖИМ, СОСТОЯНИЕ, ТИП или ВРЕМЯ как Легенда
  • Возможность фильтрации по одному,многие или все поля кроме Day и SUMofAPPTS

1 Ответ

0 голосов
/ 28 мая 2019

Во-первых, создайте меру для агрегации SUMofAPPTS:

Total APPTS = SUM(Data[SUMofAPPTS])

Во-вторых, создайте меру для процента:

APPTS % of Selected 
= DIVIDE(
   [Total APPTS],
   CALCULATE([Total APPTS], ALLSELECTED()))

Эта мера пересчитывает [Всего APPTS], игнорируя все фильтры, кромевыбранные пользователем (на слайсерах и т. д.).

Результат:

enter image description here

после выбора:

enter image description here

Редактировать

Если вам нужно разбить данные по дням (или любым другим полям), вы можете повторно ввести фильтры следующим образом:

APPTS % of Selected 
= DIVIDE(
   [Total APPTS],
   CALCULATE([Total APPTS], ALLSELECTED(), VALUES(Data[Day])))
...