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

戻る
戻る
 
次へ
次へ
 

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

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

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

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

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

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

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

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

複数の問合せを使用するマトリックス・レポートを作成する場合、最初にすべての問合せをデータ・ウィザードで作成して、次にデータ・モデル・ビューでクロス積グループと必要なリンクを作成する方が簡単です。

問合せを作成するには:

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

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

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

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

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

    SELECT DISTINCT TO_CHAR (HIREDATE, 'YY') YEAR
    FROM EMP
    

    注意:

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

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

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


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


    注意:

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

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

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

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

    SELECT DISTINCT DEPTNO
    FROM EMP
    

    注意:

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

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

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


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

    SELECT DISTINCT JOB
    FROM EMP
    
  11. さらに、4番目の問合せにも前述の手順を繰り返し、問合せ名をQ_Salaryとして、次のSELECT 文を使用します。

    SELECT TO_CHAR(HIREDATE, 'YY') YEAR,  DEPTNO,  JOB,
    SUM(SAL) FROM EMP
    GROUP BY TO_CHAR(HIREDATE, 'YY'),  DEPTNO,  JOB
    ORDER BY TO_CHAR(HIREDATE, 'YY'),  DEPTNO,  JOB
    

    図26-5 4つの問合せを持つデータ・モデル

    図26-5の説明は次にあります。
    「図26-5 4つの問合せを持つデータ・モデル」の説明


    ヒント:

    ここでは、問合せの順序が重要です。出力時にDEPTNOの値がYEARの値の中にネストされるようにするには、Q_DeptがQ_Yearの右または下に表示される必要があります。

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

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

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

図26-6 4つの問合せとクロス積グループを持つデータ・モデル

図26-6の説明は次にあります。
「図26-6 4つの問合せとクロス積グループを持つデータ・モデル」の説明

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

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

  2. G_YEARグループの「YEAR」列をクリックし、G_YEAR1グループの「YEAR1」列までドラッグします。

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

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

    図26-7 ネストしたマトリックスのデータ・モデル

    図26-7の説明は次にあります。
    「図26-7 ネストしたマトリックスのデータ・モデル」の説明

  5. データ・モデル・オブジェクトを移動して、上の図のようにすると、見やすくなります。

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

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

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

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

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

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

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

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

    図26-8の説明は次にあります。
    「図26-8 レポート・ウィザードの「グループ」ページ」の説明

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

    • YEAR

    • DEPTNO

    • JOB

    • SUM_SAL

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

    図26-9の説明は次にあります。
    「図26-9 レポート・ウィザードの「フィールド」ページ」の説明

  6. ラベル」ページで、ラベルとフィールド幅を次のように変更します。

    フィールド ラベル
    SUM_SAL <なし> 10
    YEAR <なし> 4
    JOB <なし> 10

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

    図26-10 ネストしたマトリックス出力のペーパー・デザイン・ビュー

    図26-10の説明は次にあります。
    「図26-10 ネストしたマトリックス出力のペーパー・デザイン・ビュー」の説明