Создание таблицы с помощью мультимер

В этой статье мы рассмотрим как создать таблицу с помощью мультимеры и что это нам даст. Что такое мультимера и как ее создать можно прочитать в этой статье. А для начала давайте рассмотрим следующие проблемы:

  1. в таблице слишком много столбиков, которые нужны далеко не всегда. Из-за этого в таблице появляется горизонтальный скроллинг, что делает таблицу совсем не удобной.
  2. когда мы используем подсказку в виде всплывающего графика, то он отображает только одну метрику на строку, а мы хотим, чтобы на каждом столбце отображался график по конкретной метрике.

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

Часть 1. Power Query

Ничего на этом уровне делать не придется, если у вас уже есть мультимера, а если ее нет, то сделайте как написано в этой статье.

Часть 2. Визуализация.

Создаем матрицу. По строкам — системы, по столбцам значения из вспомогательной таблицы, по данным — мультимера.

Добавляем в фильтр значения из вспомогательной таблицы. Теперь мы умеем выбирать какие столбцы отображать!
Можно сделать как на скрине или вынести фильтр на основную область, если окно с фильтрами недоступно.

Теперь сделаем всплывающую подсказку. Как создать подсказку хорошо описано — тут. Обычный график с датами по осям и мультимерой по данным. Естественно, на графике мы ничего не увидим, так как для мультимеры ничего не задано.

Подключаем подсказку к основной таблице и теперь при наведении на каждую ячейку график будет меняться в зависимости как от строки так и от столбца.

Проблема форматирования

Когда вы применяете мультимеру для вывода большого количества столбцов появляется небольшая проблема, которая в некоторых случаях может быть существенной — для всех столбцов используется одинаковое форматирование и решить эту проблему через «Моделирование — Формат» не получится.
В нашем случае проблема особенно хорошо видна на столбце CTR, который должен выводится в процентах, а также клики и показы должны быть целыми числами.

Но в DAX есть команда FORMAT, которая позволяет решить данную проблему, осталось только добавить ее к нашей мультимере.
Для наглядности я сделаю отдельную мультимеру, но можно внести правки и в существующую.

_FormatMultiMeasure = SWITCH(
    SUM(ListSelectMeasure[Index]);
    1; FORMAT([_MultiMeasure];"#,##0");
    2; FORMAT([_MultiMeasure];"#,##0");
    3; FORMAT([_MultiMeasure];"#,##0");
    4; FORMAT([_MultiMeasure];"Percent");
    5; FORMAT([_MultiMeasure];"0.##");
    6; FORMAT([_MultiMeasure];"0.##")
)

После замены в таблице _MultiMeasure на _FormatMultiMeasure получим следующую красивую таблицу.

По команде FORMAT можно написать отдельную большую статью, но это как-нибудь в другой раз, а пока оставлю здесь ссылку на официальную документацию.

Нерешенная проблема

При использовании FORMAT значение преобразовывается в строку, а значит становятся недоступными некоторые виды визуализации, на таблице это не видно, а вот график уже не построить.
Теоретически, проблема решается, но как я еще не придумал =(
Если кто-то знает, напишите мне, буду признателен (контакты во вкладке «Обо мне»).

Ссылка на гитхаб

https://github.com/q-stat-ru/art04_pbi_dynamic_table