Поделиться через


Запись запросов диагностика в Power BI

При создании в Power Query базовый рабочий процесс заключается в том, что вы подключаетесь к источнику данных, применяете некоторые преобразования, потенциально обновляете данные в редакторе Power Query, а затем загружаете его в модель Power BI. После того как он находится в модели Power BI, вы можете обновить его от времени до времени в Power BI Desktop (если вы используете desktop для просмотра аналитики), помимо любых обновлений, которые вы делаете в службе.

Хотя вы можете получить аналогичный результат в конце рабочего процесса разработки, обновления в редакторе или обновления в Power BI правильно, очень разные оценки выполняются программным обеспечением для различных пользовательских интерфейсов. Важно знать, что ожидать при выполнении запросов диагностика в этих различных рабочих процессах, чтобы вы не были удивлены очень разными диагностическими данными.

Чтобы запустить диагностику запросов, перейдите на вкладку "Сервис " на ленте редактора Power Query. Вы представлены здесь с несколькими разными вариантами.

Элемент управления диагностика запроса.

Здесь есть два основных варианта: "Шаг диагностики" и "Начать диагностику" (в сочетании с параметром "Остановить диагностику"). Ранее вы получите информацию о запросе до выбранного шага и наиболее полезно для понимания того, какие операции выполняются локально или удаленно в запросе. Последний дает более подробное представление о различных других случаях, рассмотренных ниже.

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

Важно упоминание, что нет способа охватывать все различные перемутации того, что вы увидите в диагностике запросов. Есть много вещей, которые могут изменить именно то, что вы видите в результатах:

  • Соединитель
  • Примененные преобразования
  • Система, в которую вы работаете
  • Сетевая конфигурация
  • Расширенные варианты конфигурации
  • Конфигурация ODBC

Для наиболее широкого охвата эта документация будет сосредоточена на диагностике запросов таблицы "Клиенты Northwind", как в SQL, так и на OData. Примечания OData используют общедоступную конечную точку, найденную на веб-сайте OData.org, в то время как вам потребуется предоставить sql server для себя. Многие источники данных значительно отличаются от этих источников и будут добавлять определенную документацию по соединителю с течением времени.

Запуск и остановка диагностика

"Начать диагностику" и "Остановить диагностику" более широко применимы, чем "Шаг диагностики", но также даст вам много дополнительных сведений, которые потребуется выполнить сортировку. Например, запуск диагностика, обновление предварительной версии, а затем остановка даст эквивалентную информацию для выполнения шага диагностики на каждом шаге (из-за того, как Power Query работает в редакторе для обновления каждого шага независимо).

Чтобы начать запись, выберите "Начать диагностику", выполните все необходимые оценки (создание, предварительная версия обновления, полное обновление) и нажмите кнопку "Остановить диагностику".

Разработка

Основное различие рабочего процесса разработки заключается в том, что обычно он создает больше отдельных вычислений, чем в других рабочих процессах. Как описано в основной статье диагностики запросов, это результат заполнения различных пользовательских интерфейсов, таких как навигатор или раскрывающийся список фильтров.

Мы рассмотрим пример. Мы используем соединитель OData в этом примере, но при просмотре выходных данных мы также рассмотрим версию SQL той же базы данных. Для обоих источников данных мы будем подключаться к источнику данных с помощью "Новый источник", "Последние источники" или "Получить данные". Для подключения к SQL необходимо поместить учетные данные для сервера, но для общедоступной конечной точки OData можно поместить в связанную выше конечную точку.

Подключение OData.

После подключения и выбора проверки подлинности выберите таблицу "Клиенты " из службы OData.

Навигация Northwind.

Вы увидите таблицу "Клиенты" в интерфейсе Power Query. Предположим, что мы хотим знать, сколько представителей продаж есть в разных странах или регионах. Сначала щелкните правой кнопкой мыши представитель по продажам в столбце "Название контакта", наведите указатель мыши на фильтры текста и выберите "Равно".

