Урок 04 · 8 мин чтения

Схема «звезда» простыми словами

Почему аналитики делят данные на «факты» и «измерения» — и зачем эта раскладка лично вам.

Данные подключили. Теперь их нужно разложить так, чтобы по ним было удобно считать. Самая частая ошибка новичка — свалить всё в одну широкую таблицу: дата, товар, категория, регион, менеджер, сумма, количество — сотня колонок в одном листе. Работает на маленьком объёме и разваливается на большом.

Правильный способ называется схемой «звезда». Звучит академично, но идея бытовая.

Факты и измерения

Разделите данные на два типа.

Факты — то, что происходит и что вы считаете: продажа, отгрузка, платёж. В таблице фактов — числа (сумма, количество) и ссылки на справочники. Строк тут много: миллионы продаж.

Измерения — то, в разрезе чего вы смотрите факты: товар, дата, регион. Это справочники. Строк мало: товаров тысячи, регионов десятки.

Продажи — факт. «Покажи продажи по регионам за июль среди молочки» — регион, дата и категория тут измерения.

Почему это «звезда»

В центре — таблица фактов. Вокруг — измерения, каждое связано с фактами. На схеме это похоже на звезду:

              ┌──────────┐
              │ Календарь│
              └────┬─────┘
                   │
   ┌────────┐   ┌──▼───────────┐   ┌──────────┐
   │ Товары ├───┤   Продажи    ├───┤ Регионы  │
   └────────┘   │   (факты)    │   └──────────┘
                └──────────────┘

Это ровно наш учебный набор: факт Продажи в центре, вокруг — три справочника Товары, Регионы, Календарь.

Каждое измерение цепляется к фактам по ключу — например, в продажах хранится код товара, а расшифровка кода (название, категория, бренд) живёт в справочнике товаров. Один раз поправили название в справочнике — оно поменялось во всех отчётах.

Зачем это вам

«Звезда» — это не прихоть аналитиков. Она делает три вещи: модель работает быстро (числа отдельно, справочники отдельно), отчёты получаются гибкими (любой разрез — это просто измерение), а данные не дублируются (название товара хранится один раз).

Грануляция: один факт — одна строка

Важное слово — грануляция (зерно): что означает одна строка таблицы фактов. Одна продажа? Одна позиция в чеке? Один день по товару?

От этого зависит всё. Если зерно — позиция чека, вы сможете посчитать и выручку по чеку, и по товару. Если данные уже свёрнуты до «итог за день» — детали потеряны, и «топ-5 товаров в чеке» вы уже не построите.

Правило

Храните факты на самом детальном уровне, который вам реально доступен. Свернуть детали до итогов всегда можно мерой; вернуть детали из итогов — уже нет.

Снежинка и плоская таблица

Иногда измерение разбивают на несколько связанных справочников (товар → категория → отдел) — это «снежинка». Для старта она не нужна: «звезда» проще и в Power BI почти всегда предпочтительнее.

Противоположность — одна плоская таблица со всем подряд. Она кажется удобной («всё в одном месте»), но раздувает модель, замедляет её и плодит дубли. Для разовой прикидки — пожалуйста. Для регулярной модели — «звезда».

Что дальше

Мы разложили данные на факты и измерения. Но просто положить таблицы рядом мало — между ними нужны связи, и у связей есть направление. Об этом следующий урок.

Таблица продаж с миллионами строк — это что в схеме «звезда»?
Продажи — это события, которые вы считаете, и строк в них много. Это факты. А товар, дата, регион, по которым вы смотрите продажи, — измерения.
Прогресс сохраняется в вашем браузере.
§ Power BI под ключ

Нужно внедрить
это в компании?

Соберём DWH, модель и дашборды под ваши данные. Бесплатная консультация — 30 минут.

Телефон+7 918 042 34 43