ヘッダーをスキップ
Oracle OLAP DMLリファレンス
11g リリース1(11.1)
E05732-02
  目次へ
目次
索引へ
索引

戻る
戻る
 
次へ
次へ
 

OLAP DMLデータ・オブジェクトの概要

通常、リレーショナル・データベースでは、第3正規形のデータの表にデータ値を格納します。このタイプの実装では、リレーショナル・データベース表のキー列の値は、単一レベルの一意のデータ値になります。たとえば、リレーショナル・データベースの1つのレベルに都市の名前を含む「City」という名前のキー列を持つ表が存在し、その次の上位レベルに州の名前を含む「state」という名前のキー列を持つ表が存在し、さらに同じようにその次の上位レベルに別の名前のキー列を持つ表が存在するという具合です。

アナリティック・ワークスペースでは、分析するデータを保持するオブジェクトは変数と呼ばれる配列です。変数内のキーは、変数のディメンションとして機能する他のオブジェクトに格納されます。OLAP分析のパフォーマンスを向上させるために、複数のレベルの値は階層ディメンションと呼ばれる単一のディメンション内に格納されます。たとえば、アナリティック・ワークスペースでは、都市と州の両方の名前を値として持つ「geog」という名前の階層ディメンションを持つことができます。

2つ以上のディメンションの値を関連付ける値を格納するオブジェクトは、リレーションと呼ばれます。このような階層ディメンションの異なるレベルの値に関する1対多関係は、アナリティック・ワークスペースに格納されます。たとえば、階層ディメンション「geog」の都市と州の値の関係は、通常、parentrelリレーションと呼ばれるアナリティック・ワークスペースのリレーションに格納されます。詳細は、「parentrelリレーション」を参照してください。

通常、追加のアナリティック・ワークスペース・オブジェクトには、階層ディメンションに関する追加情報を保持するように定義されます。一部の重要なOLAP DMLのコマンドとファンクション(LIMITコマンドなど)は、これらのオブジェクトの名前を文の構文内の1つの引数に指定して、アナリティック・ワークスペース内のこれらのオブジェクトの存在を推測します。

OLAP DMLデータ・オブジェクトの型

概要

変数

最も重要なデータ・オブジェクトは変数です。変数はデータを格納するオブジェクトです。変数内のデータはすべて同じデータ型である必要があります。通常、変数には、ビジネスのある側面を定量化するデータ値を含めます。たとえば、ビジネスの取引に関して(ドル、個数、パーセントなどで評価される)複数のカテゴリがある場合、各カテゴリはそれぞれ独自の変数に格納されます。たとえば、ドル(sales変数)や個数(units変数)で売上データを記録できます。

OLAP DMLは多次元プログラミング言語であるため、変数は多次元であり、他のOLAP言語でメジャーと呼ばれるものに相当します。概念的には、2つのディメンションを持つ変数を表、3つのディメンションを持つ変数をキューブなどとみなすことができます。物理的には、変数は多次元配列として格納されます。この配列の実際の構造は、変数をディメンション化するオブジェクトによって決定されます。

配列のスコープとパフォーマンスは一定ではありません。永続変数とは、変数の値と定義の両方がアナリティック・ワークスペースに格納される変数です。一時変数とは、現行のセッションでのみ値を保持する変数です。アナリティック・ワークスペースを更新およびコミットすると、一時変数の定義のみが保存されます。アナリティック・ワークスペースを終了すると、データ値は廃棄されます。また、変数はプログラム内で定義することもできます。

スカラー変数も定義できますが(通常はプログラム内で)、OLAP DMLを使用して定義する変数の大半は、ディメンション化された変数です。ディメンション化された変数は、複数の値を保持する配列です。変数の索引やディメンションを使用すると、変数を編成できます。ディメンションの値は、データ値を一意に識別するという点でリレーショナル表のキーに似ています。たとえば、ディメンションtime、geographyおよびproductによってディメンション化されたsales変数が存在する場合、salesの値はtime、geographyおよびproductの値の各組合せによって識別されます。変数の索引は、実際にはディメンションの値ではありません。ディメンションの値の位置(INTEGER)です。

変数は、フラット・ディメンションまたは階層ディメンションのどちらかでディメンション化できます。フラット・ディメンションは、ディメンション内の値がすべて同じレベルである(別の値の子や親ではない)場合に存在します。階層ディメンションは、単一ディメンションの値が互いに1対多(親子)関係である場合に存在します。

