Función RANX

Un usuario Pregunto ✅

Sandee

Hola a todos,

esto podría ser muy tonto hacer esta pregunta en RANK DAX, sin embargo, soy nuevo y estoy aprendiendo POWER Bi. por favor si pudieras ayudarme.

Tengo una tabla y quiero dar «Clasificación» sobre la base de la cantidad adeudada por el cliente,

dentro de la tabla hay una columna al final llamada «Deuda vencida» que representa «Sí» y «No» si el monto vence entonces «Sí»

y si no «No».

«1 - Captura de pantalla.PNG

así que trato de preparar la clasificación en ambas condiciones, si selecciono «Sí», entonces debería obtener la clasificación, si selecciono «NO», también debería reflejar la clasificación. por favor si pudiera ayudar y aconsejar.

Intenté aplicar esto en Excel usando countif.

antrikshsharma

En respuesta a Sandee

@sandee ¿Es así como lo quieres? He adjuntado el archivo debajo de mi firma.

1 PNG

Measure =
VAR Yes =
    CALCULATETABLE ( Sandee, Sandee[Debt Overdue] = "yes", ALL ( Sandee ) )
VAR No =
    CALCULATETABLE ( Sandee, Sandee[Debt Overdue] = "no", ALL ( Sandee ) )
VAR CurrentSelection =
    SELECTEDVALUE ( Sandee[Debt Overdue] )
VAR Ranking =
    IF (
        CurrentSelection = "yes",
        RANKX ( Yes, [Total Due],, DESC ),
        RANKX ( No, [Total Due],, DESC )
    )
VAR Result =
    IF ( ISINSCOPE ( Sandee[Debt Overdue] ), Ranking )
RETURN
    Result

amichandak

@sandee,

if(valor seleccionado(segmentador[slicer]) = «no»,
rangox(todos(tabla[Cust no]), calcular (suma (Tabla[amount]), filtro(Tabla,Tabla[Debt Overdue] = «no»))),
rangox(todos(tabla[Cust no]), calcular (suma (Tabla[amount]), filtro(Tabla,Tabla[Debt Overdue] = «sí»)))
)

Para el rango, consulte estos enlaces
https://radacad.com/how-to-use-rankx-in-dax-part-2-of-3-calculated-measures
https://radacad.com/how-to-use-rankx-in-dax-part-1-of-3-calculated-columns
https://radacad.com/how-to-use-rankx-in-dax-part-3-of-3-the-finale
https://community.powerbi.com/t5/Community-Blog/Dynamic-TopN-made-easy-with-What-If-Parameter/ba-p/3…

Sandee

En respuesta a amichandak

Hola Amit,

Muchas gracias por su respuesta, esto es lo que obtengo después de aplicar:

2 - Captura de pantalla.PNG

Lo siento por la respuesta tardía, esto se debe a una mala conexión a Internet. Por favor, ¿puede aconsejarme más sobre cómo podemos obtener una clasificación adecuada desde el 1 hasta el final de los clientes?

antrikshsharma

En respuesta a Sandee

@sandee ¿Es así como lo quieres? He adjuntado el archivo debajo de mi firma.

1 PNG

Measure =
VAR Yes =
    CALCULATETABLE ( Sandee, Sandee[Debt Overdue] = "yes", ALL ( Sandee ) )
VAR No =
    CALCULATETABLE ( Sandee, Sandee[Debt Overdue] = "no", ALL ( Sandee ) )
VAR CurrentSelection =
    SELECTEDVALUE ( Sandee[Debt Overdue] )
VAR Ranking =
    IF (
        CurrentSelection = "yes",
        RANKX ( Yes, [Total Due],, DESC ),
        RANKX ( No, [Total Due],, DESC )
    )
VAR Result =
    IF ( ISINSCOPE ( Sandee[Debt Overdue] ), Ranking )
RETURN
    Result

amichandak

En respuesta a Sandee

