Forum Discussion

Syndicate_Admin's avatar
Syndicate_Admin
Icon for Administrator rankAdministrator
1 year ago
Solved

RANK con PARTITION BY Like SQL

Hola

Estoy buscando usar una fórmula DAX, similar a la función de ventana RANK con partición por dentro de SQL.

Mi resultado deseado es el siguiente:


IDENTIFICACIÓNFechaRango
101-Ene-211
101-Ene-211
102-Ene-212
103-ene-213
201-Ene-211
202-Ene-212
301-Ene-001
401-Ene-001

Este DAX no funciona, recibo todos los valores 1 de la siguiente manera:

Clasificador =
RANKX(
ALL(Tabla[ID]), Tabla[Fecha])
IDENTIFICACIÓNFechaRango
101-Ene-211
101-Ene-211
102-Ene-211
103-ene-211
201-Ene-211
202-Ene-211
301-Ene-001
401-Ene-001
Gracias por tu ayuda.
  • La nueva función RANK debería hacer que esto sea más fácil de lo que solía ser.

    Pruebe esto:

    RANK (
        DENSE,
        ORDERBY ( 'Table'[Date], ASC ),
        PARTITIONBY ( 'Table'[ID] )
    )

8 Replies

    • Syndicate_Admin's avatar
      Syndicate_Admin
      Icon for Administrator rankAdministrator

      No entiendo lo siguiente

      1 ¿Está buscando una columna para agregar a la tabla o a una medida?

      2 El resultado de tu desred es confuso

      IDENTIFICACIÓNFechaRango
      101-Ene-211
      101-Ene-211
      102-Ene-212
      103-ene-213
      201-Ene-211
      202-Ene-212
      301-Ene-001
      401-Ene-001

      ¿Quieres el rango dentro de un año?

      Gracias

      Si esto ayudó, considere dar felicitaciones y marcar como solución

      @me en las respuestas o perderé tu hilo

      considere la posibilidad de votar esta idea de Power BI

      Francesco Bergamaschi

      MBA, M.Eng, M.Econ, Profesor de BI

      • Syndicate_Admin's avatar
        Syndicate_Admin
        Icon for Administrator rankAdministrator

        Hola amigo,

        Una nueva columna, que clasifica las fechas agrupadas por cada identificador.

        El valor de la fecha real es irrelevante, solo quiero que el más antiguo sea 1 para cada ID, y el segundo 2, y así sucesivamente.

    • Syndicate_Admin's avatar
      Syndicate_Admin
      Icon for Administrator rankAdministrator

      El mismo problema, utilizado exactamente, sigue recibiendo los valores 1.

      rn =
      VAR Fecha actual =
      SELECTEDVALUE ( Mesa[Fecha] )
      VAR Tabla de clasificación =
      CALCULABLE (
      RESUMIR ( Mesa, Mesa[Fecha] ),
      TODOS SELECCIONADOS (), -- Filtrar el contexto de la imagen
      VALORES ( Mesa[Identificación]) -- conservar el filtro de categoría actual
      )
      DEVOLUCIÓN
      RANKX (
      Tabla de clasificación,
      Mesa[Fecha],
      Fecha actual,
      ASC
      )
  • La nueva función RANK debería hacer que esto sea más fácil de lo que solía ser.

    Pruebe esto:

    RANK (
        DENSE,
        ORDERBY ( 'Table'[Date], ASC ),
        PARTITIONBY ( 'Table'[ID] )
    )