Настройка drill down в таблицах - Продукт Modus BI
Общее описание drill-down в таблицах
С помощью drill-down (дрилл-даун) можно менять данные, которые отражены в элементе визуализации. Например, в круговой диаграмме можно отобразить структуру себестоимости продукции по укрупненным статьям затрат. Дрилл позволит перестроить эту же диаграмму по статьям затрат низшего уровня. Происходит так называемое «проваливание» на другой уровень аналитики в контексте одного и того же показателя.
В таблицах дрилл-даун может добавлять новые столбцы, что повышает уровень детализации. В итоге, аналитическая панель становится более интересной, интерактивной и компактной, так как экономится рабочее пространство экрана.
Для корректного построения многоуровневых дрилл-даунов в таблицах необходимо соблюдать следующие правила:
- Чтобы drill-down работал корректно, необходимо сначала создать его уровни. Для этого нужно привязать соответствующие поля из полки «Категории» к иерархии drill-down. Это можно сделать через настройку таблицы «Дрилл» и кнопку «Создать». После этого для каждого уровня drill-down из выпадающих списков выбирается поле из доступных на полке «Категории».
- Поля, используемые на полке «Категории» для создания уровней drill-down, необходимо продублировать на полку «Фильтры». Без этого значок drill-down в верхнем правом углу таблицы не отобразится.
- Колонки, которые не должны отображаться на определённом уровне drill-down, нужно настроить через выпадающий список «Уровень дрилла» в настройках поля (доступно только на полке «Значения»). Если колонка должна скрываться на втором уровне, снимите флаг отображения для этого уровня.
Поскольку настройка уровней drill-down доступна только на полке «Значения», поля из «Категории» придётся продублировать в «Значения». Чтобы избежать дублирования колонок, отключите их отображение в «Категории». Таким образом, поля, создающие уровни drill-down, могут использоваться трижды: на полках «Значения», «Категории» и «Фильтры» - Для достижения нужного результата иногда требуется вручную задать порядок колонок. Это можно сделать, отредактировав счетчик в поле «Порядок отображения» (раздел «Колонки» / «Колонка» в настройках таблицы) или расположив поля на полке «Значения» в нужной последовательности слева направо.
- В настройке «Дрилл» каждому созданному уровню должно быть присвоено поле. Без этого значок drill-down в верхнем правом углу таблицы не появится.
- Для создания уровней drill-down можно использовать вычисляемые выражения.
- На полке «Серии» можно указать колонки, которые будут отображаться на определенных уровнях drill-down. Для этого настройте поле на полке «Значения», а затем перетащите его на полку «Серии».
- Одно и то же поле можно использовать несколько раз для создания уровней drill-down, если это требуется логикой отчета. В настройке «Дрилл» выберите повторяющееся поле в выпадающем списке (в порядке сверху вниз, соответствующем расположению дублированного поля на полке «Категории»).
- Технология drill-down использует фильтры, поэтому поле, создающее уровень drill-down, не следует применять как локальный невидимый фильтр. Иначе при возврате на предыдущий уровень фильтрация собьется, и пользователь увидит все значения по полю.
Пример настройки drill down в таблице
Рассмотрим следующий пример.
На первом уровне дрилл-даун надо вывести суммы продаж (поле «Значение») по категориям товаров.
На втором уровне — для каждой категории надо перечислить через запятую все проданные наименования товаров и указать сумму продаж.
На третьем уровне — наименования товаров развернуть построчно, причём для каждой даты продаж.
На четвертом (последнем) уровне заказчик хочет увидеть помесячные суммы продаж в разрезе каждого наименования.
Рассмотрим создание требуемых дриллов пошагово.
- Создадим первый уровень таблицы без дриллов.
- Перед суммой продаж на полке значений введём вычисляемое поле «Наименования». Поле генерирует уникальный список наименований товара, а потом — объединяет их в одну строку через запятую с пробелом. В частности, на PostgreSQL формула имеет вид:
STRING_AGG(DISTINCT("Наименование"), ', ')
Далее, добавим на полку «Категории» второй раз поле с данными о категории товаров, чтобы сделать первый дрилл. При создании уровней сделан правильный выбор из выпадающего списка, что видно из следующего рисунка.
Чтобы дрилл работал, поле «Категория» надо положить ещё и на полку «Фильтры». Теперь нужно указать вычисляемому полю, чтобы колонка появилась только для второго уровня дрилл-даун, а колонка суммы продаж должна отражаться всегда для всех уровней. - Создадим третий уровень дрилл-даун с помощью поля «Наименование». Также вставим на полку «Значения» поле «Дата» (перед суммой продаж). Тут надо явно указать, что два новых поля выводятся только на третьем уровне. Проводим настройку их отображения по дрилл-даун.
Поскольку в полке «Значения» нужна агрегация, для текстового поля «Категория» и даты можно использовать MAX. Такая агрегация в любом случае выведет все уникальные значения в колонках.
При добавлении новых дриллов галочки для их уровней в настройке полей сами не добавляются. Поэтому донастраивать вычисляемое поле «Наименования» не нужно: всё остается как есть.
Чтобы колонка «Наименование» не выводилась дважды, в настройке «КОЛОНКИ» / «Колонка» отключим показ для этого поля в «Категории». Надо выбрать это поле в самом низу списка в секции «категории» и отжать переключатель показа («Показывать» — «НЕТ»).
- На первых двух уровнях колонка «Категория» выводится, потому что создает уровни 1 и 2 дриллов. Однако конструкция таблицы не предполагает вывод этой колонки на третьем уровне дрилл-даун («Наименование»). Поэтому поле «Категория» придётся добавить в «Значения» и выставить галочки показа для всех уровней. Для этого же поля в настройке «КОЛОНКИ» / «Колонка» в «Серии» надо дважды отключить показ, чтоб колонка не дублировалась
. - Создадим последний уровень дрилл-даун — четвертый. Добавим на полки «Значения» (в самом начале), «Категории» и «Фильтры» поле «Месяц продаж», создадим новый уровень. Для колонок «Месяц продаж», «Наименование», «Сумма продаж, руб.» надо поставить галочки отображения в новом дрилле.
Еще раз обратим внимание, что очередность полей на полке «Значение» слева направо задает очередность их вывода в таблице:
- поле «Месяц продаж» или «Категория» должны быть первыми. Их можно поменять местами — это ничего не изменит, потому что они не появляются одновременно на одном уровне. «Категория» начинает таблицу на первых трёх уровнях дрилл-даун, потом исчезает и вместо него на четвертом уровне выводится «Месяц продаж»;
- поле «Дата» должно быть перед «Значение» (на всех уровнях дриллов это самое последнее поле).
- вычисляемое поле «Наименования» и поле «Наименование» должны быть между «Категория» и «Дата». Их тоже можно поменять местами, так как они не появляются одновременно.
Режим настройки «Уровень дрилла» для каждой колонки приведен в следующей таблице.