Polaris ではマッピング キーを使用してディメンション間の交差を見つけ、アドレス指定可能なすべてのセルへの直接マップとして機能するディメンション インデックスを作成します。データを含むセルのみへの直接マップを提供することで、エンジンではより効率的にメモリを使用して高速な計算を実現できます。
ディメンション インデックスとは
ディメンション インデックスとは、各ディメンションのライン アイテムのメンバーの数を表すスコアです。「インデックス スコア」とも呼ばれます。
ディメンション インデックストータル (DIT) は、ライン アイテム内のアドレス指定可能なセルの合計数によって決まります。DIT は、ディメンションのベースとなるリストの合計メンバーに基づいた構造的メジャーです。[Summary Method: None] 設定を適用しても削減されません。
注記:Polaris では時間とバージョンが通常のディメンションと見なされ、ディメンション インデックス トータルに含まれます。
ディメンション インデックスの計算
ライン アイテムのすべてのディメンションの DIT で 64 を超えないようにする必要があります。モデルを変更した結果、合計が 64 を超える場合、Anaplan では変更がブロックされ、エラー メッセージが表示されます。モデルやモジュールではなく、ライン アイテムにこの制限が適用されることに注意してください。モデルとモジュールにはディメンション インデックスの制限がありません。ただし、ベスト プラクティスとして、ライン アイテムのディメンション性が、それらが含まれるモジュールのディメンション性と同じになることがよくあります。
この制限内でも、依然として非常に高いディメンション性で計画を立てることが可能です。次の例では、一つのライン アイテムの合計インデックス スコアがすべて 64 です。
| 例 1 | 例 2 | 例 3 |
| 2,000 件の製品 15,000 件のコンポーネント 15 レベルの部品表 10 箇所のプラント 時間 | 200 件のコスト センター 50 件の製品ファミリー 50 の市場 150 件の勘定科目表 5 つの通貨 2 つの為替レート 4 つのシナリオ 時間 | 500 人の販売員 5,000 人の顧客 1 万件以上の製品 時間 |
以下にディメンション インデックス テーブルを示します。
| ビット (インデックス) | 下限 | 上限 |
| 0 | 0 | 1 |
| 1 | 2 | 2 |
| 2 | 3 | 4 |
| 3 | 5 | 8 |
| 4 | 9 | 16 |
| 5 | 17 | 32 |
| 6 | 33 | 64 |
| 7 | 65 | 128 |
| 8 | 129 | 256 |
| 9 | 257 | 512 |
| 10 | 513 | 1,024 |
| 11 | 1,025 | 2,048 |
| 12 | 2,049 | 4,096 |
| 13 | 4,097 | 8,192 |
| 14 | 8,193 | 16,384 |
| 15 | 16,385 | 32,768 |
| 16 | 32,769 | 65,536 |
| 17 | 65,537 | 131,072 |
| 18 | 131,073 | 262,144 |
| 19 | 262,145 | 524,288 |
| 20 | 524,289 | 1,048,576 |
| 21 | 1,048,577 | 2,097,152 |
| 22 | 2,097,153 | 4,194,304 |
| 23 | 4,194,305 | 8,388,608 |
| 24 | 8,388,609 | 16,777,216 |
| 25 | 16,777,217 | 33,554,432 |
| 26 | 33,554,433 | 67,108,864 |
| 27 | 67,108,865 | 134,217,728 |
| 28 | 134,217,729 | 268,435,456 |
| 29 | 268,435,457 | 536,870,912 |
| 30 | 536,870,913 | 1,073,741,824 |
一つのディメンションのインデックス スコアの計算
ディメンション インデックス テーブルから、一つのディメンションのインデックス スコアを計算できます。ディメンション内のリストが複合階層の一部である場合、メンバーの合計数はそのリストのメンバーとそのすべての親の合計になります。
例:
- アイテムが 10 個あるフラット リストとしてディメンションがあり、トップ レベル アイテムがある場合、メンバーの合計数は 11 (10 + 1 個のトップ レベル アイテム) になります。これは 9 ~ 16 の範囲に該当するため、インデックス スコアは 4 です。
- 親アイテムが 7 個ある非複合階層としてディメンションがあり、各親に二つの子アイテムがあり、トップ レベル アイテムがない場合、メンバーの合計数は 21 件 (7 件の親 + (7 x 2) 件の子アイテム) になります。これは 17 ~ 32 の範囲に該当するため、インデックス スコアは 5 です。
- アイテムが 100 件ある複合階層の一部としてディメンションがあり、その親に 50 件のアイテムがある場合、メンバーの合計数は 150 件 (100 + 50) になります。これは 129 ~ 256 の範囲に該当するため、インデックス スコアは 8 です。
これらのリスト アイテムを手動で追加する必要はありません。親とトップ レベルを含むリスト内のメンバーの合計数は、General Lists

