Пустые переменные: как их использовать, чтобы написать более умный DAX

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

Я решил сделать это руководство из-за вопроса, с которым столкнулся на .

Пустые переменные: как их использовать, чтобы написать более умный DAX

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

Оглавление

Составление решения для отсечения рейтинга продаж и маржи прибыли

Основываясь на требованиях, упомянутых Харви, я создал проект решения с ползунками для Sales Rank и Profit Margin Cutoff .

Пустые переменные: как их использовать, чтобы написать более умный DAX

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

Пустые переменные: как их использовать, чтобы написать более умный DAX

Предположим, что рейтинг продаж равен A, а маржинальная прибыль — B. Это в основном показывает условие Для этого требуются относительно стандартные меры DAX. Они показаны здесь, на правой панели под мерами, где у меня есть Sales Rank , который использует базовый . У меня также есть общие затраты, общая прибыль и другие переменные, которые получают свои значения от ползунков.

Пустые переменные: как их использовать, чтобы написать более умный DAX

Использование фиктивных переменных для условий AND

Что касается условия И , то именно эта мера делает тяжелую работу.

Пустые переменные: как их использовать, чтобы написать более умный DAX

Есть несколько интересных вещей, которые вы можете заметить в этом показателе. В основном, эти условные выражения обычно используются в критериях / . Но вместо этого я использовал то, что я называю фиктивными переменными, где, если условие ИСТИНА, оно получает 1. Если оно ЛОЖЬ, оно получает 0.

Пустые переменные: как их использовать, чтобы написать более умный DAX

Таким образом, эта мера показывает, что если Sales Rank меньше или равен Sales Rank Cutoff, он получает 1. Если Profit Margin больше, чем Sales Margin Cutoff, он получает 1. В противном случае они получают ноль.

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

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

Пустые переменные: как их использовать, чтобы написать более умный DAX

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

Пустые переменные: как их использовать, чтобы написать более умный DAX

Использование фиктивных переменных для условий ИЛИ

Что делать, если вы хотите использовать этот подход в условии ?

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

Таким образом, для условия AND потребуется звездочка, подобная этой:

Пустые переменные: как их использовать, чтобы написать более умный DAX

Условие ИЛИ потребует знака плюс, например:

Пустые переменные: как их использовать, чтобы написать более умный DAX

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

Пустые переменные: как их использовать, чтобы написать более умный DAX

Почему фиктивные переменные работают

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

Начнем с условия AND .

Пустые переменные: как их использовать, чтобы написать более умный DAX

И подразумевает, что оба или все условия ИСТИННЫ. Это характеризуется умножением. После умножения любое условие ЛОЖЬ устанавливает весь термин равным 0. Итак, если у вас есть две переменные, А и В, и обе истинны, это даст произведение, равное 1, которое возвращает ИСТИНА.

Но если либо A равно нулю, либо B равно нулю, вы получаете три условия, при которых весь член заканчивается нулем. Это перекресток.

С другой стороны, если мы посмотрим на условие ИЛИ, это означает, что одно или любое из условий ИСТИННО. Вместо умножения требуется сложение. Таким образом, ни один набор FALSE не приведет к 0, но пока какое-либо одно условие истинно, оно увеличивает это условие на 1.

Пустые переменные: как их использовать, чтобы написать более умный DAX

Таким образом, на диаграмме для условия ИЛИ, если и A, и B ИСТИННЫ, то термин получает 2. Если A ложен, но B верен, он получает 1. Обратное также получает 1, в то время как вы получаете только 0 если оба условия ложны.

Где полезны фиктивные переменные

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

Пустые переменные: как их использовать, чтобы написать более умный DAX

В этом случае показаны семь переменных. Комбинация A, B и C ИСТИНА. Так же как и комбинации D и E или F и G.

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

Пустые переменные: как их использовать, чтобы написать более умный DAX

Оттуда вы используете условие, что если результат больше 0, это будет ИСТИНА. Если он окажется равным 0, вы получите FALSE.

Вернемся к файлу LuckyTemplates, чтобы увидеть, как это работает в реальном отчете.

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

Пустые переменные: как их использовать, чтобы написать более умный DAX

Войдя в меру, вы увидите фиктивные переменные Rnk и Marg, где у нас есть условие ИЛИ, как показано плюсом .

Пустые переменные: как их использовать, чтобы написать более умный DAX

Затем вы также увидите, что в конструкции TRUE у вас есть 2, что приводит к красному цвету, что означает, что у вас есть два утверждения TRUE . Если одно из утверждений верно, оно становится фиолетовым. Если ни одно из них не верно, то это приводит к 0, который покажет вам синие точки.

Пустые переменные: как их использовать, чтобы написать более умный DAX

Это напрямую соответствует матрице диаграммы ИЛИ, о которой мы говорили ранее.

Возвращаясь к нашему последнему условию, мы можем посмотреть, что произойдет, если мы захотим рассмотреть два набора выбросов. По сути, если мы хотим посмотреть, что соответствует обоим условиям A и B, две точки здесь, представляющие продукты 4 и 15, соответствуют этим критериям.

Пустые переменные: как их использовать, чтобы написать более умный DAX

С другой стороны, вы также можете посмотреть на нижний выброс, то есть на Продукт 1.

Пустые переменные: как их использовать, чтобы написать более умный DAX

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

Глядя на показатель ниже, он показывает последний случай, о котором мы говорили, когда у вас есть четыре фиктивные переменные — верхний ранг (TopRnk), значения, превышающие или равные марже (GTEMarg), нижний ранг (BotRank) и меньше или равно марже (LEMar).

Пустые переменные: как их использовать, чтобы написать более умный DAX

Глядя на объединенное значение, мы умножили TopRnk и GTEMarg, а затем добавили это к произведению BotRank и LEMarg.

Пустые переменные: как их использовать, чтобы написать более умный DAX

Если какое-либо из этих условий возвращается как ИСТИНА, это будет отображаться красной точкой на графике. Если нет, то будет показана синяя точка.

Пустые переменные: как их использовать, чтобы написать более умный DAX


Использование Advanced DAX для нескольких операторов IF в LuckyTemplates
Как использовать SWITCH True Logic в LuckyTemplates
Функции DAX в LuckyTemplates: использование итераторов

Заключение

Используя и комбинируя эти фиктивные переменные, вы можете получить нужные результаты, используя простые меры по сравнению с обычными сложными мерами DAX, которые требуются для текстовых мер TRUE/FALSE.

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

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

Leave a Comment

Расчет недельных продаж с помощью DAX в LuckyTemplates

Расчет недельных продаж с помощью DAX в LuckyTemplates

В этом руководстве показано, как в конечном итоге можно рассчитать разницу между еженедельными результатами продаж с помощью 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 для своих бизнес-отчетов.