Расчет недельных продаж с помощью DAX в LuckyTemplates
В этом руководстве показано, как в конечном итоге можно рассчитать разницу между еженедельными результатами продаж с помощью DAX в LuckyTemplates.
Создание календаря праздников в LuckyTemplates имеет решающее значение для многих вычислений логики операций со временем. В этом руководстве я покажу вам, как рассчитать конкретные даты праздников с помощью показателей DAX. Вы можете посмотреть полное видео этого урока в нижней части этого блога.
Этот пример взят из одной из инициатив под названием «Проблема недели», где каждый месяц мы берем реальную проблему DAX или Power Query и подробно разбираем ее.
Я использовал технику под названием «Отладка резиновой утки». Обычно он используется для отладки, но я считаю, что он также очень полезен для разработки исходной среды, которую вы собираетесь использовать для решения сложной проблемы, например, в LuckyTemplates.
По сути, это просто использование резиновой уточки или человека, с которым вы разговариваете и говорите вслух решение, которое вы представляете, и разрабатываете план того, как вы собираетесь решить проблему.
Простое озвучивание часто помогает вам справиться с проблемой. В некоторых случаях в ситуации отладки это заставляет вас понять, что вы делаете, имеет ли это смысл, и помогает найти способ исправить это путем решения проблемы.
Ниже приведена реальная проблема DAX для этой конкретной задачи. У нас есть таблица с 10 праздниками с месяцем и днем. Некоторые из дней являются конкретными днями, а некоторые относительными. Нам нужно придумать Дату Праздника и Мероприятия Празднования.
Для этого нам нужно разобрать поле «День» на два компонента. Первый анализ — это вхождение (третий, последний, первый, второй), а второй анализ — это день (понедельник, четверг). Это две важные части информации, которые нам нужно разделить.
Оглавление
Вычисление определенных дат в календаре праздников LuckyTemplates
Обычно я делаю это в Power Query, просто разбивая по разделителям, но поскольку мы делаем это с DAX, нам придется делать это по-другому. (Обратите внимание, что нам не разрешено использовать Power Query в этом испытании.)
Нам нужно вычислить минимальную и максимальную даты для указанного года, месяца и имени дня. В этом случае, например, мы можем сказать за 2027 год, январь и третий понедельник. Как только мы получим этот минимальный день для данного месяца, мы можем добавить к нему семь дней, чтобы добраться до второго понедельника, 14 дней, чтобы добраться до третьего понедельника, и 21 день, чтобы добраться до четвертого понедельника.
Еще один метод, которым я хочу поделиться с вами, связанный с этой проблемой, — это то, что я называю построением по частям при создании показателя. Я считаю, что это очень полезно в комплексной мере, где, если у вас много переменных, вам нужно построить много компонентов.
Что я всегда делаю, так это переменную результата ( VAR Result ) в конце и мой последний оператор, который просто возвращает результат . Это позволяет очень легко вернуться и протестировать переменные, которые я построил. Я могу пройти и отследить и решить его по частям.
Последний метод, которым я хочу поделиться с вами, — это то, что я называю поиском неизвестных функций. Например, если я не знаю, какую функцию использовать для этой задачи календаря праздников LuckyTemplates, я перейду на вкладку « Внешние инструменты» и перейду к руководству по SQLBI DAX .
Здесь есть очень хорошая функция, называемая «Группы» (слева), где функции сгруппированы по типу. Итак, если я думаю о парсинге текстовой строки, например, я могу пойти искать Text functions .
Он предоставляет все текстовые функции, которые есть в DAX. Это отличный способ быстро найти функцию DAX, необходимую для меры.
Показатели DAX для календаря праздников LuckyTemplates
Для меры «Дата праздника» я создал серию , извлекая даты из слайсера, месяц отпуска, номер месяца и день из таблицы «Дата» .
Затем у меня есть длина этого выбранного дня с помощью функции длины ( ). В этом случае он вернул текст, поэтому мне пришлось обернуть его в , чтобы изменить этот текст на числовое значение.
Затем я использовал функцию для положения пробела и обернул его ЗНАЧЕНИЕ, но сказал, что ищу пробел в течение выбранного дня, начиная с позиции один и возвращая ноль, если я не нахожу там эту строку.
CharsBeforeSpace (символы перед пробелом) — это просто SpacePosition. Количество символов CharsAfterSpace (символов после пробела) равно длине ( SelDayLen ) строки минус положение пробела. Исходя из этого, мы можем сделать FirstParse и SecondParse .
На данный момент у нас теперь есть две переменные, одна из которых представляет событие, а другая — день.
И затем у нас есть базовый ( Calc1st ), где мы берем фильтр из таблицы Dates. Затем мы применяем фильтры выбранного года из слайсера, названия месяца, а затем дня недели из того второго синтаксического анализа, который мы сделали.
Точно так же мы делаем то же самое для последнего вычисления ( VAR CalcLast ).
Как только у нас есть все это, он переходит к оператору , и последняя часть — это результат RETURN.
Наконец, я хочу провести вас через меру Celebrated On в качестве дополнительного бонуса за испытание. Это просто , в котором я взял дату праздника, которую мы рассчитали в предыдущем показателе, перешел к таблице «Даты» и нашел название дня недели. А затем я просто сделал оператор SWITCH , в котором мы взяли результат DayLookup . И, наконец, я завершаю это с помощью RETURN DateAdjust .
Создание таблицы календаря для праздничных дней в LuckyTemplates
Пользовательские календари LuckyTemplates: расчет для месяца при смене месяца —
сравнение времени 445 календарей для нестандартных таблиц дат в LuckyTemplates
Заключение
Как я уже упоминал, эта задача календаря праздников LuckyTemplates — реальная проблема. Решение, которое я придумал, довольно сложное, но действительно эффективное при расчете конкретных дат праздников.
Надеюсь, вы многому научились из этого урока. Посмотрите полное видеоруководство, чтобы получить более подробное пошаговое объяснение показателей DAX.
Ваше здоровье!
В этом руководстве показано, как в конечном итоге можно рассчитать разницу между еженедельными результатами продаж с помощью DAX в LuckyTemplates.
Что такое self в Python: примеры из реального мира
Вы узнаете, как сохранять и загружать объекты из файла .rds в R. В этом блоге также рассказывается, как импортировать объекты из R в LuckyTemplates.
В этом руководстве по языку программирования DAX вы узнаете, как использовать функцию GENERATE и как динамически изменять название меры.
В этом учебном пособии рассказывается, как использовать технику многопоточных динамических визуализаций для создания аналитических сведений из динамических визуализаций данных в ваших отчетах.
В этой статье я пройдусь по контексту фильтра. Контекст фильтра — одна из основных тем, с которой должен ознакомиться любой пользователь LuckyTemplates.
Я хочу показать, как онлайн-служба LuckyTemplates Apps может помочь в управлении различными отчетами и аналитическими данными, созданными из различных источников.
Узнайте, как рассчитать изменения вашей прибыли, используя такие методы, как разветвление показателей и объединение формул DAX в LuckyTemplates.
В этом руководстве будут обсуждаться идеи материализации кэшей данных и то, как они влияют на производительность DAX при предоставлении результатов.
Если вы все еще используете Excel до сих пор, то сейчас самое подходящее время, чтобы начать использовать LuckyTemplates для своих бизнес-отчетов.