Data Analyst Professional · Модуль 10 · Урок 33 із 51

Факти, виміри та grain моделі

Модель починається не зі зв’язків у Power BI, а з чіткої заяви: який бізнес-процес описуємо і що означає один рядок. Ця заява — grain — визначає ключі, допустимі метрики й усі подальші перевірки.

120 хвFact + dimensionМінітест: 3 питання

Спочатку business process і grain

Process

Продажі, заявки, відвантаження чи щомісячні цілі?

Grain

Один рядок = одна позиція замовлення, не «продаж» загалом.

Dimensions

Хто, що, де, коли і через який канал?

Measures

Що рахується на цьому рівні без подвійного підсумку?

Grain записують одним реченням до завантаження даних. Для fact_sales лабораторії це «один рядок на позицію замовлення»; природний контрольний ключ — order_id + line_number.

Ролі таблиць

РольМіститьВикористання
Dimensionунікальний key, назви, категорії, атрибутиfilter, group, label
Factforeign keys, події, числові measuresaggregation
Factless factкомбінації keys без amountвідвідування, eligibility, coverage

Dimension має одну строку на key. Fact може містити багато рядків для того самого customer/product/date. Бізнес-ID з джерела зберігайте як атрибут; стабільний surrogate key ізолює модель від змін operational identifiers.

Additivity залежить від grain

  • Additive: revenue або quantity можна сумувати за продуктом, клієнтом і датою.
  • Semi-additive: balance можна сумувати між accounts, але не між snapshot dates.
  • Non-additive: margin %, average price і conversion rate треба обчислювати з компонентів, а не сумувати.
  • Targets із grain місяць × канал не приєднуйте до order-line fact: обидві facts фільтруються спільними dimensions.

Типи fact tables

TransactionОдна подія або line; найдетальніший audit trail.
Periodic snapshotСтан через регулярний інтервал, наприклад balance на кінець дня.
Accumulating snapshotОдна business case із milestone dates, що оновлюються.
AggregateКерована performance-копія; не заміна канонічного detail grain.

SQL-лабораторія

Завантажити model lab (.sql)

  • Розгорніть schema у навчальному PostgreSQL.
  • Знайдіть grain і candidate key кожної fact.
  • Порівняйте count(*) та distinct business keys.
  • Класифікуйте revenue, margin %, balance і target за additivity.
  • Намалюйте модель до імпорту в Power BI.

Офіційні джерела

Готовність до тесту

Ви формулюєте grain до моделювання, розділяєте facts і dimensions, перевіряєте uniqueness та не сумуєте метрики поза їхнім коректним grain.

Практична перевірка · урок 33 з 51

Закріпіть матеріал уроку

Три сценарні питання. Для зарахування уроку потрібно дати щонайменше дві правильні відповіді.

1. Що таке grain fact table?
2. Коли треба оголосити grain?
3. Яка головна роль dimension?