ドリル・スルー・レポートの設計

Essbaseデータベース・マネージャ以上のユーザーの場合は、ドリル・スルー・レポート定義を作成して、外部のリレーショナル・ソースに格納されているより多くのデータにユーザーがアクセスできるようにすることができます。変数に柔軟性を持たせる場合、設計要素には、列マッピング、ドリル可能リージョン、およびオプションでパラメータ化が含まれています。

ドリル・スルー・レポートの設計に関する一般的な考慮事項

レポートをドリル・スルーすると、外部ソース・システムまたはファイルからデータがプルされるか、Webアプリケーションにリンクされます。ドリル・スルー・レポート定義を作成するには、データベース・マネージャ以上である必要があります。Essbase Webインタフェースのデータベースの「スクリプト」セクションで作成します。

すべてのドリル・スルー・レポート定義には、列マッピングとドリル可能リージョンが含まれている必要があります。オプションで、ドリル・スルー・レポートに外部ソース・データ接続を提供するパラメータ化問合せがデータソースにある場合は、ランタイム・パラメータのマッピングを定義できます。

外部ソース・システム(RDBMS)またはファイルからデータをプルするドリル・スルー・レポートを作成できます。

ノート:

ドリル・スルー・レポートのデータソースがOracle Databaseに接続されている場合は、「一時表の使用」オプションを選択して、SQLのIN句に多数の値がある問合せのパフォーマンスを向上できます。

Web URLにアクセスするためのドリル・スルー・レポートを設計することもできます。

ドリル・スルー・レポートの列マッピングの定義

Essbaseドリル・スルー・レポート定義の列マッピング部分では、レポートに含める必要がある外部ソース列、それらの列のマップ先となるEssbaseディメンション、および提供するアクセスの深さを示す世代/レベル・フィルタ条件(オプション)を定義します。

列マッピングの詳細を理解するには、「ドリル・スルー・レポート定義」を参照してください。

列マッピングを定義するには、

  1. ホーム・ページで、アプリケーションを開き、キューブを開きます。

  2. 左側のパネルで「スクリプト」を選択します。

  3. 「ドリル・スルー・レポート」をクリックします。

  4. 「作成」をクリックし、メニューから「データソース」を選択します。

  5. 「名前」フィールドで、レポートの名前を追加します。

  6. 「データソース」フィールドで、使用する「データソース」を選択します。

  7. 列マッピングを作成します:

    1. 外部データソースから、レポートに含める列を選択します。

    2. 各列をマップするディメンションを選択します。

    3. マッピングのフィルタ条件を選択します。たとえば、「レベル0」、「世代」または「なし」です(ディメンション・マッピング用)。


      ドリル・スルー・レポートの列マッピングのイメージ。

    4. 終了したら、「ドリル可能リージョン」をクリックします。「ドリル・スルー・レポートのドリル可能リージョンの定義」の説明に従って領域を定義しないと、ドリル・スルー・レポート定義を保存できません。

  1. アプリケーション・ページで、アプリケーションを展開します。

  2. キューブ名の右にある「アクション」メニューから、「検査」をクリックします。

  3. アプリケーション・インスペクタで、「スクリプト」タブを選択します。

  4. 「ドリル・スルー・レポート」を選択します

  5. 「作成」をクリックし、ドロップダウン・メニューから「データソース」を選択します。

  6. 「名前」フィールドで、レポートの名前を追加します。

  7. 「データソース」フィールドで、使用する「データソース」を選択します。

  8. 列マッピングを作成します:

    1. 外部データソースから、レポートに含める列を選択します。

    2. 各列をマップするディメンションを選択します。

    3. マッピングのフィルタ条件を選択します。たとえば、「レベル0」、「世代」または「なし」です(ディメンション・マッピング用)。


      ドリル・スルー・レポート・ウィザードの列マッピングのイメージ。

  9. 終了したら、「ドリル可能リージョン」をクリックします。「ドリル・スルー・レポートのドリル可能リージョンの定義」の説明に従って領域を定義しないと、ドリル・スルー・レポート定義を保存できません。

ドリル・スルー・レポートのドリル可能リージョンの定義

Essbaseドリル・スルー・レポート定義の「ドリル可能リージョン」の部分では、外部データ・ソースで使用可能な追加詳細へのドリル・スルー・アクセスを提供する、Essbaseキューブ内の1つ以上の領域/データ交差を指定します。

Essbase Webインタフェースを使用してドリル可能リージョンを指定するには、

  1. ドリル・スルー・レポートの列マッピングを完了したら、「ドリル可能リージョン」をクリックします。

  2. プラス記号をクリックし、次のいずれかの方法を選択します。
    • 空の行をダブルクリックして、計算構文(メンバー名とメンバー・セット関数)を使用して領域を定義します。
    • 鉛筆アイコンをクリックして「ドリル可能リージョン・セレクタ」を開き、追加するメンバーを選択して右クリックし、メニュー・オプションから選択してリージョンを定義します。
      Redwoodのドリル可能リージョン・セレクタのイメージ。

  3. 「保存」をクリックします。ドリル・スルー・レポートが正常に更新されたかどうかを示すメッセージが表示されます。


    ドリル・スルー・レポート・ウィザードの「ドリル可能リージョン」タブと、Market、Year、Scenario、SalesおよびProductのレベル1メンバーに対して定義されたドリル可能リージョンのイメージ。

ドリル可能リージョンの例

次の例は、Smart Viewのドリル可能リージョンを青色で強調表示して示しています。

例1

Market、Year、Scenarioディメンションの最上位、メンバーSales、およびProductディメンションのすべてのレベル1メンバーに対してドリル可能リージョンを定義するには、次を使用します:

Market,Year,Scenario,Sales,@LEVMBRS(Product,1)

Smart Viewシートにドリルすると、結果のグリッドは次のようになります:


ドリル可能メンバーが青色で強調表示されたSmart Viewグリッドのイメージ。定義された領域は、Market,Year,Scenario,Sales,@LEVMBRS(Product,1)です。

例2

Marketの子孫に対してドリル可能リージョンを定義するには、次を使用します:

@DESCENDANTS(Market)

Smart Viewシートにドリルすると、結果のグリッドは次のようになります:


ドリル可能セルが青色で強調表示されたSmart Viewグリッドのイメージ。定義された領域は、@DESCENDANTS(Market)です

例3

Productディメンションの世代3のメンバー、Market、Year、Scenarioディメンションの最上位、およびメンバーSalesに対してドリル可能リージョンを定義するには、次を使用します:

Market,Year,Scenario,Sales,@GENMBRS(Product,3)

Smart Viewシートにドリルすると、結果のグリッドは次のようになります:


ドリル可能セルが青色で強調表示されたSmart Viewグリッドのイメージ。定義された領域は、Market,Year,Scenario,Sales,@GENMBRS(Product,3)です

ドリル・スルー・レポートのパラメータの実装

外部ソース・データへのドリル・スルー・レポートの柔軟性を高めるには、パラメータを実装すると、Essbaseで、SQL問合せに渡す変数に基づいてドリル・スルー・レポートを動的に作成できるようになります。

データベース・マネージャ以上である場合、ドリル・スルー・レポートにパラメータ化されたデータソース問合せを実装できます。

前提条件: アプリケーション・マネージャー以上から、固定(デフォルト)値代替変数、またはパラメータとしての外部ユーザー定義関数を使用するデータソースへのアクセス権がユーザーに付与されている。

Essbaseは、実行時にパラメータの値を認識し、ドリル・スルーの実行時にEssbaseによって生成される問合せにその現在の値を挿入します。

ドリル・スルー・レポート定義で、ランタイム・パラメータのディメンション、世代およびレベル・マッピングをオプションで追加できます。これにより、現在の変数コンテキストに基づいて、ドリル・スルー・レポートの結果をさらにカスタマイズできます。

Essbaseで変数に基づいて動的にドリル・スルー・レポートを作成する場合は、次のワークフローに従います:

  1. 基礎となるデータソース問合せにパラメータを実装します。これはアプリケーション・マネージャ以上で行う必要があります。

  2. データソースに関連付けられた「ドリル・スルー・レポートの定義」を作成します。

  3. オプションで、ドリル・スルー・レポート定義内でパラメータの使用にランタイム・カスタマイズを加えます。次に例を示します。

  4. ドリル・スルー・レポートを実行してプラットフォーム・ログを確認し、動作が予想どおりであることをテストおよび検証します。

ランタイム・パラメータとユーザー定義関数

後続のユースケースの例は、次の前提条件に基づいています:

  • ユーザー定義関数getMonthsが外部ソース・システムに定義されています。関数によって、月のカンマ区切りリストが返されます。

  • ドリル・スルー・レポート定義に使用されるデータソースが、次のようにgetMonths関数をコールする問合せを使用して定義されています:

    select * from SampleBasic where month in (getMonths(?))

ランタイム・パラメータのレベル0 (再帰的)マッピング

ランタイム・パラメータがレベル0のYearにバインドされている場合のドリル・スルー・レポート定義


ドリル・スルー・レポート定義の「ランタイム・パラメータ」タブ。パラメータ: Param1。変数: 選択済。値: Sample.mnth。ディメンション: Year。世代のバインディング: Level0 [レベル]

Smart ViewユーザーがYearディメンションのQtr1をドリル・スルーする場合、ドリル・スルー・レポートにはJan、Feb、Marが含まれます。Smart ViewユーザーがYearをドリル・スルーする場合、ドリル・スルー・レポートにはJan、Feb、Mar、Apr、May、Jun、Jul、Aug、Sep、Oct、Nov、Decが含まれます。

ランタイム・パラメータの世代マッピング

ランタイム・パラメータがQuarter世代のYearにバインドされている場合のドリル・スルー・レポート定義


ドリル・スルー・レポート定義の「ランタイム・パラメータ」タブ。パラメータ: Param1。変数: 選択済。値: Sample.mnth。ディメンション: Year。世代のバインディング: Quarter [世代]

Smart ViewユーザーがYearディメンション・メンバーをドリル・スルーする場合、ドリル・スルー・レポートにはQtr1、Qtr2、Qtr3、Qtr4が含まれます。

ノート:

列マッピングと重複するランタイム・パラメータのディメンション/生成バインディングの設定は無効です。この場合、生成された問合せは常にNULLセットです。