Расчет недельных продаж с помощью DAX в LuckyTemplates
В этом руководстве показано, как в конечном итоге можно рассчитать разницу между еженедельными результатами продаж с помощью DAX в LuckyTemplates.
В этом уроке я расскажу о том, как использовать фиктивные переменные для написания лучших показателей DAX. Это особенно применимо в тех случаях, когда требуется более сложный DAX. Используя эту технику, вы можете быть более гибкими в работе с различными переменными и условными выражениями. Вы можете посмотреть полное видео этого урока в нижней части этого блога.
Я решил сделать это руководство из-за вопроса, с которым столкнулся на .
Основываясь на этом вопросе, Харви хотел объединить анализ Парето с некоторыми дополнительными критериями. Он хотел посмотреть на верхние 20% рейтинга продаж, а также посмотреть на их пересечение с другими продуктами, маржа которых превышает определенный процент.
Оглавление
Составление решения для отсечения рейтинга продаж и маржи прибыли
Основываясь на требованиях, упомянутых Харви, я создал проект решения с ползунками для Sales Rank и Profit Margin Cutoff .
В зависимости от параметров, которые вы установили на этих ползунках, визуализация разброса покажет продукты, соответствующие обоим критериям .
Предположим, что рейтинг продаж равен A, а маржинальная прибыль — B. Это в основном показывает условие Для этого требуются относительно стандартные меры DAX. Они показаны здесь, на правой панели под мерами, где у меня есть Sales Rank , который использует базовый . У меня также есть общие затраты, общая прибыль и другие переменные, которые получают свои значения от ползунков.
Использование фиктивных переменных для условий AND
Что касается условия И , то именно эта мера делает тяжелую работу.
Есть несколько интересных вещей, которые вы можете заметить в этом показателе. В основном, эти условные выражения обычно используются в критериях / . Но вместо этого я использовал то, что я называю фиктивными переменными, где, если условие ИСТИНА, оно получает 1. Если оно ЛОЖЬ, оно получает 0.
Таким образом, эта мера показывает, что если Sales Rank меньше или равен Sales Rank Cutoff, он получает 1. Если Profit Margin больше, чем Sales Margin Cutoff, он получает 1. В противном случае они получают ноль.
Этот подход очень распространен в статистическом и регрессионном анализе, но он также может быть полезен, когда речь идет о DAX.
Я использовал этот подход, потому что мне нужны эти значения для следующей части, где я комбинирую эти две переменные, перемножая их .
После объединения двух фиктивных переменных Rnk и Marg я могу перейти к следующей части измерения. Если это комбинированное значение больше нуля, я присваиваю красный цвет. Если это не так, ему присваивается синий цвет.
Использование фиктивных переменных для условий ИЛИ
Что делать, если вы хотите использовать этот подход в условии ?
Вы можете использовать тот же процесс, но когда дело доходит до объединения переменных, используйте знак «плюс» вместо звездочки .
Таким образом, для условия AND потребуется звездочка, подобная этой:
Условие ИЛИ потребует знака плюс, например:
Как только вы нажмете «Принять», эти условия будут применены к точечной диаграмме. Продукты, отвечающие этим заданным условиям, будут отображаться здесь в виде красных точек.
Почему фиктивные переменные работают
Если вам интересно, почему эти фиктивные переменные работают, у меня есть несколько диаграмм, которые могут вам помочь.
Начнем с условия AND .
И подразумевает, что оба или все условия ИСТИННЫ. Это характеризуется умножением. После умножения любое условие ЛОЖЬ устанавливает весь термин равным 0. Итак, если у вас есть две переменные, А и В, и обе истинны, это даст произведение, равное 1, которое возвращает ИСТИНА.
Но если либо A равно нулю, либо B равно нулю, вы получаете три условия, при которых весь член заканчивается нулем. Это перекресток.
С другой стороны, если мы посмотрим на условие ИЛИ, это означает, что одно или любое из условий ИСТИННО. Вместо умножения требуется сложение. Таким образом, ни один набор FALSE не приведет к 0, но пока какое-либо одно условие истинно, оно увеличивает это условие на 1.
Таким образом, на диаграмме для условия ИЛИ, если и A, и B ИСТИННЫ, то термин получает 2. Если A ложен, но B верен, он получает 1. Обратное также получает 1, в то время как вы получаете только 0 если оба условия ложны.
Где полезны фиктивные переменные
Очевидно, вы можете использовать основные условия И или ИЛИ для простых случаев. Однако они не будут работать так же хорошо, когда речь идет о более сложных случаях. Вот один пример.
В этом случае показаны семь переменных. Комбинация A, B и C ИСТИНА. Так же как и комбинации D и E или F и G.
Если бы вам нужно было написать меру DAX для этого условия, вы можете себе представить, насколько это было бы долго и запутанно. Но если вы применяете фиктивные переменные, вы можете сделать это намного проще. Вам просто нужно заменить эти операторы, чтобы получить более простую формулу.
Оттуда вы используете условие, что если результат больше 0, это будет ИСТИНА. Если он окажется равным 0, вы получите FALSE.
Вернемся к файлу LuckyTemplates, чтобы увидеть, как это работает в реальном отчете.
Таким образом, в этом случае красные точки показывают случай, когда выполняются оба условия, а фиолетовые точки показывают, что верно только одно условие.
Войдя в меру, вы увидите фиктивные переменные Rnk и Marg, где у нас есть условие ИЛИ, как показано плюсом .
Затем вы также увидите, что в конструкции TRUE у вас есть 2, что приводит к красному цвету, что означает, что у вас есть два утверждения TRUE . Если одно из утверждений верно, оно становится фиолетовым. Если ни одно из них не верно, то это приводит к 0, который покажет вам синие точки.
Это напрямую соответствует матрице диаграммы ИЛИ, о которой мы говорили ранее.
Возвращаясь к нашему последнему условию, мы можем посмотреть, что произойдет, если мы захотим рассмотреть два набора выбросов. По сути, если мы хотим посмотреть, что соответствует обоим условиям A и B, две точки здесь, представляющие продукты 4 и 15, соответствуют этим критериям.
С другой стороны, вы также можете посмотреть на нижний выброс, то есть на Продукт 1.
Помните также, что весь этот отчет является динамическим. Таким образом, чем больше вы перемещаете ползунки, тем больше точек вы потенциально увидите.
Глядя на показатель ниже, он показывает последний случай, о котором мы говорили, когда у вас есть четыре фиктивные переменные — верхний ранг (TopRnk), значения, превышающие или равные марже (GTEMarg), нижний ранг (BotRank) и меньше или равно марже (LEMar).
Глядя на объединенное значение, мы умножили TopRnk и GTEMarg, а затем добавили это к произведению BotRank и LEMarg.
Если какое-либо из этих условий возвращается как ИСТИНА, это будет отображаться красной точкой на графике. Если нет, то будет показана синяя точка.
Использование Advanced DAX для нескольких операторов IF в LuckyTemplates
Как использовать SWITCH True Logic в LuckyTemplates
Функции DAX в LuckyTemplates: использование итераторов
Заключение
Используя и комбинируя эти фиктивные переменные, вы можете получить нужные результаты, используя простые меры по сравнению с обычными сложными мерами DAX, которые требуются для текстовых мер TRUE/FALSE.
Попробуйте применить этот подход к другим имеющимся у вас отчетам, в которых в прошлом использовались условия TRUE или FALSE, и посмотрите, как это повлияет на ваши показатели по мере усложнения условий.
Всего наилучшего,
В этом руководстве показано, как в конечном итоге можно рассчитать разницу между еженедельными результатами продаж с помощью DAX в LuckyTemplates.
Что такое self в Python: примеры из реального мира
Вы узнаете, как сохранять и загружать объекты из файла .rds в R. В этом блоге также рассказывается, как импортировать объекты из R в LuckyTemplates.
В этом руководстве по языку программирования DAX вы узнаете, как использовать функцию GENERATE и как динамически изменять название меры.
В этом учебном пособии рассказывается, как использовать технику многопоточных динамических визуализаций для создания аналитических сведений из динамических визуализаций данных в ваших отчетах.
В этой статье я пройдусь по контексту фильтра. Контекст фильтра — одна из основных тем, с которой должен ознакомиться любой пользователь LuckyTemplates.
Я хочу показать, как онлайн-служба LuckyTemplates Apps может помочь в управлении различными отчетами и аналитическими данными, созданными из различных источников.
Узнайте, как рассчитать изменения вашей прибыли, используя такие методы, как разветвление показателей и объединение формул DAX в LuckyTemplates.
В этом руководстве будут обсуждаться идеи материализации кэшей данных и то, как они влияют на производительность DAX при предоставлении результатов.
Если вы все еще используете Excel до сих пор, то сейчас самое подходящее время, чтобы начать использовать LuckyTemplates для своих бизнес-отчетов.