ASOキューブでの階層

Essbaseアウトラインでのディメンションには、関連するレベルおよびメンバーの、1つ以上の階層が含まれています。階層は、保管または動的です。保管階層では、アウトライン構造に基づいて、迅速に集約されます。動的階層は、式と解決順序を使用して、取得時に計算されます。代替階層は、属性メンバーまたは共有メンバーの構造です。

ASOsamp.Basicデータベース内のTimeディメンションには、階層MTD、QTDおよびYTDが含まれています。

図36-1 Timeディメンションの複数の階層とメンバーが示されているアウトライン


このイメージは、Timeディメンションの複数の階層が有効になっているアウトラインを示しています。

集約ストレージ・キューブでは、階層は、保管動的のどちらかになります。

ディメンションには、保管階層と動的階層が両方含まれている場合があります。各タイプには、それ固有の利点と制限事項があります。ディメンションで複数の階層を使用するには(それらがすべて保管階層の場合でも)、そのディメンションに対して複数階層を有効にする必要があります。

ディメンション・メンバーを複数階層有効としてタグ付けすると、自動的にラベルのみとしてタグ付けされます。

ディメンションを複数階層有効としてタグ付けしない場合、そのディメンションは自動的に保管階層としてタグ付けされます(勘定科目としてタグ付けされたディメンションを除きます。これは、動的階層としてタグ付けされます)。

ノート:

複数階層有効のディメンションの最初の階層は保管階層である必要があります。

Essbase Webインタフェースで、メンバー・プロパティを使用して、ディメンションに対して複数階層を有効にします。

保管階層

保管階層のメンバーは、アウトライン構造に従って集約されます。集約ストレージ・データベースは集約のために最適化されているため、保管階層のデータ値の集約は非常に高速です。この高速な集約を可能にするために、保管階層のメンバーには次の制限があります。

  • 保管階層は、非集計(~)演算子(ラベルのみのメンバーの下のみ)または加算(+)演算子を持つことができます。

  • 保管階層は式を持つことはできません。

保管階層には、ラベルのみのメンバーに対する制限があります。「ASOでのアウトラインの相違点」を参照してください。

下で示している階層では、All Merchandise階層とHigh End Merchandise階層が保管階層です。All MerchandiseメンバーとHigh End Merchandiseメンバーは階層の最上位であり、両方とも保管階層の最上位としてタグ付けされています。

図36-2 Productディメンションの代替階層High End Merchandiseが表示された集約ストレージ・アウトライン


このイメージは、ProductsディメンションにHigh End Merchandiseの代替階層が含まれるアウトラインを示しています。

Essbase Webインタフェースで、メンバー・プロパティを使用して保管階層を指定します。

MaxLimport database文を使用して、階層の最上位メンバーを保管階層の最上位としてタグ付けできます。

保管階層の最上位としてタグ付けできるのは、次のメンバーです。

  • ディメンション・メンバー(世代1)。ディメンション・メンバーが保管階層の最上位としてタグ付けされている場合は、ディメンション全体が単一の保管階層とみなされ、ディメンション内の他のメンバーを保管階層または動的階層の最上位としてタグ付けできません。

  • ディメンション・メンバーの子(世代2)。世代2のメンバーが保管階層の最上位としてタグ付けされている場合は、ディメンション内のすべての世代2メンバーも、保管階層または動的階層の最上位としてタグ付けする必要があります。ディメンションでの最初の階層は保管である必要があります。

勘定科目タグが付けられたディメンションは自動的に動的ディメンションとみなされます。勘定科目ディメンションを保管階層に指定できません。

動的階層

動的階層を評価する場合、Essbaseで、集約ではなく、メンバーと式が計算されます。メンバーと式が評価される順序は、解決順序のプロパティによって定義されます。「ASOキューブでの計算順序と解決順序」を参照してください。

取得時に、Essbaseによって、必要なメンバーの組合せが計算されて、必要なアウトライン・メンバー式が計算されます。動的階層が計算されるため、保管階層からデータを取得する場合よりも、データの取得時間が長くなる場合があります。ただし、データベースの設計時において、動的階層には次の利点があります。

  • 任意の集計演算子を含めることができます。

  • 式を持つことができます。

Essbase Webインタフェースで、メンバー・プロパティを使用して動的階層を指定します。

MaxLimport data文を使用して、階層の最上位メンバーを動的階層の最上位としてタグ付けできます。

