RANK
aplica-se a:coluna calculadatabela calculadaMeasurecálculo visual
Retorna a classificação para o contexto atual dentro da partição especificada, classificada pela ordem especificada. If uma correspondência não pode ser encontrada, então rank é blank.
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 or mais linhas estão vinculadas.
If especificado, o value com suporte é DENSE, or SKIP. If omitido: – Padrões para SKIP |
relation |
(Opcional) Uma expressão de tabela da qual a linha de saída é retornada.
If especificada, all colunas em orderBy andpartitionBy devem vir dela.
If omitido: - orderBy deve ser explicitamente especificado.- All orderBy andpartitionBy colunas devem ser totalmente qualificadas and provenientes de uma única tabela.
– O padrão é ALLSELECTED() de colunas all em orderBy andpartitionBy . |
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:
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 somente em 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 rank para o contexto atual.
Observações
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:
-
RANK
first determinará all
orderBy
,partitionBy
, andmatchBy
colunas que não têm nenhuma coluna externa correspondente. - Para cada combinação de values existentes para essas colunas em RANK contexto pai, RANK é avaliado and uma linha é retornada.
- A saída final de RANKé um número rank.
-
RANK
first determinará all
If
matchBy
estiver presente, RANK tentará usar colunas emmatchBy
andpartitionBy
para idenfity da linha atual.If as colunas especificadas em
orderBy
andpartitionBy
não podem identificar exclusivamente cada linha emrelation
, então duas or mais linhas podem ter a mesma classificação and a classificação será determinada pelo parâmetro ties.RANK retorna um blankvalue para o total de linhas. É recomendável que você teste sua expressão minuciosamente.
RANK not se compara a RANKX à medida que SUM se compara a SUMX.
reset
pode ser usado somente em cálculos visuais, and não pode ser usado em combinação comorderBy
orpartitionBy
. Ifreset
está presente,axis
pode ser especificado, masrelation
não.
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 and City.
Blank
orderBy
values de coluna 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 rank 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:
de cálculo visual