次の方法で共有


RANK

適用対象:計算列計算テーブルMeasureビジュアル計算

指定したパーティション内の現在のコンテキストのランキングを、指定した順序で並べ替え、返します。 一致が見つからない If は、rank が blank。

構文

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

パラメーター

用語 定義
ties (省略可能)さらに 2 つの行 or が関連付けられているときにランク付けを処理する方法を定義します。 指定
If、サポートされている value は DENSE or SKIP です。 省略
If:
- 既定値は SKIP
relation (省略可能)出力行が返されるテーブル式。 指定
If、orderByandpartitionBy 内 all 列は、その列から取得する必要があります。
If 省略:
- orderBy を明示的に指定する必要があります。
- AllorderByandpartitionBy 列は、1 つのテーブルから取得 and 完全修飾されている必要があります。
- orderByandpartitionByの all 列の ALLSELECTED() が既定値になります。
axis (省略可能)視覚図形の軸。 視覚的な計算でのみ使用でき、and は relationを置き換えます。
orderBy (省略可能)各パーティションの並べ替え方法を define する列を含む ORDERBY() 句。
If 省略:
- relation を明示的に指定する必要があります。
- partitionByで既に指定 notrelation 内のすべての列による順序付けが既定値です。
blanks (省略可能)並べ替え時の blankvalues の処理方法を定義する列挙体。
サポートされている values は次のとおりです。
  • KEEP (既定の value) では、数値 values の動作が blankvalues、0 から負の valuesand 順序付けられます。 文字列の動作は、空の文字列を含む文字列を all する前に順序付け blankvalues。
  • FIRST、昇順 or 降順の並べ替え順序に関係なく、空白は常に先頭に並べ替えられます。
  • LAST、昇順 or 降順の並べ替え順序に関係なく、空白は常に末尾に並べ替えられます。

注意 blanks、個々の式の ORDERBY() 関数のパラメーター and 空白が両方とも指定されている場合、個々の orderBy 式の blanks は、関連する orderBy 式に対して優先され、andorderBy 式 blanks 指定されていない場合、親 Window 関数のパラメーター blanks 優先されます。
partitionBy (省略可能)relation のパーティション分割方法を define する列を含む PARTITIONBY() 句。 省略
If、relation は 1 つのパーティションとして扱われます。
matchBy (省略可能)現在の行を識別 and データの照合方法を define する列を含む MATCHBY() 句。
reset (省略可能)ビジュアル計算でのみ使用できます。 計算 if リセット and、ビジュアル図形の列階層のレベルを示します。 使用できる values は、NONELOWESTPARENTHIGHESTPARENT、整数 or です。 動作は、整数の signによって異なります:
- If 0 or 省略すると、計算はリセット not。 NONEに相当します。
- 正 If、整数はグレインに関係なく、最も高い列から始まる列を識別します。 HIGHESTPARENT は 1 に相当します。
- 負 If、整数は現在のグレインを基準にして、最下位から始まる列を識別します。 LOWESTPARENT は -1 に相当します。

value を返す

現在のコンテキストの rank 番号。

備考

  • orderBypartitionBy、andmatchBy 列には、動作する現在の行を define するのに役立つ、対応する外部 value が必要です。これは次の動作です。

    • 対応する外部列が 1 つだけ存在する If は、その value が使用されます。
    • 対応する外部列がない If は、次のようになります。
      • RANK は、対応する外部列を持たない列 andmatchBy、allorderBypartitionBy、first を決定します。
      • 親コンテキスト内のこれらの列に対する既存の values の組み合わせ RANK すべてについて、行が返 andRANK が評価されます。
      • RANKの最終的な出力は rank 数です。
  • If matchBy が存在する場合、RANK は matchByandpartitionBy の列を使用して現在の行をべき等にしようとします。

  • orderBy and partitionBy 内で指定された列が relation内のすべての行を一意に識別できない If、さらに 2 つの or 行が同じランク付け and、順位付けは ties パラメーターによって決定される可能性があります。

  • RANK は、合計行の blankvalue を返します。 式を徹底的にテストすることをお勧めします。

  • RANK は SUMXと比較 notSUMRANKX と比較されます。

  • reset ビジュアル計算でのみ使用できますが、and を orderByorpartitionByと組み合わせて使用することはできません。 If reset が存在する場合、axis は指定できますが、relation 指定できません。

例 1 - 計算列

次の 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

StateProvinceName and City によって、同じ EnglishCountryRegionName を持つ各 geography をランク付けするテーブルを返します。 Blank orderBy 列 values は末尾に並べ替えられます。

例 2 - ビジュアル計算

次の視覚的な計算 DAX クエリです。

SalesRankWithinYear = RANK(DENSE, ORDERBY([SalesAmount], DESC), PARTITIONBY([CalendarYear]))

SalesRankAllHistory = RANK(DENSE, ORDERBY([SalesAmount], DESC))

各 month を売上合計で rank する 2 つの列を作成します。両方とも、各 year内で、履歴全体を and します。

次のスクリーンショットは、first ビジュアル計算式 and ビジュアル マトリックスを示しています。

視覚的な計算 を する

INDEX ORDERBY PARTITIONBY WINDOW ROWNUMBER