CREATE HIERARCHY
目的
CREATE HIERARCHY文を使用して、階層を作成します。階層では、属性ディメンションのレベル間の階層関係を指定します。
ヒント:
階層を作成するSQLスクリプトは、Oracle Live SQLのWebサイト(https://livesql.oracle.com/apex/livesql/file/index.html)で表示および実行できます。このWebサイトには、分析ビューの作成方法および使用方法を示すスクリプトおよびチュートリアルが用意されています。前提条件
自分のスキーマ内に階層を作成する場合は、CREATE HIERARCHYシステム権限が必要です。別のユーザーのスキーマに階層を作成する場合は、CREATE ANY HIERARCHYシステム権限が必要です。
構文
create_hierarchy::=
sharing_clause::=
classification_clause::=
hier_using_clause::=
level_hier_clause::=
hier_attrs_clause::=
hier_attr_clause::=
hier_attr_name::=
セマンティクス
OR REPLACE
階層の既存の定義を異なる定義で置換するには、OR REPLACEを指定します。
FORCEおよびNOFORCE
正常にコンパイルされない場合でも強制的に階層を作成するには、FORCEを指定します。NOFORCEを指定した場合、階層を正常にコンパイルする必要があり、そうでない場合はエラーが発生します。デフォルトは、NOFORCEです。
schema
階層を作成するスキーマを指定します。スキーマを指定しない場合、自分のスキーマに階層が作成されます。
階層
階層の名前を指定します。
sharing_clause
階層をアプリケーション共通オブジェクトとして作成するかどうかを指定します。METADATAを指定すると、階層のメタデータが共有されますが、そのデータは各コンテナに固有です。DATAを指定すると、階層オブジェクトが共有され、そのデータはアプリケーション・コンテナ内のすべてのコンテナに対して同じになり、アプリケーション・ルートにのみ格納されます。NONEを指定すると、階層が共有対象から除外されます。
classification_clause
classification句を使用して、CAPTIONまたはDESCRIPTION分類の値を指定し、ユーザー定義分類を指定します。分類では、分析ビューとそのコンポーネントの情報を提供するためにアプリケーションで使用される、説明的なメタデータを提供します。
同じオブジェクトに、任意の数の分類を指定できます。分類の最大長は4000バイトです。
CAPTIONとDESCRIPTION分類では、DDLショートカットCAPTION 'caption'およびDESCRIPTION 'description'または完全な分類構文を使用できます。
言語別に分類値を変更できます。CAPTIONまたはDESCRIPTION分類に言語を指定するには、完全な構文を使用する必要があります。言語を指定しない場合、分類の言語の値はNULLです。言語の値は、NULLまたは有効なNLS_LANGUAGE値である必要があります。
hier_using_clause
階層のメンバーを持つ属性ディメンションを指定します。
level_hier_clause
階層レベルの編成を指定します。
hier_attrs_clause
階層属性の説明的なメタデータを含む分類を指定します。特定のhier_attr_nameのhier_attr_clauseは、リストに1回のみ出現できます。
すべての階層には常に、すべての階層属性が含まれますが、この句で指定した場合を除き、階層属性には関連付けられている説明的なメタデータはありません。
hier_attr_clause
階層属性を指定して、1つ以上の分類を指定します。
hier_attr_name
階層属性を指定します。
例
次の例では、TIME_HIER階層を作成します。
CREATE OR REPLACE HIERARCHY time_hier -- Hierarchy name
USING time_attr_dim -- Refers to TIME_ATTR_DIM attribute dimension
(month CHILD OF -- Months in the attribute dimension
quarter CHILD OF
year);次の例では、PRODUCT_HIER階層を作成します。
CREATE OR REPLACE HIERARCHY product_hier
USING product_attr_dim
(category
CHILD OF department);次の例では、GEOGRAPHY_HIER階層を作成します。
CREATE OR REPLACE HIERARCHY geography_hier
USING geography_attr_dim
(state_province
CHILD OF country
CHILD OF region);






