Просматривать производительность измерений, связей и визуальных элементов
Если в семантическом модели имеется несколько таблиц, сложные связи, сложные вычисления, несколько визуальных элементов или избыточные данные, существует вероятность плохой производительности отчетов. Плохая производительность отчета приводит к отрицательным впечатлениям пользователей.
Чтобы оптимизировать производительность, необходимо сначала определить, откуда возникает проблема; другими словами, выясните, какие элементы отчета и семантической модели вызывают проблемы с производительностью. Впоследствии можно предпринять действия для решения этих проблем и, следовательно, повысить производительность.
Определение "узких мест" в производительности отчета
Для достижения оптимальной производительности в отчетах необходимо создать эффективную семантический модель с быстро выполняемыми запросами и измерениями. При наличии хорошей основы можно дополнительно совершенствовать модель, анализируя планы и зависимости запросов, а затем внося изменения для дальнейшей оптимизации производительности.
Следует рассмотреть меры и запросы в вашей семантической модели, чтобы убедиться, что используется наиболее эффективный способ получения нужных результатов. Отправная точка должна выполняться для определения "узких мест", которые существуют в коде. При определении самого медленного запроса в семантической модели можно сначала сосредоточиться на самом большом узком месте и определить список приоритетов для работы с другими вопросами.
Анализ производительности
Анализатор производительности можно использовать , Power BI Desktop чтобы узнать, как работает каждый из элементов отчета при взаимодействии с ними пользователей. Например, можно определить, как долго должно обновляться конкретное визуальное представление, инициируемое взаимодействием пользователя. Анализатор производительности поможет определить элементы, способствующие возникновению проблем с производительностью, что может быть полезно при устранении неполадок.
Прежде чем запустить анализатор производительности, чтобы убедиться в том, что анализ подтверднее всего подтверднее, что необходимо получить точные результаты анализа (тестирования), необходимо начать с чистой визуальной кэш-памяти и чистой кэш-памяти модуля данных.
Визуальный кэш — при загрузке визуального кэша невозможно очистить этот визуальный кэш, не закрыв Power BI Desktop и не открыв его снова. Чтобы избежать кэширования в игре, необходимо начать анализ с чистого визуального кэша.
Чтобы убедиться, что имеется чистая визуальная кэш-память, добавьте пустую страницу в Power BI Desktop файл (.pbix) и затем, выбрав эту страницу, сохраните и закройте файл. Повторно откройте Power BI Desktop файл (.pbix), который требуется проанализировать. Он откроется на пустой странице.
Кэш процессора данных — при выполнении запроса результаты кэшируются, поэтому результаты анализа будут вводить в заблуждение. Перед повторным началом визуального запуска необходимо очистить кэш данных.
Чтобы очистить кэш данных, можно либо перезапустить Power BI Desktop , либо подключить DAX Studio к семантической модели, а затем вызвать "Очистить кэш".
После очистки кэша и открытия файла на пустой Power BI Desktop странице перейдите на вкладку "Вид" и выберите параметр " Анализатор производительности".
Чтобы начать анализ, установите флажок " Начать запись", выберите страницу отчета, которую требуется проанализировать, и взаимодействуйте с элементами отчета, для которого требуется выполнить измерение. Результаты взаимодействия отображаются в области анализатора производительности во время работы. По завершении нажмите кнопку Стоп .
Дополнительные сведения см. в разделе "Использование анализатора производительности", чтобы проверить производительность элементов отчета.
Проверка результатов
Результаты теста производительности можно просмотреть в области анализатора производительности. Чтобы просмотреть задачи в порядке их продолжительности, от самой длительности до самого короткого, щелкните правой кнопкой мыши значок "Сортировка " рядом с заголовком столбца "Продолжительность", а затем выберите " Общее время в порядке убывания ".
Данные журнала для каждого визуальных элементов показывают, сколько времени (продолжительность) потребовалось для выполнения следующих категорий задач:
Запрос DAX — время, необходимое для отправки запроса визуальным модулем, а также время, необходимое службам Analysis Services на возврат результатов.
Визуальное отображение — время, требуемое для визуализации на экране, включая время, необходимое для извлечения веб-изображений или геокодинга.
Другое - время, необходимое визуальным представлением для подготовки запросов, ожидания выполнения других визуальных элементов или выполнения других задач фоновой обработки. Если в этой категории отображается длинная продолжительность, единственным реальным способом уменьшить эту продолжительность является оптимизация запросов DAX для других визуальных элементов или уменьшение количества визуальных элементов в отчете.
Результаты аналитической проверки помогают понять поведение семантической модели и определить элементы, необходимые для оптимизации. Можно сравнить продолжительность каждого элемента в отчете и определить элементы, которые имеют долгую продолжительность. Следует сосредоточиться на этих элементах и выяснить, почему их загрузка на странице отчета занимает столько времени.
Для более подробного анализа ваших запросов вы можете использовать DAX Studio, бесплатный инструмент с открытым исходным кодом, предоставляемый другой службой.
Устраняйте проблемы и оптимизируйте производительность
В результате анализа будут определены области улучшения и возможности для оптимизации производительности. Может возникнуть необходимость в улучшении визуальных элементов, запроса DAX или других элементов семантической модели. Ниже приведены сведения о том, что искать и какие изменения можно вносить.
Визуальные элементы
При идентификации визуальных элементов в качестве узкого места, приведущего к ухудшению производительности, следует найти способ повысить производительность с минимальным влиянием на взаимодействие с пользователями.
Примите во внимание количество визуальных элементов на странице отчета; меньшее количество визуальных эффектов означает лучшую производительность. Спросите себя, действительно ли визуальный элемент необходим и добавляет ли он ценность конечному пользователю. Если ответ "нет", вы должны удалить это визуально. Вместо использования нескольких визуальных элементов на странице рассмотрите другие способы предоставления дополнительных сведений, таких как страницы детализации и подсказки страницы отчета.
Проверьте количество полей в каждом визуальном элементе. Чем больше визуальных элементов в отчете, тем выше вероятность проблем с производительностью. Кроме того, чем больше визуальных эффектов, тем больше отчет может выглядеть переполненным и терять ясность. Верхний предел для визуальных элементов — 100 полей (измерений или столбцов), поэтому загрузка визуальных элементов с более чем 100 полями будет медленной. Спросите себя, действительно ли вам нужны все эти данные в визуальном виде. Может оказаться, что можно уменьшить количество используемых в настоящее время полей.
Запрос DAX
При проверке результатов в области анализатора производительности можно увидеть, сколько времени потребовалось Power BI Desktop двигателю для оценки каждого запроса (в миллисекунах). Хорошей начальной точкой является любой запрос DAX, который занимает больше 120 миллисекуд. В этом примере определяется один конкретный запрос, имеющий большое время длительности.
Анализатор производительности подчеркивает потенциальные проблемы, но не сообщает, что необходимо сделать для их улучшения. Возможно, вы захотите провести дальнейшее расследование причин, по которым эта мера так долго обрабатывается. Используйте DAX Studio для детального изучения ваших запросов.
Например, выберите параметр "Копировать запрос" , чтобы скопировать формулу расчета в буфер обмена, а затем вставить ее в Dax Studio. Затем можно просмотреть расчетную шаг более подробно. В этом примере пытается подсчитать общее число продуктов с количествами по заказу больше или равным пяти.
Count Customers =
CALCULATE (
DISTINCTCOUNT ( Order[ProductID] ),
FILTER ( Order, Order[OrderQty] >= 5 )
)
После анализа запроса вы можете использовать свои собственные знания и опыт, чтобы определить, где находятся проблемы с производительностью. Можно также попытаться использовать различные функции DAX, чтобы убедиться, что они повышают производительность. В следующем примере функция FILTER была заменена функцией KEEPFILTER. При повторном запуске теста в анализаторе производительности в результате использования функции KEEPFILTER продолжительность теста была меньше.
Count Customers =
CALCULATE (
DISTINCTCOUNT ( Order[ProductID] ),
KEEPFILTERS (Order[OrderQty] >= 5 )
)
В этом случае функцию FILTER можно заменить функцией KEEPFILTER, чтобы значительно сократить продолжительность оценки для этого запроса. При внесении этого изменения, чтобы проверить, улучшилось ли время продолжительности, очистите кэш данных и повторно запустите процесс анализатора производительности.
Семантическая модель
Если продолжительность измерений и визуальные элементы отображают низкие значения (т.е. они имеют короткое время продолжительности), они не являются причиной проблем с производительностью. Вместо этого, если запрос DAX отображает высокое значение продолжительности, скорее всего, мера записана плохо или возникла проблема с семантической моделью. Проблема может быть вызвана связями, столбцами или метаданными в модели, либо статусом параметра "Авто" даты/времени , как описано в следующем разделе.
Отношения
Вы должны проверить отношения между таблицами, чтобы убедиться, что вы установили правильные отношения. Проверьте, что свойства кардиналичности отношений настроены правильно. Например, односторонний столбец, содержащий уникальные значения, может быть неправильно настроен как многоуровневый столбец. Позже в этом модуле вы узнаете, как кардинальность влияет на производительность.
Столбцы
Рекомендуется не импортировать столбцы данных, которые не требуются. Чтобы избежать удаления столбцов в Power Query редакторе, старайтесь работать с ними у источника при загрузке данных в Power BI Desktop. Однако если удалить лишние столбцы из исходного запроса невозможно или данные уже были импортированы в исходном состоянии, то для изучения каждого из столбцов всегда можно воспользоваться Power Query редактором. Спросите себя, действительно ли вам нужен каждый столбец и попытаться определить преимущество, которое каждый из них добавляет к вашей семантической модели. Если вы обнаружите, что столбец не добавляет значения, следует удалить его из семантической модели. Например, предположим, что имеется столбец кода с тысячами уникальных строк. Вы знаете, что этот конкретный столбец в отношениях использовать не будет, поэтому он не будет использоваться в отчете. Поэтому следует считать этот столбец ненужным и признать, что в вашей семантической модели он тратит пространство.
При удалении ненужных столбцов уменьшается размер семантической модели, что, в свою очередь, приводит к уменьшению размера файла и более быстрому обновлению времени. Кроме того, поскольку семантическая модель содержит только соответствующие данные, будет повышена общая производительность отчета.
Дополнительные сведения см. в разделе Методы сокращения данных для моделирования импорта.
Метаданные
Метаданные представляют собой информацию о других данных. Power BI Метаданные содержат сведения о семантической модели, такие как имя, тип данных и формат каждого из столбцов, схема базы данных, макет отчета, время последнего изменения файла, скорость обновления данных и многое другое.
При загрузке данных Power BI Desktop рекомендуется проанализировать соответствующие метаданные, чтобы выявить любые несоответствия в семантической модели и нормализовать данные до начала построения отчетов. Выполнение анализа ваших метаданных повысит производительность семантических моделей, поскольку при анализе метаданных будут выявлены ненужные столбцы, ошибки в данных, неправильные типы данных, объем загружаемых данных (большие семантические модели, включая данные о транзакциях или прошлые данные, потребует больше времени загрузки) и многое другое.
Можно использовать Power Query редактор для Power BI Desktop просмотра столбцов, строк и значений необработанных данных. После этого вы можете использовать доступные инструменты, такие как те, которые выделены на следующем снимок экрана, для выполнения необходимых изменений.
Возможные Power Query варианты:
Ненужные столбцы — оценивается потребность в каждом столбце. Если один или несколько столбцов не будут использоваться в отчете и поэтому не нужны, их следует удалить, используя параметр "Удалить столбцы " на вкладке "Домашняя страница ".
Ненужные строки — проверяет первые несколько строк в семантической модели, чтобы увидеть, являются ли они пустыми или содержат данные, не нужные в отчетах; если да, удаляются эти строки с помощью функции «Удалить строки » на вкладке «Домашняя страница ».
Тип данных — оценивает типы данных столбцов, чтобы убедиться, что они верны. Если идентифицировать тип данных некорректно, измените его, выбрав столбец, выбрав тип данных на вкладке "Преобразование ", а затем выбрав в списке правильный тип данных.
Имена запросов — проверяет имена запроса (таблицы) в области запросов . Так же, как это было с именами заголовков столбцов, следует изменить необычные или бесполезные имена запросов на имена, которые являются более очевидными или именами, с которыми пользователь более знаком. Запрос можно переименовать, щелкнув его правой кнопкой мыши, выбрав команду "Переименовать", при необходимости отредактируя имя и нажав клавишу Ввод.
Столбец details-Editor Power Query имеет следующие три параметра предварительная версия данных, которые можно использовать для анализа метаданных, связанных со столбцами. Вы можете найти эти параметры на вкладке Вид , что иллюстрируется на следующем снимок экрана.
Качество столбца — определяет, какой процент номенклатур в столбце является допустимым, имеют ошибки или пустыми. Если значение "Допустимо" не равно 100, следует исследовать причину, исправить ошибки и заполнить пустые значения.
Распределение столбцов — отображает частоту и распределение значений в каждом столбце. Далее в этом модуле вы изучите эту информацию.
Профиль столбца — отображение диаграммы статистики столбцов и диаграммы распределения столбцов.
Примечание
При просмотре большой семантической модели, содержашей более 1000 строк, и требуется проанализировать всю семантикумическую модель, необходимо изменить параметр по умолчанию в нижней части окна. Выбор профилирования столбцов на основе верхних 1000 строк Профилирование столбцов>на основе всего набора данных.
Другими метаданными, которые следует учитывать, являются сведения о семантической модели в целом, такие как размер файла и скорость обновления данных. Эти метаданные можно найти в связанном Power BI Desktop файле (.pbix). Загружаемые данные Power BI Desktop сжимаются и хранятся на диске механизмом хранения VertiPaq. Величина вашей семантической модели непосредственно влияет на ее производительность; более семантическая модель меньшего размера использует меньше ресурсов (памяти) и позволяет быстрее обновлять данные, ускорять расчеты и визуализацию визуальных элементов в отчетах.
Автоматическая функция даты/времени
Другим элементом, который следует учитывать при оптимизации производительности, является параметр "Авто дата/время " в Power BI Desktop. По умолчанию эта функция включена глобально, что Power BI Desktop означает автоматическое создание скрытой расчетной таблицы для каждого столбца дат при соблюдении определенных условий. Новые скрытые таблицы являются дополнением к тем таблицам, которые уже есть в семантической модели.
Параметр & quot;Авто дата/время " позволяет работать с аналитикой времени при фильтрации, группировке и детализации календарных периодов времени. Рекомендуется оставить включенным параметр "Авто дата/время" ; только при работе с календарными периодами времени и при наличии упрощенных требований к модели, связанных со временем.
Если источник данных уже определяет таблицу аналитик дат, эта таблица должна использоваться для последовательного определения времени в организации, а также отключить глобальный параметр авто даты/времени . Отключение этого параметра может снизить размер семантической модели и сократить время обновления.
Эту функцию автодаты/времени можно глобально включить/выключить , чтобы он распространялось на все Power BI Desktop ваши файлы, либо включить/отключить параметр для текущего файла, чтобы он был применен только к отдельному файлу.
Чтобы включить/отключить этот параметр автодаты/времени , перейдите к разделу Параметры файла>и параметры параметров>, а затем выберите страницу "Глобальный " или "Текущий файл ". На любой из страниц выберите " Загрузка данных", а затем в разделе "Аналитика времени" установите или, при необходимости, снимите флажок.
Обзор и общее введение к функции "Авто дата/время " см. в разделе Применение автоматической даты/времени Power BI Desktop.