# WRank - スクリプト関数

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

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

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

テーブルのパーティション ![列セグメントを示すテーブル](https://help.qlik.com/ja-JP/sense/November2025/Subsystems/Hub/Content/Resources/Images/table_column_segments.png)

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

構文:

WRank ([mode[, fmt]])

戻り値データ型： デュアル

引数：

引数

| 引数 | 説明 |
| --- | --- |
| mode | 必要に応じて、関数の結果の数値表現を指定します。 |
| fmt | 必要に応じて、関数の結果のテキスト表現を指定します。 |

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

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

###### mode

最初の引数 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/sense/Subsystems/Hub/Content/Sense_Hub/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 | サイズ | 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/sense/Subsystems/Hub/Content/Sense_Hub/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 | サイズ | 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/sense/Subsystems/Hub/Content/Sense_Hub/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 | サイズ | 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 |

## 制限事項

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

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