Отчеты PowerBI работают медленно в режиме DirectQuery - PullRequest
0 голосов
/ 01 марта 2020

У меня есть мощный отчет по финансам. Пользователи должны видеть последние данные в режиме реального времени, поэтому я должен выбрать DirectQuery. Но в этом режиме некоторые функции, такие как DateAdd и DatesMtd, использовать нельзя ( Эта функция DAX не поддерживается для использования в режиме DirectQuery .),
Поэтому мне нужно написать очень сложный SQL оператор для достижения эквивалентного эффекта, но это делает отчет очень медленным (более 10 секунд) при каждом запуске, и самая большая таблица в моей модели данных составляет менее 80000 строк. Я пытался оптимизировать операторы SQL, но это не помогает. Любое решение?

(я использую сервер отчетов powerbi с корпоративной версией sqlserver)

Ответы [ 2 ]

0 голосов
/ 02 марта 2020

Для PBIRS я бы предпочел, чтобы вы видели эту статью , вы можете сослаться на код в этой статье на SQL Сервер, так как данные будут обновляться только при его изменении, так что таким образом вы будете быть в состоянии использовать режим импорта вместо DirectQuery. И конечно, использование Power BI Performance Analyzer очень поможет.

Удачи!

0 голосов
/ 01 марта 2020

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

  1. Анализатор производительности PowerBI: скажу вам, какую часть занимает больше всего времени. Для получения дополнительной информации см. MSDocs & SQLBI
  2. Проверьте модель данных и режим хранения каждой задействованной таблицы (ie: таблица фактов, календарь, клиент и т. д. c). При запросе источника PBI не будет использовать фильтры (непосредственно в запросе) из таблиц в режиме импорта. (поиск "составных моделей" в Интернете)
  3. Ограничение количества объектов, для каждого объекта в панели мониторинга запрос будет отправлен к источнику данных, что может помочь ограничению числа объектов. (помните, что объекты ждут друг друга, поэтому одна медленная загрузка объекта может вызвать вашу проблему)
  4. (даже если вы, вероятно, уже сделали это) Посмотрите план выполнения запросов, вы также можете проверить его на наличие запросов автоматически создается PowerBI путем их захвата (самый простой способ - использовать SQL Server Profiler )

Я думаю, что только с помощью PowerBI Performance Analyzer вы сможете увидеть где проблема, а затем выполните более точный поиск по ней.

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