Оптимизация моделей DirectQuery при помощи хранения на уровне таблицы

Завершено

Одним из способов получения данных является DirectQuery Power BI Desktop. Метод DirectQuery предусматривает подключение непосредственно к данным в исходном репозитарии изнутри Power BI Desktop. Это альтернатива импорту данных в Power BI Desktop.

При использовании метода DirectQuery общее взаимодействие пользователя в значительной степени зависит от производительности основного источника данных. Медленные ответ времени запросы приведут к отрицательным ситуациям с пользователем, и в худшем случае запросы могут закрыться. Кроме того, количество пользователей, открывающих отчеты в любой момент времени, оказывает влияние на нагрузку, нагрузку на источник данных. Например, если в отчете имеется 20 визуальных элементов, а отчет используется 10 человек, в источнике данных будет существовать 200 запросов или более, поскольку каждый визуальный элемент будет выдавать один или несколько запросов.

К сожалению, на производительность Power BI модели влияет не только производительность основного источника данных, но и другие неконтролируемые факторы, такие как:

  • задержка в сети; быстрее сети возвращают данные.

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

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

Дополнительные сведения см. в разделе руководства по модели DirectQuery в разделе Power BI Desktop.

Последствия использования DirectQuery

Рекомендуется импортировать в нее данные Power BI Desktop, но организации, возможно, придется использовать режим подключения к данным DirectQuery по одной из следующих причин (преимущества DirectQuery):

  • Она подходит в случаях, когда данные изменяются часто и требуются отчеты, близкие к реальному времени.

  • Он может обрабатывать большие данные без предварительной агрегации.

  • Он применяет ограничения суверенитета данных для соблюдения правовых требований.

  • Он может использоваться с многомерным источником данных, содержащим такие измерения, как SAP Business Warehouse (BW).

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

Поведение подключений DirectQuery

При использовании DirectQuery для подключения к данным, Power BI Desktop которое ведет себя следующим образом:

  • При первоначальном использовании функции "Получить данные " Power BI Desktop будет выбран источник. При подключении к реляционному источнику можно выбрать набор таблиц, и каждая из них будет определять запрос, который логически возвращает набор данных. Если выбран многомерный источник, такой как SAP BW, можно выбрать только этот источник.

  • Когда вы загружаете данные, данные не импортируются в систему Power BI Desktop, а загружается только схема. При создании визуальных элементов Power BI Desktop запросы отправляются к основному источнику для получения необходимых данных. Время, требуемое для обновления визуальных элементов, зависит от производительности основного источника данных.

  • Если изменения вносятся в нижележащие данные, из-за кэширования они не сразу отражаются в Power BI существующих визуальных элементах. Чтобы увидеть эти изменения, вам нужно обновить информацию. Необходимые запросы присутствуют для каждого визуальных элементов, и визуальные элементы соответствующим образом обновляются.

  • Когда отчет будет опубликован в службе, это приведет к Power BI возникновению семантической модели на Power BI сервисе, так же, как и для импорта. Однако данные по этой семантической модели включены не были.

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

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

Ограничения подключений DirectQuery

Использование DirectQuery может иметь отрицательные последствия. Ограничения зависят от конкретного используемого источника данных. Следует учесть следующие моменты:

  • Производительность — как уже говорилось ранее, общий опыт пользователя в значительной степени зависит от производительности основного источника данных.

  • Безопасность — при использовании нескольких источников данных в модели DirectQuery важно понимать, как данные перемещаются между основными источниками данных и как это влияет на безопасность. Кроме того, необходимо определить, применимы ли правила безопасности к данным в основном источнике, Power BI поскольку эти данные могут видеть каждый пользователь.

  • Преобразование данных - по сравнению с импортированными данными данные, которые поступают из DirectQuery, имеют ограничения по применению методов преобразования данных в Power Query редакторе. Например, при подключении к источнику OLAP, такому как SAP BW, невозможно выполнить никакие преобразования вообще; вся внешняя модель будет взята из источника данных. Если требуется выполнить какие-либо преобразования данных, необходимо будет выполнить это в основном источнике данных.

  • Моделирование — при использовании DirectQuery некоторые возможности моделирования, которые имеются при импортируемых данных, недоступны или ограничены.

  • Отчеты - почти все возможности отчетности, имеющиеся у пользователей с импортированными данными, также поддерживаются для моделей DirectQuery при условии, что основной источник обеспечивает подходящий уровень производительности. Однако при публикации отчета в сервисе Power BI функции быстрого анализа и контроля качества не поддерживаются. Кроме того, использование функции "Обзор" в Excel, скорее всего, приведет к ухудшению производительности.

Дополнительные сведения об ограничениях использования DirectQuery см. в разделе Последствия использования DirectQuery.

Теперь, когда вы имеете краткое представление о работе DirectQuery и о его ограничениях, вы можете предпринять действия для повышения производительности.

Оптимизация производительности

Продолжая сценарий Tailwind Traders, при обзоре семантической модели вы обнаружите, что для подключения Power BI Desktop к исходным данным запрос использовал DirectQuery. Такое использование DirectQuery является причиной низкой производительности отчетов пользователей. Загрузка страниц отчета занимает слишком много времени, а таблицы не обновляются достаточно быстро при выборе. Необходимо предпринять действия для оптимизации производительности модели DirectQuery.

Можно изучить запросы, отправляемые к основному источнику, и попытаться определить причину низкой производительности запроса. Затем можно внести изменения в Power BI Desktop основной источник данных для оптимизации общей производительности.

Оптимизация данных в Power BI Desktop

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

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

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

Более подробное руководство по оптимизации запроса DirectQuery см. в разделе: Руководство по модели DirectQuery и Power BI Desktop руководство для успешного использования DirectQuery.

Оптимизация основного источника данных (подключенной базы данных)

Первой остановкой будет источник данных. Необходимо максимально настроить исходную базу данных, так как все, что делается для повышения производительности исходной базы данных, в свою очередь, улучшает значение Power BI DirectQuery. Наиболее полезны будут выполняемые вами действия в базе данных.

Рассмотрим использование следующих стандартных методов работы с базами данных, которые применяются в большинстве ситуаций:

  • Избегайте использования сложных вычисляемых столбцов, поскольку расчетное выражение будет встроено в исходные запросы. Рекомендуется возвращать выражение обратно к источнику, поскольку оно избегает нажатия вниз. Можно также рассмотреть вопрос о добавлении суррогатных столбцов ключей в таблицы типа измерений.

  • Просмотрите индексы и убедитесь, что текущая индексация правильна. Если необходимо создать новые индексы, убедитесь, что они соответствуют их требованиям.

Ознакомьтесь с документами руководства для источника данных и ознакомьтесь с их рекомендациями по эффективности.

Настройка параметров сокращения запросов

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

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

Доступны следующие параметры сокращения запросов:

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

  • Срезы . По умолчанию выбирается параметр "Мгновенно применить изменения ломтика". Чтобы заставить пользователей отчетов вручную применять изменения разрезов, установите переключатель в положение "Добавление кнопки применения к каждому разрезу" для применения изменений при готовности .

  • Фильтры — по умолчанию выбран параметр "Мгновенно применить базовые изменения фильтра". Чтобы заставить пользователей отчетов вручную применять изменения фильтров, выберите один из альтернативных вариантов:

    • Добавление кнопки применения ко всем базовым фильтрам для применения изменений, когда это готово

    • Добавление одной кнопки применения в панель фильтра для одновременного применения изменений (предварительная версия)