ヘッダーをスキップ
Oracle® Fusion Middleware Oracle Reportsレポート作成のためのユーザーズ・ガイド
11gリリース1(11.1.1)
B61376-01
  ドキュメント・ライブラリへ
ライブラリ
製品リストへ
製品
目次
目次
索引
索引

戻る
戻る
 
次へ
次へ
 

32.2 レポートのデータ・モデルの手動作成

この項の手順では、レポートのデータ・モデルを手動で作成する方法を説明します。データ・モデルは、2つのリンクされた問合せで構成されます。最初の問合せでは、データベースに注文が格納されている顧客をすべて取得します。2番目の問合せでは、各顧客の注文情報をすべて取得し、各注文の日付に基づいたブレーク・グループを設定します。

32.2.1 問合せの作成

この項の手順では、データ・モデル・ビューで2つの問合せを手動で作成する方法を説明します。

問合せを作成するには:

  1. Reports Builderを起動します。すでに起動している場合は、「ファイル」→「新規」→「レポート」を選択します。

  2. 「ようこそ」ダイアログ・ボックスまたは「新規レポート」ダイアログ・ボックスで、「新規レポートを手動で作成」を選択して「OK」をクリックします。

  3. 表示されたデータ・モデル・ビューで、ツール・パレットの「SQL問合せ」ツールをクリックし、データ・モデル・ビューの空き領域をクリックして、「SQL問合せ文」ダイアログ・ボックスを表示します。

  4. SQL問合せ文」フィールドに、次のSELECT文を入力します。

    SELECT FIRST_NAME||' '||LAST_NAME EMPLOYEE_NAME
      , CUST_FIRST_NAME||' '||CUST_LAST_NAME CUSTOMER_NAME
      , CUST_ADDRESS
      , CUSTOMER_ID 
    FROM EMPLOYEES, CUSTOMERS 
    WHERE EMPLOYEE_ID = ACCOUNT_MGR_ID 
    AND CUSTOMER_ID IN (SELECT UNIQUE(CUSTOMER_ID) FROM ORDERS)
    ORDER BY LAST_NAME, CUST_LAST_NAME
    

    注意:

    この問合せは、次のいずれかの方法で入力できます。
    • 提供されているテキスト・ファイルpreprint_code.txtからコードをコピーして「SQL問合せ文」フィールドに貼り付けます。

    • クエリー・ビルダー」をクリックして、コードを入力せずに問合せを作成します。

    • SQL問合せ文」フィールドにコードを入力します。


  5. OK」をクリックします。


    注意:

    データベースにまだ接続していない場合は、「クエリー・ビルダー」または「次へ」をクリックしたときに、データベースに接続するよう求められます。この例に該当するスキーマが含まれるデータベースに接続してください。第32.1項「この例の前提条件」に、この例のサンプル・スキーマの要件に関する説明があります。

  6. 「接続」ダイアログ・ボックスが表示されたら、サンプル・スキーマOrder Entryが格納されているデータベースへの接続情報を入力し、「接続」をクリックします。

    問合せがデータ・モデル・ビューに次のように表示されます。

    図32-2 最初の問合せのデータ・モデル・ビュー

    図32-2の説明は次にあります。
    「図32-2 最初の問合せのデータ・モデル・ビュー」の説明

  7. 問合せ(Q_1)を右クリックし、ポップアップ・メニューで「プロパティ・インスペクタ」を選択します。

  8. プロパティ・インスペクタの「一般情報」で、「名前」プロパティを「Q_CUSTOMER」に設定します。

  9. グループ(G_EMPLOYEE_NAME)をダブルクリックしてプロパティ・インスペクタを表示し、「名前」プロパティを「G_CUSTOMER」に設定します。

  10. データ・モデル・ビューでツール・パレットの「SQL問合せ」ツールをクリックし、次のSELECT文で2番目の問合せを作成します。

    SELECT to_char(ORDER_DATE, 'DD-Mon-YY') ORDER_DATE
      , I.PRODUCT_ID
      , PRODUCT_DESCRIPTION
      , QUANTITY
      , UNIT_PRICE
      , QUANTITY * UNIT_PRICE ITEM_TOTAL
      , CUSTOMER_ID
    FROM ORDERS O, ORDER_ITEMS I, PRODUCTS P 
    WHERE O.ORDER_ID = I.ORDER_ID 
    AND I.PRODUCT_ID = P.PRODUCT_ID 
    ORDER BY ORDER_DATE, I.PRODUCT_ID 
    
  11. 問合せオブジェクトを右クリックし、ポップアップ・メニューで「プロパティ・インスペクタ」を選択します。

  12. プロパティ・インスペクタで、「名前」プロパティを「Q_ORDERS」に設定します。

  13. 新しいグループ・オブジェクトをダブルクリックして、プロパティ・インスペクタを表示します。

  14. プロパティ・インスペクタで、「名前」プロパティを「G_ORDER_ITEMS」に設定します。

    作成したデータ・モデルは次のようになります。

    図32-3 問合せが2つ表示されたデータ・モデル・ビュー

    図32-3の説明は次にあります。
    「図32-3 問合せが2つ表示されたデータ・モデル・ビュー」の説明


    注意:

    Q_CUSTOMERでは、2番目のWHERE句によって、現在注文のある顧客にのみ値が返されるように制限しています。Q_ORDERSでは、新しいデータ型"Datetime"に対応する"to_char"を使用しています。この新しいデータ型はOracle Reportsでは認識されないため、この列に対しては書式マスクをまだ使用できません。

  15. レポートをpreprint_<自分のイニシャル>.rdfという名前で保存します。