階層ディメンションは、単一のディメンション内のこのような型のデータを編成および構造化する手法です。階層ディメンションを使用すると、データを含む変数をすべてのレベルにディメンション化できます。ディメンションは複数の階層を持つ場合があります。ディメンション値の親子関係は、セルフ・リレーションを作成することで指定します。階層ディメンションを使用すると、単一の変数内に様々なレベルの集計データを含む変数を定義できます。このタイプの格納では、(特に変数が大きい場合)データを表示しようとするユーザーに対する応答時間が短くなります。

通常、階層ディメンションの上位レベルに対応する変数のセルは、下位レベルのディメンション値に対応する変数のセルの値の合計を含みます。たとえば、期間を表す階層ディメンションで定義されているsales変数の場合、各四半期を表す変数のセルは四半期の月の総売上を表すことができます。

階層ディメンションで変数を定義した後、変数データを下位レベルの階層に追加して、上位レベルの階層の値を計算または集計できます。逆に、階層の上位レベルから下位レベルにデータを配布または割当てすることもできます。


参照:

DEFINE VARIABLE

変数をディメンション化できるオブジェクト

変数とリレーション・データを実際に構造化および格納する方法は、変数やリレーションのディメンション化に使用するオブジェクトの型、およびこれらのオブジェクトが変数やリレーションの定義に現れる順序に依存します。変数は、単純なディメンション、連結ディメンション、コンポジット、パーティション・テンプレートおよび別名ディメンションによってディメンション化されます。変数をディメンション化するために選択するオブジェクトによって、変数のデータの格納方法が決定されます。

単純なディメンション

単純なディメンションのメンバーは、すべて同じデータ型を持つデータ値です。単純なディメンションで変数をディメンション化すると、ディメンションの各メンバーに対して変数のセルは1つになります。データを持たない変数のディメンション・メンバーが存在する場合、Oracle OLAPでは、その空の値を持つ変数にNA値が格納されます。これらのNA値の格納の結果すべてNA値となった場合、Oracle OLAPは実際に値を格納しません。Oracle OLAPでは、範囲がある場合はNA値が格納されません。

連結ディメンション

連結ディメンションは、事前定義された単純なディメンションや結合ディメンションにまたがって定義されます。したがって、連結ディメンションのベース・ディメンションは異なるデータ型になる場合があります。ベース・ディメンションに2つ以上の単純なフラット・ディメンションを持つ連結ディメンションを使用すると、階層を表現できます。連結ディメンションを使用すると、アナリティック・ワークスペースのディメンションをリレーショナル表の列に容易にマップでき、リレーショナル構造のデータをアナリティック・ワークスペース構造に非常に効率的にロードできます。

コンポジット

コンポジットは、事前定義されたディメンションやその他のコンポジットにまたがって定義されます。概念として、コンポジットは次の2つの構造から成り立っていると考えられます。

  • コンポジット・オブジェクト自体。コンポジットには、ディメンション値の組合せ(つまり、コンポジット・タプル)が含まれます。Oracle OLAPでは、この組合せを使用して、コンポジットによりディメンション化される変数の構造を決定します。

  • コンポジット値とそのベース・ディメンション値との間の索引。

コンポジットでディメンション化される変数では、ベース・ディメンション内のすべての値についてセルが作成されるわけではありません。これは、単純なディメンションによって変数をディメンション化する場合と異なります。かわりに、配列要素(つまり変数セル)が、コンポジットのタプルに格納されるディメンション値についてのみ作成されます。変数のデータは、コンポジットの各タプルに対しセル単位で順番に格納されます。データ格納の観点からは、コンポジット内のベース・ディメンション値の各組合せは、通常のディメンションの値と同様に扱われます。つまり、通常のディメンションとコンポジットを1つずつ持つ変数を定義する場合、変数のデータは、2次元の変数と同様に格納されます。コンポジットを使用することにより、変数に対して作成された要素の数が減り、データの格納がより効率化されます。

パーティション・テンプレート

パーティション・テンプレートは、事前定義されたディメンションやコンポジットにまたがって定義されます。パーティション・テンプレートは、パーティション変数のパーティション仕様です。パーティション変数は、アナリティック・ワークスペースであるLOBのリレーショナル表に、複数行として格納されます。各パーティションが表の1行です。

別名ディメンション

別名ディメンションは、単に単純なディメンションに対する別名です。別名ディメンションは、そのベース・ディメンションと同じ型および値を持ちます。通常、ある変数を同じディメンションで2回ディメンション化する必要がある場合に、別名ディメンションを定義します。

