Продуктовый аналитик: Путешествие туда и обратно

Глава 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 режим, а переключение между тремя основными режимами есть на левой панели (указаны красным на скрине ниже)

Power BI: 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 BI: Power Query

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

Загрузка данных (Get Data)
Power BI Desktop поддерживает более 150 коннекторов. Ниже перечислены основные типы, актуальные для геймдев-аналитика.

Get Data

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

  1. Изменение типов данных
    Power Query автоматически определяет типы, но часто ошибается. Кликните на левый крайний символ типа данных в заголовке столбца.
    Всегда проверяйте:
     • event_time → Date/Time
     • user_id → Text (не Integer!, иначе потеряете ведущие нули и точность)
     • payment_amount → Decimal Number (точка или запятая как разделитель — частая ошибка новичка)

Data Type

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

Filter

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

Replace

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

Merge

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

Pivot

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

Add Column

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

Advanced Editor

2.6.4. Модель данных (Model View)

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

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 с примерами.