MDX Filter By Current Member Value Range
Posted: Fri May 12, 2023 1:28 pm
				
				Hi,
I'm trying to write a MDX filter statement to return years from 2018 to upcoming budget year (say 2024 for now).
This one works.
What I want to do is to change 2024 to become a variable, and I added: 
What I would like to know is how to change the upper range statement to replace 2024.
Thanks!
Kenneth
			I'm trying to write a MDX filter statement to return years from 2018 to upcoming budget year (say 2024 for now).
This one works.
Code: Select all
vIndexDim = 1;
WHILE(TABDIM(vCube, vIndexDim) @<> '');
	vDimName = TABDIM(vCube, vIndexDim);
	SubsetDestroy(vDimName,vSubset);
	IF( vDimName @='Year');
	vMDX= '	{FILTER
			(
			TM1FILTERBYLEVEL (
					      TM1DRILLDOWNMEMBER( {[' | vDimName| '].[(ALL YEARS)]}, ALL, RECURSIVE)
					    ,0
					     )
			,StrToValue ( [' | vDimName| '].currentmember.name )>2017
			 AND
			 StrToValue ( [' | vDimName| '].currentmember.name )<= 2024
			)
		}';
ELSE;
	vMDX = '{TM1FILTERBYLEVEL( TM1SUBSETALL( [' | vDimName | ']), 0)}'; 
               ENDIF;
SubsetCreateByMDX(vSubset, vMDX);
	ViewSubsetAssign(vCube, vView, vDimName, vSubset);
	vIndexDim = vIndexDim +1;
END;
Code: Select all
pCurrentBudgetYear = StringToNumber(CellGetS('Control','Current Budget Year', 'svalue'));
Code: Select all
StrToValue ( [' | vDimName| '].currentmember.name )<= 2024
Kenneth