新しいディメンション構築ルールの作成
Essbase Webインタフェースでルール・エディタを使用して、ディメンション構築ルールを作成しテストします。フラット・ファイルまたは様々な外部ソースからのデータを使用して、Essbaseキューブ内にディメンションを構築します。この例では、フラット・ファイルを使用します。
既存のルール(アプリケーション・ワークブックからのデプロイ時に作成されるルールなど)に変更を加えると、はるかに効率的が高くなります。ただし、Essbase Webインタフェースで新しいルールを作成する場合、このトピックでは、Essbaseキューブでのディメンション・メンバーの追加および編集を目的として、それを作成するためのサンプル・フローを示します。
前提条件:
-
Sample Basicキューブをインポート/構築します。このとき、Essbaseサーバーのファイル・カタログにあるギャラリから利用可能なアプリケーション・ワークブックを使用します。
-
次に示すようなタブ区切りのデータ・ファイルを作成し、
add_product.txt
という名前を付けて、Sample Basicキューブ・ディレクトリにアップロードします500 500-10 500 500-10 500 500-20 500 500-20 500 500-20
-
「アプリケーション」ページで、アプリケーション(Sample)を展開します。
-
キューブ名(Basic)の右側にある「アクション」メニューから、インスペクタを起動します。
-
「スクリプト」タブを選択して、「ルール」をクリックします。
-
「作成」をクリックして、「ディメンション構築(標準)」を選択します。
ノート:
標準のディメンション構築ルールには、フィールドの順序に関する検証要件があります。たとえば、世代1のプロパティは、世代1の後に配置する必要があります。その他の世代は、親/子の順に配置する必要があります。フィールドの順序が正しくないと、検証処理によるエラー・メッセージが表示されます。
索引ベースのルール(BPMルールとも呼ばれる)の場合、フィールドは任意の順序に配置できます。たとえば、世代2を世代1の前に配置することも、世代1のプロパティを実際の世代1の列の前に配置することもできます。索引ベースのルールは、列の操作(結合、分割および移動)をサポートしていません。
ディメンション構築ルールのタイプを変更するには、編集用にルールを開くときに、Essbase WebインタフェースのURLの末尾を変更します。標準タイプのルールは、URLの末尾が
&type=regular
です。また、索引ベースのルールは、URLの末尾が&type=index
です。データ・ロード・ルールには、タイプが異なるものはありません。標準のディメンション構築ルールと同様の検証ルールが存在します。
-
「新規ルール」ダイアログで、次のように操作します。
-
ルール名を入力します。
-
このワークフロー例ではフラット・データ・ファイルの使用を前提としているため、「ソース・タイプ」で「ファイル」を選択します。アップロードしたデータ・ファイルを選択します。たとえば、「カタログ」をクリックして、
add_product.txt
までナビゲートします。ノート:
「ファイル」以外の他のオプションを「ソース・タイプ」として使用できます。これらは、ディメンション構築ソース・データがフラット・ファイルではなく、外部ソースであるときに使用します。ディメンションの構築に外部ソースのデータを使用している場合、データのソースに対する接続のタイプに応じて、一定の前提条件を満たす必要があります。
- Essbaseで確立された接続およびデータソースを使用してアプリケーション管理者またはサービス管理者によって事前定義された接続の場合は、ディメンション構築ルールのソース・タイプとして「データソース」を選択します。接続の準備が整っているこを確認するには、「接続とデータソースを使用した外部データへのアクセス」を参照して前提条件のステップを理解してください。
- Essbaseサーバーで構成したODBCドライバに依存する接続の場合は、ディメンション構築ルールのソース・タイプとして「ODBC (DSNレス)」または「SQLデータ・ソース(DSN)」を選択します。接続の準備が整っているこを確認するには、「ODBC接続を使用したデータ・アクセス」を参照して前提条件のステップを理解してください。
OCI
構文が含まれている接続文字列に依存する接続の場合は、ディメンション構築ルールのソース・タイプとして「Oracle Call Interface (OCI)」を選択します。接続の準備が整っていることを確認するには、「Oracle Call Interfaceを使用したOracle Databaseへのアクセス」を参照して、前提条件のステップを理解してください。
-
レコード番号のフィールドは、空のままにしておきます。
-
サンプルのデータ・ファイルはタブで区切られているため、「デリミタ」値は「タブ」に変更します。
-
「続行」をクリックします。
-
ディメンション構築ルールは、未定義のフィールドと、フィールドの下のグリッドに移入されたプレビュー・データ(テキスト・ファイルからのデータ)とともに表示されます。
ソース・データ内の各行がレコードであり、ルールのプレビュー・データに示される行に対応します。各レコードが親子の順序で始まっていることからわかるように、データはトップダウンになっています(たとえば、500は全般的な製品カテゴリであり、500-10は具体的な製品タイプを表します)。
-
-
ディメンション構築ルールでは、すべてのフィールドをディメンションにマップする必要があります。一般に、1つのディメンションを使用して、ディメンション構築ルールのすべてのフィールドに対応します。Sample Basic上で構築しているため、関連付けるディメンションはすでに存在しています。ただし、新しいキューブを作成する場合はディメンションが存在しないため、ディメンションを作成してルールにマップする必要があります。
Sample Basicを使用するかわりに、ディメンションの存在しない新しいキューブで作業を進める場合を除いて、次のステップは省略してください。または、新しいディメンションを追加する場合は、この手順を使用します。
- ディメンションを作成してマップする場合は、「ディメンション」をクリックします。
- ディメンション名「Products」を入力します。「追加」をクリックします。
- ディメンションを作成してマップする場合は、「ディメンション」をクリックします。
-
フィールド1の「ディメンション」をクリックし、「Product」を選択してディメンションとフィールド1を関連付けます。
Productは、このルールのすべてのフィールドの「ディメンション」セレクタに移入されています。これが許容されるのは、この演習例では、Essbaseキューブ内の1つのディメンションにのみ基づいて構築するルールを設計しているためです。
-
フィールドごとにフィールド・タイプを選択します。
-
フィールド1には、タイプとして「親」を選択します。
-
フィールド2には、タイプとして「子」を選択します。
この時点で、ルールは次のようになっています。
-
-
ルールを検証してから、保存して閉じます。
-
キューブ・インスペクタを閉じてから、「ジョブ」をクリックしてディメンション構築ルールをテストします。
-
「新規ジョブ」、「ディメンションの構築」の順にクリックします。
- 「アプリケーション」には、「Sample」を選択します。
- 「データベース」には、「基本」を選択します。
- 「スクリプト」では、Sample Basicディレクトリに作成したルール・ファイルまでナビゲートします。
- 「ロード・タイプ」には、「ファイル」を選択します。
- 「データ・ファイル」では、前提条件ステップでアップロードしたテキスト・ファイルまでナビゲートします。
-
ジョブのステータスが「完了」になるまでリフレッシュ・アイコンをクリックします。
-
「アプリケーション」ページで、アプリケーション(Sample)を展開します。
-
キューブ名(Basic)の右側にある「アクション」メニューから、「アウトライン」をクリックします。
-
Productsディメンションを展開して、新しい製品500がその子とともに追加されていることを確認します。
特別演習: コメントの追加
前述のステップでは、標準のディメンション構築ルールを使用して、Sample Basicキューブに製品メンバーを追加しました。このトピックでは、新しいメンバーのプロパティを変更するために索引ベースのルールを作成します。
-
次の内容が含まれている
addcomment.txt
という名前のファイルをSample Basicディレクトリにアップロードします。500,"New product added 2021"
-
AddCommentという名前で索引ベースのルールを作成し、アップロードしたテキスト・ファイルでルールをプレビューします。
-
フィールド1では、「ディメンション」をProductに設定し、「タイプ」を「参照メンバー」に設定して、「世代」を2に増分します。
-
フィールド2では、「タイプ」を「コメント」に設定して、「世代」を2に増分します。
-
「ディメンション」、Product、「詳細」の順にクリックします。
-
「プロパティの変更可能」を選択して、「OK」をクリックします。
-
ルールを検証してから、保存して閉じます。
-
ディメンション構築ジョブを実行します。
-
アウトラインを表示し、Productメンバー500のプロパティを調べて、コメントが追加されていることを確認します。