@sandee, creo que este mismo caso, lo enfrenté

Rango de ciudad = RANKX(all(Geografía[City]),[Sales]) // No funcionan con identificación de la ciudad
Clasificación geográfica = RANKX(todas(Geografía),[Sales]) // trabajo con identificación de la ciudad
Ciudad y rango de ID = RANKX(todos(Geografía[City],Geografía[City Id]),[Sales])// trabajo con identificación de la ciudad

Pruebe su clasificación tanto en la identificación del cliente como en el nombre del cliente

Rango = RANGOX(todos(Tabla[Cust ID],Geografía[Cust Name]), Calcular (Suma (‘Libro de trabajo'[Amount Due])))

Básicamente, el rango está dentro del otro grupo seleccionado en el contexto

antrikshsharma

En respuesta a amichandak

El archivo @sandee se adjunta debajo de mi firma. También necesita trabajar en su modelo de datos, muchas a muchas relaciones no son buenas.

Measure 2 =
VAR vTableWithout_DebtOverdueColumn =
    CALCULATETABLE (
        SUMMARIZE (
            'Working ledger',
            'Working ledger'[Cust Name],
            'Working ledger'[Cust. No.]
        ),
        ALLSELECTED ( 'Working ledger' )
    )
VAR vTableWith_DebtOverdueColumn =
    CALCULATETABLE (
        SUMMARIZE (
            'Working ledger',
            'Working ledger'[Cust Name],
            'Working ledger'[Cust. No.],
            'Working ledger'[Debt overdue]
        ),
        ALLSELECTED ( 'Working ledger' )
    )
VAR FullRanking =
    RANKX ( vTableWith_DebtOverdueColumn, [Amount Due],, DESC, SKIP )
VAR PartialRanking =
    RANKX ( vTableWithout_DebtOverdueColumn, [Amount Due],, DESC, SKIP )
VAR DebtOverDueColumnIncluded =
    ISINSCOPE ( 'Working ledger'[Debt overdue] )
VAR HideRankFromGrandTotal =
    ISINSCOPE ( 'Working ledger'[Cust Name] )
        || ISINSCOPE ( 'Working ledger'[Cust. No.] )
VAR Result =
    IF (
        HideRankFromGrandTotal,
        IF ( DebtOverDueColumnIncluded, FullRanking, PartialRanking )
    )
RETURN
    Result

1 PNG2 PNG3 PNG

greg_deckler

@sandee: vea si esto lo lleva allí, de lo contrario, envíeme un @ y lo miraré más de cerca https://community.powerbi.com/t5/Quick-Measures-Gallery/To-Bleep-with-RANKX/mp/1042520 #M452

Sandee

En respuesta a greg_deckler

Hola Antrish,

Super Duper Shot …….. Genial ……

el archivo que adjuntaste es exactamente lo que busco, no lo he aplicado en mi archivo porque parece atascado, pero me pondré en contacto contigo al respecto. Muchas muchas gracias por esto. Dios lo bendiga….

antrikshsharma

En respuesta a Sandee

@sandee Genial, una vez que pueda replicar lo mismo en su modelo y no tenga problemas, marque mi publicación como resuelta para que otros puedan encontrar fácilmente la solución. De lo contrario, avíseme si todavía tiene algún problema.

Sandee

En respuesta a antrikshsharma

Hola Antrish,

Al aceptar esto como mi solución, obtengo el siguiente mensaje de error una y otra vez. He comprobado que todo está bien, pero sigue igual.

Error.PNG

antrikshsharma

En respuesta a Sandee

@sandee, no hay problema, lo haré en tu nombre 😄

Sandee

En respuesta a greg_deckler

Hola Greg,

gracias por la referencia,

parece que nada funciona aquí, no obtengo el resultado deseado. trabajando en una fórmula de casi una semana, realmente harto.

antrikshsharma

En respuesta a Sandee

@sandee, ¿te funciona mi solución?

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *