Função TOPN (DAX)
Retorna as primeiras N linhas da tabela especificada.
Sintaxe
TOPN(<n_value>, <table>, <orderBy_expression>, [<order>[, <orderBy_expression>, [<order>]]…])
Parâmetros
n_value
O número de linhas a ser retornado. Ele é qualquer expressão DAX que retorne um único valor escalar, onde a expressão será avaliada várias vezes (para cada linha/contexto).Consulte a seção de comentários para compreender quando o número de linhas retornado pode ser maior que n_value.
Consulte a seção de comentários para compreender quando uma tabela vazia é retornada.
table
Qualquer expressão DAX que retorna uma tabela de dados de onde as primeiras 'n' linhas são extraídas.orderBy_expression
(Opcional) Qualquer expressão DAX em que o valor do resultado é usado para classificar a tabela e avaliada para cada linha de table.order
(Opcional) Um valor que especifica como classificar valores orderBy_expression, em ordem crescente ou decrescente:value
valor alternativo
Descrição
0 (zero)
FALSE
Classifica em ordem decrescente de valores de order_by.
Este é o valor padrão quando o parâmetro order é omitido.
1
TRUE
Classifica em ordem crescente de order_by.
Valor de retorno
Uma tabela com as primeiras N linhas de table ou uma tabela vazia se n_value for 0 (zero) ou menos. As linhas não são necessariamente classificadas em uma ordem específica.
Comentários
Se houver uma associação, em valores order_by, na linha N da tabela, todas as linhas associadas serão retornadas. Então, quando há associações na linha N, a função pode retornar mais de n linhas.
Se n_value for 0 (zero) ou menos, TOPN retornará uma tabela vazia.
TOPN não garante uma ordem de classificação para os resultados.
Exemplo
O exemplo a seguir cria uma medida com as vendas dos primeiros 10 produtos vendidos.
=SUMX(TOPN(10, SUMMARIZE(Product, [ProductKey], “TotalSales”, SUMX(RELATED(InternetSales_USD[SalesAmount_USD]), InternetSales_USD[SalesAmount_USD]) + SUMX(RELATED(ResellerSales_USD[SalesAmount_USD]), ResellerSales_USD[SalesAmount_USD]))