ROWNUMBER

DAXFiltro

Retorna a classificação única (sem empates) do contexto atual dentro da partição, segundo a ordenação indicada; retorna BLANK se não encontrar correspondência.

Quando usar

Para numeração sequencial de linhas, criação de chaves surrogate, paginação.

Sintaxe

DAX
ROWNUMBER([<Relação> ou <Eixo>][, <OrderBy>][, <Blanks>][, <PartitionBy>][, <MatchBy>][, <Reset>])

Parâmetros

Relação (Opcional): expressão de tabela; em cálculo visual aceita um eixo. Se omitida, OrderBy é obrigatório e o padrão é ALLSELECTED das colunas de OrderBy e PartitionBy. OrderBy (Opcional): cláusula ORDERBY() que define a ordenação de cada partição. Blanks (Opcional): tratamento de BLANK na ordenação: DEFAULT, FIRST ou LAST. PartitionBy (Opcional): cláusula PARTITIONBY() com as colunas de partição. MatchBy (Opcional): cláusula MATCHBY() com as colunas que identificam a linha atual. Reset (Opcional): só em cálculo visual; se e em que nível o cálculo reinicia.

Aplica-se a

  • SimColuna Calculada
  • SimTabela Calculada
  • SimMedida
  • SimCálculo Visual

Exemplo

DAX
// Consulta: numera as lojas de cada região pelo nome, sem empates
EVALUATE
ADDCOLUMNS (
    TabDimLoja,
    "Número na Região",
        ROWNUMBER (
            TabDimLoja,
            ORDERBY ( TabDimLoja[NomeLoja], ASC, TabDimLoja[CodigoLoja], ASC ), // desempate pela chave
            PARTITIONBY ( TabDimLoja[NomeRegiao] )                               // reinicia por região
        )
)

// Cálculo visual: posição única de cada mês por vendas dentro do ano
Posição no Ano = ROWNUMBER ( ORDERBY ( [Total de Vendas], DESC ), PARTITIONBY ( [Ano] ) )

Mais informações

Lançamento
2023-Abr

Aprender DAX ao vivo