Мы создаем отчеты в Pbi для контекстной рекламы, и добавляем в них различные функции по запросу маркетолога или клиента. И часто бывает, что функционала базовых визуализаций становится недостаточно.Например, как уместить все необходимые показатели на один график, чтобы можно было смотреть динамику, например, по расходу и доходу, а также по расходу и количеству покупок, расходу и ROI на одном графике?   Решаем задачу вывода нескольких показателей на график с возможностью выбора любых комбинаций. Вместо двух-трех графиков оставляем всего один, освобождаем место на дашборде. Расширяем функционал базовых визуализаций с помощью DAX.Возьмем простой дата-сет для примера  Период Категория Показатель 1 Показатель 2 1 Категория 1 100 9 1 Категория 2 15 2 1 Категория 3 50 6 2 Категория 1 105 10 2 Категория 2 20 4 2 Категория 3 60 5 3 Категория 1 95 8 3 Категория 2 25 3 3 Категория 3 50 6 4 Категория 1 100 9 4 Категория 2 10 2 4 Категория 3 55 7 5 Категория 1 110 11 5 Категория 2 15 3 5 Категория 3 65 4 На основе этой таблицы делаем простой визуал (страница “Базовый визуал” в отчете)  Рассчитаем “Показатель 3” в качестве меры по формуле:  Задача: сделать удобный график с возможностью отображения всех трех показателей. В этом случае невозможно переоценить комбинацию функций SELECTEDVALUE и SWITCH для расширения базового управления визуализациями. Чтобы создать необходимый для выбора отображаемого показателя слайсер создадим таблицу с помощью функции DATATABLE. Я пользуюсь именно функцией для создания таблицы потому, что в случае добавления дополнительного показателя таблицу можно легко расширить не нарушая связи с формулами и визуализациями. Итак:  В итоге получается таблица вида:  Выбор показателя Показатель 1 Показатель 2 Показатель 3 И срез “Выбор показателя” Теперь воспользуемся функциями SWITCH и SELECTEDVALUE для создания меры, которая будет сменять выводимые на график значения в соответствии с выбором на срезе “Выбор показателя”:  Мера возвращает сумму по показателю 1 и показателю 2 или значение меры “Показатель 3” в соответствии со значением SELECTEDVALUE. Добавляем меру на график в качестве единственного значения и получаем возможность менять выводимый показатель.  В качестве приятного дополнения можно сделать динамическое название, заведя специальную меру: Динамическое название = CONCATENATE (SELECTEDVALUE ('Простой слайсер' [Выбор показателя]), " в динамике") и визуализировав ее с помощью карточки или многострочной карточки.  Задача с удобным динамичным отображением разных показателей решена, но этот способ имеет ряд ограничений:  Разноформатные значения унифицируются.  В нашем примере “Показатель 3” мера, которая считает долю показателя 2 в показателе 1 - её логично выводить в процентном виде. Но на графике она будет выглядеть как десятичная дробь.  Можно попробовать навязать формат, но применение функции FORMAT в таком виде:  не позволяет работать с графиками, однако в карточках и таблицах подобный метод имеет широкое использование.  Выбор нескольких показателей сразу функцией SELECTEDVALUE воспринимается, как “не выбрано ничего”  В таком случае, лучше ограничивать срез “Выбор показателя” единичным выбором.  Для решения задачи с мультивыбором потребуется совершенно иная логика. Нам нужен инструмент, который будет проверять выбрано ли среди прочих конкретный показатель и возвращать логическое true или false соответственно.  Как мы уже успели убедиться, функция SELECTEDVALUE не умеет работать с мультивыбором. Основная проблема заключается в том, что значение столбца “Выбор показателя” текстовое, с ним нельзя проводить никаких операций кроме соотнесения с таким же текстовым значением. К тому же мультивыбор показателей подразумевает работу с динамическим массивом значений - тут напрашивается матричная структура:  Отобразить на графике Показатель 1 Показатель 2 Показатель 3 Показатель 1 1 0 0 Показатель 2 0 1 0 Показатель 3 0 0 1 Построенный по столбцу “Отобразить на графике” срез будет фильтровать эту таблицу по всем возможным сочетаниям выбора показателей, а, например, в сумме по столбцу “Показатель 1” вернет единицу только в случае выбора значения “Показатель 1” в слайсере. Такую таблицу, как и в первом примере, лучше заводить с помощью функции DATATABLE:  Теперь можно использовать сумму по каждому столбцу как логическое условие отображения того или иного показателя:  Важно в случае, если логическое выражение принимает значение false, возвращать именно “” - пустое значение, а не 0. Иначе, если какой-то показатель не будет выбран, то на графике отобраться нулевые значения.  Выводим на график все три новые меры.   Заметим, что для меры “Показатель 3 на графике” можно присвоить процентный формат. Однако, если выводить его с другими показателями ось унифицирует значения.  Это можно исправить, если включить отображение вспомогательной оси и добавить “Показатель 3” в качестве вспомогательного значения. Теперь динамику числового и процентного показателей можно изучить на одном графике.  Однако осталась еще одна проблема - если снять выбор с фильтра, то отобразятся все три графика.  Теперь, если не выбран ни один параметр на срезе, сумма по любому столбцу будет равна 2, и логический тест, например, “sum ('Сложный слайсер' [Показатель 1]) = 1” вернет false  А для того, чтобы строка “Проверка” не мешала в слайсере, можно убрать её фильтром на уровне визуального элемента  В завершении добавим, что далеко не все показатели сочетаются на одном графике, большое количество добавленных показателей может испортить визуализацию.  Маркетолог интернет-агентства Finepromo