Расчет недельных продаж с помощью DAX в LuckyTemplates
В этом руководстве показано, как в конечном итоге можно рассчитать разницу между еженедельными результатами продаж с помощью DAX в LuckyTemplates.
В этом руководстве мы обсудим переход контекста и вложенные итераторы. Вы узнаете о важности этих сущностей и о том, как они могут быть хорошим источником для оптимизации.
Если вы помните, переход контекста происходит, когда контекст строки меняется на эквивалентный контекст фильтра. Вы должны знать, что происходит, когда в ваших итераторах происходит переход контекста, потому что он часто может генерировать медленные результаты.
Оглавление
Вложенные итераторы по сравнению с CALCULATE
Если во время итерации вызывается переход контекста, создается таблица материализации. Это означает, что переход контекста вызывается с помощью формул в вашем DAX. Таблица представляет собой несжатые данные, которые отправляются в обработчик формул.
Чтобы продемонстрировать, первая мера предназначена для больших продаж, которая получает текущую цену, если она больше или равна 500.
Следующая мера предназначена для среднего значения больших продаж с вложенными итераторами.
Последняя мера получает среднее значение Big Sales без вложенного итератора и CallBackDataID.
Запустите меру с помощью вложенного итератора. Обязательно очистите кеш перед запуском, а затем включите параметры времени сервера и план запроса.
Вы можете видеть, что он сгенерировал 3 сканирования, 2 идентификатора CallBackDataID и 15 003 строки. Это вызывает беспокойство, поскольку для вывода имеется только 101 строка. Это произошло из-за того, что мера имеет два итератора или X-функции.
Это полностью развернутая форма выполненной меры:
Он выполняет итерацию таблицы Fact Sales с . Затем он снова повторяется с CallBackDataID , используя . Укороченный формат этой меры имеет подразумеваемую функцию , которая вызывает переход контекста и материализует таблицу. Вот почему он извлек 15 003 строки, даже если на выходе имеется только 101 строка.
Запустите другую меру, не имеющую вложенных итераторов. Он по-прежнему выполняет итерацию таблицы Fact Sales с использованием AVERAGEX , но текущая цена находится вне функции. Он отфильтровывает продукты, текущая цена которых больше или равна 500, а затем вычисляет среднее значение.
Вы можете видеть, что он имеет только 2 сканирования, 104 строки и не имеет CallBackDataID. Поэтому, если вы используете CALCULATE , вы можете избавиться от вложенных итераторов и идентификаторов CallBackDataID .
Функции DAX в LuckyTemplates: использование итераторов
Как использовать итерирующую функцию в LuckyTemplates
Расчет DAX — фильтрация переходов контекста
Заключение
Есть много причин низкой производительности DAX. Одна из них связана с вложенными итераторами, которые вызывают ненужные переходы контекста. Эти итераторы материализуют больше строк, чем необходимо, что замедляет выполнение запросов.
Лучшее решение для этого — поместить его внутрь CALCULATE . Это создает меньше работы для механизма формул и максимально увеличивает возможности механизма хранения.
В этом руководстве показано, как в конечном итоге можно рассчитать разницу между еженедельными результатами продаж с помощью DAX в LuckyTemplates.
Что такое self в Python: примеры из реального мира
Вы узнаете, как сохранять и загружать объекты из файла .rds в R. В этом блоге также рассказывается, как импортировать объекты из R в LuckyTemplates.
В этом руководстве по языку программирования DAX вы узнаете, как использовать функцию GENERATE и как динамически изменять название меры.
В этом учебном пособии рассказывается, как использовать технику многопоточных динамических визуализаций для создания аналитических сведений из динамических визуализаций данных в ваших отчетах.
В этой статье я пройдусь по контексту фильтра. Контекст фильтра — одна из основных тем, с которой должен ознакомиться любой пользователь LuckyTemplates.
Я хочу показать, как онлайн-служба LuckyTemplates Apps может помочь в управлении различными отчетами и аналитическими данными, созданными из различных источников.
Узнайте, как рассчитать изменения вашей прибыли, используя такие методы, как разветвление показателей и объединение формул DAX в LuckyTemplates.
В этом руководстве будут обсуждаться идеи материализации кэшей данных и то, как они влияют на производительность DAX при предоставлении результатов.
Если вы все еще используете Excel до сих пор, то сейчас самое подходящее время, чтобы начать использовать LuckyTemplates для своих бизнес-отчетов.