17
データベース値を使用したヘッダー付レポートの作成
この章では、データベースに問い合せた値を使用するヘッダー付きのレポートについて学習します。この章の手順に従うと、図17-1に示すようなレポート出力を生成できます。
図17-1 ヘッダーにデータベース値が含まれるグループ左レポートの出力
画像の説明
概要
このサンプル・レポートでは、各ページの最初と最後の部門番号がページ・ヘッダーに表示されます。
レイアウト
このレポートでは、1つの問合せと2つのグループを使用します。また、ヘッダー・フィールドの値入力用に、サマリー列を2つ作成します。各ページのフィールド値を一意に設定するには、最初と最後ファンクションを使って値を計算します。最初ファンクションは、グループ、ページまたはレポートに選択した最初のデータベース値を返し、最後ファンクションはグループ、ページまたはレポートに選択した最後のデータベース値を返します。
レイアウト
このレポートでは、デフォルトのグループ左書式をそのまま使用します。
使用例
この例では、従業員データを部門別に表示および集計するレポートを作成します。レポートを読みやすくするために、各ページにヘッダーを追加して、ページに表示される部門がどこかを示します。
このサンプル・レポートの作成過程では、次を行います。
データベース値を使用したヘッダー付レポートのサンプルを表示するには、サンプル・フォルダheadingdb
を開き、Oracle Reportsのサンプルheadingdb.rdf
を開きます。アクセス方法の詳細は、「はじめに」の「サンプル・レポートへのアクセス」を参照してください。
17.1 この例の前提条件
この章の例を作成するには、Oracle Database付属のHuman Resourcesサンプル・スキーマ(HR)に対するアクセス権が必要です。このサンプル・スキーマに対するアクセス権の有無が不明のときは、データベース管理者に問い合せてください。
17.2 データ・モデルとグループ左レイアウトの作成
この例のように、単一問合せレポートを作成する場合、レポート・ウィザードを使用して、データ・モデルとレイアウトを同時に作成できます。
データ・モデルとレイアウトを作成するには:
- Reports Builderを起動します。すでに起動している場合は、「ファイル」→「新規」→「レポート」を選択します。
- 「ようこそ」ダイアログ・ボックスまたは「新規レポート」ダイアログ・ボックスで、「レポート・ウィザードを使う」を選択して「OK」をクリックします。
- 「ようこそ」ページが表示されたら、「次へ」をクリックします。
- 「レポート・タイプ」ページで、「ペーパー・レイアウトのみ作成」を選択し、「次へ」をクリックします。
- 「スタイル」ページでレポートのタイトルを入力し、「グループ左」を選択して「次へ」をクリックします。
- 「データ・ソース」ページで、「SQL問合せ」をクリックし、「次へ」をクリックします。
- 「データ」ページの「データ・ソース定義」フィールドに次のSELECT文を入力します。
SELECT DEPARTMENT_ID, FIRST_NAME, LAST_NAME, JOB_ID, SALARY
FROM EMPLOYEES
ORDER BY DEPARTMENT_ID, EMPLOYEE_ID
注意
この問合せは、次のいずれかの方法で入力できます。
- 提供されているテキスト・ファイル
heading_code.txt からコードをコピーして「データ・ソース定義」フィールドに貼り付けます。
- 「クエリー・ビルダー」をクリックして、コードを入力せずに問合せを作成します。
- 「データ・ソース定義」フィールドにコードを入力します。
|
- 「次へ」をクリックします。
注意
データベースにまだ接続していない場合は、「クエリー・ビルダー」または「次へ」をクリックしたときに、データベースに接続するよう求められます。この例に該当するスキーマが含まれるデータベースに接続してください。第17.1項「この例の前提条件」に、この例のサンプル・スキーマの要件に関する説明があります。
|
- 「グループ」ページで、「DEPARTMENT_ID」をクリックし、「>」ボタンをクリックして、このフィールドを「グループ・フィールド」リストに移動し、「次へ」をクリックします。
- 「フィールド」ページで、「>>」ボタンをクリックしてすべてのフィールドを「表示フィールド」リストに移動し、「次へ」をクリックします。
- 「合計」ページで「次へ」をクリックします。
- 「ラベル」ページで、ラベルを次のように変更し、「次へ」をクリックします。
- 「テンプレート」ページで「終了」をクリックして、ペーパー・デザイン・ビューにレポート出力を表示します。
- ペーパー・デザイン・ビューで、「Salary」ラベルの下に表示されている最初の数値をクリックします。
ヒント
書式マスクの構文に精通している場合は、フィールドの値を右クリックして「プロパティ・インスペクタ」を選択し、「書式マスク」プロパティの値を選択するか、手動で入力してもかまいません。
|
- ツールバーの「通貨」ボタンをクリックします。すべての値の横に通貨記号が表示されます。
- 「10進桁を追加」ボタンを2回クリックします。小数点の右側に少数点以下2桁が追加されます。
- フィールドの一番右側にあるハンドルをクリックし、そのまま左へ約0.5インチ(1.5 cm)ドラッグして、フィールドのサイズを変更します。
- [Shift]を押しながら「Salary」ラベル自体をクリックします。
- ツールバーの「右に整列」ボタンをクリックします。すべての値と「Salary」ラベルが右詰めになります。
- 「Department」ラベルの下に表示されている最初の部門番号値を、クリックして選択します。
- ツールバーの「中央に整列」ボタンをクリックします。
レポートの表示は次のようになります。
図17-2 値が書式設定されたグループ左レポートの出力
画像の説明
- レポートを
headingdb_<自分のイニシャル>.rdf
という名前で保存します。
17.3 ヘッダー・データ用のサマリー列の追加
このヘッダー(つまり、このページに表示される部門)を作成するには、ヘッダーの移入に必要な値を計算するサマリー列を、2つ作成する必要があります。
- レポート・エディタで、ツールバーの「データ・モデル」ボタンをクリックして、データ・モデル・ビューを表示します。
- ツール・パレットの「サマリー列」ツールをクリックし、データ・モデル・ビューの空き領域をクリックしてサマリー列を作成します。
- 新しいサマリー列オブジェクト(CS_1)をダブルクリックしてプロパティ・インスペクタを表示し、次のプロパティを設定します。
- 「一般情報」で、「名前」プロパティを「FirstDeptRec」に設定します。
- 「サマリー」で、「ファンクション」プロパティを「最初」、「ソース」プロパティを「DEPARTMENT_ID」、「リセット位置」プロパティを「Page」に設定します。
- 2番目のサマリー列を作成し、そのプロパティを次のように設定します。
- 「一般情報」で、「名前」プロパティを「LastDeptRec」に設定します。
- 「サマリー」で、「ファンクション」プロパティを「最後」、「ソース」プロパティを「DEPARTMENT_ID」、「リセット位置」プロパティを「Page」に設定します。
作成したデータ・モデルは次のようになります。
図17-3 ヘッダー用サマリー列作成後のデータ・モデル
画像の説明
17.4 ページ・ヘッダーの追加
ヘッダーのデータを設定したら、レポートのマージン領域に、対応するレイアウト・オブジェクトを追加する必要があります。
- ペーパー・デザイン・ビューで、ツールバーのフォント・リストから、「Arial(欧文)」、ポイント・サイズ「10」を選択します。
- ペーパー・レイアウト・ビューで、ツールバーの「マージン編集」ボタンをクリックします。
- ツール・パレットの「テキスト」ツールをクリックします。
- ロゴ・イメージの右側の任意の位置に領域を描き、次のテキストを入力します。
Departments found on this page: &FirstDeptRec through &LastDeptRec
- ペーパー・レイアウト・ビューの空き領域に移動し、マウス・ボタンをクリックしてテキスト・モードを終了します。作成したテキスト・オブジェクトは、選択されたままになっています。この状態で、矢印キーを使用して位置を調整できます。2度目に空き領域をクリックすると、オブジェクトの選択は解除されます。
- 「プログラム」→「ペーパー・レイアウトを実行」を選択し、レポートを実行します。
レポートは次のようになります。
図17-4 ヘッダーにデータベース値が含まれるグループ左レポートの出力
画像の説明
- レポートを保存します。
17.5 まとめ
これで、すべての作業が完了しました。データベース値を使用したヘッダー付レポートは正常に作成されました。この章で学習した内容は次のとおりです。
- データ・モデルとレイアウトを作成する。
- サマリー列を追加してヘッダーを移入する。
- すべてのページで繰り返される、データベース値が含まれるヘッダーを追加する。
この例で使用されているウィザード、ビュー、プロパティの詳細は、Oracle Reportsオンライン・ヘルプを参照してください。このヘルプは、第3.1.1項「Oracle Reportsオンライン・ヘルプの使用」で説明しているとおり、Reports BuilderまたはOracle Technology Network(OTN)から表示できます。