日本語

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 関数は数値を返します。

Direction 引数のキーワード

キーワード説明
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 を何と組み合わせるかによって次のように動作が変わります。

  • 数値: 最も大きい数値が 1 位としてランク付けされます。
  • 日付: 最も遠い将来の日付が 1 位としてランク付けされます。
  • 時間軸: 最も遠い将来の時間軸が 1 位としてランク付けされます。

ランクが同じ値がある場合の動作

Cumulation values 引数の二つの値が Ranking values 引数で同じランクになった場合、General Lists 内の関連するリスト アイテムの順番どおりにランク付けされます。

ユーザー リストでの RANKCUMULATE の使用

RANKCUMULATE 関数を使ってユーザー リストを参照できます。ただし、ユーザー リスト内の特定のユーザーは、内容が変化して式が無効になる可能性がある本番データであるため参照できません。

制約

セルの上限

サーバーの動作を遅くする大規模なデータ セットのランク付けを防ぐために、5,000 万セルというセル制限が設定されています。5,000 万個以上のセルを対象に RANKCUMULATE 関数が使用されると、モデルはロールバックされ、通知が表示されます。

5,000 万セルという上限は、集計値または時間バージョンのリストには適用されません。つまり、集計されていないセルが 5,000 万個未満の場合、セルの数が 5,000 万個以上あるライン アイテムで RANKCUMULATE 関数を使用できます。

RANKCUMULATE 関数の対象となるセルの数が増えるにつれ、計算にかかる時間も比例して長くなります。

正の無限大、負の無限大、及び NaN

Ranking values 引数に正の無限大、負の無限大、又は NaN (非数) を使用すると、RANKCUMULATE 関数は 0 を返します。

累積ソースの制約

累積ソースが大きなデータ セットの場合、小数点以下の桁数が多い数値を追加すると、最下位の桁で浮動小数点エラーが発生する可能性があります。

累積ソースに無限大が含まれる場合、それ以降の結果は累積が終了するまでその無限大になります。ただし、逆の無限大がその後に来る場合、結果は NaN (非数) になります。

計算エンジンの機能の違い

現在 Polaris では RANKCUMULATE 関数を使用できません。

Classic エンジンでは使用できます。

同等の操作が行える Excel の関数

一般的な例

こちらの例では、「Salespersons」リストを含むモジュールが列にあり、ライン アイテムの数が行にあります。

この例では、RANKCUMULATE を使用して、各営業担当者の勤続年数順に売上を累積的に合計しています。表の一番下にある反復式では、次の目的のために Include value 引数と Ranking groups 引数を使用しています。

  • 累積的ランク付けの対象にする営業担当者の売上を決定する。
  • 累積的ランク付けを地域ごとに細かく分類する。

二つのライン アイテムでは、RANK 関数を使用して、RANKCUMULATE で値を累積した順序がわかるようになっています。


BenGrahamRashidLauraRitaDavidMasakiKieranAlisaKarenMartinaOswald
RegionNorthNorthNorthSouthSouthSouthEastEastEastWestWestWest
Sales258,796235,884190,750228,315171,494234,276230,213222,777201,855271,162267,401209,368
Years of service6981211913145151114

Rank by years of service

RANK(Years of Service, DESCENDING)

118105684212162

Rank by years of service within region

RANK(Years of Service, DESCENDING, MINIMUM, TRUE, Region)

312123213132
Include in cumulation?

Cumulated sales by longest tenure

RANKCUMULATE(Sales, Years of Service, DESCENDING)

2,520,4361,836,6142,261,6401,161,8351,333,3292,070,890933,520493,9392,722,291271,1621,600,730703,307

Cumulated sales by tenure for selected employees

RANKCUMULATE(Sales, Years of Service, DESCENDING, Include in cumulation?)

685,430235,884426,634228,315399,8090452,990222,777654,845271,1620480,530

Cumulative sales by tenure for each region

RANKCUMULATE(Sales, Years of Service, DESCENDING, TRUE, Region)

685,430235,884426,634228,315399,809634,085452,990222,777654,845271,162747,931480,530

免責事項

常に最新の情報を提供するため、Anapedia は定期的に更新されます。