Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Earn the coveted Fabric Analytics Engineer certification. 100% off your exam for a limited time only!

Reply
Syndicate_Admin
Administrator
Administrator

Ordenar columna con formato condicional

Hola

Tengo la siguiente tabla con un formato condicional en la columna "Diferencia".

Número de semanaAcciónVendidoDiferencia
11218932
221220012
314210537
48468451
555250052
623131200
751451463
8874551323
954884464
101525498
11516156360
126146140

Icon flag = 
VAR _Threshold =
    DIVIDE ( SUM ( 'Product'[Sold] ), SUM ( 'Product'[Stock] ) )
RETURN
    SWITCH ( TRUE (), 
_Threshold < 0.5, 1, 
_Threshold < 0.9, 2, 
3 )

MakeItReal_1-1660225656274.png

Aquí está la visualización de la tabla , pero estoy tratando de ordenar por color, de rojo (3) a amarillo (2) a verde (1). ¿Es eso posible? Cualquier ayuda es muy apreciada.

MakeItReal_0-1660225602144.png

7 REPLIES 7
Syndicate_Admin
Administrator
Administrator

@mattkocak ¡Gracias por su respuesta! La "Columna de diferencia" es en realidad una medida y cuando la selecciono en el menú Campos, no hay "Herramientas de columna".

Diferencia = Stock - Vendido

Ahh ya veo, en ese caso siento que tienes dos opciones.

1. Utilice columnas calculadas en lugar de medidas

2. Agregue la medida 'Indicador de icono' directamente a la columna y ordene la tabla en función de esto. Podría cambiar su nombre en el visual a 'Estado' o algo similar que lo haría parecer un poco más significativo.

Hágame saber si estas soluciones parecen adecuadas o si necesita más ayuda.

@mattkocak Para simplificar el problema, he eliminado las columnas calculadas y he dejado solo la tabla y las columnas esenciales. Pero sigo enfrentando el mismo problema: estoy tratando de ordenar todos los iconos en la columna "Diferencia", de rojo a naranja a verde, en ese orden mientras mantengo el número de "ID de documento" en orden ascendente para colores de bandera de iconos similares. ¿Es esto posible?

MakeItReal_0-1660238548286.png

He subido mi archivo PBIX: https://drive.google.com/file/d/12ZQ3pH39k5f3YYceEb0rPviByJRGXRBO/view?usp=sharing

Gracias por la información adicional, que despeja un poco el objetivo. Así que tendrás que crear dos columnas calculadas para esto. Uno solo se usa como un paso intermedio (RankRaw), el otro es para mostrar / ordenar el rango real en la tabla (Rank).

A continuación se muestra el DAX para las columnas calculadas que había creado. Tenga en cuenta que las reglas de visualización en el pbix que proporcionó (rojo, amarillo, verde) eran opuestas a su publicación original. Corregí esto en mis cálculos.

RankRaw = 
VAR documentId = 'Data Table'[Document ID]

VAR _Threshold = 
    DIVIDE(
        CALCULATE(
            SUM('Data Table'[Difference]),
            ALL('Data Table'),
            'Data Table'[Document ID] = documentId
        ),
        CALCULATE(
            SUM('Data Table'[Stock amount]),
            ALL('Data Table'),
            'Data Table'[Document ID] = documentId
        )
    )

VAR statusAdjustment =
    SWITCH(
        TRUE(),
         _Threshold < 0.5, 0,
         _Threshold < 0.9, 1000000,
        10000000
    )

RETURN (1000000 - documentId) + statusAdjustment

Rank = 
    RANKX(
        'Data Table',
        'Data Table'[RankRaw],
        ,
        ,
        Dense
    )

Resultado:

mattkocak_0-1660245075803.png

Los ajustes en el DAX se pueden realizar en función de las reglas que desee utilizar para clasificar las filas. Hágame saber si esto logra lo que espera o si puedo ayudar de otra manera.

@mattkocak Gracias por su ayuda. Agregué las dos columnas calculadas, pero parece que la columna Rango no era necesaria. Ordené por RankRaw y funcionó, pero si agrego la columna Rank, la última fila contiene 8 cuando debería ser 1?

MakeItReal_0-1660246188566.png

Si ordeno por rango, entonces no es correcto ya que algunos de los amarillos se agrupan con los rojos.

MakeItReal_1-1660246322084.png

Entonces, he eliminado la columna Rank, pero ¿es posible ocultar la columna RankRaw de la tabla?

MakeItReal_2-1660246374212.png

Intente reemplazar el DAX para RankRaw con el siguiente código:

RankRaw = 
VAR documentId = 'Data Table'[Document ID]

VAR _Threshold = 
    DIVIDE(
        CALCULATE(
            SUM('Data Table'[Difference]),
            ALL('Data Table'),
            'Data Table'[Document ID] = documentId
        ),
        CALCULATE(
            SUM('Data Table'[Stock amount]),
            ALL('Data Table'),
            'Data Table'[Document ID] = documentId
        )
    )

VAR statusAdjustment =
    SWITCH(
        TRUE(),
         _Threshold < 0.5, 10000000,
         _Threshold < 0.9, 1000000,
        0
    )

RETURN documentId + statusAdjustment

Sí, deberá mostrar la columna Rango si desea ordenar en función de ella.

Syndicate_Admin
Administrator
Administrator

Puede seleccionar la columna 'Diferencia' en el menú de campos, luego en la pestaña 'Herramientas de columna', elija ordenar por la columna 'Bandera de icono'. Ahora, cuando ordene su tabla en función de la columna 'Diferencia', en realidad se ordenará en función de la columna 'Bandera de icono'.

mattkocak_0-1660227041350.png

Hágame saber si puedo ayudar a responder más preguntas. Si la publicación fue útil, ¡me ayuda si le das un pulgar hacia arriba y la marcas como una solución!

Mejor

Mate

Helpful resources

Announcements
April AMA free

Microsoft Fabric AMA Livestream

Join us Tuesday, April 09, 9:00 – 10:00 AM PST for a live, expert-led Q&A session on all things Microsoft Fabric!

March Fabric Community Update

Fabric Community Update - March 2024

Find out what's new and trending in the Fabric Community.

Top Solution Authors