Настройки витрин
Настройки витрины определяют форму её строк: тип витрины, тип слияния при использовании нескольких таблиц фактов, уровень агрегации каждого показателя и фильтры, ограничивающие возвращаемые записи.
Тип витрины
Тип задаётся при создании витрины и может быть изменён позже в диалоге редактирования — как из списка, так и из конструктора.
| Тип | Поведение |
|---|---|
| «С группировкой» | Выполняется группировка по колонкам с фактами и измерениями, и для каждой такой группы в отдельные колонки записываются агрегированные значения всех выбранных показателей. Тип по умолчанию для новых витрин |
| «Без группировки» | Данные для всех выбранных колонок с измерениями, фактами и показателями записываются в исходном виде без агрегации |
| «С группировкой и сверткой» | Показатели записываются в разных строках, измерения — в разных столбцах, а значения показателей и их детали из РПИ выносятся в отдельные общие колонки |
Примечания:
- «С группировкой» — единственный тип, совместимый с типом слияния «JOIN». Выбор «JOIN» переключает тип витрины на «С группировкой», а смена типа на любой другой возвращает тип слияния к «UNION»
- Изменение типа меняет генерируемый запрос, поэтому созданное для витрины представление в базе данных требуется затем обновить
Тип слияния
Тип слияния применяется только к витринам, построенным на двух и более таблицах фактов, и определяет способ объединения их данных: «UNION» объединяет строки вертикально, «JOIN» — горизонтально по общим измерениям. Настройка становится доступной, как только на холсте появляется вторая таблица фактов, и очищается, когда их остаётся меньше двух. Полное поведение и ограничения по элементам для каждого режима описаны на странице «Витрины из нескольких таблиц фактов».
Уровни агрегации для показателей
Для показателя в витрине можно задать собственный уровень агрегации — набор измерений и фактов, по которым группируется его значение, — вместо агрегации, определяемой типом витрины.
Настройка уровня агрегации:
- Выберите «Установить уровень агрегации» в меню действий показателя или выполните двойной клик по узлу показателя. Откроется диалог с отдельным холстом
- В диалоге есть боковая панель со списком доступных для агрегации измерений и фактов (элементов таблицы фактов этого показателя) и центральный холст с узлом показателя
- Уровни добавляются перетаскиванием элемента из панели на холст. Каждый добавленный элемент становится отдельным узлом, соединённым с показателем анимированной линией
- Уровень удаляется кнопкой на его узле
Как трактуется уровень:
| Тип витрины | Ничего не выбрано | Выбраны отдельные измерения или факты |
|---|---|---|
| «С группировкой» | Агрегация выполняется по всем измерениям и фактам витрины | Агрегация выполняется только по выбранным измерениям и фактам |
| «Без группировки» | Агрегация не выполняется | Агрегация выполняется по выбранным измерениям и фактам |
| «С группировкой и сверткой» | Настройки агрегации применяются при построении свёрнутого представления | Настройки агрегации применяются при построении свёрнутого представления |
Примечания:
- Уровни агрегации доступны только для агрегированных показателей. Для неагрегированного показателя действие недоступно: «Уровни агрегации для неагрегированных показателей не поддерживаются»
- Уровни агрегации можно изменять в любое время; после изменения требуется обновить представление витрины в базе данных
Добавление одного показателя несколько раз:
- Один и тот же показатель можно включить в витрину несколько раз с разными уровнями агрегации. Каждый экземпляр имеет свой узел на холсте и собственную настройку
- Система различает экземпляры по названию, формируемому на основе выбранного уровня агрегации, и показывает, сколько раз был добавлен каждый показатель
- Если показатель добавлен несколько раз с одним и тем же уровнем агрегации, лишние экземпляры автоматически удаляются при сохранении витрины
Фильтры витрины
Фильтр ограничивает набор записей, возвращаемых витриной. Он состоит из элемента, к которому привязан, и условия на значение этого элемента, например > 100, IN (1, 2, 3) или LIKE '%тест%'. Фильтры настраиваются так же, как фильтры для проверки показателей.
Настройка фильтра:
- Выберите «Настроить фильтр» в меню действий измерения, факта или неагрегированного показателя. Поле фильтра подставляется из элемента автоматически
- Фильтры нельзя задать для агрегированных показателей: «Фильтры для агрегированных показателей не поддерживаются»
- Для каждого элемента витрины может быть задан только один фильтр. Повторная настройка фильтра для уже отфильтрованного элемента перезаписывает предыдущее условие. Более сложное ограничение по одному элементу нужно выразить единым условием через
ANDиOR - Флажок «Отображать поле в витрине» в диалоге фильтра определяет, попадает ли элемент в колонки результата: «Если включено, поле будет отображаться отдельной колонкой в витрине. Отключите, чтобы использовать поле только в качестве фильтра». Исключённое таким образом поле отмечается на холсте значком: «Не отображается в витрине. Используется только для фильтрации»
Поведение фильтров:
- Фильтры сохраняются вместе с витриной в её версии проекта и независимы в разных витринах
- Они копируются при клонировании витрины и при копировании версии проекта
- Они удаляются, когда отфильтрованный элемент убирается из витрины, а также при удалении элемента РПИ, к которому фильтр привязан
- Они применяются и при проверке витрины, и при генерации запроса для представления в базе данных
- Если условие фильтра ссылается на расчётный элемент — расчётный показатель, производный факт или производное измерение, — его формула автоматически разворачивается в SQL-выражение. Элементы, формулы которых содержат агрегатные функции, в условии фильтра использовать нельзя
- После изменения фильтров требуется обновить представление витрины в базе данных