cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
Highlighted
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

Accepted Solutions
Highlighted
Solution Sage
Solution Sage

Re: RANK X inst understanding value > 0

// 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
Highlighted
Solution Sage
Solution Sage

Re: RANK X inst understanding value > 0

// 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
Ignite

Microsoft Ignite

This will be a conference that you do not want to miss!

Get Ready for Power BI Dev Camp

Get Ready for Power BI Dev Camp

Don't miss the Power BI Dev Camp this week!

August Community Highlights

Check out a full recap of the month!

August 2020 CYST Challenge

Check out the winners of the recent 'Can You Solve These?' community challenge!

Experience what’s next for Power BI

Join us for an in-depth look at the new Power BI features and capabilities at the free Microsoft Business Applications Launch Event.

Top Solution Authors