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

戻る
戻る
 
次へ
次へ
 

34.3 上位顧客数によるランキング・ロジックの作成

レポートにデータ・モデルとレイアウトを作成したら、表示する顧客数を制御するロジックを追加できます。まず、ユーザーが実行時に値を入力できるパラメータを2つ作成します。次に、そのパラメータを使用して表示するデータを制御するグループ・フィルタを作成します。

パラメータを作成してグループ・フィルタを追加するには:

  1. オブジェクト・ナビゲータの「データ・モデル」ノードで、「ユーザー・パラメータ」ノードをクリックします。

  2. 編集」→「作成」を選択して、「ユーザー・パラメータ」ノードの下に新しいユーザー・パラメータを作成します。

  3. プロパティ・インスペクタが表示されていない場合は、新しいユーザー・パラメータ(P_1)を右クリックして「プロパティ・インスペクタ」を選択し、プロパティ・インスペクタを表示してプロパティを設定します。

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

    • パラメータ」で、「データ型」プロパティを「Number」、「幅」プロパティを「1」、「初期値」プロパティを「3」に設定します。

  4. 前述の手順を繰り返して、別のユーザー・パラメータを作成します。プロパティは、次のように設定します。

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

    • パラメータ」で、「データ型」プロパティを「Number」、「幅」プロパティを「3」、「初期値」プロパティを「0」に設定します。

  5. オブジェクト・ナビゲータの「データ・モデル」ノードで、「グループ」ノードを開き、「G_CNAME」グループの横のプロパティ・アイコンをダブルクリックしてプロパティ・インスペクタを表示し、次のプロパティを設定します。

    • グループ」で、「フィルタ・タイプ」プロパティを「PL/SQL」に設定し、「PL/SQLフィルタ」プロパティ・フィールドをクリックしてPL/SQLエディタを表示します。

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

    function G_CNAMEGroupFilter return boolean is
    begin
      :incr_cnt:=:incr_cnt+1;
        if :incr_cnt <= :cutoff_cnt then
          return (TRUE);
        else
          return(FALSE);
        end if;
    end;
    

    注意:

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

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

  8. 閉じる」をクリックします。

    このフィルタによって、G_CNAME内のレコードがフェッチされるたびにカウンタに1が加算され、そのカウンタ値が指定されているカットオフと比較されます。カウンタ値がカットオフを超えると、レコードはそれ以上フェッチされなくなります。


    ヒント:

    ペーパー・デザイン・ビューを開いたままでこのロジックを追加した場合は、そのペーパー・デザイン・ビューではレコードは返されません。この問題を解決するには、他のビュー(データ・モデル・ビューなど)の1つを表示してから、ペーパー・デザイン・ビューに戻ります。ランタイム・パラメータ・フォームで、2つのパラメータINCR_CNTおよびCUTOFF_CNTに値を入力するよう求められます。

  9. ツールバーの「ペーパー・レイアウトを実行」ボタンをクリックしてランタイム・パラメータ・フォームを表示します。このフォームから、CUTOFF_CNTおよびINCR_CNTのデフォルト値を変更できます。

  10. 「レポート実行」ボタンをクリックして、ペーパー・デザイン・ビューにレポート出力を表示します。

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

    図34-3 上位3顧客に制限した表形式のレポート出力

    図34-3の説明は次にあります。
    「図34-3 上位3顧客に制限した表形式のレポート出力」の説明