Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Aplica-se a:Coluna calculada
Tabela calculadaMedir
Cálculo visual
Retorna a classificação para o contexto atual dentro da partição especificada, classificada pela ordem especificada. Se uma correspondência não puder ser encontrada, a classificação ficará em branco.
Sintaxe
RANK ( [<ties>][, <relation> or <axis>][, <orderBy>][, <blanks>][, <partitionBy>][, <matchBy>][, <reset>] )
Parâmetros
Prazo | Definição |
---|---|
ties |
(Opcional) Define como lidar com a classificação quando duas ou mais linhas estão vinculadas.
Se especificado, o valor com suporte é DENSE ou SKIP. Se omitido: – Padrões para SKIP |
relation |
(Opcional) Uma expressão de tabela da qual a linha de saída é retornada. Se usado em cálculos visuais, esse parâmetro aceita um eixo na forma visual.
Se especificado, todas as colunas em orderBy e partitionBy deverão vir dela.
Se omitido: - orderBy deve ser especificado explicitamente.- Todas as colunas orderBy e partitionBy devem ser totalmente qualificadas e provenientes de uma única tabela.
– O padrão é ALLSELECTED() de todas as colunas em orderBy e partitionBy . |
orderBy |
(Opcional) Uma cláusula ORDERBY() que contém as colunas que definem como cada partição é classificada.
Se omitido: - relation deve ser especificado explicitamente.
– O padrão é ordenar por cada coluna em relation que ainda não está especificada no partitionBy . |
blanks |
(Opcional) Uma enumeração que define como lidar com valores em branco ao classificar o relation ou axis .
os valores com suporte são:
Observe que, quando o parâmetro e os blanks ORDERBY espaços em branco na função () em expressões individuais são especificados, blanks na expressão orderBy individual tem prioridade para a expressão orderBy relevante, e expressões orderBy sem blanks serem especificadas respeitarão o blanks parâmetro na função pai. |
partitionBy |
(Opcional) Uma PARTITIONBYcláusula () que contém as colunas que definem como relation é particionado. Se omitida, relation será tratada como uma única partição. |
matchBy |
(Opcional) Uma MATCHBYcláusula () que contém as colunas que definem como corresponder dados e identificar a linha atual. |
reset |
(Opcional) Disponível somente em cálculos visuais. Indica se o cálculo é redefinido e em qual nível da hierarquia de colunas da forma visual. Os valores aceitos são: uma referência de campo a uma coluna na forma visual atual, NONE (padrão), LOWESTPARENT , HIGHESTPARENT ou um inteiro. O comportamento depende do sinal inteiro: – se zero ou omitido, o cálculo não é redefinido. Equivalente a NONE .
- Se positivo, o inteiro identifica a coluna a partir da mais alta, independente da granulação. HIGHESTPARENT é equivalente a 1.
- Se negativo, o inteiro identifica a coluna a partir do menor, em relação ao grão atual. LOWESTPARENT é equivalente a -1. |
Valor de retorno
O número de classificação do contexto atual.
Observações
Cada coluna
orderBy
,partitionBy
ematchBy
deve ter um valor externo correspondente para ajudar a definir a linha atual na qual operar, com o seguinte comportamento:- Se houver exatamente uma coluna externa correspondente, seu valor será usado.
- Se não houver nenhuma coluna externa correspondente, então:
-
RANK primeiro determinará todas as colunas
orderBy
,partitionBy
ematchBy
que não têm nenhuma coluna externa correspondente. - Para cada combinação de valores existentes para essas colunas em RANK contexto pai, RANK é avaliado e uma linha é retornada.
- RANKsaída final é um número de classificação.
-
RANK primeiro determinará todas as colunas
Se
matchBy
estiver presente, RANK tentará usar colunas emmatchBy
epartitionBy
para idenfity da linha atual.Se as colunas especificadas em
orderBy
epartitionBy
não puderem identificar exclusivamente cada linha emrelation
, duas ou mais linhas poderão ter a mesma classificação e a classificação será determinada pelo parâmetro ties.RANK retorna um valor em branco para o total de linhas. É recomendável que você teste sua expressão minuciosamente.
RANK não se compara a RANKX, pois SUM se compara a SUMX.
reset
pode ser usado somente em cálculos visuais e não pode ser usado em combinação comorderBy
oupartitionBy
. Sereset
estiver presente,axis
poderá ser especificado, masrelation
não.Se o valor for
reset
absoluto (ou seja, um inteiroHIGHESTPARENT
positivo ou uma referência de campo) e o cálculo for avaliado em ou acima do nível de destino na hierarquia, o cálculo será redefinido para cada elemento individual. Ou seja, a função é avaliada dentro de uma partição que contém apenas esse elemento específico.
Exemplo 1 – coluna calculada
A seguinte consulta DAX:
EVALUATE
ADDCOLUMNS(
'DimGeography',
"Rank",
RANK(
DENSE,
'DimGeography',
ORDERBY(
'DimGeography'[StateProvinceName], desc,
'DimGeography'[City], asc),
LAST,
PARTITIONBY(
'DimGeography'[EnglishCountryRegionName])))
ORDER BY [EnglishCountryRegionName] asc, [StateProvinceName] desc, [City] asc
Retorna uma tabela que classifica cada geografia com o mesmo EnglishCountryRegionName, por seu StateProvinceName e City. Os valores da coluna orderBy
em branco são classificados no final.
Exemplo 2 – cálculo visual
O seguinte cálculo visual DAX consultas:
SalesRankWithinYear = RANK(DENSE, ORDERBY([SalesAmount], DESC), PARTITIONBY([CalendarYear]))
SalesRankAllHistory = RANK(DENSE, ORDERBY([SalesAmount], DESC))
Crie duas colunas que classificam cada mês pelo total de vendas, dentro de cada ano, e todo o histórico.
A captura de tela abaixo mostra a matriz visual e a primeira expressão de cálculo visual: