Forum Discussion
googlogmob
Advocate II
8 years agoCALCULATE MIN value over several months
Hi We have to get min value over several previous months Count of previouth months I get using parameter. Current month is exluding This measure now returns total value over several previous month...
- 8 years ago
Here is one of the way
Скользящее мин Значения = VAR dat = MIN('Календарь'[Дата]) VAR variable = [Значение Параметр Месяц] VAR variablePlusOneDay = [Значение Параметр Месяц]+1 VAR DateFrom = EOMONTH(dat;-variablePlusOneDay)+1 VAR DateTill = EOMONTH(dat;-1) VAR result = IF( ISFILTERED('Календарь'[Дата]); ERROR("Быстрые меры временной аналитики можно группировать и фильтровать только по иерархии дат или столбцу первичных дат из Power BI."); VAR __LAST_DATE = ENDOFMONTH('Календарь'[Дата].[Date]) VAR __DATE_PERIOD = DATESBETWEEN( 'Календарь'[Дата].[Date]; STARTOFMONTH(DATEADD(__LAST_DATE; -variable; MONTH)); ENDOFMONTH(DATEADD(__LAST_DATE; -1; MONTH)) ) RETURN MINX( CALCULATETABLE( SUMMARIZE( VALUES('Календарь'); 'Календарь'[Дата].[Год]; 'Календарь'[Дата].[№Квартала]; 'Календарь'[Дата].[Квартал]; 'Календарь'[Дата].[№Месяца]; 'Календарь'[Дата].[Месяц] ); __DATE_PERIOD ); CALCULATE('Показатели'[Значения]; ALL('Календарь'[Дата].[День])) ) ) RETURN IF(ISBLANK([Значения]);BLANK();result)
googlogmob
Advocate II
8 years agoHere is one of the way
Скользящее мин Значения =
VAR dat = MIN('Календарь'[Дата])
VAR variable = [Значение Параметр Месяц]
VAR variablePlusOneDay = [Значение Параметр Месяц]+1
VAR DateFrom = EOMONTH(dat;-variablePlusOneDay)+1
VAR DateTill = EOMONTH(dat;-1)
VAR result = IF(
ISFILTERED('Календарь'[Дата]);
ERROR("Быстрые меры временной аналитики можно группировать и фильтровать только по иерархии дат или столбцу первичных дат из Power BI.");
VAR __LAST_DATE = ENDOFMONTH('Календарь'[Дата].[Date])
VAR __DATE_PERIOD =
DATESBETWEEN(
'Календарь'[Дата].[Date];
STARTOFMONTH(DATEADD(__LAST_DATE; -variable; MONTH));
ENDOFMONTH(DATEADD(__LAST_DATE; -1; MONTH))
)
RETURN
MINX(
CALCULATETABLE(
SUMMARIZE(
VALUES('Календарь');
'Календарь'[Дата].[Год];
'Календарь'[Дата].[№Квартала];
'Календарь'[Дата].[Квартал];
'Календарь'[Дата].[№Месяца];
'Календарь'[Дата].[Месяц]
);
__DATE_PERIOD
);
CALCULATE('Показатели'[Значения]; ALL('Календарь'[Дата].[День]))
)
)
RETURN IF(ISBLANK([Значения]);BLANK();result)