リレーション

リレーションとは、アナリティック・ワークスペース内の特定のディメンションの値と、同一のディメンションまたは他のディメンションの値との対応関係を設定するオブジェクトです。リレーションはディメンション化された配列です。リレーションの各セルにはディメンションの値の索引が保持されます。2つ以上のディメンション間のリレーション、ディメンションのセット間の複数のリレーション、または同一ディメンション内のリレーション(セルフ・ディメンション)を定義できます。

通常、リレーションは階層ディメンションのセルフ・リレーションです。1対多(親子)関係にあるディメンション値間のリレーションを作成することで、子値でデータを編成し、親値でデータの集計を表示できます。たとえば、geographyディメンションに対してgeog.parentリレーションを作成して、geographyの値cityとstateの関係を定義できます。この方法により、cityでデータを編成してstateでデータの集計を表示できます。


参照:

DEFINE RELATION

値セットとサロゲート・オブジェクト

OLAP DMLでは、変数の定義では使用せずに変数の問合せで使用する、次の特殊なデータ・オブジェクトが用意されています。

値セット・オブジェクト

値セットは、事前定義された1つ以上のディメンションのディメンション値のリストです。値セットを使用すると、複数のセッションにまたがってディメンション・ステータス・リストを保存できます。


参照:

DEFINE VALUESET

サロゲート

ディメンション・サロゲートは、事前定義されたディメンションの値の代替セットです。サロゲートで変数をディメンション化することはできません。しかし、サロゲートは、モデル、LIMITコマンド、修飾データ参照、または文(FILEREAD、FILEVIEW、SQL FETCHおよびSQL IMPORTなど)でロードするデータでディメンションのかわりに使用できます。

階層ディメンションの使用をサポートするオブジェクト

通常、変数は階層オブジェクトによってディメンション化されます。たとえば、geog、timeおよびproductでディメンション化されているsales変数があるとします。この場合、geogディメンションには、2つの階層(国別と売上地域)が存在し、それぞれの階層では、国別の階層の最上位レベルに「すべての国」が存在し、売上地域の階層の最上位レベルに「すべての地域」が存在する複数のレベルを持つことができます。例1-1「geogという名前の階層ディメンションの定義および移入」に、このタイプの地理階層ディメンションの定義および移入を示します。

例1-1 geogという名前の階層ディメンションの定義および移入

DEFINE geog DIMENSION TEXT
LD A dimension with two hierarchies for geography
"Populate the dimension with City, State, Region, and Country values
MAINTAIN geog ADD 'Boston' 'Springfield' 'Hartford' 'Mansfield' 'Montreal' 'Walla Walla' 'Portland' 'Oakland' 'San Diego' 'MA' 'CT' 'WA' 'CA' 'Quebec' 'East' 'West' 'All Regions' 'USA' 'Canada' 'All Country'

"Display the values in geog

REPORT geog

GEOG
--------------
Boston
Springfield
Hartford
Mansfield
Montreal
Walla Walla
Portland
Oakland
San Diego
MA
CT
WA
CA
Quebec
East
West
All Regions
USA
Canada
All Country

通常、階層ディメンションを定義した後、そのディメンションについて次のオブジェクトを定義します。

  • hierlistディメンション。ディメンションの階層の名前をリストします。詳細および例は、「hierlistディメンション」を参照してください。

  • parentrelリレーション。階層を定義します。ディメンションは、そのディメンションに対して定義されたparentrelを持つ場合は、必ず階層ディメンションになります。詳細および例は、「parentrelリレーション」を参照してください。

  • levellistディメンション。すべての階層のあらゆるレベルの名前をリストします。詳細および例は、「levellistディメンション」を参照してください。

  • hierlevels値セット。各階層のレベルの値です。詳細および例は、「hierlevels値セット」を参照してください。

  • inhier値セットまたは変数。各階層の値を識別します。詳細および例は、「inhier値セットまたは変数」を参照してください。

  • levelrelリレーション。階層ディメンションの各値を階層のレベルに関連付けます。詳細および例は、「levelrelリレーション」を参照してください。

  • familyrelリレーション。各階層ディメンションの値とその関連付けられた値です。詳細および例は、「familyrelリレーション」を参照してください。

  • gidrelリレーション。各階層内の各値のグルーピングIDです。詳細および例は、「gidrelリレーション」を参照してください。

hierlistディメンション

