Расчет недельных продаж с помощью DAX в LuckyTemplates
В этом руководстве показано, как в конечном итоге можно рассчитать разницу между еженедельными результатами продаж с помощью DAX в LuckyTemplates.
Многие люди считают, что мы не можем выполнять пользовательскую сортировку LuckyTemplates с помощью DAX , но это не так. DAX может абсолютно гарантировать сортировку, и на самом деле это довольно просто сделать. В сегодняшнем блоге я покажу вам, как вы можете легко сделать именно это. Вы можете посмотреть полное видео этого урока в нижней части этого блога.
Оглавление
Наша модель данных
Начнем с простой модели данных. В нашей таблице данных есть три кампании, проанализированная рентабельность инвестиций и стоимость.
Как видно из таблицы, у них одинаковые затраты, но разная рентабельность инвестиций. Концепция здесь состоит в том, чтобы знать, какие кампании мы должны запустить в зависимости от их рентабельности инвестиций для данного бюджета.
Пользовательская сортировка LuckyTemplates: использование цикла while
Начнем с меры с помощью простого цикла while.
Мы установим наш бюджет на 20000 и сохраним его в переменной Budget, используя _Budget.
А затем мы воспользуемся циклом while, создав переменную таблицы VAR_Table .
Затем мы используем , которые противоречат нашей базовой таблице 4 , и добавляем столбец промежуточных сумм, используя «_RT» .
Затем мы получаем [Analyzed ROI] в нашей текущей строке, сохраненной как VAR_ROI . Затем мы берем наш бюджет . Из него мы вычитаем , фильтруем таблицу 4 для анализируемого ROI, который больше или равен ROI, который мы получаем для нашей текущей строки, и получаем [Cost ] .
Эти строки получат самый высокий ROI в первой строке, затем следующий самый высокий для следующей строки и так далее. По сути, у нас будет столбец с промежуточным итогом, обратным отсчетом до нуля в отрицательных значениях.
Затем мы выходим из цикла while. Мы создаем нашу переменную FinalTable с помощью VAR_FinalTable , где мы просто фильтруем нашу переменную Table для текущей суммы , которая больше или равна нулю. Мы применяем этот фильтр, потому что все, что ниже нуля, означает, что мы стали отрицательными и бюджет вышел за рамки бюджета.
Затем мы можем использовать для этих значений. Мы включим наши столбцы — «Кампании», «Проанализированная рентабельность инвестиций» и «Стоимость» — и добавим .
Мы можем отобразить этот визуальный элемент карты на панели выбора и увидеть, что у нас есть Instagram и SEM, которые являются двумя нашими самыми высокими показателями рентабельности инвестиций.
Давайте проверим нашу исходную таблицу, чтобы сравнить результаты.
Мы видим, что PPC действительно имеет более низкий ROI, чем SEM и Instagram.
Однако, как вы, возможно, заметили, наш результат не вернулся в правильном порядке: Instagram 8.1 показал сначала перед SEM 8.15.
Применение порядка сортировки LuckyTemplates
Но что, если мы хотим, чтобы Instagram возвращался первым, потому что у него самый высокий ROI и SEM, который должен быть возвращен вторым? По сути, мы хотим гарантировать порядок сортировки. Это немного сложно, но нетрудно понять, как это сделать.
Вот как должна выглядеть наша функция, где нижняя часть будет такой же, как в цикле while, который у нас был ранее.
И чтобы гарантировать порядок сортировки, нам нужно проделать небольшую дополнительную работу.
Опять же, мы начинаем с нашего VAR_Budget , который мы установили на 20000. Затем мы создаем нашу переменную Count, используя VAR_Count I, и применяем к таблице 4.
В следующей строке мы будем использовать функцию CONCATENATEX для объединения наших столбцов Campaigns, Analyzed ROI и Cost. Вы можете использовать что угодно в качестве разделителя, если его нет в ваших данных, поэтому в этом случае давайте просто используем звездочки.
Затем мы будем использовать символ вертикальной черты (|) в следующем параметре после столбца стоимости. Мы также будем использовать VAR_Ordered для сортировки по проанализированному ROI в порядке убывания, что означает, что самый высокий ROI будет вверху.
Если мы посмотрим на строку комментария, там сказано, что код выдаст нам результат в формате вроде SEM*8.158*10000 | Инстаграм*8.1*10000 . Он также будет отображаться в порядке от самого высокого ROI до самого низкого ROI.
Пользовательская сортировка LuckyTemplates: использование цикла For
Этот пример интересен тем, что мы получаем цикл for , цикл while и всевозможные классные функции. На этот раз мы будем использовать цикл for .
Таблица 1
В этом примере Table1 является нашим циклом for, и то, что мы делаем, это ДОБАВЛЯЕМ КОЛОННЫ к , которые идут от единицы до нашего счета на единицу, записанную как (1,_Count,1).
Затем в нашей строке мы используем , потому что мы используем символ вертикальной черты для разделения строк нашей таблицы. Затем с помощью PATHITEM мы берем путь из переменной Ordered , которая является нашей строкой.
Мы также используем Value , наш автоматический столбец, созданный с помощью GENERATESERIES , или наши календари 1, 2, 3, 4, 5, пока мы не исчерпаем количество строк, которые есть в нашей таблице. Затем мы возвращаем его обратно как Text .
Теперь у нас есть гарантированный порядок сортировки для нашей таблицы, который идет от самого высокого ROI к самому низкому. Итак, вот ваш DAX для гарантированного порядка сортировки.
Таблица 2
Теперь, чтобы получить это в пригодном для использования формате, мы должны сделать Table2 , где мы выберем отдельные столбцы из нашей строки, которая у нас есть.
Давайте воспользуемся еще одним ADDCOLUMNS , чтобы добавить в таблицу 1 наш цикл for. Для кампаний создайте столбец кампаний и используйте , чтобы заменить звездочки вертикальной чертой. Затем мы будем использовать PATHITEM в RowPath, чтобы получить первый элемент и вернуть его как ТЕКСТ.
В столбце «Анализированная рентабельность инвестиций» мы будем делать то же самое. ЗАМЕНИТЕ звездочки трубочками. Затем возьмите второй элемент на нашем пути и верните его как ТЕКСТ. Мы делаем это, потому что по какой-то причине PATHITEM позволяет нам возвращать целое число или текст, но не десятичные числа.
Это немного странно, но мы можем решить эту проблему, потому что все, что нам нужно сделать, это добавить ноль, и DAX автоматически преобразует строку TEXT в числовое значение.
Опять же, мы делаем то же самое для столбца «Стоимость» . Мы используем ПОДСТАВИТЬ и ПУТЬ , чтобы получить третий элемент. Затем, чтобы вернуть число, мы снова добавляем ноль, потому что в данном случае это целое число.
Остальная часть нашего кода — это цикл while, который мы обсуждали ранее. Теперь мы получаем наш гарантированный порядок сортировки от самой высокой до самой низкой кампании.
Наш SEM был нашим самым высоким ROI для нашей кампании, а Instagram — вторым.
Внешние инструменты в LuckyTemplates — LuckyTemplates Power Sort Pro
Как сортировать и фильтровать диаграммы в построителе отчетов
Динамическая сортировка визуализаций в отчетах LuckyTemplates
Заключение
Используя циклы while и for, мы успешно использовали пользовательскую сортировку LuckyTemplates в нашей модели данных на основе их ROI — доказательство того, что DAX определенно может гарантировать порядок сортировки.
Важно убедиться, что ваши данные правильно отсортированы в DAX, чтобы точно анализировать и визуализировать их. Вы можете применить знания, полученные в этом руководстве, для надлежащей сортировки данных для следующего отчета.
Всего наилучшего,
Грег Деклер
В этом руководстве показано, как в конечном итоге можно рассчитать разницу между еженедельными результатами продаж с помощью DAX в LuckyTemplates.
Что такое self в Python: примеры из реального мира
Вы узнаете, как сохранять и загружать объекты из файла .rds в R. В этом блоге также рассказывается, как импортировать объекты из R в LuckyTemplates.
В этом руководстве по языку программирования DAX вы узнаете, как использовать функцию GENERATE и как динамически изменять название меры.
В этом учебном пособии рассказывается, как использовать технику многопоточных динамических визуализаций для создания аналитических сведений из динамических визуализаций данных в ваших отчетах.
В этой статье я пройдусь по контексту фильтра. Контекст фильтра — одна из основных тем, с которой должен ознакомиться любой пользователь LuckyTemplates.
Я хочу показать, как онлайн-служба LuckyTemplates Apps может помочь в управлении различными отчетами и аналитическими данными, созданными из различных источников.
Узнайте, как рассчитать изменения вашей прибыли, используя такие методы, как разветвление показателей и объединение формул DAX в LuckyTemplates.
В этом руководстве будут обсуждаться идеи материализации кэшей данных и то, как они влияют на производительность DAX при предоставлении результатов.
Если вы все еще используете Excel до сих пор, то сейчас самое подходящее время, чтобы начать использовать LuckyTemplates для своих бизнес-отчетов.