32.2.2 データ・モデルの変更

この項の手順では、データ・モデルを変更して2つの問合せをリンクし、取得したデータを特定の列でブレークする方法を説明します。また、各注文の情報を計算するサマリー列も複数作成します。

データ・モデルを変更するには:

  1. データ・モデル・ビューで、ツール・パレットの「データ・リンク」ツールをクリックします。

  2. G_Customerグループの「CUSTOMER_ID」列をクリックします。

  3. マウス・ボタンを押したままG_ORDER_ITEMSグループの「CUSTOMER_ID1」列までカーソルをドラッグしてマウス・ボタンを放し、2つの問合せ間にリンクを作成します。

  4. ここで、G_ORDER_ITEMSグループの「ORDER_DATE」列をクリックし、それをグループの上にドラッグして、ブレーク・グループを作成します。


    ヒント:

    グループまたは問合せのタイトルを選択して、サイズ変更ハンドルを使用すると、データ・モデルの外観を変更できます。

    作成したデータ・モデルは次のようになります。

    図32-4 リンクされた問合せとブレーク・グループが表示されたデータ・モデル・ビュー

    図32-4の説明は次にあります。
    「図32-4 リンクされた問合せとブレーク・グループが表示されたデータ・モデル・ビュー」の説明

  5. ツール・パレットの「サマリー列」ツールをクリックし、「G_CUSTOMER」グループ内をクリックしてサマリー列を作成します。サマリー列が表示されるように、グループのサイズを変更することもできます。

  6. 新しいサマリー列オブジェクト(CF_1)をダブルクリックしてプロパティ・インスペクタを表示し、次のプロパティを設定します。

    • 一般情報」で、「名前」プロパティを「CS_PAGE_TOTAL」に設定します。

    • サマリー」で、「ファンクション」プロパティを「合計」、「ソース」プロパティを「ITEM_TOTAL」、「リセット位置」プロパティを「Page」に設定します。

  7. G_CUSTOMERグループで別のサマリー列を作成し、そのプロパティを次のように設定します。

    • 一般情報」で、「名前」プロパティを「CS_ORDER_TOTAL」に設定します。

    • サマリー」で、「ファンクション」プロパティを「合計」、「ソース」プロパティを「ITEM_TOTAL」、「リセット位置」プロパティを「G_CUSTOMER」に設定します。


      注意:

      これら2つのサマリー列では、各ページの品目総数とレポートの注文の品目総数を計算します。

    次のようなデータ・モデルが作成されました。

    図32-5 印刷済フォームのデータ・モデル・ビューの例

    図32-5の説明は次にあります。
    「図32-5 印刷済フォームのデータ・モデル・ビューの例」の説明

  8. レポートを保存します。