Partilhar via


TOPN

Aplica-se a: Coluna calculada Tabela calculada Medida Cá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 O número de linhas a serem retornadas. Qualquer expressão DAX que retorna um valor escalar, onde 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.
Tabela Qualquer expressão DAX que retorna uma tabela de dados de onde extrair as linhas 'n' superiores. Consulte 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 da tabela.
Ordenar (Opcional) Um valor que especifica como classificar OrderBy_Expression valores:

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

- 1 ou VERDADEIRO. Classifica-se em ordem crescente de OrderBy.

Valor devolvido

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

Observações

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

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

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

  • Esta função não é suportada para utilização no modo DirectQuery quando utilizada em colunas calculadas ou regras de segurança ao nível da linha (RLS).

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]
)