hierlistディメンションは、階層ディメンションの階層の名前を値として保持するアナリティック・ワークスペース内のTEXTディメンションです。たとえば、企業で異なる暦年と会計年度を使用する場合、その企業のtimeディメンションで、2つの階層(暦年用と会計年度用)を使用します。そのtime階層をサポートしたhierlistディメンションでは、2つの値(CalendarとFiscal)を使用します。

一貫性を保つために、アナリティック・ワークスペースには、各階層ディメンションに対するhierlistディメンションが含まれます。これは、階層ディメンションに1つの階層しかない場合も例外ではありません。

例1-2「geog_hierlistという名前のhierlistディメンションの定義および移入」に、このタイプのディメンションの定義および移入を示します。

例1-2 geog_hierlistという名前のhierlistディメンションの定義および移入

DEFINE geog_hierlist DIMENSION TEXT
LD List of Hierarchies for geog dimension
"Populate the geog_hierlist dimension
MAINTAIN geog_hierlist ADD 'Political_Geog' 'Sales_Geog'
"Display the values of the geog_hierlist dimension
REPORT geog_hierlist

GEOG_HIERLIST
--------------
Political_Geog
Sales_Geog

parentrelリレーション

parentrelリレーションは、階層ディメンション、それ自身(セルフ・ディメンション)およびhierlistディメンション間のリレーションです。このリレーションにより、階層内の各ディメンション・メンバーが識別されます。

例1-3「geog_parentrelという名前のparentrelリレーションの定義および移入」に、このタイプのリレーションの定義および移入を示します。

例1-3 geog_parentrelという名前のparentrelリレーションの定義および移入

"Define the relation
DEFINE geog_parentrel RELATION geog <geog geog_hierlist>
LD Self-relation for geog showing parents of each value
"Populate each cell in the relation "with the parent of the geog value
"This example using assignment statement with QDRs to do that
geog_parentrel (geog_hierlist 'Sales_Geog' geog 'Boston') = 'MA'
geog_parentrel (geog_hierlist 'Sales_Geog' geog 'Hartford') = 'CT'
geog_parentrel (geog_hierlist 'Sales_Geog' geog 'Springfield') = 'MA'
geog_parentrel (geog_hierlist 'Sales_Geog' geog 'Mansfield') = 'CT'
geog_parentrel (geog_hierlist 'Sales_Geog' geog  'Montreal') = 'Quebec'
geog_parentrel (geog_hierlist 'Sales_Geog' geog 'Walla Walla') = 'WA'
geog_parentrel (geog_hierlist 'Sales_Geog' geog 'Portland') = 'WA'
geog_parentrel (geog_hierlist 'Sales_Geog' geog 'Oakland') = 'CA'
geog_parentrel (geog_hierlist 'Sales_Geog' geog 'San Diego') = 'CA'
geog_parentrel (geog_hierlist 'Sales_Geog' geog 'CT') = 'East'
geog_parentrel (geog_hierlist 'Sales_Geog' geog 'MA') = 'East'
geog_parentrel (geog_hierlist 'Sales_Geog' geog 'WA') = 'West'
geog_parentrel (geog_hierlist 'Sales_Geog' geog 'CA') = 'West'
geog_parentrel (geog_hierlist 'Sales_Geog' geog 'Quebec') = 'East'
geog_parentrel (geog_hierlist 'Sales_Geog' geog 'East') = 'All Regions'
geog_parentrel (geog_hierlist 'Sales_Geog' geog 'West') = 'All Regions'
geog_parentrel (geog_hierlist 'Political_Geog' geog 'Boston') = 'MA'
geog_parentrel (geog_hierlist 'Political_Geog' geog 'Hartford') = 'CT'
geog_parentrel (geog_hierlist 'Political_Geog' geog 'Springfield') = 'MA'
geog_parentrel (geog_hierlist 'Political_Geog' geog 'Mansfield') = 'CT'
geog_parentrel (geog_hierlist 'Political_Geog' geog  'Montreal') = 'Quebec'
geog_parentrel (geog_hierlist 'Political_Geog' geog 'Walla Walla') = 'WA'
geog_parentrel (geog_hierlist 'Political_Geog' geog 'Portland') = 'WA'
geog_parentrel (geog_hierlist 'Political_Geog' geog 'Oakland') = 'CA'
geog_parentrel (geog_hierlist 'Political_Geog' geog 'San Diego') = 'CA'
geog_parentrel (geog_hierlist 'Political_Geog' geog 'CT') = 'USA'
geog_parentrel (geog_hierlist 'Political_Geog' geog 'MA') = 'USA'
geog_parentrel (geog_hierlist 'Political_Geog' geog 'WA') = 'USA'
geog_parentrel (geog_hierlist 'Political_Geog'  geog 'CA') = 'USA'
geog_parentrel (geog_hierlist 'Political_Geog'  geog 'Quebec') = 'Canada'
geog_parentrel (geog_hierlist 'Political_Geog'  geog 'USA') = 'All Country'
geog_parentrel (geog_hierlist 'Political_Geog' geog 'Canada') = 'All Country'

