Forum Discussion

Syndicate_Admin's avatar
Syndicate_Admin
Icon for Administrator rankAdministrator
5 years ago

Ayuda sobre RANKX con segmentaciones de datos

Buen día a todos,

Como parece que hay muchos temas con respecto a la función RANKX, temas que he visitado y probado ciertas soluciones, pero sin resultado, estoy obligado a molestarme con este tema ...

Estoy tratando de hacer un "IndividualReport" basado en un SQLDatabase donde tengo los siguientes collumns.

  • Nombre
  • Fecha
  • Combustible tomado
  • Combustible planificado
  • Razón

Basado en las columnas anteriores he creado lo siguiente

  • En PowerQuery he creado una columna llamada "Combustible extra", que es la diferencia entre el combustible tomado y el combustible planificado
  • a Medida denominada "% de combustible extra Caried" = SUM(Table[Extra Fuel Carried]) / SUM(Table [Fuel Planned])

Basado en lo anterior he intentado crear

  • un RankPosition basado en % extra fuel Caried
RankPosition = CALCULAR(
RANKX( ALL(Table[Name]),[% Extra Fuel Carried],,ASC,Dense),
ALLSELECTED(Tabla[Fecha].[ Fecha]),ALLSELECTED(Tabla[MOTIVO]) )
  • y también un TotalRanking (distinctcount de Name), para tener un sentido para el ranking de cada individuo (5 out 93/ 1 out 96 y así sucesivamente)
TotalRanking = CALCULATE ( DISTINCTCOUNT(Table[Name]), ALLSELECTED(Table[Date]. Fecha]), ALLSELECTED(FDM_OFP_Fuel[RAZÓN]), ALL(FDM_OFP_Fuel[CrewName]))

En el informe, además de diferentes imágenes (gráficos de barras, etc.) he agregado algunas segmentaciones de datos

  • Nombre (para elegir de la lista para ver el escenario individual)
  • Motivo (para comprobar varias razones para el combustible extra)
  • Fecha

Los problemas vienen con las segmentaciones de datos de fecha. Si se selecciona todo el rango de Fecha (Enero - Julio 2021), el ranking funciona perfectamente. En el momento en que cambio los valores de fecha, digamos todo abril de 2021, RankPosition y TotalPosition devuelven valores galimatías como

  • el RankPosition no tiene sentido a la realidad de abril
  • el TotalRanking devuelve valores diferentes para cada individuo seleccionado cuando los valores distintos en abril es 93 nombres y yo habría esperado devolver siempre 93 para el mes de abril, no importa qué nombre individual he seleccionado

Nota: No estoy seguro de si esto es útil, pero en SQLDatabase hay algunos elementos con errores que he filtrado en PowerQuery para que no estén disponibles al crear el informe y los elementos visuales.

Una vez más, lo siento por volver a abrir este tema, pero después de muchos intentos he perdido toda esperanza y cualquier ayuda para entender el problema sería genial.

4 Replies

  • No @ValentinB,

    De acuerdo con su descripción, ¿ha marcado Tabla[Fecha]?

    si desea segmentar por fecha, deberá crear dimensiones independientes para Año, Trimestre, etc. para poder incluirlas en la instrucción ALLSELECTED().

    por favor comparta sus datos de muestra y el resultado esperado para mí si usted no tiene ninguna información confidencial.

    Artículo para referencia:Cómo proporcionar datos de ejemplo en el Foro de Power BI

    Saludos

    Caitlyn Yan

    • Syndicate_Admin's avatar
      Syndicate_Admin
      Icon for Administrator rankAdministrator

      Hola @v-caitlyn-mstf ,

      Estaba a punto de subir a mi post un .pbix y un archivo de Excel con los datos con el fin de ser más útil y luego vi su respuesta.

      A continuación se muestra un enlace a google drive con ambos archivos.

      https://drive.google.com/drive/folders/1tetsnfb5xIJtfUthOs66n5ukeH5ZctH2?usp=sharing

      Como se mencionó, cuando se selecciona la segmentación de datos con la fecha para todo el período, la medida de "Posición de rango" y "Clasificación total" funciona bien. En el momento en que he seleccionado un período diferente (ya sea un mes entero, o 15 de mayo hasta finales de julio), la posición de rango y la clasificación total cambian constantemente para cada "Nombre2" individual y no reflejan la realidad del período.

    • Syndicate_Admin's avatar
      Syndicate_Admin
      Icon for Administrator rankAdministrator

      @v-caitlyn-mstf , una cosa que olvidé mencionar, con el fin de verificar todo el período he hecho una visualización de la lista con los valores Name2 / %Extra Fuel / Rank Position / Total Ranking.

      Nota: Esta visualización no se ve alterada por la segmentación de datos Name2 (utilizando la opción "Editar interacciones" de la ficha Formato)

      Al revisar la Lista, puedo ver que funciona durante todo el período, pero en el momento en que cambio el período todavía funciona, pero para el mismo individuo se salta un valor de la Posición de Rango (ver foto de abajo) donde para, por ejemplo, el Rango 1 no existe y el valor máximo de la Posición de Rango es 102 de la Clasificación Total de 101 ...

      De nuevo, algo que no parece encontrar el "por qué" en él.

      rankx example.PNG