Найти в Дзене

Как фильтром убирать данные на графике, если на график вынесены столбцы таблицы данных?

Всем привет! В эфире рубрика технические штучки ) Долго думал как сформулировать название статьи, коротко и лаконично не вышло. Ну да ладно, думаю по тексту будет понятно о чем речь. Итак у нас есть таблица с данными: количество товаров на складах по датам: Далее строим примерно такой график по дате и кол-ву товаров на складах. А теперь предположим, что у нас с десяток складов и графики не очень удобно смотреть в такой "каше". Просто вынести в фильтр столбцы мы не можем, Power BI не позволяет так делать. Мы можем вынести отдельный столбец, но при этом элементами фильтра будут строки этого столбца. Нам это не подходит. На самом деле подобные задачи достаточно часто встречаются на практике. И первым делом возникают мысли пойти в Power Query, покрутить данные там и сделать столбцы строками. Но это не самый оптимальный путь. Стоит ли говорить, что кол-во строк в таблице вырастет многократно. В подобных случаях я поступаю следующим образом: 1) Нужно получить таблицу с названиями ваших с

Всем привет!

В эфире рубрика технические штучки ) Долго думал как сформулировать название статьи, коротко и лаконично не вышло. Ну да ладно, думаю по тексту будет понятно о чем речь.

Итак у нас есть таблица с данными: количество товаров на складах по датам:

Таблица с данными
Таблица с данными

Далее строим примерно такой график по дате и кол-ву товаров на складах.

График по складам
График по складам

А теперь предположим, что у нас с десяток складов и графики не очень удобно смотреть в такой "каше". Просто вынести в фильтр столбцы мы не можем, Power BI не позволяет так делать. Мы можем вынести отдельный столбец, но при этом элементами фильтра будут строки этого столбца. Нам это не подходит.

У нас возникает задача, как нам сделать фильтр (слайсер), который позволит отключать и включать линии графика?

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

В подобных случаях я поступаю следующим образом:

1) Нужно получить таблицу с названиями ваших столбцов, которые вы выносите на график (в моем случае склады). Если у вас столбцов не много, можно сделать таблицу вручную. Но я рекомендую использовать Power Query. Давайте сделаем это.

Идем в PQ ->дублируем таблицу->понижаем заголовки->транспонируем

Идем в PQ ->дублируем таблицу->понижаем заголовки->транспонируем
Идем в PQ ->дублируем таблицу->понижаем заголовки->транспонируем

Удаляем ненужные столбцы

Удаляем ненужные столбцы.
Удаляем ненужные столбцы.

Устанавливаем фильтр. У меня это слово "склад", у вас может быть свое. Либо выбираете вручную название складов.

Устанавливаем фильтр
Устанавливаем фильтр

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

2) Загружаем таблицу в Power BI и выносим ее в фильтр (слайсер).

Добавляем фильтр (слайсер) в отчет.
Добавляем фильтр (слайсер) в отчет.

Пока нам это не очень помогло. График по прежнему не фильтруется.

Пишем меру:

Склад 1 = IF("Склад 1" IN VALUES('Названия складов'[Склады]),SUM('Склады'[Склад 1]),BLANK())

О чем нам говорит эта мера? Если текст "Склад 1" есть в столбце [Склады], то выводим данные, в противном случае пусто.

Почему она должна работать? Дело в том, что когда вы выбираете склад в фильтре (слайсере), исходная таблица для текущих визуализаций виртуально фильтруется согласно вашему выбору. То есть если вы выбрали "склад 2", то визуализации видят только склад 2 в исходной таблице. В этом случае, первое условие в нашей мере выполнять не будет.

Делаем аналогичные меры для всех складов и выносим их на график

Прописываем меры и выносим их на график
Прописываем меры и выносим их на график

Все работает, график фильтруется. Что и требовалось сделать)

А как бы вы решили подобную задачу?

Буду рад, если эта статься покажется вам полезной и, в знак благодарности, вы подпишитесь на мой канал. Это будет стимулом писать больше статей.

PS. Друзья, так как на эту платформу нет возможности выкладывать файлы, я завел свой телеграмм-канал. В нем я буду выкладывать файлы .pbix с примерами и много другой информации, которой здесь не будет. Например, примеры работ с фриланса. Подписывайтесь, буду рад! t.me/GuruBl