"Display the values of geog_parentrel
REPORT DOWN geog W 20 geog_parentrel
               -------------GEOG_PARENTREL--------------
               --------------GEOG_HIERLIST--------------
GEOG              Political_Geog         Sales_Geog
-------------- -------------------- --------------------
Boston         MA                   MA
Springfield    MA                   MA
Hartford       CT                   CT
Mansfield      CT                   CT
Montreal       Quebec               Quebec
Walla Walla    WA                   WA
Portland       WA                   WA
Oakland        CA                   CA
San Diego      CA                   CA
MA             USA                  East
CT             USA                  East
WA             USA                  West
CA             USA                  West
Quebec         Canada               East
East           NA                   All Regions
West           NA                   All Regions
All Regions    NA                   NA
USA            All Country          NA
Canada         All Country          NA
All Country    NA                   NA

levellistディメンション

levellistディメンションは、階層ディメンションの階層のすべてのレベルの名前を値として保持するTEXTディメンションです。

例1-4「geog_levellistという名前のlevellistディメンションの定義および移入」に、このタイプのディメンションの定義および移入を示します。

例1-4 geog_levellistという名前のlevellistディメンションの定義および移入

DEFINE geog_levellist DIMENSION TEXT
LD List of levels used by hierarchies of the geog dimension
"Populate the geog_levellist dimension with the names of the levels of both the
"Political_Geog and Sales_Geog hierarchies
MAINTAIN geog_levellist ADD 'All Country' 'Country' 'All Regions' 'Region' MAINTAIN geog_levellist ADD 'State-Prov' 'City'
"Display the values of the geog_levellist dimension

REPORT geog_levellist

GEOG_LEVELLIST
--------------
All Country
Country
All Regions
Region
State-Prov
City

hierlevels値セット

hierlevels値セットは、階層ディメンションの各階層に含まれているhierlevelsディメンション(通常は最下位から最上位への順)の値です。

例1-5「geog_hierlevelsという名前のhierlevels値セットの定義および移入」に、このタイプの値セットの定義および移入を示します。

例1-5 geog_hierlevelsという名前のhierlevels値セットの定義および移入

DEFINE geog_hierlevels VALUESET geog_levellist <geog_hierlist>
"Using LIMIT populate the valueset with the appropriate values for each hierarchy
LIMIT geog_hierlevels TO ALL
LIMIT geog_hierlevels (geog_hierlist 'Political_Geog') TO 'City' 'State-Prov' 'Country' 'All Country'
LIMIT geog_hierlevels (geog_hierlist 'Sales_Geog') TO 'City' 'State-Prov' 'Region' 'All Regions'

"Display the values in the valueset
REPORT W 22 geog_hierlevels

GEOG_HIERLIST     GEOG_HIERLEVELS
-------------- ----------------------
Political_Geog City
               State-Prov
               Country
               All Country
Sales_Geog     City
               State-Prov
               Region
               All Regions

inhier値セットまたは変数

inhier値セットは、各階層内のinhierディメンションの値です。例1-6「geog_inhierという名前のinhier値セットの定義および移入」に、このタイプの値セットの定義および移入を示します。

inhier変数は、階層ディメンションとhierlistディメンションでディメンション化されるBOOLEAN変数です。各階層では、その階層内の各ディメンション値に対してTRUE値を持っています。例1-7「geog_inhiervarという名前のinhier変数の定義および移入」に、このタイプの変数の定義および移入を示します。

例1-6 geog_inhierという名前のinhier値セットの定義および移入

"Define the valueset
DEFINE geog_inhier VALUESET geog <geog_hierlist>
"Using LIMIT commands, populate the valueset
LIMIT geog_inhier (geog_hierlist 'Political_Geog') REMOVE 'East' 'West' 'All Regions'
LIMIT geog_inhier (geog_hierlist 'Sales_Geog') REMOVE 'Canada' 'USA' 'All Country'
"Display the values in the valueset

REPORT W 20 geog_inhier

