Forum Discussion
Medida de rango
)
- Syndicate_Admin4 years ago
Administrator
En este caso, necesitas una especie de ... desempate. Prueba algo como esto...
VAR _TieBreaker = IF( ISINSCOPE('InjuryCause'[Cause Grouping]), VAR _cRecord = MAX('InjuryCause'[Cause Grouping]) VAR _tmpRank = COUNTROWS( FILTER(ALL('InjuryCause'), 'InjuryCause'[Cause Grouping] >= _cRecord )) RETURN _tmpRank ) RETURN IF( ISINSCOPE( 'InjuryCause'[Cause Grouping]), RANKX ( CALCULATETABLE ( VALUES ( 'InjuryCause'[Cause Grouping]), ALLSELECTED ( 'InjuryCause'[Cause Grouping] ) ), [Count of Total Gross Incurred] + DIVIDE(_TieBreaker, 100), , DESC, DENSE ) )- Syndicate_Admin4 years ago
Administrator
Ok disculpe a mi novato en esto, ¿qué es cRecord y por qué la división?
Todo lo que quiero hacer es usar el Conteo de Total Bruto Incurrido para establecer el rango y luego usar suma de Total Bruto Incurrido para cada Grupo de Causa para romper el empate.
- Syndicate_Admin4 years ago
Administrator
cRecord es solo un nombre de variable. Puedes llamarlo como quieras, pero lo estoy etiquetando como cRecord para indicar que es el registro actual en el visual.
La división se utiliza para convertir un número entero en un número decimal. El desempate analiza toda la salida visible y devuelve una puntuación de desempate a partir de 1 y hacia arriba hasta su último registro visible.
Si desglosa la salida, sería algo similar (teniendo en cuenta que el recuento más bajo se clasifica en el puesto 1):
1 + 1/100 = Rango 12 + 2/100 = Rango 23 + 3/100 = Rango 34 + 4/100 = Rango 45 + 5/100 = Rango 55 + 6/100 = Rango 65 + 7/100 = Rango 75 + 8/100 = Rango 85 + 9/100 = Rango 9