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».
«
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.
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:
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.
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
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.
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?