Forum Discussion
BASE RANKX en otras columnas
Hola a todos, estoy tratando de clasificar (de menor a más alto) una columna como abajo
1.) Clasificación de Productos (ASC): Clasificación de los "Productos" de mayor a menor
Esto está funcionando -
Ranking of Products(ASC)= RANKX( ALLSELECTED(Table),CALCULATE(SUM('Table'[Products])))
2.)Clasificación del costo (DESC): Clasificación del "coste" sólo cuando "Ranking de Productos (ASC)" - 1
Esto no funciona -
Ranking of cost(DESC) = IF([Ranking of Products(ASC)]=1,RANKX( ALLSELECTED(Table),CALCULATE(SUM('Table'[cost])),,ASC))
| Artículos | Productos | Costo más bajo |
| A | 5 | 12 |
| B | 5 | 8 |
| C | 5 | 5 |
| D | 4 | 4 |
| E | 2 | 7 |
Resultado deseado:
| Artículos | Productos | Costo | Clasificación de productos (ASC) | Clasificación de costes (DESC) | |
| A | 5 | 12 | 1 | 3 | |
| B | 5 | 8 | 1 | 2 | |
| C | 5 | 5 | 1 | 1 | |
| D | 4 | 4 | 3 | ||
| E | 2 | 7 | 2 |
¿Podría darme algunos consejos sobre la segunda medida? ¡Muchas gracias!
@ngct1112 , Probar como
new Rank á RANKX( filter(ALLSELECTED(Table[Items],Table[Products]), Table[Products] ?max(Table[Products])), CALCULATE(SUM('Table'[cost])),,ASC)
Clasificación del costo (DESC) - IF([Ranking of Products(ASC)]-1,[new Rank ], blank())
Hola @ngct1112 ,
Para la lógica de la orden DESC y la orden ASC, puede ser incorrecta en el post original. Y lo he corregido en las siguientes fórmulas .
Puede crear medidas como DAX a continuación.
Ranking of Products(DESC) = RANKX( ALLSELECTED('Table'),CALCULATE(SUM('Table'[Products])), ,DESC,Dense) Ranking of cost(ASC) = IF('Table'[Ranking of Products(DESC)]=1, RANKX( FILTER(ALLSELECTED('Table'), 'Table'[Ranking of Products(DESC)]=1),CALCULATE(SUM('Table'[cost])),,ASC,Dense))Saludos
Amy
Equipo de apoyo a la comunidad _ Amy
Si este post ayuda,entonces considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.
3 Replies
- amitchandakSuper User
@ngct1112 , Probar como
new Rank á RANKX( filter(ALLSELECTED(Table[Items],Table[Products]), Table[Products] ?max(Table[Products])), CALCULATE(SUM('Table'[cost])),,ASC)
Clasificación del costo (DESC) - IF([Ranking of Products(ASC)]-1,[new Rank ], blank())
- AnonymousNot applicable
Si expression expression o value se evalúa como BLANK, se trata como un 0 (cero) para todas las expresiones que dan como resultado un número o como un texto vacío para todas las expresiones de texto.
Si value no está entre todos los valores posibles de expresión, RANKX agrega temporalmente valor a los valores de expression y reevalua RANKX para determinar el rango de valoradecuado.
Los argumentos opcionales se pueden omitir colocando una coma vacía (,) en la lista de argumentos, es decir, RANKX(Inventory, [InventoryCost],,,"Dense")
Esta función no se admite para su uso en el modo DirectQuery cuando se usa en columnas calculadas o reglas de seguridad de nivel de fila (RLS).
- v-xicaiCommunity Support
Hola @ngct1112 ,
Para la lógica de la orden DESC y la orden ASC, puede ser incorrecta en el post original. Y lo he corregido en las siguientes fórmulas .
Puede crear medidas como DAX a continuación.
Ranking of Products(DESC) = RANKX( ALLSELECTED('Table'),CALCULATE(SUM('Table'[Products])), ,DESC,Dense) Ranking of cost(ASC) = IF('Table'[Ranking of Products(DESC)]=1, RANKX( FILTER(ALLSELECTED('Table'), 'Table'[Ranking of Products(DESC)]=1),CALCULATE(SUM('Table'[cost])),,ASC,Dense))Saludos
Amy
Equipo de apoyo a la comunidad _ Amy
Si este post ayuda,entonces considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.