Разница между SUM и SUMX в LuckyTemplates

Разница между SUM и SUMX в LuckyTemplates

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

Здесь я сосредоточусь на одном примере, который покажет различие между ними. Но прежде чем я перейду к этому примеру, важно понять разницу между агрегирующей функцией и итерирующей функцией.

Оглавление

Агрегаторы против итераторов

Когда дело доходит до DAX, существует два типа вычислительных механизмов — агрегаторы и итераторы.

Агрегирующие функции включают SUM , , , и . Итераторы, с другой стороны, — это функции, которые имеют X в конце, например SUMX .

Итерирующие функции проходят через каждую строку таблицы, добавляя логику к каждой из этих строк.

Агрегирующие функции просматривают весь столбец, оставшийся после помещения контекста в формулу. Оттуда выполняется одно агрегирование для всего столбца за один раз.

SUM как агрегатор

Как SUM используется в качестве агрегатора?

Разница между SUM и SUMX в LuckyTemplates

В этом примере я собираюсь вычислить общий доход в приведенных примерных данных.

Здесь всегда важен контекст. В этом случае каждая конкретная дата является контекстом каждого конкретного результата.

Разница между SUM и SUMX в LuckyTemplates

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

Разница между SUM и SUMX в LuckyTemplates

Затем, если я посмотрю на данные, работающие в рамках этой модели, все совпадет.

Разница между SUM и SUMX в LuckyTemplates

Таким образом, отношение здесь связано со столбцом «Дата заказа». После фильтрации определенных дат из этого столбца соответствующие результаты отображаются в столбце «Доход».

Оттуда SUM просто сделает один большой расчет отфильтрованных результатов.

SUMX как итератор

Теперь я собираюсь использовать SUMX для тех же выборочных данных, чтобы вы могли увидеть разницу. На самом деле я могу рассчитать этот доход, не касаясь столбца «Доход».

Когда используется функция SUMX , она всегда будет запрашивать таблицу. Обратите внимание, что здесь можно использовать как физическую, так и виртуальную таблицу.

Разница между SUM и SUMX в LuckyTemplates

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

Разница между SUM и SUMX в LuckyTemplates

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

Разница между SUM и SUMX в LuckyTemplates

Как только я перетаскиваю эту формулу в отчет, результаты точно такие же.

Разница между SUM и SUMX в LuckyTemplates

Конечно, они оба показывают одни и те же результаты, потому что оба получают данные из одних и тех же двух столбцов — «Количество заказа» и «Цена за единицу».

Разница между SUM и SUMX в LuckyTemplates

Зачем использовать SUMX, если он все равно дает тот же результат, что и SUM ?

В SUMX логика применяется не только ко всему столбцу, но и к каждой отдельной строке в этом столбце. На самом деле, я мог бы удалить столбец «Доход» и по-прежнему иметь возможность получать определенные результаты.

Итак, представьте, что эта логика применяется к каждой строке. Он умножает количество заказа и цену за единицу для 1-й строки, а затем сохраняет их в памяти. Он делает то же самое со второй строкой и всеми остальными строками после нее, сохраняя каждый отдельный результат.

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


Работа с итерирующими функциями в DAX
Использование итерационных функций SUMX и AVERAGEX в LuckyTemplates
Модель данных LuckyTemplates для расширенного анализа сценариев с использованием DAX

Заключение

Надеюсь, мне удалось объяснить основную разницу между SUM и SUMX в LuckyTemplates, особенно для тех, кто еще не освоил возможности LuckyTemplates.

Эмпирическое правило заключается в том, что если это простой сценарий, который можно решить с помощью функции агрегирования, используйте SUM. Но если требуется более продвинутая логика, используйте SUMX.

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

Всего наилучшего,


Что такое 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? Все, что тебе нужно знать