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

Join us for an expert-led overview of the tools and concepts you'll need to become a Certified Power BI Data Analyst and pass exam PL-300. Register now.

Reply
Syndicate_Admin
Administrator
Administrator

¿Cómo funciona RANKX en una columna calculada?

Hola

Estoy tratando de entender cómo se comporta la función RANKX en una columna calculada.

Por ejemplo, tengo la siguiente tabla donde agregué una función RANKX dentro de una columna calculada.

Sé que en una columna calculada hay un contexto de fila. Entonces, ¿eso significa que la función RANKX evaluará esta fórmula fila por fila, pero no aplicará los filtros que provienen de la fila actual ya que no hay transición de contexto? Pero si ese es el caso, ¿cómo sabe poner el rango de 1 contra las filas que tienen FY=2025-2026 y el rango de 2 contra las filas que tienen FY=2024-2025?

mp390988_0-1748257968835.png

Gracias

1 ACCEPTED SOLUTION

@mp390988,

Gracias por ponerse en contacto con nosotros en el Foro de la comunidad de Microsoft.

Gracias @burakkaragoz por la útil respuesta.

Siga los pasos a continuación Cómo RANKX asigna rangos en una columna calculada;

1,Cada fila se evalúa de forma independiente mediante el contexto de fila: no se aplican filtros, pero los valores de la fila actual (como FY) siguen siendo accesibles.

2.RANKX crea una lista clasificada completa de los valores FY utilizando la tabla que proporciona (por ejemplo, ALL('Dim Date' [FY])), independientemente de la fila actual.

3.La función compara el valor FY de la fila actual con la lista clasificada y encuentra el rango coincidente.

4.A continuación, ese rango se "aparca" en la fila actual, en función de la coincidencia entre los valores FY de la fila y los FY clasificados.

Continúe usando el Foro de la comunidad de Microsoft.

Si esta publicación ayuda a resolver su problema, considere marcarla como "Aceptar como solución" y darle un 'Felicitaciones' para ayudar a otros a encontrarlo más fácilmente.

Saludos
Pavan.

View solution in original post

6 REPLIES 6
Syndicate_Admin
Administrator
Administrator

@mp390988 ,

Buena pregunta. Este es uno de esos comportamientos de DAX que pueden ser un poco confusos al principio.

Tienes razón. Las columnas calculadas operan en un contexto de fila y RANKX es una de las pocas funciones que crea su propio contexto de fila interno. En su caso, está clasificando sobre la tabla 'Dim Date' usando la columna 'FY'.

Entonces, lo que sucede es:

  • Para cada fila, RANKX evalúa toda la tabla 'Dim Date'.
  • Clasifica todos los valores 'FY' en orden descendente.
  • Dado que varias filas comparten el mismo 'FY', todas obtienen el mismo rango (porque está utilizando la clasificación densa).

Es por eso que todas las filas con FY = 2025-2026 obtienen el rango 1, y las que tienen FY = 2024-2025 obtienen el rango 2.

Si desea clasificar dentro de un grupo específico (por año o trimestre), deberá usar un FILTRO dentro de RANKX para definir ese contexto.

Avíseme si desea ayuda para ajustar la lógica para clasificar dentro de un grupo o en función de otra columna.

Si mi respuesta resolvió su consulta, por favor márquela como la Solución Aceptada para ayudar a otros. Además, le agradecería que me felicitara si le resultó útil mi respuesta.
traducción y formato respaldados por IA

Hola @burakkaragoz ,

Gracias por tu explicación, pero todavía no entiendo cómo sabe dónde aparcar los valores. Sé cómo deriva los valores, pero no estoy seguro de cuál es la conexión para estacionar los valores en el lugar correcto, si eso tiene sentido. Es un poco como si yo encontrara mi lugar para el auto. ¿Cómo sabe que debe poner el rango de 1 contra las filas que tienen FY=2025-2026 y el rango de 2 contra las filas que tienen FY=2024-2025 porque no hay transición de contexto, por lo que los años financieros no se transmiten como filtros?

@mp390988,

Gracias por ponerse en contacto con nosotros en el Foro de la comunidad de Microsoft.

Gracias @burakkaragoz por la útil respuesta.

Siga los pasos a continuación Cómo RANKX asigna rangos en una columna calculada;

1,Cada fila se evalúa de forma independiente mediante el contexto de fila: no se aplican filtros, pero los valores de la fila actual (como FY) siguen siendo accesibles.

2.RANKX crea una lista clasificada completa de los valores FY utilizando la tabla que proporciona (por ejemplo, ALL('Dim Date' [FY])), independientemente de la fila actual.

3.La función compara el valor FY de la fila actual con la lista clasificada y encuentra el rango coincidente.

4.A continuación, ese rango se "aparca" en la fila actual, en función de la coincidencia entre los valores FY de la fila y los FY clasificados.

Continúe usando el Foro de la comunidad de Microsoft.

Si esta publicación ayuda a resolver su problema, considere marcarla como "Aceptar como solución" y darle un 'Felicitaciones' para ayudar a otros a encontrarlo más fácilmente.

Saludos
Pavan.

@mp390988 ,

¿Solo quería verificar si tuvo la oportunidad de revisar la sugerencia proporcionada?

Si la respuesta ha abordado su consulta, acéptela como una solución y dé un 'Felicitaciones' para que otros miembros puedan encontrarla fácilmente.

Gracias.

@mp390988 ,

¿Solo quería verificar si tuvo la oportunidad de revisar la sugerencia proporcionada?

Si la respuesta ha abordado su consulta, acéptela como una solución y dé un 'Felicitaciones' para que otros miembros puedan encontrarla fácilmente.

Gracias.

@mp390988 ,

¿Puedo preguntarle si ha resuelto este problema? Si es así, marque la respuesta útil y acéptela como la solución y dé un 'Felicitaciones'. Esto será útil para que otros miembros de la comunidad que tengan problemas similares lo resuelvan más rápido.

Gracias

Helpful resources

Announcements
Join our Fabric User Panel

Join our Fabric User Panel

This is your chance to engage directly with the engineering team behind Fabric and Power BI. Share your experiences and shape the future.

June 2025 Power BI Update Carousel

Power BI Monthly Update - June 2025

Check out the June 2025 Power BI update to learn about new features.

June 2025 community update carousel

Fabric Community Update - June 2025

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