Oracle Reports レポート作成ガイド 10gリリース2(10.1.2) B25068-01 |
|
この章では、値範囲に基づいた集約データを含むレポートについて学習します。この章の手順に従うと、図30-1に示すようなレポート出力を生成できます。
範囲内のデータを集約または収集するレポートでは、データベースから値が取り出され、その値が定義した集約範囲に基づいて書式設定されます。データを収集する範囲はパラメータを使用して指定することもできます。
このレポートでは、SELECT
文に2つのファンクションを使用して、集約範囲を指定します。このファンクションは、給与の下限を計算する(FLOOR(SAL/1000))*1000)
と、給与の上限を計算する(CEIL*((SAL+1)/1000) * 1000)
です。これらのファンクションから値を受け取る列をブレーク・グループ内に置き、コントロール・ブレーク形式のサンプル・レポートを作成します。
このレポートでは、グループ左のレイアウト・スタイルを使用します。
この例では、給与が0〜999の範囲内にあるすべての従業員の名前、給与が1,000〜1,999の範囲内にあるすべての従業員の名前などを収集し、その名前を表示する、ペーパー・レポートとJSPベースのWebレポートの両方を作成します。このレポートを変更して、必要な集約範囲を表示できます。
このサンプル・レポートの作成過程では、次を行います。
範囲内のデータを集約するレポートのサンプルを表示するには、サンプル・フォルダaggregatingdata
を開き、Oracle Reportsのサンプルaggregatingdata.rdf
を開きます。このファイルの開き方の詳細は、「はじめに」の「サンプル・レポートへのアクセス」を参照してください。
この章の例を作成するには、Oracle Database付属のSCOTTサンプル・スキーマに対するアクセス権が必要です。このサンプル・スキーマに対するアクセス権の有無が不明のときは、データベース管理者に問い合せてください。
この項の手順では、レポート・ウィザードで単純なデータ・モデルとレポート・レイアウトを作成する方法を説明します。これらを使用して、JSPベースのWebレポートやペーパー・レポートを生成できます。次の項では、JSPを変更し、Webレポートで適切な情報が表示されるようにします。
この例のように、単一問合せレポートを作成する場合、レポート・ウィザードを使用して、データ・モデルとレイアウトを同時に作成できます。
SELECT
文を入力します。
SELECT (FLOOR(SAL/1000))*1000 BOTTOM, CEIL((SAL+1)/1000) * 1000 TOP, ENAME, DEPTNO FROM EMP ORDER BY 1,2, SAL
データベースにまだ接続していない場合は、「クエリー・ビルダー」または「次へ」をクリックしたときに、データベースに接続するよう求められます。この例に該当するスキーマが含まれるデータベースに接続してください。第30.1項「この例の前提条件」に、この例のサンプル・スキーマの要件に関する説明があります。
注意
Salary Range
に変更します。
-
"と入力します。レイアウトは次のようになります。aggregatereport_<自分のイニシャル>.rdf
という名前で保存します。
ペーパー・レポートのレイアウトが作成されたので、同じレポートを使用して、ペーパー・レポートと同じように表示されるJSPベースのWebレポートを生成する方法を学習します。
aggregatereport_<自分のイニシャル>.rdf
を、同じ名前でJSPとして保存します(aggregatereport_<自分のイニシャル>.jsp
)。
Webソースで、ペーパー・レポートにあわせて列タイトルを変更する必要があります。
<th <rw:id id="HBbottom" asArray="no"/> class="OraColumnHeader"> Bottom </th>
Salary
"に変更します。これで、次のような行になります。
<th <rw:id id="HBbottom" asArray="no"/> class="OraColumnHeader"> Salary </th>
Top
"列のヘッダーを示します。ヘッダー・テキストを削除し、次のような行にします。
<th <rw:id id="HBtop" asArray="no"/> class="OraColumnHeader"> </th>
Name
"と"Dept
"に変更します。
<th <rw:id id="HBename" asArray="no"/> class="OraColumnHeader"> Name </th> <th <rw:id id="HBdeptno" asArray="no"/> class="OraColumnHeader"> Dept </th>
レポートは次のように表示されます。
このレポートでは、指定した集約データがWeb形式で表示されます。ここでは、従業員名とその給与範囲がわかります。
これで、すべての作業が完了しました。ペーパー出力用とWeb用にデータを集約するレポートは、正常に作成されました。この章で学習した内容は次のとおりです。
この例で使用されているウィザード、ビュー、プロパティの詳細は、Oracle Reportsオンライン・ヘルプを参照してください。このヘルプは、第3.1.1項「Oracle Reportsオンライン・ヘルプの使用」で説明しているとおり、Reports BuilderまたはOracle Technology Network(OTN)から表示できます。
|
Copyright © 2003, 2005 Oracle. All Rights Reserved. |
|