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 万件以上の製品 
時間 

以下にディメンション インデックス テーブルを示します。

ビット (インデックス)下限上限
001
122
234
358
4916
51732
63364
765128
8129256
9257512
105131,024
111,0252,048
122,0494,096
134,0978,192
148,19316,384
1516,38532,768
1632,76965,536
1765,537131,072
18131,073262,144
19262,145524,288
20524,2891,048,576
211,048,5772,097,152
222,097,1534,194,304
234,194,3058,388,608
248,388,60916,777,216
2516,777,21733,554,432
2633,554,43367,108,864
2767,108,865134,217,728
28134,217,729268,435,456
29268,435,457536,870,912
30536,870,9131,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 内の任意のリストの [Configure] タブで確認できます。

General Lists 内のタブの構成

時間ディメンションのインデックス スコアを計算するには、時間階層内のすべての期間を合計します。たとえば、四半期の合計が含まれる、月単位の 3 年間のモデル カレンダーがあるとすると、計算式は次のようになります:

1 (全期間) + 3 (年) + 12 (四半期) + 36 (月) = 52。そのため、ディメンション インデックス スコアは 6 となります。

ライン アイテムの全体的な 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 を下回っています。

カテゴリーアクション
ディメンション
  • 必要なディメンションとリスト メンバーのみを使用します。
  • 可能な場合は、関連するディメンションを階層として構造化し、類似ディメンションを結合します。
サブセット
  • モジュールの [Applies To] 設定でサブセットを使用します。モジュールがサブセットによってディメンション化されている場合、DIT は元のリストではなく、サブセットのメンバー数を使用して計算されます。これにより、サブセットは高ディメンション モジュールの DIT を管理するための強力なツールになります。
  • 時間の経過とともにこれらのサブセットのサイズが拡大していく様子を観察してください。
ライン アイテム
  • モデルのパフォーマンスを向上させるために、値がディメンション間で大きく変化する場合にのみ、ライン アイテムにディメンションを追加します。不要なディメンションを含めると、DIT、計算時間、メモリ消費量が増加します。
  • データを複数のライン アイテムに分割するか、異なるモジュールで異なるディメンションの組み合わせを使用します。
階層
  • 完全で深い階層を使用する代わりに、フラット リスト又は必要な特定のレベルのみを使用します。
時間
  • 必要な粒度で時間を使用します。たとえば、月単位の数値のみが必要な場合は、日レベルでの時間の使用は避けてください。 
  • モジュールでカバーする時間範囲を短縮してください。たとえば、3 年間をカバーする一つのモジュールを作成するのではなく、各年ごとに一つのモジュールを作成します。
  • インデックスが 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.
    この安全策により、モデルが無効な状態になることが防止されます。