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

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
googlogmob
Advocate II
Advocate II

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)

View solution in original post

1 REPLY 1
googlogmob
Advocate II
Advocate II

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)

Helpful resources

Announcements
September Update

Check it Out!

Click here to learn more about the September 2022 updates!

Power BI Dev Camp Session 26

Check it Out!

Mark your calendars and join us on Thursday, September 29 at 11a PDT for a great session with Ted Pattison!

Top Solution Authors