Ler em inglês

Compartilhar via


ROWNUMBER

aplica-se a:coluna calculadatabela calculadaMeasurecálculo visual

Retorna a classificação exclusiva do contexto atual na partição especificada, classificada de acordo com a ordem especificada. If uma correspondência não pode 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 especificada, all colunas em orderByandpartitionBy devem vir dela.
If omitido:
- orderBy deve ser explicitamente especificado.
- AllorderByandpartitionBy colunas devem ser totalmente qualificadas and provenientes de uma única tabela.
– O padrão é ALLSELECTED() de colunas all em orderByandpartitionBy.
axis (Opcional) Um eixo na forma visual. Disponível somente 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.
– O padrão é ordenar por cada coluna em relation que já está not especificada em partitionBy.
blanks (Opcional) Uma enumeração que define como lidar com blankvalues ao classificar.
os values com suporte são:
  • DEFAULT (o valuepadrão), em que o comportamento do values numérico é blankvalues é ordenado entre zero andvaluesnegativo. O comportamento das cadeias de caracteres é blankvalues são ordenados antes de all cadeias de caracteres, incluindo cadeias de caracteres 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 de or ordem de classificação decrescente crescente.

Observação, quando blanks parâmetro and espaços em branco na função ORDERBY() 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 blanks ser especificada respeitarão blanks parâmetro na função de Window pai.
partitionBy (Opcional) Uma cláusula PARTITIONBY() que contém as colunas que define como relation é particionada.
If omitido, relation é tratado como uma única partição.
matchBy (Opcional) Uma cláusula MATCHBY() que contém as colunas que define como corresponder dados and identificar a linha atual.
reset (Opcional) Disponível apenas no cálculos visuais. Indica if as redefinições de cálculo, and em qual nível da hierarquia de colunas da forma visual. Os values aceitos são: NONE, LOWESTPARENT, HIGHESTPARENT, or um inteiro. O comportamento depende do inteiro sign:
- If zero or omitido, o cálculo not redefinição. Equivalente a NONE.
- If positivo, o inteiro identifica a coluna a partir da mais alta, independentemente da granulação. HIGHESTPARENT é equivalente a 1.
- If negativo, o inteiro identifica a coluna a partir do menor, em relação ao grão atual. LOWESTPARENT é equivalente a -1.

Retornar value

O número rownumber para o contexto atual.

Comentários

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

  • If há exatamente uma coluna externa correspondente, sua value é usada.
  • If não há nenhuma coluna externa correspondente; em seguida:
    • ROWNUMBER first determinará allorderBy, partitionBy, andmatchBy colunas que não têm nenhuma coluna externa correspondente.
    • Para cada combinação de values existentes para essas colunas em ROWNUMBER contexto pai, ROWNUMBER é avaliado and uma linha é retornada.
    • A saída final de ROWNUMBERé um union dessas linhas.
  • If há mais de uma coluna externa correspondente, um error é retornado.

If matchBy estiver presente, ROWNUMBER tentará usar colunas em matchByandpartitionBy para idenfity da linha atual.
If as colunas especificadas em orderByandpartitionBy não podem identificar exclusivamente todas as linhas em relation, em seguida:

  • ROWNUMBER tentará find o menor número de colunas adicionais necessárias para identificar exclusivamente cada linha.
  • If essas colunas podem ser encontradas, ROWNUMBER
    • Tente find o menor número de colunas adicionais necessárias para identificar exclusivamente cada linha.
    • Acrescente automaticamente essas novas colunas à cláusula orderBy.
    • Classifique cada partição usando esse novo conjunto de colunas de orderBy.
  • If essas colunas não podem ser encontradas and a função detecta um empate em runtime, um error é retornado.

reset pode ser usado somente 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.

Exemplo 1: coluna calculada

A seguinte consulta DAX:

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 seguinte cálculo visual 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, ambas dentro de cada year, and todo o histórico.

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

DAX de cálculo visual

INDEX
ORDERBY
PARTITIONBY
WINDOW
RANK