Бизнес-аналитика с помощью Power BI

Склейка данных в PowerBI

В материале разобрано подключение Power BI к веб-странице Википедии со списком штатов США и их кодов. Показан путь от выбора источника и загрузки таблицы до очистки строк и столбцов, фильтрации лишних территорий и объединения двух запросов по названию штата. Отдельное внимание уделено типу соединения, переименованию полей, проверке нулевых значений и загрузке подготовленных данных в отчёт.

Основные мысли

В результате изучения лекции слушатель будет способен:
1. Объяснять, как подключить веб-страницу как источник данных в Power BI.
2. Выбирать нужную таблицу в навигаторе и переименовывать запросы.
3. Удалять лишние строки и столбцы в редакторе Power Query.
4. Применять фильтрацию для исключения неподходящих территориальных единиц.
5. Различать операции объединения запросов (Merge Queries) и добавления (Append).
6. Выполнять левое внешнее соединение таблиц по ключевому столбцу.
7. Раскрывать нужные поля из присоединённой таблицы и устранять дублирование.
8. Проверять качество объединения по отсутствию нулевых значений (null).
9. Загружать подготовленные данные в отчёт через «Закрыть и применить» (Close & Apply).
10. Изменять агрегацию по умолчанию для числовых полей.
Показывать лекцию целиком
Краткое изложение

Подключение к веб-источнику

В Power BI можно использовать интернет-страницу как источник данных. Открываем страницу Википедии со списком штатов США и территориальных единиц. Копируем адрес страницы. В Power BI выбираем источник Веб (Web). Вставляем URL, нажимаем ОК, затем Подключиться (Connect).

В окне навигатора отображаются таблицы страницы. Выбираем нужную таблицу и подтверждаем загрузку. Чтобы имена запросов были понятными, переименовываем первую таблицу в Ranking, вторую — в Codes.

Очистка таблицы Codes

Таблица с кодами имеет неудачную структуру: шапка содержит легенду и объединённые столбцы. В Power Query выполняем очистку.

Объединение Ranking и Codes

Для соединения таблиц используем Объединить запросы (Merge Queries). Это горизонтальное соединение по ключу. Не путаем его с Добавить (Append): Append выполняет вертикальное добавление строк, а Группировать (Group By) — агрегацию.

Соединяем таблицу Ranking с таблицей Codes по столбцу State. Выбираем тип соединения Левое внешнее соединение (Left Outer Join): все строки берём из левой таблицы, а из правой подтягиваем совпадения. Уровень доступа к данным — публичный.

После объединения раскрываем поля из Codes. Оставляем только столбец code, потому что states уже есть в левой таблице и его повторное раскрытие создаст дублирование. Проверяем, что в столбце code нет нулевых значений (null). Тип данных должен быть текстовым. Перемещаем столбец code после столбца states.

Загрузка данных

После завершения преобразований нажимаем Закрыть и применить (Close & Apply). Данные загружаются в модель и становятся доступны в окне построения отчётов. В панели полей отображаются таблицы. Нужно проверить агрегацию по умолчанию у числовых полей: Power BI может автоматически применять суммирование, что не всегда подходит для оценок. Благодаря объединению между таблицами сохраняется связь. После этого можно строить отчёт.

Краткие итоги

Подготовка данных в Power BI — это не механическая очистка, а последовательность решений, где каждый шаг уменьшает неопределённость и готовит модель к достоверным связям. Начинается всё с выбора источника: веб-страница удобна для быстрого получения справочной информации, но её таблицы часто имеют визуальную, а не машинную структуру. Поэтому сразу после загрузки важно оценить, какие строки и столбцы действительно являются данными, а какие — заголовками, легендами или служебными элементами.

Удаление лишнего до объединения снижает риск ошибок и упрощает дальнейшую проверку.

Ключевой принцип — сохранять только поля, которые участвуют в анализе или связи. Если справочник содержит разные категории территорий, фильтрация по статусу позволяет отделить целевые объекты от экзотических или служебных записей. При этом фильтр, применённый до удаления столбца, продолжает влиять на результат, что полезно учитывать при отладке. Переименование полей и запросов делает логику прозрачной: по названию видно, где ranking, где codes, а где ключ для соединения.

