DENSE_RANK

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

DENSE_RANKでは、同じ値には同じ最小ランクが割り当てられます。たとえば、5つのディメンション番号に対して、DENSE_RANKから、1、2、3、3、5が返されることがあります。

戻り値

NUMBER

構文

DENSE_RANK (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.00になります。次のランクは5.00です。

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

DENSE_RANK関数の例
顧客
レベル
ユニット
DENSE_RANK
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
Ministry of Intl. Trad Nagano SHIP_TO
2,699.94
3.00
KOSH Entrpr Bristol 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_RANKRANKROW_NUMBER