cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
googlogmob Member
Member

CALCULATE 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 months, but I cant get min value over every month in selected previuos period (by parameter) - for example, in oct'17 must be 51775 (min value over 98343, 65019 and 51775)

Значения min -Nмес = 
VAR dat = MIN('Календарь'[Дата])
VAR variablePlusOneDay = [Значение Параметр Месяц]+1
VAR DateFrom = EOMONTH(dat;-variablePlusOneDay)+1
VAR DateTill = EOMONTH(dat;-1)
VAR result = CALCULATE([Значения];DATESBETWEEN('Календарь'[Дата];DateFrom;DateTill))

RETURN result

Screenshot_1.png

1 ACCEPTED SOLUTION

Accepted Solutions
Highlighted
googlogmob Member
Member

Re: CALCULATE MIN value over several months

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)
1 REPLY 1
Highlighted
googlogmob Member
Member

Re: CALCULATE MIN value over several months

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)