Oracle® Fusion Middleware Oracle Reportsレポート作成のためのユーザーズ・ガイド 11gリリース1(11.1.1) B61376-01 |
|
![]() 戻る |
![]() 次へ |
この項の手順では、レポートのデータ・モデルを手動で作成する方法を説明します。データ・モデルは、2つのリンクされた問合せで構成されます。最初の問合せでは、データベースに注文が格納されている顧客をすべて取得します。2番目の問合せでは、各顧客の注文情報をすべて取得し、各注文の日付に基づいたブレーク・グループを設定します。
この項の手順では、データ・モデル・ビューで2つの問合せを手動で作成する方法を説明します。
問合せを作成するには:
Reports Builderを起動します。すでに起動している場合は、「ファイル」→「新規」→「レポート」を選択します。
「ようこそ」ダイアログ・ボックスまたは「新規レポート」ダイアログ・ボックスで、「新規レポートを手動で作成」を選択して「OK」をクリックします。
表示されたデータ・モデル・ビューで、ツール・パレットの「SQL問合せ」ツールをクリックし、データ・モデル・ビューの空き領域をクリックして、「SQL問合せ文」ダイアログ・ボックスを表示します。
「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
注意: この問合せは、次のいずれかの方法で入力できます。
|
「OK」をクリックします。
注意: データベースにまだ接続していない場合は、「クエリー・ビルダー」または「次へ」をクリックしたときに、データベースに接続するよう求められます。この例に該当するスキーマが含まれるデータベースに接続してください。第32.1項「この例の前提条件」に、この例のサンプル・スキーマの要件に関する説明があります。 |
「接続」ダイアログ・ボックスが表示されたら、サンプル・スキーマOrder Entryが格納されているデータベースへの接続情報を入力し、「接続」をクリックします。
問合せがデータ・モデル・ビューに次のように表示されます。
問合せ(Q_1)を右クリックし、ポップアップ・メニューで「プロパティ・インスペクタ」を選択します。
プロパティ・インスペクタの「一般情報」で、「名前」プロパティを「Q_CUSTOMER」に設定します。
グループ(G_EMPLOYEE_NAME)をダブルクリックしてプロパティ・インスペクタを表示し、「名前」プロパティを「G_CUSTOMER」に設定します。
データ・モデル・ビューでツール・パレットの「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
問合せオブジェクトを右クリックし、ポップアップ・メニューで「プロパティ・インスペクタ」を選択します。
プロパティ・インスペクタで、「名前」プロパティを「Q_ORDERS」に設定します。
新しいグループ・オブジェクトをダブルクリックして、プロパティ・インスペクタを表示します。
プロパティ・インスペクタで、「名前」プロパティを「G_ORDER_ITEMS」に設定します。
作成したデータ・モデルは次のようになります。
注意: Q_CUSTOMERでは、2番目のWHERE句によって、現在注文のある顧客にのみ値が返されるように制限しています。Q_ORDERSでは、新しいデータ型"Datetime"に対応する"to_char"を使用しています。この新しいデータ型はOracle Reportsでは認識されないため、この列に対しては書式マスクをまだ使用できません。 |
レポートをpreprint_
<自分のイニシャル>.rdf
という名前で保存します。
この項の手順では、データ・モデルを変更して2つの問合せをリンクし、取得したデータを特定の列でブレークする方法を説明します。また、各注文の情報を計算するサマリー列も複数作成します。
データ・モデルを変更するには:
データ・モデル・ビューで、ツール・パレットの「データ・リンク」ツールをクリックします。
G_Customerグループの「CUSTOMER_ID」列をクリックします。
マウス・ボタンを押したままG_ORDER_ITEMSグループの「CUSTOMER_ID1」列までカーソルをドラッグしてマウス・ボタンを放し、2つの問合せ間にリンクを作成します。
ここで、G_ORDER_ITEMSグループの「ORDER_DATE」列をクリックし、それをグループの上にドラッグして、ブレーク・グループを作成します。
ヒント: グループまたは問合せのタイトルを選択して、サイズ変更ハンドルを使用すると、データ・モデルの外観を変更できます。 |
作成したデータ・モデルは次のようになります。
ツール・パレットの「サマリー列」ツールをクリックし、「G_CUSTOMER」グループ内をクリックしてサマリー列を作成します。サマリー列が表示されるように、グループのサイズを変更することもできます。
新しいサマリー列オブジェクト(CF_1)をダブルクリックしてプロパティ・インスペクタを表示し、次のプロパティを設定します。
「一般情報」で、「名前」プロパティを「CS_PAGE_TOTAL」に設定します。
「サマリー」で、「ファンクション」プロパティを「合計」、「ソース」プロパティを「ITEM_TOTAL」、「リセット位置」プロパティを「Page」に設定します。
G_CUSTOMERグループで別のサマリー列を作成し、そのプロパティを次のように設定します。
「一般情報」で、「名前」プロパティを「CS_ORDER_TOTAL」に設定します。
「サマリー」で、「ファンクション」プロパティを「合計」、「ソース」プロパティを「ITEM_TOTAL」、「リセット位置」プロパティを「G_CUSTOMER」に設定します。
注意: これら2つのサマリー列では、各ページの品目総数とレポートの注文の品目総数を計算します。 |
次のようなデータ・モデルが作成されました。
レポートを保存します。