Рекомендации по повышению производительности в встроенной аналитике Power BI

В этой статье приведены рекомендации по более быстрой отрисовке отчетов, панелей мониторинга и плиток в приложении.

Примечание.

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

Обновление средств и пакетов SDK

Обновляйте инструменты и пакеты SDK.

  • Используйте последнюю версию Power BI Desktop.
  • Установите последнюю версию пакета SDK для клиента Power BI. Мы постоянно выпускаем новые усовершенствования, поэтому обязательно следите за временем.
  • Используйте последнюю версию табличного редактора.

Инициализация внедрения

Предварительная загрузка

Используйте powerbi.preload() для повышения производительности конечных пользователей. Метод powerbi.preload() скачивает JavaScript, css-файлы и другие элементы, которые используются позже для внедрения отчета.

Вызовите powerbi.preload() , если вы не внедряете отчет немедленно. Например, если внедренное содержимое Power BI не отображается на домашней странице, используется powerbi.preload() для скачивания и кэширования элементов, используемых для внедрения содержимого.

Начальная загрузка iFrame

Примечание.

Пакет SDK для клиента Power BI версии 2.9 необходим для загрузки iFrame.

powerbi.bootstrap(element, config) позволяет начать внедрение до того, как будут доступны все необходимые параметры. API начальной загрузки подготавливает и инициализирует iFrame. При использовании API начальной загрузки все еще требуется вызывать powerbi.embed(element, config) один и тот же HTML-элемент.

Например, одним из вариантов использования этой функции является запуск начальной загрузки iFrame и внутренние вызовы внедрения параллельно.

Совет

Используйте API начальной загрузки, когда это возможно, чтобы создать iFrame, прежде чем он отображается для конечного пользователя.

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

Параметры внедрения

Метод powerbi.embed(element, config) получает элемент и параметр конфигурации. Параметр конфигурации включает поля, которые влияют на производительность.

URL-адрес внедрения

Старайтесь не создавать URL-адрес для внедрения самостоятельно. Вместо этого убедитесь, что вы получите URL-адрес внедрения, вызвав получение отчетов, получение панелей мониторинга или API получения плиток . Параметр конфигурации в URL-адресе используется для улучшения производительности.

Разрешения

Предоставьте разрешения на просмотр , если вы не планируете внедрять отчет в режим редактирования. Таким образом, время не тратится на инициализацию компонентов, которые используются только в режиме редактирования.

Фильтры, закладки и срезы

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

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

Переключение между отчетами

При внедрении нескольких отчетов в одно пространство не создавайте новый iFrame для каждого отчета. Вместо этого вставьте новый отчет в тот же iFrame, чтобы перезаписать предыдущий отчет. Используйте powerbi.embed(element, config) другую конфигурацию для внедрения нового отчета.

Примечание.

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

Несколько визуальных элементов

При внедрении нескольких визуальных элементов из одного отчета не создавайте новый iFrame для каждого визуального элемента. Используйте один iFrame для отрисовки отчета с указанными визуальными элементами.

При внедрении нескольких визуальных элементов в один iFrame следует учитывать следующие моменты:

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

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

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

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

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

Кэширование запросов

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

Дополнительные сведения о кэшировании запросов в Power BI.

Измерение производительности

События производительности

Для измерения внедренной производительности можно использовать два события:

  1. Загруженное событие: время, пока отчет не инициализирован (логотип Power BI исчезнет после завершения загрузки).
  2. Событие отрисовки: время, пока отчет не будет полностью отрисован, используя фактические данные. Событие отрисовки запускается каждый раз, когда отчет повторно отрисовывается (например, после применения фильтров). Чтобы измерить отчет, убедитесь, что вы выполняете вычисления при первом поднятом событии.

Кэшированные данные отображаются при наличии, но не создается другое событие.

Дополнительные сведения об обработке событий.

Анализатор производительности

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

Дополнительные сведения о Анализатор производительности.

Примечание.

Всегда не забывайте сравнивать производительность внедренного отчета с производительностью powerbi.com. Это может помочь вам понять источник проблем с производительностью.