DENSE_RANK

DENSE_RANK 會根據表示式的值來排列維度成員的順序。此函數會傳回維度成員的序號。

DENSE_RANK 會為相同的值指派相同的最小等級。例如,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 -- 列示成員時,將具有空值的成員排在前面。

NULLS LAST -- 列示成員時,將具有空值的成員排在後面。

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 函數範例
客戶
層次
單位
密集等級
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