Прежде чем нажимать кнопки, полезно увидеть всю картину: из чего вообще состоит работа в Power BI Desktop. Новички путаются, где что делается — чистят данные не там, пишут формулы не на том языке. Эта карта снимает путаницу раз и навсегда.
Три этапа одного конвейера
Power BI Desktop — это конвейер из трёх ступеней. Данные проходят их по очереди:
ИСТОЧНИК POWER QUERY МОДЕЛЬ ОТЧЁТ
(1С, SQL, ──▶ (чистка, язык M) ──▶ («звезда» + ──▶ (визуалы,
Excel…) «кухня данных» меры на DAX) дашборд)
семант. слой
- Подключение к источнику (Get Data / Получить данные). Power BI цепляется к 1С, SQL, Excel, папке с файлами, веб-API — десятки коннекторов. Сами данные он не меняет: только читает.
- Преобразование в Power Query. Сырые данные почти никогда не годятся «как есть»: лишние столбцы, текст вместо чисел, мусорные строки, данные в нескольких файлах. Здесь их моют и приводят в форму — до того, как они попадут в модель.
- Загрузка в модель и работа с ней. Очищенные таблицы складываются в семантическую модель (схема «звезда» + связи), на ней пишут меры на DAX и строят визуалы.
Power Query меняет форму и качество данных (какие столбцы, какие типы, какие строки) — это происходит при загрузке и обновлении. DAX считает показатели на уже готовой модели — это происходит в момент просмотра отчёта. Всё, что можно сделать на этапе загрузки (почистить, переименовать, отфильтровать мусор), делайте в Power Query, а не формулами потом.
Что такое Power Query
Power Query — встроенный в Power BI (и в Excel) инструмент подготовки данных, тот самый «ETL» (Extract — извлечь, Transform — преобразовать, Load — загрузить). Его суть в одной идее:
Вы не правите данные руками один раз. Каждое действие (удалил столбец, сменил тип, объединил таблицы) записывается шагом. Получается воспроизводимый рецепт. При обновлении Power BI берёт свежую выгрузку из источника и повторяет все шаги автоматически. Поэтому подготовка данных — не разовая уборка, а постоянный конвейер.
Язык M — мотор Power Query
Под капотом каждый шаг Power Query — это код на языке M (язык запросов Power Query, он же «Mashup»). Хорошая новость: писать на M руками почти не нужно. Вы кликаете кнопки в редакторе — Power BI сам генерирует M-код. Продвинутые сценарии (свои функции, параметры) уже пишут на M вручную, но на старте достаточно мышки.
Их постоянно путают. M (Power Query) — готовит данные: форму таблиц, типы, объединения, при загрузке. DAX — считает по готовым данным: суммы, доли, динамику, при просмотре. M работает «до модели», DAX — «на модели». Разные языки, разные этапы, разные задачи.
Обновление: весь конвейер заново
Когда вы жмёте Обновить (или это делает расписание в облаке), Power BI прогоняет весь конвейер с начала: заново читает источник → повторяет все шаги Power Query → перезагружает таблицы в модель. Меры на DAX при этом не «пересчитываются заранее» — они всегда считаются на лету, когда вы смотрите визуал.
Загрузить сырые данные «как есть» и потом лечить их в DAX: убирать пробелы, менять типы, склеивать поля вычисляемыми столбцами. Это медленнее, раздувает модель и хуже читается. Грязь чистят в Power Query, на входе. DAX — для бизнес-логики и показателей, а не для уборки.
Что дальше
Карта потока в голове есть: источник → Power Query (M) → модель → отчёт. Теперь начнём с того, как устроена сама модель: следующий урок — про схему «звезда».