Partilhar via


ROWNUMBER

Aplica-se a:Coluna calculadaTabela calculadaMeasureCálculo visual

Retorna a classificação exclusiva para o contexto atual dentro da partição especificada, classificada pela ordem especificada. If uma correspondência não puder ser encontrada, então rownumber é blank.

Sintaxe

ROWNUMBER ( [<relation> or <axis>][, <orderBy>][, <blanks>][, <partitionBy>][, <matchBy>][, <reset>] )

Parâmetros

Termo Definição
relation (Opcional) Uma expressão de tabela da qual a linha de saída é retornada.
If especificado, all colunas em orderByandpartitionBy devem vir dele.
If omitido:
- orderBy deve ser explicitamente especificado.
- AllorderByandpartitionBy colunas devem ser totalmente qualificadas and provir de uma única tabela.
- O padrão é ALLSELECTED() de all colunas no orderByandpartitionBy.
axis (Opcional) Um eixo na forma visual. Disponível apenas em cálculos visuais, and substitui relation.
orderBy (Opcional) Uma cláusula ORDERBY() que contém as colunas que define como cada partição é classificada.
If omitido:
- relation deve ser explicitamente especificado.
- Padroniza a ordenação por cada coluna em relation que not já especificada em partitionBy.
blanks (Opcional) Uma enumeração que define como lidar com blankvalues ao classificar.
Os values suportados são:
  • DEFAULT (o valuepadrão ), onde o comportamento para values numéricos é blankvalues são ordenados entre zero and negativo values. O comportamento para cadeias de caracteres é blankvalues são ordenadas antes de all cadeias de caracteres, incluindo cadeias vazias.
  • FIRST, os espaços em branco são sempre ordenados no início, independentemente da ordem de classificação crescente or decrescente.
  • LAST, os espaços em branco são sempre ordenados no final, independentemente da ordem de classificação crescente or decrescente.

Observe que, quando blanks parâmetro and espaços em branco em ORDERBYfunção () na expressão individual são especificados, blanks na expressão orderBy individual tem prioridade para a expressão orderBy relevante, andorderBy expressões sem que blanks sejam especificadas honrarão blanks parâmetro na função Window pai.
partitionBy (Opcional) Uma cláusula PARTITIONBY() que contém as colunas que define como relation é particionado.
If omitida, relation é tratada como uma única partição.
matchBy (Opcional) Uma cláusula MATCHBY() que contém as colunas que define como fazer a correspondência de dados and identificar a linha atual.
reset (Opcional) Disponível apenas em cálculos visuais. Indica if o cálculo é redefinido and em que nível da hierarquia de colunas da forma visual. Os values aceitos são: NONE, LOWESTPARENT, HIGHESTPARENT, or um número inteiro. O comportamento depende do número inteiro sign:
- If zero or omitido, o cálculo not é reiniciado. Equivalente a NONE.
- If positivo, o inteiro identifica a coluna a partir do mais alto, independente do grão. HIGHESTPARENT equivale a 1.
- If negativo, o inteiro identifica a coluna a partir do mais baixo, em relação ao grão atual. LOWESTPARENT é equivalente a -1.

Regresso value

O número rownumber para o contexto atual.

Observações

Cada coluna orderBy, partitionBy, andmatchBy deve ter uma value externa correspondente para ajudar a define a linha atual na qual operar, com o seguinte comportamento:

  • If houver exatamente uma coluna externa correspondente, sua value é usada.
  • If não houver coluna externa correspondente, então:
    • ROWNUMBER determinará firstallorderBy, partitionBy, andmatchBy colunas que não tenham coluna externa correspondente.
    • Para cada combinação de values existentes para essas colunas em ROWNUMBER contexto pai, ROWNUMBER é avaliada and uma linha é retornada.
    • A saída final do ROWNUMBERé uma union dessas linhas.
  • If houver mais de uma coluna externa correspondente, uma error será retornada.

If matchBy estiver presente, ROWNUMBER tentará usar colunas em matchByandpartitionBy para identificar a linha atual. If as colunas especificadas no orderByandpartitionBy não puderem identificar exclusivamente todas as linhas relation, então:

  • ROWNUMBER tentará find o menor número de colunas adicionais necessárias para identificar exclusivamente cada linha.
  • If essas colunas puderem ser encontradas, ROWNUMBER
    • Tente find o menor número de colunas adicionais necessário para identificar exclusivamente cada linha.
    • Anexe automaticamente essas novas colunas a orderBy cláusula.
    • Classifique cada partição usando esse novo conjunto de colunas orderBy.
  • If essas colunas não puderem ser encontradas and a função detetar um empate no tempo de execução, uma error será retornada.

reset pode ser usado apenas em cálculos visuais and não pode ser usado em combinação com orderByorpartitionBy. If reset está presente, axis pode ser especificado, mas relation não pode.

Exemplo 1 - coluna calculada

O seguinte DAX consulta:

EVALUATE
ADDCOLUMNS(
    'DimGeography',
    "UniqueRank",
    ROWNUMBER(
    	'DimGeography',
    	ORDERBY(
    		'DimGeography'[StateProvinceName], desc,
    		'DimGeography'[City], asc),
    	PARTITIONBY(
    		'DimGeography'[EnglishCountryRegionName])))
ORDER BY [EnglishCountryRegionName] asc, [StateProvinceName] desc, [City] asc

Retorna uma tabela que classifica exclusivamente cada geografia com o mesmo EnglishCountryRegionName, por seu StateProvinceName and City.

Exemplo 2 - cálculo visual

O cálculo visual a seguir DAX consultas:

SalesRankWithinYear = ROWNUMBER(ORDERBY([SalesAmount], DESC), PARTITIONBY([CalendarYear]))

SalesRankAllHistory = ROWNUMBER(ORDERBY([SalesAmount], DESC))

Crie duas colunas que rank exclusivamente cada month pelo total de vendas, dentro de cada year, and todo o histórico.

A captura de tela abaixo mostra a matriz visual and a first expressão de cálculo visual:

DAX cálculo visual

INDEX ORDERBY PARTITIONBY WINDOW RANK