Записки охотника

Избавляемся от Blank

Мелкие радости
Рвав-рвав, сегодня я – собака-уничтожитель!

Перед вами 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товое, и это также будет работать, собака Смайл старается делать универсальные штуки, а не точечные решения :-)