Расчет недельных продаж с помощью DAX в LuckyTemplates
                            В этом руководстве показано, как в конечном итоге можно рассчитать разницу между еженедельными результатами продаж с помощью DAX в LuckyTemplates.
Я собираюсь поговорить о динамической сегментации с использованием динамических параметров, потому что я видел, как участники много раз спрашивали об этом на форуме поддержки LuckyTemplates. Вы можете посмотреть полное видео этого урока в нижней части этого блога.
Что сложно в этом, так это выяснить, какие области сегментировать в первую очередь. Вам также придется найти способ ввести в формулу динамические параметры. Я собираюсь упростить все это с помощью примера, который я собираюсь показать здесь.
Оглавление
Создание параметра «что, если»
Первое, что мне нужно, это параметр. В этом случае я создал параметр Customer Rank .

Я создал этот параметр, зайдя в раздел «Моделирование», а затем нажав «Новый параметр».

Параметр «что, если» автоматически создал бы для меня таблицу. Он также создает меру для сделанного мной выбора.

Когда я перетащу это в свой отчет, он покажет, какой выбор я сделал в слайсере.

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

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

Теперь я хочу разделить свой доход, сравнив своих лучших и худших клиентов. Я также хочу, чтобы обе эти верхние и нижние группы были динамическими. Здесь на помощь приходят динамические параметры.
Применение динамических параметров
Поэтому результаты должны меняться в зависимости от того, как я хочу смотреть на данные. Это означает, что если я изменю слайсер для Customer Rank , данные в таблице также должны измениться.

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

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

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

Используя TOPN , я буду обрабатывать все данные о клиентах. Однако это будет поддерживать контекст только для первых 4, поскольку этот параметр задается в таблице. Это значение, которое я установил в слайсере.
Я могу переместить свой слайсер на 3, и результаты также должны измениться и отражать только данные для первых 3.

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

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

Чтобы получить общее количество клиентов , я использовал функцию .

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

Здесь я также использовал функции CALCULATE и TOPN . Но вместо того, чтобы просто ввести рейтинг клиента , я использовал разницу между общим количеством клиентов и значением рейтинга клиента .

Затем вместо того, чтобы просто размещать и Customer Names , мне пришлось добавить логику. Поскольку я получаю нижних клиентов, а не верхних, я собираюсь использовать ASC вместо DESC .

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

Из-за этого мои данные теперь показывают, сколько клиентов действительно совершили покупку. В этой первой строке показано, что 11 клиентов купили что-то в этом конкретном магазине в течение заданного периода времени.

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

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

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

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

С помощью этих визуализаций я могу лучше понять числа. Это, например, показывает, какие магазины подвержены более высокому риску. Я вижу, в каких магазинах очень мало покупателей, что приводит к низкому доходу.
Динамическая сегментация: как сегментировать клиентов на группы с помощью 
методов сегментации клиентов Advanced DAX с использованием модели данных — 
Пример сегментации LuckyTemplates и DAX с использованием Advanced DAX в LuckyTemplates
Заключение
Данные, которые я использовал здесь, имеют очень низкую частоту, но представьте себе возможности, когда это применяется к большим наборам данных. Этот метод также может сегментировать другую информацию и добавлять множество различных параметров, помимо только самых популярных и худших клиентов или местоположений магазинов.
В этом примере также показано, как работать с мерами внутри мер. Подобные методы дают удивительное представление о данных, независимо от того, где они применяются.
Всего наилучшего,
В этом руководстве показано, как в конечном итоге можно рассчитать разницу между еженедельными результатами продаж с помощью DAX в LuckyTemplates.
Что такое self в Python: примеры из реального мира
Вы узнаете, как сохранять и загружать объекты из файла .rds в R. В этом блоге также рассказывается, как импортировать объекты из R в LuckyTemplates.
В этом руководстве по языку программирования DAX вы узнаете, как использовать функцию GENERATE и как динамически изменять название меры.
В этом учебном пособии рассказывается, как использовать технику многопоточных динамических визуализаций для создания аналитических сведений из динамических визуализаций данных в ваших отчетах.
В этой статье я пройдусь по контексту фильтра. Контекст фильтра — одна из основных тем, с которой должен ознакомиться любой пользователь LuckyTemplates.
Я хочу показать, как онлайн-служба LuckyTemplates Apps может помочь в управлении различными отчетами и аналитическими данными, созданными из различных источников.
Узнайте, как рассчитать изменения вашей прибыли, используя такие методы, как разветвление показателей и объединение формул DAX в LuckyTemplates.
В этом руководстве будут обсуждаться идеи материализации кэшей данных и то, как они влияют на производительность DAX при предоставлении результатов.
Если вы все еще используете Excel до сих пор, то сейчас самое подходящее время, чтобы начать использовать LuckyTemplates для своих бизнес-отчетов.