Ler em inglês

Partilhar via


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 puder ser encontrada, então rank é blank.

Sintaxe

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

Parâmetros

Vigência Definição
ties (Opcional) Define como lidar com a classificação quando duas or mais linhas estão empatadas.
If especificado, o value suportado é DENSE, or SKIP.
If omitido:
- Padrão para SKIP
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:
  • KEEP (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 rank para o contexto atual.

Comentários

  • 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:
      • RANK determinará firstallorderBy, partitionBy, andmatchBy colunas que não tenham coluna externa correspondente.
      • Para cada combinação de values existentes para essas colunas em RANK contexto pai, RANK é avaliada and uma linha é retornada.
      • RANKprodução final é um número rank.
  • If matchBy estiver presente, RANK 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, duas or mais linhas poderão ter a mesma classificação and a classificação será determinada pelo parâmetro ties.

  • RANK retorna um blankvalue para o total de linhas. Recomenda-se que teste a sua expressão minuciosamente.

  • RANK not se compara a RANKX como SUM se compara a SUMX.

  • 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',
    "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 coluna values são classificados no final.

Exemplo 2 - cálculo visual

O cálculo visual a seguir 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, 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
ROWNUMBER