ヘッダーをスキップ

Oracle Reports レポート作成ガイド
10gリリース2(10.1.2)
B25068-01
目次
目次
索引
索引

戻る 次へ

8
マスター/マスター・レポートの作成

この章では、マスター/マスター・レポートについて学習します。この章の手順に従うと、図8-1に示すようなレポート出力を生成できます。

図8-1    マスター/マスター・レポートの出力


画像の説明


画像の説明

概要

マスター/マスター・レポートでは、直接関連していないデータが2セット以上表示されます。つまり、データを構成しているレコードが2つ以上の個別の問合せを使用してフェッチされます。マスター/マスター・レポート(親/親レポートとも呼ばれます)には、複数の問合せがリンク(親子リレーションシップ)なしで含まれています。

データ・リレーションシップ

データが概念的に関連している場合でも、問合せではフェッチによるデータの関連付けを試行しません。マスター/マスター・レポートのデータを選択するには、関連のない複数の問合せを作成します。Reports Builderでは、その他の必要なデータ・オブジェクトがデフォルトですべて作成されます。

レイアウト

このレポートでは、表形式のレイアウト・スタイルをデフォルトで使用します。2番目の問合せに関連付けられているレイアウト・オブジェクトを移動し、2つの問合せによってフェッチされた情報の間にさらにスペースを空けて、レポートを読みやすくします。

使用例

この例では、部門の名称、番号および位置を一覧表示するマスター・レイアウトを作成し、その後、全従業員をその職種、肩書き、給与とともにすべて一覧表示する別のマスター・レイアウトを作成します。

このサンプル・レポートの作成過程では、次を行います。

マスター/マスター・レポートのサンプルを表示するには、サンプル・フォルダmasterbを開き、Oracle Reportsのサンプルmasterb.rdfを開きます。アクセス方法の詳細は、「はじめに」の「サンプル・レポートへのアクセス」を参照してください。

8.1 この例の前提条件

この章の例を作成するには、Oracle Database付属のHuman Resourcesサンプル・スキーマ(HR)に対するアクセス権が必要です。このサンプル・スキーマに対するアクセス権の有無が不明のときは、データベース管理者に問い合せてください。

8.2 手動での新規レポートの作成

この場合、データ・モデルとレイアウトを別々に作成した方が簡単です。したがって、まず空のレポートを作成してから、問合せを追加し、レイアウトを作成します。

空のレポートを作成するには:

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

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

8.3 データ・ウィザードを使用した2つの問合せの作成

複数の問合せを使用するレポートを作成する場合、最初にすべての問合せをデータ・ウィザードで作成して、次にレポート・ウィザードを使用してレイアウトを作成する方が簡単です。

問合せを作成するには:

  1. データ・モデル・ビューで、「挿入」→「問合せ」を選択してデータ・ウィザードを表示します。

  2. 「ようこそ」ページが表示されたら、「次へ」をクリックします。

  3. 「問合せ」ページで、「問合せ名」にQ_Deptと入力し、「次へ」をクリックします。

  4. 「データ・ソース」ページで、「SQL問合せ」をクリックし、「次へ」をクリックします。

  5. 「データ」ページの「データ・ソース定義」フィールドに次のSELECT文を入力します。

    SELECT DEPARTMENT_ID, DEPARTMENT_NAME, LOCATION_ID
    FROM DEPARTMENTS
    
    


    注意

    この問合せは、次のいずれかの方法で入力できます。

    • 提供されているテキスト・ファイルmasterb_code.txtからコードをコピーして「データ・ソース定義」フィールドに貼り付けます。

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

    • 「データ・ソース定義」フィールドにコードを入力します。

     

  6. 「次へ」をクリックします。


    注意

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


  7. 「グループ」ページで「次へ」をクリックします。

  8. 「終了」をクリックして、レポートのデータ・モデルをデータ・モデル・ビューに表示します。

  9. 前述の手順を2番目の問合せにも繰り返しますが、この場合問合せ名はQ_Empとし、次のSELECT文を使用します。

    SELECT LAST_NAME, FIRST_NAME, JOB_ID, SALARY
    FROM EMPLOYEES
    ORDER BY LAST_NAME, FIRST_NAME
    
    

    図8-2    関連のない2つの問合せを持つデータ・モデル


    画像の説明

8.4 レポート・ウィザードを使用したデータのレイアウト

データ・モデルが完成したら、レポート出力で表示するデータ・オブジェクトのレイアウトを作成する必要があります。レポート・ウィザードを使用すると、データ・モデルのレイアウトを作成できます。

ヒント

データ・モデルに複数の問合せがあるときは、レポート・ウィザードに入力する前に、各問合せに関連付けられているグループの名前を確認してください。レポート・ウィザードでは、レイアウトのデータをグループ名ごとに選択するよう要求されます。 

