15
ラップ・フィールド・レポートの作成
この章では、テキストの折り返しがあるフィールドを含むレポートについて学習します。この章の手順に従うと、図15-1に示すようなレポート出力を生成できます。
図15-1 ラップ・フィールド・レポートの出力
画像の説明
概要
- Reports Builderでは、レポートの外観を複数の方法で変更できます。この例では、行が1行に収まらない場合に単語の境目で行が折り返されるブレーク・レポートを作成します。
- このレポートにあるフィールドは、横方向の幅は固定されていますが、ブレーク・フィールドの内容が指定された幅よりも長い場合は、縦方向に拡大できます。フィールドの内容は指定されたフィールド幅の中で折り返され、フィールドは縦方向に拡大されるので、フィールドの内容が切り捨てられることがありません。
- ブレーク・レポートの詳細は、Oracle Reportsオンライン・ヘルプを参照してください。
データ・リレーションシップ
これは、1つの問合せを使用した単純なブレーク・レポートです。さらに、サマリー列を3つ追加します。
レイアウト
- このレポートの書式は、マスター/ディテール・レポートとして設定されています。レイアウトを変更して、情報の間に空白を追加し、ブレーク・フィールドが折り返されるようにフィールドの幅を変更します。
- オプション: 3つのフィールドの書式マスクを変更します。また、このレポートにページ保護を使用します。ページ保護を使用すると、枠または繰返し枠内のすべてのオブジェクトは、いっしょに表示されます。マスター繰返し枠に「ページ保護」を指定すると、顧客名とそれに関連するすべてのレコードは、常に同じページに表示されるようになります。
使用例
このサンプル・レポートの作成過程では、次を行います。
ラップ・フィールド・レポートのサンプルを表示するには、サンプル・フォルダwrappedbreak
を開き、Oracle Reportsのサンプル・レポートwrappedbreak.rdf
を開きます。このファイルの開き方の詳細は、「はじめに」の「サンプル・レポートへのアクセス」を参照してください。
15.1 この例の前提条件
この章の例を作成するには、Oracle Database付属のOrder Entryサンプル・スキーマに対するアクセス権が必要です。このサンプル・スキーマに対するアクセス権の有無が不明のときは、データベース管理者に問い合せてください。
15.2 データ・モデル・ビューでの問合せの作成
レポートは、レポート・ウィザードを使用して作成するか、または独自に作成できます。この例では、データ・モデル・ビューを使用して2つの問合せを作成します。次に、ツール・パレットを使用して、この2つの問合せ間にデータ・リンクを作成し、データ表を関連付けます。
問合せを作成するには:
- Reports Builderを起動します。すでに起動している場合は、「ファイル」→「新規」→「レポート」を選択します。
- 「ようこそ」ダイアログ・ボックスまたは「新規レポート」ダイアログ・ボックスで、「新規レポートを手動で作成」を選択して「OK」をクリックします。
- 表示されたデータ・モデル・ビューで、ツール・パレットの「SQL問合せ」ツールをクリックし、データ・モデル・ビューの空き領域をクリックして、「SQL問合せ文」ダイアログ・ボックスを表示します。
- 「SQL問合せ文」フィールドに、次のSELECT文を入力します。
SELECT ALL CUSTOMERS_A1.CUST_FIRST_NAME,
CUSTOMERS_A1.CUST_LAST_NAME, ORDERS.ORDER_ID, ORDERS.ORDER_TOTAL
FROM CUSTOMERS CUSTOMERS_A1, ORDERS
WHERE (ORDERS.CUSTOMER_ID = CUSTOMERS_A1.CUSTOMER_ID)
ORDER BY CUSTOMERS_A1.CUST_LAST_NAME
注意
この問合せは、次のいずれかの方法で入力できます。
- 提供されているテキスト・ファイル
wrappedbreak_code.txt からコードをコピーして「SQL問合せ文」フィールドに貼り付けます。
- 「クエリー・ビルダー」をクリックして、コードを入力せずに問合せを作成します。
- 「SQL問合せ文」フィールドにコードを入力します。
|
- 「OK」をクリックして、新しい問合せのデータ・モデルをデータ・モデル・ビューに表示します。表示は次のようになります。
図15-2 問合せのデータ・モデル
画像の説明
- G_CUST_FIRST_NAMEグループの「CUST_FIRST_NAME」をクリックし、それをこのグループの上にドラッグして別のグループを作成します。
- 「CUST_LAST_NAME」をクリックし、それを新しいグループにドラッグします。これで、データ・モデルは次のようになります。
図15-3 グループを持つデータ・モデル
画像の説明
- 新しいグループ(G_1)をダブルクリックして、プロパティ・インスペクタを表示し、次のプロパティを設定します。
- 「一般情報」で、「名前」プロパティを「G_Name」に設定します。
作成したデータ・モデルは次のようになります。
図15-4 新しいG_Nameグループを持つデータ・モデル
画像の説明
- レポートを
wrappedbreak_<自分のイニシャル>.rdf
という名前で保存します。
15.3 3つのサマリー列の作成
この項の手順では、データ・モデル・ビューで「サマリー列」ツールを使用して、3つのサマリー列を作成する方法を説明します。これらの列では、顧客が購入した各発注合計額のパーセント、顧客の合計購入金額、および全顧客の売上合計のパーセントを計算します。
サマリー列を作成するには:
- データ・モデル・ビューで、ツール・パレットの「サマリー列」ツールをクリックし、「G_CUST_FIRST_NAME」グループ内をクリックしてサマリー列を作成します。
- 新しいサマリー列オブジェクト(CS_1)をダブルクリックしてプロパティ・インスペクタを表示し、次のプロパティを設定します。
- 「一般情報」で、「名前」プロパティを「PCT」に設定します。
- 「サマリー」で、「ファンクション」プロパティを「割合(%)」、「ソース」プロパティを「ORDER_TOTAL」、「リセット位置」プロパティを「G_CUST_FIRST_NAME」、「計算位置」プロパティを「Report」に設定します。
- グループG_NAMEに、次のプロパティを持つ2番目のサマリー列を作成します。
- 「一般情報」で、「名前」プロパティを「CUST_TOTAL」に設定します。
- 「サマリー」で、「ファンクション」プロパティを「合計」、「ソース」プロパティを「ORDER_TOTAL」、「リセット位置」プロパティを「G_NAME」に設定します。
- グループG_NAMEに、次のプロパティを持つ3番目のサマリー列を作成します。
- 「一般情報」で、「名前」プロパティを「PCT_TOTAL_SALES」に設定します。
- 「サマリー」で、「ファンクション」プロパティを「合計」、「ソース」プロパティを「PCT」、「リセット位置」プロパティを「G_NAME」に設定します。
その結果、データ・モデルは次のようになります。
図15-5 3つのサマリー列を持つデータ・モデル
画像の説明
- レポートを
wrappedbreak_<自分のイニシャル>.rdf
という名前で保存します。
15.4 レポート・ウィザードを使用したデフォルト・レイアウトの作成
この項の手順では、レポート・ウィザードを使用してレイアウトを作成し、レポートにおけるデータ表示形式を選択する方法を説明します。ここでは、作成するレポートのスタイルを選択し、レポートでデータを横に表示することにします(したがって、横グループ・レポートの作成)。
レポート・ウィザードを使用してデフォルトのレイアウトを作成できます。この場合、レポートにレイアウトが存在していれば削除され、新しいレイアウトに置き換えられます。
デフォルト・レイアウトを作成するには:
- データ・モデル・ビューで、キャンバスを右クリックして「レポート・ウィザード」を選択します。
- レポート・ウィザードの「レポート・タイプ」ページで、「ペーパー・レイアウトのみ作成」を選択します。
- 「スタイル」ページで「グループ上」を選択します。
- 「フィールド」ページで、「>>」ボタンをクリックして、すべてのフィールドを「表示フィールド」リストに移動します。
- 「ラベル」ページで、フィールド幅を次のように変更します。
- 「終了」をクリックして、レポート出力をペーパー・デザイン・ビューに表示します。表示は次のようになります。
図15-6 ラップ・フィールド・レポートのペーパー・デザイン・ビュー
画像の説明
名前が完全に表示されないのがわかります。次の項の手順では、この問題を速く解決する方法を説明します。
15.5 レポートのレイアウトの変更
この項では、ブレーク・フィールドの内容が指定された幅よりも長い場合に、フィールドを変更して縦方向に拡大します。図15-6に示すように、フィールド幅を固定すると、名前の表示が不完全になります。また、レポートの各レコード間に表示する空間を追加することもできます。
レイアウトを変更するには:
- オブジェクト・ナビゲータで、「ペーパー・レイアウト」→「メイン・セクション」→「ボディ」→「M_G_Name_GRPFR」の下の「R_G_NAME」ノードの横の繰返し枠アイコンをダブルクリックしてプロパティ・インスペクタを表示します。
- 「繰返し枠」で、「枠間の垂直間隔」を「0.25」に変更して[Enter]を押します。
- プロパティ・インスペクタを閉じます。
- オブジェクト・ナビゲータの「ペーパー・レイアウト」ノードで、「メイン・セクション」→「ボディ」→「M_G_NAME_GRPFR」→「R_G_NAME」を選択します。
- 「F_CUST_LAST_NAME」フィールドの横のアイコンをダブルクリックして、プロパティ・インスペクタを表示します。
- 「標準レイアウト」で、「垂直拡張度」プロパティが「拡張」に設定されていることを確認し、プロパティ・インスペクタを閉じて変更を受け入れます。
- 「F_CUST_FIRST_NAME」フィールドに対して手順5と6を実行します。
これで、すべてのテキストが折返しフィールドに表示されるようにレポートのレイアウトが変更され、レコード間に空白が追加されました。
15.6 ペーパーを対象としたレポートの実行
この項では、ペーパー・デザイン・ビューに対してレポートを実行し、レポートの表示状態を確認します。
ツールバーの「ペーパー・デザイン」ボタンをクリックし、ペーパー・デザイン・ビューを表示します。レポートが実行され、ペーパー・デザイン・ビューに表示されます。表示は次のようになります。
図15-7 ラップ・フィールド・レポートのペーパー・デザイン・ビュー
画像の説明
レポートをwrappedbreak_<自分のイニシャル>.rdf
という名前で保存します。
15.7 まとめ
これで、すべての作業が完了しました。ラップ・フィールドのペーパー・レポートは正常に作成されました。この章で学習した内容は次のとおりです。
- データ・モデルを手動で作成する。
- レポート・ウィザードを使用して、マスター/ディテール(またはグループ上)レポートを作成する。
- フィールド内でテキストを折り返すため、レポートのレイアウトを変更する。
- レコードの間に空白を追加する。
この例で使用されているウィザード、ビュー、プロパティの詳細は、Oracle Reportsオンライン・ヘルプを参照してください。このヘルプは、第3.1.1項「Oracle Reportsオンライン・ヘルプの使用」で説明しているとおり、Reports BuilderまたはOracle Technology Network(OTN)から表示できます。