SQLを使用したディメンションの構築

このタスク・フローは、RDBMSサーバーへの表のインポート、ディメンション構築ルールの作成、RDBMSへの接続、SQLを使用したディメンションの構築方法を示しています。

開始する前に、前提条件をすべて満たして、有効な接続文字列を取得してください。「SQLを使用したディメンションの構築およびデータのロード」を参照してください
  1. Oracle SQL Developer (または任意のSQLツール)で、フラット・ファイル(たとえば、sample_basic_table.csv)からSQLデータベース・サーバー接続に表をインポートします。
    例としてインポートした表SAMPLE_BASIC_TABLEを次に示します。
    SQL Developer内の、PRODUCT、MARKET、YEAR、SCENARIO、SALES、STATENAME、COGS、MARKETING、PAYROLL、MISC、BEGINVおよびADDITIONSという列が含まれている表

    次に、Sample Basicから一部のメンバーを削除し、SQL表からMarketディメンションを再構築するためのロード・ルールを作成します。

  2. Essbase Webインタフェースの「アプリケーション」ページで、Sampleアプリケーションを展開し、Basicキューブを選択します。
  3. Basicの右にある「アクション」メニューから、「アウトライン」を選択します。
  4. Marketディメンションをクリックし、次にメンバーEastをクリックします。
  5. 「編集」をクリックして、編集するアウトラインをロックします。
  6. 一部の州をEast市場から削除します。たとえば、Connecticut、New HampshireおよびMassachusettsを削除します。
  7. 「保存」をクリックし、EastにFloridaとNew Yorkのみが含まれていることを確認します。
    次に、ディメンション構築ルールを作成し、SQL表からMarketディメンションに、先ほど削除した州を含むデータを再移入します。
  8. 「アウトライン」ブラウザ・タブを閉じます。
  9. アプリケーション・ページで、Basicの右にある「アクション」メニューからインスペクタを起動し、「スクリプト」をクリックして「ルール」タブを選択します。
  10. 「作成」 > 「ディメンション構築(標準)」をクリックして、新しいディメンション構築ルールの定義を開始します。
  11. 「名前」フィールドに、ルール・ファイルの名前としてMarketSQLDimbuildと入力します。その他のオプションはそのままにし、「続行」をクリックします。
  12. 「ディメンション」ボタンをクリックします。
  13. 「既存のディメンションを選択」というテキストが含まれているフィールドをクリックし、「Market」を選択して、「追加」「OK」の順にクリックします。
  14. 新規ルール - MarketSQLDimbuildページで、「ディメンション」ドロップダウン・フィールドをクリックして「Market」を選択します。
  15. 「タイプ」ドロップダウン・フィールドをクリックし、「世代」をクリックします。世代番号を2に増分します。
  16. 「世代名」フィールドをクリックし、REGIONと入力します。
    Marketディメンションは世代1で、Regionという名前の子を追加しました。
    Marketディメンション・ルール・フィールドのエントリのREGION (世代2)
  17. 「作成」 > 「標準」をクリックして、別のディメンション構築ルール・フィールドを作成します。
    「作成」 > 「標準」のクリックによる別のルール・フィールドの追加
  18. フィールドにSTATEという名前を付けて、ディメンションMarketの世代3に関連付けます。
    Marketディメンション・ルール・フィールドのエントリのSTATE (世代3)
  19. 「ソース」ボタンをクリックして、ディメンション構築ルールへのデータ・ソースの関連付けを開始します。
  20. 「一般」タブで、有効な接続文字列を入力します。
    1. Oracle Call Interface接続の場合: 「一般」グループの「名前」フィールドに、有効なOCI接続文字列を入力します。
      「一般」グループの「名前」フィールドにOCI接続文字列が表示されているルール・エディタのデータ・ソース名。
    2. Oracle DB、Microsoft SQL Server、DB2などのDSNレス接続: 「一般」グループの「名前」フィールドは空のままにしてください。かわりに、「SQL/データソース・プロパティ」グループの「サーバー」フィールドに接続文字列を入力します。Oracleデータベースの場合、書式はoracle://host:port/sidになります。
  21. Oracle SQL Developer(または任意の別のSQLツール)で、表SAMPLE_BASIC_TABLEからいくつかの列を選択するSELECT文を記述し、テストします: Select distinct market,statename from SAMPLE_BASIC_TABLE
  22. SQL問合せが有効な場合は、リクエストした表の列Market およびStatenameがデータベースからSQLツールの接続元に返されます。
    Oracle Database表のMarketおよびStatename列
  23. SELECT文をクリップボードにコピーします。この問合せの結果がSample Basicキューブにロードされるディメンションです。
  24. ディメンション構築ルールの「ソースの編集」ダイアログに戻り、「SQL/データソース・プロパティ」グループの「問合せ」フィールドにSQL文を貼り付けます。
    「SQL/データソース・プロパティ」グループの「問合せ」フィールドに挿入されたSQL選択。
  25. 「OK」「確認」「保存して閉じる」の順にクリックして、MarketSQLDimbuildルールを保存して閉じます。
  26. スクリプト・リストにあるルールのリストをリフレッシュして、キューブSample Basicに対するルール・ファイルのリストにMarketSQLDimbuildが追加されていることを確認します。
  27. 「閉じる」をクリックします。
    次に、このルール・ファイルを使用して、Marketディメンションにメンバーをロードします。
  28. 「ジョブ」をクリックし、「新規ジョブ」 > 「ディメンションの構築」をクリックします。
  29. アプリケーション名としてSample、データベース名としてBasicと入力します。
  30. スクリプト名については、作成したディメンション構築ルール・ファイルの名前であるMarketSQLDimbuildを選択します。
  31. ロード・タイプとして「SQL」を選択します。
  32. 「接続」は、使用する保存済のSQL接続がすでにある場合を除き、空白のままにします。
  33. 任意のSQLデータベース・スキーマ・ユーザーのユーザー名とパスワードを入力します。
  34. 「データ・ファイル」は空白のままにします。
  35. 「再構築オプション」ドロップダウン・リストから、「すべてのデータを保持」を選択します。
  36. 「OK」をクリックしてジョブを開始します。
    ディメンション構築が開始されます。「リフレッシュ」記号をクリックしてステータスを監視し、ジョブが完了したら「アクション」メニューから「ジョブの詳細」をクリックします。
  37. アウトラインを検査して、ディメンションが構築されたことを確認します(Connecticut、New HampshireおよびMassachusettsがEastの子として存在することを確認する)。