ディメンション階層タイプの確認

各ASOディメンションには、階層タイプ「保管済」、「動的」または「複数」が割り当てられています。「保管済」階層タイプのディメンションの要素は保管され、集約ビューに集約が生成されます。

「動的」ディメンションの要素は、ビューに集約できません。「複数」タイプのディメンションでは、世代2 (最上位ノードの子)は「保管済」または「動的」に設定されます。「複数」階層タイプについては、世代2で階層タイプを「保管済」または「動的」として選択します。最初の世代2の子(通常はメイン階層)は、タイプ「保管済」である必要があります。このような階層については、世代2のすべてのメンバーを編集し、階層タイプとして「保管済」(推奨)または「動的」を選択する必要があります。

最適なパフォーマンスを確保するには、「保管済」ディメンションをお薦めします。選択した階層タイプは、作成できる集約ビューの数にも影響するため、次のことをお薦めします:

  • 可能であれば、「保管済」タイプのディメンションのみを使用します。
  • 「保管済」タイプのディメンションを使用できない場合は、可能であれば、「複数」を使用します。
  • 「複数」階層ディメンションについては、可能であれば、世代2を「動的」ではなく「保管済」に設定します。
  • 「複数」階層タイプを使用できない場合にのみ、「動的」ディメンションを使用します。
  • 「勘定科目」ディメンションはASO圧縮ディメンションであるため、常に「動的」にする必要があります。これを変更することはできません。

ディメンション変換における階層タイプの影響

ディメンションを変換すると(たとえば、「動的」から「複数」に)、ノード・メンバー(Gen1)はラベルのみになります。世代2で動的ディメンションに子(+)が1つのみの場合、変換は機能します。Gen1 (ノード)レベルで合計が必要な場合、「動的」から「複数」へのディメンション変換ができないことがあります。

階層タイプの設定

階層タイプ(「保管済」、「動的」または「複数」)は、それぞれのディメンションの最上位ノード・メンバーに対して設定されます。すべての場合において、子孫は親の階層タイプを継承します。したがって、「保管済」および「動的」階層タイプは、ディメンション全体について設定されます。「複数」階層タイプが指定されたディメンションについては、世代2のそれぞれのメンバー(ノード・メンバーの子)が「動的」または「保管済」に設定されます。

「保管済」階層タイプに関する考慮事項は、次のとおりです:

  • 「保管済」階層タイプには、集計演算子+ (加算)および~ (無視)を含めることができます。
  • 非集計演算子または無視演算子を「保管済」階層タイプで使用できるのは、メンバーの親がLABEL_ONLYに設定されている場合のみです。

「動的」階層タイプに関する考慮事項は、次のとおりです:

  • 「動的」階層タイプのメンバーでは、加算や無視など、任意の集計演算子を使用できます。
  • 「動的」階層タイプ内では式を使用できます。
  • 共有メンバーは、状況によっては「保管済」階層タイプ内に存在できますが、「動的」階層に含まれている必要がある場合もあります(共有メンバーと階層タイプを参照)。
  • 大きいディメンションを「動的」にすることは避けてください。

式の使用と階層タイプ

「動的」階層タイプ内では式を使用できますが、ディメンション全体を「動的」にする必要がないことに注意することが重要です。式が存在する階層のみを「動的」にする必要があります。

可能であれば、ディメンションに式を含める場合、階層タイプとして「複数」を使用してください。世代2で、式を含むディメンション内の階層のみを「動的」にし、残りは「保管済」にします。

わかりやすい例として、「シナリオ」ディメンションに、「実績」、「予算」、「予測」およびいくつかの式が含まれているとします。多くの場合、これらは世代2のメンバーです。この場合、「シナリオ」の階層タイプを「複数」にし、式を含む世代2のメンバーを「動的」にして、他のすべてのメンバーを「保管済」にします。

共有メンバーと階層タイプ

共有メンバーは、ASOデータベース内の階層タイプに関する意思決定に影響する可能性があります。「保管済」ディメンションに共有メンバーを含めることはできませんが、「複数」ディメンション・タイプ内の「保管済」階層には共有メンバーを含めることができます。

「複数」ディメンションで階層タイプを設定する際には、可能なかぎり多くの階層を「保管済」タイプとして設定してください(世代2で設定)。

共有メンバーが1回のみ共有され、レベル0のメンバーと共有されている場合、共有メンバーは「複数」ディメンション内の「保管済」階層に存在できます。ただし、「保管済」階層内の共有メンバーには次のような制限があり、「複数」ディメンション内の世代2の階層を「動的」として設定することが必要になる場合があります:

  • 値が二重にカウントされないようにするために、「保管済」階層に同じ共有メンバーの複数のコピーを含めることはできません。
  • 「保管済」階層に、同じメンバーの保管済バージョンと共有バージョンの両方を含めることはできません。
  • 「動的」階層のメンバーが式を含まないレベル0のメンバーである場合にのみ、「保管済」階層に「動的」階層のメンバーの共有インスタンスを含めることができます。つまり、それより上のレベルのメンバーや式を含むメンバーの共有メンバーを「保管済」階層に含めることはできません。
  • 各共有メンバーが1回のみ使用され、レベル0のメンバーの共有インスタンスである場合、共有メンバーは「複数」ディメンション内に存在できます。

共有メンバーの階層(ディメンションではない)を「動的」にするのは、階層を「保管済」として設定できない場合のみにしてください。ただし、多くの場合、共有メンバーは、世代2のすべてのメンバーが「保管済」に設定された「複数」ディメンションに存在できます(共有メンバーがすべての共有階層内で1回のみ使用される場合など)。