Как пройти маршрут
Начинайте без опыта в профессии. Результат маршрута — проверенная BI-панель, модель данных и инструкция обновления. Переходите дальше, когда можете выполнить задание и объяснить результат.
Здесь 16 основных шагов и 3 шага углубления. Это самостоятельная часть единой программы аналитических профессий: другие карты проходить заранее не нужно. Разделы с одинаковой базой можно пропустить только после решения их задания без подсказки. Фиксированного срока и гарантии трудоустройства нет.
Работайте в цикле: прочитайте объяснение → попробуйте пример → выполните задание → откройте разбор → исправьте ошибку → сохраните результат. Одна отметка может потребовать нескольких занятий. Записывайте время и трудности первых трёх шагов, затем планируйте посильный темп. Обязательные задания основной части выполняются бесплатно. Для локальных программ нужен компьютер; ограничения ОС и доступа указаны в шагах.
Кейс «Круг» и данные вымышлены. На маленькой таблице удобно проверить вычисления руками; она не доказывает спрос, причинность или качество ML-модели. В самостоятельном проекте предстоит изменить данные и требования. Не загружайте реальные персональные или рабочие данные в публичные тренажёры.
Основной текст русский. Для английской документации ведите словарь: термин, смысл своими словами, пример. Перевод браузера допустим, но названия полей и код не переводите. Начните с одного абзаца документации за занятие и постепенно переходите к самостоятельному чтению.
| Шаг | Результат обучения | Часть |
|---|---|---|
| 1 | Подготовить рабочее место и словарь | Основа |
| 2 | Проверять таблицы, доли и средние | Основа |
| 3 | Получать строки и итоги с помощью SQL | Основа |
| 4 | Соединять таблицы без потери и удвоения строк | Основа |
| 5 | Использовать окна и проверять порядок событий | Основа |
| 6 | Договориться, для кого нужен отчёт | Основа |
| 7 | Выбрать BI-инструмент и собрать первый экран | Основа |
| 8 | Сделать подготовку данных повторяемой | Основа |
| 9 | Построить модель «звезда» | Основа |
| 10 | Различать столбец и меру | Основа |
| 11 | Работать с календарём и разными датами | Основа |
| 12 | Выбрать графики и проверить удобство | Основа |
| 13 | Проверить качество отчёта и правила доступа | Основа |
| 14 | Организовать обновление и передачу отчёта | Основа |
| 15 | Выполнить самостоятельный BI-проект | Основа |
| 16 | Проверить готовность и выбрать вакансии | Основа |
| 17 | Углубить DAX и семантическую модель | Углубление |
| 18 | Измерить производительность и стоимость решения | Углубление |
| 19 | Выстроить управление показателями и рост | Углубление |
Шаг 1. Подготовить рабочее место и словарь
Разберём на примере
Сервис «Круг» сдаёт учебные комнаты по времени. Это вымышленный кейс: все числа и записи созданы для обучения. Начните с файлов, чтобы уметь повторить работу на другом компьютере. CSV — текстовая таблица: первая строка содержит имена столбцов, последующие строки — записи. Расширение файла обозначает его формат; переименование картинки в CSV таблицу не создаёт. В наших данных одна строка — одно бронирование, суммы хранятся целым числом евроцентов, даты — как год-месяц-день.
Скачать вымышленные бронирования (CSV). Для SQL позже понадобится готовая схема и те же строки.
Что прочитать и посмотреть
- LibreOffice: CSV — Импорт CSV: разделитель, кодировка и типы столбцов. Бесплатная справка, английский; приложение LibreOffice бесплатно.
Что сделать
- Создайте папку krug и внутри raw, work, results. Скачайте bookings.csv по ссылке в этом разделе и сохраните в raw; исходник больше не редактируйте.
- Откройте CSV в LibreOffice Calc: кодировка UTF-8, разделитель — запятая. Проверьте восемь столбцов и шесть строк данных. Сохраните рабочую копию в work в формате ODS.
- Создайте словарь с полями: столбец, смысл, тип, допустимые значения, единица измерения. Запишите вопросы о неизвестных правилах; не подставляйте догадки.
Что сохранить
Таблица, словарь восьми полей и журнал вопросов в results.
Как проверить себя
Снова откройте сохранённую таблицу. Идентификаторы u1 и A сохранились как текст, суммы 2000 не превратились в 20. Дата читается однозначно.
Разбор — откройте после своей попытки
booking_id обозначает бронирование; user_id — учебный код пользователя, room_id — комнату. minutes — длительность забронированного интервала. Для cancelled она не означает фактическое использование. Словарь должен прямо говорить об этом. Файл содержит 6 бронирований, но только 4 разных пользователя.
Шаг 2. Проверять таблицы, доли и средние
Разберём на примере
Руководитель просит «средний доход». Сначала уточните знаменатель: на бронирование, завершённый визит или пользователя. Доля — часть, делённая на целое: 1 отмена из 6 бронирований даёт 16,7%. Среднее чувствительно к большим значениям; медиана — середина отсортированного ряда. Возврат уменьшает поступления, но не превращает их в прибыль: расходы нам неизвестны. Не складывайте проценты разных групп и не считайте среднее средних без размеров групп.
Что прочитать и посмотреть
- LibreOffice: CSV — Импорт CSV: разделитель, кодировка и типы столбцов. Бесплатная справка, английский; приложение LibreOffice бесплатно.
- Introduction to Modern Statistics — Темы описания данных, вероятности, выборки, доверительных интервалов и проверки гипотез. Читайте только тему текущего шага и разбирайте один пример. Бесплатный учебник, английский.
Что сделать
- В рабочей таблице добавьте net_cents = charged_cents − refund_cents. Посчитайте сумму и переведите её в евро делением на 100.
- Отфильтруйте completed. Найдите среднюю и медианную длительность только этих визитов. Проверьте числа ручным расчётом.
- Сравните долю отмен с долей пользователей, у которых была отмена. Подпишите числитель и знаменатель каждой метрики.
Что сохранить
Лист расчётов с формулами, единицами измерения и тремя выводами.
Как проверить себя
Пустая ячейка, ноль и отсутствующий пользователь различаются. Формула на отфильтрованном листе не должна случайно включать скрытую отмену.
Разбор — откройте после своей попытки
Поступления после возвратов: (2000+3000+4000+2000+3000−1000)/100 = 130 евро. Завершённые длительности: 60,90,120,60,90; среднее 84, медиана 90 минут. Отменено 1/6 бронирований; отмена есть у 1/4 пользователей. Эти проценты отвечают на разные вопросы.
Шаг 3. Получать строки и итоги с помощью SQL
Разберём на примере
SQL — язык запросов к таблицам. SELECT выбирает столбцы, WHERE оставляет строки по условию, GROUP BY объединяет строки для расчёта итогов. COUNT(*) считает строки; COUNT(column) пропускает NULL — неизвестные значения. Начинайте с маленького набора, в котором можете проверить каждый результат руками. Учебные запросы выполняются в SQLite Fiddle; PostgreSQL появится отдельно там, где нужны его особенности.
SELECT room_id, SUM(charged_cents-refund_cents) AS net_cents
FROM bookings WHERE status='completed'
GROUP BY room_id ORDER BY room_id;
Что прочитать и посмотреть
- SQLBolt — Уроки 1–12: SELECT, условия, JOIN, NULL и группировка. Выполните встроенные задания. Бесплатно, английский, без установки.
- SQLite Fiddle — Официальная SQL-песочница: вставьте учебный SQL и нажмите Run. Бесплатно, английский интерфейс; работаем только с вымышленными данными.
Что сделать
- Пройдите SQLBolt 1–5 и 10–12. Затем откройте SQLite Fiddle, вставьте содержимое bookings.sql из первого шага и выполните его один раз в пустой базе.
- Напишите SELECT для completed, затем итог net_cents по комнате. Используйте SUM(charged_cents-refund_cents).
- Добавьте условие day >= '2026-09-02'. Объясните, почему фильтр по строкам ставится до группировки. Сохраните запросы в results/queries.sql.
Что сохранить
Три SQL-запроса и таблица ожидаемых результатов.
Как проверить себя
Без фильтра итог A равен 6000, B — 7000 евроцентов. После фильтра даты A=2000, B=7000. Укажите, какие строки сформировали результат.
Разбор — откройте после своей попытки
Запрос ниже считает поступления после возвратов по комнатам. Cancelled с нулевыми суммами не меняет итог, но явный фильтр фиксирует бизнес-правило. Если повторно создать таблицу в той же базе, будет ошибка: начните новую сессию, не скрывайте ошибку.
Шаг 4. Соединять таблицы без потери и удвоения строк
Разберём на примере
Справочник хранит описание объекта один раз: код A соответствует комнате «Тихая». Первичный ключ уникально называет запись; внешний ключ связывает запись с другим объектом. JOIN сопоставляет строки по условию. Если одному бронированию соответствуют два платежа, после соединения оно появится дважды. Поэтому перед соединением назовите зерно обеих таблиц — что означает одна строка. LEFT JOIN сохраняет строки слева даже без пары; INNER JOIN оставляет только совпадения.
Что прочитать и посмотреть
- SQLBolt — Уроки 1–12: SELECT, условия, JOIN, NULL и группировка. Выполните встроенные задания. Бесплатно, английский, без установки.
- PostgreSQL: учебник — Разделы The SQL Language и Advanced Features: таблицы, соединения, внешние ключи, транзакции. Бесплатно, английский; команды PostgreSQL не переносите в SQLite без проверки.
Что сделать
- Пройдите SQLBolt 6–9. Создайте rooms(room_id TEXT PRIMARY KEY, name TEXT) и добавьте A/Тихая, B/Большая.
- Соедините bookings и rooms. Сверьте COUNT(*) и сумму net_cents до и после соединения.
- В отдельной CTE создайте платежи (1,1000),(1,1000),(2,2000). Соедините с bookings и объясните, почему сумма charged_cents теперь не является суммой всех бронирований. Сначала сгруппируйте платежи по booking_id.
Что сохранить
Запрос с соединением, проверками количества строк и пояснением отношения «один ко многим».
Как проверить себя
Со справочником остаются 6 строк и 13000 евроцентов net. В варианте с платежами бронирование 1 повторяется; проверка это обнаруживает.
Разбор — откройте после своей попытки
LEFT JOIN rooms USING(room_id) сохраняет шесть бронирований. Платежи имеют другое зерно: один перевод денег. Суммировать поля бронирования после такого соединения опасно. Сначала SELECT booking_id, SUM(amount) FROM payments GROUP BY booking_id; затем соединяйте этот итог.
Шаг 5. Использовать окна и проверять порядок событий
Разберём на примере
Оконная функция считает по группе, сохраняя исходные строки. ROW_NUMBER присваивает номер в заданном порядке; LAG возвращает значение предыдущей строки. В отличие от GROUP BY, можно одновременно видеть отдельное бронирование и место этого бронирования в истории пользователя. Если даты совпадают, добавьте booking_id в ORDER BY, иначе порядок не определён полностью. Дата бронирования и дата события оплаты могут быть разными: выберите нужную заранее.
Что прочитать и посмотреть
- SQLite: оконные функции — Примеры row_number(), PARTITION BY и сумм по окну. Бесплатная документация, английский.
CTE задаёт именованный промежуточный результат: WITH имя AS (запрос). Внешний SELECT затем читает его как таблицу. Так можно сначала вычислить номер строки, а затем отфильтровать его.
Что сделать
- Для каждого user_id пронумеруйте бронирования по day, booking_id. Выведите первые бронирования через CTE и внешний WHERE rn=1.
- Посчитайте накопленные net_cents по дням: сначала сгруппируйте по day, затем примените SUM(...) OVER (ORDER BY day ROWS UNBOUNDED PRECEDING).
- Добавьте копию даты с новым booking_id в рабочую базу. Убедитесь, что порядок внутри пользователя остаётся определённым; исходный файл не меняйте.
Что сохранить
Два оконных запроса и объяснение порядка вычислений.
Как проверить себя
Первые бронирования: 1,2,4,5. Дневные net: 4000,4000,5000; накопленные: 4000,8000,13000.
Разбор — откройте после своей попытки
Фильтрацию rn=1 выполняют снаружи CTE, после расчёта окна. Для u1 первой будет запись 1, следующей — отмена 3. Исключение cancelled до окна меняет вопрос на «первое завершённое бронирование»; явно укажите, какой вопрос решаете.
WITH numbered AS (
SELECT *, ROW_NUMBER() OVER (
PARTITION BY user_id ORDER BY day, booking_id
) AS rn
FROM bookings
)
SELECT user_id, booking_id FROM numbered
WHERE rn = 1 ORDER BY user_id;
WITH daily AS (
SELECT day, SUM(charged_cents - refund_cents) AS net
FROM bookings GROUP BY day
)
SELECT day, net,
SUM(net) OVER (ORDER BY day ROWS UNBOUNDED PRECEDING) AS cumulative_net
FROM daily ORDER BY day;Шаг 6. Договориться, для кого нужен отчёт
Разберём на примере
Администратор «Круга» решает, какие комнаты продвигать, а руководитель следит за поступлениями. Им нужны разные уровни подробности. BI-аналитик превращает потребность в повторяемый отчёт и понятную модель данных. Пользовательская история описывает, кто какое действие хочет выполнить и зачем. Критерий приёмки задаёт наблюдаемый результат: выбранная дата меняет суммы по установленному правилу, а не просто «отчёт удобный».
Что прочитать и посмотреть
- Power BI: схема «звезда» — Fact tables, Dimension tables и отношения: отделите измерения от фактов. Бесплатная документация, английский.
Что сделать
- Составьте бриф: пользователь, решение, период, источники, частота обновления, нужная детализация и ограничения доступа.
- Для поступлений запишите формулу, единицу, исключения и владельца определения. Уточните, что речь о поступлениях после возвратов, а расходы отсутствуют.
- Нарисуйте на бумаге два экрана: обзор руководителя и детализацию администратора. Напишите пять критериев приёмки с числами из исходной таблицы.
Что сохранить
Бриф, словарь показателей и два бумажных прототипа.
Как проверить себя
Каждый график помогает ответить на конкретный вопрос. Для каждого числа можно назвать источник.
Разбор — откройте после своей попытки
Критерий: при выборе A и всех дат показатель поступлений равен 60 евро; при выборе B — 70. Кнопка «все комнаты» должна вернуть 130. Без определения даты возврата эти числа относятся только к упрощённой учебной модели, где возврат приписан исходной брони.
Шаг 7. Выбрать BI-инструмент и собрать первый экран
Разберём на примере
Панель показателей объединяет числа и графики для решения задачи. Основной вариант на Windows — бесплатный Power BI Desktop. Для macOS или Linux можно пройти общие задания в браузерном Tableau Public: нужен бесплатный аккаунт, используйте только вымышленные данные, пригодные для публичного доступа. Формулы и интерфейсы различаются. Владение Tableau не означает владения DAX; Microsoft-специфику позже отмечайте отдельно в портфолио.
Tableau Public: бесплатный продукт и начало работы; подключение данных в браузере. В Tableau Public откройте My Profile → Create a Viz и загрузите учебный CSV.
Что прочитать и посмотреть
- Установка Power BI Desktop — Download и Minimum requirements: проверьте свою Windows. Бесплатная документация; локальный Desktop бесплатен, совместная работа в сервисе имеет отдельные условия.
- Tableau: обучение — Бесплатные вводные видео: подключение данных, диаграммы, фильтры и dashboard. Английский; используйте только открытые уроки.
Что сделать
- На Windows установите Desktop и выберите Get data → Text/CSV. В другом варианте откройте Tableau Public, создайте учебную книгу в браузере и подключите bookings.csv. Сначала прочитайте официальный раздел начала работы.
- Проверьте типы: суммы и minutes — числа, day — дата, идентификаторы — категории. Создайте столбчатую диаграмму net по room_id и фильтр даты.
- Добавьте заголовок, валюту и подпись «вымышленные данные». Сохраните файл Desktop либо ссылку и экспорт своего отчёта в Tableau Public.
Что сохранить
Первая панель и запись выбранного инструмента и способа повторного открытия.
Как проверить себя
На экране суммы A=60, B=70 евро. Отмена с нулевой оплатой не показана как дополнительная выручка.
Разбор — откройте после своей попытки
Сначала создайте расчёт charged_cents-refund_cents и агрегируйте его суммой, затем делите на 100. Если инструмент показывает 13000 евро, забыто преобразование единиц. Не используйте общественный сервис для рабочих данных. Для вакансий Power BI потребуется отдельная практическая проверка в Desktop.
Шаг 8. Сделать подготовку данных повторяемой
Разберём на примере
Коллега прислал второй CSV с суммами как текстом и лишними пробелами в кодах комнат. Ручное исправление каждой новой выгрузки не масштабируется. Преобразование должно задавать правило и сохраняться в истории обработки. В Power BI это шаги Power Query: очистка текста, выбор типов, фильтры, объединение файлов. В Tableau-варианте подготовьте чистый результат SQL-запросом в уже освоенной песочнице, сохраните таблицу и используйте её как источник; шаги в обоих случаях документируются.
Что прочитать и посмотреть
- Power Query — Преобразования и повторяемые шаги подготовки данных. Бесплатная документация, английский.
- SQLite Fiddle — Официальная SQL-песочница: вставьте учебный SQL и нажмите Run. Бесплатно, английский интерфейс; работаем только с вымышленными данными.
Что сделать
- Создайте рабочую копию с room_id=" A ", пустой оплатой и второй строкой booking_id=1. Опишите, какие изменения безопасны автоматически.
- Настройте удаление пробелов, проверку числовых типов и поиск дублей. Плохую сумму направьте в отдельный список ошибок, не заменяйте её молча нулём.
- Повторите обработку на чистом исходнике. Сохраните последовательность действий и число строк на входе, выходе и в списке ошибок.
Что сохранить
План преобразований, чистая таблица и журнал отклонённых строк.
Как проверить себя
Шесть исходных бронирований дают те же 130 евро. Повторная загрузка не удваивает результат.
Разбор — откройте после своей попытки
Удаление пробелов у кода согласовано словарём. Пропуск оплаты не равен нулевой оплате. Дубликаты следует сначала сравнить: если данные расходятся, нужна версия записи или правило выбора, а не случайное удаление первой попавшейся строки.
Шаг 9. Построить модель «звезда»
Разберём на примере
Таблица фактов хранит измеряемые события, например бронирования. Измерения описывают, кто, где и когда: комнаты, пользователи, календарь. Схема «звезда» связывает факт с несколькими измерениями через ключи. Зерно факта в кейсе — одно бронирование. Длительность комнаты за день имеет другое зерно; её нельзя прибавлять к каждой строке брони. Хорошая модель упрощает фильтры и предотвращает двойной счёт.
Что прочитать и посмотреть
- Power BI: схема «звезда» — Fact tables, Dimension tables и отношения: отделите измерения от фактов. Бесплатная документация, английский.
Что сделать
- Создайте dim_room из двух строк A/Тихая и B/Большая. Отделите справочник от фактов. На бумаге подпишите ключи и связь один-ко-многим.
- Добавьте календарь 1–3 сентября. В Power BI свяжите таблицы по ключам с односторонней фильтрацией от измерения. В Tableau создайте отношения логических таблиц; если браузерная версия ограничивает настройку, загрузите проверенную SQL-витрину и сохраните схему отдельно.
- Добавьте комнату C без бронирований. Определите, должен ли отчёт показывать её с нулём, и проверьте это отдельным запросом.
Что сохранить
Схема, словарь зерна и отчёт с проверенными связями.
Как проверить себя
Ключи измерений уникальны; все коды факта имеют соответствие. Факт содержит 6 строк после соединений.
Разбор — откройте после своей попытки
В rooms должно быть по одной строке на room_id. Отсутствие бронирований C не означает неизвестное имя комнаты. Для показа C с нулём нужен справочник всех комнат и левое соединение с агрегатом; внутреннее соединение её исключит.
Шаг 10. Различать столбец и меру
Разберём на примере
Вычисляемый столбец задаёт значение строки; мера считает результат для текущего выбора пользователя. Net в евро на строку можно получить из двух сумм. Долю отмен надо считать как число отмен, делённое на число бронирований в текущем фильтре. Среднее от долей по комнатам даст неверный общий результат, если размеры групп различаются. DAX — язык выражений Power BI; контекст фильтра определяет, какие строки видит мера.
Что прочитать и посмотреть
- Power BI: основы DAX — Меры, синтаксис формул и контекст вычисления. Бесплатная документация, английский.
Что сделать
- В Power BI создайте меры Net EUR = SUMX(bookings, bookings[charged_cents]-bookings[refund_cents])/100 и Bookings = COUNTROWS(bookings).
- Добавьте Cancel Rate = DIVIDE(CALCULATE(COUNTROWS(bookings), bookings[status]="cancelled"), COUNTROWS(bookings)). В Tableau используйте SUM(IF [status]="cancelled" THEN 1 ELSE 0 END)/COUNT([booking_id]).
- Проверьте общий результат и фильтры A/B. На пустой комнате C объясните выбранное поведение: пустое значение для неопределённой доли.
Что сохранить
Три расчёта и таблица тестов фильтрации.
Как проверить себя
Общая доля отмен 1/6. Для A — 0/3, для B — 1/3. Среднее 0% и 33,3% здесь случайно совпадает из-за равных групп: добавьте строку A и проверьте снова.
Разбор — откройте после своей попытки
После дополнительного завершённого бронирования A общий показатель станет 1/7≈14,3%, а среднее двух долей останется около 16,7%. Этот контрпример показывает, почему итоговую долю надо пересчитывать из числителя и знаменателя.
Шаг 11. Работать с календарём и разными датами
Разберём на примере
Руководитель спрашивает поступления за месяц. В реальной системе есть дата брони, дата оплаты и дата возврата. Если смешать их, месячная динамика станет неоднозначной. Календарь содержит все даты, включая дни без событий. В учебном CSV day — дата бронирования; отдельной даты возврата нет. Вы не можете честно восстановить денежный поток по фактическим дням возврата без нового источника.
Что прочитать и посмотреть
- Power BI: схема «звезда» — Fact tables, Dimension tables и отношения: отделите измерения от фактов. Бесплатная документация, английский.
- Power BI: основы DAX — Меры, синтаксис формул и контекст вычисления. Бесплатная документация, английский.
Что сделать
- Дополните календарь до 7 сентября. Покажите дни без бронирований, договорившись, где нужен ноль, а где неизвестное значение.
- Создайте отдельную таблицу refunds: booking_id=2, refund_day=2026-09-04, amount=1000. Посчитайте поступления по дням платежа и возврата отдельно от исходной метрики по бронированиям.
- Объясните, какие даты использует каждый график. В Power BI изучите активную связь и необходимость отдельного расчёта для другой даты; в другом инструменте сделайте два явно названных источника/графика.
Что сохранить
Календарь и два отчёта с разным смыслом даты.
Как проверить себя
В модели денежных движений 1 сентября поступило 50 евро, 4 сентября возвращено 10. Итог периода остаётся 130.
Разбор — откройте после своей попытки
В исходной модели день 1 даёт 40 евро net, потому что возврат вычтен из исходной брони. В модели движений это 50 и отдельные −10 позже. Оба расчёта могут быть полезны, но должны иметь разные названия и источники.
Шаг 12. Выбрать графики и проверить удобство
Разберём на примере
Диаграмма должна помогать сравнению. Для двух комнат достаточно столбцов; для изменения по дням подходит линия; для точных сумм — таблица. Круговая диаграмма с десятками категорий затрудняет сравнение. Цвет не должен быть единственным носителем смысла: добавляйте подписи. Видимый ноль отличается от отсутствующих данных, а укороченная ось столбцов может преувеличить разницу.
Что прочитать и посмотреть
- Tableau: обучение — Бесплатные вводные видео: подключение данных, диаграммы, фильтры и dashboard. Английский; используйте только открытые уроки.
Что сделать
- Соберите обзор из трёх показателей: поступления, завершённые визиты и доля отмен. Добавьте дневную динамику и детализацию комнаты.
- Проверьте подписи осей, валюту, период и состояние пустого фильтра. Уберите украшения, которые не помогают решению.
- Дайте другому человеку три задачи: найти поступления B, отмены за период и день максимума. Запишите ошибки и время поиска, затем исправьте один элемент.
Что сохранить
Панель до и после проверки на пользователе и журнал наблюдений.
Как проверить себя
Читатель отличает поступления от прибыли и понимает, какие фильтры включены. Итоги совпадают с SQL.
Разбор — откройте после своей попытки
Максимальные дневные net в исходной модели — 50 евро 3 сентября. Если человек не заметил активный фильтр A, полезнее сделать его видимым, чем добавлять ещё один график. При отсутствии внешнего проверяющего сохраните этот пункт как незавершённый.
Шаг 13. Проверить качество отчёта и правила доступа
Разберём на примере
Отчёт может правильно считать итог и раскрывать лишнюю детализацию. Ограничение доступа к строкам — отдельное правило, а визуальный фильтр пользователь может изменить. В Power BI RLS задаёт роли и фильтрует данные для роли; проверка View as помогает увидеть результат. В публичном Tableau нельзя имитировать защищённую корпоративную публикацию ссылкой: для учебной практики создайте отдельные обезличенные выгрузки и матрицу доступа.
Что прочитать и посмотреть
- Power BI: доступ к строкам — Создание ролей и проверка View as. Бесплатная документация, английский; проверяем локально, распространение отчёта отдельно.
- Power BI: лицензии — Сопоставьте индивидуальную работу и sharing. Бесплатный текст, английский. Покупка лицензии не входит в маршрут.
Что сделать
- Составьте матрицу: руководитель видит обе комнаты, администратор A — только A. Укажите, кто может менять модель и кто только читать.
- В Desktop создайте роль для A и проверьте View as. В переносимом варианте сделайте отдельную SQL-выгрузку A и проверьте, что в ней нет B; пометьте, что серверная авторизация не реализована.
- Проверьте уникальность ключей, пропуски, отрицательные суммы, фильтры и граничные даты. Запишите ожидаемый и фактический результат каждого теста.
Что сохранить
Матрица доступа и протокол проверки отчёта.
Как проверить себя
Роль A получает 60 евро, но не может увидеть B в учебном просмотре. При экспорте также проверены доступные строки.
Разбор — откройте после своей попытки
Скрытие страницы или поля не является защитой данных. Для рабочей системы нужна проверка реальных ролей и прав сервиса. В бесплатной учебной ветке не заявляйте, что реализовали защищённую совместную публикацию, если проверили только локальный фильтр.
Шаг 14. Организовать обновление и передачу отчёта
Разберём на примере
Пользователь должен знать, за какой момент доступны данные и кому сообщить об ошибке. Обновление состоит из получения источника, преобразования, проверки и публикации. Ошибка на третьем шаге не должна выпускать пустую панель вместо последней корректной версии. Локальный Desktop не равен сервису с корпоративным расписанием; бесплатное обучение не требует платной лицензии на распространение отчётов.
Что прочитать и посмотреть
- Power BI: лицензии — Сопоставьте индивидуальную работу и sharing. Бесплатный текст, английский. Покупка лицензии не входит в маршрут.
- Power Query — Преобразования и повторяемые шаги подготовки данных. Бесплатная документация, английский.
Что сделать
- Добавьте учебное бронирование 7: u5, A, 2026-09-04, completed, 60 минут, 2000 евроцентов, возврат 0. Обновите источник и панель по записанной инструкции.
- Затем испортите имя обязательного столбца. Зафиксируйте ошибку и восстановите предыдущую рабочую версию.
- Создайте инструкцию: источник, шаги обновления, проверки, дата последнего успеха, владелец, место хранения версии и способ отката. Отдельно составьте проект настройки расписания в рабочем сервисе без покупки лицензии.
Что сохранить
Инструкция обновления и передачи, версия до и после изменения.
Как проверить себя
После хорошей загрузки 7 бронирований и 150 евро. После плохой загрузки ошибка видна, результат не объявлен актуальным.
Разбор — откройте после своей попытки
Надпись «обновлено сегодня» должна означать успешную проверенную загрузку, а не открытие файла. Передача завершена, если другой человек может повторить обновление с исходными файлами и сверить контрольные суммы.
Шаг 15. Выполнить самостоятельный BI-проект
Разберём на примере
Сделайте отчёт для нового вымышленного кейса — проката настольных игр. В нём несколько предметов в одной выдаче и несколько возвратов. Это проверяет понимание зерна: строка выдачи, платёж и предмет — разные сущности. Подготовьте модель данных, расчёты и инструкцию, по которой коллега сможет обновить отчёт.
Что прочитать и посмотреть
- Power BI: схема «звезда» — Fact tables, Dimension tables и отношения: отделите измерения от фактов. Бесплатная документация, английский.
- Power BI: основы DAX — Меры, синтаксис формул и контекст вычисления. Бесплатная документация, английский.
Что сделать
- Подготовьте три таблицы: 12 выдач, 20 строк предметов и платежи с двумя частичными возвратами. Лучше попросить проверяющего придумать числа и ожидаемый итог.
- Составьте бриф, схему модели и словарь трёх показателей. Реализуйте панель в выбранном инструменте и отдельную сверку SQL.
- Измените требование: теперь возвраты учитываются по дате фактического движения денег. Пересоберите расчёты. Передайте другому человеку инструкцию и попросите добавить новую выдачу.
Что сохранить
Проект с моделью, исходниками, сверкой, панелью и инструкцией.
Как проверить себя
Общая сумма не умножается на число предметов; новый период обновляется; пользователь решает три задачи без ваших устных подсказок.
Разбор — откройте после своей попытки
Покажите связи таблиц и результат проверки повторяющихся платежей. Если всё сведено в одну широкую таблицу, отдельно докажите сохранность суммы. Укажите выбранный инструмент и границы практики: например, «Tableau Public, без проверки RLS Power BI».
Шаг 16. Проверить готовность и выбрать вакансии
Разберём на примере
Название «BI Analyst» не задаёт одинаковые обязанности во всех компаниях. Сравнивайте задачи, уровень самостоятельности, язык команды и условия работы. Европа — основной ориентир этой программы; вакансии РФ помогают увидеть совпадения и отличия. Старшие вакансии показывают дальнейшее развитие, но не превращают весь их список в обязательный входной порог. Диплом, местный язык и опыт могут быть отдельными условиями работодателя. Учебный проект не заменяет коммерческий опыт.
Что прочитать и посмотреть
- Pro Git — Главы «Основы Git»: создание репозитория, запись изменений, история, отмена изменений. Бесплатный текст на русском.
Что сделать
- Соберите пять свежих европейских и три российских вакансии. Запишите дату, страну, реальный уровень по обязанностям, обязательные требования и пожелания в разные столбцы. Обновляйте ссылки перед откликом.
- Для каждого требования приложите своё доказательство: схема модели, словарь показателей, BI-панель, SQL-сверка и инструкция обновления. Отметьте «делал самостоятельно», «с подсказкой» или «пока не делал». Выберите три пробела и задания для их закрытия.
- Попросите знакомого провести 20-минутное собеседование по вашему проекту. Объясните задачу на русском и кратко на английском: problem, method, result, limitation. Выполните новое небольшое задание без готового решения и запишите, где потребовалась помощь.
Что сохранить
Матрица вакансий, портфолио из собственных файлов и план закрытия трёх пробелов.
Как проверить себя
Другой человек может открыть проект, повторить ключевой результат и задать вопрос о неудачном варианте. В резюме учебные проекты обозначены как учебные.
Разбор — откройте после своей попытки
«Знаю SQL» не является доказательством. Подойдёт ссылка на ваш файл запроса, входные данные, ожидаемый результат и описание ошибки, которую запрос выявляет. Если проверяющего пока нет, отметьте внешнюю проверку как незавершённую; не заменяйте её галочкой.
Шаг 17. Углубить DAX и семантическую модель
Разберём на примере
В Power BI сложность часто скрыта в контексте фильтра. CALCULATE меняет условия расчёта, а SUMX вычисляет выражение для строк и суммирует результаты. Избыточные двунаправленные связи могут сделать фильтрацию неоднозначной. Этот шаг — отдельная специализация Microsoft: для практического завершения нужен Desktop; в другом инструменте отметьте теоретическое знакомство и выберите профиль соответствующих вакансий.
Что прочитать и посмотреть
- Power BI: основы DAX — Меры, синтаксис формул и контекст вычисления. Бесплатная документация, английский.
- Power BI: схема «звезда» — Fact tables, Dimension tables и отношения: отделите измерения от фактов. Бесплатная документация, английский.
Что сделать
- Сделайте долю комнаты в поступлениях всех комнат при сохранении фильтра даты. Объясните, какой фильтр снимаете и какой оставляете.
- Добавьте отдельные даты бронирования и возврата. Покажите два расчёта и их контексты.
- Создайте неоднозначное соединение через вторую таблицу комнат, найдите ошибку и верните модель к понятным связям.
Что сохранить
Файл модели и таблица проверок контекстов.
Как проверить себя
Для всех дат доля A=60/130≈46,15%, B≈53,85%. Фильтр даты должен менять знаменатель.
Разбор — откройте после своей попытки
Снятие всех фильтров разом даёт долю от всей истории, даже когда пользователь выбрал один день. Снимайте только фильтр нужного измерения. Перед оптимизацией добейтесь правильных результатов на маленькой таблице.
Шаг 18. Измерить производительность и стоимость решения
Разберём на примере
Ускорять следует измеренное узкое место. Время обновления источника отличается от времени отрисовки панели. Избыточные столбцы, высокая детализация, сложные меры и лишние визуализации могут влиять на разные части процесса. Выбор Import или DirectQuery меняет способ получения данных и ограничения; решение принимают по задержке, объёму, безопасности и возможностям источника.
Что прочитать и посмотреть
- Power BI: схема «звезда» — Fact tables, Dimension tables и отношения: отделите измерения от фактов. Бесплатная документация, английский.
- Power BI: лицензии — Сопоставьте индивидуальную работу и sharing. Бесплатный текст, английский. Покупка лицензии не входит в маршрут.
Что сделать
- На копии проекта измерьте время загрузки, пересчёта и открытия страницы. Повторите замер трижды и зафиксируйте условия.
- Удалите ненужные поля и сократите одну визуализацию. Сравните время и проверьте, что ответы на вопросы сохранены.
- Составьте записку выбора локальной модели или запросов к источнику для двух сценариев: ежедневный отчёт и оперативная панель. Не выдавайте учебные секунды за прогноз на промышленном объёме.
Что сохранить
Протокол измерений и решение с ограничениями.
Как проверить себя
После изменения контрольные суммы совпадают. Ускорение не получено потерей нужных данных.
Разбор — откройте после своей попытки
Если долго выполняется SQL источника, уменьшение числа цветов не решит проблему. Если медленна сложная мера, сначала упростите модель и расчёт. Условия лицензирования и инфраструктуры проверяются отдельно для реального внедрения.
Шаг 19. Выстроить управление показателями и рост
Разберём на примере
Когда отчётов много, требуется каталог: назначение, владелец, аудитория, источники, дата обновления и статус замены. BI-аналитик согласует единые определения с бизнесом и помогает пользователям работать самостоятельно. Дальнейшие направления — Microsoft BI, Tableau, аналитическая инженерия или руководство BI-проектами. Выберите одно по задачам и доказанным пробелам.
Что прочитать и посмотреть
- Power BI: схема «звезда» — Fact tables, Dimension tables и отношения: отделите измерения от фактов. Бесплатная документация, английский.
- Pro Git — Главы «Основы Git»: создание репозитория, запись изменений, история, отмена изменений. Бесплатный текст на русском.
Что сделать
- Опишите три версии отчёта и правило вывода старой версии из использования.
- Создайте журнал изменения метрики: причина, старая и новая формула, затронутые отчёты, проверка и дата перехода.
- Сравните пять вакансий выбранной специализации и спланируйте два проекта. Добавьте проверку SQL и формул, предложенных AI, на дублях, пропусках и пустом фильтре.
Что сохранить
Каталог отчётов, журнал решений и план двух проектов.
Как проверить себя
Для каждого отчёта понятен владелец и способ проверки. Нельзя получить два одинаково названных показателя с разными формулами без пояснения.
Разбор — откройте после своей попытки
Изменение «поступлений» на «прибыль» требует нового источника расходов и нового определения. Переименование меры не создаёт недостающие данные. Специализацию выбирайте по содержанию работы, сохраняя общую основу SQL, моделей и качества.