cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
Arlenio
Regular Visitor

RANK X inst understanding value > 0

I have this rank measure that is ranking less than 0, as "rank 1". But I want it to be classified as last. And as you can see in my calculate, I'm only ranking values> = 0. Would anyone know how to help me?

rank.JPG

 

  

2.JPG

1 ACCEPTED SOLUTION
daxer
Solution Sage
Solution Sage

// Your measure for ranking should be:

[Ranking Measure] =
if( HASONEFILTER( T[Papel] ),

	var __maxValue =
		// You can replace this value
		// with some big, big value that
		// you know will never appear as
		// the value of [Div Liquida/ebit].
		// This will speed up this calculation.
		MAXX(
			ALLSELECTED( T[Papel] ),
			[Div Liquida/ebit]
		)
	var __greaterMaxValue = __maxValue + 1
	var __currentMeasure = [Div Liquida/ebit]
	var __result =
		if( __currentMeasure < 0,
			__greaterMaxValue,
			__currentMeasure
		)
	return
		__result
		
)
		
// The measure above just assigns to the negative
// values of the measure a value higher than
// the highest value for all the visible values
// of the measure. You should then use this measure
// in the RANKX function. The measure also checks
// if only one Papel value is visible in the current
// context. If not, then it returns BLANK(). So, you'll
// have to make sure that you're calculating ranks
// against single Papel values. But it makes no sense
// to calculate a rank against an amalgamated set of
// values as this has no meaning anyway.

 

Best

D

View solution in original post

1 REPLY 1
daxer
Solution Sage
Solution Sage

// Your measure for ranking should be:

[Ranking Measure] =
if( HASONEFILTER( T[Papel] ),

	var __maxValue =
		// You can replace this value
		// with some big, big value that
		// you know will never appear as
		// the value of [Div Liquida/ebit].
		// This will speed up this calculation.
		MAXX(
			ALLSELECTED( T[Papel] ),
			[Div Liquida/ebit]
		)
	var __greaterMaxValue = __maxValue + 1
	var __currentMeasure = [Div Liquida/ebit]
	var __result =
		if( __currentMeasure < 0,
			__greaterMaxValue,
			__currentMeasure
		)
	return
		__result
		
)
		
// The measure above just assigns to the negative
// values of the measure a value higher than
// the highest value for all the visible values
// of the measure. You should then use this measure
// in the RANKX function. The measure also checks
// if only one Papel value is visible in the current
// context. If not, then it returns BLANK(). So, you'll
// have to make sure that you're calculating ranks
// against single Papel values. But it makes no sense
// to calculate a rank against an amalgamated set of
// values as this has no meaning anyway.

 

Best

D

View solution in original post

Helpful resources

Announcements
UG GA Amplification 768x460.png

Launching new user group features

Learn how to create your own user groups today!

Power BI October Update 2021.jpg

Power BI Release

Click here to read more about the October 2021 Release!

Community Connections 768x460.jpg

Community & How To Videos

Check out the new Power Platform Community Connections gallery!

Teds Dev Camp Oct. 2021 768x460.jpg

Power BI Dev Camp - October 28th, 2021

Mark your calendars and join us for our next Power BI Dev Camp!

Top Solution Authors