ROW_NUMBER

ROW_NUMBERは、式の値に基づいてディメンションのメンバーをソートします。この関数は、ディメンション番号の順序番号を返します。

ROW_NUMBERでは、各ディメンション・メンバーに一意のランクが割り当てられます。同じ値でもランクは任意です。たとえば、ROW_NUMBERは、5つのディメンション番号に対して、すべてが同じ値であっても常に1、2、3、4、5を返します。

戻り値

NUMBER

構文

ROW_NUMBER (ntile_expression) OVER HIERARCHY
     ( dimension | hierarchy
       ORDER BY expression [ASC | DSC] [NULLS {FIRST | LAST}]...
       WITHIN {PARENT | LEVEL | ANCESTOR AT LEVEL level}
     )

引数

ntile_expression: この関数には実装されません。

dimension: ランク付けするメンバーを含むディメンションです。

hierarchy: dimensionの階層です。指定しない場合は、デフォルト階層が使用されます。

ORDER BY: ランクの基準を指定します。同順位となるものをさらにソートするために、ORDER BY句を追加することができます。

expression: ランクの基準として使用される値を指定します。

ASC: 昇順を指定します。

DSC: 降順を指定します。

NULLS FIRST: NULL値を含むメンバーを先頭にソートします。

NULLS LAST: NULL値を含むメンバーを末尾にソートします。

WITHIN: 一連の関連するディメンション・メンバーをランク付けするために選択します。

PARENT: 同じ親を持つ同一レベルのメンバーをランク付けします。

LEVEL: 同じレベルのすべてのメンバーをランク付けします。

ANCESTOR AT LEVEL level: 指定したレベルで、同じ親を持つ同一レベルのすべてのメンバーをランク付けします。

次の例では、各地域の顧客をUNITSメジャーの値に基づいてランク付けします。Ministry of Intl. Trad NaganoおよびKOSH Entrpr BristolはUNITSの値が同じですが、任意にランク付けされるため3.004.00になります。

ROW_NUMBER () OVER HIERARCHY (GLOBAL.CUSTOMER.SHIPMENTS_ROLLUP ORDER BY GLOBAL.UNITS_CUBE.UNITS NULLS LAST WITHIN ANCESTOR AT LEVEL GLOBAL.CUSTOMER.REGION)

ROW_NUMBER関数の例
顧客
レベル
ユニット
行番号
Asia Pacific REGION
21,764.91
null
Japan WAREHOUSE
10,930.17
4.00
Australia WAREHOUSE
5,371.84
3.00
Hong Kong WAREHOUSE
2,799.93
2.00
Singapore WAREHOUSE
2,662.96
1.00
KOSH Entrpr Wanchai SHIP_TO
2,799.93
8.00
Computer Services Tokyo SHIP_TO
2,761.41
7.00
Ministry of Intl. Trad Nagoya SHIP_TO
2,754.14
6.00
KOSH Entrpr Tokyo SHIP_TO
2,714.69
5.00
KOSH Entrpr Bristol SHIP_TO
2,699.94
4.00
Ministry of Intl. Trad Nagano SHIP_TO
2,699.94
3.00
KOSH Entrpr Brisbane SHIP_TO
2,673.73
2.00
Computer Warehouse Singapore SHIP_TO
2,662.96
1.00

関連トピック

AVERAGE_RANKDENSE_RANKRANK