GEOG_HIERLIST      GEOG_INHIER
-------------- --------------------
Political_Geog Boston
               Springfield
               Hartford
               Mansfield
               Montreal
               Walla Walla
               Portland
               Oakland
               San Diego
               MA
               CT
               WA
               CA
               Quebec
               USA
               Canada
               All Country
Sales_Geog     Boston
               Springfield
               Hartford
               Mansfield
               Montreal
               Walla Walla
               Portland
               Oakland
               San Diego
               MA
               CT
               WA
               CA
               Quebec
               East
               West
               All Regions

例1-7 geog_inhiervarという名前のinhier変数の定義および移入

DEFINE geog_inhiervar VARIABLE BOOLEAN <geog geog_hierlist>

"Using LIMIT commands and assignment statements, populate
" the variable
LIMIT geog_hierlist TO ALL
LIMIT geog_hierlist TO 'Political_Geog'
LIMIT geog TO 'East' 'West' 'All Regions'
geog_inhiervar = FALSE
LIMIT geog COMPLEMENT
geog_inhiervar = TRUE
LIMIT geog_hierlist TO ALL
LIMIT geog_hierlist TO 'Sales_Geog'
LIMIT geog TO ALL
LIMIT geog TO 'Canada' 'USA' 'All Country'
geog_inhiervar = FALSE
LIMIT geog COMPLEMENT
geog_inhiervar = TRUE
LIMIT geog TO ALL
LIMIT geog_hierlist TO ALL

"Display the values of the variable
REPORT DOWN geog geog_inhiervar

               ---GEOG_INHIERVAR----
               ----GEOG_HIERLIST----
               Political_
GEOG              Geog    Sales_Geog
-------------- ---------- ----------
Boston                yes        yes
Springfield           yes        yes
Hartford              yes        yes
Mansfield             yes        yes
Montreal              yes        yes
Walla Walla           yes        yes
Portland              yes        yes
Oakland               yes        yes
San Diego             yes        yes
MA                    yes        yes
CT                    yes        yes
WA                    yes        yes
CA                    yes        yes
Quebec                yes        yes
East                   no        yes
West                   no        yes
All Regions            no        yes
USA                   yes         no
Canada                yes         no
All Country           yes         no

levelrelリレーション

levelrelリレーションは、階層ディメンションの各メンバーのレベルを記録する、levellistディメンションとhierlistディメンション間のリレーションです。

例1-8「geog_levelrelという名前のlevelrelリレーションの定義および移入」に、このタイプのリレーションの定義および移入を示します。

例1-8 geog_levelrelという名前のlevelrelリレーションの定義および移入

"Define the relation
DEFINE geog_levelrel RELATION geog_levellist <geog geog_hierlist>
LD Level of each dimension member for geog

