В прошлом уроке мы разложили данные на факты и измерения. Чтобы Power BI понял, что они связаны, между таблицами нужно провести связи. Это та самая ниточка, по которой фильтр из справочника добирается до фактов.
Связь «один ко многим»
Базовый и почти единственный нужный вам тип связи — «один ко многим».
В справочнике товаров каждый товар встречается один раз. В таблице продаж этот товар встречается много раз — он продавался сотни раз. Значит, связь от товара к продажам — «один ко многим». То же с датой, регионом, клиентом.
Связь проводится по ключу: код товара есть и в справочнике, и в продажах. Power BI сопоставляет их и понимает, какая продажа к какому товару относится.
Связывать таблицы надёжнее по короткому числовому коду (ID товара), чем по длинному тексту (полное название). Числовые ключи компактнее, модель по ним работает быстрее и не спотыкается на лишнем пробеле в названии.
У фильтра есть направление
Вот ключевая идея урока. Когда вы кликаете в срезе «молочка», фильтр течёт от измерения к фактам: из справочника товаров → в продажи. Продажи фильтруются, мера пересчитывается, вы видите выручку по молочке.
В обратную сторону по умолчанию фильтр не идёт: выбор продажи не фильтрует справочник. И это правильно — так и задумано в схеме «звезда».
Товар (1) ──фильтр──► Продажи (∞)
срез по категории пересчёт меры
Запомните направление стрелки: измерение фильтрует факты, не наоборот.
Двунаправленные связи — осторожно
Power BI умеет делать связь двунаправленной — фильтр пойдёт в обе стороны. Звучит удобно, но это частый источник боли:
- появляются неоднозначные пути фильтрации (Power BI не знает, каким путём считать);
- модель замедляется;
- цифры начинают вести себя непредсказуемо, и отладка превращается в детектив.
Оставляйте связи однонаправленными. Двунаправленную включайте точечно и осознанно — например, для особых сценариев фильтрации «многие ко многим». На старте она вам почти наверняка не нужна.
Как это выглядит на практике
В Power BI связи живут в представлении модели (Model view): таблицы — это карточки, связи — линии между ними. Стрелка на линии показывает направление фильтра. Хорошая модель выглядит именно «звездой»: справочники по кругу, факты в центре, стрелки сходятся к центру.
Если в модели паутина из связей во все стороны и двунаправленные стрелки повсюду — это первый признак, что считать по ней будет тяжело и ненадёжно.
Что дальше
Данные разложены и связаны. Но то, что мы строим, — не просто база со справочниками: это семантическая модель. Следующий урок — чем она отличается от обычной базы данных и зачем нужна.