Продуктовый аналитик: Путешествие туда и обратно
Глава 2. Кузница оружия
2.6. Power BI это ваши Доспехи Силы
Наставник даёт вам первые инструменты. Здесь, в грохоте ETL-процессов и мерцании строк кода, вы куете своё оружие для будущих битв в загадочном и прекрасном мире аналитики больших данных.
- Интерфейс Power BI Desktop
- Power Query
- Модель данных (Model View)
- Язык метрик DAX
- Визуализации
- Производительность и публикация
2.6.1. Что такое Power BI Desktop
Power BI вырос из надстроек для Excel: Power Pivot (колоночное хранилище данных), Power Query (трансформация данных) и Power View (визуализации). Именно команда, разрабатывавшая эти надстройки, стала ядром команды Power BI. В 2015 году Microsoft выделил всё это в отдельный продукт Power BI Desktop.
В 2026 году конкуренты (Tableau, Qlik, Looker) не исчезли и занимают свои ниши, но по совокупности охвата, скорости развития и соотношению цена/функциональность Power BI остаётся первым выбором для большинства компаний уже более семи лет.
Power BI Desktop это бесплатное приложение для ПК (только для Windows) для анализа больших данных. Всё в одном инструменте: подключаешься к данным, трансформируешь их, строишь модель, создаёшь визуализации и настраиваешь интерактивные дашборды. Без написания кода.
Три слоя Power BI Desktop
- Power Query - извлечение и трансформация данных (ETL-слой).
- Движок моделирования - связи между таблицами, Star Schema, DAX-вычисления.
- Слой визуализации - графики, матрицы, срезы и фильтры.
Результат сохраняется в файл .pbix, который можно опубликовать в Power BI Service. Для публикации и использования ИИ-функций необходима коммерческая лицензия. Сам Power BI Desktop при этом полностью бесплатный.
Почему BI-система важна для продуктового аналитика
Продуктовый аналитик в геймдеве живёт в условиях постоянного давления: продюсер спрашивает про падение метрик, геймдизайнер ждёт результаты A/B-теста, маркетинг хочет ROAS по каналам. Отвечать на всё это выгрузками SQL или визуализациями в Python это значит раздражать всех заказчиков и тратить часы на рутину вместо реального анализа.
Power BI решает эту проблему за счёт трёх вещей:
- Интерактивность. Один раз построил дашборд и продюсер сам фильтрует данные по платформе, стране и дате.
- Скорость повторного использования. Модель с DAX-мерами для Retention, ARPU и LTV написана один раз и работает для любого периода и сегмента.
- Доступность для нетехнических коллег. В отличие от Jupyter-ноутбука, дашборд могут читать менеджеры, продюсеры и CEO.
Ценность Power BI это не только красивые графики, а возможность self-service анализа. Когда продюсер на основе дашборда может сам ответить на 80% своих вопросов без запроса к аналитику. Как результат, это освобождает аналитика для интересных и сложных задач: A/B-тестов, предсказательных моделей, глубоких исследований. Именно поэтому так важно с первого дня строить дашборды не только «красиво», но и «понятно»: с чёткими заголовками, единицами измерения и сравнением с предыдущим периодом.
Power BI Desktop не заменяет SQL и Python. Он закрывает финальный слой между подготовленными данными и принятием решений. SQL строит агрегированные таблицы и витрины из BigData, Python считает сложные модели, а Power BI превращает всё это в то, что команда реально использует каждый день.
2.6.2. Экосистема и интерфейс Power BI
Компоненты экосистемы
Экосистема Power BI состоит из трёх компонентов, которые дополняют друг друга:
- Power BI Desktop - создание отчётов, моделирование данных. Основной инструмент аналитика.
- Power BI Service - публикация, совместный доступ, расписания обновлений. Облачный портал.
- Power BI Mobile - просмотр отчётов на смартфоне. Полезен для руководства в командировках.
В этой статье фокусируемся на Power BI Desktop, именно здесь происходит вся основная аналитическая работа.
Интерфейс Power BI Desktop
После установки и запуска вы увидите Report View режим, а переключение между тремя основными режимами есть на левой панели (указаны красным на скрине ниже)

