Forum Discussion

Syndicate_Admin's avatar
Syndicate_Admin
Icon for Administrator rankAdministrator
4 years ago
Solved

Valor de Rankx

Hola

¿Alguien puede explicar cuál es el uso exacto del argumento "Valor" en la función RANKX Dax con ejemplo?

Gracias

-Arul

  • @Arul Bueno, la forma en que funciona es que el parámetro value le permite encontrar el rango de ese valor específico dentro de todos los valores devueltos por el parámetro de expresión. Por ejemplo, supongamos que tiene una tabla con tres filas con valores de 1, 2 y 3. Si hiciste esto:

    Columna de rango = RANKX('Tabla', [Columna], 4)
    Esto devolvería 1 para todas las columnas. En cambio:
    Columna de rango = RANKX('Tabla', [Columna]/ S)
    Esto devolvería 4. Si deja fuera el parámetro value, se utiliza en su lugar el valor de expresión en la fila actual, de modo que devolvería 3, 2, 1 respectivamente para 1, 2, 3.
    ¿Por qué querrías usar esto? Estoy seguro de que hay algún caso de uso en alguna parte.

3 Replies

  • @Arul Bueno, la forma en que funciona es que el parámetro value le permite encontrar el rango de ese valor específico dentro de todos los valores devueltos por el parámetro de expresión. Por ejemplo, supongamos que tiene una tabla con tres filas con valores de 1, 2 y 3. Si hiciste esto:

    Columna de rango = RANKX('Tabla', [Columna], 4)
    Esto devolvería 1 para todas las columnas. En cambio:
    Columna de rango = RANKX('Tabla', [Columna]/ S)
    Esto devolvería 4. Si deja fuera el parámetro value, se utiliza en su lugar el valor de expresión en la fila actual, de modo que devolvería 3, 2, 1 respectivamente para 1, 2, 3.
    ¿Por qué querrías usar esto? Estoy seguro de que hay algún caso de uso en alguna parte.
    • Syndicate_Admin's avatar
      Syndicate_Admin
      Icon for Administrator rankAdministrator

      @Greg_Deckler ,

      No callado conseguirlo. ¿Podría explicarlo un poco más con algunos ejemplos?

      Muchas veces hemos omitdo este argumento de valor, así que me pregunto por qué el argumento de valor está ahí en la función RANKX.

      Gracias

      -Arul

      • Syndicate_Admin's avatar
        Syndicate_Admin
        Icon for Administrator rankAdministrator

        @Arul Se deja casi universalmente fuera de las fórmulas RANKX. Creo que el concepto detrás de esto es que si quieres averiguar el rango de un valor en particular dentro de un rango de valores. Por ejemplo, supongamos que tiene doce meses de datos de ventas históricos agregados y desea determinar la clasificación del mes más reciente de datos de ventas en comparación con estos datos históricos. Es casi seguro que tiene más sentido usarlo en una fórmula de medida que para una columna calculada, pero al final del día no hay un número de casos de uso para ello en mi opinión, por lo que es difícil inventar uno.

        Para tal vez agregar confusión adicional, considere que estas dos declaraciones son equivalentes:

        Columna 2 = RANKX('Tabla', [Columna 2])
        Columna 3 = RANKX('Tabla', [Columna 2], [Columna 2])
        En otras palabras, cuando se osta el parámetro value, RANKX esencialmente inserta el parámetro de expresión actual en el contexto de fila como parámetro value.