23
条件付きハイライトを使用したレポートの作成
この章では、1つ以上の条件に基づいて、特定の値をハイライト表示するレポートについて学習します。この章の手順に従うと、図23-1に示すようなレポート出力を生成できます。
図23-1 条件付きハイライト・レポートの出力
画像の説明
概要
- 定義した要因に応じて、取得したデータの外観を変更するフォーマット・トリガーを作成できます。
- このフォーマット・トリガーは、「条件付き書式」ダイアログ・ボックスを使用して作成できますが、PL/SQLエディタを使用して手動で作成することもできます。この例の手順では、「条件付き書式」ダイアログ・ボックスの使用方法について説明します。次にそのコードをPL/SQLエディタに表示し、Reports Builderが自動生成したフォーマット・トリガーを検証します。
- 条件付きハイライトでは、特定の条件を満たすときに、レポート出力の指定した部分をフォーマットできます。
データ・リレーションシップ
このレポートでは、1つの問合せを使用してすべてのデータをフェッチします。
レイアウト
このレポートでは、表形式のレイアウト・スタイルを使用します。条件付きハイライトを追加するには、「条件付き書式」ダイアログ・ボックスを使用して、レポート出力でどの名前と給与をハイライトするかを決定します。
使用例
この例では、全従業員を一覧表示し、さらにその中の10,000ドル以上の従業員給与をハイライトする管理者用のレポートを作成します。また、給与が5,000ドル以上10,000ドル未満の従業員も表示したいと考えています。この例では、条件付き書式を使用して、これらの給与額を太字と赤字でハイライトします。
このサンプル・レポートの作成過程では、次を行います。
条件付きハイライトを使用するレポートのサンプルを表示するには、サンプル・フォルダcondhigh
を開き、Oracle Reportsのサンプル・レポートcondhigh.rdf
を開きます。このファイルの開き方の詳細は、「はじめに」の「サンプル・レポートへのアクセス」を参照してください。
23.1 この例の前提条件
この章の例を作成するには、Oracle Database付属のHuman Resourcesサンプル・スキーマ(HR)に対するアクセス権が必要です。このサンプル・スキーマに対するアクセス権の有無が不明のときは、データベース管理者に問い合せてください。
23.2 基本的な表形式レポートの作成
この項の手順では、レポート・ウィザードを使用して単純な表形式レポートを作成する方法について説明します。
表形式レポートを作成するには:
- Reports Builderを起動します。すでに起動している場合は、「ファイル」→「新規」→「レポート」を選択します。
- 「ようこそ」ダイアログ・ボックスまたは「新規レポート」ダイアログ・ボックスで、「レポート・ウィザードを使う」を選択して「OK」をクリックします。
- 「ようこそ」ページが表示されたら、「次へ」をクリックします。
- 「レポート・タイプ」ページで、「ペーパー・レイアウトのみ作成」を選択し、「次へ」をクリックします。
- 「スタイル」ページでレポートのタイトルを入力し、「表形式」を選択して「次へ」をクリックします。
- 「データ・ソース」ページで、「SQL問合せ」をクリックし、「次へ」をクリックします。
- 「データ」ページの「データ・ソース定義」フィールドに次のSELECT文を入力します。
SELECT ALL EMPLOYEES.FIRST_NAME, EMPLOYEES.LAST_NAME,
EMPLOYEES.EMPLOYEE_ID, EMPLOYEES.SALARY
FROM HR.EMPLOYEES
注意
この問合せは、次のいずれかの方法で入力できます。
- 提供されているテキスト・ファイル
condhigh_code.txt からコードをコピーして「データ・ソース定義」フィールドに貼り付けます。
- 「クエリー・ビルダー」をクリックして、コードを入力せずに問合せを作成します。
- 「データ・ソース定義」フィールドにコードを入力します。
|
- 「次へ」をクリックします。
注意
データベースにまだ接続していない場合は、「クエリー・ビルダー」または「次へ」をクリックしたときに、データベースに接続するよう求められます。この例に該当するスキーマが含まれるデータベースに接続してください。第23.1項「この例の前提条件」に、この例のサンプル・スキーマの要件に関する説明があります。
|
- 「フィールド」ページで、「>」ボタンをクリックして次のフィールドを「表示フィールド」リストに移動し、「次へ」をクリックします。フィールドは必ず次の順序で移動します。
- EMPLOYEE_ID
- FIRST_NAME
- LAST_NAME
- SALARY
- 「合計」ページで「次へ」をクリックします。
- 「ラベル」ページで「次へ」をクリックします。
- 「テンプレート」ページで、「事前定義テンプレート」を選択し、「Beige」をクリックします。次に「終了」をクリックして、ペーパー・デザイン・ビューでレポート出力をプレビューします。表示は次のようになります。
図23-2 最初の表形式レポートのペーパー・デザイン・ビュー
画像の説明
ここからは、データをフォーマットして、より意味のあるものにします。
レポートをフォーマットするには:
- ペーパー・デザイン・ビューで、データの列上を1回クリックして「Salary」列を選択します。
- ツールバーの「通貨」ボタンをクリックします。すべての値の横に通貨記号が表示されます。
- 「カンマ」ボタンをクリックします。
- 「10進桁を追加」ボタンを2回クリックします。小数点の右側に少数点以下2桁が追加されます。
レポートの「Salary」列は次のようになります。
図23-3 フォーマットした「Salary」列
画像の説明
- 次の操作を行って、列の位置合せを変更します。
- 「Salary」列のヘッダーをクリックし、ツールバーの「中央に整列」ボタンをクリックします。
- 「Salary」列を1回クリックし、ツールバーの「右に整列」ボタンをクリックします。
- 「Salary」列が選択されている状態で、[Shift]キーを押しながら列のヘッダーをクリックして選択します。次に、右側の黒い四角形の1つをクリックしてドラッグし、列と列ヘッダーのサイズを調整します。
- 「Employee Id」列のヘッダーをクリックします。さらに、[Shift]キーを押しながら「Employee Id」列をクリックして、この列も選択します。次いでツールバーの「中央に整列」ボタンをクリックします。
- レポートのペーパー・デザイン・ビューは次のようになります。
図23-4 表形式レポートのペーパー・デザイン・ビュー
画像の説明
- レポートを
condhigh_<自分のイニシャル>.rdf
という名前で保存します。
23.3 レポートへの条件付き書式の追加
この項の手順では、10,000ドル以上の給与は赤い太字で、5,000ドル以上10,000ドル未満の給与は太字で表示されるように、条件付き書式を追加する方法について説明します。
取得したデータが10,000ドル以上であると同時に、5,000ドル以上10,000ドル未満であることはないので、2つの書式の例外は別に作成する必要があります。この項では、2つの異なる書式の例外を作成する方法について説明します。
条件付き書式を追加するには:
- ペーパー・デザイン・ビューで、「Salary」列のデータ(「Salary」列のヘッダーではなく)を右クリックして、「条件付き書式」を選択します。
- 「条件付き書式」ダイアログ・ボックスで、「新規」をクリックして新しい書式の例外を作成します。
- 「書式の例外」ダイアログ・ボックスで、「SALARY」が選択されていることを確認します。
- 「SALARY」の横にあるドロップダウン・リストから、「Greater Than or Equal」を選択します。
- 次のボックスに
10000
と入力します。
- 「書式」で、「テキスト・カラー」の横のアイコンをクリックして、カラー・パレットを表示します。
注意
「書式の例外」ダイアログ・ボックスでは、テキスト・カラー、スタイル、フォントなどの任意のオプションを必要に応じて選択できます。
|
- 赤をクリックします。
- 「フォント」をクリックして、「太字」を選択します。
- 「OK」をクリックして、新しいフォント・スタイルを受け入れます。
これで、「書式の例外」ダイアログ・ボックスでは、次のようにオプションが選択されています。
図23-5 「書式の例外」ダイアログ・ボックス
画像の説明
- 「OK」をクリックします。
- 「条件付き書式」ダイアログ・ボックスで、「新規」をクリックして第2の書式の例外を作成します。
- 「SALARY」列の中で、5,000ドル以上10,000ドル未満の値を太字で表示する書式の例外を作成します。
注意
5,000ドル以上10,000ドル未満の値がハイライトされ、10,000ドルと4,999ドルはハイライトされないようにするため、必ず記述されている順序で値を入力してください。
|
- 完了したら「OK」をクリックします。「条件付き書式」ダイアログ・ボックスは次のようになります。
図23-6 「条件付き書式」ダイアログ・ボックス
画像の説明
- 「適用」をクリックし、「OK」をクリックします。次のようなレポートがペーパー・デザイン・ビューに表示されます。
図23-7 最終的な条件付き書式レポート
画像の説明
- レポートを
condhigh_<自分のイニシャル>.rdf
という名前で保存します。
23.4 条件付きフォーマット・トリガーのコードの検証
この項の手順では、「条件付き書式」ダイアログ・ボックスを使用して書式の例外を設定したときに、Reports Builderによって自動的に生成されるPL/SQLコードを検証します。
注意
条件付きフォーマット・トリガーのコードはPL/SQLエディタでも編集できますが、「条件付き書式」ダイアログ・ボックスでコードを再編集すると、そこで選択した内容によってエディタでの編集が上書きされます。PL/SQLエディタでコードを編集した場合は、「条件付き書式」ダイアログ・ボックスを開くときに、警告メッセージが表示されます。
|
自動生成されたコードを検証するには:
- ペーパー・デザイン・ビューで、「Salary」列(新しい書式を適用した列)を右クリックして、「PL/SQLエディタ」を選択します。
- PL/SQLエディタに、Reports Builderによって自動生成された次のコードが表示されます。
図23-8 新しいフォーマット・トリガーのPL/SQLコード
画像の説明
注意
このコードでは、作成した2つの書式の例外が1つのフォーマット・トリガーの2つの部分で構成されていることがわかります。このためには、「条件付き書式」ダイアログ・ボックスで2つの書式の例外を別々に作成する必要があります。同じ「書式の例外」ダイアログ・ボックスで2つの例外を同時に作成した場合は、データが両方の例外条件を同時に満たすことはないため、ハイライトされることはありません。
|
23.5 まとめ
これで、すべての作業が完了しました。レポート出力で指定したデータをハイライトするレポートは、正常に作成されました。この章で学習した内容は次のとおりです。
- レポート・ウィザードを使用して、単純な表形式レポートを作成する。
- ペーパー・デザイン・ビューのツールを使用して、レポートの外観をフォーマットする。
- 「条件付き書式」ダイアログ・ボックスと「書式の例外」ダイアログ・ボックスを使用して、レポート出力の特定のデータをハイライトするフォーマット・トリガーを作成する。
- Reports Builderによって自動生成されたコードを検証する。
この例で使用されているウィザード、ビュー、プロパティの詳細は、Oracle Reportsオンライン・ヘルプを参照してください。このヘルプは、第3.1.1項「Oracle Reportsオンライン・ヘルプの使用」で説明しているとおり、Reports BuilderまたはOracle Technology Network(OTN)から表示できます。