動的階層の最上位としてタグ付けできるのは、次のメンバーです。

  • ディメンション・メンバー(世代1) - ディメンション・メンバーが動的階層の最上位としてタグ付けされている場合は、ディメンション全体が単一の動的階層とみなされ、ディメンション内の他のメンバーを動的階層の最上位や保管階層の最上位としてタグ付けできません。

  • ディメンション・メンバーの子(世代2) - 世代2のメンバーが動的階層の最上位としてタグ付けされている場合は、ディメンション内のすべての世代2メンバーも、動的階層の最上位または保管階層の最上位としてタグ付けする必要があります。ディメンションの最初の階層は保管階層である必要があります。

ノート:

メンバーのすべての子に非集計演算子(~)がある場合、そのメンバーはラベルのみとしてタグ付けする必要があります。

勘定科目としてタグ付けされたディメンションは自動的に動的階層とみなされます。勘定科目ディメンションを保管階層に指定できません。

Essbaseでは、集約ビューの動的階層メンバーは選択できません。

代替階層

代替階層は、次のいずれかの方法でモデル化できます。

  • ディメンション内でメンバーを論理的に分類するための属性を使用する、属性ディメンションとして(たとえば、Productディメンションは、SizeやFlavorなどの属性を持つことができます)。

    ノート:

    属性ディメンションを代替階層として使用する場合の、有用な問合せの1つとしては、基本ディメンション・メンバー別の属性ディメンション・メンバーについてのクロス集計レポートがあります。たとえば、製品売上情報のクロス集計レポートで、列にサイズ属性(小や大など)、行に製品を表示できます。共有メンバーを代替階層として使用している場合は、同等の、プロトタイプ・メンバー別の共有メンバーについてのクロス集計レポートの問合せは作成できません。

  • 共有メンバーの階層として。代替階層には、アウトライン内の以前の階層のプロトタイプ・メンバーを指し示す共有メンバーが含まれます。共有メンバーは、プロトタイプ・メンバーとは異なる階層に従ってロールアップします。動的階層の共有メンバーは式を持つことができます。次の表は、ASOsamp.Basicデータベースの階層を示しています。Productsディメンションはその後の図に示されています。

表36-1 ASOsamp.BasicのProductディメンションの階層と代替階層の例

Product 階層 代替階層(共有メンバーを含む)

Flat Panel

Products、All Merchandise、Personal Electronics、Home Entertainment、Televisions

Products、High End Merchandise

HDTV

Products、All Merchandise、Personal Electronics、Home Entertainment、Televisions

Products、High End Merchandise

図36-3 Productディメンションの代替階層High End Merchandiseが表示された集約ストレージ・アウトライン


このイメージは、ProductsディメンションにHigh End Merchandiseの代替階層が含まれるアウトラインを示しています。

共有メンバーの代替階層に関する制限事項

集約ストレージ・アウトラインでの代替階層には、次の制限事項が適用されます。

  • メンバーのプロトタイプ・インスタンスは、アウトライン内で、メンバーの共有インスタンスより前に存在する必要があります。たとえば、前述のアウトラインでは、メンバーHDTVは、High End Merchandiseの代替階層で共有メンバーとして表示される前に、All Merchandiseの階層で表示されます。

  • 複数の階層が有効なディメンションの最初の階層には、共有メンバーを含めることはできません。

  • 保管階層ディメンションが共有メンバーを持つことはできない。複数階層ディメンション内の保管階層は、共有メンバーを持つことができます。

  • 値が二重にカウントされないようにするために、「保管済」階層に同じ共有メンバーの複数のコピーを含めることはできません。たとえば、保管階層には、共有メンバーとその祖先を含めることはできません。前述のアウトラインでは、共有メンバー"Televisions"を"High End Merchandise"の子として追加することはできません。それを行うと"Televisions"が、その子である共有メンバー"Flat Panel"および"HDTV"の兄弟になり、"Flat Panel"と"HDTV"の値が2回追加されることになるためです。

  • メンバーのプロトタイプ・インスタンスは、共有メンバーと同じディメンションに存在している必要があります(ブロック・ストレージ・アウトラインと同じ)。

  • 保管階層には、同じメンバーのプロトタイプ・インスタンスと共有インスタンスを含めることはできません。

  • 動的階層のメンバーが式を含まないレベル0のメンバーである場合にのみ、保管階層に動的階層のメンバーの共有インスタンスを含めることができます。

ノート:

集約ストレージ・キューブでは、共有メンバーは、そのプロトタイプ・メンバーに関連付けられている属性を自動的に共有します。

ASOキューブでは、共有メンバーは、そのプロトタイプ・メンバーに関連付けられている属性を自動的に共有します。これは、暗黙的な共有メンバー(子が1つのみのメンバーなど)にも適用されます。「共有しない」プロパティを設定することで、暗黙的な共有を防止できます。ASOデータベースの共有メンバーおよび属性のこの動作は、ブロック・ストレージ(BSO)データベースの動作とは異なります。