Вопрос или проблема
У меня есть образец набора данных Excel, который я структурировал в таблице ниже. Потенциальное целевое значение (PTV) является фиксированным для всех сегментов и категорий, как показано в таблице ниже. Ежедневно объем валовых продаж (GMV) динамичен и основан на том, что они достигли во время продаж. Результат потенциального значения на первую день (RPT) будет таким же, как PTV, в то время как с второго дня и выше RPT будет динамическим.
Вот как работает логика формулы:
RPT для второго дня (Day2_RPT) = F2+(F2-G2); RPT для третьего дня (Day3_RPT) = H2+(H2-I2) и так далее.
Пожалуйста, как это можно сделать с помощью DAX, потому что я пытаюсь воспроизвести это в Power BI, но безуспешно?
Таблица:
Точка учета | Сегмент | Категория | PTV | День1_GMV | День1_RPT | День2_GMV | День2_RPT | День3_GMV | День3_RPT
A | Продукты питания | Масло | #30,000 | #15,000 | #30,000 | #20,000 | #40,000 |
Я пробовал кумулятивный потенциал, но это не дает мне ожидаемого результата.
Ответ или решение
Для расчета Потенциала Высокой Динамики (Running Potential, RPT) в Power BI с использованием DAX, важно понять логику вычислений, основанную на значениях GMV (Gross Merchandise Value) и фиксированных значениях Потенциальной Целевой Стоимости (PTV).
Объяснение формулы
Согласно предоставленной логике, RPT для первого дня равен фиксированному значению PTV. С 2-го дня и далее RPT рассчитывается на основе динамического значения GMV, используя следующую формулу:
-
Для второго дня:
[
\text{Day2_RPT} = \text{Day1_RPT} + (\text{Day1_RPT} – \text{Day1_GMV})
] -
Для третьего дня:
[
\text{Day3_RPT} = \text{Day2_RPT} + (\text{Day2_RPT} – \text{Day2_GMV})
]
Эта логика повторяется для каждого следующего дня.
Реализация в DAX
Для того чтобы реализовать данную логику в Power BI с использованием DAX, следует создать измерения, которые будут вычислять RPT для каждого дня. Пример кода DAX для первого, второго и третьего дня может выглядеть следующим образом:
-
Измерение для первого дня (Day1_RPT):
Day1_RPT = FIRSTNONBLANK(Data[PTV], 0)
-
Измерение для второго дня (Day2_RPT):
Day2_RPT = VAR Day1_RPT = [Day1_RPT] VAR Day1_GMV = SUM(Data[Day1_GMV]) RETURN Day1_RPT + (Day1_RPT - Day1_GMV)
-
Измерение для третьего дня (Day3_RPT):
Day3_RPT = VAR Day2_RPT = [Day2_RPT] VAR Day2_GMV = SUM(Data[Day2_GMV]) RETURN Day2_RPT + (Day2_RPT - Day2_GMV)
Описание шагов
- Первая строка используется для установления фиксированного значения PTV в качестве начального значения для RPT первого дня.
- Вторая и третья строки создают переменные для хранения значений RPT и GMV для предыдущих дней, затем используют их для вычисления RPT для текущего дня.
Заключение
Согласно вашей задаче, данный подход позволит вам динамически вычислять RPT по дням, используя данные GMV и фиксированное значение PTV. Не забудьте подключить таблицу, содержащую ваши данные, и убедитесь, что названия колонок в DAX-коде совпадают с названиями в вашей модели данных.
Этот метод предоставит вам необходимую гибкость для анализа и прогнозирования, что позволит глубже понять динамику ваших продаж. Обращаясь к этой информации, вы сможете принимать более обоснованные решения на базе актуальных данных.
Оптимизация и будущие шаги
После успешного внедрения вычислений RPT, рекомендуется рассмотреть возможность визуализации этих данных для более глубокого анализа и понимания трендов. Используйте различные графики и диаграммы в Power BI, чтобы проиллюстрировать динамику продаж и тенденции в RPT, что позволит вам убедиться, что стратегии, принятые вашей компанией, работают эффективно и приносят желаемые результаты.