- Report View - режим создания страниц и визуализаций. Здесь вы проводите ~70% времени.
- Table View - просмотр данных в таблицах. Полезен для проверки результатов DAX-мер.
- Model View - визуальная схема модели, таблицы и связи между ними. Здесь настраивается Star Schema.
Ключевые панели Report View
-Data (правая панель) - список всех таблиц, столбцов и мер. Перетаскивайте колонки на ось Х и Y в поле Visualizations, когда выбран тип визуализации и стартовый блок размещен на центральном холсте.
-Visualizations (правая панель) - палитра типов визуализаций и настройки форматирования. Выберете тип визуализации и разместите стартовый блок визуализации на центральном холсте вашей страницы.
-Filters (правая панель) - фильтры на уровне визуализации, страницы и отчёта. Можно переносить туда колонки или меры из области Data.
-Ribbon (верхняя лента) - основные команды и инструменты.
Практическое задание
1. Скачай Power BI Desktop (у меня это https://www.microsoft.com/ru-ru/download/details.aspx?id=58494)
2. Открой Power BI Desktop → Get Data → Text/CSV
3. Подключись к тестовому датасету (можно, например, по загрузить https://disk.yandex.ru/d/9rkEZH01sJ3bJA)
4. Изучи три режима: Report / Table / Model
5. Создай первую визуализацию: Line Chart → install_date на ось X → payment_amount на ось Y
6. Сохрани файл как .pbix
2.6.3. Power Query
При выборе Transform Data на ленте Home вы попадёте в отдельное окно редактора Power Query.

Power Query это ETL-слой внутри Power BI Desktop. Здесь вы настраиваете подключение, очищаете, трансформируете и объединяете данные перед тем, как они попадут в модель. Все трансформации записываются как шаги (Applied Steps) и воспроизводятся автоматически при каждом обновлении.
- Queries (слева) - список всех запросов/таблиц в модели.
- Applied Steps (справа) - история всех трансформаций для выбранного запроса.
- Formula Bar (сверху) - строка M-формулы для текущего шага.
- Preview (центр) - предпросмотр данных после применения шагов.
Загрузка данных (Get Data)
Power BI Desktop поддерживает более 150 коннекторов. Ниже перечислены основные типы, актуальные для геймдев-аналитика.

File - для старта и прототипирования
• Excel (.xlsx, .xls) - бюджеты, планы, таблицы от маркетинга.
• Text / CSV - выгрузки из систем, логи, экспорты из рекламных кабинетов.
• JSON - API-ответы, конфиги, экспорты из Firebase.
Database - основная группа для зрелого data-стека
• PostgreSQL - популярен в небольших и средних студиях как основная OLTP/OLAP база.
• Google BigQuery - стандарт де-факто для аналитики мобильных игр на Firebase/Google-стеке.
• Snowflake - самое популярное облачное DWH в современных геймдев-компаниях.
• Amazon S3 / Databricks - для event-логов и Spark/Delta Lake пайплайнов.
Online Services - для UA и маркетинговой аналитики
• Google Analytics 4 - трафик, события, конверсии.
• Google Ads / Facebook Ads - рекламные расходы, CPI, ROAS напрямую из кабинетов.
• REST API (Web коннектор) - AppsFlyer, Adjust, внутренние API.
• Python Script - мост к pandas, scikit-learn и любым библиотекам.
Базовые операции Power Query
- Изменение типов данных
Power Query автоматически определяет типы, но часто ошибается. Кликните на левый крайний символ типа данных в заголовке столбца.
Всегда проверяйте:
• event_time → Date/Time
• user_id → Text (не Integer!, иначе потеряете ведущие нули и точность)
• payment_amount → Decimal Number (точка или запятая как разделитель — частая ошибка новичка)

- Фильтрация строк
Кликните на стрелку фильтра в правом углу заголовка столбца, интерфейс аналогичен Excel. Или через Home → Filter Rows для сложных условий.

- Replace Value
Замена значений в столбце. Применяется, например, когда точка как разделитель дробной части не распозналась в вашей локали: замените точку на запятую, затем смените тип данных на Decimal Number.

- Join таблиц (Merge Queries)
Home → Merge Queries это аналог JOIN из SQL. Типичный паттерн в геймдеве: объединить таблицу событий с таблицей пользователей по user_id, чтобы добавить сегмент, страну или платформу.

- Pivot и Unpivot
Home → Transform → Pivot Column / Unpivot Columns. Unpivot особенно полезен для преобразования матрицы когорт в длинный формат для анализа в Power BI.

- Создание новых столбцов
Новый столбец в вашей таблице (Add Column) может быть, например, день недели, начало недели, квартал, возрастная группа пользователя. Такие столбцы создаются один раз, хранятся как обычные данные и не нагружают движок DAX при каждом запросе.

- M-язык (Advanced Editor)
Каждый шаг в Power Query это строчка на языкеM(Mashup Query Language). В будущем вы сможете использовать M-код для написания трансформаций, недоступных через UI. Доступ к редактору запроса происходит через Advanced Editor на панели Home.

2.6.4. Модель данных (Model View)
Star Schema (схема звезды) это подход к организации таблиц, при котором одна или несколько таблиц фактов находятся в центре, а таблицы измерений окружают их. Движок VertiPaq, который лежит в основе Power BI, оптимизирован под Star Schema. Правильно построенная схема работает в разы быстрее, чем плоская денормализованная таблица.

Типы связей
• Many-to-One (*:1) - стандарт. Строки фактов связаны с уникальными строками измерений.
• One-to-One (1:1) - редко, обычно признак денормализации.
• Many-to-Many (*:*) - избегай, если возможно. Приводит к неожиданным результатам фильтрации.
Типичная ловушка новичков - двунаправленные связи (Bidirectional). Многие включают их «для удобства», но это почти всегда приводит к неправильным результатам фильтрации и снижению производительности.
2.6.5. Язык метрик DAX
Контекст вычисления
DAX (Data Analysis Expressions) это язык формул для создания вычислений в Power BI. Внешне похож на формулы Excel, но работает принципиально иначе. Разница в том, что Excel в формуле работает с ячейкой, а PowerBI со столбцом.
Точнее будет сказать, что DAX работает со столбцом, но с учетом контекста (context). Рассчитанное значение (Мера) вычисляется по-разному в зависимости от активных фильтров.
Есть всего два типа контекста:
Row Context - возникает при вычислении Calculated Column или при итерировании по строкам (SUMX, AVERAGEX). Такие формулы основаны на том, что DAX учитывает какую строку он обрабатывает.
Filter Context - возникает при вычислении расчетной Меры (Measures). Это совокупность всех активных фильтров: срезы, фильтры визуализации, условия в формуле.
CALCULATE как главная функция DAX
CALCULATE делает три вещи: берёт текущий Filter Context, модифицирует его согласно условиям в аргументах, вычисляет первый аргумент в новом контексте.
Выручка только от игроков Android
Android Revenue =
CALCULATE(
SUM(players_data[payment_amount]),
players_data[platform] = "Android"
)
Метрики активности: DAU, MAU
Количество уникальных пользователей за день, месяц.
DAU = DISTINCTCOUNT(players_data[player_id])
MAU =
CALCULATE(
DISTINCTCOUNT(players_data[player_id]),
DATESINPERIOD(
players_data[payment_date],
LASTDATE(players_data[payment_date]),
-30, DAY
)
)
Монетизация: ARPU, ARPPU, PU
ARPU - средняя выручка на активного пользователя
ARPPU - средняя выручка на платящего пользователя
PU - доля платящих среди активных
ARPU = DIVIDE(SUM(players_data[payment_amount]), [DAU])
Paying Users =
CALCULATE(
DISTINCTCOUNT(players_data[user_id]),
players_data[payment_amount] > 0
)
ARPPU = DIVIDE(SUM(players_data[payment_amount]), [Paying Users])
PU = DIVIDE([Paying Users], [DAU])
2.6.6. Визуализации
В нашем курсе будет отдельная глава, посвященная визуализациям. Но самое главное при выборе способа визуализации данных это не «какой график самый красивый?», а «на какой вопрос я хочу ответить?».
Вот практическое соответствие:
| Задача аналитика | Тип визуализации | Пример в геймдеве |
|---|---|---|
| Показать динамику во времени | Line Chart | DAU или выручка по дням/неделям |
| Сравнить категории | Bar / Column Chart | DAU по платформам, Revenue по странам |
| Показать воронку | Funnel Chart | Установка → tutorial → первый матч → оплата |
| Когортная матрица | Matrix + Conditional Formatting | Retention по дням установки и дням N |
| Найти сегменты | Scatter Plot | Пользователи: кол-во сессий vs выручка |
| Одно KPI | Card / KPI Card | DAU сегодня, Revenue за месяц, ROAS |
| Анализ по иерархии | Decomposition Tree | Почему упал DAU: платформа → страна → версия |
| Структура данных | Stacked Bar / Area | Выручка по типам продуктов (IAP, подписки, ads) |
| Тепловая карта | Matrix + Color Scale | LTV по когортам установки, Retention-матрица |
| Гео-распределение | Map / Filled Map | DAU или Revenue по странам мира |
Совет: если вы применяете в своей работе круговую (или кольцевую) диаграмму то, пожалуйста, перестаньте это делать с сегодняшнего дня.
Что убивает читаемость дашборда
• Неверно выбранный тип визуализации (определяется задачей, а не красотой).
• Слишком много информации на одной странице (правило: 1 график = 1 вопрос).
• Несогласованные цветовые схемы (максимум 3–4 цвета на весь дашборд).
• Заголовки без смысла: «Chart 1» вместо «DAU по платформам, последние 30 дней».
• Числа без контекста: «DAU = 150 000» это хорошо или плохо? Добавь сравнение с прошлым периодом.
• Pie Chart для сравнения более 3 категорий - используй Bar Chart.
• Отсутствие даты последнего обновления данных.
• Смешивание разных временных гранулярностей на одном графике.
Слайсеры и фильтры
Slicer - визуальный фильтр на странице дашборда. Добавь срезы по дате, платформе, стране и версии приложения - и стейкхолдеры смогут самостоятельно исследовать данные без участия аналитика.
• Включи Single Select или Multi Select в зависимости от задачи.
• Настрой Sync Slicers (View → Sync Slicers) для синхронизации фильтров между страницами отчёта.
• Используй Date Range Slicer для гибкого выбора периода анализа.
Шаблон дашбордов для продюсера
1. Daily Operations (Line Chart для динамики): DAU, Revenue (динамика), Revenue накопление и выполнение плана за месяц, Входящая аудитория (динамика и сравнение по неделям), D1-D7 Retention (динамика и сравнение по неделям). Обновляется каждые 3 часа.
2. Player Journey: воронка Установка → Первый вход → Tutorial → Lvl 10 → Первая покупка. Фильтры или сопоставления по платформам и гео.
3. Monetization Deep Dive: ARPU / ARPPU / PU% в динамике, Revenue по типу (IAP / Ads / Subscription), LTV-когорт.
4. UA Performance: Объемы трафика по каналам, затраты маркетинга по каналам, CPI и ROAS по каналам, Budget vs Actual.
2.6.7. Производительность
Оптимизация модели данных
• Удаляй неиспользуемые столбцы в Power Query. Каждый столбец занимает память. Если столбец не участвует в модели, удаляй его до загрузки.
• Столбцы с миллионами уникальных значений (например, event_id) плохо сжимаются. Удаляй их, если они не нужны.
• Используй целые числа вместо строк там, где возможно.
Оптимизация DAX
• Избегай функций-итераторов (SUMX, AVERAGEX) на больших таблицах без особой необходимости, часто их можно заменить простым SUM с pre-aggregation.
• Используй Performance Analyzer (View → Performance Analyzer) для диагностики, он показывает, сколько времени занимает каждый визуал и DAX-запрос.
Инкрементальное обновление (для больших таблиц)
Если ваша таблица фактов содержит более 10 млн строк и обновляется ежедневно - настройте Incremental Refresh в Power BI Service. Это позволяет обновлять только новые данные за последние N дней, а не перезагружать всю таблицу.
2.6.8. Публикация
На текущий момент в 2026 в связи с ограничениями Microsoft публикация дашбордов доступна только для аккаунтов вне России.
Стандартный процесс публикации:
• В Power BI Desktop: Home → Publish
• Войдите в Microsoft-аккаунт с лицензией Power BI Pro или Premium.
• Выберите целевой Workspace.
• После публикации в Service настройте расписание обновления: Dataset → Settings → Scheduled Refresh.
• Установите Data Gateway, если источник данных находится за корпоративным файрволлом.
Альтернатива для российских компаний
Возможна локальная установка сервера Power BI Report Server внутри компании. Это не требует облачной подписки и не зависит от политики Microsoft. Кроме того, этот способ подходит для компаний, у которых данные не должны покидать периметр.
Кроме того, можно экспортировать отчёт через File → Export → PDF и настроить автоматическую рассылку по расписанию через Python-скрипт с использованием библиотеки pywin32 или selenium.
2.6.9. Полезные ресурсы
• Официальный учебный портал Microsoft (https://learn.microsoft.com/ru-ru/power-bi/)
• PlanetaExcel.ru — русскоязычный сайт по Excel и Power BI (https://www.planetaexcel.ru/)
• SQLBI (sqlbi.com) — лучший ресурс по DAX. Авторы Alberto Ferrari и Marco Russo.
• DAX Guide (dax.guide) — интерактивная документация по всем функциям DAX с примерами.