"Populate the relation
"This example uses assignment statements with QDRs to populate
geog_levelrel (geog_hierlist 'Sales_Geog' geog 'Boston') = 'City'
geog_levelrel (geog_hierlist 'Sales_Geog' geog 'Hartford') = 'City'
geog_levelrel (geog_hierlist 'Sales_Geog' geog 'Springfield') = 'City'
geog_levelrel (geog_hierlist 'Sales_Geog' geog 'Mansfield') = 'City'
geog_levelrel (geog_hierlist 'Sales_Geog' geog  'Montreal') = 'City'
geog_levelrel (geog_hierlist 'Sales_Geog' geog 'Walla Walla') = 'City'
geog_levelrel (geog_hierlist 'Sales_Geog' geog 'Portland') = 'City'
geog_levelrel (geog_hierlist 'Sales_Geog' geog 'Oakland') = 'City'
geog_levelrel (geog_hierlist 'Sales_Geog' geog 'San Diego') = 'City'
geog_levelrel (geog_hierlist 'Sales_Geog' geog 'CT') = 'State-Prov'
geog_levelrel (geog_hierlist 'Sales_Geog' geog 'MA') = 'State-Prov'
geog_levelrel (geog_hierlist 'Sales_Geog' geog 'WA') = 'State-Prov'
geog_levelrel (geog_hierlist 'Sales_Geog' geog 'CA') = 'State-Prov'
geog_levelrel (geog_hierlist 'Sales_Geog' geog 'Quebec') = 'State-Prov'
geog_levelrel (geog_hierlist 'Sales_Geog' geog 'East') = 'Region'
geog_levelrel (geog_hierlist 'Sales_Geog' geog 'West') = 'Region'
geog_levelrel (geog_hierlist 'Sales_Geog' geog 'All Regions') = 'All Regions'
geog_levelrel (geog_hierlist 'Political_Geog' geog 'Boston') = 'City'
geog_levelrel (geog_hierlist 'Political_Geog' geog 'Hartford') = 'City'
geog_levelrel (geog_hierlist 'Political_Geog' geog 'Springfield') = 'City'
geog_levelrel (geog_hierlist 'Political_Geog' geog 'Mansfield') = 'City'
geog_levelrel (geog_hierlist 'Political_Geog' geog  'Montreal') = 'City'
geog_levelrel (geog_hierlist 'Political_Geog' geog 'Walla Walla') = 'City'
geog_levelrel (geog_hierlist 'Political_Geog' geog 'Portland') = 'City'
geog_levelrel (geog_hierlist 'Political_Geog' geog 'Oakland') = 'City'
geog_levelrel (geog_hierlist 'Political_Geog' geog 'San Diego') = 'City'
geog_levelrel (geog_hierlist 'Political_Geog' geog 'CT') = 'State-Prov'
geog_levelrel (geog_hierlist 'Political_Geog' geog 'MA') = 'State-Prov'
geog_levelrel (geog_hierlist 'Political_Geog' geog 'WA') = 'State-Prov'
geog_levelrel (geog_hierlist 'Political_Geog'   geog 'CA') = 'State-Prov'
geog_levelrel (geog_hierlist 'Political_Geog'  geog 'Quebec') = 'State-Prov'
geog_levelrel (geog_hierlist 'Political_Geog'  geog 'USA') = 'Country'
geog_levelrel (geog_hierlist 'Political_Geog' geog 'Canada') = 'Country'
geog_levelrel (geog_hierlist 'Political_Geog' geog 'All Country') = 'All Country'

"Display the values
REPORT DOWN geog W 20 geog_levelrel

               --------------GEOG_LEVELREL--------------
               --------------GEOG_HIERLIST--------------
GEOG              Political_Geog         Sales_Geog
-------------- -------------------- --------------------
Boston         City                 City
Springfield    City                 City
Hartford       City                 City
Mansfield      City                 City
Montreal       City                 City
Walla Walla    City                 City
Portland       City                 City
Oakland        City                 City
San Diego      City                 City
MA             State-Prov           State-Prov
CT             State-Prov           State-Prov
WA             State-Prov           State-Prov
CA             State-Prov           State-Prov
Quebec         State-Prov           State-Prov
East           NA                   Region
West           NA                   Region
All Regions    NA                   All Regions
USA            Country              NA
Canada         Country              NA
All Country    All Country          NA

familyrelリレーション

familyrelリレーションは、階層ディメンション、levellistディメンションおよびhierlistディメンション間のリレーションです。このリレーションでは、階層の各ディメンション・メンバーの完全な親子関係が表示されます。

例1-9「geog_familyrelという名前のfamilyrelリレーションの定義および移入」に、このタイプのリレーションの定義および移入を示します。

例1-9 geog_familyrelという名前のfamilyrelリレーションの定義および移入

"Define the relation
DEFINE geog_familyrel RELATION geog <geog geog_levellist geog_hierlist>
LD FEATURES Family/Ancestry structure for the geog dimension

"Populate the relation using the HIERHEIGHT command
HIERHEIGHT geog_parentrel INTO geog_familyrel USING geog_levelrel

"Display the values of the familyrel relation
"First the values for the Political_Geog hierarchy are displayed
"Then the values for the Sales_Geog hierarchy
REPORT DOWN geog W 12 geog_familyrel

GEOG_HIERLIST: Political_Geog
               -------------------------------GEOG_FAMILYREL--------------------------------
               -------------------------------GEOG_LEVELLIST--------------------------------
GEOG            All Country  Country    All Regions     Region     State-Prov      City
-------------- ------------ ------------ ------------ ------------ ------------ ------------
Boston         All Country  USA          NA           NA           MA           Boston
Springfield    All Country  USA          NA           NA           MA           Springfield
Hartford       All Country  USA          NA           NA           CT           Hartford
Mansfield      All Country  USA          NA           NA           CT           Mansfield
Montreal       All Country  Canada       NA           NA           Quebec       Montreal
Walla Walla    All Country  USA          NA           NA           WA           Walla Walla
Portland       All Country  USA          NA           NA           WA           Portland
Oakland        All Country  USA          NA           NA           CA           Oakland
San Diego      All Country  USA          NA           NA           CA           San Diego
MA             All Country  USA          NA           NA           MA           NA
CT             All Country  USA          NA           NA           CT           NA
WA             All Country  USA          NA           NA           WA           NA
CA             All Country  USA          NA           NA           CA           NA
Quebec         All          Canada       NA           NA           Quebec       NA
               Countries