レイアウトを作成するには:

  1. データ・モデル・ビューで、キャンバスを右クリックして「レポート・ウィザード」を選択します。

  2. レポート・ウィザードの「レポート・タイプ」ページで、「ペーパー・レイアウトのみ作成」を選択します。

  3. 「スタイル」ページで、「表形式」を選択します。

  4. 「グループ」ページで、データ・モデルのグループが両方とも「表示グループ」リストに表示されていることを確認します。

  5. 「フィールド」ページで、「>>」ボタンをクリックして、すべてのフィールドを「表示フィールド」リストに移動します。

  6. 「テンプレート」ページで、「事前定義テンプレート」を選択し、「Beige」をクリックします。次に「終了」をクリックして、ペーパー・デザイン・ビューにレポート出力を表示します。部門レポートの出力は次のようになります。

    図8-3    マスター/マスター・レポートのペーパー・デザイン・ビュー


    画像の説明

8.5 ペーパー・レイアウト・ビューを使用した空白の追加

ペーパー・デザイン・ビューを下方向にスクロールすると、2番目の問合せQ_Empのフィールド・ラベルが、1番目の問合せQ_Deptのフィールドの真下に位置しているのがわかります。真下どころか、2つの問合せのフィールドは互いに接触しそうなほど接近した位置にあります。このレポートでは、Q_Empに属するすべてのレイアウト・オブジェクトを下方向へ移動して、2つのレイアウト間に空白を設けます。

レイアウト間に空白を作成するには:

  1. 「レポート・エディタ」ウィンドウを移動してサイズを変更し、オブジェクト・ナビゲータとの同時操作が容易になるようにします。

  2. 「レポート・エディタ」ウィンドウのツールバーで「ペーパー・レイアウト」ボタンをクリックして、ペーパー・レイアウト・ビューを表示します。

  3. オブジェクト・ナビゲータで、「ペーパー・レイアウト」ノード、「メイン・セクション」ノード、「ボディ」ノードの順に開きます。

  4. 枠「M_G_LAST_NAME_GRPFR」をクリックします。この枠が、ペーパー・レイアウト・ビューでも選択されていることがわかります。

  5. レポート・エディタのタイトル・バーをクリックして、アクティブなウィンドウにします。

  6. [↓]キーを何回か押して、枠とその全オブジェクトを下方向へ約0.25インチ(0.5 cm)移動します。

    M_G_LAST_NAME_GRPFRのみでなく、そこに含まれているすべてのレイアウト・オブジェクトも移動したのがわかります。ここで、ペーパー・レイアウト・ビューのデフォルト・モードである制限モードを利用します。制限モードをオンにすると、オブジェクトを親オブジェクトの外部に移動することも、親オブジェクトの後方に配置することもできなくなります。こうした状況下では、レイアウトは無効になり、出力は生成されなくなります。

    オブジェクトを親の外に移動する操作自体が無効になる場合もあります。この操作が必要なときは、ツールバーの「制限オフ」ボタンをクリックして、制限モードをオフにします。

    図8-4    2つのレイアウトに空白が追加された状態のペーパー・レイアウト・ビュー


    画像の説明

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

  8. ツールバーの「ペーパー・デザイン」ボタンをクリックし、出力をもう一度プレビューします。2つのレイアウト間にスペースが加わったことがわかります。

8.6 フィールドの書式設定

ペーパー・デザイン・ビューの「Salary」フィールドを見てください。値は、位置合せも金額表示もされていません。これらの点は、ペーパー・デザイン・ビューですぐに調整できます。

書式マスクを金額に割り当てるには:

  1. ペーパー・デザイン・ビューで、「Salary」ラベルの下に表示されている最初の数値を選択します。すべての値が選択されるので、それらのプロパティを同時に変更できます。

    ヒント

    書式マスクの構文に精通している場合は、フィールドの値を右クリックして「プロパティ・インスペクタ」を選択し、「書式マスク」プロパティの値を選択するか、手動で入力してもかまいません。 

  2. ツールバーの「通貨」ボタンをクリックします。すべての値の横に通貨記号が表示されます。

  3. 「10進桁を追加」ボタンを2回クリックします。小数点の右側に少数点以下2桁が追加されます。

  4. 「右に整列」ボタンをクリックします。すべての値が右詰めになります。

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

    図8-5    金額が書式設定されたペーパー・デザイン・ビュー


    画像の説明

8.7 まとめ

これで、すべての作業が完了しました。マスター/マスター・レポートは正常に作成されました。この章で学習した内容は次のとおりです。

この例で使用されているウィザード、ビュー、プロパティの詳細は、Oracle Reportsオンライン・ヘルプを参照してください。このヘルプは、第3.1.1項「Oracle Reportsオンライン・ヘルプの使用」で説明しているとおり、Reports BuilderまたはOracle Technology Network(OTN)から表示できます。


戻る 次へ
Oracle
Copyright © 2003, 2005 Oracle.

All Rights Reserved.
目次
目次
索引
索引