Рвав-рвав, сегодня я – собака-уничтожитель!
Перед вами 4-я заметка из нашего цикла “Мелкие радости”, и мы сегодня поговорим о том, как избавиться от значений типа “Blank” (“Пусто”) в некоторых визуальных элементах, которые появляются в результате фильтрации данных.Пример:
- Имеется таблица, содержащая исходную информацию в разрезе количества и номенклатуры товаров:
- Также существует справочник номенклатуры, содержащий более полный перечень товаров, чем в исходном наборе значений:
- Построена визуализация "Срез" по данным справочника номенклатуры:
- Таблицы данных связаны между собой следующим образом:
- Построена визуализация "Карточка" по данным столбца "Количество" таблицы "Товары на складе":
Задача:
Поскольку срез построен на основании номенклатурного справочника, то при выборе значения “Апельсины”, элемент “Карточка” в стандартном исполнении отобразит значение “Blank” (“Пусто”), что может создать определенные неудобства в восприятии данных:
Решение:
- При построении элемента “Карточка” необходимо использовать меру, а не столбец “Количество” сиз таблицы "Товары на складе". Применение меры позволит использовать собственный алгоритм расчета при построении визуализации.
- Описанная мера может выглядеть следующим образом:
Количество товаров =
VAR _Quantity =
SUM ( 'Товары на складе'[Количество] )
VAR _Result =
IF ( ISBLANK ( _Quantity ), 0, _Quantity )
RETURN
_Result
- Далее следует поместить меру "Количество товаров" в соответствующую карточку, и теперь, при выборе значения “Апельсины”, элемент “Карточка” отобразит значение "0":
Рвав-рвав, как говорится, “The End”, а применять данную фишечку, по мнению скромного меня, нужно везде, где возможно, поскольку, в конечном итоге, значение “Blank” (“Пусто”) плохо влияет на восприятие информации - раз, и портит итоговый дизайн - два.
Ваш Смайл
P.S. Собака Смайл получил feedback, предложили формулу следующего вида:
Количество товаров =
SUM ( 'Товары на складе'[Количество] ) + 0
В принципе да, работает, но вместо "0" в решении с использованием ISBLANK можно также написать что-то текcтовое, и это также будет работать, собака Смайл старается делать универсальные штуки, а не точечные решения :-)