Перейти к содержимому

Крис Уэбб. Устранение неполадок с обновлением веб-службы в Power BI с помощью функции диагностики Power Query

Это перевод статьи Криса Уэбба, дополненный моими комментариями с использованием Chat GPT (набраны с отступом). Повествование ведется от первого лица (Криса).

Ранее я писал в блоге о том, как устранять проблемы с обновлением веб-службы с помощью стороннего инструмента под названием Fiddler. Информация по-прежнему актуальна, но Fiddler — сложный инструмент. Установить его и дать правильные разрешения для просмотра всего, что ему нужно, непросто. К счастью, новая функция диагностики Power Query в Power BI (выпущенная в октябре 2019 г.) означает, что вам больше не нужно использовать Fiddler для такого рода работы. Полная информация о том, как использовать эту функцию, приведена здесь, но я подумал, что было бы полезно сосредоточиться на одном конкретном варианте ее использования.

Функция диагностики в Excel на момент публикации перевода не доступна.

Рис. 1. Запрет скачивания в фоновом режиме

Скачать заметку в формате Word или pdf, примеры в формате Excel и архив с вложенным файлом Power BI Desktop

Возьмем в качестве примера один из запросов Power Query из моего более раннего поста:

Запрос 1[1]

Это общедоступная веб-служба, которая не требует аутентификации, поэтому вы сможете выполнить этот запрос у себя на ПК.

Запрос подключается к API OData парламента Великобритании и возвращает таблицу правительственных организаций, отфильтрованную по строке, для которой в столбце GroupName будет найден текст "Cabinet Office". Какие запросы выполняются к веб-службе в процессы выполнения Запроса 1?

Первое, на что следует обратить внимание, это то, что в зависимости от того, обновляете ли вы окно предварительного просмотра в редакторе Power Query или обновляете набор данных в главном окне Power BI, будут происходить разные вещи. Если вы выполняете настройку производительности, следует игнорировать то, что происходит при обновлении предварительного просмотра в редакторе Power Query, и всегда обновлять запрос из главного окна Power BI.

Во-вторых, при обновлении набора данных (или таблицы в наборе данных) из главного окна Power BI вы можете обнаружить, что в результате фонового обновления выполняется больше работы, чем вы ожидаете. Это может замедлить работу – потенциально очень сильно, если есть много запросов и шагов. В окне Power BI Desktop пройдите Файл –> Параметры и настройки –> Параметры. В разделе Текущий файл перейдите на вкладку Загрузка данных и снимите флажок Разрешить скачивание в фоновом режиме для предварительного просмотра данных (см. рис. 1).

После этого выполните следующие действия, чтобы узнать, какие запросы выполняются к веб-службе при выполнении Запроса 1.

Во-первых, позвольте запросу загрузить данные в набор данных, как обычно, не делая ничего другого. Таблица, в которую запрос загрузил данные, отобразится в области Данные главного окна Power BI:

Рис. 2. Загруженная по Запросу 1 таблица данных

Затем снова откройте окно редактора Power Query, перейдите на вкладку Инструменты и нажмите Начать диагностику

Рис. 3. Начать диагностику

Возможно, после запуска диагностики появится окно с предупреждением, что вам нужны права администратора. Проверьте в окне Параметры, ваши настройки диагностики:

Рис. 3а. Окно Параметры диагностики

По умолчанию включена опция, требующая запуска Power BI от имени администратора. Вы можете изменить эту опцию. Правда, я не тестировал, к чему это приведет. Я же просто вышел из файла и запустил Power BI от имени администратора. Для этого кликните кнопку Пуск Windows, найдите программу Power BI Desktop и выберите опцию Запуск от имени администратора. Для этого, естественно, у вас должны быть на это права на вашем ПК.

Рис. 3б. Запуск Power BI Desktop от имени администратора

Больше ничего не делайте в окне редактора Power Query. Сверните его (не закрывайте), вернитесь в главное окно Power BI. На панели Данные найдите таблицу, содержащую результат Запроса 1, щелкните на ней правой кнопкой мыши и выберите Обновить данные:

Рис. 4. Обновить данные

Вернитесь в окно редактора Power Query и нажмите кнопку Остановить диагностику. Вы увидите новые запросы, созданные в группе Диагностика:

Рис. 5. Новые запросы в группе Диагностика

Эти запросы содержат диагностические сведения для только что выполненного обновления. Запрос со словом Detailed содержит подробную информацию. Другие запросы содержат обобщенные данные.

В запросе Detailed каждая строка представляет собой одну операцию, которая выполняется в подсистеме Power Query, когда идет обновление, и хотя я не знаю, что все это означает (я работаю над этим!), если вы перейдете в столбец Data Source Query (запрос источника данных), вы увидите список всех HTTP-запросов, сделанных к веб-службе:

Рис. 6. HTTP-запросы, сделанные к веб-службе

Щелчок по отдельной ячейке в этом столбце позволяет увидеть полный текст запроса и ответа, на панели предварительного просмотра под панелью результатов:

Рис. 7. Запрос и ответ на панели предварительного просмотра

Хотя Fiddler по-прежнему может потребоваться для некоторых более сложных сценариев, здесь описан гораздо более простой способ устранения неполадок с источниками данных веб-служб в редакторе Power Query. Например, когда необходимо проверить сделанный запрос, чтобы узнать, происходит ли свертывание запросов в источнике данных OData.

[1] Номер соответствует запросу в приложенном Excel-файле. – Прим. Багузина

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *