ヘッダーをスキップ

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

戻る 次へ

25
マトリックス・レポートの作成

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

図25-1    マトリックス・レポートの出力


画像の説明

概要

使用例

この例では、職種と部門ごとに給与をクロス集計するレポートを作成します。結果のマトリックスには、一番上に横方向の職種、左端に縦方向の部門が表示され、セル内には給与の合計が含まれます。これにより、部門20に属す事務員の給与合計がすぐにわかり、これを別の部門の事務員の給与合計と比較できます。

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

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

25.1 この例の前提条件

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

25.2 単一問合せマトリックスの作成

データ・モデルに1つの問合せが含まれるマトリックス・レポートを作成できます。単一問合せデータ・モデルは一般に、複数問合せデータ・モデルよりもパフォーマンスが向上します。

この例のように、単一問合せレポートを作成する場合、レポート・ウィザードを使用して、データ・モデルとレイアウトを同時に作成できます。

データ・モデルとレイアウトを作成するには:

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

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

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

  4. 「レポート・タイプ」ページで、「ペーパー・レイアウトのみ作成」を選択し、「次へ」をクリックします。

  5. 「スタイル」ページでレポートのタイトルを入力し、「マトリックス」を選択して「次へ」をクリックします。

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

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

    SELECT DEPTNO, JOB, SUM(SAL)
    FROM EMP
    GROUP BY DEPTNO, JOB
    ORDER BY DEPTNO, JOB
    


    注意

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

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

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

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

     

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


    注意

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


  9. 「行」ページで、「DEPTNO」をクリックし、「>」ボタンをクリックしてこのフィールドを「マトリックス行フィールド」リストに移動し、「次へ」をクリックします。

  10. 「列」ページで、「JOB」をクリックし、「>」ボタンをクリックして、このフィールドを「マトリックス列フィールド」リストに移動し、「次へ」をクリックします。

  11. 「セル」ページで、「SUM_SAL」をクリックし、「>」ボタンをクリックして、このフィールドを「マトリックス・セル・フィールド」リストに移動し、「次へ」をクリックします。


    注意

    このケースでは、問合せ自身がSUMファンクションを使用してサマリーを実行します。そのため、ここでは「合計」ボタンは使用しません。 


  12. 「合計」ページで「次へ」をクリックします。

  13. 「ラベル」ページで、すべてのフィールドのラベルを削除し、「次へ」をクリックします。

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

    図25-2    マトリックス・レポートのペーパー・デザイン・ビュー


    画像の説明

25.3 複数問合せマトリックスの作成

データ・モデルに複数の問合せが含まれるマトリックス・レポートを作成できます。複数問合せデータ・モデルは通常、単一問合せの場合よりも概念化やコードの作成が容易ですが、単一問合せデータ・モデルの方が一般にパフォーマンスが優れています。

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

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

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

  1. 「ファイル」→「新規」→「レポート」を選択します。

  2. 「新規レポートを手動で作成」を選択し、「OK」をクリックします。

25.3.2 クロス積とデータ・リンクを含むデータ・モデルの作成

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

問合せを作成するには:

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

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

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

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

  5. 「データ」ページで、次のSELECT文を入力します。

    SELECT DISTINCT DEPTNO
    FROM EMP
    

    ヒント

    「クエリー・ビルダー」をクリックすれば、コードを手動で入力しなくても、問合せを作成できます。 

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


    注意

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


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

  8. 「終了」をクリックして、データ・モデル・ビューに最初の問合せを表示します。

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

    SELECT DISTINCT JOB
    FROM EMP
  10. また、3番目の問合せにも前述の手順を繰り返しますが、この場合、問合せ名はQ_Matrixとし、次のSELECT文を使用します。

    SELECT DEPTNO, JOB, SUM(SAL)
    FROM EMP
    GROUP BY DEPTNO, JOB
    ORDER BY DEPTNO, JOB

    図25-3    関連付けられていない3つの問合せのデータ・モデル


    画像の説明

クロス積グループを作成するには:

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

  2. G_DEPTNOとG_JOBの周囲にボックスをドラッグします。マウス・ボタンを放すと、クロス積グループが作成されます。両方のグループが完全に囲まれていることを確認してください。

    図25-4    クロス積グループがある3つの問合せのデータ・モデル


    画像の説明

データ・リンクを追加するには:

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

  2. G_DEPTNOグループの「DEPTNO」列をクリックし、G_DEPTNO1グループの「DEPTNO1」列までドラッグします。

  3. 手順1と2を繰り返しますが、今度はG_JOBの「JOB」列とG_DEPTNO1の「JOB1」列の間でリンクをドラッグします。

    図25-5    クロス積グループとデータ・リンクがある3つの問合せのデータ・モデル


    画像の説明

25.3.3 レポート・ウィザードによるレイアウトの作成

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

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

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

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

  3. 「スタイル」ページで、「マトリックス」を選択します。

  4. 「グループ」ページで、データ・モデルのグループがすべて「表示グループ」リストに表示されていることを確認します。G_1は「マトリックス」、G_DEPTNOは「下」、G_JOBは「右」、G_DEPTNO1は「下」になっています。

    図25-6    レポート・ウィザードの「グループ」ページ


    画像の説明

  5. 「フィールド」ページで、「表示フィールド」リストに次の列のみが表示されていることを確認します。

    • DEPTNO

    • JOB

    • SUM_SAL

      図25-7    レポート・ウィザードの「フィールド」ページ


      画像の説明

  6. 「ラベル」ページで、すべてのフィールドのラベルを削除します。

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

    図25-8    マトリックス・レポートのペーパー・デザイン・ビュー


    画像の説明

25.4 単一問合せマトリックスへのサマリーの追加

マトリックス・レポートをより実用的にするには、マトリックス内とレポート全体に各行および各列のサマリーを追加する必要があります。単一問合せの場合、レポート・ウィザードを使用すれば、このようなサマリーを簡単に追加できます。複数問合せの場合は、手動でサマリーを追加した後、レポート・ウィザードを使用してサマリーのフィールドを作成する必要があります。

次の手順では、単一問合せマトリックスにサマリーを追加する手順を説明します。

単一問合せマトリックスにサマリーを追加するには:

  1. 「ツール」→「レポート・ウィザード」を選択してレポート・ウィザードに戻ります。


    注意

    レポート・ウィザードを使用したサマリーの追加は、単一問合せマトリックスに対しては実行できますが、複数問合せマトリックスに対してはこの方法は使用できません。 


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

  3. 「合計」ページで、「使用可能フィールド」リストの「SUM_SAL」をクリックし、「合計」をクリックします。

    ヒント

    「合計」タブが表示されていない場合は、タブ右上の矢印を使用する必要があります。 

  4. 「終了」をクリックして、ペーパー・デザイン・ビューでレポート出力をプレビューします。


    注意

    新しいレイアウトを作成するときに、いくつかの点に注意する必要があります。まず、マトリックスの列の値のサマリーは、各列の一番下に表示されます。そのため、レポートが1ページより長くなることもあります。また、レイアウトの幅が決まっているため、部門のサマリーが残りのマトリックスのページに収まらないことがあります。この場合、部門サマリーとレポート・サマリーは次のページへオーバーフローします。レポートの2ページ目に進むと、部門サマリーとレポート・サマリーが表示されています。 


25.5 金額の書式設定

レポートを読みやすくするために、金額の書式を設定できます。

金額の書式を設定するには:

  1. レポートの最初のページで、セルの値のいずれかをクリックします。すべての値が選択されるので、それらのプロパティを同時に変更できます。

  2. [Shift]を押しながらマトリックス列の一番下にあるサマリー値の1つをクリックします。

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

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

  5. フィールドのサイズを変更します。「SALESMAN」ラベルの下でセルの値の一番右側にあるハンドルをクリックし、そのまま左へ約0.5インチ(1.5 cm)ドラッグします。この操作を完了すると、部門サマリーが2ページ目から1ページ目へ移動します。

  6. [Shift]を押しながら「SALESMAN」ラベルをクリックします。

  7. ツールバーの「右に整列」ボタンをクリックします。

  8. ペーパー・デザイン・ビューの空き領域をクリックして、すべてのオブジェクトの選択を解除します。

  9. マトリックスの行の最後にある部門サマリーの1つをクリックします。すべての部門サマリーが選択されます。

  10. [Shift]を押しながら部門サマリーの下にあるレポート・サマリーをクリックします。

  11. [←]キーを使用して、これらのサマリーを左へ移動し、マトリックスの「SALESMAN」列とほぼ整列するようにします。

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

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

  14. フィールドのサイズを変更します。選択したフィールドの1つの一番右側にあるハンドルをクリックし、そのまま左へ約0.5インチ(1.5 cm)ドラッグします。

  15. ツールバーの「右に整列」ボタンをクリックします。

    図25-9    金額が書式設定されたマトリックス・レポートのペーパー・デザイン・ビュー


    画像の説明

25.6 空白のかわりにゼロを追加

マトリックス・レポートでは、データの並置が表示されます。つまり、値が2つの異なるデータ項目によって共有されます。これらの項目とは行と列のラベルに相当します。

マトリックスでは、この値の並置がグリッド状のフォーマットを使用して表示されます。2つの項目に共通するものがない場合、そのグリッドは空になります。これにより、マトリックスに穴があくことがあります。ボイラープレート・テキストを使用して、この穴に値を挿入できます。


注意

グリッドの空き領域をNULL値と混同しないでください。NULL値はデータベースからフェッチされた実際の値です。マトリックス・レポートの領域が空になるのは、そこへ挿入する値がフェッチされなかったためです。 


空白をゼロに置き換えるには:

  1. サマリーを追加したマトリックス・レポートを開きます。

  2. オブジェクト・ナビゲータで、「ペーパー・レイアウト」ノードの横のビュー・アイコンをダブルクリックして、ペーパー・レイアウト・ビューを表示します。

    ヒント

    次の手順では、オブジェクトを正確に配置する必要があります。このため、ビューを拡大して、操作しやすいようにします。「拡大」ツールをクリックし、ペーパー・レイアウト・ビューの任意の場所をクリックします。必要に応じて何度か繰り返します。 

  3. ペーパー・レイアウト・ビューで、ツールバーの「制限オン」ボタンおよび「フレックス・オン」ボタンをクリックして、両モードをオンにします。

  4. ツールバーのフォント・リストから、「Arial(欧文)」、ポイント・サイズ「10」を選択します。

  5. ツールバーの「右に整列」ボタンをクリックします。

  6. ツール・パレットの「テキスト」ツールをクリックします。

  7. 「F_SUM_SAL」フィールドの上で、そのフィールドの右端から約0.75インチ(2 cm)のところをクリックします。ここでは、F_SUM_SALの右上にオブジェクトを作成します。

  8. 次のように入力します(日本語環境では$ではなく¥を指定してもよいでしょう)。

    $0.00
  9. レイアウトの空白領域をクリックし、すべてのオブジェクトを選択解除します。

  10. オブジェクト・ナビゲータで、「検索」フィールドにB_1と入力します。作成したオブジェクトが表示されます。オブジェクト・ナビゲータを所有者別表示(「表示」→「表示を変更」→「所有者別表示」)で表示している場合は、R_G_SUM_SALの下にB_1とF_SUM_SALが同レベルで表示されます。

    ヒント

    R_G_SUM_SALの下にB_1が表示されない場合は、ペーパー・レイアウト・ビューに戻って、B_1を削除し、もう一度試してください。 

    図25-10    新しいオブジェクトが選択されたオブジェクト・ナビゲータ


    画像の説明

  11. 「R_G_SUM_SAL」をクリックし、[Ctrl]を押しながら「F_SUM_SAL」をクリックして両方を選択し、B_1の選択を解除します。

    図25-11    繰返し枠とフィールドが選択されたオブジェクト・ナビゲータ


    画像の説明

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

  13. ツールバーの「制限オフ」ボタンをクリックして、制限モードをオフにします。

  14. 「レイアウト」→「前面へ」を選択します。

    ヒント

    この操作が終わると、B_1は、R_G_SUM_SALの子ではなく、R_G_SUM_SALのすぐ上に同列に表示されます。B_1がまだR_G_SUM_SALの下に子として表示されている場合は、R_G_SUM_SALの子として表示されなくなるまで、手順11〜14を繰り返します。 

  15. ペーパー・レイアウト・ビューで、ツールバーの「制限オン」ボタンをクリックして、制限モードをオンに戻します。

  16. ツールバーの「ペーパー・デザイン」ボタンをクリックし、ペーパー・デザイン・ビューを表示します。

    ヒント

    $0.00がその周りにある他の金額と整列していない場合は、$0.00を選択し、矢印キーを使用して適切な位置へ移動します。 

    図25-12    空白がゼロに置き換えられたマトリックス・レポートの出力


    画像の説明

25.7 グリッドの追加

マトリックス・レポートは、各セル間をグリッド線で区切る方が見やすい場合があります。ほとんどのオブジェクトでは、「枠なし」がデフォルト設定です。グリッド線を追加するには、該当するオブジェクトを選択し、それに線カラーを指定します。

グリッド線を追加するには:

  1. 空白のかわりにゼロが表示されるように変更したマトリックス・レポートを開きます。

  2. オブジェクト・ナビゲータで、「ペーパー・レイアウト」ノードの横のビュー・アイコンをダブルクリックして、ペーパー・レイアウト・ビューを表示します。

  3. オブジェクト・ナビゲータで、「表示」→「表示を変更」→「オブジェクト・タイプ別表示」を選択します。

  4. オブジェクト・ナビゲータの「ペーパー・レイアウト」ノードの下で、[Ctrl]を押しながらクリックして次のオブジェクトをすべて選択します。

    • F_SUMSUM_SALPERDEPTNO

    • F_SUMSUM_SALPERJOB

    • F_SUMSUM_SALPERREPORT

    • F_SUM_SAL

    • B_1

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

  6. ペーパー・レイアウト・ビューで、ツール・パレットの「線カラー」ツールをクリックし、黒をクリックします。

  7. ツールバーの「ペーパー・デザイン」ボタンをクリックし、ペーパー・デザイン・ビューを表示します。マトリックス内の全セルの周囲にグリッドが表示されます。

    図25-13    グリッドを使用したマトリックス・レポートの出力


    画像の説明

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

25.8 まとめ

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

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


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

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