East           NA           NA           NA           NA           NA           NA
West           NA           NA           NA           NA           NA           NA
All Regions    NA           NA           NA           NA           NA           NA
USA            All Country  USA          NA           NA           NA           NA
Canada         All Country  Canada       NA           NA           NA           NA
All Country    All Country  NA           NA           NA           NA           NA

GEOG_HIERLIST: Sales_Geog
               -------------------------------GEOG_FAMILYREL--------------------------------
               -------------------------------GEOG_LEVELLIST--------------------------------
GEOG            All Country Country    All Regions     Region     State-Prov      City
-------------- ------------ ------------ ------------ ------------ ------------ ------------
Boston         NA           NA           All Regions  East         MA           Boston
Springfield    NA           NA           All Regions  East         MA           Springfield
Hartford       NA           NA           All Regions  East         CT           Hartford
Mansfield      NA           NA           All Regions  East         CT           Mansfield
Montreal       NA           NA           All Regions  East         Quebec       Montreal
Walla Walla    NA           NA           All Regions  West         WA           Walla Walla
Portland       NA           NA           All Regions  West         WA           Portland
Oakland        NA           NA           All Regions  West         CA           Oakland
San Diego      NA           NA           All Regions  West         CA           San Diego
MA             NA           NA           All Regions  East         MA           NA
CT             NA           NA           All Regions  East         CT           NA
WA             NA           NA           All Regions  West         WA           NA
CA             NA           NA           All Regions  West         CA           NA
Quebec         NA           NA           All Regions  East         Quebec       NA
East           NA           NA           All Regions  East         NA           NA
West           NA           NA           All Regions  West         NA           NA
All Regions    NA           NA           All Regions  NA           NA           NA
USA            NA           NA           NA           NA           NA           NA
Canada         NA           NA           NA           NA           NA           NA
All Country    NA           NA           NA           NA           NA           NA

gidrelリレーション

gidrelリレーションは、NUMBERディメンション、階層ディメンションおよびhierlistディメンション間のリレーションです。このリレーションには、階層ディメンションの各階層における各ディメンション・メンバーのグルーピングIDが含まれます。また、各ディメンション・メンバーの階層内の深さを識別する$GID_DEPTHプロパティも保持します。

例1-10「geog_gidrelという名前のgidrelリレーションの定義および移入」に、このタイプのリレーションの定義および移入を示します。

例1-10 geog_gidrelという名前のgidrelリレーションの定義および移入

"Create a dimension that has values that are numbers
DEFINE gid_dimension DIMENSION NUMBER (38,0)"Add values to that dimension
"This example uses MAINTAIN ADD to add a few numbers
MAINTAIN gid_dimension ADD 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26

"Define the gidrel relation
DEFINE geog_gidrel RELATION gid_dimension <geog geog_hierlist>
"Display the complete definition of the geog_gidrel relation
"Note that it has no properties
DEFINE GEOG_GIDREL RELATION GID_DIMENSION <GEOG GEOG_HIERLIST>
"Populate the gidrel relation using the GROUPINGID command
GROUPINGID geog_parentrel INTO geog_gidrel USING geog_levelrel INHIERARCHY geog_inhier
"Display the values of the geog_gidrel relation

REPORT down geog w 20 geog_gidrel

               ---------------GEOG_GIDREL---------------
               --------------GEOG_HIERLIST--------------
GEOG              Political_Geog         Sales_Geog
-------------- -------------------- --------------------
Boston         0                    0
Springfield    0                    0
Hartford       0                    0
Mansfield      0                    0
Montreal       0                    0
Walla Walla    0                    0
Portland       0                    0
Oakland        0                    0
San Diego      0                    0
MA             1                    1
CT             1                    1
WA             1                    1
CA             1                    1
Quebec         1                    1
East           NA                   3
West           NA                   3
All Regions    NA                   7
USA            3                    NA
Canada         3                    NA
All Country    7                    NA

"Display the complete definition of the geog_gidrel relation
"Note that it now has a $GID_DEPTH property
DEFINE GEOG_GIDREL RELATION GID_DIMENSION <GEOG GEOG_HIERLIST>
PROPERTY '$GID_DEPTH' 4