Объединение таблиц — центральный этап. Горизонтальное соединение по общему ключу добавляет атрибуты к основной таблице, не меняя её гранулярность. Выбор типа соединения зависит от бизнес-вопроса: левое внешнее сохраняет все строки основной таблицы и подтягивает совпадения, а внутреннее оставило бы только пересечение. Проверка отсутствия пустых значений после раскрытия подтверждает качество ключа и отсутствие потерь. Дублирование ключевого поля в обеих таблицах требует аккуратного раскрытия только нужного столбца.

Практическая ценность такого подхода в том, что подготовленный запрос становится воспроизводимым: при обновлении веб-страницы Power BI повторит шаги, а отчёт сохранит структуру. Настройка агрегации по умолчанию важна, чтобы числовые рейтинги не суммировались там, где нужна средняя или последняя величина. В итоге качественная подготовка данных даёт устойчивую основу для визуализации, анализа и принятия решений, а не просто набор таблиц.

Подключение веб-источника

В Power BI можно загрузить данные с интернет-страницы. Для этого копируем URL страницы Википедии со списком штатов США. Выбираем источник Веб (Web), вставляем адрес, нажимаем ОК и Подключиться (Connect). В навигаторе выбираем нужную таблицу. Переименовываем запросы: первый — в Ranking, второй — в Codes.

Очистка таблицы Codes

Таблица кодов имеет плохую структуру: в шапке есть легенда и объединённые ячейки. В Power Query:

Объединение таблиц

Используем Merge Queries — горизонтальное соединение по ключу. Не путаем с Append (вертикальное добавление строк) и Group By (агрегация). Соединяем Ranking и Codes по столбцу State. Тип соединения — Left Outer Join: все строки из левой таблицы, совпадения — из правой. Уровень доступа — публичный.

После Merge раскрываем поля Codes. Оставляем только code, потому что states уже есть в левой таблице. Проверяем: в code нет null, тип данных — текстовый. Перемещаем code после states.

Выводы

1. Веб-страницу можно подключить в Power BI как источник, но её таблицы часто требуют ручной очистки.
2. В Power Query сначала удаляют служебные строки и лишние столбцы, оставляя только значимые поля.
3. Переименование запросов и столбцов упрощает понимание модели и дальнейшую работу.
4. Фильтрация по статусу территории помогает исключить объекты, не входящие в анализ.
5. Фильтр сохраняется даже после удаления столбца, по которому он был задан.
6. Merge Queries выполняет горизонтальное соединение таблиц по ключу.
7. Append отличается от Merge: это вертикальное добавление строк, а не соединение по ключу.
8. Для сохранения всех строк основной таблицы выбирают левое внешнее соединение.
9. После Merge раскрывают только нужные поля, чтобы не дублировать ключ.
10. Отсутствие null в присоединённом поле подтверждает успешное совпадение ключей.
11. Close & Apply загружает подготовленные запросы в модель и отчёт.
12. Агрегацию числовых полей нужно проверять: по умолчанию может применяться суммирование.

Вопросы для самопроверки

1. Зачем перед объединением таблиц удалять служебные строки и лишние столбцы?
2. Как в Power BI выбрать веб-страницу в качестве источника данных?
3. Почему после загрузки веб-таблицы важно проверить её заголовки и структуру?
4. Как фильтрация по статусу территории влияет на состав справочника?
5. Что произойдёт с фильтром после удаления столбца, к которому он был применён?
6. Чем Merge Queries отличается от Append?
7. По какому принципу выбирается ключевой столбец для объединения?
8. В чём разница между левым внешним и внутренним соединением?
9. Почему после Merge не рекомендуется раскрывать все столбцы присоединённой таблицы?
10. Как проверить, что объединение прошло без потери совпадений?
11. Зачем переименовывать запросы и поля в Power Query?
12. Что нужно сделать после завершения преобразований, чтобы данные попали в отчёт?
Вернуться к учебному плану