Урок 4. Извлечение данных
Четвертый урок из курса Максима Уварова «Power Bi для интернет-маркетинга» — извлечение данных из папки с файлами (xls, csv)
Видеолекции
Алгоритм поиска ошибок в запросах Power Query:
- Добавляете шаг «Оставить ошибки»
- Таскаете его между другими шагами, пока не найдете шаг, на котором ошибки появились
- Исправляете ошибку
- Перетаскиваете шаг «Оставить ошибки» в самый конец запроса. Убеждаетесь, что ошибок нет.
- Удаляете шаг «Оставить ошибки»
При добавлении нового шага обработки данных, Power Query обновляет все запросы связанные с текущим запросом полностью. На этапе настройки и отладки массивных запросов это может стать проблемой: округлили числа в столбце до первого знака запятой (например), и ждете 3 минуты, пока все шаги обработки данных выполнятся.
В этом видео я рассказываю как используя функцию Keep Top Rows в начале массивного запроса можно ограничить количество строк — и ускорить обработку на момент отладки запроса, а когда запрос будет готов — чтобы удалить этот ограничивающий шаг.
Домашнее задание
Материалы: папка NFDPBI — v20190728
Создайте новую BI-систему
Распакуйте файлы из архива к домашнему заданию
Скопируйте запрос «CampaignNames» из вашей pbix к 3-ему уроку и вставьте в текущий PBIX файл. Короткое видео как копировать запросы [здесь](https://www.facebook.com/maximuvarov.ru/videos/608365746195970/).
Выключите загрузку запроса «CampaignNames» в модель данных.
Объедините файлы из папки XLS в единый запрос «StatRegionsXls»
Присоедините названия рекламных кампаний из запроса «CampaignNames» к данным запроса «StatRegionsXls».
Приведите все типы данных у столбцов в запросе «StatRegionsXls» в порядок. В случае если понадобится в отдельных столбцах замените ошибки на _null_ при помощи функции «Replace errors»
Создайте запрос «StatRegionsXlsErrorsCheck», который будет ссылаться на запрос «StatRegionsXls», и в котором будет использована функция «Keep Errors». Этот запрос должен быть пустой. Если он не пустой, то в запросе «StatRegionsXls» необходимо избавиться от ошибок и добиться того, чтобы запрос «StatRegionsXlsErrorsCheck» содержал 0 строчек.
В названии рекламных кампаний есть сегменты Network и Region. В кампаниях с сегментом «Network» «Sea» показы должны быть только на поиске, с сегментом «Net» — только в партнерской сети. В кампаниях с сегментом «Region» «Msk_mo» должны быть показы только в Москве и Московской области, «Spb» — только в Питере и Ленинградской области, в «all» — во всей РФ, кроме Москвы, Московской области, Питера и Ленинградской области.
Имея это в памяти, выполните следующие задания.
Создайте запрос «ErrorsNetworkInSeaCampaigns», который будет ссылаться на запрос «StatRegionsXls» — в котором должны быть только столбцы с уникальными id рекламных кампаний, их полными названиями, значениями столбца из запроса «StatRegionsXls» «Тип площадки» и Суммарное значение по полю «Показы». В запросе должны быть данные по рекламным кампаниям с сегментом «Sea» которые имеют показы в партнерской сети.
Создайте запрос «ErrorsSearchInNetCampaigns», который будет ссылаться на запрос «StatRegionsXls» — в котором должны быть только столбцы с уникальными id рекламных кампаний, их полными названиями, значениями столбца из запроса «StatRegionsXls» «Тип площадки» и Суммарное значение по полю «Показы». В запросе должны быть данные по рекламным кампаниям с сегментом «Net» которые имеют показы на поиске.
Создайте запросы «ErrorsRegionMsk_mo», «ErrorsRegionSpb», «ErrorsRegionAll» , которые будут ссылаться на запрос «StatRegionsXls», в которых найдите рекламные кампании с ошибочным таргетингом. В запросе «ErrorsRegionMsk_mo» должны быть кампании, которые имеют показы в регионах кроме Москвы и Московской области, в запросе «ErrorsRegionSpb» должны быть кампании, которые имеют показы в регионах кроме Санкт-Петербурга и Ленинградской области, в запросе «ErrorsRegionAll» должны быть кампании с показами в Москве, Московской области, Санкт-Петербурге и Ленинградской областях. В таблицах должны быть только столбцы с уникальными id рекламных кампаний с неправильным таргетингом и их полными названиями.
Желательно сделать это алгоритмически а не вручную выбирая ошибочные регионы. Но если алгоритмически не получается — делайте вручную. Этот пункт сложный. Как делать — думайте сами. Если не сделаете — не страшно. Если сделаете — опишите в комментариях к сданной работе, какой алгоритм вы выдумали.
Создайте визуализации «таблица» на каждый из запросов «ErrorsNetworkInSeaCampaigns», «ErrorsSearchInNetCampaigns», «ErrorsRegionMsk*mo», «ErrorsRegionSpb», «ErrorsRegionAll» и выведите там все поля из таблиц. Обратите внимание, что эти визуализации могут быть пустыми, т. к. Не везде есть ошибки.
В Dax, в таблице «StatRegionsXls» создайте меры «средняя позиция показов взвешенная» — взвешенной на показы, и «средняя позиция кликов взвешенная» взвешенная на клики.
Отформатируйте меры «*Средняя позиция показов взвешенная» и «*Средняя позиция кликов взвешенная» как десятичные числа с округлением до второго знака после запятой.
Создайте визуализацию «Таблица» в которой будут столбцы «Region» (из названия рекламной кампании), «Сумма кликов», «Сумма показов», «*Средняя позиция показов взвешенная» и «_Средняя позиция кликов взвешенная»