Как рассчитать годовую дисперсию на месячной основе? - PullRequest
1 голос
/ 01 февраля 2020

Я новичок в Power BI и благодарен за помощь в DAX по этому требованию:

В моих отчетах Power BI есть флайсер (июль-июнь), и я хочу показать ежемесячные тренды за разные финансовые годы. Целевые данные структурированы следующим образом в таблице:

Даты | Цель

30-06-2018 | 34000

30-07-2018 | 34000

30-08-2018 | 34000

********** | *****

30-06-2019 | 30000

30-07-2019 | 30000

********** | ******

Мне нужно рассчитать годовую дисперсию по приведенной ниже формуле, чтобы получить месячный базовый показатель для следующего года (2019), а затем рассчитать кумулятивную дисперсию сокращения за июль-июнь:

(' Цель на 30-06-2018 ') - (' Цель на 30-06-2019 ') / 12

Даты связаны с другой таблицей DATE, в которой есть столбцы Финансовый год и Финансовый месяц.

Большое спасибо заранее за помощь !!
Анита

Ответы [ 2 ]

1 голос
/ 01 февраля 2020

Вам необходимо использовать DAX PARALLELPERIOD

PARALLELPERIOD(<dates>,<number_of_intervals>,<interval>) 

В документации приведен прекрасный пример:

 = CALCULATE(SUM(InternetSales_USD[SalesAmount_USD]), PARALLELPERIOD(DateTime[DateKey],-1,year)) 

Таким образом, ваш расчет будет выглядеть примерно так:

   = (
      CALCULATE(SUM(TargetTable[Target])) - 
      CALCULATE(SUM(TargetTable[Target]), PARALLELPERIOD(Dates[Date],-1,year))
     ) / 12

Если вы хотите ежемесячную дисперсию, то вам нужно убедиться, что даты [Дата] отфильтрованы по размеру, чтобы получить таблицу дат за весь целевой месяц.

Здесь вы можете найти отличный блог

0 голосов
/ 02 февраля 2020

В следующем году я получил базовое значение июня с SAMPLEPERIODLASTYEAR.

1: значение прошлого года = CALCULATE (SELECTEDVALUE (TargetTable [Target]), SAMPLEPERIODLASTYEAR (Dates [Date])))

2: Base Target = IF (MONTH (SELECTEDVALUE (TargetTable [Dates]) = 6, DIVIDE ([Значение прошлого года] -SELECTEDVALUE (TargetTable [Target]), 12))

Еще нужно выяснить Совокупная месячная разница за следующий финансовый год?

...