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

戻る
戻る
 
次へ
次へ
 

40.3 レポート定義の作成

この項の手順では、レポートを定義する問合せと式列を作成し、作成したbonus.pll外部PL/SQLライブラリのコードをコールする方法について説明します。

ファンクションに依存する式列などもあるため、説明されている順序に従ってオブジェクトを作成することをお薦めします。

40.3.1 問合せの作成

この項の手順では、レポートに必要なデータを取得する問合せを作成する方法について説明します。

問合せを作成するには:

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

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

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

  4. 「問合せ」ページで、問合せ名はデフォルトのままにして、「次へ」をクリックします。

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

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

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

    注意:

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

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

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


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


    注意:

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

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

  9. 終了」をクリックして、データ・モデル・ビューに最初の問合せを表示します。表示は次のようになります。

    図40-3 PL/SQLレポートのデータ・モデル・ビュー

    図40-3の説明は次にあります
    「図40-3 PL/SQLレポートのデータ・モデル・ビュー」の説明

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

40.3.2 ボーナスを計算する式列の作成

この項の手順では、PL/SQLファンクションを使用して、各従業員のボーナスを計算する式列を作成する方法について説明します。

BONUS式列を作成するには:

  1. データ・モデル・ビューで、グループ「G_FIRST_NAME」をクリックします。次に、グループに列を追加できるように、下部にあるサイズ変更ハンドルをクリックして下方向にドラッグします。次の例のようになります。

    図40-4 G_FIRST_NAMEが拡張されたデータ・モデル

    図40-4の説明は次にあります
    「図40-4 G_FIRST_NAMEが拡張されたデータ・モデル」の説明

  2. ツール・パレットの「式列」ツールをクリックし、「G_FIRST_NAME」グループ内でクリックして式列を作成します。

    図40-5 名前付けされていない式列を含むデータ・モデル

    図40-5の説明は次にあります
    「図40-5 名前付けされていない式列を含むデータ・モデル」の説明

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

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

    • プレースホルダ/式」で、「PL/SQL式」プロパティ・フィールドをクリックしてPL/SQLエディタを表示します。

  4. PL/SQLエディタで、テンプレートを使用して次のPL/SQLコードを入力します。

    function BONUSFormula return Number is
    begin
      return BONUS_PAY(:JOB_ID, :SALARY, :COMMISSION_PCT);
    end;
    

    注意:

    提供されているテキスト・ファイルplsql_code.txtから、このコードをコピーして貼り付けると、コードを入力できます。このコードはBonus式列用です。

  5. コンパイル」をクリックします。


    注意:

    コンパイル・エラーが発生した場合は、入力したコードと提供されているコードを比較してください。

  6. コンパイル・エラーがない場合は、「閉じる」をクリックして、データ・モデル・ビューにレポートのデータ・モデルを表示します。表示は次のようになります。

    図40-6 BONUS式列作成後のデータ・モデル

    図40-6の説明は次にあります
    「図40-6 BONUS式列作成後のデータ・モデル」の説明

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

40.3.3 報酬合計を計算するレポートレベルのファンクションの作成

この項の手順では、営業担当者の報酬合計(列SALARYの値にCOMMとBONUSを加算)と残りの従業員の報酬合計(SALARYにBONUSを加算)を返すファンクションを記述する方法について説明します。

  1. オブジェクト・ナビゲータで、「プログラム・ユニット」ノードをクリックし、「編集」→「作成」を選択します。

  2. 新規プログラム・ユニットダイアログ・ボックスで、「名前」フィールドにFINAL_CALCと入力します。

  3. ファンクション」を選択し、「OK」をクリックします。

  4. PL/SQLエディタで、テンプレートを使用して次のPL/SQLコードを入力します。

    FUNCTION FINAL_CALC RETURN NUMBER IS
    BEGIN
      IF :JOB_ID = 'SA_REP' THEN
            RETURN (:BONUS + :SALARY + :COMMISSION_PCT * :SALARY);
      ELSE
            RETURN (:BONUS + :SALARY);
      END IF;
    END;
    

    注意:

    提供されているテキスト・ファイルplsql_code.txtから、このコードをコピーして貼り付けると、コードを入力できます。このコードはFinal Calc用です。

  5. コンパイル」をクリックします。

  6. エラーが発生せずにコードがコンパイルされたら、「閉じる」をクリックします。

    新しいファンクションFINAL_CALCは、オブジェクト・ナビゲータで次のように表示されます。

    図40-7 FINAL_CALCファンクション作成後のオブジェクト・ナビゲータ

    図40-7の説明は次にあります
    「図40-7 FINAL_CALCファンクション作成後のオブジェクト・ナビゲータ」の説明

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

40.3.4 報酬合計用の第2の式列の作成

この項の手順では、報酬合計を計算する別の式列を作成する方法について説明します。レポートレベルのファンクションFINAL_CALCによって計算される値が、列TOTAL_COMPに割り当てられます。式列の作成方法について不明な点がある場合は、第40.3.2項「ボーナスを計算する式列の作成」を参照してください。

TOTAL_COMP式列を作成するには:

  1. データ・モデル・ビューで、前述の手順に従って、BONUS式列の下に第2の式列を作成します。

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

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

    • プレースホルダ/式」で、「PL/SQL式」プロパティ・フィールドをクリックしてPL/SQLエディタを表示します。

  3. PL/SQLエディタで、テンプレートを使用して次のPL/SQLコードを入力します。

    function TOTAL_COMPFormula return Number is
    begin
      return FINAL_CALC;
    end;
    

    注意:

    提供されているテキスト・ファイルplsql_code.txtから、このコードをコピーして貼り付けると、コードを入力できます。このコードはTotal Comp式列用です。

  4. コンパイル」をクリックします。

  5. エラーが発生せずにコードがコンパイルされたら、「閉じる」をクリックして、データ・モデル・ビューにレポートのデータ・モデルを表示します。表示は次のようになります。

    図40-8 BONUS式列とTOTAL_COMP式列作成後のデータ・モデル

    図40-8の説明は次にあります
    「図40-8 BONUS式列とTOTAL_COMP式列作成後のデータ・モデル」の説明

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