Leer en inglés

Compartir a través de


TOPN

Se aplica a: Columna calculada Tabla calculada Medida Cálculo visual

Devuelve las N filas superiores de la tabla especificada.

Sintaxis

DAX
TOPN(<N_Value>, <Table>, <OrderBy_Expression>, [<Order>[, <OrderBy_Expression>, [<Order>]]…])  

Parámetros

Parámetro Definición
N_Value Número de filas que se va a devolver. Cualquier expresión DAX que devuelve un valor escalar, donde la expresión se va a evaluar varias veces (para cada fila o contexto). Vea Notas para comprender mejor cuándo el número de filas devueltas podría ser mayor que n_value.
Tabla Cualquier expresión DAX que devuelve una tabla de datos de donde extraer las "n" filas superiores. Vea Notas para comprender mejor cuándo se devuelve una tabla vacía.
OrderBy_Expression (Opcional) Cualquier expresión DAX donde se use el valor de resultado para ordenar la tabla y evaluar para cada fila de tabla.
Orden (Opcional) Valor que especifica cómo ordenar valores OrderBy_Expression:

- 0 (cero) o FALSE. Ordena de forma descendente los valores de Order. Es el valor predeterminado si se omite el parámetro Order.

- 1 o TRUE. Clasifica en orden ascendente los valores de OrderBy.

Valor devuelto

Una tabla con las N filas superiores de Table o una tabla vacía si N_Value es 0 (cero) o menos. Las filas no se ordenan en ningún orden determinado.

Comentarios

  • Si hay una asociación en los valores de Order_By, en la enésima fila de la tabla, se devuelven todas las filas asociadas. Después, cuando haya asociaciones en la enésima fila, es posible que la función devuelva más de n filas.

  • Si N_Value es 0 (cero) o menos, TOPN devuelve una tabla vacía.

  • TOPN no garantiza ningún criterio de ordenación para los resultados.

  • Esta función no se admite para su uso en el modo DirectQuery cuando se utiliza en columnas calculadas o en reglas de seguridad de nivel de fila (RLS).

Ejemplo

La fórmula de medida siguiente devuelve los 10 principales productos vendidos por cantidad de ventas.

DAX
= SUMX(
        TOPN(
            10, 
            SUMMARIZE(
                    InternetSales, 
                    InternetSales[ProductKey], 
                    "TotalSales", SUM(InternetSales[SalesAmount])
            ),
            [TotalSales], DESC
        ),
        [TotalSales]
)