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

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

Оглавление

Пример данных, визуализированных в диаграмме Ганта

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

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

Чтобы визуализировать данные, я создал эту уникальную диаграмму Ганта. Вы увидите, что в него встроено много логики, что позволяет мне раскрашивать данные, показывающие информацию, например, когда проект начался, когда он закончился и так далее.

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

Давайте сделаем быстрый обзор данных, лежащих в основе этого графика.

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

Вы увидите, что у меня есть даты начала и окончания для каждой отдельной задачи в конкретном проекте. Что усложняет формулу, так это тот факт, что у меня также есть столбец для %Completion.

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

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

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

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

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

Использование переменных в сложных формулах

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

Фактически вы можете ссылаться на переменные внутри переменных. Это означает, что вы можете создать множество своих вычислений, прежде чем вводить что-либо в RETURN. 

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

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

Итак, вы увидите, что я использовал VAR для CurrentDay, ProjectDays и DaysFromStartDate. Я также взял DaysFromEndDate, сославшись на DaysFromStartDate и ProjectDays.

После этого я продолжил логическую работу над ProgressColor и CompletionPercent.

Еще одна интересная особенность переменных заключается в том, что вы также можете внедрить некоторую ИСТИННУЮ или ЛОЖНУЮ логику. Обычно вы видите длинный список операторов IF здесь, в основной формуле. Но на этот раз я решил поместить эту логику TRUE или FALSE в VAR, используя ToCompletionLogic и MAX Days больше или равно MAX Days меньше или равно, и так далее.

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

Вы также увидите, что здесь я ввел операторы ЕСЛИ в свою формулу SWITCH, что является более эффективным подходом.

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

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

Использование переменных вместо ветвления меры

Вам может быть интересно, почему я не использовал ветвление меры в этом случае, зная, что я уже упоминал об этом много раз ранее.

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

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

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

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

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

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

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


Использование переменных в LuckyTemplates — подробный пример
методов анализа сценариев с использованием нескольких параметров «что, если»
Начало работы с параметром «что, если» в LuckyTemplates

Заключение

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

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

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

Как только вы хорошо поймете, как это работает, вы, наконец, сможете создавать более сложные формулы с использованием переменных без дополнительных проблем в конце.

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

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 для своих бизнес-отчетов.