Как виртуально сравнить два списка вычисляемых данных — продвинутый метод DAX

Как виртуально сравнить два списка вычисляемых данных — продвинутый метод DAX

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

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

Оглавление

Образец данных

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

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

Как виртуально сравнить два списка вычисляемых данных — продвинутый метод DAX

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

Как виртуально сравнить два списка вычисляемых данных — продвинутый метод DAX

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

Как виртуально сравнить два списка вычисляемых данных — продвинутый метод DAX

Сравнение клиентов из двух периодов времени

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

Как виртуально сравнить два списка вычисляемых данных — продвинутый метод DAX

Общее количество клиентов включает тех, кто совершил покупки в разных магазинах в разных штатах в течение указанного периода времени. Я использовал простую формулу, чтобы получить этот результат.

Как виртуально сравнить два списка вычисляемых данных — продвинутый метод DAX

Я использовал функцию , потому что она выводит единый список уникальных значений. В этом случае он покажет нам клиентов, которые купили товары в указанный период времени.

Я также использовал функцию . Это подсчитает количество уникальных значений из списка.

Я ссылаюсь на таблицу продаж для этой меры.

Как виртуально сравнить два списка вычисляемых данных — продвинутый метод DAX

Почему бы вместо этого не использовать таблицу Customer?

Если я напрямую сошлюсь на таблицу Customer, я буду считать только каждого отдельного клиента независимо от временных рамок. Мне нужно убедиться, что используется правильный контекст. Используя таблицу «Продажи» , я получаю не только клиентов, но и информацию о том, где и когда они совершили покупку.

Как виртуально сравнить два списка вычисляемых данных — продвинутый метод DAX

Теперь, когда у меня есть Total Customers , я могу составить список клиентов за ту же дату, но за прошлый год. Здесь мера становится немного сложнее.

Как виртуально сравнить два списка вычисляемых данных — продвинутый метод DAX

Позвольте мне подробно остановиться на каждой части этой меры.

Помните, что я пытаюсь изменить контекст таблицы. Вот почему я собираюсь использовать функцию .

Как виртуально сравнить два списка вычисляемых данных — продвинутый метод DAX

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

Поскольку я хочу изменить временные рамки, я воспользуюсь функцией .

Как виртуально сравнить два списка вычисляемых данных — продвинутый метод DAX

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

Опять же, я использую функцию COUNTROWS для подсчета количества клиентов после применения дополнительных фильтров.

Как виртуально сравнить два списка вычисляемых данных — продвинутый метод DAX

Теперь, когда у меня есть два списка, я могу перенести сделанные мной измерения в функцию ПЕРЕСЕЧЕНИЕ .

Как виртуально сравнить два списка вычисляемых данных — продвинутый метод DAX

Функция ПЕРЕСЕЧЕНИЕ виртуально просматривает список, на который ссылаются. В данном случае это индекс имен клиентов. Он просматривает каждого из этих клиентов и сравнивает их со вторым списком годичной давности.

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

Как виртуально сравнить два списка вычисляемых данных — продвинутый метод DAX


Как максимально использовать функцию INTERSECT — Advanced DAX
Создание отчетов в LuckyTemplates для отображения отклонений и аналитических данных
Новый анализ клиентов с использованием Advanced DAX

Заключение

Надеюсь, теперь вы можете представить другие сценарии, в которых функция ПЕРЕСЕЧЕНИЕ может использоваться для сравнения двух наборов вычисляемых данных.

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

Это действительно показывает, сколько информации вы можете получить, когда освоите использование различных функций DAX в LuckyTemplates.

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


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