Расчет PowerBI / DAX ProgressToDate

Я пытаюсь создать вычисляемый столбец (или, если возможно, измерить), который позволит мне увидеть разницу между общим объемом продаж за последние месяцы и общим объемом продаж за текущий месяц.

Прямо сейчас у меня есть столбиковая диаграмма, которая показывает продажи за каждый месяц (имя месяца на оси x), но когда я смотрю на текущий месяц, продажи намного ниже, потому что мы только 10 дней в месяце. Мне нужен показатель или вычисляемый столбец, который может сказать мне, сколько продаж мне нужно, чтобы достичь того же объема продаж, который был у меня в прошлом месяце.

Вот что я до сих пор придумал ... (не работает)

ProgressRemaining = CALCULATE(CALCULATETABLE('Date', 'Date'[MonthOfYear]>=MONTH(now()-1))), COUNT(LineItems[Quantity]), PREVIOUSMONTH('Date'[FullDate])) - CALCULATE( COUNT(LineItems[Quantity]), MONTH(NOW()))))

person SUMguy    schedule 11.01.2017    source источник


Ответы (1)


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

  1. Мера текущего дохода. Я предполагаю, что он у вас уже есть, и он называется «Доход». (Зеленый на скриншоте выше.)
  2. Показатель дохода за предыдущий месяц
  3. Мера, позволяющая определить, текущий месяц это или нет.
  4. Мера для вычитания дохода за текущий месяц из дохода за предыдущий, только если это текущий месяц.

Для №2:

PriorMonthRevenue = CALCULATE([Revenue], DATEADD('Date'[FullDate], -1, MONTH))

Для №3:

IsCurrentMonth = IF(CALCULATE(MIN('Date'[FullDate])) <= TODAY() && CALCULATE(MAX('Date'[FullDate])) >= TODAY(), TRUE, FALSE)    

Обратите внимание, что, вероятно, есть более эффективные способы сделать это, особенно если ваши данные запаздывают (например, если 1-го числа месяца вы по-прежнему хотите, чтобы показатель вел себя так же, как и в предыдущем месяце


Для №4:

DifferenceFromLastMonth = IF([IsCurrentMonth] = TRUE, [PriorMonthRevenue]-[Revenue], 0)

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

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

person Leonard    schedule 12.01.2017
comment
Работал как шарм! Единственная корректировка, которую мне пришлось сделать, - это удалить 0 в конце последнего оператора IF, потому что, когда он оценивается как 0, он по-прежнему отображает 0 значений на гистограмме для всех будущих дат в моем измерении даты. Я считаю, что удаление 0 приводит к оценке FALSE, которая просто игнорируется на гистограмме (поэтому у меня нет 0 для февраля 2017 - декабря 2018) - person SUMguy; 13.01.2017
comment
Хорошая точка зрения! Вы также можете заменить 0 на BLANK (), и это будет иметь тот же эффект (не отображается на гистограмме). - person Leonard; 13.01.2017