Дрилл-даун (Drill down) как в QS

Приветствую. Продолжаем нашу рубрику “Хочу как в QS”.
Поговорим сегодня о Дрилл-дауне (ДД) - ведь так иногда надо провалиться/просверлиться и посмотреть а что там внутри, а потом провалиться ещё и ещё. И так пока не достигнем дна данных.
Но при этом, чтобы менялся не один дэш, а все, которые вокруг на дэшбоде (ДБ), да и на остальных тоже.
В LuxmsBI (ЛюМС) было совсем не так, но сейчас немного лучше. А сказ о том, как это сделать вообще хорошо будет ниже.
Начнём:

Немного о том, как это в QS. Чтобы сделать ДД надо создать структуру иерархию. Количество уровней в ней может быть любое:

  • Макрорегион
  • Регион
  • Город
  • Магазин
  • Отдел магазина
  • Полка
    (Как пример)


А потом эту структуру указываем, как измерение для наших дешей, включая таблицы:

И всё - ДД работает.

При этом он работает как фильтр.
То есть если выбран 1 (один) элемент 1 (первого) уровня, то отображаются элементы второго уровня с фильтром по выбранном элементу. При этом фильтр распространяется на все остальные ДЭШи рядом. Например, есть рядом ДЭШ, показывающий выручку. При проваливании в о второй уровень, то выручка показывает с учётом фильтрации по выбранном элементу.
Если выбран один элемент первого уровня и один элемент второго уровня, то показываются элементы третьего уровня. И так далее.
Но если пользователь в фильтре укажет больше одного элемента первого уровня, то ДД не отработает, а будет просто фильтр по двум и более отборам. Аналогично и выборках по остальным элементам.

Если же описанная выше структура указана у нескольких ДЭШей, то при проваливании в одном проваливаемся и в другом.

Если же есть Несколько структур, у который первый или первые уровни одинаковые:

  1. Макрорегион->Регион->Группа
  2. Макрорегион->Регион->Магазин

То При проваливании в первой структуре - проваливаемся и во второй, пока не упрёмся в различия. В приведённом выше примере при выборе “группы” первой структуры, вторая остановится на регионе, но данные будут отфильтрованы и по макрорегион/регион, и по группе

Если есть вопросы или нужны пояснения, то пишите. Расскажем/покажем более подробно.