Dentro de CALCULAR: fica só com as N maiores linhas pela expressão — ou com os N maiores grupos, se você informar a coluna. Empate na fronteira entra inteiro (pode passar de N).
| Campo | Valor |
|---|---|
| Categoria | Contexto e filtro |
| Tipo | Agregação (opera sobre um conjunto de linhas) |
| Aridade | 2 a 4 argumentos |
| Compila para SQL (coluna calculada) | Não |
| Versão | Motor de fórmulas v3. |
Aliases#
Nome canônico: PRIMEIROS_N. Aliases aceitos (maiúsc./minúsc. indiferente): topn.
Assinatura#
PRIMEIROS_N(expr; arg2; [arg3]; [arg4])Todos os argumentos são expressões.
Retorno#
Modificador de CALCULAR (recorta as N maiores linhas/grupos).
Tratamento de nulos#
Quando não há linha no contexto trocado, devolve vazio (nunca zero) — um branco é mais honesto que um zero inventado.
Contexto de avaliação#
Modificador — só faz sentido DENTRO de CALCULAR (ou de outra função de contexto que o aceite). Fora daí, avisa em vez de devolver número errado.
Diferenças para DAX#
- Equivalente DAX: TOPN
- Compatibilidade: Compatível com DAX
- Observação: Empate na fronteira entra inteiro (pode passar de N), igual ao TOPN. Usada como modificador de CALCULAR.
Exemplos#
CALCULAR(SOMA(receita); TUDO(); PRIMEIROS_N(3; SOMA(receita); uf))Exemplo com valores#
Entrada: soma só do maior (SP=60) entre SP e RJ.
CALCULAR(SOMA(receita); PRIMEIROS_N(1; receita)) → 60Resultado esperado: 60
Exemplo de negócio#
Medida comparativa — participação no total, ranking, variação contra outro período.
Erros comuns#
Erros de digitação em nome de coluna, tipo incompatível ou argumento inválido viram mensagem amigável (pt-BR) — o motor nunca devolve um número errado em silêncio.