Расчет недельных продаж с помощью DAX в LuckyTemplates
В этом руководстве показано, как в конечном итоге можно рассчитать разницу между еженедельными результатами продаж с помощью DAX в LuckyTemplates.
В этом руководстве будет обсуждаться CallBackDataID , который является проблемой производительности в DAX Studio. Вы узнаете, что он делает и как влияет на производительность вашего запроса DAX.
Механизм хранения работает для предоставления данных механизму формул в виде кэша данных. Но когда механизм хранения не может оценить выражение, он запрашивает и вызывает механизм формул для помощи, используя CallBackDataID .
Наличие CallBackDataID в вашем расчете снижает производительность DAX, поскольку он использует как хранилище, так и обработчик формул. Тем не менее, это все же лучше, чем когда всю работу выполняет только обработчик формул, потому что он по-прежнему работает со сжатыми данными и не требует материализации.
Кроме того, когда задействован обработчик формул, результаты не кэшируются. Кэши улучшают взаимодействие с пользователем при выполнении запроса или меры в LuckyTemplates.
Оглавление
Где найти CallBackDataID
CallBackDataID можно найти в тайминге сервера внутри DAX Studio. Из-за их важности они выделены в выражении xmSQL. Если вы хотите оптимизировать свой DAX, лучше всего начать с поиска CallBackDataID .
Другой метод оптимизации заключается в использовании фильтров в , когда это возможно. Использование CALCULATE в фильтрах лучше, чем использование в качестве таблицы. FILTER — это итератор, и когда вы фильтруете таблицу, она будет повторяться с помощью . Наличие этих двух итераторов может замедлить ваш запрос.
Вот два примера запросов с CallBackDataID и без него .
Это локализованная мера, которая определяет два вышеуказанных запроса.
Верхняя мера повторяет таблицу продаж, умножает текущую цену и количество, а затем суммирует их. Нижняя мера проверяет, больше ли дата покупки 31 марта 2016 г. или равна ей. Наличие функции в мере создает CallBackDataID , поскольку она не использует CALCULATE .
Чтобы проверить это, запустите запрос с CallBackDataID . Перед запуском обязательно очистите кеш и включите серверные тайминги и планы запросов.
Если вы щелкнете вкладку Server Timings внизу, вы увидите, что первое сканирование выделено. Это связано с наличием CallBackDataID .
Вы также можете увидеть CallBackDataID в операторе xmSQL. Функция ЕСЛИ в мере выходит за рамки возможностей механизма хранения, поэтому она обращается за помощью к механизму формул .
Как решить проблему с производительностью
Если вы запустите запрос, у которого нет CallBackDataID , вы увидите, что сканы больше не выделяются.
Это связано с тем, что фильтр CALCULATE передается механизму хранения. Ему больше не нужна помощь формульного движка, потому что он может работать сам по себе.
Насколько это возможно, старайтесь использовать фильтры в CALCULATE . Он оптимизирует производительность DAX, перекладывая большую часть работы на механизм хранения, делая его быстрее.
Механизм хранения в LuckyTemplates —
измерение операторов и запросов VertiPaq в LuckyTemplates: советы и методы оптимизации
VertiPaq Analyzer в DAX Studio | Учебник по LuckyTemplates
Заключение
Проблемы с производительностью могут возникнуть, если ваш запрос слишком сложен для работы механизма хранения. Это приводит к ненужным процессам, таким как CallBackDataID, в расчете и замедляет ваш DAX. Вы можете смягчить это, используя фильтры в CALCULATE .
В этом руководстве показано, как в конечном итоге можно рассчитать разницу между еженедельными результатами продаж с помощью DAX в LuckyTemplates.
Что такое self в Python: примеры из реального мира
Вы узнаете, как сохранять и загружать объекты из файла .rds в R. В этом блоге также рассказывается, как импортировать объекты из R в LuckyTemplates.
В этом руководстве по языку программирования DAX вы узнаете, как использовать функцию GENERATE и как динамически изменять название меры.
В этом учебном пособии рассказывается, как использовать технику многопоточных динамических визуализаций для создания аналитических сведений из динамических визуализаций данных в ваших отчетах.
В этой статье я пройдусь по контексту фильтра. Контекст фильтра — одна из основных тем, с которой должен ознакомиться любой пользователь LuckyTemplates.
Я хочу показать, как онлайн-служба LuckyTemplates Apps может помочь в управлении различными отчетами и аналитическими данными, созданными из различных источников.
Узнайте, как рассчитать изменения вашей прибыли, используя такие методы, как разветвление показателей и объединение формул DAX в LuckyTemplates.
В этом руководстве будут обсуждаться идеи материализации кэшей данных и то, как они влияют на производительность DAX при предоставлении результатов.
Если вы все еще используете Excel до сих пор, то сейчас самое подходящее время, чтобы начать использовать LuckyTemplates для своих бизнес-отчетов.