Примените фильтр текста к заголовку контакта.

Теперь выберите "Группировать по" на ленте и выполните группирование по стране, а агрегирование число.

Применить группу по.

Это должно представить вас с теми же данными, которые вы видите ниже.

 Результаты  .

Наконец, вернитесь на вкладку "Сервис" ленты и выберите "Остановить диагностику". Это приведет к остановке трассировки и сборке файла диагностика, а сводка и подробные таблицы будут отображаться в левой части.

Если вы трассируете весь сеанс разработки, вы обычно ожидаете увидеть что-то подобное оценке исходного запроса, а затем оценки, связанные с соответствующим навигатором, то по крайней мере один запрос, создаваемый для каждого шага (с потенциально большей зависимостью от точных действий пользовательского интерфейса). В некоторых соединителях параллельные оценки будут выполняться по причинам производительности, которые будут давать очень похожие наборы данных.

Просмотр обновления

После завершения преобразования данных у вас есть последовательность шагов в запросе. При нажатии клавиши "Обновить предварительную версию" или "Обновить все" в редакторе Power Query вы не увидите только один шаг в диагностика запроса. Причиной этого является то, что обновление в Редактор Power Query явно обновляет запрос, заканчивающийся последним примененным шагом, а затем выполняет шаги назад с помощью примененных шагов и обновляет запрос до этой точки, вернитесь к источнику.

Это означает, что если в запросе есть пять шагов, включая Source и Navigator, вы увидите пять разных вычислений в диагностика. Первая, хронологическая, часто (но не всегда) занимает самую длинную. Это связано с двумя разными причинами:

  • Возможно, он может кэшировать входные данные, которые выполняются после выполнения запросов (представляющих более ранние шаги в пользовательском запросе) могут получать более быстрый доступ локально.
  • В нем могут быть применены преобразования, которые значительно усечены объем возвращаемых данных.

Обратите внимание, что при обсуждении параметра "Обновить все", что он обновит все запросы, и вам потребуется отфильтровать все нужные запросы.

Полное обновление

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

Применение изменений запроса.

В любом случае выберите "Пуск диагностики" в разделе "Диагностика" вкладки "Сервис" в редакторе. После этого обновите модель или даже таблицу, о которую вы заботитесь.

Обновить таблицу.

После загрузки данных в модель нажмите кнопку "Остановить диагностику".

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

Важно отметить, что только так как вы видите ресурс (базу данных, веб-конечную точку и т. д.) или запрос источника данных в диагностика, это не означает, что это обязательно выполняет сетевое действие. Power Query может получить эти сведения из своего кэша. В будущих обновлениях мы указываем, извлекается ли информация из кэша для упрощения диагностики.

Шаг диагностики

Шаг диагностики более полезен для получения аналитических сведений о том, какие оценки происходят до одного шага, что может помочь вам определить, до этого шага, что такое производительность, а также то, какие части запроса выполняются локально или удаленно.

Если вы использовали "Шаг диагностики" для запроса, созданного выше, вы увидите, что он возвращает только 10 или около того строк, и если мы рассмотрим последнюю строку с запросом источника данных, мы можем получить довольно хорошее представление о том, что наш окончательный созданный запрос к источнику данных будет. В этом случае мы видим, что представитель по продажам был отфильтрован удаленно, но группирование (по процессу ликвидации) произошло локально.

Диагностика таблицы отфильтрованных и группированных клиентов.

Если вы запускаете и останавливаете диагностика и обновляете тот же запрос, мы получаем 40 строк из-за того, что, как упоминание выше, Power Query получает информацию о каждом шаге, а не только на последнем шаге. Это делает его сложнее, когда вы просто пытаетесь получить представление о одной конкретной части запроса.

Дополнительные материалы

Введение в функцию

Дополнительные сведения о чтении и визуализации записанных трассировок

Как понять, какие операции запроса свертываются с помощью диагностики запросов