Forum Discussion

Syndicate_Admin's avatar
Syndicate_Admin
Administrator
4 years ago
Solved

Problemas de RankX

Hola, tengo problemas con RANKX al filtrar. ¿Puede alguien ayudarme con este problema, por favor?

Tengo una tabla que enumera las temporadas de fútbol con los equipos. He creado una nueva columna (AllSeasonsFiling) que, cuando se ordena max to min, dará su posición en la tabla de la liga de esa temporada. Todo lo que necesito es poder filtrar los datos por temporada para obtener su número rankx. En la captura de pantalla a continuación verás los datos. Todo está en una sola mesa. No estoy seguro de si debo crear una medida o una columna calculada.

El resultado esperado sería un gráfico que muestra la posición de un equipo por año.C1.PNG

  • Syndicate_Admin's avatar
    Syndicate_Admin
    4 years ago

    @ColinH puede crear una columna como la siguiente

    Column = RANKX(FILTER('Table 1','Table 1'[Season]=EARLIER('Table 1'[Season])),'Table 1'[AllSeasonsFiling],,DESC)

    aún no se ha resuelto la medida

  • @ColinH aquí está su medida, por supuesto que ya tiene la solución, pero siempre queremos evitar agregar una columna (siempre que sea posible):

    Rank Team Season = 
    RANKX ( 
        FILTER ( 
            ALL ( TeamSeason ),
            TeamSeason[Season] = MAX ( TeamSeason[Season] ) 
        ), 
        CALCULATE ( MAX ( TeamSeason[AllSeasonsFiling] ) ), , 
        DESC 
    )

13 Replies

    • Syndicate_Admin's avatar
      Syndicate_Admin
      Administrator

      Disculpas, @smpa01 espero haber hecho esto correctamente

      EstaciónEquipoAllSeasonsFiling
      1992-93Arsenal5602040
      1992-93Aston Villa7417057
      1992-93Blackburn7122068
      1992-93Chelsea5597051
      1992-93Coventry5195052
      1992-93Palacio de Cristal4887048
      1992-93Everton5298053
      1992-93Ipswich5195050
      1992-93Leeds5095057
      1992-93Liverpool5907062
      1992-93Ciudad del Hombre5705056
      1992-93Hombre Utd8436067
      1992-93Middlesbrough4379054
      1992-93Norwich7196061
      1992-93Nottingham F3979041
      1992-93Oldham4889063
      1992-93QPR6308063
      1992-93Sheff Utd5201054
      1992-93Sheff Weds5904055
      1992-93Southampton4993054
      1992-93Tottenham5894060
      1992-93Wimbledon5401056
      1993-94Arsenal7125053
      1993-94Aston Villa5696046
      1993-94Blackburn8427063
      1993-94Chelsea5096049
      1993-94Coventry5598043
      1993-94Everton4379042
      1993-94Ipswich4277035
      1993-94Leeds6825065
      1993-94Liverpool6004059
      1993-94Ciudad del Hombre4489038
      1993-94Hombre Utd9242080
      1993-94Newcastle7741082
      1993-94Norwich5304065
      1993-94Oldham3974042
      1993-94QPR6001062
      1993-94Sheff Utd4182042
      1993-94Sheff Weds6422076
      1993-94Southampton4283049
      1993-94Swindon2947047
      1993-94Tottenham4293052
      1993-94West Ham5392048
      1993-94Wimbledon6503056
      1994-95Arsenal5103052
      1994-95Aston Villa4795051
      1994-95Blackburn8941080
      1994-95Chelsea5395050
      1994-95Coventry4982044
      1994-95Palacio de Cristal4485034
      1994-95Everton4993044
      1994-95Ipswich2643036
      1994-95Leeds7321059
      1994-95Leicester2865045
      1994-95Liverpool7428065
      1994-95Ciudad del Hombre4889053
      1994-95Hombre Utd8849077
      1994-95Newcastle7220067
      1994-95Norwich4283037
      1994-95Nottingham F7729072
      1994-95QPR6002061
      1994-95Sheff Weds5092049
      1994-95Southampton5398061
      1994-95Tottenham6208066
      1994-95West Ham4996044
      1994-95Wimbledon5583048
  • @ColinH Creo que esto es lo que quieres

    Rank Team Season = 
    RANKX ( 
        FILTER ( 
            ALLSELECTED ( TeamSeason ), 
            TeamSeason[Team] = MAX ( TeamSeason[Team] ) 
        ), 
        CALCULATE ( MAX ( TeamSeason[AllSeasonsFiling] ) ), , 
        DESC 
    )

    parry2k_0-1641310197436.png

    Síguenos en LinkedIn (en inglés) y YouTube.gif a nuestro YouTube (en inglés) canal

    Más información sobre el formato condicional en Microsoft Reactor

    Mi última entrada de blog El poder de usar grupos de cálculo con relaciones inactivas (Parte 1) (perytus.com) Yo lo haría Elogios si mi solución ayudó. 👉 Si puede dedicar tiempo a publicar la pregunta, también puede hacer esfuerzos para felicitar a quien ayudó a resolver su problema. ¡Es una muestra de agradecimiento!

    Visítenos en https://perytus.com, su ventanilla única para proyectos/formación/consultoría relacionados con Power BI.

    • Syndicate_Admin's avatar
      Syndicate_Admin
      Administrator

      Gracias pero no, eso no es correcto. El suyo devuelve un valor de 1 para 1993-94 cuando debería haber sido 4. Sin embargo, realmente aprecio que se tome el tiempo para responder.

  • @ColinH aquí está su medida, por supuesto que ya tiene la solución, pero siempre queremos evitar agregar una columna (siempre que sea posible):

    Rank Team Season = 
    RANKX ( 
        FILTER ( 
            ALL ( TeamSeason ),
            TeamSeason[Season] = MAX ( TeamSeason[Season] ) 
        ), 
        CALCULATE ( MAX ( TeamSeason[AllSeasonsFiling] ) ), , 
        DESC 
    )

    • Syndicate_Admin's avatar
      Syndicate_Admin
      Administrator

      ¡Eso también es fantástico! Funciona perfectamente. Una vez más, muchas gracias por ser paciente con un novato aquí.

  • @ColinH Todo está bien, todos aprendemos unos de otros. Me alegro de que tenga múltiples soluciones. ¡¡Bien!!

    Síguenos en LinkedIn (en inglés) y YouTube.gif a nuestro YouTube (en inglés) canal

    Más información sobre el formato condicional en Microsoft Reactor

    Mi última entrada de blog El poder de usar grupos de cálculo con relaciones inactivas (Parte 1) (perytus.com) Yo lo haría Elogios si mi solución ayudó. 👉 Si puede dedicar tiempo a publicar la pregunta, también puede hacer esfuerzos para felicitar a quien ayudó a resolver su problema. ¡Es una muestra de agradecimiento!

    Visítenos en https://perytus.com, su ventanilla única para proyectos/formación/consultoría relacionados con Power BI.