# WRank - スクリプト関数

WRank() は、ロード スクリプトでテーブルの行を評価し、それぞれの行に対して、ロード スクリプトで評価された項目の値の相対位置を示します。この関数はテーブルの評価時に、結果を現在のパーティションに含まれるその他の行の結果と比較して、セグメント内の現在の行のランキングを返します。

テーブルのパーティション

テーブルのパーティション

テーブルのパーティション ![列セグメントが表示されたテーブル](https://help.qlik.com/ja-JP/qlikview/September2025/Subsystems/Client/Content/Resources/Images/table_column_segments.png)

WRank は、Window 関数でのみ使用できます。Window 関数には、ソート タイプとソート数式が含まれている必要があります。ランキングは、ソート数式で適用されます。

構文:

WRank ([mode[, fmt]])

戻り値データ型： dual

引数：

引数

| 引数 | 説明 |
| --- | --- |
| mode | オプションで、関数の計算結果の数値表現を指定します。 |
| fmt | オプションで、関数の計算結果のテキスト表現を指定します。 |

ランキングは、デュアル値として返されます。行ごとに固有のランキングがある場合、1 から現在のパーティション内の行数を示す整数になります。

複数の行がランキングを共有する場合は、テキストおよび数値表現を mode および fmt のパラメータで制御できます。

###### mode

1 番目の引数 mode は、次のいずれかの値になります。

modemode値

| 値 | 説明 |
| --- | --- |
| 0 (デフォルト) | 共有グループ内のすべての順位がランキング全体の中間値以下に入る場合、いずれの行も共有グループ内の最低順位を取得します。<br><br>共有グループ内のすべての順位が順位付け全体の中間値以上に入る場合は、いずれの行も共有グループ内の最高順位を取得します。<br><br>共有グループ内の順位がランキング全体の中間値をまたぐ場合は、いずれの行もパーティション全体の最高順位と最低順位の平均に相当する値を取得します。 |
| 1 | すべての行における最低順位。 |
| 2 | すべての行における平均順位。 |
| 3 | すべての行における最高順位。 |
| 4 | 最初の行における最低順位、その後は行ごとに 1 ずつ増加。 |

###### fmt

2 番目の引数 fmt は、次の値を取ることができます。

fmtfmt値

| 値 | 説明 |
| --- | --- |
| 0 (デフォルト) | すべての行における低い値 - 高い値 (例: 3 - 4)。 |
| 1 | すべての行における低い値。 |
| 2 | 最初の行における低い値、その後のグループ内の行は空白。 |

mode 4 と fmt 2 の行の順序は、テーブル項目のロード順で決定されます。

## 例 - ランク付けされた項目の追加

[](https://help.qlik.com/en-US/qlikview/Subsystems/Client/Content/QV_QlikView/Scripting/WindowFunctions/wrank.htm)

#### 例: ランク付けされた項目の追加

ロード スクリプト

データ ロード エディタで新しいタブを作成し、次のデータをインライン ロードとしてロードします。結果を確認するには、以下の Qlik Sense のテーブルを作成します。

```
Transactions:
Load
*,
Window(WRank(0),customer_id, 'Desc', transaction_amount) as TransactionRanking;

Load * Inline [
transaction_id, transaction_date, transaction_amount, transaction_quantity, customer_id, size, color_code
3750, 20180830, 23.56, 2, 2038593, L, Red
3751, 20180907, 556.31, 6, 203521, M, Orange
3752, 20180916, 5.75, 1, 5646471, S, Blue
3753, 20180922, 125.00, 7, 3036491, L, Black
3754, 20180922, 484.21, 13, 049681, XS, Red
3756, 20180922, 59.18, 2, 2038593, M, Blue
3757, 20180923, 177.42, 21, 203521, XL, Black
3758, 20180924, 153.42, 14, 2038593, L, Red
3759, 20180925, 7.42, 5, 203521, M, Orange
3760, 20180925, 80.12, 18, 5646471, M, Blue
3761, 20180926, 3.42, 7, 3036491, XS, Black
3763, 20180926, 63.55, 12, 049681, S, Red
3763, 20180927, 177.56, 10, 2038593, L, Blue
3764, 20180927, 325.95, 8, 203521, XL, Black
];
 
```

結果

ランキング付けされた項目を追加した結果

| transaction\_id | transaction\_date | transaction\_amount | transaction\_quantity | customer\_id | size | color\_code | TransactionRanking |
| --- | --- | --- | --- | --- | --- | --- | --- |
| 3750 | 20180830 | 23.56 | 2 | 2038593 | L | 赤色 | 4-4 |
| 3751 | 20180907 | 556.31 | 6 | 203521 | M | オレンジ | 1-1 |
| 3752 | 20180916 | 5.75 | 1 | 5646471 | S | 青 | 2-2 |
| 3754 | 20180922 | 484.21 | 13 | 049681 | XS | 赤色 | 1-1 |
| 3756 | 20180922 | 59.18 | 2 | 2038593 | M | 青 | 3-3 |
| 3753 | 20180922 | 125.00 | 7 | 3036491 | L | 黒 | 1-1 |
| 3757 | 20180923 | 177.42 | 21 | 203521 | XL | 黒 | 3-3 |
| 3758 | 20180924 | 153.42 | 14 | 2038593 | L | 赤色 | 2-2 |
| 3759 | 20180925 | 7.42 | 5 | 203521 | M | オレンジ | 4-4 |
| 3760 | 20180925 | 80.12 | 18 | 5646471 | M | 青 | 1-1 |
| 3763 | 20180926 | 63.55 | 12 | 049681 | S | 赤色 | 2-2 |
| 3761 | 20180926 | 3.42 | 7 | 3036491 | XS | 黒 | 2-2 |
| 3764 | 20180927 | 325.95 | 8 | 203521 | XL | 黒 | 2-2 |
| 3763 | 20180927 | 177.56 | 10 | 2038593 | L | 青 | 1-1 |

## 例 - 1 桁の結果に対して fmt を使用してランク付けされた項目を追加する

[](https://help.qlik.com/en-US/qlikview/Subsystems/Client/Content/QV_QlikView/Scripting/WindowFunctions/wrank.htm)

#### 例: 1 桁の結果に対して fmt を使用してランク付けされた項目を追加

ロード スクリプト

データ ロード エディタで新しいタブを作成し、次のデータをインライン ロードとしてロードします。結果を確認するには、以下の Qlik Sense のテーブルを作成します。

```
Transactions:
Load
*,Window(WRank(0,1),customer_id, 'Desc', transaction_amount) as TransactionRanking;

Load * Inline [
transaction_id, transaction_date, transaction_amount, transaction_quantity, customer_id, size, color_code
3750, 20180830, 23.56, 2, 2038593, L, Red
3751, 20180907, 556.31, 6, 203521, M, Orange
3752, 20180916, 5.75, 1, 5646471, S, Blue
3753, 20180922, 125.00, 7, 3036491, L, Black
3754, 20180922, 484.21, 13, 049681, XS, Red
3756, 20180922, 59.18, 2, 2038593, M, Blue
3757, 20180923, 177.42, 21, 203521, XL, Black
3758, 20180924, 153.42, 14, 2038593, L, Red
3759, 20180925, 7.42, 5, 203521, M, Orange
3760, 20180925, 80.12, 18, 5646471, M, Blue
3761, 20180926, 3.42, 7, 3036491, XS, Black
3763, 20180926, 63.55, 12, 049681, S, Red
3763, 20180927, 177.56, 10, 2038593, L, Blue
3764, 20180927, 325.95, 8, 203521, XL, Black
];
 
```

結果

1 桁の結果に fmtfmt を使ってランキングされた項目を追加した結果

| transaction\_id | transaction\_date | transaction\_amount | transaction\_quantity | customer\_id | size | color\_code | TransactionRanking |
| --- | --- | --- | --- | --- | --- | --- | --- |
| 3750 | 20180830 | 23.56 | 2 | 2038593 | L | 赤色 | 4 |
| 3751 | 20180907 | 556.31 | 6 | 203521 | M | オレンジ | 1 |
| 3752 | 20180916 | 5.75 | 1 | 5646471 | S | 青 | 2 |
| 3754 | 20180922 | 484.21 | 13 | 049681 | XS | 赤色 | 1 |
| 3756 | 20180922 | 59.18 | 2 | 2038593 | M | 青 | 3 |
| 3753 | 20180922 | 125.00 | 7 | 3036491 | L | 黒 | 1 |
| 3757 | 20180923 | 177.42 | 21 | 203521 | XL | 黒 | 3 |
| 3758 | 20180924 | 153.42 | 14 | 2038593 | L | 赤色 | 2 |
| 3759 | 20180925 | 7.42 | 5 | 203521 | M | オレンジ | 4 |
| 3760 | 20180925 | 80.12 | 18 | 5646471 | M | 青 | 1 |
| 3763 | 20180926 | 63.55 | 12 | 049681 | S | 赤色 | 2 |
| 3761 | 20180926 | 3.42 | 7 | 3036491 | XS | 黒 | 2 |
| 3764 | 20180927 | 325.95 | 8 | 203521 | XL | 黒 | 2 |
| 3763 | 20180927 | 177.56 | 10 | 2038593 | L | 青 | 1 |

## 例 - 複数のパーティションを持つランク付けされた項目を追加する

[](https://help.qlik.com/en-US/qlikview/Subsystems/Client/Content/QV_QlikView/Scripting/WindowFunctions/wrank.htm)

#### 例: 複数のパーティションを持つランク付けされた項目を追加

ロード スクリプト

データ ロード エディタで新しいタブを作成し、次のデータをインライン ロードとしてロードします。結果を確認するには、以下の Qlik Sense のテーブルを作成します。

```
Transactions:
Load
*,Window(WRank(0,1),customer_id, size, color_code, 'Desc', transaction_amount) as TransactionRanking;

Load * Inline [
transaction_id, transaction_date, transaction_amount, transaction_quantity, customer_id, size, color_code
3750, 20180830, 23.56, 2, 2038593, L, Red
3751, 20180907, 556.31, 6, 203521, M, Orange
3752, 20180916, 5.75, 1, 5646471, S, Blue
3753, 20180922, 125.00, 7, 3036491, L, Black
3754, 20180922, 484.21, 13, 049681, XS, Red
3756, 20180922, 59.18, 2, 2038593, M, Blue
3757, 20180923, 177.42, 21, 203521, XL, Black
3758, 20180924, 153.42, 14, 2038593, L, Red
3759, 20180925, 7.42, 5, 203521, M, Orange
3760, 20180925, 80.12, 18, 5646471, M, Blue
3761, 20180926, 3.42, 7, 3036491, XS, Black
3763, 20180926, 63.55, 12, 049681, S, Red
3763, 20180927, 177.56, 10, 2038593, L, Blue
3764, 20180927, 325.95, 8, 203521, XL, Black
];
 
```

結果

1 桁の結果に fmtfmt を使ってランキングされた項目を追加した結果

| transaction\_id | transaction\_date | transaction\_amount | transaction\_quantity | customer\_id | size | color\_code | TransactionRanking |
| --- | --- | --- | --- | --- | --- | --- | --- |
| 3750 | 20180830 | 23.56 | 2 | 2038593 | L | 赤色 | 2 |
| 3751 | 20180907 | 556.31 | 6 | 203521 | M | オレンジ | 1 |
| 3752 | 20180916 | 5.75 | 1 | 5646471 | S | 青 | 1 |
| 3754 | 20180922 | 484.21 | 13 | 049681 | XS | 赤色 | 1 |
| 3756 | 20180922 | 59.18 | 2 | 2038593 | M | 青 | 1 |
| 3753 | 20180922 | 125.00 | 7 | 3036491 | L | 黒 | 1 |
| 3757 | 20180923 | 177.42 | 21 | 203521 | XL | 黒 | 2 |
| 3758 | 20180924 | 153.42 | 14 | 2038593 | L | 赤色 | 1 |
| 3759 | 20180925 | 7.42 | 5 | 203521 | M | オレンジ | 2 |
| 3760 | 20180925 | 80.12 | 18 | 5646471 | M | 青 | 1 |
| 3763 | 20180926 | 63.55 | 12 | 049681 | S | 赤色 | 1 |
| 3761 | 20180926 | 3.42 | 7 | 3036491 | XS | 黒 | 1 |
| 3764 | 20180927 | 325.95 | 8 | 203521 | XL | 黒 | 1 |
| 3763 | 20180927 | 177.56 | 10 | 2038593 | L | 青 | 1 |

## 制限

7WRank には、次の制限があります。

* fmt 値が 0 で、WRank のデュアル結果のテキスト部分を使用する場合、Window(WRank) に Text() を使用する必要があります。例: Text(Window(WRank(0), Unit, 'DESC', Age)) as UnitWRankedByAgeText。