時間ディメンションのインデックス スコアの計算
時間ディメンションのインデックス スコアを計算するには、時間階層内のすべての期間を合計します。たとえば、四半期の合計が含まれる、月単位の 3 年間のモデル カレンダーがあるとすると、計算式は次のようになります:
1 (全期間) + 3 (年) + 12 (四半期) + 36 (月) = 52。そのため、ディメンション インデックス スコアは 6 となります。
全体的な DIT の計算
ライン アイテムの全体的な DIT を求めるには、各ディメンションのインデックス スコアを追加します。
以下で構成されているライン アイテムを例に挙げます。
- 製品リスト (インデックス スコア: 8)
- 顧客リスト (インデックス スコア: 10)
- 時間 (インデックス スコア: 5)
この場合の DIT は 23 (8 + 10 + 5) です。
一つのディメンションを追加するなどの小さな変更でも大きな影響が生じ、合計が制限を超えてしまう可能性があります。これを防ぐには、保有しているデータを常に把握し、将来の増加に向けて計画を立てる必要があります。
注記:モデル設計中に、高度にディメンション化されたライン アイテムを早期に特定して、DIT が許容限度を超えないようにします。
たとえば、上記の 例 1 の DIT を計算してみましょう。
| 例 | 説明 | インデックス スコア |
| 2,000 件の製品 | 1,025 ~ 2,048 の範囲に該当します。 | 11 |
| 15,000 件のコンポーネント | 8,193 ~ 16,384 の範囲に該当します。 | 14 |
| 15 レベルの部品表 | 9 ~ 16 の範囲に該当します。 | 4 |
| 10 箇所のプラント | 9 ~ 16 の範囲に該当します。 | 4 |
| 時間 (2 年、月単位) | メンバーの総数は 35 件 (全期間 1 件 +年間 2 件 + 四半期 8 件 + 月間 24 件) です。これは 33 ~ 64 の範囲に該当します。 | 6 |
DIT は 39 (11 + 14 + 4 + 4 + 6) となり、これは制限である 64 を下回っています。
64 の制限内に留まるための重要な戦術
| カテゴリー | アクション |
| ディメンション |
|
| サブセット |
|
| ライン アイテム |
|
| 階層 |
|
| 時間 |
|
覚えておくべき重要なポイント
- インデックスが 60 に近づいている場合:リストの拡大に細心の注意を払い、上記の主要なテクニックを適用してモデルを調整する準備をしてください。小さいリスト (バージョンなど) のインデックス スコアはいくつかのアイテムを追加するだけで増加するため、小さな変更でも DIT が増加する可能性が高くなります。
- インデックスとメモリ:ディメンション インデックスは使用可能なすべてのセルを表しますが、メモリはデータがあるセルのみを表します。ディメンション インデックス自体はメモリの使用量や計算負荷には影響しません。これは、入力されたセルの数と使用される式によって決まります。同様に、ライン アイテムの [Summary Method] ([None]、[Sum] など) は計算とメモリに影響しますが、構造的メジャーである DIT は変わりません。
注記:Polaris では、ハイパースペースはモデル内で使用できるセルの合計数です。ハイパースペースはアドレス指定が可能であろうセルを表していますが、メモリ消費量は入力されたセルの数のみに左右されます。Classic とは異なり、Polaris では未入力のセルにメモリを使用しません。
- リストの管理:古いアイテムや使用されていないアイテムを削除して、定期的にリストをクリーン アップします。ユーザーが作成できるリストは急速に大きくなる可能性があるため、特に注意してください。小さなリストを作成するよりも、いくつかのライン アイテムを作成する方がよい場合があります。
- スマートに構築:開発中は、完全なリストを使用してモデルの構造と制限をテストしますが、サンプル データは少量のみ使用します。こうすることで、開発モデルのスピードと応答性が維持されます。パフォーマンスをテストするために、テスト モデルを早い段階で頻繁に UAT 環境にフルスケール データとともに同期します。
- ユーザー中心:常にユーザーを念頭に置いて設計してください。シンプルで使いやすいモデルは常に複雑なモデルよりも優れています。
- 制限の超過:ディメンションの追加やリスト メンバーのインポートなどのアクションによってライン アイテムの DIT が 64 を超えると、そのアクションは失敗し、モデルに次のエラー メッセージが表示されます。
[Line Item] is too large.Reduce the number of list items or use fewer dimensions.この安全策により、モデルが無効な状態になることが防止されます。