Идеи материализации кэшей данных в DAX Studio

Идеи материализации кэшей данных в DAX Studio

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

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

Оглавление

Ранняя материализация

Ранняя материализация — это когда количество материализованных строк превышает количество строк, необходимых для вывода.

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

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

Ранняя материализация может быть вызвана наличием сложных соединений или отношениями «многие ко многим» в ваших моделях данных. Это также может быть вызвано наличием сложных фильтров или итераторов.

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

Поздняя материализация

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

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

Это примеры запросов ранней и поздней материализации:

Идеи материализации кэшей данных в DAX Studio

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

Идеи материализации кэшей данных в DAX Studio

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

Если вы запустите запрос Early Materialization, вы увидите, что общее время, которое потребовалось, составляет 9485 миллисекунд. Он сгенерировал один кэш данных и вывел одну строку, но вернул 25 миллионов строк.

Идеи материализации кэшей данных в DAX Studio

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

Если вы запустите запрос «Поздняя материализация», вы увидите, что весь расчет занял всего 1340 миллисекунд. Он также сгенерировал 2 кеша данных, каждый из которых возвращает 5003 строки.

Идеи материализации кэшей данных в DAX Studio

Если вы посмотрите на план физических запросов, вы увидите 5000 строк. У них не одинаковое количество строк. Иногда результат серверного тайминга будет немного отличаться от точного количества строк в плане запроса.

Идеи материализации кэшей данных в DAX Studio

Таким образом, после работы с одним кэшем данных с 25 миллионами строк у вас теперь есть два кэша данных с 5003 строками. Вот почему работа с Поздней Материализацией дает более быстрые результаты, чем с Ранней Материализацией.

Внутри каждого запроса материализации

Просто взглянув на запрос, вы уже можете видеть, что более поздняя материализация выполняется быстрее. Запрос Early Materialization подсчитывает строки сводной таблицы.

Идеи материализации кэшей данных в DAX Studio

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

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


Что такое DAX Studio в LuckyTemplates Desktop
Учебное пособие по DAX: контекст и механизм расчета
в LuckyTemplates: советы и методы оптимизации

Заключение

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

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


Что такое self в Python: примеры из реального мира

Что такое self в Python: примеры из реального мира

Что такое self в Python: примеры из реального мира

Как сохранить и загрузить файл RDS в R

Как сохранить и загрузить файл RDS в R

Вы узнаете, как сохранять и загружать объекты из файла .rds в R. В этом блоге также рассказывается, как импортировать объекты из R в LuckyTemplates.

Новый взгляд на первые N рабочих дней — решение для языка кодирования DAX

Новый взгляд на первые N рабочих дней — решение для языка кодирования DAX

В этом руководстве по языку программирования DAX вы узнаете, как использовать функцию GENERATE и как динамически изменять название меры.

Продемонстрируйте идеи с помощью метода многопоточных динамических визуализаций в LuckyTemplates

Продемонстрируйте идеи с помощью метода многопоточных динамических визуализаций в LuckyTemplates

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

Введение в фильтрацию контекста в LuckyTemplates

Введение в фильтрацию контекста в LuckyTemplates

В этой статье я пройдусь по контексту фильтра. Контекст фильтра — одна из основных тем, с которой должен ознакомиться любой пользователь LuckyTemplates.

Лучшие советы по использованию приложений в онлайн-службе LuckyTemplates

Лучшие советы по использованию приложений в онлайн-службе LuckyTemplates

Я хочу показать, как онлайн-служба LuckyTemplates Apps может помочь в управлении различными отчетами и аналитическими данными, созданными из различных источников.

Анализ изменений маржи прибыли с течением времени — аналитика с LuckyTemplates и DAX

Анализ изменений маржи прибыли с течением времени — аналитика с LuckyTemplates и DAX

Узнайте, как рассчитать изменения вашей прибыли, используя такие методы, как разветвление показателей и объединение формул DAX в LuckyTemplates.

Идеи материализации кэшей данных в DAX Studio

Идеи материализации кэшей данных в DAX Studio

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

Бизнес-отчетность с использованием LuckyTemplates

Бизнес-отчетность с использованием LuckyTemplates

Если вы все еще используете Excel до сих пор, то сейчас самое подходящее время, чтобы начать использовать LuckyTemplates для своих бизнес-отчетов.

Что такое шлюз LuckyTemplates? Все, что тебе нужно знать

Что такое шлюз LuckyTemplates? Все, что тебе нужно знать

Что такое шлюз LuckyTemplates? Все, что тебе нужно знать