В этом разделе описываются рекомендованные Sigla Vision структуры моделей.
Рекомендуемая структура модели#
Построение структуры модели подразумевает использование таблицы измерений и таблицы фактов.
Таблица измерений:
Таблица измерений хранит и описывает дополнительные сведения о бизнес-данных. Измерение — это взгляд на данные с определённой стороны анализа. Например, таблица измерений продуктов может содержать столбцы "Продукт", "Название", "Описание", "Категория". Таблица измерений предоставляет параметры для группировки, фильтрации и анализа данных.
Таблица фактов:
Таблица фактов содержит поля-показатели, которые описывают бизнес-события (например, объём продаж, сумма продаж, прибыль). Таблица фактов — ядро модели рабочей книги. Связь таблицы фактов с таблицей измерений дает бизнес-контекст. Каждая строка в таблице фактов — отдельный бизнес-факт.
В этом документе таблицы измерений обозначаются как оранжевые, а таблицы фактов — как синие.
Одна таблица фактов и несколько таблиц измерений#
Схема звезды#
Схема звезды — это центральная таблица фактов (центр звезды), вокруг которой располагаются таблицы измерений (лучи звезды).
Таблица фактов — центр, измерения — бизнес-контекст вокруг. Каждая таблица измерения имеет отношение 1:N с таблицей фактов, связывается по ключу. Это позволяет гибко агрегировать и анализировать данные по разным срезам. Модель звезды проста и понятна, а также обладает высокой производительностью при запросах.
Снежинка#
Снежинка похожа на схему звезды, но таблицы измерений разбиты на несколько нормализованных (уровней), формируя многоуровневую схему, напоминающую снежинку.
Например, таблица регионов строится из трёх таблиц контекста: таблицы стран, таблицы областей, таблицы городов.
Несколько таблиц измерений и несколько таблиц фактов#
В Sigla Vision несколько таблиц фактов не могут напрямую разделять несколько таблиц измерений.
Например, на схеме ниже Таблицы фактов "Продажи" и "Остатки" используют общие таблицы измерений Бренды и Категории. В Sigla Vision нельзя напрямую реализовать такую модель. Решения:
Метод 1: выполните джойн над несколькими таблицами измерений, соединив их в одну, а затем смоделируйте связи с несколькими таблицами фактов через неё.
Примечание: если в таблице измерений нет подходящего поля для объединения, можно сделать объединение через кросс-соединение.
Метод 2: выполните джойн над несколькими таблицами фактов, объединив их в одну, и затем сделайте связь с разными измерениями.
Несколько таблиц фактов#
Сценарий 1: Полные ключи
Если хотя бы в одной из двух таблиц фактов все ключи полные (например, по товару записи есть всегда, если он есть на складе), можно строить между таблицами связь N:N.
Сценарий 2: Неполные ключи
Если в обеих таблицах фактов неполные ключи (часть данных есть только в одной из таблиц), прямая N:N связь может привести к ошибкам в расчётах.
Например, Таблица предзаказов и Таблица возвратов могут обе содержать уникальные товары. В этих случаях выделяйте общее измерение для обеих таблиц, соединяйте их вертикально, убирайте дубликаты и далее используйте это измерение для отдельных связей 1:N.
Использование нескольких полей в качестве основания для объединения#
Часто требуется объединять таблицы по нескольким полям одновременно.
Например, нужно объединять по Отделу и Региону. Добавьте вспомогательное поле Основание объединения в обе таблицы через формулу: Отдел+", "+Регион
При построении модели используйте это поле в качестве основания для объединения.