Data Analyst Professional · Модуль 10 · Урок 34 із 51
Зіркова схема і зв’язки
Надійна semantic model має простий filter path: унікальні dimensions фільтрують facts через one-to-many relationships. Зірка робить DAX передбачуванішим, а QA — доказовим.
Базовий relationship contract
Dimension key унікальний і без blank.
Fact foreign key повторюється відповідно до grain.
Single: dimension → fact за замовчуванням.
Orphan foreign keys = 0 або documented unknown member.
Power BI може автоматично знайти relationship, але не знає бізнес-семантики. Перевірте columns, cardinality, active state й filter direction вручну.
Чому не варто з’єднувати fact із fact
fact_sales має grain order line, а fact_targets — month × channel. Прямий join розмножить targets. Обидві таблиці мають фільтруватися спільними dim_date і dim_channel; міра variance порівнює агрегати в одному filter context.
Bi-directional filtering — не універсальний fix
Both direction може створити ambiguous paths, неочікувані totals і performance cost. Вмикайте його лише для конкретної, протестованої потреби.
Many-to-many потребує явної семантики
Якщо один customer належить кільком segments, створіть bridge з унікальними парами customer_key + segment_key. Визначте allocation rule: чи кожний продаж рахується повністю в кожному segment, чи розподіляється вагою. Без цього total за segments не узгодиться з grand total.
| Симптом | Рішення |
|---|---|
| duplicate key на one side | очистити dimension або створити surrogate key |
| кілька шляхів між таблицями | залишити один active path, переробити model |
| fact-to-fact | спільні conformed dimensions |
| labels у fact | винести повторювані атрибути в dimension |
Практика
- Імпортуйте lab tables і створіть star schema.
- Перевірте, що кожний relationship має dimension на «1» і fact на «*».
- Залиште single-direction filtering.
- Побудуйте orphan-key і duplicate-dimension QA.
- Створіть Revenue, Target і Variance без прямого fact-to-fact join.
Офіційні джерела
Готовність до тесту
Ви будуєте one-to-many зірку, знаєте напрямок фільтрації, знаходите ambiguous paths і моделюєте різні facts через conformed dimensions.
Закріпіть матеріал уроку
Три сценарні питання. Для зарахування уроку потрібно дати щонайменше дві правильні відповіді.