RANKCUMULATE 関数は、値をランク付けしてからそのランク順で値を累積します。グループごとに個別にランク付けを実行できます。
RANKCUMULATE 関数は、値をランク付けしてからそのランク順で値を累積します。グループごとに個別にランク付けを実行できます。
たとえば、RANKCUMULATE 関数を使用して、勤続年数順に従業員の売上収益を累積的に合計できます。この操作の例については「例」セクションを参照してください。
RANKCUMULATE(Cumulation values, Ranking values [, Direction] [, Include value] [, Ranking groups])
引数 | データ型 | 説明 |
Cumulation values (必須) | 数値 | ランク付け基準に基づいて累積する数値です。 |
Ranking values (必須) | 数値、日付、又は時間軸 ライン アイテム、プロパティ、又は式を使用できます。 | 累積の基となるランク付け基準です。 |
Direction | キーワード | ランク付けする順序を決定します。 キーワードは DESCENDING と ASCENDING です。以下の「Direction 引数のキーワード」セクションにはさらに詳しい情報があります。 |
Include value | ブール値 | 値をランク付けするかどうかを決定します。 デフォルト値である TRUE では、値がランキング対象になります。 値が FALSE の場合、ランキングから値が除外され、結果として 0 が返されます。 |
Ranking groups | 数値、ブール値、日付、時間軸、リスト、又はテキスト | 指定した場合、値は Ranking groups 引数の各値とは無関係にランク付けされます。 |
RANKCUMULATE 関数は数値を返します。
キーワード | 説明 |
DESCENDING | このキーワードを使用すると、RANKCUMULATE 関数は最も高いソース値に 1 、2 番目に高いソース値に 2 という順番でランクを付けていきます。 |
ASCENDING | Direction 引数を省略した場合のデフォルトのキーワードです。 このキーワードを使用すると、RANKCUMULATE 関数は最も低いソース値に 1 、2 番目に低いソース値に 2 という順番でランクを付けていきます。 |
RANKCUMULATE(Revenue, Transaction Date, DESCENDING, Eligible transaction?, Region)
RANKCUMULATE 関数の Ranking values 引数には、数値形式、日付形式、又は時間軸形式のライン アイテム、プロパティ、又は式を使用できます。ただし、結果は常に数値で返されます。
Direction 引数にデフォルトのキーワードである ASCENDING を使用して RANKCUMULATE 関数で値をランク付けした場合、最も低い値が 1 位、2 番目に低い値が 2 位という順番でランク付けされます。RANKCUMULATE を何と組み合わせるかによって次のように動作が変わります。
Cumulation values 引数の二つの値が Ranking values 引数で同じランクになった場合、General Lists 内の関連するリスト アイテムの順番どおりにランク付けされます。
RANKCUMULATE 関数を使ってユーザー リストを参照できます。ただし、ユーザー リスト内の特定のユーザーは、内容が変化して式が無効になる可能性がある本番データであるため参照できません。
サーバーの動作を遅くする大規模なデータ セットのランク付けを防ぐために、5,000 万セルというセル制限が設定されています。5,000 万個以上のセルを対象に RANKCUMULATE 関数が使用されると、モデルはロールバックされ、通知が表示されます。
5,000 万セルという上限は、集計値または時間とバージョンのリストには適用されません。つまり、集計されていないセルが 5,000 万個未満の場合、セルの数が 5,000 万個以上あるライン アイテムで RANKCUMULATE 関数を使用できます。
RANKCUMULATE 関数の対象となるセルの数が増えるにつれ、計算にかかる時間も比例して長くなります。
Ranking values 引数に正の無限大、負の無限大、又は NaN (非数) を使用すると、RANKCUMULATE 関数は 0 を返します。
累積ソースが大きなデータ セットの場合、小数点以下の桁数が多い数値を追加すると、最下位の桁で浮動小数点エラーが発生する可能性があります。
累積ソースに無限大が含まれる場合、それ以降の結果は累積が終了するまでその無限大になります。ただし、逆の無限大がその後に来る場合、結果は NaN (非数) になります。
現在 Polaris では RANKCUMULATE 関数を使用できません。
Classic エンジンでは使用できます。
こちらの例では、「Salespersons」リストを含むモジュールが列にあり、ライン アイテムの数が行にあります。
この例では、RANKCUMULATE を使用して、各営業担当者の勤続年数順に売上を累積的に合計しています。表の一番下にある反復式では、次の目的のために Include value 引数と Ranking groups 引数を使用しています。
二つのライン アイテムでは、RANK 関数を使用して、RANKCUMULATE で値を累積した順序がわかるようになっています。
Ben | Graham | Rashid | Laura | Rita | David | Masaki | Kieran | Alisa | Karen | Martina | Oswald | |
Region | North | North | North | South | South | South | East | East | East | West | West | West |
Sales | 258,796 | 235,884 | 190,750 | 228,315 | 171,494 | 234,276 | 230,213 | 222,777 | 201,855 | 271,162 | 267,401 | 209,368 |
Years of service | 6 | 9 | 8 | 12 | 11 | 9 | 13 | 14 | 5 | 15 | 11 | 14 |
Rank by years of service
| 11 | 8 | 10 | 5 | 6 | 8 | 4 | 2 | 12 | 1 | 6 | 2 |
Rank by years of service within region
| 3 | 1 | 2 | 1 | 2 | 3 | 2 | 1 | 3 | 1 | 3 | 2 |
Include in cumulation? | ||||||||||||
Cumulated sales by longest tenure
| 2,520,436 | 1,836,614 | 2,261,640 | 1,161,835 | 1,333,329 | 2,070,890 | 933,520 | 493,939 | 2,722,291 | 271,162 | 1,600,730 | 703,307 |
Cumulated sales by tenure for selected employees
| 685,430 | 235,884 | 426,634 | 228,315 | 399,809 | 0 | 452,990 | 222,777 | 654,845 | 271,162 | 0 | 480,530 |
Cumulative sales by tenure for each region RANKCUMULATE | 685,430 | 235,884 | 426,634 | 228,315 | 399,809 | 634,085 | 452,990 | 222,777 | 654,845 | 271,162 | 747,931 | 480,530 |
免責事項
常に最新の情報を提供するため、Anapedia は定期的に更新されます。