cancel
Showing results for
Did you mean: 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?  1 ACCEPTED SOLUTION  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  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  