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 orderBy andpartitionBy devem vir dele.
If omitido: - orderBy deve ser explicitamente especificado.- All orderBy andpartitionBy colunas devem ser totalmente qualificadas and provir de uma única tabela.
- O padrão é ALLSELECTED() de all colunas no orderBy andpartitionBy . |
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:
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á firstall
orderBy
,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.
-
ROWNUMBER determinará firstall
- If houver mais de uma coluna externa correspondente, uma error será retornada.
If
matchBy
estiver presente, ROWNUMBER tentará usar colunas em matchBy
andpartitionBy
para identificar a linha atual.
If as colunas especificadas no orderBy
andpartitionBy
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 orderBy
orpartitionBy
.
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: