Compartilhar via


TOPN

aplica-se a:coluna calculadatabela calculadamedidacálculo visual

Retorna as N linhas superiores da tabela especificada.

Sintaxe

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

Parâmetros

Parâmetro Definição
N_Value Número de linhas a ser retornado. Qualquer expressão DAX que retorna um valor escalar, em que a expressão deve ser avaliada várias vezes (para cada linha/contexto). Consulte Comentários para entender melhor quando o número de linhas retornadas pode ser maior do que n_value.
Table Qualquer expressão DAX que retorna uma tabela de dados de onde extrair as linhas 'n' superiores. Confira Comentários para entender melhor quando uma tabela vazia é retornada.
OrderBy_Expression (Opcional) Qualquer expressão DAX em que o valor do resultado é usado para classificar a tabela e avaliado para cada linha de table.
Order (Opcional) Um valor que especifica como classificar OrderBy_Expression valores:

- 0 (zero) ou FALSE. Classifica em ordem decrescente de valores de Order. Padrão quando Order parâmetro é omitido.

- 1 ou TRUE. Classifica em ordem crescente de OrderBy.

Valor de retorno

Uma tabela com as linhas N superiores de Table ou uma tabela vazia se N_Value for 0 (zero) ou menor. As linhas não são classificadas em nenhuma ordem específica.

Comentários

  • Se houver um empate, em valores Order_By, na linha N da tabela, todas as linhas vinculadas serão retornadas. Então, quando houver empates na N-ésima linha, a função poderá retornar mais de n linhas.

  • Se N_Value for 0 (zero) ou menor, TOPN retornará uma tabela vazia.

  • TOPN não garante nenhuma ordem de classificação para os resultados.

  • Essa função não tem suporte para uso no modo DirectQuery quando usada em colunas calculadas ou regras de RLS (segurança em nível de linha).

Exemplo

A fórmula de medida a seguir retorna os 10 principais produtos vendidos por valor de vendas.

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