Oracle® Fusion Middleware

Oracle Business Intelligence Publisherレポート・デザイナーズ・ガイド

11g リリース1(11.1.1)

B63038-05 (原本部品番号: E22254-04)

2014年9月

Oracle Business Intelligence Publisherのデータ・モデルのデータを、多様な種類のテンプレートを使用して表示するレポートの作成方法、およびレポート・レイアウトの設計方法を説明します。視覚的効果の作成、実行時プロパティの設定、サブ・テンプレートの定義、および翻訳の有効化について説明されます。

Oracle Fusion Middleware Oracle Business Intelligence Publisherレポート・デザイナーズ・ガイド リリース11g (11.1.1)

B63038-05 (原本部本番号: E22254-04)

Copyright © 2010, 2014, Oracle and/or its affiliates.All rights reserved.

原本主著者: Leslie Grumbach Studdard

原本主協力者:  Tim Dexter、Suzanne Gill

原本協力者: Oracle Business Intelligence Publisher開発、製品管理および品質保証チーム

このソフトウェアおよび関連ドキュメントの使用と開示は、ライセンス契約の制約条件に従うものとし、知的財産に関する法律により保護されています。ライセンス契約で明示的に許諾されている場合もしくは法律によって認められている場合を除き、形式、手段に関係なく、いかなる部分も使用、複写、複製、翻訳、放送、修正、ライセンス供与、送信、配布、発表、実行、公開または表示することはできません。このソフトウェアのリバース・エンジニアリング、逆アセンブル、逆コンパイルは互換性のために法律によって規定されている場合を除き、禁止されています。

ここに記載された情報は予告なしに変更される場合があります。また、誤りが無いことの保証はいたしかねます。誤りを見つけた場合は、オラクル社までご連絡ください。

このソフトウェアまたは関連ドキュメントが、米国政府機関もしくは米国政府機関に代わってこのソフトウェアまたは関連ドキュメントをライセンスされた者に提供される場合は、次のNoticeが適用されます。

U.S. GOVERNMENT END USERS: Oracle programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, delivered to U.S. Government end users are "commercial computer software" pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental regulations.As such, use, duplication, disclosure, modification, and adaptation of the programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, shall be subject to license terms and license restrictions applicable to the programs.No other rights are granted to the U.S. Government.

このソフトウェアまたはハードウェアは様々な情報管理アプリケーションでの一般的な使用のために開発されたものです。このソフトウェアまたはハードウェアは、危険が伴うアプリケーション(人的傷害を発生させる可能性があるアプリケーションを含む)への用途を目的として開発されていません。このソフトウェアまたはハードウェアを危険が伴うアプリケーションで使用する際、このソフトウェアまたはハードウェアを安全に使用するために、適切な安全装置、バックアップ、冗長性(redundancy)、その他の対策を講じることは使用者の責任となります。このソフトウェアまたはハードウェアを危険が伴うアプリケーションで使用したことに起因して損害が発生しても、オラクル社およびその関連会社は一切の責任を負いかねます。

OracleおよびJavaはOracle およびその関連企業の登録商標です。その他の名称は、それぞれの所有者の商標または登録商標です。

Intel、Intel Xeonは、Intel Corporationの商標または登録商標です。すべてのSPARCの商標はライセンスをもとに使用し、SPARC International, Inc.の商標または登録商標です。AMD、Opteron、AMDロゴ、AMD Opteronロゴは、Advanced Micro Devices, Inc.の商標または登録商標です。UNIXはThe Open Groupの登録商標です。

このソフトウェアまたはハードウェアおよびドキュメントは、第三者のコンテンツ、製品、サービスへのアクセス、あるいはそれらに関する情報を提供することがあります。オラクル社およびその関連会社は、第三者のコンテンツ、製品、サービスに関して一切の責任を負わず、いかなる保証もいたしません。オラクル社およびその関連会社は、第三者のコンテンツ、製品、サービスへのアクセスまたは使用によって損失、費用、あるいは損害が発生しても、一切の責任を負いかねます。

目次

タイトルおよび著作権情報

はじめに

- 対象読者

- ドキュメントのアクセシビリティについて

- 関連ドキュメントとその他のリソース

- システム要件と動作要件

- 表記規則

レポート・デザイナ向けの新機能

- Oracle BI Publisher 11gリリース1 (11.1.1.9)の新機能

- Oracle BI Publisher 11gリリース1 (11.1.1.7)の新機能

- Oracle BI Publisher 11gリリース1 (11.1.1.6)の新機能

- Oracle BI Publisher 11gリリース1 (11.1.1.5)の新機能

- Oracle BI Publisher 11gリリース1 (11.1.1.3)の新機能

第I部 レポートとレイアウトの作成

1 レポート設計の概要

- 1.1 レポート設計者向けの概要

- 1.2 レイアウト・タイプについて

- 1.3 ランタイム・プロパティの設定について

- 1.4 翻訳について

- 1.5 スタイル・テンプレートについて

- 1.6 サブ・テンプレートについて

2 レポートの作成と編集

- 2.1 レポート・コンポーネントについて

- 2.2 レポートの作成: プロセスの概要

- 2.3 レポートの作成

- 2.3.1 データソースの選択

- 2.3.2 「ガイド」または「レポート・エディタの使用」の選択

- 2.3.3 レポート・レイアウトの選択

- 2.3.4 レポート・レイアウトの列の選択

- 2.3.4.1 「表」レイアウト

- 2.3.4.2 「チャート」レイアウト

- 2.3.4.3 「チャートと表」レイアウト

- 2.3.4.4 「ピボット・テーブル」レイアウト

- 2.3.4.5 「チャートとピボット・テーブル」レイアウト

- 2.3.4.6 「2つのチャートと表」レイアウト

- 2.3.5 レポートの保存

- 2.4 サブジェクト・エリアへの直接接続を使用するレポートの作成

- 2.4.1 サブジェクト・エリア・レポートの作成

- 2.4.2 サブジェクト・エリア・レポートへのパラメータの追加

- 2.4.3 複数のサブジェクト・エリアに対するレポートの作成

- 2.5 レポートの編集

- 2.6 レポート定義へのレイアウトの追加

- 2.6.1 レイアウト・エディタを使用したレイアウトの追加

- 2.6.2 テンプレート・ファイルのアップロードによるレイアウトの追加

- 2.6.3 テンプレート・ファイルの生成によるレイアウトの追加

- 2.7 リスト・ビューを使用したレイアウトの構成

- 2.7.1 レイアウトへのスタイル・テンプレートの適用

- 2.7.2 レイアウト・ツールバーについて

- 2.7.3 リスト・ビューを使用したレイアウトの構成

- 2.7.4 出力フォーマットの選択

- 2.7.5 レイアウトの編集

- 2.8 レポートのパラメータ設定の構成

- 2.9 レポートのプロパティの構成

- 2.9.1 一般的なプロパティの設定

- 2.9.1.1 説明

- 2.9.1.2 レポート・オンラインの実行

- 2.9.1.3 拡張オプション

- 2.9.2 キャッシュ・プロパティの設定

- 2.9.3 書式設定プロパティの設定

- 2.9.4 フォント・マッピングの構成

- 2.9.5 通貨書式の構成

- 2.10 URLを介したレポートへのアクセス

- 2.10.1 セキュリティ上の考慮事項

- 2.10.2 URLの作成

- 2.10.3 URLでのパラメータの指定

3 BI Publisherレイアウト・テンプレートの作成

- 3.1 BI Publisherレイアウトの概要

- 3.1.1 BI Publisherレイアウトを使用するタイミング

- 3.1.2 前提条件、推奨事項および制限事項

- 3.2 レイアウト・エディタの起動

- 3.2.1 新規レポートを作成する場合

- 3.2.2 レポートを編集する場合

- 3.2.3 レポートを表示する場合

- 3.2.4 事前定義済レイアウトの選択

- 3.2.4.1 すべてのユーザー向けの共有テンプレートの追加

- 3.2.4.2 個人用の事前定義済レイアウトの追加

- 3.3 レイアウト・エディタ・インタフェースについて

- 3.3.1 「データソース」ペインについて

- 3.3.2 「コンポーネント」ペインについて

- 3.3.3 「プロパティ」ペインについて

- 3.3.4 静的ツールバーについて

- 3.3.5 タブ付きツールバーについて

- 3.3.5.1 レイアウト・オブジェクトの選択および削除

- 3.3.5.2 「挿入」タブについて

- 3.4 「ページ・レイアウト」タブ

- 3.4.1 用紙オプション

- 3.4.2 ヘッダー/フッターのオプション

- 3.4.2.1 ヘッダーおよびフッターのプロパティの設定

- 3.4.3 表示オプション

- 3.4.4 表示単位

- 3.4.5 対話処理: イベント構成

- 3.4.5.1 フィルタ・イベント構成の例

- 3.4.5.2 自動フィルタリングの構成

- 3.4.5.3 例: 選択項目のみ表示

- 3.4.6 ページ・マージンの設定

- 3.4.7 インタラクティブ・モード・レポートに対する最大接続数の設定

- 3.5 レイアウト・コンポーネントの挿入

- 3.6 レイアウト・グリッドについて

- 3.6.1 境界線または背景色の追加

- 3.6.2 挿入オプションについて

- 3.6.3 結合/結合解除オプションについて

- 3.6.4 拡張および縮小オプションの追加

- 3.7 繰返しセクションについて

- 3.7.1 繰返しセクションに対する改ページ・オプションの設定

- 3.7.2 インタラクティブ・モードにおける繰返しセクションの表示方法

- 3.7.3 繰返しセクションにおけるすべての値の表示

- 3.8 データ表について

- 3.8.1 データ表の挿入

- 3.8.2 交互に異なる行の色の設定

- 3.8.3 「表」タブについて

- 3.8.3.1 「表示する行」オプション

- 3.8.3.2 フィルタについて

- 3.8.3.3 表に対するフィルタの設定

- 3.8.3.4 フィルタの管理

- 3.8.3.5 条件付き書式について

- 3.8.3.6 表に対する条件付き書式の適用

- 3.8.3.7 フォーマットの管理

- 3.8.3.8 合計行の表示の制御

- 3.8.4 「表の列のヘッダー」タブについて

- 3.8.4.1 グループ化について

- 3.8.4.2 例: グループ左

- 3.8.4.3 小計の適用

- 3.8.4.4 例: グループ上

- 3.8.5 「列」タブについて

- 3.8.5.1 列に対する「データの書式設定」オプションについて

- 3.8.5.2 数値データ列に対する書式設定の適用

- 3.8.5.3 Dateデータ型データ列に対する書式設定の適用

- 3.8.5.4 カスタム書式マスクおよび動的書式マスク

- 3.8.5.5 「式」オプションについて

- 3.8.5.6 「ソート」オプションについて

- 3.8.5.7 ソート順の解除

- 3.8.6 「セル合計」タブについて

- 3.8.6.1 合計セルに対するデータの書式設定の適用

- 3.8.6.2 式の適用

- 3.8.7 動的ハイパーリンクの挿入

- 3.8.8 カスタム・データの書式設定の適用

- 3.9 チャートについて

- 3.9.1 チャートの挿入

- 3.9.1.1 「チャート」タブについて

- 3.9.1.2 フィルタの適用と管理

- 3.9.1.3 チャートのピボット・テーブルへの変換

- 3.9.2 チャート・メジャー・フィールドに適用された式の変更

- 3.9.3 チャート・フィールドのソート

- 3.9.4 拡張チャート機能の使用

- 3.9.4.1 時系列軸の書式設定

- 3.9.4.2 軸を非表示にするオプション

- 3.9.4.3 独立した軸の書式設定

- 3.9.4.4 軸スケーリング

- 3.9.4.5 円グラフの区分の書式設定

- 3.10 ゲージ・チャートについて

- 3.10.1 ゲージ・チャートの挿入

- 3.10.2 ゲージ・チャートのプロパティの設定

- 3.10.3 フィルタの適用と管理

- 3.11 ピボット・テーブルについて

- 3.11.1 ピボット・テーブルの挿入

- 3.11.2 「ピボット・テーブル」メニューのカスタマイズ

- 3.11.3 「ピボット・テーブル」タブについて

- 3.11.3.1 フィルタの適用

- 3.11.3.2 合計の表示のカスタマイズ

- 3.11.3.3 ピボット・テーブルのチャートへの変換

- 3.11.3.4 行と列の切替

- 3.11.4 ピボット・テーブル・ヘッダーのカスタマイズ

- 3.11.5 ピボット・テーブル・データのカスタマイズ

- 3.12 テキスト・アイテムについて

- 3.12.1 データ・フィールドとテキスト・アイテムを並べて表示

- 3.12.2 テキスト・ツールバーについて

- 3.12.2.1 フォント・プロパティの編集

- 3.12.2.2 ページ番号の挿入

- 3.12.2.3 日付と時刻の挿入

- 3.12.2.4 ハイパーリンクの挿入

- 3.13 イメージについて

- 3.14 リストについて

- 3.14.1 リストの挿入

- 3.14.2 リストのカスタマイズ

- 3.14.2.1 フォント・スタイルおよび選択したフォント・スタイル・コマンドのカスタマイズ

- 3.14.2.2 選択したアイテムの動作のカスタマイズ

- 3.15 事前定義済またはカスタムの式の設定

- 3.15.1 事前定義済の式について

- 3.15.2 カスタム式の適用

- 3.15.2.1 基本計算関数について

- 3.15.2.2 統計計算関数について

- 3.15.3 カスタム式の適用: 例

- 3.16 レイアウトの保存

4 RTFテンプレートの作成

- 4.1 はじめに

- 4.1.1 RTFテンプレートとは

- 4.1.2 テンプレート設計の前提条件

- 4.1.3 XSLT互換性の概要

- 4.1.4 主要な概念

- 4.1.5 テンプレート・レイアウトの設計

- 4.1.6 BI Publisherコードの追加について

- 4.2 テンプレート・レイアウトへのXMLデータの関連付け

- 4.2.1 XML入力ファイルの使用

- 4.2.2 プレースホルダとグループの識別

- 4.2.3 プレースホルダの使用方法

- 4.2.4 繰返し要素のグループの識別

- 4.3 テンプレート・レイアウトへのマークアップの追加

- 4.3.1 プレースホルダの作成

- 4.3.1.1 基本RTF方式の使用

- 4.3.1.2 フォーム・フィールド方式の使用

- 4.3.1.3 この例のまとめ

- 4.4 グループの定義

- 4.4.1 グループ化のシナリオ

- 4.4.2 基本RTF方式の使用

- 4.4.3 フォーム・フィールド方式の使用

- 4.4.4 この例のまとめ

- 4.5 ヘッダーとフッターの定義

- 4.5.1 ヘッダーおよびフッターのネイティブ・サポート

- 4.5.2 ヘッダーとフッターへのプレースホルダの挿入

- 4.5.3 複数または複雑なヘッダーおよびフッターの作成

- 4.5.4 先頭ページ、奇数ページ、偶数ページの個別定義

- 4.6 イメージとチャートの挿入

- 4.6.1 イメージの直接挿入

- 4.6.2 URL参照によるイメージの挿入

- 4.6.3 XMLファイルの要素参照によるイメージの挿入

- 4.6.4 BLOBデータから取得したイメージのレンダリング

- 4.6.5 テンプレートへのチャートの追加

- 4.6.5.1 サンプル・チャートの追加

- 4.6.5.2 ダミー・イメージの挿入

- 4.6.5.3 「代替テキスト」ボックスへのコードの追加

- 4.6.5.4 別のチャートのサンプル

- 4.6.5.5 横棒グラフのサンプル

- 4.6.5.6 チャートの外観の変更

- 4.7 描画、図形、およびクリップ・アートの追加

- 4.7.1 フリーハンド描画の追加

- 4.7.2 ハイパーリンクの追加

- 4.7.3 図形の重ね合わせ

- 4.7.4 3D効果の使用

- 4.7.5Microsoft数式の追加

- 4.7.6 組織図の追加

- 4.7.7 ワードアートの追加

- 4.7.8 データドリブン図形の追加

- 4.7.9 操作コマンドの組込み

- 4.7.10 図形のレプリケート

- 4.7.11 図形へのテキストの追加

- 4.7.12 直線または曲線に沿ったテキストの追加

- 4.7.13 図形の移動

- 4.7.14 図形の回転

- 4.7.15 図形の傾斜

- 4.7.16 図形サイズの変更

- 4.7.17 コマンドの結合

- 4.7.18 CD評価の例

- 4.7.19 グループ化された図形の例

- 4.8 サポート対象のMicrosoft Wordの書式設定機能

- 4.8.1 Microsoft Wordの一般的な機能

- 4.8.2 オブジェクトの整列

- 4.8.3 表の挿入

- 4.8.4 日付フィールドの挿入

- 4.8.5 ページへの段組みの挿入

- 4.8.6 背景および透かしの挿入

- 4.8.6.1 Microsoft Word 2000を使用した背景の追加

- 4.8.6.2 Microsoft Word 2002以降を使用したテキストまたはイメージの透かしの追加

- 4.8.7 サポートされていないMicrosoft Wordの機能

- 4.9 テンプレート機能

- 4.9.1 改ページの挿入

- 4.9.2 初期ページ番号の挿入

- 4.9.3 最終ページのみのコンテンツの指定

- 4.9.4 偶数ページまたは奇数ページで終了するには

- 4.9.5 ハイパーリンクの挿入

- 4.9.5.1 内部リンクの挿入

- 4.9.6 目次の組込み

- 4.9.7 PDF出力でのしおりの生成

- 4.9.8 チェック・ボックスの挿入

- 4.9.9 ドロップダウン・リストの挿入

- 4.9.10 改ページ後の行ヘッダーの繰返し

- 4.10 条件付き書式の使用

- 4.10.1 If文の使用

- 4.10.2 ボイラープレート・テキストでのIf文の使用

- 4.10.3 If-Then-Else文の使用

- 4.10.4 Choose文の挿入

- 4.10.4.1 条件付き書式の例

- 4.10.5 列の書式設定

- 4.10.6 行の書式設定

- 4.10.7 セルの強調表示

- 4.11 ページレベルの計算の挿入

- 4.11.1 ページ合計の表示

- 4.11.2 前からの繰越/次への繰越の合計の挿入

- 4.11.3 累積合計の挿入

- 4.12 データの処理

- 4.12.1 データのソート

- 4.12.2 NULL値の確認

- 4.12.3 XMLデータの再グループ化

- 4.12.3.1 XMLのサンプル

- 4.12.3.2 再グループ化構文

- 4.12.3.3 テンプレートの例

- 4.12.3.4 式による再グループ化

- 4.13 変数、パラメータおよびプロパティの設定

- 4.13.1 変数の設定

- 4.13.2 パラメータの設定

- 4.13.3 プロパティの設定

- 4.14 拡張レポート・レイアウトの使用

- 4.14.1 バッチ・レポートの作成

- 4.14.2 データが見つからない状況の処理

- 4.14.3 ピボット・テーブルの挿入

- 4.14.4 動的データ列の構築

- 4.14.4.1 改ページ時に繰り返す列の定義

- 4.14.4.2 動的データ列の例

- 4.15 数値、日付および通貨の書式設定

- 4.15.1 数値の書式設定

- 4.15.2 データソース要件

- 4.15.3 ローカライゼーションに関する検討事項

- 4.15.4 Microsoft数値書式マスクの使用

- 4.15.5 サポートされているMicrosoft書式マスク定義

- 4.15.6 Oracle書式マスクの使用

- 4.15.7 日付の書式設定

- 4.15.8 データソース要件

- 4.15.9 Microsoft日付書式マスクの使用

- 4.15.10 Oracle書式マスクの使用

- 4.15.11 デフォルトの書式マスク

- 4.15.12 Oracle抽象書式マスク

- 4.15.13 レポートでのシステム日付(sysdate)の表示

- 4.15.14 通貨の書式設定

- 4.15.15 フィールドへの通貨書式の適用

- 4.15.16 例: レポートでの複数の通貨書式の表示

- 4.15.17 例: 1つのレポートに複数の通貨コードを表示

- 4.16 カレンダーおよびタイム・ゾーンのサポート

- 4.16.1 カレンダの仕様

- 4.16.2 タイムゾーンの仕様

- 4.17 外部フォントの使用

- 4.17.1 BI Publisherに付属のバーコード・フォントの使用

- 4.17.2 カスタム バーコード書式の実装

- 4.17.2.1 バーコード・エンコーディング・クラスの登録

- 4.17.2.2 データのエンコード

- 4.18 コンテキスト・コマンドを使用した命令の配置の制御

- 4.19 XPathコマンドの使用

- 4.19.1 データの検索

- 4.19.2 参照の開始

- 4.19.3 コンテキストおよび親の指定

- 4.20 名前空間の宣言

- 4.21 FO要素およびXSL要素の使用

- 4.21.1 FO要素の使用

- 4.21.2 XSL要素の使用

- 4.21.2.1 テンプレート・ルールの適用

- 4.21.2.2 現行ノードのコピー

- 4.21.2.3 名前付きテンプレートのコール

- 4.21.2.4 テンプレートの宣言

- 4.21.2.5 変数の宣言

- 4.21.2.6 スタイル・シートのインポート

- 4.21.2.7 スタイルシートのルート要素の定義

- 4.21.2.8 XSL固有の数値書式設定

- 4.22 RTFテンプレートをMicrosoft PowerPoint出力用に設計するためのガイドライン

- 4.22.1 制限事項

- 4.22.2 使用上のガイドライン

- 4.22.3 PowerPoint出力のチャートについて

- 4.22.4 BI Publisherサーバー用フォントの構成

- 4.22.5 BI PublisherのTemplate Builder用フォントの構成

- 4.23 RTFテンプレートをMicrosoft Excel 2007出力用に設計するためのガイドライン

- 4.23.1 複数のシートの作成

- 4.23.2 シート名の指定

- 4.23.3 数値および日付の書式設定の指定

- 4.24 レポートでのHTML形式データのレンダリング

- 4.24.1 サポートされるHTML機能

- 4.24.2 データ・モデル要件

- 4.24.3 RTFテンプレートの要件

- 4.24.4 例

- 4.25 プリンタ・チェック用のPCLコマンドの埋込み

- 4.25.1 手順の概要

- 4.25.2 RTFテンプレートへのPCLコマンドの埋込み

- 4.25.3 仕様および制限

5 Template Builder for Wordを使用したRTFテンプレートの作成

- 5.1 概要

- 5.1.1 構成前に

- 5.1.2 前提条件および制限事項

- 5.2 はじめに

- 5.2.1 Oracle BI Publisher Template Builder for Wordの機能

- 5.2.2 テンプレートの作成とアップロード

- 5.2.2.1 接続モードでの作業

- 5.2.2.2 切断モードでの作業

- 5.3 テンプレート作成のためのデータへのアクセス

- 5.3.1 ローカル・ファイルからのXMLデータのロード

- 5.3.2 BI Publisherカタログからのデータのロード

- 5.4 テンプレートへのコンポーネントの挿入

- 5.4.1 フィールドの挿入

- 5.4.1.1 「フィールドの挿入」ダイアログについて

- 5.4.1.2 検索

- 5.4.1.3 例

- 5.4.1.4 LTR方向を強制(左から右)

- 5.4.1.5 計算

- 5.4.2 表ウィザードを使用した表の挿入

- 5.4.2.1 ステップ1: レポート・フォーマットの選択

- 5.4.2.2 ステップ2: 表データの選択

- 5.4.2.3 ステップ3: データ・フィールドの選択

- 5.4.2.4 ステップ4: 表のグループ化

- 5.4.2.5 ステップ5: グループでのブレークの挿入

- 5.4.2.6 ステップ6: 表のソート

- 5.4.2.7 ステップ7: 「終了」のクリック

- 5.4.2.8 ステップ8: Microsoft Wordの機能を使用した表のカスタマイズ

- 5.4.3 「表/フォームの挿入」ダイアログを使用した表またはフォームの挿入

- 5.4.3.1 データ・フィールドの選択

- 5.4.3.2 レイアウトの定義

- 5.4.3.3 データ・フィールドのプロパティ

- 5.4.3.4 データ・グループのプロパティ

- 5.4.3.5 表とフォームの挿入

- 5.4.3.6 グループ化

- 5.4.3.7 テンプレートに挿入するフィールドの理解

- 5.4.4 チャートの挿入

- 5.4.4.1 チャート・タイプ

- 5.4.4.2 値

- 5.4.4.3 集計

- 5.4.4.4 ラベル

- 5.4.4.5 色

- 5.4.4.6 チャートはグループ内にある

- 5.4.4.7 スタイル

- 5.4.4.8 プロパティ

- 5.4.4.9 プレビュー

- 5.4.4.10 データのグループ化

- 5.4.4.11 挿入したチャートの編集

- 5.4.5 繰返しグループの挿入

- 5.4.6 既存のブロックを囲むグループ化フィールドの作成

- 5.4.7 ピボット・テーブルの挿入

- 5.4.8 ピボット・テーブルの手動編集

- 5.4.8.1 繰返しグループへのピボット・テーブルの挿入

- 5.4.9 条件付きリージョンの挿入および編集

- 5.4.10 条件付き書式の挿入

- 5.5 テンプレートのプレビュー

- 5.6 テンプレート編集ツール

- 5.6.1 フィールド・プロパティの編集と表示

- 5.6.1.1 「プロパティ」タブについて

- 5.6.1.2 「詳細」タブについて

- 5.6.1.3 「Wordのプロパティ」ボタンについて

- 5.6.2 テンプレートの検証

- 5.6.3 フィールド・ブラウザの使用

- 5.6.4 アクセシビリティのチェック

- 5.7 BI Publisherサーバーへのテンプレートのアップロード

- 5.8 Template Builderの翻訳ツールの使用

- 5.8.1 翻訳について

- 5.8.2 翻訳のためのXLIFFファイルへのテキストの抽出

- 5.8.3 テンプレートと翻訳ファイルのプレビュー

- 5.8.4 テンプレートのローカライズ

- 5.9 Template Builderのオプションの設定

- 5.9.1 「UI」オプションの設定

- 5.9.2 「プレビュー」オプションの設定

- 5.9.3 「構築」オプションの設定

- 5.9.4 「接続」オプションの設定

- 5.10 構成ファイルの設定

- 5.11 BI Publisherメニューのリファレンス

- 5.11.1 オンライン・グループについて

- 5.11.2 「データのロード」グループについて

- 5.11.3 「挿入」グループについて

- 5.11.4 「プレビュー」グループについて

- 5.11.5 「ツール」グループについて

- 5.11.6 「オプション」グループについて

6 Excelテンプレートの作成

- 6.1 Excelテンプレートの概要

- 6.1.1 Excelテンプレートの機能

- 6.1.2 Excelテンプレートの制限事項

- 6.1.3 前提条件

- 6.1.4 サポートされている出力

- 6.1.5 Excelテンプレートのデスクトップ・ツール

- 6.1.5.1 Template Builder for Excelのインストール

- 6.1.6 Excelテンプレートのサンプル

- 6.2 テンプレートおよびデータ間のマッピングの理解

- 6.3 Template Builder for Excelの使用

- 6.3.1 接続モードでの作業

- 6.3.1.1 Template Builderを使用したログイン

- 6.3.1.2 Template Builderのオンライン機能

- 6.3.1.3 Template Builderからのテンプレートのアップロード

- 6.3.2 切断モードでの作業

- 6.3.2.1 サンプル・データの取得

- 6.3.2.2 切断モードでのサンプル・データのロード

- 6.3.2.3 レポートへのテンプレートのアップロード

- 6.3.3 フィールドの挿入

- 6.3.3.1 「フィールド」ダイアログのその他の機能

- 6.3.4 繰返しグループの挿入

- 6.3.5 表示、編集および削除の各フィールドへのフィールド・ブラウザの使用

- 6.3.6 テンプレートのプレビュー

- 6.3.7 Excelアナライザ・テンプレートのインポート

- 6.4 Template Builderを使用した基本テンプレートの構築

- 6.4.1 ステップ1: Template Builderへのサンプル・データのロード

- 6.4.2 ステップ2: Excelでのレイアウトの設計

- 6.4.3 ステップ3: Template Builderを使用したフィールドの挿入

- 6.4.4 ステップ4: Template Builderを使用した繰返しグループの挿入

- 6.4.5 ステップ5: 計算済の給与フィールドの挿入

- 6.4.6 ステップ6: テンプレートのテスト

- 6.5 日付の書式設定

- 6.6 Excelテンプレートの概念の理解

- 6.6.1 データ・フィールドおよびデータ・グループのマップ

- 6.6.2 マッピング用のExcel定義名の使用

- 6.6.3 接頭辞XDO_を使用した定義名の作成

- 6.6.4 XDO_定義名を使用したExcel固有の関数の使用

- 6.6.5 XDO_METADATAシートについて

- 6.6.5.1 XDO_METADATAシートの作成

- 6.6.5.2 XDO_METADATAシートの書式

- 6.6.5.3 XDO_METADATAシートの非表示

- 6.7 高度なBI Publisher関数の使用

- 6.7.1 レポート関数

- 6.7.1.1 複数のシートへのレポートの分割

- 6.7.1.2 パラメータの宣言と受渡し

- 6.7.1.3 リンクの定義

- 6.7.1.4 サブ・テンプレートのインポートとコール

- 6.7.1.5 Java拡張ライブラリの参照

- 6.7.2 特定のデータ属性値に依存する書式設定関数

- 6.7.2.1 罫線と下線のスタイルの定義

- 6.7.2.2 行のスキップ

- 6.7.3 グループ化関数

- 6.7.3.1 データのグループ化

- 6.7.3.2 ネストされたグループでの、生成されたXDO定義名の処理

- 6.7.3.3 データの再グループ化

- 6.8 XSL変換(XSLT)ファイルを使用したデータの前処理

- 6.8.1 XSLT前処理の例: 複数のシートへのフラット・データの分割

- 6.8.1.1 特定のフィールドによるデータの分割

- 6.8.1.2 行数によるデータの分割

- 6.9 Template Viewerを使用したテンプレートのデバッグ

7 PDFテンプレートの作成

- 7.1 概要

- 7.2 要件

- 7.3 テンプレートの設計

- 7.4 テンプレートへのマークアップの追加

- 7.5 プレースホルダの作成

- 7.5.1 プレースホルダ名の指定

- 7.5.2 テキスト・プレースホルダの作成

- 7.5.3 サポートされているフィールド・プロパティ・オプション

- 7.5.4 チェック・ボックスの作成

- 7.5.5 ラジオ・ボタン・グループの作成

- 7.6 繰返しフィールドのグループの定義

- 7.7 ページ番号および改ページの追加

- 7.7.1 ページ番号の追加

- 7.7.2 改ページの追加

- 7.8 計算の実行

- 7.9 完成したPDFレイアウトの例

- 7.10 実行時の動作

- 7.10.1 繰返しフィールドの配置

- 7.10.2 フィールドに対する更新可能または読取り専用の設定

- 7.10.3 データのオーバーフロー

- 7.11 事前定義済PDFフォームからのレイアウトの作成

- 7.11.1 PDFに定義済のフォーム・フィールドが存在するかどうかの確認

- 7.11.2 フォーム・フィールドの名前変更による定義済PDFフォームのレイアウトとしての使用

- 7.11.3 「Comb of characters」オプションの使用

- 7.12 デジタル署名用フィールドの追加または指定

- 7.12.1 署名フィールドのオプションについて

- 7.12.2 署名フィールドの追加

- 7.12.3 実行時にデジタル署名を挿入するレポートの構成

8 eTextテンプレートの作成

- 8.1 概要

- 8.1.1 前提条件

- 8.2 eTextテンプレートの構造

- 8.2.1 コマンド行、データ行およびデータ列ヘッダー行

- 8.2.2 データ列ヘッダー行

- 8.2.3 データ行

- 8.3 データ表の作成

- 8.4 コマンド行

- 8.4.1 レベル・コマンド

- 8.4.2 新規レコード・コマンド

- 8.4.3 昇順ソートおよび降順ソート・コマンド

- 8.4.4 表示条件コマンド

- 8.5 データ行の構造

- 8.5.1 位置

- 8.5.2長さ/最大長

- 8.5.3 列の書式設定

- 8.5.4 Numberデータ型

- 8.5.5 Dateデータ型

- 8.5.6 EDIデリミタベースのデータ型からeTextデータ型へのマッピング

- 8.5.7 埋込み

- 8.5.8 データ

- 8.5.9 タグ

- 8.5.10 コメント

- 8.6 設定コマンド表

- 8.6.1 TEMPLATE TYPEコマンド

- 8.6.2 DEFINE LEVELコマンド

- 8.6.3 DEFINE SEQUENCEコマンド

- 8.6.4 RESET AT LEVEL

- 8.6.5 INCREMENT BASIS

- 8.6.6 連結定義コマンド

- 8.6.7 ベース・レベル・サブコマンド

- 8.6.8 要素サブコマンド

- 8.6.9 デリミタ・サブコマンド

- 8.6.10 SUBSTR関数の使用

- 8.6.11 無効文字コマンドと置換文字コマンド

- 8.6.12 出力キャラクタ・セット・コマンドと新規レコード文字コマンド

- 8.6.13 Output Length Mode

- 8.6.14 3桁のセパレータと小数セパレータ

- 8.6.15 CASE CONVERSION

- 8.7 Filler Blockの作成

- 8.8 式、制御構造および関数

- 8.8.1 式

- 8.8.2 制御構造

- 8.8.3 関数

- 8.9 識別子、演算子およびリテラル

- 8.9.1 キーワード

- 8.9.2 コマンドおよび列ヘッダー・キーワード

- 8.9.3 コマンド・パラメータおよび関数パラメータ・キーワード

- 8.9.4 フィールドレベル・キーワード

- 8.9.5 式キーワード

- 8.9.6 演算子

- 8.9.7 XML抽出フィールドへの参照とXPATH構文

- 8.9.8 eText出力をブラウザで表示する際の注意事項

9 Flashテンプレートの作成

- 9.1 概要

- 9.1.1 Flashテンプレートを作成して表示するための前提条件

- 9.1.2 PDF出力の表示に必要な構成設定

- 9.2 Flashテンプレートの作成

- 9.2.1 データソースの追加

- 9.2.2 レイアウトの作成

- 9.2.2.1 チャートの追加

- 9.2.3 データソースへのレイアウト・オブジェクトのバインド

- 9.2.3.1 DataGridのバインド

- 9.2.3.2 チャートのバインド

- 9.3 レポート定義へのFlashテンプレートのアップロード

- 9.4 PDF出力用プロパティの設定

10 レポート処理および出力ドキュメントのプロパティの設定

- 10.1 概要

- 10.2 PDF出力のプロパティ

- 10.3 PDFセキュリティのプロパティ

- 10.4 PDFデジタル署名のプロパティ

- 10.5 PDF/A出力のプロパティ

- 10.6 PDF/X出力のプロパティ

- 10.7 RTF出力のプロパティ

- 10.8 HTML出力のプロパティ

- 10.9 FO処理のプロパティ

- 10.10 DOCX出力

- 10.11 RTFテンプレートのプロパティ

- 10.12 PDFテンプレートのプロパティ

- 10.13 Flashテンプレートのプロパティ

- 10.14 CSV出力のプロパティ

- 10.15 EXCEL 2007の出力のプロパティ

- 10.16 すべての出力

- 10.17 フォント・マッピングの定義

- 10.17.1 BI Publisherでのフォントの有効化

- 10.17.2 サイト・レベルまたはレポート・レベルでのフォント・マッピングの設定

- 10.17.3 フォント・マッピングの作成

- 10.17.4 BI Publisherの事前定義済のフォント

- 10.17.4.1 含まれているバーコード・フォント

第II部 スタイル・テンプレートとサブ・テンプレートの作成

11 スタイル・テンプレートの作成および実装

- 11.1 スタイル・テンプレートの理解

- 11.1.1 スタイル・テンプレートで定義されるスタイルについて

- 11.1.1.1 段落と見出しのスタイル

- 11.1.1.2 表のスタイル

- 11.1.1.3 ヘッダーおよびフッターのコンテンツ

- 11.1.2 スタイル・テンプレートのプロセス概要

- 11.2 スタイル・テンプレートRTFファイルの作成

- 11.2.1 段落および見出しのスタイルの定義

- 11.2.2 表のスタイルの定義

- 11.2.3 ヘッダーおよびフッターの定義

- 11.3 カタログへのスタイル・テンプレート・ファイルのアップロード

- 11.4 スタイル・テンプレートのレポート・レイアウトへの割当て

- 11.5 スタイル・テンプレートの更新

- 11.6 スタイル・テンプレート定義への翻訳の追加

12 サブ・テンプレートの理解

- 12.1 サブ・テンプレートとは

- 12.1.1 RTFサブ・テンプレートについて

- 12.1.2 XSLサブ・テンプレートについて

- 12.2 サブ・テンプレートがサポートされている場所

- 12.3 デスクトップからのサブ・テンプレートのテスト

- 12.4 カタログでのサブ・テンプレート・オブジェクトの作成

- 12.5 外部ソースからのサブ・テンプレートのコール

- 12.5.1HTTPまたはFTP経由でのカタログの外部のサブ・テンプレートのインポート

- 12.5.2 同じサーバー上のカタログの外部のサブ・テンプレートのインポート

- 12.5.3 カタログの外部に格納されているサブ・テンプレートの実行に必要な設定

13 RTFサブ・テンプレートの設計

- 13.1 RTFサブ・テンプレートの理解

- 13.2 RTFサブ・テンプレートの作成と実装処理の概要

- 13.3 RTFサブ・テンプレート・ファイルの作成

- 13.4 メイン・テンプレートからのサブ・テンプレートのコール

- 13.4.1 メイン・テンプレートへのサブ・テンプレートのインポート

- 13.4.2 サブ・テンプレートの内容をレンダリングするためのコール

- 13.4.3 ローカライズ済サブ・テンプレートのインポート

- 13.4.4 例

- 13.5 RTFサブ・テンプレートを使用する状況

- 13.5.1 共通レイアウトの再利用

- 13.5.2 データの値に基づいた条件付のレイアウト表示

- 13.5.2.1 例

- 13.5.3 パラメータ値に基づいた条件付のレイアウト表示

- 13.5.3.1 例

- 13.5.3.2 簡単な計算と計算式の繰り返し

- 13.5.3.3 例

- 13.6 RTFサブ・テンプレートへの翻訳の追加

14 XSLサブ・テンプレートの設計

- 14.1 XSLサブ・テンプレートの理解

- 14.1.1 RTFメイン・テンプレート内でXSLコードを配置する位置

- 14.2 XSLサブ・テンプレートの作成と実装処理の概要

- 14.3 XSLサブ・テンプレート・ファイルの作成

- 14.4 メイン・テンプレートからのXSLサブ・テンプレートのコール

- 14.4.1 サブ・テンプレートのインポート

- 14.4.2 サブ・テンプレートのコール

- 14.4.3 XSLサブ・テンプレートへのパラメータの引渡し

- 14.5 カタログでのサブ・テンプレート・オブジェクトの作成

- 14.6 XSLサブ・テンプレートの使用例

- 14.6.1 HTML書式によるXMLデータの処理

- 14.6.2 データの一部に対する書式設定の動的な適用

第III部 レポートとカタログ・オブジェクトの翻訳

15 翻訳サポートの概要と概念

- 15.1 翻訳サポートの概要

- 15.1.1 カタログの翻訳について

- 15.1.2 テンプレートの翻訳について

- 15.1.3 サポートされる言語について

- 15.2 翻訳ファイルの操作

- 15.2.1 XLIFFについて

- 15.2.2 XLIFFファイルの構造

- 15.2.2.1 source-languageおよびtarget-language属性

- 15.2.2.2 埋込みデータ・フィールド

- 15.2.2.3 <source>要素と<target>要素

- 15.3 ロケール選択ロジック

16 個別のテンプレートの翻訳

- 16.1 概要

- 16.2 翻訳の種類

- 16.3 XLIFFオプションの使用

- 16.3.1 テンプレートからのXLIFFの生成

- 16.3.1.1 Template BuilderからのXLIFFの生成

- 16.3.1.2 レイアウトの「プロパティ」ページからのXLIFFの生成

- 16.3.2 XLIFFの翻訳

- 16.3.3 BI Publisherへの翻訳済XLIFFのアップロード

- 16.4 ローカライズ済テンプレート・オプションの使用

- 16.4.1 ローカライズ済テンプレート・ファイルの設計

- 16.4.2 BI Publisherへのローカライズ済テンプレートのアップロード

17 カタログ・オブジェクト、データ・モデルおよびテンプレートの翻訳

- 17.1 概要

- 17.2 翻訳可能な文字列

- 17.2.1 ソース言語の制限について

- 17.3 XLIFFファイルのエクスポート

- 17.4 オブジェクト・タグの識別と更新

- 17.5 XLIFFファイルのインポート

第IV部 リファレンス情報

A 大きな出力ファイルを処理する技術

- A.1 静的コンテンツの再利用

- A.1.1 静的コンテンツの再利用とは

- A.1.2 この機能の制約

- A.1.3 RTFテンプレートでの再利用コンテンツの定義

- A.1.4 例

- A.2 Zip圧縮されたPDF出力の生成

- A.2.1 制約と前提条件

- A.2.2 設計時の考慮事項

- A.2.3 出力タイプの選択

- A.3 RTFテンプレートへのPDF分割の実装

- A.3.1 RTFテンプレートでのコマンドの入力

- A.3.2 使用例 - 部門ごとの分割

- A.4 PDFテンプレートへのPDF分割の実装

- A.4.1 PDFテンプレートでのコマンドの入力

B RTFテンプレートの拡張された関数サポート

- B.1 拡張されたSQLおよびXSL関数

- B.1.1 数値から単語への変換

- B.2 XSLの同等要素

- B.3 FO要素の使用

C アクセス可能レポートの設計

- C.1 アクセシビリティの設計

- C.1.1 一般的な情報の入手

- C.1.2 よくある誤解の回避

- C.1.3 アクセシブルなコンテンツに関する一般的なガイドラインの準拠

- C.1.3.1 色の選択

- C.1.3.2 色のコントラスト

- C.1.3.3 フォントの選択

- C.1.4 Template Builderを使用したレポート・アクセシビリティの検証

- C.2 RTFテンプレートを使用したアクセス可能レポートの設計

- C.2.1 表のネストまたは分離の回避

- C.2.1.1 例

- C.2.1.2 表ヘッダーを表ボディから分離しない

- C.2.2 ドキュメント・タイトルの定義

- C.2.3 イメージの代替テキストの定義

- C.2.4 表サマリーの定義

- C.2.5 表の列ヘッダーの定義

- C.2.6 表の行ヘッダーの定義

- C.2.7 ポートされている表のサンプル

- C.2.8 チャートの表への変換

- C.3 BI Publisherレイアウトを使用したアクセス可能レポートの設計

- C.3.1 ドキュメント・タイトルの定義

- C.3.2 イメージの代替テキストの定義

- C.3.3 サマリー表のテキストの定義

- C.3.4 表の行ヘッダーの定義

- C.3.5 テキストのヘッダー・レベルの定義

D サポートされているXSL-FO要素

- D.1 サポートされているXSL-FO要素

- D.1.1 プロパティ・グループ表

E PDF/AおよびPDF/X出力の生成

- E.1 PDF/A出力の生成

- E.1.1 要件および制限事項

- E.1.2 追加リソース

- E.2 PDF/X出力の生成

- E.2.1 前提条件

- E.2.2 要件および制限事項

- E.2.3 追加リソース

F PDFバージョンのサポート

- F.1 PDFバージョンのサポートについて

- F.2 サポートされているユーティリティ

- F.3 制限事項

- F.3.1 すべてのPDFユーティリティに適用される制限事項

- F.3.2 FormProcessorの制限事項

- F.3.3 PDFDocMergerおよびPDFBookBinderの制限事項

- F.3.4 PDFSignatureの制限事項

G カスタマイズ機能の使用

- G.1 レポートのカスタマイズについて

- G.2 カスタマイズ機能の前提条件および制限事項

- G.2.1 前提条件

- G.2.2 制限事項

- G.3 カスタマイズ機能の使用

- G.4 カスタマイズ機能の使用時の考慮事項

索引

はじめに

Oracle Business Intelligence Publisher (BI Publisher)は、レポートを作成し公開するためのアプリケーションで、複数のデータソースからのデータ抽出、レポート・データのレイアウト作成、多様な出力形式によるレポートの公開を実現します。BI Publisherを使用すると、レポートをスケジュールして、ビジネスに必要な複数の配信先にレポートを配信することもできます。

対象読者

このドキュメントは、Oracle Business Intelligence Publisherをレポートの作成、レポートの構成、翻訳の追加に使用し、またその他のBI Publisherのレポート設計機能を使用するレポート設計者および開発者向けに作成されています。

このガイドでは、レポート・レイアウトの作成方法、およびBI Publisherのレポート・エディタを使用してレポートのコンポーネントをアセンブルする方法を説明します。その他のビジネス・ロールにおける製品使用の詳細は、次の表に示すガイドを参照してください。

ロール

タスクの例

ガイド

管理者

セキュリティの構成

システム設定の構成

システム・プロセスの診断と監視

Oracle Fusion Middleware Oracle Business Intelligence Publisher管理者ガイド

アプリケーション開発者またはインテグレータ

Application Programming Interfacesを使用した、既存アプリケーションへのBI Publisherの統合

Oracle Fusion Middleware Oracle Business Intelligence Publisher開発者ガイド

レポート利用者

レポートの表示

レポート・ジョブのスケジュール

レポート・ジョブの管理

Oracle Fusion Middleware Oracle Business Intelligence Publisherユーザーズ・ガイド

データ・モデル開発者

レポートで使用するデータのフェッチと構成

Oracle Fusion Middleware Oracle Business Intelligence Publisherデータ・モデリング・ガイド

ドキュメントのアクセシビリティについて

オラクル社のアクセシビリティへの取組みの詳細は、Oracle Accessibility ProgramのWebサイトhttp://www.oracle.com/pls/topic/lookup?ctx=acc&id=docaccを参照してください。

Oracleサポートへのアクセス

Oracleカスタマは、My Oracle Supportから電子サポートにアクセスできます。詳細は、http://www.oracle.com/pls/topic/lookup?ctx=acc&id=infoまたはhttp://www.oracle.com/pls/topic/lookup?ctx=acc&id=trs (聴覚障害者向け)を参照してください。

関連ドキュメントとその他のリソース

Oracle Business Intelligenceの関連ドキュメントについては、Oracle Business Intelligenceのドキュメント・ライブラリを参照してください。

さらに、次もあります。

- Oracle Business Intelligenceに関連するオンライン・トレーニングのリソースについては、Oracle Learning Libraryを参照してください。

- 製品情報センターに関するサポート・ノート(記事ID: 1338762.1)をMy Oracle Support(https://support.oracle.com)でアクセスしてください。

システム要件と動作要件

ハードウェアとソフトウェアの要件、プラットフォーム、データベースおよびその他の情報の詳細は、システム要件と動作要件のドキュメントを参照してください。いずれのドキュメントもOracle Technology Network (OTN)から入手できます。

システム要件のドキュメントには、ハードウェアとソフトウェアの要件、ディスク領域とメモリーの最小要件、必要なシステム・ライブラリ、パッケージまたはパッチなどの情報が記載されています。

http://www.oracle.com/technetwork/middleware/ias/downloads/fusion-requirements-100147.html

動作要件のドキュメントには、サポートされているインストール・タイプ、プラットフォーム、オペレーティング・システム、データベース、JDKおよびサードパーティ製品が記載されています。

http://www.oracle.com/technetwork/middleware/ias/downloads/fusion-certification-100350.html

表記規則

このマニュアルでは次の表記規則を使用します。

規則

意味

太字

太字は、操作に関連するGraphical User Interface要素、または本文中で定義されている用語および用語集に記載されている用語を示します。

イタリック体

イタリックは、ユーザーが特定の値を指定するプレースホルダ変数を示します。

固定幅フォント

固定幅フォントは、段落内のコマンド、URL、サンプル内のコード、画面に表示されるテキスト、または入力するテキストを示します。

レポート・デザイナ向けの新規機能

ここでは、Oracle Business Intelligence Publisher 11g Release 1 (11.1.1)におけるOracle BI Publisherレポート設計機能への変更点を説明します。

この序章には、次のトピックが含まれています。

- Oracle BI Publisher 11gリリース1 (11.1.1.9)の新機能

- Oracle BI Publisher 11gリリース1 (11.1.1.7)の新機能

- Oracle BI Publisher 11gリリース1 (11.1.1.6)の新機能

- Oracle BI Publisher 11gリリース1 (11.1.1.5)の新機能

- Oracle BI Publisher 11gリリース1 (11.1.1.3)の新機能

Oracle BI Publisher 11g リリース1 (11.1.1.9)の新機能

Oracle BI Publisher 11gリリース1 (11.1.1.7.10)新機能および変更点には、次が含まれています。

Microsoft Word (.docx)出力のサポート

RTFおよびBI Publisherレイアウト・タイプでは、Wordを出力先として有効化できるようになりました。Word出力タイプは、レポート・ドキュメントをdocxファイル・フォーマットで生成します。Word出力をRTFまたはBI Publisherレイアウトで有効化するには、レポート・エディタの「出力フォーマット」オプション・リストからWordを選択します。第2.7項「リスト・ビューを使用したレイアウトの構成」を参照してください。

次の3つの出力処理のためのプロパティが追加されて、DOCX出力をサポートしています。

- 変更トラッキング有効化

- 追跡済変更のためのドキュメントの保護

- デフォルト・フォント

これらのプロパティの説明については、第10.10項「DOCX出力」を参照してください。

Oracle BI Publisher 11g リリース1 (11.1.1.7)の新機能

Oracle BI Publisher 11gリリース1 (11.1.1.7)にはレポート・デザイナ向けに次の新機能が組み込まれています。

- レポートを作成するためのOracle BIEEサブジェクト・エリアへの直接接続

- Excel Template Builderの機能拡張

- レイアウト・エディタの機能拡張

- レポートの作成ガイドの機能拡張

- RTFテンプレートにPCLコマンドを埋め込むためのPDFからPCLへの変換

- PDF 1.7仕様のサポート

レポートを作成するためのOracle BIEEサブジェクト・エリアへの直接接続

BI Publisherレポートを作成すると、BI Publisherに追加のデータ・モデルを構築しなくても、Oracle BIサーバーのサブジェクト・エリアへの直接接続を使用できます。詳細は、第2.4項「サブジェクト・エリアへの直接接続を使用するレポートの作成」を参照してください。

Excel Template Builderの機能拡張

Excel Template Builderでは、フィールドの自動挿入および繰返しグループがサポートされ、定義された名前をセルに手動で割り当てる必要がなくなります。また、BI Publisherサーバーに直接接続して、サンプル・データのダウンロード、カタログでの新規レポートの作成およびExcelセッションからのテンプレートのアップロードができます。詳細は、第6.3項「Template Builder for Excelの使用」を参照してください。

レイアウト・エディタの機能拡張

レイアウト・エディタには次の機能拡張が追加されています。

- 時系列軸の書式設定

- 軸を非表示にするオプション

- 独立した軸の書式設定

詳細は、第3.9.4項「拡張チャート機能の使用」を参照してください。

レポートの作成ガイドの機能拡張

レポートの作成ガイドでは、データ・モデルの選択からレポート・レイアウトの構成までのレポート作成プロセスを使用してレポート設計者を支援する機能が強化されています。詳細は、第2.3項「レポートの作成」を参照してください。

RTFテンプレートにPCLコマンドを埋め込むためのPDFからPCLへの変換

BI Publisherでは、PDFからPCLコンバータが提供されます。このユーティリティを使用すると、PCLコマンドをRTFテンプレートに埋め込むことが可能で、PDF出力の生成後は、配信マネージャにより、PDFをPCLに変換した後にプリンタに送信して、PCLプリンタのサポートを可能にします。この機能は、プリンタのチェックをサポートするために提供されます。詳細は、第4.25項「プリンタ・チェック用のPCLコマンドの埋込み」を参照してください。

PDF 1.7仕様のサポート

BI Publisherの11.1.1.7より前のバージョンでは、PDFユーティリティにより、すべてのPDF入力ドキュメントがPDFバージョン1.4であることを要求されました。このリリース以降は、ユーザーにより、より新しいバージョンのPDFドキュメントをBI PublisherのPDFユーティリティに渡すことができます。第7章「PDFテンプレートの作成」の説明が改訂され、この要求事項が削除されています。BI PublisherのPDF 1.7のサポートの詳細は、付録F「PDFバージョンのサポート」を参照してください。

Oracle BI Publisher 11g リリース1 (11.1.1.6)の新機能

Oracle BI Publisher 11gリリース1 (11.1.1.6)にはレポート・デザイナ向けに次の新機能が組み込まれています。

- 改善されたレポートの作成フロー

- パラメータ表示オプションの機能拡張

- データ内のHTML書式設定のサポート

- PDF/AおよびPDF/X出力のサポート

改善されたレポートの作成フロー

このリリースでは、レポート設計者の作業を向上させるプロセス・フローが導入され、レポート作成処理が効率化されています。詳細は、第2.3項「レポートの作成」を参照してください。

パラメータ表示オプションの機能拡張

パラメータ表示オプションは、次のように機能が拡張されています。

- 値に対するラジオ・ボタンおよびチェック・ボックスの表示のサポート
データ・モデルでメニューとして定義されているパラメータは、メニュー・オプションをラジオ・ボタンやチェック・ボックスのリストとして表示する構成ができるようになりました。値が1つサポートされるように構成されたパラメータは、ラジオ・ボタンとして表示するオプションがサポートされます。複数の値がサポートされるように構成されたパラメータは、チェック・ボックスとして表示するオプションがサポートされます。

- レポート・ビューアにパラメータを配置するための新しいオプション
これまでは、レポート・ビューアでは、必ずビューアの一番上にある水平リージョンにパラメータを表示していました。このリリースでは、パラメータ・リージョンの表示も、次のいずれかの方法で構成できるようになりました。

- ビューアの右側に沿った垂直リージョン

- ダイアログとして

- 独立した1ページとして

- パラメータの表示/非表示を切り替える新しいレポート・ビューア・ツールバー・オプション
このリリースでは、レポート・ビューアにツールバー・ボタンが追加され、ユーザーがパラメータ・リージョンの表示と非表示を設定できるようになりました。この機能拡張によって、新しいパラメータ表示オプションが補完されます。レポート・パラメータがダイアログとして、または独立した1ページに表示されるように構成されている場合、ビューアがレポートを表示すると、パラメータの表示リージョンが閉じられます。パラメータ・リージョンを再表示して、新たに選択を行うには、「パラメータ」ボタンを使用します。

- メニューに追加された検索
指定された個数を超えるオプションを持っているパラメータ・メニューのすべてに、「検索」オプションが提示されます。

- 「適用」ボタンを削除するオプション
レポートは、パラメータの「適用」ボタンを削除できるように構成できるようになりました。これらのレポートでは、新しいパラメータ値を選択するアクションにより、自動的にレポートが再実行されます。

これらの機能拡張について詳細は、第2.8項「レポートのパラメータ設定」を参照してください。

データ内のHTML書式設定のサポート

保存されているXHTMLをXSL-FOに変換して、生成されたレポートに、データのHTML書式を表示できるようになりました。XHTMLデータは、CDATAセクションにラップして抽出する必要があります。また、このレンダリングには、RTFテンプレートで固有の構文を使用する必要もあります。詳細は、第4.24項「レポートでのHTML形式データのレンダリング」を参照してください。

PDF/AおよびPDF/X出力のサポート

PDF/AはPDF標準の一種で、文書を長期保存するために最適化されています。PDF/Xはプロフェッショナル品質の印刷用に最適化されたPDF標準の一種です。BI Publisherでは、これら2種類の出力がサポートされるようになりました。詳細は、付録E「PDF/AおよびPDF/X出力の生成」を参照してください。

Oracle BI Publisher 11g リリース1 (11.1.1.5)の新機能

Oracle BI Publisher 11g リリース1 (11.1.1.5)の新機能には、次が含まれています。

- Excelテンプレート

- Excel Template Builder

- BI Publisherレイアウトの対話型リスト・コンポーネント

Excelテンプレート

Excelテンプレートとは、Microsoft Excelで設計し、Excel形式でエンタープライズ・データを取得するレポート・レイアウトです。Excelテンプレートでは、データの表示を制御し、特定の書式設定命令を提供するために特殊な機能が提供されます。Excelテンプレートでは、次の機能がサポートされています。

- Excel出力におけるデータの構造を定義します。

- 複数のシートで階層データを分離し、シートに動的に名前を付けます。

- マスター/ディテール関係を持つデータのシートを作成します。

- データにネイティブのXSL機能を使用して表示前に操作します。

- Excelのネイティブ機能を使用します。

詳細は、第6章「Excelテンプレートの作成」を参照してください。

Excel Template Builder

BI Publisherには、サンプル・データを使用したExcelテンプレートのプレビューを可能にするために、ダウンロード可能なExcel用のアドインが用意されています。これにより、BI Publisherカタログにアップロードする前に、テンプレートをテストおよび編集できるため設計が容易になります。Template Builder for Excelは、Template Builder for Wordのインストール時に自動的にインストールされます。ツールは、次のように、Oracle Business Intelligence PublisherまたはOracle Business Intelligence Enterprise Editionのホーム・ページからダウンロードできます。

「はじめに」リージョンで、「BI Publisherツールのダウンロード」をクリックします。

詳細は、第6.1.5項「Excelテンプレートのデスクトップ・ツール」を参照してください。

BI Publisherレイアウトの対話型リスト・コンポーネント

リスト・コンポーネントには、垂直または水平リスト内のデータ要素のすべての値が表示されます。対話モードで表示しているときに、リスト内のアイテムをクリックすると、レポート内のリンクされたコンポーネントに示された結果が更新されます。リストによって、レポート利用者は、リスト・エントリをクリックすることでリストの各アイテムの結果をすばやく見ることができます。詳細は、第3.14項「リストについて」を参照してください。

BI Publisherの「式」ダイアログの設計変更

BI Publisherレイアウト・エディタの式ダイアログの設計は、ユーザビリティを改善するために変更されました。詳細は、第3.15項「事前定義済またはカスタムの式の設定」を参照してください。

Oracle BI Publisher 11g リリース1 (11.1.1.3)の新機能

Oracle BI Publisher 11g リリース1 (11.1.1.3)の新機能には、次が含まれています。

- ユーザー・インタフェースの大幅な改良

- BIプレゼンテーション・カタログの共有

- レイアウト・エディタ設計ツール

- 対話型ビューア

- サブ・テンプレート

- スタイル・テンプレート

ユーザー・インタフェースの大幅な改良

新しいホーム・ページや再設計されたエディタやペインなど、ユーザー・インタフェースがいくつかの点で大幅に改良されました。これらの改良は、Oracle BI Publisherでの操作をより容易にし、一貫性を高めるためのものです。新しいインタフェースの操作について詳細は、『Oracle Fusion Middleware Oracle Business Intelligence Publisherユーザーズ・ガイド』を参照してください。

BIプレゼンテーション・カタログの共有

Oracle BI Enterprise EditionでのBI Publisherのインストールについて、BI Publisherでは、Oracle BIプレゼンテーション・サービスと同じカタログを共有しています。機能強化されたカタログの詳細は、『Oracle Fusion Middleware Oracle Business Intelligence Publisherユーザーズ・ガイド』を参照してください。

レイアウト・エディタ設計ツール

このリリースでは、新しいタイプのレイアウト・テンプレートおよび設計ツールを導入しています。レイアウト・エディタは、BI Publisher内から起動され、レポート・レイアウトを設計するために直観的なWYSIWIGのドラッグ・アンド・ドロップ・インタフェースを提供します。詳細は、第3章「BI Publisherレイアウト・テンプレートの作成」を参照してください。

対話型ビューア

新しいBI Publisherレイアウト・エディタで作成されたレポートでは、新しい対話型の出力タイプを利用できます。対話型ビューアにより、レポートの異なるコンポーネントで、ポップ・アップ・チャートの詳細、スクロール可能な表、表のフィルタリング、表のソート、および伝播されたフィルタリングを利用できます。この対話型操作は、レイアウト・エディタでレポートを設計するだけで実現し、追加的なコーディングは必要ありません。詳細は、第3.1項「BI Publisherレイアウトの概要」を参照してください。

サブ・テンプレート

以前は、サブ・テンプレートはBI Publisherカタログ外に格納し、外部ディレクトリから実行時にコールする必要がありました。このリリースでは、RTFとXSLのサブ・テンプレートをBI Publisherカタログのオブジェクトとして保存して管理できます。詳細は、第12章「サブ・テンプレートの理解」を参照してください。

スタイル・テンプレート

スタイル・テンプレートとは、RTFレイアウトに適用されるスタイル情報が含まれているRTFのテンプレートです。スタイル・テンプレートのスタイル情報は、実行時にRTFレイアウトに適用されて、エンタープライズ・レポート全体で一貫性のあるルック・アンド・フィールを実現します。スタイル・テンプレートは、BI Publisherカタログに保存されて管理されます。詳細は、第11章「スタイル・テンプレートの作成および実装」を参照してください。

圧縮されたPDF出力

このリリースでは、大きなPDF出力ファイルを小さくて管理しやすいファイルへと分割しながら、1つの論理単位としてレポートの完全性を維持する機能を導入しています。レポートのPDF出力の分割を有効にすると、そのレポートは複数のファイルに分割され1つのZIPファイル内に生成されます。出力タイプはPDFZです。これらのコンポーネント・ファイルに簡単にアクセスできるように、BI Publisherによってインデックス・ファイルも生成され、各コンポーネントのPDFファイルに含まれるジャンプ先およびジャンプ元の要素が指定されます。詳細は、第A.2項「圧縮されたPDF出力」を参照してください。

第I部

レポートとレイアウトの作成

この部では、レポートとレイアウトの作成方法を説明します。次の章で構成されています。

- 第1章「レポート設計の概要」

- 第2章「レポートの作成と編集」

- 第3章「BI Publisherレイアウト・テンプレートの作成」

- 第4章「RTFテンプレートの作成」

- 第5章「Template Builder for Wordを使用したRTFテンプレートの作成」

- 第6章「Excelテンプレートの作成」

- 第7章「PDFテンプレートの作成」

- 第8章「eTextテンプレートの作成」

- 第9章「Flashテンプレートの作成」

- 第10章「レポート処理および出力ドキュメントのプロパティの設定」

1 レポート設計の概要

この章では、BI Publisherレポートを構成するコンポーネントについて説明します。

この章の内容は次のとおりです。

- 第1.1項「レポート設計者向けの概要」

- 第1.2項「レイアウト・タイプについて」

- 第1.3項「ランタイム・プロパティの設定について」

- 第1.4項「翻訳について」

- 第1.5項「スタイル・テンプレートについて」

- 第1.6項「サブ・テンプレートについて」

1.1 レポート設計者向けの概要

レポートは、データ・モデル、レイアウト、および1組のプロパティから構成されています。オプションとして、レポートは、スタイル・テンプレートおよび1組の変換を含むことができます。レポート設計者が実行するタスクは、次のとおりです。

- レポートのレイアウトを設計します。レイアウトは、様々なツールを使用して作成できます。特定のレポートの出力と設計の要件によって、最適なレイアウト設計ツールが決定されます。オプションには、Webベースのレイアウト設計ツールであり、対話型の出力を実現するレイアウト・エディタ、Microsoft Word、Adobe Acrobat、Microsoft ExcelおよびAdobe Flexbuilderが含まれています。

- レポートのランタイム構成プロパティを設定する作業

- エンタープライズにおいて一貫性のあるレポートのルック・アンド・フィールを強化するために、スタイル・テンプレートを設計します。

- 複数のテンプレートで共通する機能を再使用するために、サブ・テンプレートを作成します。

- レポートの翻訳を有効化する作業

1.2 レイアウト・タイプについて

BI Publisherには、レポートのレイアウトを設計するための複数のオプションが用意されています。次の形式がサポートされています。レイアウト・タイプによって、サポートされる出力ドキュメントのタイプが決定されます。

- BI Publisherレイアウト(XPT)
BI Publisherのレイアウト・エディタは、レイアウトを作成するためのWebベースの設計ツールです。レイアウト・エディタで作成したレイアウトは、対話型の表示と、RTFレイアウトによってサポートされる出力タイプの全領域をサポートしています。

- リッチ・テキスト・フォーマット(RTF)
BI Publisherでは、Microsoft Word用のプラグイン・ユーティリティがあり、レイアウト設計が自動化され、BI Publisherに接続してデータにアクセスし、Microsoft Wordセッションからテンプレートを直接アップロードできます。また、RTF形式では、最も柔軟性があり強力なレイアウト・オプションを提供する高度な書式設定コマンドがサポートされています。RTFテンプレートでは、Excel(mhtml)、Excel(html)、Excel(*.xlsx)、HTML、MHTML、PDF、PowerPoint、RTF、圧縮PDFなどの様々な出力タイプがサポートされています。

- Portable Document Format(PDF)
PDFテンプレートは、主にレポートのレイアウトとして事前定義されたフォーム(政府機関によって規定されたフォームなど)を使用する必要があるときに使用されます。多くのPDFフォームには、すでにフォーム・フィールドが含まれているため、PDFフォームをテンプレートとして使用するには、データ要素をフォームに存在するフィールドにマップするだけです。また、PDFテンプレートは、Adobe Acrobat Professionalを使用して設計することもできます。PDFテンプレートは、PDF出力のみをサポートします。

- Microsoft Excel(XLS)
Excelテンプレートを使用すると、Excelワークブックでデータのマップ、計算および書式設定ロジックの定義を実行できます。Excelテンプレートでは、Microsoft Excel(.xls)出力のみがサポートされています。

- XSLスタイルシート
レイアウトは、XSL書式設定言語で直接定義することもできます。レイアウトの対象をData(CSV)、Data(XML)、FO形式のXML、HTML、テキストまたはXML変換で指定します。

- eText
これは、Electronic Data Interchange(EDI)トランザクションやElectronic Funds Transfer(EFT)トランザクションのテキスト出力を作成するために特化して使用するRTFテンプレートです。

- Flash
BI PublisherではFlashレイアウトがサポートされており、Adobe Flexテンプレートを開発してBI Publisherのレポートに適用し、対話型のFlash出力ドキュメントを生成することができます。

レイアウト・タイプの詳細は、第2章「レポートの作成と編集」を参照してください。

1.3 ランタイム・プロパティの設定について

BI Publisherには多様なユーザー制御による設定があり、これらは簡単にアクセスできる「プロパティ」ダイアログを使用して指定されます。これには、PDFレポートごとのセキュリティ設定、HTML出力の表示設定、フォント・マッピング、通貨の書式設定、他の出力固有の設定などがあります。詳細は、第10章「レポート処理および出力ドキュメントのプロパティの設定」を参照してください。これらはシステム・レベルで構成することもできますが、レポートごとにカスタマイズすることもできます。

1.4 翻訳について

BI Publisherには、RTFテンプレートからXLIFFファイルを作成する機能が用意されています。XLIFFとは、XML Localization Interchange File Formatのことです。これはローカライゼーション・プロバイダによって使用される標準的なフォーマットです。BI PublisherのXLIFF生成ツールを使用すると、RTFテンプレートの標準的な翻訳ファイルを生成できます。次に、このファイルを翻訳(または変換プロバイダに送信)できます。翻訳されたファイルは、該当するロケール設定のレポート定義にアップロードできるようになります。これによって、レポート実行時に、ユーザーが選択した対応ロケールの翻訳済レポートが自動的に実行されます。

詳細は、第15章「翻訳サポートの概要と概念」を参照してください。

1.5 スタイル・テンプレートについて

スタイル・テンプレートは、レイアウト・テンプレートに適用できるスタイル情報を含むRTFテンプレートです。エンタープライズ・レポート全体で一貫性のあるルック・アンド・フィールを達成するために、スタイル・テンプレートのスタイル情報は、実行時にレポート・レイアウト・テンプレートに適用されます。

詳細は、第11章「スタイル・テンプレートの作成および実装」を参照してください。

1.6 サブ・テンプレートについて

サブ・テンプレートは1つのレイアウト・テンプレート内、または複数のレイアウト・テンプレート・ファイルで、一度定義すると複数回使用できる書式設定機能です。この書式設定には、RTFファイル形式またはXSLファイル形式を使用できます。RTF形式のサブ・テンプレートは、Microsoft Wordのネイティブ機能を使用するため、容易に設計できます。XSL形式のサブ・テンプレートは、複雑なレイアウトやデータ要件の場合に使用します。

詳細は、第12章「サブ・テンプレートの理解」を参照してください。

2 レポートの作成と編集

この章では、BI Publisherレポートの作成と編集の方法について説明します。

この章の内容は次のとおりです。

- 第2.1項「レポート・コンポーネントについて」

- 第2.2項「レポートの作成: プロセスの概要」

- 第2.3項「レポートの作成」

- 第2.4項「サブジェクト・エリアへの直接接続を使用するレポートの作成」

- 第2.5項「レポートの編集」

- 第2.6項「レポート定義へのレイアウトの追加」

- 第2.7項「リスト・ビューを使用したレイアウトの構成」

- 第2.8項「レポートのパラメータ設定の構成」

- 第2.9項「レポート・プロパティの構成」

- 第2.10項「URLを介したレポートへのアクセス」

2.1 レポート・コンポーネントについて

レポートは通常、次のコンポーネントで構成されます。

- データ・モデル

- レイアウト

- プロパティ

- 翻訳

新しいレポートを作成する際の最初のステップは、レポートのデータのソースを選択することです。データ・モデルによって、レポートで使用されるデータが定義されます。データ・モデルには複数のデータセットを組み込むことができ、データ・フィールドが互いにどのように組み立てられるかが定義されます。また、どのようにデータがレポートに提供されるかを決定する、値、バースティング定義、他の構造やプロパティのリストを含むパラメータが含まれています。データ・モデルの作成の詳細は、『Oracle Fusion Middleware Oracle Business Intelligence Publisherデータ・モデリング・ガイド』を参照してください。

データソースとしてOracle Business Intelligenceサブジェクト・エリアを使用するレポートでは、別のデータ・モデルは必要ありません。詳細は、第2.4項「サブジェクト・エリアへの直接接続を使用するレポートの作成」を参照してください。

次の手順では、レポート・データのレイアウトを設計します。レイアウトによって、どのようにデータがレポートに提示されるかが定義されます。レイアウトは、テンプレート・ファイルおよびテンプレート・ファイルを表示する1組のプロパティから構成されています。BI Publisherは、Microsoft Word、Adobe Acrobat、Microsoft Excel、Adobe Flash、BI Publisherのレイアウト・エディタなど、様々なソースから作成されたテンプレートをサポートしています。レポートは、複数のレイアウトを含むことができます。

次に、レポートのプロパティを構成します。レポート・プロパティによって、レポート生成、書式設定、および表示の様々な側面を制御できます。

オプションで、レポートに翻訳を追加します。BI Publisherの翻訳サポートにより、個々のレイアウトの翻訳またはレイアウト、データ・モデルおよびレポート・メタデータにおけるすべての翻訳可能な文字列の翻訳を含めることができます。

この章では、レポート・エディタを使用してデータ・モデルの選択、レイアウトの追加、プロパティの構成によって、レポートを作成するプロセスについて説明します。レポート・コンポーネントの詳細は、次の表にリストされた項を参照してください。

表2-1 レポート・コンポーネントに関する情報

トピック

詳細情報の参照先

データ・モデルの作成

『Oracle Fusion Middleware Oracle Business Intelligence Publisherデータ・モデリング・ガイド』を参照

レイアウト・タイプの選択

"第1.2項「レイアウト・タイプについて」

特定のレイアウト・テンプレート・タイプの作成

第3章「BI Publisherレイアウト・テンプレートの作成」

第4章「RTFテンプレートの作成」

第5章「Template Builder for Wordを使用したRTFテンプレートの作成」

第6章「Excelテンプレートの作成」

第7章「PDFテンプレートの作成」

第9章「Flashテンプレートの作成」

第8章「eTextテンプレートの作成」

レポートの翻訳

第15章「翻訳サポートの概要と概念」

2.2 レポートの作成: プロセスの概要

「レポートの作成」プロセスでは、基本的なレポートの作成手順が示されます。基本的なレポートの作成後は、レポート・エディタを使用してレポートを構成し、追加のレイアウトを作成します。

「レポートの作成」プロセスによって次の手順が指示されます。

1. 「レポートの作成」ガイドを起動してデータソースを選択し、基本的なレポートを作成します。このガイドを使用して単純なレイアウトを作成するか、または後でレイアウトを追加することもできます。
第2.3項「レポートの作成」を参照してください。

2. 「レポートの作成」ガイドを使用して作成した単純なレポート・レイアウトを編集するか、新しいレイアウトを作成します。
第2.6項「レポート定義へのレイアウトの追加」を参照してください。

3. レイアウトのプロパティを構成します。
第2.7項「リスト・ビューを使用したレイアウトの構成」を参照してください。

4. レポートのパラメータを構成します。
第2.8項「レポートのパラメータ設定の構成」を参照してください。

5. レポートのプロパティを構成します。
第2.9項「レポート・プロパティの構成」を参照してください。

6. レイアウトの翻訳を追加します。レポートに複数言語のサポートが必要な場合は、このステップを実行してください。
第15章「翻訳サポートの概要と概念」を参照してください。

2.3 レポートの作成

次のいずれかの方法で、「レポートの作成」ガイドを起動します。

- グローバル・ヘッダーで、「新規」をクリックしてから「レポート」をクリックします。

- 「ホーム」ページの「作成」リージョンで、「レポート」をクリックします。

- カタログ・ツールバーで、「新規」→「レポート」をクリックします。

- 「データ・モデル」エディタ・ページで、「レポートの作成」をクリックします。

2.3.1 データソースの選択

次のオプションのいずれか1つを選択し、レポートの作成を開始します。

- データ・モデルの使用
カタログから既存のデータ・モデルを選択します。

「次」をクリックして、「ガイド」または「レポート・エディタの使用の選択」に進みます。

- スプレッドシートのアップロード
Microsoft Excelファイル(ファイル形式.xlsまたは.xlsx)をアップロードします。アップロードしたスプレッドシートに複数のシートが含まれている場合は、データソースとして使用するシートを選択します。1つのシートからのデータのみを組み込むことができます。

ワークブックで複数のシートを使用するには、まずデータ・セットとして各スプレッドシートを含むデータ・モデルを作成し、次にそのデータ・モデルをレポートのデータソースとして使用します。詳細は、『Oracle Fusion Middleware Oracle Business Intelligence Publisherデータ・モデリング・ガイド』のMicrosoft Excelファイルを使用したデータ・セットの作成に関する項を参照してください。

「次」をクリックして、「ガイド」または「レポート・エディタの使用の選択」に進みます。

- サブジェクト・エリアの使用
Oracle BIリポジトリからサブジェクト・エリアを選択します。このオプションにより、Oracle BIサーバーに直接問い合せることが可能になり、BI Publisherにデータ・モデルを作成する必要がなくなります。「レポートの作成」ガイドではサブジェクト・エリアが1つに制限されますが、レポート・エディタを使用すると複数のサブジェクト・エリアに対するレポートを作成できます。詳細は、第2.4.3項「複数のサブジェクト・エリアに対するレポートの作成」を参照してください。

「次」をクリックして、「ガイド」または「レポート・エディタの使用の選択」に進みます。

2.3.2 「ガイド」または「レポート・エディタの使用」の選択

表2-2は、「レポートの作成」ページのオプションについて説明しています。

表2-2 「ガイド」または「レポート・エディタの使用」の選択

オプション

説明

ガイド

このオプションでは、共通の事前定義済レポート・スタイルでのデータのレイアウトの定義が示されます。次の操作を行うには、このオプションを選択します。

- 単純なコンポーネントを含むレポートを作成します。

- 基本的なオプションを含む共通のレポート・スタイルを選択します。

- プレビュー・モードでデータを迅速に表示します。

レポート・レイアウトの選択を続行します。詳細は、第2.3.3項「レポート・レイアウトの選択」を参照してください。

レポート・エディタの使用

このオプションを使用すると、レポートを保存してからレポート・エディタで開くように求められます。レポートの構成を続行するか、より複雑なレイアウトを作成するには、このオプションを選択します。詳細は、第2.5項「レポートの編集」を参照してください。

2.3.3 レポート・レイアウトの選択

「ガイド」を選択すると、レポート・ページ・オプションの選択を求められます。レポートのデータソースを選択した後は、レポート・ページ・オプションおよびレポート・レイアウトを選択して、レポートでのデータの表示方法を定義します。

レポート・レイアウトを選択するには:

1. レポート・ページ・オプションを次のように選択します。

- 「縦」または「横」のページ・オプションを選択して、レポート・ページの向きを定義します。

- 「ページ・ヘッダー」オプションを選択して、レポート・ページ・ヘッダーに日付を追加します。

- 「ページ・フッター」オプションを選択して、レポート・ページ・フッターにページ番号を追加します。

2. 次のいずれかのレポート・レイアウトを選択します。

- 表(デフォルト)

- チャート

- ピボット・テーブル

- チャートと表

- チャートとピボット・テーブル

- 2つのチャートと表

3. 「次へ」をクリックして次に進みます。

2.3.4 レポート・レイアウトの列の選択

「レイアウトの選択」ページで選択したレイアウトにより、レポートを作成するために完了する必要がある残りのページが決定されます。たとえば、「表」レイアウトを選択すると、次のページに「表の作成」が表示されます。

レイアウトを選択した後は、レポートに追加するデータソース列を選択します。列を選択すると、ページに列のサンプル・データが表示されます。選択した列は、選択した順番で表示されます。

サンプル・データについては次の点に注意してください。

- データ・モデルの場合: 「レポートの作成」プロセスでは、データ・モデルに対して保存されたサンプル・データが使用されます。サンプル・データがデータ・モデルに連結されていない場合、選択された列のヘッダーにデータが表示されません。

- アップロードされたスプレッドシートの場合: 選択したスプレッドシートからサンプル・データが表示されます。

- サブジェクト・エリアの場合: サブジェクト・エリア内の列から直接サンプル・データが表示されます。

2.3.4.1 「表」レイアウト

「表の作成」ページでレイアウトに列を追加するには、「データソース」ペインから表領域に列をドラッグ・アンド・ドロップします。単純な表形式で列が表示され、図2-1に示すように、選択された列数に基づいて列幅が自動調整されます。

表から列を削除するには、列ヘッダーの右上隅にマウスを合せて「削除」をクリックします。

図2-1 「表の作成」レイアウト

「総計行の表示」オプションがデフォルトで選択されていて、すべての列の集計された要約行が自動表示されます。このオプションを選択解除すると、表からその行が削除されます。

「レポートのプレビュー」をクリックして、レポート・ビューアにレポートを表示します。

「次へ」をクリックして、「レポートの保存」に進みます。

2.3.4.2 「チャート」レイアウト

「チャート・レイアウト」ページでは、3種類のチャートがサポートされています。チャート・タイプを選択するには、「棒」、「折れ線」または「円」のアイコンをクリックします。チャートに列を追加するには、図2-2に示すように、「データソース」ペインからチャート領域に列をドラッグ・アンド・ドロップします。チャートの「値」、「系列」および「ラベル」に表示する2つの値をそれぞれ指定できます。

レイアウト・エディタでは、より複雑な様々なチャートがサポートされています。このチャートにさらに値を追加したり、別のチャート・タイプを作成したりするには、レポートの保存後に、レイアウト・エディタでそのレイアウトを編集します。レイアウト・テンプレートの作成の詳細は、第3章「BI Publisherレイアウト・テンプレートの作成」を参照してください。

図2-2 「チャートの作成」レイアウト

チャートから値を削除するには、アイテム・ラベルの右上隅にマウスを合せて「削除」をクリックします。

「レポートのプレビュー」をクリックして、レポート・ビューアにレポートを表示します。

「次へ」をクリックして、「レポートの保存」に進みます。

2.3.4.3 「チャートと表」レイアウト

チャートと表のレイアウトを選択するときは、まず「チャートの作成」ページに列を追加し、「次へ」をクリックします。すると、「表の作成」ページに、そのチャートに対して選択済の列が表示されます。このページでは、さらなる列の追加および列の削除も可能です。

「次へ」をクリックして、「レポートの保存」に進みます。

2.3.4.4 「ピボット・テーブル」レイアウト

ピボット・テーブルのレイアウトの列を選択すると、図2-3に示すように、「表の作成」ページにその列が表示されます。

図2-3 「ピボット・テーブルの作成」レイアウト

「行総計の表示」オプションがデフォルトで選択されています。このオプションを選択解除すると、各列の総計を含む表でその行が非表示になります。

「列総計の表示」オプションがデフォルトで選択されています。このオプションを選択解除すると、各行の総計を含む表でその列が非表示になります。

「行と列の切替」をクリックすると、行軸および列軸が反転します。

「レポートのプレビュー」をクリックして、レポート・ビューアにレポートを表示します。

「次へ」をクリックして、「レポートの保存」に進みます。

2.3.4.5 「チャートとピボット・テーブル」レイアウト

チャートとピボット・テーブルのレイアウトを選択するときは、まず「チャートの作成」ページに列を追加し、「次へ」をクリックします。すると、「表の作成」ページに、そのチャートに対して選択済の列が表示されます。このページでは、さらなる列の追加および列の削除も可能です。

「次へ」をクリックして、「レポートの保存」に進みます。

2.3.4.6 「2つのチャートと表」レイアウト

2つのチャートと表のレイアウトを選択するときは、まず「チャートの作成」ページに列を追加し、「次へ」をクリックします。すると、図2-4に示すように「2番目のチャートの作成」ページが表示されます。

図2-4 「2番目のチャートの作成」レイアウト

「2番目のチャートの作成」ページに列を追加し、「次へ」をクリックすると、「表の作成」ページが表示されます。「表の作成」ページには、第1のチャートですでに選択済の列が表示されます。このページでは、さらなる列の追加および列の削除も可能です。

「次へ」をクリックして、「レポートの保存」に進みます。

2.3.5 レポートの保存

レポート・レイアウトおよび追加した列を保存するには、図2-5に示すように、「レポートの保存」ページを使用します。

図2-5 「レポートの保存」ページ

次のいずれかのオプションを選択します。

- 作成したレポートを実行するには、「レポートの表示」→「終了」をクリックします。最後のページで、レポートを保存するように求められます。保存すると、BI Publisherでレポートが実行され、レポート・ビューアでレポート表示されます。

- レポート・レイアウトをカスタマイズするには、「レポート・レイアウトのカスタマイズ」→「終了」をクリックします。最後のページで、レポートを保存するように求められます。保存すると、レイアウト・エディタでレポートが開きます。

追加のレポート・オプションおよびレイアウトの詳細は、第2.5項「レポートの編集」を参照してください。

2.4 サブジェクト・エリアへの直接接続を使用するレポートの作成

サブジェクト・エリア・レポートにはOracle BIサーバーに直接発行される問合せが含まれるため、このレポートではBI Publisherデータ・モデルは使用しません。

データソースとしてサブジェクト・エリアを使用するレポートを実行すると、Oracle BIサーバーでは、レポートに選択された列に基づいてデータベースに実際に発行される問合せの数が最適化され、決定されます。

サブジェクト・エリア・レポートの作成時には次の点に注意してください。

- 「レポートの作成」ガイドを使用して、サブジェクト・エリア・レポートを作成する必要があります。

- サブジェクト・エリア・レポートに作成されるデータ・モデルはありません。BI Publisherでは、Oracle BI Enterprise Editionの定義に従ってサブジェクト・エリアの問合せを実行し、レポート・データを取得します。

- 「レポートの作成」ガイドでは、レポートごとに1つのサブジェクト・エリアのみを選択できます。複数のサブジェクト・エリアを使用するレポートを作成するには、まず「レポートの作成」ガイドを使用して単一のサブジェクト・エリアに対するレポートを作成し、次にレポート・エディタでレポートを編集してサブジェクト・エリアを追加します。詳細は、第2.4.3項「複数のサブジェクト・エリアに対するレポートの作成」を参照してください。

- サブジェクト・エリアを使用するレポートでは、BI Publisherにより、BIサーバーから送信された(サマリー作成済の)データに基づいて小計と合計が計算されます。BI Publisherではサマリー計算が実行されないため、個別のカウントおよび平均など、元の列データへのアクセスが必要な一定の関数では、BI Publisherに異なる結果が出力される可能性があります。

- Oracle BI Enterprise Editionで使用可能な階層列は、BI Publisherのサブジェクト・エリア・レポートでは使用できません。

- BIサーバー・データとExcelまたはSQL問合せなどの追加データソースの混在が必要な場合は、サブジェクト・エリア・レポートは使用できません。Oracle BIサーバーに対して1つのデータ・セットを戻すSQL問合せを発行する、レポート用のデータ・モデルを作成し、そのデータ・モデル内に追加のデータ・セットを作成する必要があります。詳細は、『Oracle Fusion Middleware Oracle Business Intelligence Publisherデータ・モデリング・ガイド』のデータ・セットの作成に関する項を参照してください。

- グラフ、表またはピボット・テーブルなどの単一レポート・コンポーネントにおいて関連しないサブジェクト・エリアから複数のフィールドをリンクする場合は、データの適切な関連付けができないためにコンポーネントのレンダリングに失敗する可能性があることに注意してください。

2.4.1 サブジェクト・エリア・レポートの作成

サブジェクト・エリア・レポートを作成するには:

1. 「レポートの作成」ガイドを起動します。

2. サブジェクト・エリアを選択します。1つのサブジェクト・エリアのみを選択できます。
複数のサブジェクト・エリアに対してレポートするには、最初のサブジェクト・エリアを選択した後に、「レポート・エディタの使用」オプションを選択し、「終了」をクリックしてレポートを保存します。次に、レポート・エディタを使用して、追加のサブジェクト・エリアを追加します。詳細は、第2.4.3項「複数のサブジェクト・エリアに対するレポートの作成」を参照してください。

3. 図2-6に示すように、列をレポートに追加します。

図2-6 サブジェクト・エリア・レポートのレイアウトの作成

レポートへの列の追加の詳細は、第2.3.4項「レポート・レイアウトの列の選択」を参照してください。

2.4.2 サブジェクト・エリア・レポートへのパラメータの追加

パラメータは通常、BI Publisherレポートのデータ・モデル内で定義されます。サブジェクト・エリアに対して直接実行されるレポートではデータ・モデルを使用しないため、レポート・エディタを使用して、サブジェクト・エリア・レポートのパラメータ定義を設定する必要があります。

Oracle BI Enterprise Editionダッシュボードでサブジェクト・エリア・レポートを使用し、かつパス・パラメータの使用が必要な場合は、『Oracle Fusion Middleware Oracle Business Intelligence Enterprise Editionユーザーズ・ガイド』のパラメータ化されたレポートでのプロンプトの使用に関する項を参照してください。

サブジェクト・エリア・レポートにパラメータを追加するには:

1. レポート・エディタで、「パラメータ」をクリックして、図2-7に示すように、「パラメータの編集」ダイアログを起動します。

図2-7 サブジェクト・エリア・レポートへのパラメータの追加

2. 「追加」をクリックして、図2-8に示すように、「パラメータを定義する列の選択」ダイアログを起動します。

図2-8 パラメータ列の選択

3. パラメータ列を選択し、「OK」をクリックして、図2-9に示すように、「パラメータの編集」ダイアログを起動します。
パラメータ列のデータ・タイプにより、「パラメータの編集」ダイアログで表示されるオプションが決定されます。

図2-9 パラメータの編集

4. レポートに表示されるパラメータ・ラベルを入力します。

5. パラメータの表示オプションを選択します。

- カレンダ: 特定の日付を入力できるフィールドおよび日付を選択するカレンダ・ポップアップがユーザーに提供されます。この表示オプションは、パラメータにデータ列タイプがある場合にのみ選択可能です。

- 選択リスト: すべてのプロンプト値の縮小されたリストがユーザーに提供されます。この表示オプションは、特定の値を検索する機能をユーザーに提供する、値の長いリストに有用です。

- チェックボックス: 全プロンプト値が表示されたリストがユーザーに提供されます。各値アイテムの前には、選択可能な小さなボックスが表示されます。この表示オプションは、小規模なデータ・セットを含むプロンプトに適しています。

- ラジオ・ボタン: 全プロンプト値が表示されたリストがユーザーに提供されます。各プロンプト値の前には、ラジオ・ボタンが表示されます。この表示オプションは、ユーザーがプロンプト値を1つのみ選択する、値の短いリストに有用です。

- テキスト: 特定のプロンプト値を入力できるフィールドがユーザーに提供されます。この表示オプションは、複数のプロンプト値には使用できません。このオプションでは、フィールドとフィールド・ラベルのみが表示されます。

6. パラメータ演算子を選択します。デフォルト値は、「次と等しい/次に存在する」に設定されています。

7. 「オプション」で、パラメータ選択のオプションを選択します。この選択オプションでは、パラメータで渡すことができる選択と、パラメータ選択を制約するかどうかを制御します。詳細は、第2.8項「レポートのパラメータ設定の構成」を参照してください。

8. 「OK」をクリックします。

2.4.3 複数のサブジェクト・エリアに対するレポートの作成

レポート・エディタを使用すると、複数のサブジェクト・エリアにレポートをリンクできます。

レポートに複数のサブジェクト・エリアを追加するには:

1. レポート・エディタを使用してレポートを開きます。左上隅に、図2-10に示すとおり、レポートにすでにリンクされたサブジェクト・エリアが表示されます。

図2-10 既存のサブジェクト・エリア

2. 「サブジェクト・エリアの編集」をクリックして、図2-11に示すように、「サブジェクト・エリアの選択」ダイアログを起動します。

図2-11 サブジェクト・エリアの選択

3. 「使用可能」ペインで、1つまたは複数のサブジェクト・エリアを選択します。

4. 「追加」をクリックして、サブジェクト・エリアを「選択済」ペインに移動します。

5. 「終了」をクリックします。

2.5 レポートの編集

図2-12には、レポート・エディタが示されています。「レポートの作成」プロセス・フローを利用するか、カタログ内のレポートの「編集」リンクをクリックして、レポート・エディタに移動します。

図2-12 「レポートの編集」ページ

レポート・エディタは、次の操作に使用します。

- レイアウトの追加

- レイアウトの構成

- レポートのパラメータの構成

- レポート・プロパティの構成

- レポートと関連付けられているデータ・モデルの更新

この手順では、リストされている順にこれらのオプションが処理されます。

2.6 レポート定義へのレイアウトの追加

新しいレイアウトを追加するには、レポート・エディタの「新規レイアウトの追加」をクリックします。「レイアウトの追加」ページを図2-13に示します。

図2-13 レイアウトの追加

レポートにレイアウトを追加するには、次の3つのオプションがあります。

- 「レイアウトの作成」: 基本的なテンプレートまたは共有テンプレートのいずれかを選択してレイアウト・エディタを起動します。

- 「レイアウトのアップロード」: サポートされているファイル・タイプの1つで設計されたテンプレート・ファイルのレイアウトをアップロードします。

- レイアウトの生成: シンプルなRTFレイアウトを自動的に生成します。

2.6.1 レイアウト・エディタを使用したレイアウトの追加

レイアウト・エディタを使用してレイアウトを追加するには手順は次のとおりです。

1. 「レイアウトの作成」リージョンで、基本的なテンプレートまたは共有テンプレートの1つをクリックしてレイアウト・エディタを起動します。共有テンプレートとは、共通レポート・コンポーネントがあらかじめ挿入されている、事前にフォーマットされたレイアウトです。

2. テンプレートを設計します。レイアウト・エディタの使用の詳細は、第3章「BI Publisherレイアウト・テンプレートの作成」を参照してください。

3. 終了したら、「保存」をクリックします。「テンプレートの保存」ダイアログでこのレイアウトの名前を入力し、ロケールを選択します。「保存」をクリックします。

4. 「戻る」をクリックしてレポート・エディタに戻ります。

5. レイアウトの設定を構成します。第2.7項「リスト・ビューを使用したレイアウトの構成」を参照してください。

2.6.2 テンプレート・ファイルのアップロードによるレイアウトの追加

テンプレート・ファイルのアップロードでは、テンプレート・ファイル(RTF、PDF、Excel、Flash、またはeText)の作成について、このガイドの指示に従っているものと想定しています。

テンプレート・ファイルをアップロードしてレイアウトを追加する手順は次のとおりです。

1. 「レイアウトのアップロードまたは生成」リージョンで、「アップロード」アイコンをクリックします。

2. 「アップロード」ダイアログで、次の操作を実行します。

- 「レイアウト名」を入力します。

- 「参照」をクリックして、ローカル・ファイル・システムでテンプレート・ファイルを見つけます。

- リストで「テンプレート・タイプ」を選択します。

- リストでテンプレート・ロケールを選択します。

- 「アップロード」をクリックします。

Template Builder経由でBI Publisherに接続されている場合は、クライアント・ツールからレイアウト・ファイルを直接アップロードできます。

詳細は、第5章「Template Builder for Wordを使用したRTFテンプレートの作成」を参照してください。

2.6.3 テンプレート・ファイルの生成によるレイアウトの追加

テンプレート・ファイルを生成してレイアウトを追加する手順は次のとおりです。

1. 「レイアウトのアップロードまたは生成」リージョンで、「生成」アイコンをクリックします。

2. 「自動生成レイアウト」ダイアログで、次を実行します。

- レイアウトの「テンプレート名」を入力します。

- 「生成」をクリックします。

自動生成機能によって、データ・モデルのすべてのフィールドが組み込まれたシンプルな表ベースのRTFレイアウトが作成されます。

注意:

自動生成レイアウト機能は、メタデータを利用できるデータ・セットのみで使用できます。このため、この機能は、格納されているXMLファイル、HTTPフィード、Webサービス、または移行されたデータ・テンプレートから生成されたデータ・セットとともには使用できません。

2.7 リスト・ビューを使用したレイアウトの構成

レポートのレイアウトを作成またはアップロードした後は、「リスト・ビュー」からレイアウトの設定を構成できます。図2-14は、「リスト・ビュー」を示しています。

図2-14 リスト・ビュー

2.7.1 レイアウトへのスタイル・テンプレートの適用

スタイル・テンプレートには、レポートの段落、見出し、表およびヘッダーとフッターに適用されるスタイル定義が含まれています。スタイル・テンプレートはオプションであり、RTFテンプレート・ファイルにのみ適用できます。

スタイル・テンプレートの作成の詳細は、第11章「スタイル・テンプレートの作成および実装」を参照してください。

レイアウトにスタイル・テンプレートを適用する場合は、「選択」をクリックし、スタイル・テンプレートを参照して選択します。次に、スタイル・テンプレートをリスト内の個々のレイアウトに適用するには、プロパティのリストでそのレイアウトの「スタイル・テンプレートの適用」ボックスを選択します。

2.7.2 レイアウト・ツールバーについて

レイアウト・ツールバーのボタンについては、表2-3で説明します。

表2-3 レイアウト・ツールバーのボタン

ツールバーのボタン

説明

作成

新しいレイアウトをアップロードまたは作成するために、レイアウトの追加ページを開きます。

編集

選択したレイアウトに対してレイアウト・エディタを起動します。このボタンはBI Publisherレイアウト(.xpt)のみに対して有効になります。

プロパティ

このレイアウトに関連付けるためにローカライズされたテンプレートおよびXLIFFファイルのアップロードを有効にするために、「プロパティ」ページを開きます。このボタンは、RTF(.rtf)およびBI Publisherレイアウト(.xpt)のみに対して有効になります。

テンプレートのローカライズの詳細は、第15章「翻訳サポートの概要と概念」を参照してください。

削除

選択されているレイアウトを削除します。

2.7.3 リスト・ビューを使用したレイアウト設定の構成

「リスト・ビュー」の設定を使用すると、レイアウトで次の設定を行うことができます。表2-4は、この設定について説明しています。

表2-4 リスト・ビューの設定

設定

説明

名前

レイアウトに新しい名前を入力するには、テキスト・ボックスにカーソルを合せます。

テンプレート・ファイル

レポート定義に保存されたファイルの名前が表示されます。ダウンロードするには、テンプレート・ファイル名をクリックします。

タイプ

テンプレート・ファイル・タイプが表示されます。

出力フォーマット

このレイアウトに対して有効にする出力タイプを選択します。デフォルトでは、レイアウトに対して有効なすべての出力タイプが有効化されます。レイアウト・タイプによって、利用できる出力タイプが決定されます。完全なリストについては、第2.7.4項「出力フォーマットの選択」を参照してください。

デフォルト・フォーマット

表示またはスケジュールするときは、このレイアウトのデフォルト出力フォーマットを選択します。

デフォルト・レイアウト

オンラインでの表示時またはスケジュール時に、このレポートがデフォルトで使用するレイアウトを選択します。この列のボックスを1つだけ選択できます。

スタイル・テンプレートの適用

スタイル・テンプレートをこのレイアウトに適用するには、このボックスを選択します。スタイル・テンプレートは、RTFテンプレート・ファイルにのみ適用できます。詳細は、第2.7.1項「レイアウトへのスタイル・テンプレートの適用」を参照してください。

アクティブ

デフォルトでは、レイアウトはアクティブです。レポート定義の一部としてレイアウトを維持しながら、利用できない状態にする場合は、このボックスの選択を解除します。レイアウトが非アクティブの場合は、レポート・ビューアまたはスケジューラに表示されません。

オンライン表示

デフォルトでは、レイアウトは、レポート・ビューアでレポートを開いたレポート利用者が利用できます。このレイアウトがスケジュール・レポートに対してのみの場合は、このボックスの選択を解除します。

ロケール

レイアウトがアップロードされたときに選択されたロケールが表示されます。このフィールドは更新できません。

2.7.4 出力フォーマットの選択

BI Publisherは、広範な出力フォーマットをサポートしています。レイアウトのタイプによって、サポートされる出力のタイプは異なります。表2-5は、使用可能なすべての出力タイプをリストしています。表2-6は、レイアウト・タイプのそれぞれで有効な出力フォーマットをリストしています。

表2-5 出力フォーマット

出力フォーマット

説明

データ(CSV)

値がカンマで区切られた出力を生成するには、このオプションを有効にします。

データ(XML)

XML出力を生成するには、このオプションを有効にします。

Excel(mhtml)

レポート・コンシューマがMicrosoft Excel 2003を持っているときに、Excelでレポートを表示するには、この出力タイプを有効にします。このオプションでは、Excel 2003以降で開くことのできるMHTML形式ファイルが生成されます。このオプションでは、チャートやロゴなどの埋込みイメージはサポートされますが、ネストされた表はサポートされません。

Excel(html)

レポート・コンシューマが以前のバージョンのMicrosoft Excel 2000または2002を実行している場合のみ、この出力タイプを有効にします。このオプションでは、Excelで開くことのできるHTMLが生成されます。埋込みイメージまたはネストされた表はサポートされません。

Excel(*.xlsx)

レポートをExcel .xlsx(Excel XMLフォーマット)で生成するには、このオプションを有効にします。レポート・コンシューマでExcel 2007以降がインストールされている場合、このオプションを使用すると、レイアウトやフォーマットを最適な状態で保持できます。

注意: この出力フォーマットでは、BI Publisherは数値や日付のフォーマットを適用しません。BI Publisherは、書式設定マスクおよび実際の値(日付または数値)をXLSX出力ファイルに保存します。この書式設定はMicrosoft Excelによって処理されます。たとえば、次のように入力します。

- Microsoft Windowsで、クライアント・コンピュータの「地域と言語」が「英語(米国)」に設定されている場合、Excel 2007の出力ファイルでは、数値と日付がen-USロケールで書式設定されます。

- Microsoft Windowsで、クライアント・コンピュータの「地域と言語」が「フランス語(フランス)」に設定されている場合、同じExcel 2007の出力ファイルがfr-FRロケールで書式設定されます。

FO形式のXML

このオプションでは、XSL-FO(Extensible Stylesheet Language Formatting Objects)ファイルを生成します。この出力タイプは、テンプレートのデバッグに役に立ちます。

HTML

ブラウザでの表示を必要とするレポートのHTML出力を有効にします。

インタラクティブ

この出力は、BI Publisherのレイアウト・エディタを使用して設計されたレイアウトでのみ使用できます。インタラクティブ出力を使用すると、レポートでチャートの値のポップアップ表示、スクロールおよびフィルタが可能な表などの対話型機能を使用できます。

MHTML

Mime Hyper Text Markup Languageを有効にします。これにより、レポート・コンシューマは、Webページとそのリソースを単一のMHTMLファイル(.mht)として保存できるようになり、このファイルには、イメージやリンク・ファイルのすべてが単一のエンティティとして保存されます。レポート・コンシューマがこのオプションを使用すると、HTML出力を送信または保存して、埋込みイメージやスタイルシートの書式設定を保持できます。

PDF

Portable Document Formatは、一般に、印刷や共有を必要とするレポートで使用されます。

PDF/A

長期の保存やアーカイブを必要とするレポートに使用します。PDF/AはPDF標準の特殊なサブセットで、自己完結型ドキュメントとしてファイルを保存することを妨げる可能性のある要素が禁止されます。

詳細は、第E.1項「PDF/A出力の生成」を参照してください。

PDF/X

印刷前のグラフィック交換用書式設定が必要なレポートに使用されます。PDF/XはPDF標準の特殊なサブセットで、高品質印刷生成出力に対応するようにドキュメントを効率化し、署名やコメント、埋込みマルチメディアなど、印刷の生成に寄与しないコンテンツを制限します。

詳細は、第E.2項「PDF/X出力の生成」を参照してください。

PowerPoint(mhtml)

この出力タイプを有効にすると、Microsoft PowerPoint 2003との互換性を持つPowerPointファイルを生成できます。Microsoft PowerPoint 2010ではこの出力タイプをサポートしないことに注意してください。かわりにPowerPoint(*.pptx)を選択してください。

PowerPoint(*.pptx)

この出力タイプを有効にすると、Microsoft Office Open XML形式でMicrosoft PowerPointファイルを生成できます。この出力タイプは、Microsoft PowerPoint 2007以降のバージョンでサポートされます。

RTF

リッチ・テキスト形式。開いて編集する必要のあるレポートの場合は、この出力フォーマットを有効にします。

テキスト

このオプションは、eTextテンプレート用のテキスト出力を生成します。テキスト出力は、eTextテンプレートでのみ使用可能です。

ワード

Microsoft Wordの.docxファイルを生成します。

圧縮PDF

BI Publisherでは、レポートのPDF出力と索引ファイルを含むzipファイルを生成できます。このオプションは、圧縮(zip化)されたPDF出力を有効にするように設計されているレイアウトでのみ使用できます。圧縮PDFを生成するレポートの設計の詳細は、第A.2項「Zip圧縮されたPDF出力の生成」を参照してください。

注意:

データ(CSV)およびデータ(XML)の出力フォーマットはすべてのレイアウト・タイプで使用できます。ただし、これらのフォーマットのいずれかを指定する場合は、レイアウトの書式設定が適用されず、出力にはデータのみが含まれます。

表2-6 レイアウト・タイプ別の有効出力フォーマット

レイアウト・タイプ

有効な出力タイプ

レイアウト・エディタを使用して作成したBI Publisherテンプレート(XPT)

データ(CSV)、データ(XML)、Excel(mhtml)、Excel(html)、FO形式のXML、HTML、インタラクティブ、MHTML、PDF、PDF/A、PDF/X、PowerPoint(mhtml)、PowerPoint(*.pptx)、RTF、Word、圧縮PDF

RTFテンプレート(RTF)

データ(CSV)、データ(XML)、Excel(mhtml)、Excel(html)、Excel(*.xlsx)、FO形式のXML、HTML、MHTML、PDF、PDF/A、PDF/X、PowerPoint(mhtml)、PowerPoint(*.pptx)、RTF、Word、圧縮PDF

PDFテンプレート(PDF)

データ(CSV)、データ(XML)、PDF、圧縮PDF

Excelテンプレート(XLS)

データ(CSV)、データ(XML)、Excel(*.xls)、Excel(html)

Flashテンプレート(SWF)

データ(CSV)、データ(XML)、Flash、MHTML、PDF

XSLスタイルシート(FO)(XSL)

RTFテンプレートと同じ出力

XSLスタイルシート(HTML XML/テキスト)(XSL)

データ(CSV)、データ(XML)、HTML、テキスト

eTextテンプレート(RTF)

データ(CSV)、データ(XML)、テキスト

Analyzerテンプレート(XPA)

(下位互換用にのみサポートされます。)Analyzerテンプレートは、BI Publisherの以前のバージョンからアップロードできます。BI Publisherの現行バージョンのオンライン・アナライザでは、レイアウト・エディタ・テンプレート(.xpt)にオンライン分析をエクスポートします。

2.7.5 レイアウトの編集

BI Publisherレイアウト(.xptファイル・タイプ)を編集する手順は次のとおりです。

1. リストからレポートを選択して、「編集」をクリックします。

その他のテンプレート・タイプを編集する手順は次のとおりです。

1. ファイル名のリンクをクリックしてローカル・コンピュータにレイアウトをダウンロードして編集します。

2.8 レポートのパラメータ設定の構成

パラメータはデータ・モデルで定義されます。レポート・エディタを使用すると、特定のデータ・モデルを使用する各レポートに専用のパラメータ設定を構成できます。

このレポートのパラメータを構成するには:

1. レポート・エディタページで「パラメータ」をクリックします。「パラメータ」ダイアログは、図2-15のように表示されます。

図2-15 「パラメータ」ダイアログ

2. 次の表示オプションを選択して、個別レポートのパラメータ設定をカスタマイズします。

パラメータの場所

このプロパティは、パラメータ・リージョンをレポート・ビューアに表示するかどうかを制御します。オプションは次のとおりです。

- 水平リージョン - レポート・ビューアの最上部に、横方向にパラメータを表示します。

- 垂直リージョン - レポート・ビューアの左端に沿って、縦方向にパラメータを表示します。

- フル・ページ - パラメータをレポート・ビューアの単独のページに表示します。ユーザーがパラメータ値を入力すると、このページは消えます。パラメータ値を変更するには、レポート・ビューアの「パラメータ」ボタンをクリックして、パラメータ・ページをもう一度表示します。

- ダイアログ - ダイアログ・ボックスを呼び出して、パラメータを表示します。ユーザーがパラメータ値を入力すると、このダイアログは閉じられます。パラメータ値を変更するには、レポート・ビューアの「パラメータ」ボタンをクリックして、ダイアログをもう一度表示します。

パラメータ・ラベルの場所

このプロパティは、パラメータ・ラベルの表示場所を制御します。オプションは次のとおりです。

- ラベルを横に配置 - 入力ボックスの左側にパラメータ・ラベルを配置します。

- ラベルを上に配置 - 入力ボックスの上にパラメータ・ラベルを配置します。

「適用」ボタンの表示

このプロパティは、レポート・ビューアでの「適用」ボタンの表示を制御します。

「True」に設定すると、パラメータ・オプション付きレポートのレポート・ビューアには「適用」ボタンが表示されます。パラメータ値を変更した場合にユーザーは「適用」をクリックし、変更後の値でレポートをレンダリングする必要があります。

「False」に設定すると、レポート・ビューアに「適用」ボタンは表示されません。そのかわり、ユーザーが新しいパラメータ値を入力する際に、新しい値が選択または入力されると、ユーザーが特に操作をしなくても、BI Publisherによってレポートが自動的にレンダリングされます。

このプロパティは、サーバー・レベルでも設定されます。常にこのサーバー設定を使用する場合は、「デフォルト」オプションを選択します。サーバー構成の詳細は、『Oracle Fusion Middleware Oracle Business Intelligence Publisher管理者ガイド』のレポート・ビューアのプロパティ設定に関する項を参照してください。

「適用」ボタンを削除するかどうかを決定するときには、基礎となるデータソースにすばやくデータを戻す能力があるかどうかを考慮してください。静的リストに基づく値のリストや、非常に高速なデータソースでは、「適用」ボタンをオフにすることが理想的です。値リストの基礎となるデータソースの問合せに時間がかかる場合、またはレポートをレンダリングする前に、多数のパラメータ値の設定と調整が行われる場合には、「適用」ボタンを保持することをお薦めします。

表示

このプロパティは、パラメータをユーザーに表示するかどうかを制御します。データ・モデルに渡されるパラメータ値をユーザーに表示したり、変更されたりしたくない場合は、「表示」プロパティを無効にします。

タイプ

このプロパティは、メニュー・タイプのパラメータでのみカスタマイズできます。メニュー・タイプのパラメータでは、次の表示オプションを使用できます。

- チェックボックス
パラメータで複数選択が許可されている(複数 = True)場合、このオプションを使用できます。チェック・ボックス・タイプでは、レポートのパラメータ・リージョンにメニュー・オプションがすべて表示されます。図2-16に示すとおり、ユーザーは複数選択を行うことができます。

図2-16 チェック・ボックスとして表示されたメニュー

- ラジオ・ボタン
パラメータで単一選択のみ許可されている(複数 = False)場合、このオプションを使用できます。ラジオ・ボタン・タイプでは、レポートのパラメータ・リージョンにメニュー・オプションがすべて表示されます。図2-17に示すとおり、ユーザーは項目を1つのみ選択できます。

図2-17 ラジオ・ボタンとして表示されたメニュー

ヒント:

「チェックボックス」および「ラジオ・ボタン」オプションは、値リストが小さい場合のメニューに最適です。これらのオプションは、「パラメータの場所」が「垂直リージョン」である場合にも問題なく表示されます。

複数

このプロパティは読取り専用で、特定のメニュー・パラメータについて複数の値を選択できるかどうかを示しています。

表示ラベル

各パラメータの表示ラベルを編集するには、このプロパティを使用します。デフォルト値はデータ・モデルに定義されています。

デフォルト値

特定のレポート専用として使用されるパラメータのデフォルト値を構成するには、このプロパティを使用します。データ・モデルで定義されたデフォルト値を渡すには、「デフォルト」を選択します。

行配置

パラメータを表示する行数、および各パラメータの配置先となる行を設定するにはこのプロパティを使用します。たとえば、レポートで6個のパラメータが使用されている場合、行1を先頭に、パラメータを行1-6に1個ずつ割り当てることも、行1、2、3にパラメータを2個ずつ割り当てることもできます。デフォルトでは、すべてのパラメータが行1に割当てられます。

ただし、「パラメータの場所」プロパティが「垂直リージョン」に設定されている場合、1行につき1パラメータのみ表示されます。行を垂直方向に並べるには、「行配置」プロパティを使用します。

2.9 レポートのプロパティの構成

ページ・ヘッダーの「プロパティ」をクリックして「レポート・プロパティ」ダイアログを開きます。図2-18は「レポート・プロパティ」ダイアログを示しています。

図2-18 「レポート・プロパティ」ダイアログ

「レポート・プロパティ」ダイアログには、次のオプションが表示されています。

- 一般: レポートの一般的なプロパティを設定します。

- キャッシュ: このレポートのキャッシュ・オプションを指定します。

- 書式設定: レポートの実行時構成プロパティを設定します。これらのプロパティの設定の詳細は、第10章「レポート処理および出力ドキュメントのプロパティの設定」を参照してください。

- フォント・マッピング: このレポートのフォント・マッピングを作成します。

- 通貨書式: このレポートの通貨書式を定義します。

2.9.1 一般的なプロパティの設定

「一般」タブのプロパティを次のように設定します。

2.9.1.1 説明

(オプション)カタログにレポートとともに表示する説明を入力します。このテキストは翻訳可能です。

2.9.1.2 レポート・オンラインの実行

オンラインのレポート・ビューアでこのレポートをユーザーに見せたくない場合は、このプロパティを無効にします。無効にすると、ユーザーはレポートのスケジュールのみ可能になります。ほとんどのレポートでは、これは有効な状態で保持します。長時間実行、バッチ、またはオンライン表示が適切でない他のレポートでは無効にします。このプロパティが有効の場合、表2-7で説明されているプロパティも設定できます。

表2-7 「レポートの実行」プロパティ

プロパティ

説明

デフォルト

コントロールの表示

このプロパティは、レポートの制御リージョンの表示を制御します。制御リージョンは、テンプレート・リスト、出力リスト、およびパラメータ・リストから構成されています。これらのオプションをユーザーに見られたり、更新されたりしたくない場合は、このプロパティを無効にします。

有効

レポート・リンクの共有許可

レポート・ビューアの「アクション」メニューには、「レポート・リンクの共有」オプションがあり、現在のレポートのURLを表示できます。ユーザーにレポート・リンクを見られたり、コピーされたりしたくない場合は、このプロパティを無効にします。

有効

新規ウィンドウでリンクを開く

このプロパティは、レポートに含まれているリンクを開く方法を制御します。デフォルトでは、リンクは新しいブラウザ・ウィンドウで開きます。同じブラウザ・ウィンドウでリンクを開くには、このプロパティを無効にします。

有効

非同期モード

非同期モードで実行されるレポートをレポート・ビューアで実行した場合は、一意のスレッドを使用して実行されます。これにより、ユーザーがレポートの実行をキャンセルした場合、BI Publisherはスレッドを完全に終了できます。ただし、このプロパティを有効にすると、パフォーマンスに影響が及ぶことがあリます。

無効

自動実行

このプロパティを有効にした場合、ユーザーがレポートの 「開く」リンクを選択すると、レポートが自動的に実行されます。「自動実行」が無効の場合は、レポートの「開く」リンクを選択するとオンライン・ビューアが表示されますが、レポートは実行されません。ユーザーは、レポートを実行するために「レポートの表示」メニューから出力タイプを選択する必要があります。

有効

2.9.1.3 拡張オプション

表2-8は「拡張オプション」プロパティの説明です。

表2-8 レポート・プロパティの拡張オプションの説明

プロパティ

説明

バースティング有効化

レポート出力のバースティングを有効化するには、このボックスを選択し、リストから適切なバースティング定義を選択します。レポートがスケジュールされると、スケジューラ内で選択したバースティング定義が有効になります。

バースティング定義は、データ・モデルのコンポーネントです。詳細は、『Oracle Fusion Middleware Oracle Business Intelligence Publisherデータ・モデリング・ガイド』のバースティング定義の追加に関する項を参照してください。

レポートは外部アプリケーションにより制御されます。ユーザーはカタログからレポートを実行またはスケジュールできませんが、履歴は表示できます。

BI Publisherが、レポートの実行を制御する別のアプリケーションと統合されているときに、このレポートのカタログからの直接実行や表示をユーザーに許可しない場合は、このオプションを有効にします。BI Publisherによって実行されるレポートは、BI Publisher履歴表に格納され、ユーザーは「レポート・ジョブ履歴」ページから完了したレポートを表示できます。

エンタープライズ・スケジューラ・ジョブ・パッケージ名

このプロパティは、Oracle Fusionアプリケーションの実装にのみ適用されます。

エンタープライズ・スケジューラ・ジョブ定義名

このプロパティは、Oracle Fusionアプリケーションの実装にのみ適用されます。

2.9.2 キャッシュ・プロパティの設定

図2-19は「キャッシュ」タブを示しています。

図2-19 「キャッシュ」タブ

表2-9は「キャッシュ」タブのプロパティを説明しています。

表2-9 キャッシュのプロパティ

変数

説明

デフォルト

データ・キャッシュの有効化

このプロパティを有効にすると、このレポートのオンライン送信によって生成されたデータが、キャッシュに格納されます。同じパラメータ選択でこのレポートを実行する後続のリクエストは、キャッシュに格納されているデータを使用してレポートを表示します。この設定によって、ソースからデータを再生成するかわりに、レポートの生成に格納されているデータを使用することによって、パフォーマンスが向上します。データは、キャッシュ期間プロパティで指定された時間制限に従って、キャッシュ内に保持されます。「ユーザー・レベル」プロパティを設定することによって、レポートのキャッシュをユーザーが共有するかどうかを制御できます。データ・キャッシュが有効の場合は、次のプロパティを設定できます。

無効

キャッシュ期間(分)

レポートのデータ・セットまたはドキュメントをキャッシュに残す時間制限を入力します。時間制限が期限切れになると、同じレポートの次回のリクエストでは、新しいデータ・セットが生成されます。

30分

ユーザー・レベル

このプロパティではユーザーのそれぞれに個別のキャッシュが保存されます。各ユーザーに表示されるレポート・データは、プライベート・キャッシュからのみ取得されます。有効にすると、このプロパティによって、各ユーザーは表示が許可されたデータのみ表示できます。しかし、ユーザー・レベルのキャッシュは、効率のパフォーマンスが劣ります。レポート・データがユーザー依存でない場合は、このプロパティを無効にしてパフォーマンスを向上できます。

有効

ドキュメント・キャッシュ

レポート・ドキュメントをキャッシュするには、このプロパティを有効にします。ドキュメント・キャッシュが有効化されている場合、ユーザーがレポートをオンラインで表示すると、ドキュメント(データとレイアウト)がキャッシュに配置されます。(「ユーザー・レベル」が有効でなければ)他のユーザーがオンライン・ビューアを使用して同じレポート(同じレイアウト、同じ出力タイプ、同じパラメータ選択)を表示すると、そのドキュメントはキャッシュから取得されます。ドキュメントは、指定されたキャッシュ期間に従ってキャッシュ内で保持されます。スケジュール・レポートでは、ドキュメント・キャッシュは使用されません。

有効

ユーザーはレポート・データをリフレッシュできます

このプロパティを有効にした場合、ユーザーは要求に応じてデータをリフレッシュできます。ユーザーがレポート・ビューアで「リフレッシュ」をクリックすると、BI Publisherは、新しいデータ・セットを生成してレポートに使用します。

無効

2.9.3 書式設定プロパティの設定

書式設定プロパティ・タブでは、レポート・レベルで実行時プロパティを設定できます。これらのプロパティは、「管理」ページからシステム・レベルで設定することもできます。書式設定プロパティ・タブには、システム・レベルの設定と、各プロパティのレポート・レベルの設定が表示されます。各レベルで異なる値が設定された場合は、レポート・レベルが優先されます。

各プロパティの詳細は、第10章「レポート処理および出力ドキュメントのプロパティの設定」を参照してください。

2.9.4 フォント・マッピングの構成

BI Publisherのフォント・マッピング機能では、RTFまたはPDFのテンプレートでベース・フォントを公開ドキュメントで使用されるターゲット・フォントにマップできます。フォント・マッピングは、レポート・レベルまたはシステムレベルで設定できます。レポート・プロパティの「フォント・マッピング」タブを表示すると、システム・レベルの設定がすべて表示されます。このレポートの設定を変更するには、ここでフォント・マッピングを編集します。

フォント・マッピングの詳細は、第10.17項「フォント・マッピングの定義」を参照してください。

フォント・マッピングを作成する手順は次のとおりです。

1. 「RTFテンプレート」または「PDFテンプレート」で、「フォント・マッピングの追加」を選択します。

2. 「フォント・マッピングの追加」ページで、次を入力します。

- ベース・フォント: 新しいフォントにマップするフォント・ファミリを入力します。たとえば、Arialと入力します。

- スタイル: 「標準」または「斜体」を選択します(「PDFテンプレート」フォント・マッピングには適用されません)。

- 重み: 「標準」または「太字」を選択します(「PDFテンプレート」フォント・マッピングには適用されません)。

- ターゲット・フォント・ファイル: 「Type 1」または「Truetype」を選択します。

- 「ターゲット・フォント」を入力します。
「Truetype」を選択した場合、コレクション内の特定の番号付きフォントを入力できます。目的のフォントの「TrueTypeコレクション(TTC)番号」を入力します。

事前定義済フォントのリストは、第10.17.4項「BI Publisherの事前定義済のフォント」を参照してください。

2.9.5 通貨書式の構成

「通貨書式」タブでは、レポートに、複数の通貨を対応する書式設定で表示できるように、特定の通貨に数値書式マスクをマップできます。通貨書式は、RTFおよびXSL-FOテンプレートのみでサポートされています。

通貨書式は、レポート・レベルまたはシステム・レベルで設定できます。レポート・プロパティの「通貨書式」タブを表示すると、システムレベルの設定が表示されます。このレポートの設定を変更するには、ここで通貨書式を編集します。

RTFテンプレートでこれらの通貨書式を適用するには、format-currency関数を使用する必要があります。詳細な手順は、第4.15.14項「通貨の書式設定」を参照してください。

通貨書式を追加するには:

1. 「追加」アイコンをクリックします。

2. USD、JPY、EUR、GBP、INRのように、ISO通貨コードを入力します。

3. この通貨に対して適用する書式マスクを入力します。
書式マスクは、Oracleの数値書式である必要があります。Oracleの数値書式では、たとえば、「9」、「0」、「D」、および「G」という要素を使用して9G999D00のような書式を構成します。

説明:

9がデータに存在するときは、表示数を表します。

Gは、グループ・セパレータを表します。

Dは、小数点セパレータを表します。

0は、着信データにかかわらず明示的に表示される数値を示します。

これらの書式マスク・コンポーネントの詳細は、第4.15.6項「Oracle書式マスクの使用」を参照してください。

図2-20は、通貨書式の例を示しています。

図2-20 通貨書式の例

2.10 URLを介したレポートへのアクセス

この項では、BI Publisherレポートを、ポータルやApplication Expressアプリケーションなどの別のアプリケーションからURLを介してコールする方法について説明します。内容は次のとおりです。

2.10.1 セキュリティ上の考慮事項

BI Publisherセキュリティ・モデルでは、レポートがフォルダに配置され、そのフォルダはロールによって保護されます。また、ロールはユーザーに割り当てられます。ユーザーがレポートにアクセスするには、そのレポートを表示するための資格証明がBI Publisher内でユーザーに対して付与されている必要があります。そのために、次の2つのオプションがあります。

- 「ゲスト」フォルダの使用
「ゲスト」フォルダ内のレポートは、すべてのユーザーが表示および実行できます。レポートに機密データが含まれていない場合は、このオプションを使用します。「セキュリティ・センター」ページの「セキュリティ構成」タブで、「ゲスト」フォルダを有効にします。詳細は、『Oracle Fusion Middleware Oracle Business Intelligence Publisher管理者ガイド』のゲスト・ユーザーの有効化に関する項を参照してください。

- SSOの使用
SSOサーバーで呼出し側アプリケーションとBI Publisherの両方がパートナ・アプリケーションとして構成されている場合は、ユーザーにレポートの表示または実行権限があれば、URLを介して任意のレポートを呼び出すことが可能であり、BI Publisherでは、ユーザーのログインを必要とせずにレポートがレンダリングされます。セキュリティ・オプションの設定の詳細は、『Oracle Fusion Middleware Oracle Business Intelligence Publisher管理者ガイド』のシングル・サインオンの構成に関する項を参照してください。

2.10.2 URLの作成

レポートの基本URLは次のとおりです。

http://<server:port>/xmlpserver/<ReportDirectory>/<ReportName>.xdo

説明:

server:port: BI Publisherが実行されているサーバーおよびポート番号の名前です。
xmlpserver: 必要な静的文字列(アプリケーション名)です。
ReportDirectory: レポートへのフォルダ・パスです。レポートが「共有フォルダ」内にある場合は、パスにShared Foldersを含めないでください。レポートが「マイ・フォルダ」内にある場合は、パス内の最初のノードとして~usernameを追加します。次の例を参照してください。
ReportName.xdoは、.xdo拡張子付きのレポート名です。名前に空白がある場合は、その空白をプラス文字(+)に置き換えてください。

例:

次のURLでは、North America Salesレポートを起動します。このレポートは、Shared Folders/Samples/Salesの下のカタログに存在します。「Shared Folders」はパスに含まれていないことに注意してください。

http://example.com:7001/xmlpserver/Samples/Sales/North+America+Sales.xdo

次のURLでは、My Folders/Samples/Salesの下のカタログにあるNorth America Salesレポートを起動します。この場合のユーザー名は「weblogic」であるため、パス内の最初のノードは~weblogicになることに注意してください。

http://example.com:7001/xmlpserver/~weblogic/Samples/Sales/North+America+Sales.xdo

2.10.3 URLでのパラメータの指定

前述の例では、すべてのレポート・コントロールを使用してBI Publisherレポート・ビューア内に完全なレポートをレンダリングしています。レポートのレンダリングには、デフォルト・レイアウト、デフォルト出力形式およびデフォルト・パラメータが使用されています。パラメータをURLに追加すると、レポートのレンダリング方法を指定できます。

URLを構成するときは、標準URL構文(?は最初のパラメータを示し、&は追加の各パラメータを示しています)に留意してください。

次の表では、URLに追加可能なその他のパラメータについて説明しています。

パラメータ

定義

使用例

_xpt

BI Publisherレポート・ビューアにレポートをレンダリングするか、出力タイプに適した新規ウィンドウにドキュメントをエクスポートするかを指定します。たとえば、指定された出力タイプがhtmlの場合は、レポート・ドキュメント(のみ)がブラウザ・ウィンドウにレンダリングされ、出力タイプがPDFの場合は、PDFドキュメントを保存するか、開くことが求められます。このパラメータが指定されていない場合は、BI Publisherレポート・ビューアにレポートがレンダリングされます。

有効な値は次のとおりです。

- 0: BI Publisherレポート・ビューアにレポートがレンダリングされます。

- 1: 適切なアプリケーション・ウィンドウにドキュメントがエクスポートされます。

_xpt=0

_xdo

(オプション)レポートへのパスを指定します。

_xdo=%2FSamples%2FSalary+Report.xdo

_xt

使用するレイアウトを指定します。レポート定義内の定義に従ってレイアウト名を入力します。無効な名前が入力された場合は、デフォルト・レイアウトが使用されます。

_xt=Manager+Summary

_xf

出力形式を指定します。値が指定されていない場合は、デフォルトの出力形式が使用されます。無効な値が指定されるか、レイアウトで有効化されていない値が指定された場合は、レポートはレンダリングされません。有効な値は次のとおりです。

- analyze: インタラクティブ出力に使用

- rtf

- docx

- pdf

- html

- pptx: PowerPoint 2007に使用

- ppt: PowerPointに使用

- xml: データに使用

- excel: Excelに使用

- excel2000: Excel 2000に使用

- xslx: Excel 2007に使用

- csv

_xf=pdf

データ・モデル内で指定されているレポート・パラメータ

レポートに固有のパラメータの名前-値ペアを指定します。データ・モデルで定義されているパラメータ名を使用する必要があります。

dept=10

_xmode

レポート・ビューア・モードを指定します。指定されていない場合は、デフォルトでフル・レポート・ビューアのビューが設定されます。有効な値は次のとおりです。

- 0: フル・レポート・ビューアのビュー。

- 1: BI Publisherバナーを非表示にする、パラメータを非表示にする、レイアウトを変更できる。その他のアクションはエクスポートのみ。

- 2: BI Publisherバナーを非表示にする。(ヘッダーなし)

- 3: BI Publisherバナーを非表示にする、パラメータを非表示にする。(パラメータなし)

- 4: レポート・ドキュメントのみ。BI Publisherバナーを非表示にする、パラメータを非表示にする、その他のアクションを非表示にする、レイアウトを非表示にする。(ドキュメントのみ)

_xmode=1

例:

http://example.com:7001/xmlpserver/Samples/Salary+Report.xdo?_xpt=0&_xdo=%2FSamples%2FSalary%20Report.xdo&_xmode=4&dept=10&_xt=Simple&_xf=html

このURLでは、Shared Folders/Samplesの下にあるレポートのSalary Reportを実行します。次の点に注意してください。

_xpt=0では、レポート・ビューアにドキュメントがレンダリングされます。

_xdo=%2FSamples%2FSalary%20Report.xdoでは、レポートのパスを定義します。

_xmode=4では、ドキュメントのみがレンダリングされます。

dept=10では、レポート固有のパラメータのdeptが10に設定されます。

_xt=Simpleでは、Simpleという名前のレイアウトが使用されます。

_xf=htmlでは、出力形式がhtmlに設定されます。

3 BI Publisherレイアウト・テンプレートの作成

この章では、レイアウト・エディタを使用したBI Publisherレイアウト・テンプレートの作成について説明します。

この章の内容は次のとおりです。

- 第3.1項「BI Publisherレイアウトの概要」

- 第3.2項「レイアウト・エディタの起動」

- 第3.3項「レイアウト・エディタ・インタフェースについて」

- 第3.4項「ページ・レイアウト・タブ」

- 第3.5項「レイアウト・コンポーネントの挿入」

- 第3.6項「レイアウト・グリッドについて」

- 第3.7項「繰返しセクションについて」

- 第3.8項「データ表について」

- 第3.9項「チャートについて」

- 第3.10項「ゲージ・チャートについて」

- 第3.11項「ピボット・テーブルについて」

- 第3.12項「テキスト項目について」

- 第3.13項「イメージについて」

- 第3.14項「リストについて」

- 第3.15項「事前定義済またはカスタムの式の設定」

- 第3.16項「レイアウトの保存」

3.1 BI Publisherレイアウトの概要

Oracle BI Publisherのリリース11gでは、新しいタイプのレイアウト・テンプレートを導入しています。BI Publisherレイアウト・テンプレートを使用して、エンド・ユーザーは次のことを実行できます。

- 動的HTMLの出力を表示し、ブラウザ内からレポート・データに対して軽量の対話処理を実行

- PDF、RTF、Excel、PowerPointおよび静的HTMLに、忠実度の高いピクセル対応のレポートを生成

BI Publisherレイアウト・テンプレートは、BI Publisher レイアウト・エディタ(PDF、RTF、Excel、Word、PowerPointおよびHTMLでピクセル対応のレポートを作成するためのWYSIWIGのドラッグ・アンド・ドロップ・インタフェース)を使用して作成されます。また、ブラウザを介した軽量の対話処理をサポートする動的HTML出力を提供します。このインタラクティブ出力は図3-1に示されています。

図3-1 インタラクティブ出力の例

次の機能に注意してください。

- ポップアップ・チャートの詳細: チャートのアイテム上にカーソルを合せると、データの詳細が表示されます。

- グループ・フィルタ: グループ化されたリージョンを、グループ化要素によってフィルタリングできます。

- スクロール可能な表: ヘッダーと合計の表示を維持しながら、表データをスクロールできます。

- 表の列のソート: ビューア内から複数の列を基準にして表データをソートできます。

- 表の列のフィルタリング: ビューア内から表データを複数の列の値でフィルタリングできます。

- 表の自動合計機能: 表データの合計がレイアウトに自動的に追加されます。

- フィルタの伝播: チャートの領域をクリックしたり、ピボット・テーブルのヘッダー、列または要素をクリックすることにより、他のコンポーネントをフィルタリングします。

- ドキュメントの領域の縮小および拡張

3.1.1 BI Publisherレイアウトを使用するタイミング

BI Publisherレイアウトは、カスタム・コーディングを必要としない簡単なレポートや中程度の複雑さを持つレポートに最適なものとなっています。動的HTML表示は、BI Publisherレイアウトでのみ可能なため、レポート利用者がレポートに対して対話処理(ソートの変更、フィルタの適用など)ができることを要求された場合には、BI Publisherレイアウトを使用する必要があります。

3.1.2 前提条件、推奨事項および制限事項

- レイアウト・エディタを使用するには、レポート・レイアウト・ツールへのアクセスに適切な権限を含むロールがアカウントに付与されている必要があります。

- 新しいレイアウトを作成するには、事前にデータ・モデルにサンプル・データを添付しておく必要があります。データ・モデルにサンプル・データを追加する方法の詳細は、『Oracle Fusion Middleware Oracle Business Intelligence Publisherデータ・モデリング・ガイド』のデータ・モデルのテストおよびサンプル・データの生成に関する項を参照してください。

- 最適な表示のためには、表示解像度を1024 x 768以上に設定します。

- BI Publisherは、インタラクティブなソートおよびフィルタの操作で大量のデータを処理し、迅速に応答することができます。しかし、最適なパフォーマンスを求めるユーザーの利益を考慮すると、データ・モデルでデータをサマライズすることが最善の方法です。BI Publisherレイアウトは、PDFまたはRTFドキュメントのような静的出力を、RTFレイアウトと比較してデータによっては50%速く生成することができます。

- レイアウト・エディタは、XMLデータの名前空間や属性をサポートしていません。

3.2 レイアウト・エディタの起動

レイアウト・エディタは次のいずれかの方法で起動します。

- 第3.2.1項「新規レポートを作成する場合」

- 第3.2.2項「レポートを編集する場合」

- 第3.2.3項「レポートを表示する場合」

3.2.1 新規レポートを作成する場合

新規レポートの作成時にレイアウト・エディタを起動する手順は次のとおりです。

1. 新規レポートのデータ・モデルを選択します。
レポート・エディタに「レイアウトの追加」ページが表示されます。

2. 「レイアウトの作成」リージョンから、事前定義済のテンプレートをクリックして、レイアウト・エディタを起動します。

3.2.2 レポートを編集する場合

レポートの編集時にレイアウト・エディタを起動する手順は次のとおりです。

1. レポート・エディタで、
サムネイル・ビューから、「新規レイアウトの追加」をクリックします。

または

「リスト」ビューから、レイアウト表ツールバー上の「作成」ボタンをクリックします。

2. 「レイアウトの作成」リージョンから、使用する事前定義済のテンプレートをクリックして、レイアウト・エディタを起動します。

3.2.3 レポートを表示する場合

レポートの表示時にレイアウト・エディタを起動する手順は次のとおりです。

1. 「アクション」をクリックして、次に「レイアウトの編集」をクリックします。
レイアウトはレイアウト・エディタで作成しておく必要があります。

3.2.4 事前定義済レイアウトの選択

新しいレイアウトを作成する場合は、作業の開始に便利な事前定義済レイアウトを選択するオプションが示されます。図3-2は、基本テンプレートおよび共有テンプレートで提供される事前定義済レイアウトを示します。

図3-2 事前定義済レイアウト

基本テンプレートおよび共有テンプレートは、特定のコンポーネントがすでに追加されている一般的なレイアウト構造を提供します。事前定義済のレイアウトのいずれかを選択することがオプションとなっており、これによりレイアウト設計を容易に行うことができます。企業で、ここで使用できない一般的な設計を利用している場合は、ユーザー独自の用途の事前定義済レイアウトを追加したり、管理者がすべてのユーザー向けのレイアウトを追加することもできます。

3.2.4.1 すべてのユーザー向けの共有テンプレートの追加

すべてのユーザーがアクセスする共有ディレクトリに、事前定義済のレイアウト・ファイルを追加するには:

1. Administrator権限でログインし、カタログに移動します。

2. 「共有フォルダ」ディレクトリで、「コンポーネント」フォルダを開きます。

3. ボイラープレート・レポートを見つけて、「編集」をクリックします。

4. 「新規レイアウトの追加」をクリックします。

5. レイアウトを設計またはアップロードします。
レイアウトを設計するには: 既存のボイラープレート(または空白)をクリックして、レイアウト・エディタを起動します。レイアウトにコンポーネントを挿入します。終了したら、「保存」をクリックして、ボイラープレートに名前を付けます。このレイアウトは、すべてのユーザーの「共有テンプレート」リージョンに表示されるようになります。

レイアウトをアップロードするには: 「アップロード」をクリックして、事前定義済のBI Publisherテンプレート(.xptファイル)をアップロードします。

6. レポートを保存します。

このレポートに追加されたBI Publisherテンプレート(.xpt)はすべて、共有テンプレートとしてすべてのユーザーに表示されます。

3.2.4.2 個人用の事前定義済レイアウトの追加

アカウント・ユーザーのみが利用できる事前定義済のレイアウトを追加するには:

1. 「マイ・フォルダ」に移動します。

2. ボイラープレートと呼ばれる新しいレポートを作成します。このレポートに、データ・モデルはありません。

3. 「新規レイアウトの追加」をクリックします。

4. レイアウトを設計またはアップロードします。
レイアウトを設計するには: 既存のボイラープレート(または空白)をクリックして、レイアウト・エディタを起動します。レイアウトにコンポーネントを挿入します。終了したら、「保存」をクリックして、ボイラープレートに名前を付けます。

レイアウトをアップロードするには: 「アップロード」をクリックして、事前定義済のBI Publisherテンプレート(.xptファイル)をアップロードします。

これらのレイアウトは、新しいレイアウトを作成するときに「個人のテンプレート」リージョンに表示されます。

3.3 レイアウト・エディタ・インタフェースについて

図3-3はレイアウト・エディタを示しています。

図3-3 レイアウト・エディタ

レイアウト・エディタ・インタフェースは、次のもので構成されます。

- レイアウト・エディタの最上部には、次の2つのツールバーが含まれています。

- 静的ツールバーは常に使用可能であり、保存やプレビューなどの一般的なコマンドが含まれています。第3.3.4項「静的ツールバーについて」を参照してください。

- タブ付きツールバーには、「挿入」タブ、「ページ・レイアウト」タブおよび動的タブが含まれています。動的タブには、選択されたレイアウト・コンポーネントに対して最も一般的に使用されるアクションやコマンドが表示されます。このツールバーを閉じて、設計領域を表示するスペースを拡大できます。第3.3.5項「タブ付きツールバーについて」を参照してください。

- 左側のアコーディオン・ペインには、次のものが含まれています。

- 「データソース」ペインでは、レイアウト・コンポーネントにドラッグするデータ・フィールドを選択できます。

- 「コンポーネント」ペインでは、レイアウト・コンポーネントを選択して、設計領域にドラッグできます。また、このペインを閉じると、「挿入」タブを使用して、コンポーネントを挿入することができます。

- 「プロパティ」ペインでは、選択したレイアウト・コンポーネントのプロパティを変更できます。

各コントロールを開いて表示するには、コントロールのタイトルをクリックするか、またはコントロールのタイトルの隣にあるプラス記号をクリックします。アコーディオン・ペイン全体を閉じて、レイアウトを表示する空きスペースを増やすことができます。

- 右下のリージョンは、レイアウトを作成するための設計領域です。

3.3.1 「データソース」ペインについて

「データソース」ペインには、データ・モデルの構造と、レイアウトに挿入できるデータ要素が表示されます。

データ要素を挿入するには、「データソース」ペインから選択して、レイアウト内のコンポーネントにドラッグします。

各フィールドのデータ型(数値、日付または文字列)は、適切なアイコンによって表されます。

図3-4は「データソース」ペインを示しています。各要素の横にあるアイコンは、データ型を示しています。

図3-4 「データソース」ペイン

JOB_TITLE要素は文字列データ型として、SALARY要素は数値データ型として、HIRE_DATE要素は日付データ型として表示されています。

注意:

レイアウト・エディタに日付を入力する場合は(フィルタまたは条件付き書式設定におけるデータ比較など)、XSL日付または時刻書式(YYYY-MM-DDまたはYYYY-MM-DDTHH:MM:SS)のいずれかを使用します。

3.3.2 「コンポーネント」ペインについて

「コンポーネント」ペインには、レポートに挿入できるレイアウト・コンポーネントが含まれています。これらのコンポーネントには、チャート、ピボット・テーブルおよびイメージがあります。コンポーネントを挿入するには、レイアウトにドラッグ・アンド・ドロップします。

「挿入」メニューを使用して、レイアウトにコンポーネントを追加することもできます。

図3-5は「コンポーネント」ペインを示しています。

図3-5 「コンポーネント」ペイン

3.3.3 「プロパティ」ペインについて

「プロパティ」ペインには、選択したコンポーネントのプロパティが表示されます。表示されるプロパティは、選択したコンポーネントによって決まります。「プロパティ」ペインで参照可能なプロパティの中には、コンポーネントに対する動的タブで編集可能なものもあります。

プロパティの値をクリックすると編集できます。カーソルをフィールドの外に移動すると、変更内容がコンポーネントに適用されます。プロパティのグループを開いたり閉じたりするには、グループ名の側にあるプラス記号またはマイナス記号をクリックします。

各コンポーネントの使用可能なプロパティは、この章のそのコンポーネントに該当するセクションで詳細に説明されています。プロパティ・フィールドが空白の場合は、デフォルトが使用されます。

図3-6は、表の列のヘッダーに対応する「プロパティ」ペインの例を示しています。

図3-6 表の列のヘッダーに対応する「プロパティ」ペインの例

3.3.4 静的ツールバーについて

静的ツールバーは、図3-7に示すように、タブ付きツールバーの両側に伸びています。

図3-7 静的ツールバー

静的ツールバーでは、次の機能を実行できます。

- 操作の取消しとやり直し

- アイテムの切取り、コピーおよび貼付け

- 対話モード、HTML、PDF、Microsoft Word (RTF)、Microsoft Excel、Microsoft PowerPointまたはMicrosoft PowerPoint 2007でプレビュー

- 前のページに戻る

- 新しいレイアウトの作成

- レイアウトのオープン

- レイアウトの保存

- レイアウトを新しいコピーとして別名で保存

3.3.5 タブ付きツールバーについて

タブ付きツールバーには、次のタブが含まれています。

- 「挿入」タブは、レイアウトに配置できるコンポーネントおよびページ要素を提供します。第3.5項「レイアウト・コンポーネントの挿入」を参照してください。

- 「ページ・レイアウト」タブは、一般的なページレベルのツールおよびコマンドを提供します。第3.4項「「ページ・レイアウト」タブ」を参照してください。

- コンポーネント固有のタブは、レイアウトに選択されるコンポーネントに対して最も一般的に使用されるコマンドおよびプロパティを提供します。たとえば、チャートを選択すると、「チャート」タブが表示されます。コマンドの詳細は、個別のコンポーネントに関するセクションを参照してください。
選択したコンポーネントに対してさらに多くのプロパティを設定または制御するには、第3.3.3項「プロパティ・ペインについて」で説明されているように、アコーディオン・ペインで「プロパティ」ペインを開きます。

3.3.5.1 レイアウト・オブジェクトの選択および削除

コンポーネント固有のタブにはそれぞれ、「選択」リージョンが含まれています。

- 「選択」ツールを使用すると、レイアウト上のどのコンポーネントに焦点を当てるかを正確に制御することができます。この機能は、特に、複数のコンポーネントが重なり合う複雑なレイアウトで作業する場合に役に立ちます。たとえば、表を選択する場合、正しい箇所をクリックして、列やヘッダー・セルではなく表を選択することが難しいことがあります。不要なクリックを避けるには、「選択」ツールを使用してリストから「表」コンポーネントを正確に選択します。
図3-8は「選択」ツールを示しています。

図3-8 「選択」ツール

- 「削除」ツールは、「選択」ツールと同様の機能を提供し、削除するコンポーネントを正確に選択できます。

3.3.5.2 「挿入」タブについて

「挿入」タブは、レポート・コンポーネントおよびページ要素の挿入に使用します。図3-9は「挿入」タブを示しています。

図3-9 「挿入」タブ

「コンポーネント」グループには、レイアウトへの挿入が可能なレポート・コンポーネントが表示されます。コンポーネントを挿入するには、アイテムを選択して設計領域の目的の場所にドラッグします。各コンポーネントの詳細は、この章の該当するセクションを参照してください。

「ページ要素」グループには、レポートのページレベルの要素が含まれています。改ページ、ページ番号または合計ページ数の計算を挿入するには、コンポーネントを選択してレイアウト内の目的の場所にドラッグします。

注意:

ページ要素は、PDFやRTFなどの、ページ区切りのある出力タイプを対象としています。これらを対話モードやHTMLの出力で使用すると、予期しない結果が生じることがあります。

3.4 「ページ・レイアウト」タブ

図3-10は「ページ・レイアウト」タブを示しています。

図3-10 「ページ・レイアウト」タブ

「ページ・レイアウト」タブには、レイアウトをセットアップするコマンドが含まれています。

3.4.1 用紙オプション

表3-1は、用紙オプションについて説明しています。

表3-1 用紙オプション

オプション

説明

向き

「縦」または「横」を選択します。

用紙サイズ

用紙サイズのオプション(レター、リーガル、A4、A3、エグゼクティブ、B5、Com-10、モナークDLまたはC5)から選択します。用紙サイズにより、レイアウト領域の寸法が決まります。

3.4.2 ヘッダー/フッターのオプション

表3-2は、ヘッダーおよびフッターのオプションについて説明しています。

表3-2 ヘッダー/フッターのオプション

オプション

説明

ページ・ヘッダー

クリックすると、レイアウトにページ・ヘッダーが挿入されます。デフォルトでは、ページ・ヘッダーは印刷されたレポートのすべてのページに表示されますが、最初のページをスキップするように構成することもできます。ページ・ヘッダーを削除するには、「ページ・ヘッダー」を再度クリックします。

ページ・フッター

クリックすると、レイアウトにページ・フッターが挿入されます。デフォルトでは、ページ・フッターは印刷されたレポートのすべてのページに表示されますが、最後のページをスキップするように構成することもできます。ページ・フッターを削除するには、「ページ・フッター」を再度クリックします。

レポート・ヘッダー

クリックすると、レイアウトにレポート・ヘッダーが挿入されます。レポート・ヘッダーは、レポートの始めに一度だけ表示されます。レポート・ヘッダーを削除するには、「レポート・ヘッダー」を再度クリックします。

レポート・フッター

クリックすると、レイアウトにレポート・フッターが挿入されます。レポート・フッターは、レポートの最後に一度だけ表示されます。レポート・フッターを削除するには、「レポート・フッター」を再度クリックします。

3.4.2.1 ヘッダーおよびフッターのプロパティの設定

「プロパティ」ペインを使用すると、ヘッダーおよびフッターに次のプロパティを設定することができます。「プロパティ」ペインにアクセスするには、設計領域でヘッダーまたはフッターを選択して、ページの左側のアコーディオン・ペインから「プロパティ」を選択します。

すべてのレポートおよびページ・ヘッダーおよびフッターの場合:

- 「高さ」: ヘッダー・リージョンの高さを、ピクセル、ポイント、cmまたはインチ単位で設定します。

ヘッダーの場合:

- 「最初のページに表示」: 最初のページにヘッダーを表示するには、「True」を選択します。最初のページからヘッダーを抑制するには、「False」を選択します。
図3-11は、レポート・ヘッダーのプロパティを示しています。

図3-11 レポート・ヘッダーのプロパティ

フッターの場合:

- 「最後のページに表示」: 最後のページにフッターを表示するには、「True」を選択します。最後のページからフッターを抑制するには、「False」を選択します。

3.4.3 表示オプション

表3-3は、表示オプションについて説明しています。

表3-3 表示オプション

オプション

説明

グリッド

クリックすると、レイアウト設計領域にグリッド線が挿入されます。グリッド単位のサイズは、選択した「表示単位」によって異なります。グリッド線を削除するには、「グリッド」を再度クリックします。

ルーラー

クリックすると、レイアウト設計領域の最上部に表示ルーラーが挿入されます。ルーラーの単位は、選択した「表示単位」によって異なります。ルーラーを削除するには、「ルーラー」を再度クリックします。

3.4.4 表示単位

表示する測定単位を選択します。この単位は、ルーラーとグリッドのビュー・オプションおよび測定値を表示するその他の機能(境界幅の設定やグリッド・セルのサイズ設定など)に使用されます。オプションは、インチ、px (ピクセル)、cm (センチメートル)およびポイント(pt)です。

3.4.5 対話処理: イベント構成

「イベントの構成」機能を使用すると、インタラクティブ・モードでレポートを表示する際に、ユーザーがトリガーしたイベントに対してレイアウトのコンポーネントがどのように応答するかを構成できます。

イベントには次の2種類があります。

- 「フィルタ」: リスト、チャートまたはピボット・テーブル内で要素をクリックすると、その要素を使用して、レポート内のターゲットとして定義された他のコンポーネントが動的にフィルタリングされます。クリックされているコンポーネントは変更されません。

- 「選択項目のみ表示」: リスト、チャートまたはピボット・テーブル内で要素をクリックすると、(クリックされた)チャートまたはピボット・テーブルに、選択した要素の結果のみが表示されます。この操作は、レポートの他のコンポーネントに影響を与えません。

3.4.5.1 フィルタ・イベント構成の例

図3-12はフィルタ・イベント構成の例を示しています。このレイアウトには、2つのチャートと1つの表が含まれています。1つ目のチャートには、円グラフで部門別給与合計が示されています。2つ目のチャートには、棒グラフでマネージャ別給与合計が示されています。表には、従業員と彼らの給与が一覧表示されています。

図3-12 フィルタ・イベント構成の例

このレポートで、ユーザーが部門別給与チャートの値をクリックした場合に、選択した部門のマネージャと従業員のみが表示されるように、マネージャ別給与チャートと従業員表が自動的にフィルタリングされるようにしたいとします。

図3-13には、ユーザーが部門別給与円グラフの販売部門セクションをクリックしたときに実行される自動フィルタリングが示されています。マネージャ別給与チャートは、販売部門に所属するマネージャのみが表示されるように、自動的にフィルタリングされています。従業員表は、販売部門の従業員のみが表示されるように、自動的にフィルタリングされています。

図3-13 自動フィルタリングの例

3.4.5.2 自動フィルタリングの構成

自動フィルタリングを構成する手順は次のとおりです。

1. 「ページ・レイアウト」タブで、「イベントの構成」をクリックすると、「イベントの構成」ダイアログが表示されます。
図3-14は「イベントの構成」ダイアログを示しています。

図3-14 「イベントの構成」ダイアログ

2. 「コンポーネント」列で、レイアウト・コンポーネントをクリックします(リスト、チャートおよびピボット・テーブルは構成可能です)。

3. 「フィルタ」を選択して、他のレポート・コンポーネントの自動フィルタリングを有効にします。

4. 「ターゲット」列のレポート・コンポーネントを選択して、選択したコンポーネントの対話イベントに基づいて自動フィルタリングを有効にします。ターゲット・コンポーネントの自動フィルタリングを無効にするには、チェック・ボックスの選択を解除します。
上図では、レイアウト内のChart 1に対して「フィルタ」イベントが有効になっていることが示されています。Chart 1で選択イベントが発生したときに自動フィルタリングを有効にするターゲットとして、Chart 2およびTable 3が選択されています。

Chart 1に対しては「選択項目のみ表示」オプションが有効になっていなません。つまり、Chart 1では、その要素のいずれかが選択された場合でも引き続きすべての値が表示されます。

3.4.5.3 例: 選択項目のみ表示

「選択項目のみ表示」イベントでは、(影響を受ける)チャートまたはピボット・テーブル内に選択した要素の値のみが表示されます。

図3-15の例では、Chart 2が「選択項目のみ表示」を有効にして構成され、Table 3をターゲットとして「フィルタ」が有効になっています。

図3-15 「選択項目のみ表示」の例

この構成の結果、出力は図3-16のようになります。ユーザーがChart 2をクリックすると、Chart 2に選択した値のみが表示されます。Table 3に対しては「フィルタ」イベントが有効になっているので、Table 3にフィルタとして選択内容が適用されます。

図3-16 「選択項目のみ表示」構成からの出力の例

3.4.6 ページ・マージンの設定

レポートにページ・マージンを設定する手順は次のとおりです。

1. 挿入されたコンポーネント以外の設計領域の任意の場所をクリックします。

2. レイアウト・エディタの左下にある「プロパティ」ペインをクリックします。図3-17は、このページのプロパティを示しています。

図3-17 このページのプロパティ

3. 「マージン」に対して示された値をクリックして、「マージン」ダイアログを起動します。
図3-18は「マージン」ダイアログを示しています。

図3-18 「マージン」ダイアログ

4. マージンに対して目的のサイズを選択します。上下左右のマージンに対して値を入力します。
すべての面に同じ値を自動的に設定するには、「すべての面に同じ値を使用」チェック・ボックスを選択します。この操作により、「上」マージン・エントリを除いてすべてが無効になります。「上」の値を入力すると、すべての面に適用されます。

3.4.7 インタラクティブ・モード・レポートに対する最大接続数の設定

インタラクティブ・ビューアでは、ブラウザからサーバーへの接続数を制限できます。接続が多いと速くなりますが、サーバーの負荷が増えます。デフォルトの接続は、6つです。大規模なレポートで、サーバーにかかる負荷を軽減するには、この数を減らします。

このレイアウトに対して最大接続数を設定するには:

1. 挿入されたコンポーネント以外の設計領域の任意の場所をクリックします。

2. レイアウト・エディタの左下にある「プロパティ」ペインをクリックします。図3-19は、このページのプロパティを示しています。

図3-19 このページのプロパティ

3. 図3-20に示されているように、「最大接続数」 に示された値をクリックし、リストから目的の値を選択します。

図3-20 「最大接続数」の例

3.5 レイアウト・コンポーネントの挿入

レイアウト・エディタは、レポートやその他のビジネス文書で通常使用されているコンポーネントをサポートしています。以降のセクションでは、次のコンポーネントについて説明しています。

- 第3.6項「レイアウト・グリッドについて」

- 第3.7項「繰返しセクションについて」

- 第3.8項「データ表について」

- 第3.9項「チャートについて」

- 第3.10項「ゲージ・チャートについて」

- 第3.11項「ピボット・テーブルについて」

- 第3.12項「テキスト項目について」

- 第3.13項「イメージについて」

- 第3.14項「リストについて」

3.6 レイアウト・グリッドについて

レイアウト・グリッドは、レイアウトを複数のセクションに分割する方法を提供します。HTMLやWord文書の表と同様に機能し、フォームを作成したり、高度なレイアウトを実現することができます。レイアウト・グリッドを使用すると、レイアウト内の他のすべてのコンポーネントの正確な配置を制御できます。

レイアウト・グリッドを作成する手順は次のとおりです。

1. レイアウト・グリッド・コンポーネントを選択して、設計領域にドラッグします。

図3-21は、「レイアウト・グリッドの作成」ダイアログを示しています。

図3-21 「レイアウト・グリッドの作成」ダイアログ

ダイアログでグリッドの行数と列数を入力し、「OK」をクリックすると、図3-22に示すように設計領域にグリッドが挿入されます。

図3-22 設計領域に挿入されたグリッドの例

レイアウト・グリッドについては次の点に注意してください。

- グリッドの列は等間隔に配置されており、行のサイズのデフォルト値は、最小限のテキスト行数である1に設定されています。

- レイアウト・グリッド・セルに対してはフォントのプロパティを設定できませんが(個別のコンポーネントのプロパティを使用してフォントのプロパティを設定します)、背景色と境界線のプロパティを設定できます。

- グリッド・セルにコンポーネントを挿入すると、セル内にコンポーネントが収まるように自動的にサイズが調整されます。

- 列の幅と高さを調整するには、マウス・ポインタを境界線上に配置して青色のバーをドラッグするか、または「プロパティ」ペインでグリッド列のプロパティを変更します。

- グリッドは複数セルの結合をサポートしています。

- グリッド内にグリッドを挿入できます。

- Microsoft Wordと同様に、グリッドでは、ビジネス文書を作成するのに非常に便利なフロー・レイアウトを使用しています。パラグラフ全体またはブロック全体を占めていないコンポーネントは、上から下、左から右に配置されます。

3.6.1 境界線または背景色の追加

デフォルトでは、グリッド線は設計領域にのみ表示され、実行時には表示されません。完成したレポートにグリッド線を表示する場合は、グリッド・セルを選択して、「境界線の設定」コマンド・ボタンをクリックし、枠線ダイアログを起動します。

セルに背景色を追加するには:

1. 「背景色」コマンド・ボタンをクリックして、カラー・ピッカーを起動します。

3.6.2 挿入オプションについて

レイアウト・グリッドを挿入したときに、追加の行または列を追加できます。焦点となるレイアウト・グリッド・セルを選択して、次に示す適切なコマンド・ボタンをクリックします。

- 「上に行を追加」

- 「右側に列を追加」

- 「下に行を追加」

- 「左側に列を追加」

3.6.3 結合/結合解除オプションについて

複数のセルを水平方向または垂直方向に結合する手順は次のとおりです。

1. [Ctrl]キーを押しながら各グリッド・セルをクリックして、隣り合う複数のセルを選択します。

2. 「結合」コマンド・ボタンをクリックします。

結合されているセルを結合解除する手順は次のとおりです。

1. 結合されているセルを選択して、結合解除ボタンをクリックします。

3.6.4 拡張および縮小オプションの追加

対話モードでレポートを表示する際には、レイアウト・グリッドの拡張および縮小がサポートされます。グリッド・レベル(セル・レベルではない)では、拡張および縮小がサポートされているので、グリッドを適切に挿入できます。たとえば、レポートのレイアウトの上部にチャート、下部に表があり、チャートの表示を縮小できるようにする場合は、チャートを含むレイアウト・グリッドを1つ挿入し、表を含む1つ目のレイアウト・グリッドの下に2つ目のレイアウト・グリッドを挿入する必要があります。2つの行を持つ1つのグリッドを挿入しないでください。

拡張および縮小オプションを有効にするには:

1. レイアウト・グリッドを選択します。

2. 「プロパティ」ペインを開きます。

3. 「インタラクティブ: 拡張/縮小」プロパティを「True」に設定します。図3-23は、「プロパティ」ペイン上でのこのオプションの表示を示しています。

図3-23 「インタラクティブ: 拡張/縮小」プロパティ

図3-24は、インタラクティブ・モードでレポートを表示した場合の拡張および縮小動作を示しています。この図の最上部には、レポートの右上部にある縮小アイコンが表示されています。このアイコンをクリックすると、グリッドが縮小されます。図の下部は、リージョンが縮小されたレポートを示しています。

図3-24 拡張および縮小動作の例

3.7 繰返しセクションについて

繰返しセクション機能により、データ内での要素の出現に基づき、レイアウトのセクション内でコンポーネントを繰り返すことができます。繰返しセクションを使用すると、従来の帯状のレポートだけでなく、異なるデータ要素に対して繰返しページまたは繰返しセクションを作成することができます(「グループ上」/「アウトライン」など)。

繰返しセクションを作成するには:

1. 繰返しセクション・コンポーネントをレイアウトにドラッグ・アンド・ドロップします。

2. 「繰返しセクション」ダイアログで、次のいずれかを選択します。

- 要素: セクションを繰り返す要素を指定します。たとえばデータ・セットに、複数の国の販売情報が含まれるとします。繰返し要素としてCOUNTRYを選択した場合、データセット内で一意の国が出現するたびに、そのレイアウトのセクションが繰り返されます。

- グループの詳細: 複数のセクションがネストされている場合には、このオプションを選択します。上の例を続けるために、各都市に対して複数の一意のデータ行があると仮定して、国ごとにグループ化すると、このオプションにより1つのセクションが作成され、各都市に対して繰返されます。

図3-25は、部門(Department)要素に対して繰返しセクションが定義されているレイアウトを示しています。この繰返しセクション内には、マネージャ別給与を示すチャートと、全従業員の給与を示す表があります。したがってデータセット内に部門が出現するたびに、このチャートと表が繰り返されます。

図3-25 部門(Department)要素に繰返しセクションが定義されたレイアウトの例

3.7.1 繰返しセクションに対する改ページ・オプションの設定

デフォルトでは、ページ区切りされた出力タイプの場合、1ページに収まるコンテンツ量に応じて自動的に改ページされます。多くの場合、繰り返されるコンテンツが出現するたびに、レポートを改ページするのが望ましいと考えられます。

前述の例の場合、このレポートのPDF出力で、各部門の後に改ページを配置することが適切になります。

繰返しセクションが出現するたびにレポートを改ページするには:

1. 繰返しセクション・コンポーネントを選択します。

2. 「プロパティ」ペインを開きます。

3. 「改ページ」プロパティを「ページ」に設定します。
図3-26は、繰返しセクションのプロパティを示しています。

図3-26 繰返しセクションのプロパティ

3.7.2 インタラクティブ・モードにおける繰返しセクションの表示方法

対話モードでは、要素別の繰返しに対する値が、値のリストとして表示されます。これにより、レポート利用者は結果を動的に選択して表示することができます。

図3-27は、値リストに表示される要素Departmentごとの繰返しを示しています。

図3-27 値リストに表示された要素Departmentごとの繰返し

比較として、図3-28に同じレイアウトをPDFで表示したものを示します。この例では、改ページ・オプションが設定によって、新しい部門が出現するたびに、新しいページで繰返しセクションが開始されます。

図3-28 PDFに表示された要素Departmentごとの繰返し

3.7.3 繰返しセクションにおけるすべての値の表示

対話モードでは、要素別の繰返しに対する値が、値のリストとして表示されます。デフォルトでは、このリストには、データ内の要素に対して存在する値のみが含まれます。したがって、レポート利用者は一度に1つのアイテムの結果しか表示することができません。

レポート利用者が繰返しセクションに要素のすべての値に対する結果を表示できるようにするために、繰返しセクション・コンポーネントには、「すべて表示」プロパティが用意されています。このプロパティをtrueに設定すると、値「すべて」がリストに追加され、すべての値の結果を表示できるようになります。

「すべて表示」を有効にするには:

1. 繰返しセクション・コンポーネントを選択します。

2. 「プロパティ」ペインを開きます。

3. 「すべて表示」プロパティを「True」に設定します。
図3-29は、「プロパティ」ペインの「すべて表示」設定を示しています。

図3-29 「プロパティ」ペインの「すべて表示」設定

レポートを表示すると、図3-30に示すように、オプション「すべて」が値のメニューに追加されます。

図3-30 値のメニューに追加されたオプション「すべて」

3.8 データ表について

データ表は、多くのレイアウトに表示される標準的な表です。ヘッダー、データ列および合計行が含まれています。データ表は、同じ値を持つフィールドを結合する「グループ左」機能(アウトライン)だけでなく、小計、総計、カスタム計算および累積合計をサポートしています。

一旦挿入されると、動的タブまたは「プロパティ」ペインを使用して表のプロパティを編集できます。表のコンポーネントに対して、次の動的タブが使用可能です。

- 表

- 表の列のヘッダー

- 列

- セル合計

この項では、表の操作に関する次の項目について説明します。

- 第3.8.1項「データ表の挿入」

- 第3.8.2項「交互に異なる行の色の設定」

- 第3.8.3項「「表」タブについて」

- 第3.8.4項「「表の列のヘッダー」タブについて」

- 第3.8.5項「「列」タブについて」

- 第3.8.6項「「セル合計」タブについて」

- 第3.8.7項「動的ハイパーリンクの挿入」

3.8.1 データ表の挿入

データ表を挿入する手順は次のとおりです。

1. 「挿入」タブから、「データ表」コンポーネントを選択して、設計領域にドラッグします。
図3-31は、挿入された、空のデータ表を示しています。「表」タブが表示されていることに注意してください。

図3-31 挿入された、空のデータ表の例

2. 表にデータ列を追加するには、「データソース」ペインから要素を選択し、レイアウト内の表にドラッグします。

注意:

データ・モデルがリンクされていないかぎり、レポート・コンポーネントの複数のデータ・モデルからの要素の追加はできません。詳細は、『Oracle Fusion Middleware Oracle Business Intelligence Publisherデータ・モデリング・ガイド』の要素レベル・リンクの作成に関する項を参照してください。

図3-32は、表に追加される列を示しています。表に列をドロップすると、ただちにサンプル・データが表示されることがわかります。

図3-32 表に追加された列の例

3. 続けて、「データソース」ペインから要素をドラッグして、表の列を構成します。すでに追加されている列の位置を変更する必要がある場合には、その列を選択して、正しい位置にドラッグします。
図3-33は、完成したデータ表を示しています。

図3-33 完成したデータ表の例

次のデフォルト動作に注意してください。

- 合計行が自動的に挿入されます。デフォルトでは、列内のアイテムの合計が計算されます。この行を削除したり、適用された表示および計算を編集できます。「「セル合計」タブについて」を参照してください。

- デフォルトの日付の書式設定が適用されます。デフォルトの書式設定を変更するには、「「列」タブについて」を参照してください。

- デフォルトの数値の書式設定と整列が適用されます。デフォルトの書式設定を変更するには、第3.8.5項 「「列」タブについて」を参照してください。

3.8.2 交互に異なる行の色の設定

図3-34に示すように、データ表には、行ごとに色が交互するように表示すると読みやすくなるものがあります。

図3-34 交互に異なる色で表示される行の例

交互する行の色を設定するには:

1. 表を選択します。

2. 「プロパティ」ペインを開きます。

3. 「代替行の色」に対して示された値をクリックして、カラー・ピッカーを起動します。図3-35に「代替行の色」オプションを示します。

図3-35 「代替行の色」オプション

4. 色を選択して、「OK」をクリックします。

3.8.3 「表」タブについて

「表」タブを使用すると、次のことを実行できます。

- 表示する行数の設定

- 表に表示するデータに対するフィルタの定義

- 条件およびその条件を満たす行に適用される書式の定義

- 表に対する合計行の表示または非表示

図3-36は「表」タブを示しています。

図3-36 「表」タブ

3.8.3.1 「表示する行」オプション

「表示する行」プロパティは、次のように表示されるデータの行数を制御します。

- レイアウトの設計時に、このプロパティで、レイアウト・エディタ内の表に表示される行数を設定します。

- 対話モードでレポート・ビューア内にこのレイアウトを表示する際、このプロパティで、表に対するスクロール可能なリージョンのサイズを設定します。

デフォルトのデータの行数は10です。表示するデータの行数として、10、20、30、40またはすべての行を選択できます。カスタム値を設定するには、「プロパティ」ペインを開き、「表示する行」プロパティに対してカスタム値を入力します。

注意:

表示するデータの行数を増やすと、レイアウト・エディタのパフォーマンスに影響することがあります。

3.8.3.2 フィルタについて

フィルタを使用すると、表示するデータを特定の条件に基づいて絞り込むことができまます。これは、追加のコーディングを行うことなく、表内に必要な要素のみを表示させることができる強力な機能です。たとえば、次のレポート条件の一部を満たすフィルタを追加することができます。

- 上位10位の給与のみを表示する

- 下位25位の店舗売上のみを表示する

- IT部門の従業員のみを表示する

- 売上が$10,000 - $20,000の範囲にあり、かつ南部リージョンのもののみを表示する

複数のフィルタを追加して、それらを表データに適用する順序を管理できます。

3.8.3.3 表に対するフィルタの設定

フィルタを設定するには:

1. 「フィルタ」ツール・ボタンをクリックします。これにより、図3-37に示すように、「フィルタ」ダイアログが起動されます。

図3-37 「フィルタ」ダイアログ

2. 表3-4の説明に従って、フィールドに入力し、フィルタを定義します。

表3-4 フィルタを定義するフィールド

フィールド

説明

データ・フィールド

表データのフィルタ処理の基準とするデータ・フィールドを選択します。すべての要素が、表の列として含まれるかどうかに関係なく使用可能です。

演算子

次の演算子から選択します。「次と等しい」「次と等しくない」「次より小さい」「次より大きい」「次以下」「次以上」「次の間」「上にある」「下にある」

値

選択した演算子に対して適切な値を入力します。値として、テキスト・エントリを指定したり、データから要素を選択することもできます。

3.8.3.4 フィルタの管理

フィルタを追加したら、「フィルタの管理」機能を使用して、フィルタを適用する順番を編集、削除または変更します。

フィルタを管理する手順は次のとおりです。

1. 「フィルタの管理」ツールバー・ボタンをクリックすると、図3-38に示すように「フィルタの管理」ダイアログが起動されます。

図3-38 「フィルタの管理」ダイアログ

2. フィルタにカーソルを合せて、アクション・ツールバーを表示します。ツールバー・ボタンを使用して、フィルタの編集、アプリケーションの順序内でのフィルタの上下移動、削除または別のフィルタの追加を実行します。

3.8.3.5 条件付き書式について

条件付き書式を使用すると、特定の条件に基づいて表内の要素の書式を変更できます。この機能は、表内のターゲット範囲を強調表示するのに非常に役立ちます。たとえば、表に対して一連の条件付き書式を作成し、しきい値に応じて異なる色で行を表示させることができます。

3.8.3.6 表に対する条件付き書式の適用

条件付き書式を適用するには:

1. 「強調表示」ボタンをクリックします。これで、図3-39に示すように、「強調表示」ダイアログが起動されます。

図3-39 「強調表示」ダイアログ

2. 表3-5で説明されているように、適用する条件および書式を定義するフィールドに入力します。

表3-5 条件および書式を定義するフィールド

フィールド

説明

データ・フィールド

条件の適用先となるデータ・フィールドを選択します。すべての要素が、表の列として含まれるかどうかに関係なく使用可能です。たとえば、表内に実際に給与要素を含めることなく、給与が$10,000を上回るすべての従業員を赤で強調表示することができます。

演算子

次の演算子から選択します。「次と等しい」「次と等しくない」「次より小さい」「次より大きい」「次以下」「次以上」「次の間」

値

選択した演算子に対して適切な値を入力します。値として、テキスト・エントリを指定したり、データから要素を選択することもできます。

重要: 日付値を入力する場合は、YYYY-MM-DDまたはYYYY-MM-DDTHH:MM:SSのXSL日付または時刻書式のいずれかを使用します。

フォント・ファミリ

条件を満たすデータの行に適用するフォントを選択します。太字、斜体または下線による強調を適用することもできます。

サイズ

条件を満たすデータの行に適用するフォントのサイズを選択します。

色

カラー・ボックスをクリックして、「カラー・ピッカー」を開きます。事前定義済の色のいずれかを選択するか、「カスタム色」をクリックして、フォントに適用する色を定義します。

背景色

カラー・ボックスをクリックして、「カラー・ピッカー」を開きます。事前定義済の色のいずれかを選択するか、「カスタム色」をクリックして、行に適用する背景色を定義します。

図3-40図は、条件が適用された、レイアウト内の表を示しています。

図3-40 条件付き書式の例

3.8.3.7 フォーマットの管理

条件付き書式を追加したら、「フォーマットの管理」コマンドを使用して、書式を編集または削除します。

書式を管理するには:

1. 「フォーマットの管理」ボタンをクリックすると、図3-41に示す「条件付き書式の管理」ダイアログが起動します。

図3-41 「条件付き書式の管理」ダイアログ

2. アイテムにカーソルを合せて、アクション・ツールバーを表示します。ツールバー・ボタンを使用して、書式の編集、アプリケーションの順序内での書式の上下移動、削除または別の書式の追加を実行します。最初に満たされた条件のみが適用されるため、条件の順序が重要です。

3.8.3.8 合計行の表示の制御

デフォルトでは、レイアウト・エディタにより表に合計列が挿入され、数値列の合計が計算されます。合計列を削除するには、「表示」メニューをクリックして、強調表示された合計行を含まない表ビューを選択します。図3-42は、「表示」メニュー・オプションを示しています。

図3-42 「表示」メニュー・オプション

「セル合計」タブおよび「プロパティ」ペインを使用すると、合計行を詳細にカスタマイズできます。詳細は、第3.8.6項「セル合計について」を参照してください。

3.8.4 「表の列のヘッダー」タブについて

図3-43は「表の列のヘッダー」タブを示しています。

図3-43 「表の列のヘッダー」タブ

「表の列のヘッダー」タブを使用すると、次のことができます。

- 表のヘッダー列のフォント・プロパティの編集

- 表ヘッダーのセル・プロパティの編集(境界線の太さ、スタイル、色および背景塗りつぶし色を含む)

- 表ヘッダーの垂直方向および水平方向の位置合せの設定

- グループ化の適用

3.8.4.1 グループ化について

グループ化機能を使用すると、複数の要素を同じ値のデータでまとめることができます。表内でグループ化を適用すると、表が読みやすくなります。

「グループ化」オプションでは、「グループ左」または「グループ上」のいずれかを選択できます。「グループ左」では、表内のグループ基準要素が維持されます。図3-44は、「グループ左」を使用してマネージャ別にグループ化された表を示しています。

図3-44 「グループ左」を使用してマネージャ別にグループ化された表の例

「グループ上」では、繰返しセクション・コンポーネントが挿入され、表からグループ化要素が抽出されます。かわりに表の上にグループ化要素が表示され、グループ化要素が出現するたびに別個の表が表示されます。図3-45は、「グループ上」を使用してマネージャ別にグループ化された表を示しています。

図3-45「グループ上」を使用してマネージャ別にグループ化された表の例

3.8.4.2 例: グループ左

図3-46では、表データが最初の2列(Manager(マネージャ)、Title(役職))の要素によってグループ化されています。マネージャ名ごとにエントリが1つだけあり、そのマネージャ名の下の各役職名に対して1つのエントリがあることに注意してください。これにより、表内のデータ列がより明確に整理されます。

図3-46 例: グループ左の例

3.8.4.3 小計の適用

表の内容をさらに充実させるため、小計行を追加して、グループ化された要素が出現するたびに表示させることができます。図3-47は、同じ表で「小計」ボックスが選択された状態を示しています。マネージャごとに小計行が挿入されていることに注意してください。

図3-47 小計の例

3.8.4.4 例: グループ上

図3-48では、表データがマネージャ別にグループ化されています。設計ペインで、データ表コンポーネントが、データ表を含む繰返し要素コンポーネントで置き換えられていることに注意してください。ラベルを使用して表の上にManager(マネージャ)要素が挿入されています。

図3-48 例: グループ上の例

このラベルはテキスト・アイテムです。このテキストを編集するには、アイテムをダブルクリックして選択し、シングルクリックして編集します。

レポートを実行すると、グループ化要素が出現するたびに、別個の表が作成されます。対話出力モードでは、表の最上部に表示されたグループ化要素がフィルタとして表示されます。図3-49に示されているように、表示する値をリストから選択します。

図3-49 フィルタとして表示される要素のグループ化

3.8.5 「列」タブについて

表内の特定の列を選択すると、「列」タブが有効になります。図3-50は「列」タブを示しています。

図3-50 「列」タブ

「列」タブでは、次のアクションを実行できます。

- 列のフォント・プロパティの編集(スタイル、サイズおよび色を含む)

- 列のセル・プロパティの編集(境界線の太さ、スタイル、色および背景塗りつぶし色を含む)

- 列の内容の垂直方向および水平方向の位置合せの設定

- 列データに対する書式の適用(オプションはデータ型に依存します)

- グループ化の適用

- データに対する累積合計(または他の式)の適用

- ソートおよびソートの優先順位の適用

- 列に対する条件付き書式の適用

3.8.5.1 列に対する「データの書式設定」オプションについて

このタブの「データの書式設定」リージョンで使用可能なオプションは、選択した列のデータ型に依存します。このタブには、選択対象となる一般的なオプションが用意されています。オプションが示されていない場合は、「プロパティ」ペインで、OracleまたはMicrosoftのカスタム書式マスクを入力できます。また、書式マスクを動的に設定するには、書式マスクを要素としてデータに追加します。これらの機能については次の項で説明します。

- 第3.8.5.2項「数値データ列に対する書式設定の適用」

- 第3.8.5.3項「データ型データ列に対する書式設定の適用」

- 第3.8.5.4項「カスタム書式マスクおよび動的書式マスク」

3.8.5.2 数値データ列に対する書式設定の適用

列に数値データが含まれている場合、次の書式設定オプションが使用可能です。

- 書式: リストから一般的な数値書式のいずれかを選択します。この書式は、表の列にただちに適用されます。図3-51に示すように、書式は、数値、パーセントおよび通貨に分類されます。

図3-51 数値、パーセントおよび通貨書式

このリストからは使用できない書式を適用するには、第3.8.8項「カスタム・データの書式設定の適用」を参照してください。

- 小数点以下桁数: 「左へ移動」または「右へ移動」をクリックすると、表示される小数部の桁数が増減します。

- グループ化セパレータの表示/非表示: このボタンをクリックすると、グループ化セパレータが非表示になります(たとえば、1,234.00が1234.00と表示されます)。グループ化セパレータを表示するには、このボタンを再度クリックします。

3.8.5.3 Dateデータ型データ列に対する書式設定の適用

列に日付が含まれている場合、次の書式設定オプションが使用可能です。

- 書式: リストから一般的な日付書式のいずれかを選択します。この書式は、表の列にただちに適用されます。図3-52に示すように、書式は、日付および時刻に分類されます。

図3-52 日付書式と時刻書式

3.8.5.4 カスタム書式マスクおよび動的書式マスク

MicrosoftまたはOracle(推奨)の任意の書式マスクをレポート・データ・フィールドに適用できます。このマスクは、「プロパティ」ペインの「書式マスク」プロパティに手動で入力できます。

カスタム・データ書式マスクを入力するには:

1. レイアウトでデータ列またはデータ・フィールドを選択します。

2. 「プロパティ」ペインの「データの書式設定」グループの下で、「スタイルの書式設定」を選択します。サポートされているスタイルはOracleおよびMicrosoftです。

3. 「書式マスク」フィールドに、適用する書式マスクを手動で入力します。

MicrosoftおよびOracleの書式マスクの詳細は、第4.15項「数値、日付および通貨の書式設定」を参照してください。

また、書式マスクは、レポート・データのデータ要素にマスクを含めるか、レポートへのパラメータとしてマスクを含めることで動的に適用できます。このマスクは、データ要素の値に基づいてレイアウト・エディタに渡されます。

「書式マスク」フィールドに動的書式マスクを入力するには、書式マスクを定義するデータ要素を選択します。図3-53に、動的数値書式マスクの設定例を示します。この例の場合、NumberFormatという名前のパラメータにより、ユーザーはレポートの送信時に書式マスクを定義するように求められます。「書式マスク」プロパティに値が渡され、レイアウトのデータ・フィールドに適用されます。

図3-53 動的書式マスク

パラメータを使用して書式マスクを渡す場合は、データ・モデルの「プロパティ」ページで「パラメータ・タグを含める」オプションを選択するようにします。

3.8.5.5 「式」オプションについて

「列」タブの「式」リージョンで使用可能なオプションは、列のデータ型によって異なります。

式の適用の詳細は、第3.15項「事前定義済またはカスタムの式の設定」を参照してください。

3.8.5.6 「ソート」オプションについて

列のデータをソートするには、列を選択し、「ソート」グループの下にある「昇順」または「降順」をクリックします。

複数の列でソートするには、列、ソート順を選択して、各列に「優先度」を割り当てます。優先度リストは、ソート順コマンドの下にある値のリストです。

たとえば、図3-54の従業員の給与表で、最初にTitle(役職)で昇順にソートし、次にAnnual Salary(年間給与)で降順にソートするとします。

図3-54 従業員の給与表

この表にソート順を適用するには:

1. Title列を選択します。

2. 「列」タブの「ソート」で、「昇順」ボタンをクリックします。

3. 「優先度」リストから、1を選択します。
図3-55は「優先度」リストを示しています。

図3-55 「優先度」リスト

4. 次に、Annual Salary列を選択します。

5. 「列」タブの「ソート」で、「降順」ボタンをクリックします。

6. 「優先度」リストから、2を選択します。

ソートされた表を図3-56に示します。

図3-56 ソートされた表の例

3.8.5.7 ソート順の解除

列に適用されたソート順を解除するには:

1. 列を選択します。

2. 「列」タブの「ソート」リージョンで、適用されているソート順の適切なボタンをクリックします。たとえば、昇順の選択を解除するには、「昇順」ボタンをクリックしてソートを取り消します。

3.8.6 「セル合計」タブについて

レイアウトにデータ表を挿入すると、レイアウト・エディタにより自動的に総計行が挿入されます。グループ化に関するセクションで示したように、グループ化要素を基準にして表内に小計行を挿入することもできます。総計または小計行のセルの属性を編集するには、セルを選択して、図3-57に示される「セル合計」タブのオプションを使用します。

図3-57 「セル合計」タブ

「セル合計」タブを使用すると、次のことを実行できます。

- 合計セルのフォント・プロパティの編集

- 合計セルのセル・プロパティの編集(境界線の太さ、スタイル、色および背景塗りつぶし色を含む)

- 表ヘッダーの垂直方向および水平方向の位置合せの設定

- セル・データに対する書式設定の適用

- セルに対する式の適用

- セルに対する条件付き書式の適用

3.8.6.1 合計セルに対するデータの書式設定の適用

第3.8.5.1項「列に対する「データの書式設定」オプションについて」を参照してください。

3.8.6.2 式の適用

デフォルトでは、数値列内の合計セルに適用される式は、列のアイテムの合計です。「式」オプションを使用すると、別の式を適用できます。

「列」タブの「式」リージョンで使用可能なオプションのすべてを合計セルに適用できるわけではありません。

式の適用の詳細は、第3.15項「事前定義済またはカスタムの式の設定」を参照してください。

3.8.7 動的ハイパーリンクの挿入

レイアウト・エディタでは、表内で動的ハイパーリンクがサポートされます。

動的ハイパーリンクを挿入するには:

1. 表の列を選択します。

2. 「プロパティ」をクリックします。列プロパティには、図3-58に示すようにURLのオプションが含まれています。

図3-58 選択された列のURLプロパティ・オプション

3. URLフィールドに、URLの静的部分を入力し、URLの動的部分を指定する要素への絶対パスを中カッコ{}内に埋め込みます。たとえば、次のように入力します。
http://example.com/show_page?id={/DATA/GROUP1/ELEMENT_NAME}

ここで、http://example.com/show_page?id=はURLの静的部分で、{/DATA/GROUP1/ELEMENT_NAME}は動的部分を指定するデータの要素への絶対パスです。

たとえば、従業員の給与レポートで、各従業員名をその従業員の個人レコードへのハイパーリンクとして表示する必要があるとします。各個人レコードへのURLの静的部分は、次のようになると仮定します。

https://people.hrserver.com/records/show_page?id=

動的部分は、データ要素EMPLOYEE_IDから取得されます。この例では、次のようにEMPLOYEE_ID要素へのフルパスを中カッコで囲んで追加し、これをURLフィールドに入力します。

https://people.hrserver.com/records/show_page?id={/ROWSET/ROW/EMPLOYEE_ID}

絶対パス内の正しい要素名が不明な場合は、「データソース」ペインでデータ要素上にマウスを合せ、図3-59に示されているようにホバー・テキストにパスを表示します。

図3-59 要素への絶対パスを表示するホバー・テキスト

3.8.8 カスタム・データの書式設定の適用

BI Publisherでは、カスタム・データの書式設定に対して、OracleおよびMicrosoftの書式マスクの使用がサポートされます。その出力の結果は、選択されたロケールによって異なります。

Microsoftの書式マスクの詳細は、第4.15.4項「Microsoft数値書式マスクの使用」を参照してください。

Oracleの書式マスクの詳細は、第4.15.6項「Oracle書式マスクの使用」を参照してください。

カスタム・データの書式設定を適用するには:

1. データ・フィールドまたはデータ列を選択します。

2. 「プロパティ」をクリックします。図3-60に示すように、「データの書式設定」オプションが表示されます。

3. 図3-60 「データの書式設定」プロパティ

4. 「スタイルの書式設定」ドロップダウン・リストから、「Oracle」または「Microsoft」のフォーマット・スタイルを選択します。「Oracle」フォーマット・スタイルをお薦めします。

5. 「書式マスク」フィールドに、書式マスクを入力します。たとえば、製品合計を含む列の場合は、「Oracle」フォーマット・スタイルの使用が可能で、小数点の右に2つのゼロを含む合計値を表示する場合は、9G999D99書式マスクを使用できます。

3.9 チャートについて

レイアウト・エディタでは、レイアウト内にデータをグラフィカルに表示する様々なチャートの種類およびスタイルがサポートされています。図3-61は、レイアウト・エディタ内の隣り合った縦棒グラフと円グラフを示しています。

図3-61 レイアウト・エディタ内の隣り合った縦棒グラフと円グラフ

チャートを挿入すると、動的ツールバーまたは「プロパティ」ペインを使用して、チャートのプロパティを編集できます。「プロパティ」ペインは、「チャート」タブのオプションを拡張したものであり、次の項目に対して非常に具体的なカスタム設定を入力できます。

- チャート効果

- チャート凡例

- チャートの描画エリア

- チャート・タイトル

- チャート・ラベル

注意:

「チャート・ラベル」のプロパティの「タイトル・フォント」、「タイトルの水平方向の位置合せ」、「タイトル・テキスト」および「タイトル表示」は、散布図およびバブル・グラフにのみ適用されます。

- チャートの値

注意:

下線、斜体および太字などの一部のフォント効果は、PDF出力にレンダリングできない場合があります。

3.9.1 チャートの挿入

チャートを挿入する手順は次のとおりです。

1. 「挿入」メニューからチャート・コンポーネントを選択し、レイアウトにドラッグします。
デフォルトでは、図3-62に示すように空の縦棒グラフが挿入され、「チャート」動的タブが表示されます。

図3-62 「チャート」動的タブ

2. チャート・タイプを変更するには、「チャート・タイプ」リストをクリックして、別のタイプを選択します。図3-63では、チャート・タイプが「円」に変更されています。

図3-63 「円」チャート・タイプ

3. 「データソース」ペインからデータ・フィールドを選択し、チャート内の適切な領域にドラッグします。図3-64に示すように、このチャートはプレビュー・データでただちに更新されます。

図3-64 データ・フィールドからチャートへのドラッグ・アンド・ドロップ

4. チャートのサイズを変更するには、図3-65に示すように、チャートの右下隅にあるサイズ変更ハンドラをドラッグ・アンド・ドロップします。
チャートのサイズを変更するときに縦横比を維持するには、[Shift]キーを押しながら、隅をドラッグします。

図3-65 チャートのサイズ変更

3.9.1.1 「チャート」タブについて

「チャート」タブを使用すると、次のことができます。

- 別のチャート・タイプの選択

- 別のチャート・スタイルの適用

- 3-D効果の有効化

- チャートに表示するデータのフィルタリング

- 複数のフィルタの管理

- チャートのピボット・テーブルへの変換または系列値およびディメンション値の切替

3.9.1.2 フィルタの適用と管理

フィルタの適用および管理方法の詳細は、第3.8.3.2項「フィルタについて」を参照してください。

3.9.1.3 チャートのピボット・テーブルへの変換

チャートをピボット・テーブルに変換するには:

1. チャートを選択します。

2. 「変換」グループで、「ピボット・テーブル」をクリックします。

レイアウト・エディタは、チャートのラベル、系列および値要素を、ピボット・テーブルの適切な行、列およびデータ要素に変換します。

3.9.2 チャート・メジャー・フィールドに適用された式の変更

デフォルトでは、チャートにチャート・メジャーの値の合計が表示されます。チャート・メジャー・フィールドに適用された式を変更するには、「チャート・メジャー・フィールド」タブからオプションを選択します。

式を変更する手順は次のとおりです。

1. チャートのメジャー・フィールドを選択します。これにより、図3-66に示すように「チャート・メジャー・フィールド」タブが表示されます。

図3-66 「チャート・メジャー・フィールド」タブ

2. 次の使用可能なオプションを「式」リストから選択します。

- 件数

- 合計

- 累積合計

3.9.3 チャート・フィールドのソート

チャートのフィールドをソートする手順は次のとおりです。

1. フィールドを選択して「チャート・フィールド」タブを表示します。

2. 「チャート・フィールド」タブで、「昇順ソート」または「降順ソート」を選択します。

3. 複数のフィールドでソートするには、各ソート・フィールドに「優先度」を適用し、必要な順序でソートを適用します。

3.9.4 拡張チャート機能の使用

次の機能により、追加の書式設定をチャートに適用できます。

- 第3.9.4.1項「時系列軸の書式設定」

- 第3.9.4.2項「軸を非表示にするオプション」

- 第3.9.4.3項「独立した軸の書式設定」

- 第3.9.4.4項「軸スケーリング」

- 第3.9.4.5項「円グラフの区分の書式設定」

前述のフォーマット・オプションの値を選択していない場合は、BI Publisherのデフォルトのシステム設定が適用されます。

3.9.4.1 時系列軸の書式設定

折れ線グラフのX軸が日付フィールドの場合は、図3-67に示すように、BI Publisherにより、日付の範囲に基づいて時系列の書式が適用されます。チャート内の時系列の表示はカスタマイズするか、オフにできます。

図3-67 時系列日付の書式設定オプション

チャートの時系列日付の書式設定オプションを選択するには:

1. 「時系列」レポートのプロパティ・カテゴリを開きます。

2. 「日書式」フィールドで、日の次のフォーマット・オプションのいずれかを選択します。

- 「なし」は、日ラベルを非表示にします。

- 「曜日」は、週の各曜日名のみを表示します。

- 「日(1文字)」は、週の各曜日の最初の1文字のみを表示します。

- 「曜日番号」は、週の各曜日に割り当てられた番号のみを表示します。たとえば、日曜日が週の最初の日の場合は、日曜日に1、月曜日に2のように表示できます。

- 「日付」は、実際の日付で月のすべての日を表示します。たとえば、月の最初の日は1と表示されます。

3. 「月書式」フィールドで、月の次のフォーマット・オプションのいずれかを選択します。

- 「なし」は、すべての月ラベルを非表示にします。

- 「月番号」は、年の各月の番号のみを表示します。たとえば、年の最初の月が1月の場合は、チャートに1と表示されます。

- 「月(1文字)」は、年の各月の最初の1文字のみを表示します。

- 「月(短い表記)」は、各月の短縮名のみを表示します。たとえば、1月をJanと表示できます。

- 「月(長い表記)」は、各月の完全な名前のみを表示します。

4. 「時間書式」フィールドで、時間増分の次のフォーマット・オプションのいずれかを選択します。

- 「なし」は、すべての時間ラベルを非表示にします。

- 「時間」は、時間単位で時間を表示します。

- 「時間(24時間表記)」は、24時間単位で時間を表示します。

- 「時間分(24時間表記)」は、24時間単位で分を表示します。

- 「時間分」は、時間単位および分単位で時間を表示します。

- 「秒」は、秒単位で時間を表示します。

5. 「年書式」フィールドで、年の次のフォーマット・オプションのいずれかを選択します。

- 「なし」は、すべての年ラベルを非表示にします。

- 「年(短い表記)」は、各年の短縮名のみを表示します。

- 「年(長い表記)」は、各年の完全な名前のみを表示します。

3.9.4.2 軸を非表示にするオプション

小さなチャートの使用時や値を除いたデータを視覚化するときなど、一定の状況のレポートにおいて軸ラベルを非表示にできます。このオプションは特に、トレンドを評価するレポートの作成に役に立ちます。

軸を非表示にするには:

1. 「プロパティ」ペインで、「チャート・ラベル」、「チャートの値(1)」または「チャートの値(2)」のレポート・プロパティ・カテゴリを開きます。

2. 「表示可能な軸」で、「False」を選択します。

3.9.4.3 独立した軸の書式設定

複数Y軸レポートで各Y軸の小数桁数および数値を書式設定できます。

軸の小数桁数および数値タイプを書式設定するには:

1. 「プロパティ」ペインで、「チャートの値(1)」または「チャートの値(2)」のレポート・カテゴリを開きます。

2. 軸小数を書式設定するには、「軸小数」フィールドで、軸ごとのデータ要素に表示する小数の数を入力します。

3. 「データ表示」プロパティがTrueに設定されている軸のデータ小数を書式設定するには、軸上に表示される小数の数を入力します。

4. 数値の書式設定を軸に適用するには、「書式設定」フィールドで、「一般」、「パーセント」または「通貨」の各オプションのいずれかを選択します。

5. 「通貨」を選択した場合は、「通貨記号」フィールドで通貨記号を手動で入力します。

3.9.4.4 軸スケーリング

レポートでは、チャートの軸スケーリングを対数または線形として設定できます。

軸スケーリングを書式設定するには:

1. 「プロパティ」ペインで、「チャートの値(1)」または「チャートの値(2)」のレポート・プロパティ・カテゴリを開きます。

2. 「軸スケーリング」フィールドで、「対数」または「線形」の各オプションのいずれかを選択します。

3.9.4.5 円グラフの区分の書式設定

円グラフの区分をフォーマットして、パーセンテージ、実際の合計値およびラベルを表示できます。

円グラフの区分をフォーマットするには:

1. 「プロパティ」ペインで、「描画エリア」レポート・プロパティ・カテゴリを開きます。

2. 「円グラフの区分のフォーマット」フィールドで、「パーセント」、「値」、「ラベル」または「ラベルとパーセント」の各オプションのいずれかを選択します。

3.10 ゲージ・チャートについて

ゲージ・チャートは、進捗状況や目標をわかりやすく示すのに有効な方法です。たとえば、図3-68は、地域の売上目標の状態を示す3つのゲージが含まれたレポートを示しています。

図3-68 地域の売上目標の状態を示すゲージ

3.10.1 ゲージ・チャートの挿入

レイアウトにゲージ・チャートを挿入する手順は次のとおりです。

1. 「挿入」メニューから、「ゲージ」コンポーネントを選択して、レイアウトにドラッグします。これにより、図3-69に示すように空のゲージ・チャートが挿入されます。

図3-69 空のゲージ・チャート

2. 「データソース」ペインからデータ・フィールドを選択し、チャートのラベル、値および系列領域にドラッグします。チャートは、プレビュー・データによってただちに更新されます。
図3-70は、ラベル領域にドラッグされているREGION、および値領域にドラッグされているDOLLARSを示しています。

図3-70 チャートにドラッグ・アンド・ドロップされたREGIONおよびDOLLARS

次の点に注意してください。

- ラベル(つまり、各REGION)が出現するたびに、別個のゲージが作成されます。出現するたびに一連のプロパティが適用されます。

- デフォルトでは、値フィールドは合計になっています。値フィールドに適用されている式は変更できます。第3.9.2項 「チャート・メジャー・フィールドに適用された式の変更」を参照してください。

- 他のゲージ・チャート・フィールドにソートを適用できます。

3.10.2 ゲージ・チャートのプロパティの設定

「プロパティ」ペインを使用して、ゲージ・チャートの詳細なオプションを設定します。

3.10.3 フィルタの適用と管理

フィルタの適用および管理方法の詳細は、第3.8.3.2項「フィルタについて」を参照してください。

3.11 ピボット・テーブルについて

ピボット・テーブルには、マルチディメンショナル・データが表形式で表示されます。複数のメジャーとディメンションおよびすべてのレベルにおける小計がサポートされています。図3-71に、ピボット・テーブルを示します。

図3-71 ピボット・テーブル

3.11.1 ピボット・テーブルの挿入

ピボット・テーブルを挿入するには:

1. 「挿入」タブから「ピボット・テーブル」コンポーネントを選択して、レイアウトにドラッグします。図3-72は、空のピボット・テーブルの構造を示しています。

図3-72 空のピボット・テーブルの構造

2. 「データソース」ペインからデータ・フィールドを、行、列およびデータの位置にドラッグ・アンド・ドロップします。
図3-73に示すように、複数のフィールドをピボット・テーブルにドラッグして、正確に配置し、ピボット・テーブルを構造化します。

図3-73 ピボット・テーブルへのデータ・フィールドのドラッグ・アンド・ドロップ

3. デフォルトでは、ピボット・テーブルは、データの書式設定が適用されない状態で挿入されます。データに書式を適用するには、データの最初の列をクリックして、「ピボット・テーブル・データ」ツールバーを有効にします。「データの書式設定」グループで、図3-74に示すように適切な書式を選択します。

図3-74 書式の選択

4. 図3-75で示すように、ピボット・テーブルのサイズを変更するには、ピボット・テーブルの右下隅にあるハンドラをクリックしてドラッグします。

図3-75 ピボット・テーブルのサイズ変更

3.11.2 「ピボット・テーブル」メニューのカスタマイズ

ピボット・テーブルを挿入したら、次の動的タブを使用して、外観とレイアウトをカスタマイズします。

- 「ピボット・テーブル」タブ

- 「ピボット・テーブル・ヘッダー」タブ

- 「ピボット・テーブル・データ」タブ

3.11.3 「ピボット・テーブル」タブについて

図3-76は「ピボット・テーブル」タブを示しています。

図3-76 「ピボット・テーブル」タブ

3.11.3.1 フィルタの適用

「フィルタ」および「フィルタの管理」機能の詳細は、第3.8.3.2項 「フィルタについて」を参照してください。

3.11.3.2 合計の表示のカスタマイズ

「ピボット・テーブル」タブを使用すると、総計および小計の表示を迅速にカスタマイズできます。

デフォルトでは、タブに示すように、レイアウト・エディタにより総計と小計の表示とともにピボット・テーブルが挿入されます。

- 行総計: 表の最下部に挿入されます。

- 行小計: 各サブグループの最上部に挿入され、行ヘッダーはありません。

- 列総計: 右端に挿入されます。

- 列小計: 列のサブグループの左に挿入され、ヘッダーはありません。

総計と小計の位置と表示を変更するには、タブ内の適切なグループをクリックして、メニューから必要なレイアウト・パターンを選択します。

3.11.3.3 ピボット・テーブルのチャートへの変換

ピボット・テーブルのチャートへの変換コマンドは、ピボット・テーブルをデフォルトの縦棒グラフに変換します。変換後、第3.9項「チャートについて」の説明に従って表をカスタマイズします。

図3-77は、前述の手順で作成したピボット・テーブルの縦棒グラフへの変換を示しています。

図3-77 縦棒グラフに変換されたピボット・テーブル

3.11.3.4 行と列の切替

「行と列の切替」コマンドを使用すると、同じデータを異なるビューで表示できます。図3-78は、前述の手順で作成したピボット・テーブルを、行と列を切り替えて示しています。

図3-78 行と列が切り替えられたピボット・テーブル

3.11.4 ピボット・テーブル・ヘッダーのカスタマイズ

図3-79は、「ピボット・テーブル・ヘッダー」タブが示されています。

図3-79 「ピボット・テーブル・ヘッダー」タブ

ピボット・テーブルの列または行ヘッダーを選択し、「ピボット・テーブル・ヘッダー」タブを使用して、次のことを実行します。

- ヘッダーのフォント、色、位置合せおよびその他の表示機能のカスタマイズ

- ソート順序の適用(詳細は、第3.8.5.6項「「ソート」オプションについて」を参照してください)

- データの書式設定の適用(データ型が数値または日付の場合)

3.11.5 ピボット・テーブル・データのカスタマイズ

図3-80には、「ピボット・テーブル・データ」タブが示されています。

図3-80 「ピボット・テーブル・データ」タブ

ピボット・テーブルのデータ領域を選択し、「ピボット・テーブル・データ」タブを使用して、次のアクションを実行します。「ピボット・テーブル・データ」タブのコマンドは、「表の列」タブの対応するコマンドと同じです。使用方法の詳細は、リファレンスを参照してください。

- データのフォント、色、位置合せおよびその他の表示機能のカスタマイズ

- データに対する条件付き書式設定の適用(詳細は、第3.8.3.5項 「条件付き書式設定について」を参照してください)

- データ書式設定の適用(第3.8.5.1項「列に対するデータ書式設定オプションについて」を参照してください)

- 式の適用(第3.8.6.2「式の適用」を参照してください)

3.12 テキスト・アイテムについて

テキスト項目コンポーネントを使用すると、レイアウトにフリーフォームのテキストを入力できます。

テキスト項目コンポーネントを作成するには:

1. テキスト項目コンポーネントをレイアウトにドラッグ・アンド・ドロップします。

2. テキストをダブルクリックして、テキスト・エディタ・モードに切り替えます。テキストの複数の部分を選択し、各部分に異なる書式設定を適用します。

3.12.1 データ・フィールドとテキスト・アイテムを並べて表示

デフォルトでは、テキスト項目により完全なパラグラフが常に生成されます。テキスト・フィールドの横にデータ・フィールドを挿入すると、図3-81に示すように、テキスト・フィールドの下にデータ・フィールドが配置されます。

図3-81 テキスト・アイテムの下のデータ・フィールド

データ・フィールドをテキスト・アイテムとともにインラインで表示する手順は次のとおりです。

1. 図3-82に示すとおり、「プロパティ」ペインで「表示」プロパティを「インライン」に設定します。

図3-82 「表示」プロパティの「インライン」への設定

この設定により、図3-83に示されるようにテキスト・アイテムとデータ・フィールドを1行内に配置できます。

図3-83 1行内に配置されたテキスト・アイテムとデータ・フィールド

3.12.2 テキスト・ツールバーについて

図3-84は、「テキスト」タブを示しています。

図3-84 「テキスト」タブ

「テキスト」タブを使用すると、次のことを実行できます。

- フォント・プロパティの設定

- グリッド・セルのテキストの位置合せの設定

- 事前定義されたテキスト項目(ページ番号、日付および時刻)の挿入

- ハイパーリンクの挿入

3.12.2.1 フォント・プロパティの編集

「フォント」グループのコマンドを使用すると、次の項目を設定できます。

- フォント・スタイルの選択

- フォント・サイズの選択

- 強調(太字、斜体または下線)の適用

- テキスト・アイテムを囲む境界線の挿入

- 背景色の適用

- フォント色の適用

3.12.2.2 ページ番号の挿入

ページ番号コンポーネントを設計領域にドラッグ・アンド・ドロップします。

図3-85は、N 構成のページ番号を示しています。

図3-85 N構成のページ番号

「図3-85 N構成のページ番号」の説明

N 構成のページ番号を作成する手順は次のとおりです。

1. 「挿入」タブから「テキスト・アイテム」を、ページ番号を表示する設計領域にドラッグ・アンド・ドロップします。

2. 挿入されたテキストをダブルクリックし、編集するテキスト・アイテムを選択します。「Page」と入力します。

3. 「テキスト」動的タブから、「ページ番号」コンポーネントをドラッグ・アンド・ドロップします。

4. スペースを入力し、「/」と入力します。

5. 「テキスト」動的タブから、「ページ合計」コンポーネントをドラッグ・アンド・ドロップします。

3.12.2.3 日付と時刻の挿入

レポートに日付と時刻を挿入するには:

1. 「挿入」タブから「テキスト・アイテム」を、日付と時刻を表示する設計領域にドラッグ・アンド・ドロップします。

2. 挿入されたテキストをダブルクリックし、編集するテキスト・アイテムを選択します。

3. 「日付」アイコンをクリックして、テキスト・アイテムに日付アイコンを挿入します。「時間」アイコンをクリックして、テキスト・アイテムに時間アイコンを挿入します。

注意:

項目を横に並べて表示するには、「テキスト・アイテム」プロパティを「インライン」に設定します。

図3-86は、日付アイコンおよび時刻アイコンの挿入を示しています。

図3-86 日付アイコンおよび時刻アイコンの挿入

このレポートを表示すると、オンラインで表示している場合には、サーバーのタイムゾーンに従って日付と時刻が表示され、スケジュールされたレポートの場合は、スケジュール・ジョブで選択されたタイムゾーンに従います。図3-87はレポートに表示された日付と時刻を示します。

図3-87 レポートに表示された日付と時刻

3.12.2.4 ハイパーリンクの挿入

レポートにハイパーリンクを挿入する手順は次のとおりです。

1. 「挿入」タブから「テキスト・アイテム」を、日付と時刻を表示する設計領域にドラッグ・アンド・ドロップします。

2. 挿入されたテキストをダブルクリックし、編集するテキスト・アイテムを選択します。リンクに変換するテキストを入力します。

3. テキストを選択して、「リンク」ボタンをクリックします。

4. ダイアログでURLを入力します。

3.13 イメージについて

イメージ・コンポーネントを使用すると、レイアウトにグラフィックを組み込むことができます。BI Publisherは、イメージを組み込むために次の方法をサポートしています。

- 静的イメージ: レポート・ファイルに保存されている静的イメージをアップロードします。アップロードされたイメージ・ファイルは、グラフィック・ファイル・フォーマット(GIF、JPEG、PNGまたはBMP)のいずれかである必要があります。イメージ・ファイルのサイズを500 KBより大きくすることはできません。

- 静的URL: イメージを格納するURLへの静的リンクを指定します。

- 動的URL: データの要素にイメージURLを組み込みます。実行時に要素の値が評価され、イメージの動的挿入が可能になります。

イメージを挿入するには、次のようにします。

1. イメージ・コンポーネントをレイアウトにドラッグ・アンド・ドロップします。

2. 「イメージの挿入」ダイアログで、イメージに対して次のソースのいずれかを指定します。

- 「場所」: 「参照」をクリックして、ローカルまたはマッピングされたドライブ上のイメージのファイル名およびディレクトリを指定し、イメージをアップロードします。

- 「URL」: イメージを格納するURLを入力します。

- 「フィールド」:
「イメージURL」: イメージへのURLを含むデータからフィールドを選択します。

「代替テキスト」: データに、イメージの代替テキストが含まれるフィールドが組み込まれている場合は、そのフィールドを選択して、レポートをHTML形式で表示するときに代替テキストを表示します。

図3-88は、「イメージ」データ要素からイメージURLを動的に取得するように設定された「イメージの挿入」ダイアログを示しています。「名前」要素の値は、代替テキストとして使用されます。

図3-88 「イメージの挿入」ダイアログ

3. 次のいずれかの方法でイメージのサイズを変更することもできます。

- イメージの右下隅をドラッグします。イメージのサイズを変更するときに縦横比を維持するには、[Shift]キーを押しながら、隅をドラッグします。

- 「プロパティ」ペインで幅と高さを変更します。

3.14 リストについて

リスト・コンポーネントには、垂直または水平リスト内のデータ要素のすべての値が表示されます。対話モードで表示しているときに、リスト内のアイテムをクリックすると、レポート内のリンクされたコンポーネントに示された結果が更新されます。図3-89は、売上データに基づいて複数のチャートを表示するレポートを示しています。リスト・コンポーネントには、売上データがある国がそれぞれ表示されます。リストを使用すると、レポート利用者はリスト内のエントリをクリックして、リストにある各国の結果を迅速に表示することができます。

図3-89 リスト・コンポーネントを使用した結果の更新

3.14.1 リストの挿入

リストを挿入する手順は次のとおりです。

1. 「挿入」タブから、「リスト」コンポーネントを選択して、設計領域にドラッグします。
図3-90は、挿入された、空のリストを示しています。

図3-90 挿入された空のリスト

2. リストを作成するには、「データソース」ペインから要素を選択して、レイアウト内の空のリストにドラッグします。
図3-91は、要素Country Nameをドラッグした後のリスト・コンポーネントを示しています。

図3-91 Country Nameが表示されているリスト・コンポーネント

3. リストの外観をカスタマイズします。第3.14.2項「リストのカスタマイズ」を参照してください。

4. 「イベントの構成」コマンドを使用して、リンクされたコンポーネントを構成します。デフォルトでは、レイアウト内の他のすべての表およびチャートが、リスト・コンポーネントのユーザーの選択に基づいて結果をフィルタリングするように構成されます。このデフォルトの動作を変更するには、第3.4.5項「対話処理: イベント構成」を参照してください。

3.14.2 リストのカスタマイズ

「リスト」タブでは、次のことを実行できます。

- フォントのサイズ、スタイルおよび色の編集

- リストに対する境界線の定義

- 背景色の設定

- 選択したアイテムの表示用のフォント色および背景色の編集

- リストの向きの設定

- ソート順の指定

図3-92は、「リスト」タブを示しています。

図3-92 「リスト」タブ

3.14.2.1 フォント・スタイルおよび選択したフォント・スタイル・コマンドのカスタマイズ

図3-93の左側のリストは、リストのデフォルト・フォーマットを示しています。右側のリストは、「選択したフォント」のデフォルト・フォーマットを示しています。

図3-93 デフォルト・フォーマット

フォントの設定を編集するには、リストからフォント・ファミリを選択して、ポイント・サイズを調整します。

デフォルトでは、リストは1ポイントの黒のグリッド線で表示されます。「境界線の設定」をクリックして、リストのデフォルトの境界線を調整します。「背景色」と「フォント色」コマンドを使用して、色をカスタマイズします。

「選択したフォント」コマンドを使用すると、リストのアイテムを選択した際のアイテムの外観を編集できます。デフォルトでは、選択した要素がリストの最上位に移動され、背景がライト・ブルーに変更されます。選択したアイテムに対して表示されるフォントの太さ、背景色およびフォント色を編集できます。

3.14.2.2 選択したアイテムの動作のカスタマイズ

デフォルトでは、選択したアイテムがリストの最上位に移動され、選択されていないアイテムはグレーで塗りつぶされて非表示となります。「除外を表示しない」プロパティを設定して、この動作を適用しないようにすることもできます。

このプロパティは、「リスト」コンポーネントを選択したときに、「プロパティ」ペインから使用可能です。図3-94では、「除外を表示しない」プロパティが強調表示されています。

図3-94 「除外を表示しない」プロパティ

図3-95は、プロパティの設定に応じて異なる表示を示しています。

図3-95 「除外を表示しない」プロパティ設定に応じた表示の違い

3.15 事前定義済またはカスタムの式の設定

図3-96は、「カスタム式の定義」アイコンを示しています。

図3-96 「カスタム式の定義」アイコン

「式」コマンド・グループは、次のタブから使用可能です。

- 「列」タブ

- 「セル合計」タブ

- 「チャート・メジャー・フィールド」タブ

- 「ピボット・テーブル・データ」タブ

各コンポーネント・タイプに対してすべてのオプションを適用できるわけではないことに注意してください。

3.15.1 事前定義済の式について

このメニューは、表3-6で説明されている事前定義済の式を提供します。

表3-6 事前定義済の式

計算式

説明

「式なし」

数値列から数式を削除します。

「空白テキスト」

すべてのデータを削除して、空白テキストを挿入します。

「件数」

現在のグループにおける要素の出現件数を返します。

「重複を除いた件数」

現在のグループにおける要素の重複を除いた件数を返します。

「合計」

現在のグループにおける要素の値を合計します。

「平均」

現在のグループにおける値の平均を表示します。

「最大」

現在のグループにおけるすべての出現値のうちの最大値を表示します。

「最小」

現在のグループにおけるすべての出現値のうちの最小値を表示します。

非数値データについては、次の式オプションのみがサポートされています。

- 「空白テキスト」

- 件数

- 「重複を除いた件数」

3.15.2 カスタム式の適用

「カスタム式の定義」をクリックして、コンポーネントに独自の式を定義します。「関数」ダイアログでは、レイアウトにおける基本計算、コンテキストおよび統計関数を定義できます。

図3-97は、「関数」ダイアログを示しています。

図3-97 「関数」ダイアログ

3.15.2.1 基本計算関数について

基本計算関数のいずれかをクリックすると、その関数に適したパラメータを定義するように求められます。定数値の入力、データからのフィールドの選択、またはネストされた関数の作成を行って値を提供することができます。

図3-98では、乗算関数のクリックによって、被乗数と乗数の入力を求めるプロンプトが表示されています。この例は、被乗数がAmount Sold(売上金額)フィールドの値であることを示しています。乗数は定数値になっています。

図3-98 乗数関数の例

3.15.2.2 統計計算関数について

統計計算関数の1つをクリックすると、その関数に対して適切なパラメータを定義するようにプロンプト表示されます。データからのフィールドの選択、またはネストされた関数の作成を行って値を提供することができます。図3-99では、平均関数のクリックによって、平均を計算する値のソースを指定するように求めるプロンプトが表示されています。

図3-99 平均関数

3.15.3 カスタム式の適用: 例

例1: 減算

図3-100は、収益(Revenue)と費用(Cost)のデータをオフィス別に示しています。

図3-100 オフィス別の収益(Revenue)と費用(Cost)を示す表

この表に列を追加して、カスタム式を使用し、利益(Profit)=(収益 - 費用)を計算できます。

1. 表に数値データ列をもう1つ追加します。たとえば、図3-101のように表に収益(Revenue)のインスタンスをもう1つドラッグします。

図3-101 収益(Revenue)のインスタンスを2つ持つ表

2. 表の列を選択して、「カスタム式の定義」をクリックします。

3. 図3-102のように、「関数」ダイアログで、リストから「減算」を選択します。この列のソース・データは収益であるため、「被減数」と「減数」には両方とも、デフォルトで収益(Revenue)要素が示されます。

図3-102 減算関数

4. 図3-103に示すように、「減数」を選択してから、「パラメータ」リージョンで「フィールド」を選択し、費用(Cost)要素を選びます。

図3-103 費用(Cost)要素が選択された減算関数

図3-104のように、ダイアログが更新され、式が収益(Revenue)から費用(Cost)を差し引くものであることが示されます。

図3-104 収益(Revenue)から費用(Cost)を差し引く式を示す更新後の減算関数

5. 「OK」をクリックしてダイアログを閉じます。

6. 表の列にカスタム式が表示されます。表の列のヘッダー・タイトルを編集すると、図3-105のように表に利益(Profit)列が追加されています。

図3-105 タイトル「利益(Profit)」のカスタム式列が含まれた表

例2: ネストされた関数

この例では、ネストされた関数を使用して、税金を差し引いた収益を示す列を作成します。

1. 表に数値データ列をもう1つ追加します。たとえば、図3-106のように表に収益(Revenue)のインスタンスをもう1つドラッグします。

図3-106 収益(Revenue)のインスタンスを2つ持つ表

2. 表の列を選択して、「カスタム式の定義」をクリックします。

3. 「関数」ダイアログで、リストから「減算」を選択します。図3-107に示すように、この列のソース・データは収益であるため、、「被減数」と「減数」には両方とも、デフォルトで収益(Revenue)要素が示されます。

図3-107 収益(Revenue)要素を示し、「被減数」と「減数」を使用する減算関数

4. 図3-108に示すように、「減数」を選択してから、「パラメータ」リージョンで「ネストされた関数」を選択し、「編集」 をクリックします。

図3-108 「ネストされた関数」が選択された減算関数

第2の「関数」ダイアログが表示され、ネストされた関数を定義できます。この例では、図3-109に示すように、ネストされた関数が収益(Revenue)の定数倍(税率0.23)になっています。

図3-109 収益(Revenue)が定数倍になるネスト関数を示す「関数」ダイアログ

5. 「OK」をクリックしてダイアログを閉じます。図3-110のように、第1の「関数」ダイアログに、減数のソースとしてネストされた関数が表示されます。

図3-110 減数のソースとしてネストされた関数が表示された「関数」ダイアログ

6. 「OK」をクリックして「関数」ダイアログを閉じます。表の列にカスタム式が表示されます。表の列のヘッダー・ラベルを編集すると、図3-111のように表にカスタム関数が表示されます。

図3-111 税(23%)引き後のカスタム関数Revenue(収益)を示す表

3.16 レイアウトの保存

レイアウトをレポート定義に保存する手順は次のとおりです。

1. 「保存」または「別名保存」ツールバー・ボタンをクリックします。

2. 「レイアウトの保存」ダイアログには、図3-112に示すように、レポート定義に対して定義されたレイアウトのリストが表示されます。

図3-112 「レイアウトの保存」ダイアログ

3. このレイアウトに対して一意の名前を入力します。

4. 「ロケール」を選択します。

注意:

保存したレイアウトの「ロケール」は更新できません。

4 RTFテンプレートの作成

この章では、RTFレポート・テンプレートでXMLデータをレイアウト要素に関連付ける概念について説明します。また、複雑で高度な条件付きレポート・フォーマットを作成するための基本的な技術と高度な技術について説明します。

この章の内容は次のとおりです。

- 第4.1項「はじめに」

- 第4.2項「テンプレート・レイアウトへのXMLデータの関連付け」

- 第4.3項「テンプレート・レイアウトへのマークアップの追加」

- 第4.4項「グループの定義」

- 第4.5項「ヘッダーとフッターの定義」

- 第4.6項「イメージとチャートの挿入」

- 第4.7項「描画、図形、およびクリップ・アートの追加」

- 第4.8項「サポート対象のMicrosoft Wordの書式設定機能」

- 第4.9項「テンプレート機能」

- 第4.10項「条件付き書式の使用」

- 第4.11項「ページレベルの計算の挿入」

- 第4.12項「データの処理」

- 第4.13項「変数、パラメータおよびプロパティの設定」

- 第4.14項「拡張レポート・レイアウトの使用」

- 第4.15項「数値、日付および通貨の書式設定」

- 第4.16項「カレンダーおよびタイム・ゾーンのサポート」

- 第4.17項「外部フォントの使用」

- 第4.18項「コンテキスト・コマンドを使用した命令の配置の制御」

- 第4.19項「XPathコマンドの使用」

- 第4.20項「名前空間の宣言」

- 第4.21項「FO要素およびXSL要素の使用」

- 第4.22項「RTFテンプレートをMicrosoft PowerPoint出力用に設計するためのガイドライン」

- 第4.23項「RTFテンプレートをMicrosoft Excel 2007出力用に設計するためのガイドライン」

- 第4.24項「レポートでのHTML形式データのレンダリング」

- 第4.25項「プリンタ・チェック用のPCLコマンドの埋込み」

4.1 はじめに

この章では、レポート・テンプレートでXMLデータをレイアウト要素に関連付ける概念について説明します。また、複雑で高度な条件付きレポート・フォーマットを作成するための基本的な技術と高度な技術について説明します。

RTFテンプレートの作成にMicrosoft Wordを使用している場合は、この章を読み進める前に、第5章「Template Builder for Wordを使用したRTFテンプレートの作成」を参照してください。Template Builderインストールで提供されるデモとサンプルは、Microsoft Wordでテンプレートを作成するプロセスを身に付けるのに役立ちます。

RTFテンプレートを作成するのに、Microsoft WordまたはTemplate Builderは必要ないため、この章では、Template Builderを使用せずにコンポーネントを追加する方法について説明します。この章で説明するレイアウト・コンポーネントの多くは、Template Builderを使用したテンプレートにも挿入できます。

この項の内容は次のとおりです。

- 第4.1.1項「RTFテンプレートとは」

- 第4.1.2項「テンプレート設計の前提条件」

- 第4.1.3項「XSLT互換性の概要」

- 第4.1.4項「主要な概念」

- 第4.1.5項「テンプレート・レイアウトの設計」

- 第4.1.6項「BI Publisherコードの追加について」

4.1.1 RTFテンプレートとは

リッチ・テキスト・フォーマット(RTF)は、Microsoft Wordなどの一般的な文書処理アプリケーションで使用されている仕様です。RTFは、文書を保存するときに選択できるファイル・タイプ・オプションの1つです。

BI Publisherでは、RTFファイル形式として保存されたドキュメントがXSL-FOに変換されるため、多くの標準的なワード・プロセッサの機能を使用して、レポート・レイアウトを作成できます。

設計時には、BI Publisherの簡略化されたXSL式用のタグを使用して、データ・フィールドと他のマークアップをテンプレートに追加します。これらのタグは、XMLレポート・データをレポート・レイアウトに関連付け、他の処理に関する指示を組み込みます。

また、BI Publisherでは、ワード・プロセッサの書式設定機能に加えて、条件付き書式設定、動的データ列、総合計、チャートなどの拡張レポート機能もサポートされます。

XSLに精通していて、単純化されたタグを使用しない場合は、BI Publisherは、テンプレートにおいて純粋なXSL要素の使用もサポートしています。テンプレートに直接、コードを組み込む場合は、任意のXSL要素、多数のFO要素、およびBI Publisherによって拡張された1連のSQL表現を含めることができます。

4.1.2 テンプレート設計の前提条件

テンプレートを設計する際には、次の前提条件を満たす必要があります。

- ソース・レポートからのデータに適用されるビジネス・ルールを認識しておきます。

- レポート・データ・モデルからサンプル・データを生成します。
データ・モデルからサンプル・データを生成する方法の詳細は、『Oracle Fusion Middleware Oracle Business Intelligence Publisherデータ・モデリング・ガイド』のデータ・モデルのテストおよびサンプル・データの生成に関する項を参照してください。

- Microsoft Wordの書式設定機能に習熟している必要があります。

4.1.3 XSLT互換性の概要

BI Publisherは、Oracle XDK 11.1.0.7.0によって提供されるXSLTプロセッサを使用します。このプロセッサは、W3C XSL Transformations 1.0勧告をサポートしています。また、このプロセッサはXSLTおよびXPath 2.0標準の現在の作業草案も実装しています。Oracle XDKの詳細は、Oracle XML開発者用キット・プログラマーズ・ガイドを参照してください。

デフォルトでは、BI PublisherはXSLT 1.0と互換性があります。XSLTおよびXPath 2.0の機能をテンプレートで使用する場合は、XSLT 1.0の互換性を無効にする必要があります。この構成はテンプレート・レベルで実行されます。テンプレート・レベルの設定は、サーバーの設定より優先されます。

XSLTの互換性は、Template Builder for Wordではビルド・オプションとして設定されます。第5.9.1項「「UI」オプションの設定」を参照してください。

4.1.4 主要な概念

テンプレート・レイアウトを設計するときは、XML入力ファイルをレイアウトに関連付ける方法を理解する必要があります。この章では、XML入力ファイルを使用したテンプレート・レイアウトのサンプルを提示して、マークアップ・タグをテンプレートに追加するための適切な関連付けを行う方法を説明します。

4.1.5 テンプレート・レイアウトの設計

設計を作成するには、使用しているワード・プロセッサの書式設定機能を使用します。

たとえば、次のように入力します。

- テキストのサイズ、フォントおよび配置の選択

- 箇条書きと番号の挿入

- 段落ごとの境界線の描画

- 透かしの挿入

- イメージ(jpg、gifまたはpng)の挿入

- 表の自動書式設定機能の使用

- ヘッダーとフッターの挿入
ヘッダーとフッターの挿入に関する詳細は、第4.5項「ヘッダーとフッターの定義」を参照してください。

サポートされているMicrosoft Wordの書式設定機能の詳細は、第4.8項「サポート対象のMicrosoft Wordの書式設定機能」を参照してください。

4.1.6 BI Publisherコードの追加について

RTFテンプレートの作成時は、BI PublisherコードをRTFドキュメントに追加します。BI Publisherは、コードの追加について次の方式をサポートしています。

- 基本RTF方式
BI Publisherの簡略化された構文を使用してテンプレートを設計するには、RTFバージョン1.6以降の書込みをサポートしているワード・プロセッサを使用します。

- フォーム・フィールド方式
Microsoft Wordのフォーム・フィールド機能を使用することで、テンプレートの設計に直接配置するのではなく、非表示のフォーム・フィールドに構文を配置できます。

注意:

簡略化された構文ではなくXSLまたはXSL:FOコードを使用する場合は、フォーム・フィールド方式を使用する必要があります。

この章では、前述の方式を使用してRTFテンプレートを作成する方法について説明します。

Microsoft Wordを使用している場合は、BI Publisher Template Builder for Wordを使用してBI Publisherコード・フィールドの挿入を支援できます。詳細は、第5章「Template Builder for Wordを使用したRTFテンプレートの作成」を参照してください。

4.2 テンプレート・レイアウトへのXMLデータの関連付け

図4-1に、Payables Invoice Registerのサンプル・レイアウトを示します。

図4-1 Payables Invoice Registerのサンプル・レイアウト

次の点に注意してください。

- テンプレートで定義されているデータ・フィールド。
例: Supplier、Invoice Number、Invoice Date

- レポートの実行時に繰り返されるテンプレートの要素。
たとえば、テンプレートのフィールドはすべて、レポート対象の仕入先ごとに繰り返されます。また、請求書表の各行は、レポート対象の請求ごとに繰り返されます。

4.2.1 XML入力ファイルの使用

次に、このPayables Invoice Registerレポート・テンプレートへの入力として使用されるXMLファイルを示します。わかりやすい例を示すため、ここで示されるXML出力は実際のPayablesレポートの出力を変更しています。

<?xml version="1.0" encoding="WINDOWS-1252" ?>
- <VENDOR_REPORT>
- <LIST_G_VENDOR_NAME>
- <G_VENDOR_NAME>
<VENDOR_NAME>COMPANY A</VENDOR_NAME>
-  <LIST_G_INVOICE_NUM>
-  <G_INVOICE_NUM>
<SET_OF_BOOKS_ID>124</SET_OF_BOOKS_ID>
<GL_DATE>10-NOV-03</GL_DATE>
<INV_TYPE>Standard</INV_TYPE>
<INVOICE_NUM>031110</INVOICE_NUM>
<INVOICE_DATE>10-NOV-03</INVOICE_DATE>
<INVOICE_CURRENCY_CODE>EUR</INVOICE_CURRENCY_CODE>
<ENT_AMT>122</ENT_AMT>
<ACCTD_AMT>122</ACCTD_AMT>
<VAT_CODE>VAT22%</VAT_CODE>
</G_INVOICE_NUM>
</LIST_G_INVOICE_NUM>
<ENT_SUM_VENDOR>1000.00</ENT_SUM_VENDOR>
<ACCTD_SUM_VENDOR>1000.00</ACCTD_SUM_VENDOR>
</G_VENDOR_NAME>
</LIST_G_VENDOR_NAME>
<ACCTD_SUM_REP>108763.68</ACCTD_SUM_REP>
<ENT_SUM_REP>122039</ENT_SUM_REP>
</VENDOR_REPORT>

XMLファイルは複数の要素で構成されています。各タグ・セットが1つの要素です。たとえば、<INVOICE_DATE> </INVOICE_DATE>は請求日要素です。INVOICE_DATEはタグ名です。両方のタグに囲まれたデータが要素の値です。たとえば、INVOICE_DATEの値は10-NOV-03です。

XMLファイルの要素には階層構造があります。つまり、要素には親子関係があります。前述のXMLサンプルでは、ある要素のタグの間に別の要素が含まれています。別の要素を含んでいる要素が親で、含まれている要素が子になります。

すべてのXMLファイルには、他のすべての要素を含むルート要素が1つあります。前述の例では、VENDOR_REPORTがルート要素です。LIST_G_VENDOR_NAME、ACCTD_SUM_REPおよびENT_SUM_REPの各要素はVENDOR_REPORTタグの間に含まれており、これらはVENDOR_REPORTの子要素になります。各子要素には、それ自体の子要素を指定できます。

4.2.2 プレースホルダとグループの識別

テンプレートの内容とレイアウトは、入力XMLファイルの内容と階層に対応している必要があります。テンプレート内のデータ・フィールドのそれぞれを、XMLファイル内の要素にマッピングする必要があります。テンプレート内の繰返し要素の各グループは、XMLファイル内の親子関係に対応している必要があります。

データ・フィールドをマップするには、プレースホルダを定義します。繰返し要素を指定するには、グループを定義します。

注意:

レポートが受信したXMLデータの階層と異なるグループ化を必要とする場合、BI Publisherではデータの再グループ化がサポートされます。この機能の使用の詳細は、第4.12.3項「XMLデータの再グループ化」を参照してください。

4.2.3 プレースホルダの使用方法

レポート・テンプレートのデータ・フィールドのそれぞれが、XMLファイル内の要素に対応している必要があります。テンプレート設計をマークアップするときは、XML要素のプレースホルダを定義します。このプレースホルダによって、テンプレートのレポート・フィールドがXML要素にマッピングされます。プレースホルダは、実行時に、XMLデータ・ファイル内にある同名の要素の値に置換されます。

たとえば、サンプルのレポート・レイアウトの「Supplier」フィールドは、XML要素のVENDOR_NAMEに対応しています。テンプレートをマークアップするときは、「Supplier」フィールドの位置にVENDOR_NAMEのプレースホルダを作成します。このプレースホルダは、実行時に、XMLファイル内の要素の値(サンプル・ファイルの値はCOMPANY A)に置換されます。

4.2.4 繰返し要素のグループの識別

サンプル・レポートには、仕入先とその請求書がリストされています。レポートには、仕入先ごとに繰り返されるフィールドがあります。その1つが仕入先の請求書です。さらに、請求書ごとに繰り返されるフィールドがあります。つまり、レポートは、次の2グループの繰返しフィールドで構成されています。

- 仕入先ごとに繰り返されるフィールド

- 請求書ごとに繰り返されるフィールド

請求書グループは仕入先グループ内にネストされています。これは、次のように表すことができます。

仕入先

- 仕入先名

- 請求書

- 請求書番号

- 請求日

- GL日

- 通貨

- 入力値

- 報告値

- 合計入力値

- 合計報告値

この構造をXML入力ファイルの階層と比較します。前述の仕入先グループに属するフィールドは、要素G_VENDOR_NAMEの子になります。また、請求書グループに属するフィールドは、要素G_INVOICE_NUMの子になります。

グループを定義することによって、要素(親)の出現箇所ごとに、含まれているフィールド(子)を表示するようにBI Publisherに通知しています。実行時に、BI Publisherは要素の出現箇所をすべてループ処理し、そのたびにフィールドを表示します。

4.3 テンプレート・レイアウトへのマークアップの追加

BI Publisherは、ワード・プロセッサで適用した書式設定をXSL-FOに変換します。マークアップを追加して、レイアウトとXMLファイル間のマッピングを作成し、書式で直接表現できない機能を組み込みます。

最も基本的なマークアップ要素は、XMLデータ要素を定義するプレースホルダ、および繰返し要素を定義するグループです。

BI Publisherには、マークアップをテンプレートに追加するためのタグが用意されています。BI Publisherのタグに相当するXSLについては、第B.2項「XSLの同等要素」を参照してください。

4.3.1 プレースホルダの作成

プレースホルダによって、テンプレート・フィールドがXML要素データ・フィールドにマッピングされます。プレースホルダは、実行時に、XMLデータ・ファイル内にある同名の要素の値に置換されます。

プレースホルダは、次の構文を使用してドキュメントに入力します。

<?XML要素のタグ名?>

プレースホルダはXML要素のタグ名と正確に一致している必要があります。大文字と小文字が区別されます。

次の各項で説明するとおり、プレースホルダはドキュメントに2種類の方法で挿入できます。

- 第4.3.1.1項「基本RTF方式の使用」: プレースホルダ構文をテンプレート・ドキュメントに直接挿入します。

- 第4.3.1.2項「フォーム・フィールド方式の使用」: (Microsoft Wordが必要)プレースホルダ構文をMicrosoft Wordの「テキスト ボックス フォーム フィールド」ウィンドウに挿入します。この方式を使用すると、テンプレートの外観を維持できます。
詳細は、第5.4.1項「フィールドの挿入」を参照してください。

4.3.1.1 基本RTF方式の使用

XMLデータ値を表示するドキュメント内の場所にプレースホルダ構文を入力します。

次の構文を使用して、要素のXMLタグ名を入力します。

<?XML要素のタグ名?>

次の例では、テンプレート・フィールド「Supplier」がXML要素VENDOR_NAMEにマッピングされます。ドキュメントでは次のように入力します。

<?VENDOR_NAME?>

図4-2に、テンプレートのエントリを示します。

図4-2 テンプレートのエントリ

4.3.1.2 フォーム・フィールド方式の使用

Microsoft Wordのフォーム・フィールド方式を使用して、プレースホルダ・タグを挿入する手順は次のとおりです。

1. Microsoft Wordアプリケーションで、「フォーム」ツールバーを有効にします。

2. プレースホルダを作成する位置にカーソルを置きます。

3. 「Text Form Field」ツールバー・アイコンを選択します。この操作によって、フォーム・フィールド領域がドキュメントに挿入されます。

4. フォーム・フィールド領域をダブルクリックして、「Text Form Field Options」ダイアログ・ボックスを起動します。

5. (オプション)「Default text」フィールドに、フィールドの説明を入力します。このフィールドに入力した内容がテンプレートのプレースホルダの位置に移入されます。
たとえば、「Supplier 1」と入力します。

6. 「Add Help Text」ボタンを選択します。

7. 次の構文を使用して、ヘルプ・テキスト入力フィールドにXML要素のタグ名を入力します。
<?XML要素のタグ名?>

テキスト入力フィールドには、複数の要素タグ名を入力できます。

次の例では、レポート・フィールド「Supplier」がXML要素VENDOR_NAMEにマッピングされます。「Form Field Help Text」フィールドには次のように入力します。

<?VENDOR_NAME?>

図4-3に、「テキスト ボックス フォーム フィールド」ダイアログ・ボックス、および「Supplier」フィールドに適切な入力がある「ヘルプの追加」ダイアログ・ボックスを示します。

図4-3 「Supplier」フィールドのダイアログ

ヒント:

BI Publisher構文の文字列が長い場合、「ステータス バー」タブのかわりに「ヘルプ キー (F1)」タブを使用します。「Help Key (F1)」タブでは、より多くのテキストを入力できます。

8. 「OK」をクリックして適用します。
テンプレートのフォーム・フィールドにデフォルト・テキストが表示されます。

図4-4に、フォーム・フィールド・マークアップが追加されたテンプレートの「Supplier」フィールドを示します。

図4-4 マークアップが追加された「Supplier」フィールド

4.3.1.3 この例のまとめ

表4-1に、この例を完成するために入力したすべての内容を示します。テンプレート・フィールド名はテンプレートでの表示名です。デフォルト・テキスト入力は、「Text Form Field Options」ダイアログ・ボックスの「Default Text」フィールドに入力した値です(フォーム・フィールド方式の場合のみ)。プレースホルダ入力は、「Form Field Help Text」フィールド(フォーム・フィールド方式の場合)またはテンプレートに直接入力したXML要素タグ名です。

表4-1 例を完成するためのすべての入力内容

テンプレート・フィールド名

デフォルト・テキスト入力(フォーム・フィールド方式)

プレースホルダ入力(XMLタグ名)

請求書番号

1234566

<?INVOICE_NUM?>

請求日

1-Jan-2004

<?INVOICE_DATE?>

GL日

1-Jan-2004

<?GL_DATE?>

Curr

YEN

<?INVOICE_CURRENCY_CODE?>

Entered Amt

1000.00

<?ENT_AMT?>

Accounted Amt

1000.00

<?ACCTD_AMT?>

(Entered Amount列の合計)

1000.00

<?ENT_SUM_VENDOR?>

(Accounted Amount列の合計)

1000.00

<?ACCTD_SUM_VENDOR?>

図4-5は、フォーム・フィールドのプレースホルダ・マークアップが完成したPayables Invoice Registerです。完全な基本RTFマークアップについては、図4-6を参照してください。

図4-5 フォーム・フィールド・マークアップが設定されたPayables Invoice Register

4.4 グループの定義

グループを定義することによって、組み込まれたフィールドを要素の出現箇所ごとに表示するように、BI Publisherに通知します。実行時に、BI Publisherは要素の出現箇所をすべてループ処理し、そのたびにフィールドを表示します。

次の例では、XMLファイルのG_VENDOR_NAMEが出現するたびに、その子要素であるVENDOR_NAME(Supplier名)、G_INVOICE_NUM(Invoicesグループ)、入力済金額合計および計上済金額合計をテンプレートで表示します。さらに、G_INVOICE_NUM(Invoicesグループ)が出現するたびに、請求書番号、請求日、GL記帳日、通貨、入力済金額および計上済金額がテンプレートに表示されます。

繰返しフィールドのグループを指定するには、繰り返す要素の前後にグループ・タグを挿入します。

最初の要素の前に、次のタグを挿入します。

<?for-each:XMLグループ要素のタグ名?>

最後の要素の後に、次のタグを挿入します。

<?end for-each?>

注意:

詳細は、第5.4.5項「繰返しグループの挿入」を参照してください。

4.4.1 グループ化のシナリオ

グループ化の際にグループ要素は、XML入力ファイルの繰返し要素の親でなければならないということに注意してください。

- テキストまたは書式設定要素の前後にグループ化タグを挿入すると、グループ・タグに囲まれたテキストまたは書式設定要素が繰り返されます。

- 表の前後にタグを挿入すると、表が繰り返されます。

- 表セル内のテキストの前後にタグを挿入すると、タグに囲まれた表セル内のテキストが繰り返されます。

- 同じ表の行内にある2つの異なる表セルの前後にタグを挿入すると、その1行が繰り返されます。

- 表内の2つの異なる行の前後にタグを挿入すると、タグに囲まれた行が繰り返されます(グループ終了タグを含む行は繰り返されません)。

4.4.2 基本RTF方式の使用

タグをドキュメントに入力して、繰返し要素グループの開始と終了を定義します。

この例でSuppliersグループを作成するには、次のタグを挿入します。

<?for-each:G_VENDOR_NAME?>

このタグは、すでに作成してある「Supplier」フィールドの前に挿入します。

文書内の要約行の後に、<?end for-each?>を挿入します。

図4-6に、基本RTFグループ化とプレースホルダ・マークアップを設定したPayables Invoice Registerを示します。

図4-6 基本RTFグループ化とマークアップが設定されたPayables Invoice Register

4.4.3 フォーム・フィールド方式の使用

Microsoft Wordのフォーム・フィールド方式を使用して、グループを定義する手順は次のとおりです。

1. フォーム・フィールドを挿入して、グループの開始を指定します。
ヘルプ・テキスト・フィールドには次のように入力します。

<?for-each:グループ要素タグ名?>

この例のSuppliersグループを作成するには、すでに作成してある「Suppliers」フィールドの前にフォーム・フィールドを挿入します。ヘルプ・テキスト・フィールドには次のように入力します。

<?for-each:G_VENDOR_NAME?>

この例では、デフォルト・テキスト「Group: Suppliers」を入力して、テンプレートのグループの開始を指定します。デフォルト・テキストは必須ではありませんが、テンプレートが理解しやすくなります。

2. グループ内の最後のプレースホルダの後にフォーム・フィールドを挿入します。ヘルプ・テキスト・フィールドに、<?end for-each?>と入力します。
この例では、要約行の後にデフォルト・テキスト「End: Suppliers」を入力して、テンプレートのグループの終了を指定します。

図4-7に、Suppliersグループを指定するマークアップを追加した後のテンプレートを示します。

図4-7 Suppliersグループが追加されたテンプレート

4.4.4 この例のまとめ

この例の2番目のグループは請求書グループです。このグループの繰返し要素は表に表示されます。請求書ごとに表の行が繰り返されます。これらの要素を含むグループを表内に作成します。

注意:

請求書ごとに、表全体ではなく、表の行のみを繰り返す必要があります。表の行の始めと終わりにグループ化タグを配置すると、行のみが繰り返されます。表の周りにタグを配置すると、新しい請求書ごとにヘッダーを含む表全体が繰り返されます。

この例をマークアップするには、表セルのInvoice Numプレースホルダの前に、グループ・タグ<?for-each:G_INVOICE_NUM?>を挿入します。デフォルト・テキスト「Group: Invoices」を入力して、グループの開始を指定します。

行の最後の表セル内で、Accounted Amtプレースホルダの後に終了タグを挿入します。デフォルト・テキスト「End: Invoices」を入力して、グループの終了を指定します。

図4-8に、フォーム・フィールド方式を使用して設定した例を示します。

図4-8 グループが設定されたPayables Invoice Register

4.5 ヘッダーとフッターの定義

テンプレートの一部として、ヘッダーとフッターを定義できます。この項の内容は次のとおりです。

- 第4.5.1項「ヘッダーおよびフッターのネイティブ・サポート」

- 第4.5.2項「ヘッダーおよびフッターへのプレースホルダの挿入」

- 第4.5.3項「複数または複雑なヘッダーおよびフッターの作成」

- 第4.5.4項「先頭ページ、奇数ページ、偶数ページの個別定義」

4.5.1 ヘッダーおよびフッターのネイティブ・サポート

BI Publisherでは、RTF固有のヘッダーとフッターの機能を使用できます。ヘッダーまたはフッターを作成するには、使用しているワード・プロセッサのヘッダーとフッターの挿入ツールを使用します。複数のヘッダーとフッターがある場合などは、別の方法として、start:bodyタグおよびend bodyタグを使用して、ヘッダーとフッターのリージョンとレポート本体を区別できます。

4.5.2 ヘッダーとフッターへのプレースホルダの挿入

このマニュアルの作成時点では、Microsoft Wordでは、ヘッダーとフッターのフォーム・フィールドをサポートしていません。したがって、プレースホルダ構文をテンプレートに直接挿入するか(基本RTF方式)、次の項で説明するstart body/end body構文を使用する必要があります。

4.5.3 複数または複雑なヘッダーおよびフッターの作成

テンプレートで複数のヘッダーとフッターが必要な場合は、BI Publisherのタグを使用してヘッダーとフッターを作成し、レポートの本文領域を定義します。この方法は、フォーム・フィールドに配置する複雑なオブジェクトがヘッダーとフッターに含まれている場合にも使用できます。本文領域を定義する際に、その本文領域の開始前に出現する要素がヘッダーになります。フッターになるのは、本文領域の後に来る要素です。

レポートの本文領域は、次のタグを使用して囲みます。

<?start:body?>

<?end body?>

これらのタグは、テンプレートで直接使用するか、フォーム・フィールド内で使用します。

Payables Invoice Registerのヘッダーとフッターは単純であるため、start body/end bodyタグを使用する必要はありません。ただし、別のヘッダーをテンプレートに追加する場合は、本文領域を定義します。

本文領域を定義する手順は次のとおりです。

1. Suppliersグループ・タグの前に<?start:body?>を挿入します。
<?for-each:G_VENDOR_NAME?>

2. Suppliersグループの終了タグの後に<?end body?>を挿入します。
<?end for-each?>

図4-9に、start body/end bodyタグが挿入されたPayables Invoice Registerを示します。

図4-9 bodyタグが挿入されたPayables Invoice Register

4.5.4 先頭ページ、奇数ページ、偶数ページの個別定義

レポートの先頭ページに異なるヘッダーやフッターが必要な場合、または奇数ページと偶数ページで異なるヘッダーやフッターが必要な場合は、Microsoft Wordの「ページ設定」ダイアログを使用してこの動作を定義できます。

注意:

この機能は、PDF出力およびRTF出力のみでサポートされています。

異なるページ設定を定義する手順は次のとおりです。

1. 「ファイル」メニューから「ページ設定」を選択します。

2. 「ページ設定」ダイアログで「レイアウト」タブを選択します。

3. ダイアログの「ヘッダーとフッター」領域で、該当するチェック・ボックスを選択します。
「Different odd and even」

先頭ページのみ別指定

4. 必要に応じてテンプレートにヘッダーとフッターを挿入します。

実行時に、定義したとおりのヘッダーとフッターが生成されたレポートに表示されます。

4.6 イメージとチャートの挿入

次の各項で説明するように、BI Publisherでは、公開されたドキュメントにイメージを挿入する方法が数種類サポートされています。

- 第4.6.1項「イメージの直接挿入」

- 第4.6.2項「URL参照によるイメージの挿入」

- 第4.6.3項「XMLファイルの要素参照によるイメージの挿入」

- 第4.6.4項「BLOBデータから取得したイメージのレンダリング」

- 第4.6.5項「テンプレートへのチャートの追加」

4.6.1 イメージの直接挿入

jpg、gifまたはpngイメージをテンプレートに直接挿入します。

4.6.2 URL参照によるイメージの挿入

URL参照によってイメージを挿入する手順は次のとおりです。

1. ダミー・イメージをテンプレートに挿入します。

2. Microsoft Wordの「図の書式設定」ダイアログ・ボックスで「Web」タブを選択します。イメージURLを参照するには、次の構文を「Alternative text」リージョンに入力します。
url:{'http://<image location>'}

たとえば、次のように入力します。

url:{'http://www.example.com/images/ora_log.gif'}

4.6.3 XMLファイルの要素参照によるイメージの挿入

要素参照によってイメージを挿入する手順は次のとおりです。

1. ダミー・イメージをテンプレートに挿入します。

2. Microsoft Wordの「図の書式設定」ダイアログ・ボックスで「Web」タブを選択します。イメージURLを参照するには、次の構文を「Alternative text」リージョンに入力します。
url:{IMAGE_LOCATION}

ここで、IMAGE_LOCATIONは、イメージへの完全なURLを保持するXMLファイルの要素です。

実行時に複数の要素に基づいてURLを作成することもできます。concat関数を使用してURL文字列を作成します。たとえば、次のように入力します。

url:{concat(SERVER,'/',IMAGE_DIR,'/',IMAGE_FILE)}

ここで、SERVER、IMAGE_DIRおよびIMAGE_FILEは、URLの作成に必要な値を保持するXMLファイルの要素です。

この方法は、次のようにOA_MEDIA参照とともに使用することもできます。

url:{concat('${OA_MEDIA}','/',IMAGE_FILE)}

4.6.4 BLOBデータから取得したイメージのレンダリング

結果のXMLにデータベースでBLOBとして保存されていたイメージ・データが含まれる場合は、テンプレートに挿入され、実行時にイメージを表示するフォーム・フィールドで次の構文を使用します。

<fo:instream-foreign-object content-type="image/jpg">
<xsl:value-of select="IMAGE_ELEMENT"/>
</fo:instream-foreign-object>

説明:

image/jpgは、イメージのMIMEタイプです(他のオプションとしてimage/gifとimage/pngもあります)。

および

IMAGE_ELEMENTは、XMLデータのBLOBの要素名です。

イメージには、高さと幅の属性を指定して、発行レポートのイメージのサイズを設定できます。BI Publisherでは、定義したボックス・サイズに応じてサイズを調整してイメージが表示されます。たとえば、前述の例のサイズを3x4インチに設定するには、次のように入力します。

<fo:instream-foreign-object content-type="image/jpg" height="3 in" width="4 in">
<xsl:value-of select="IMAGE_ELEMENT"/>
</fo:instream-foreign-object>

次のようにピクセルを使用して指定します。

<fo:instream-foreign-object content-type="image/jpg" height="300 px" width="4 px">
...

cmも使用できます。

<fo:instream-foreign-object content-type="image/jpg" height="3 cm" width="4 cm">
...

あるいは、元のディメンションに対するパーセントで指定できます。

<fo:instream-foreign-object content-type="image/jpg" height="300%" width="300%">
...

4.6.5 テンプレートへのチャートの追加

チャートをテンプレートに追加する手順の概要は次のとおりです。これらの手順は、この項で例を使用して詳細に説明します。

1. ダミー・イメージをテンプレートに挿入して、チャートのサイズと位置を定義します。

2. ダミー・イメージの「Alternative text」ボックスに、チャートの定義を追加します。チャートの定義にはXSLコマンドが必要です。

3. 実行時に、BI Publisherは、チャート・エンジンをコールしてイメージをレンダリングします。このイメージは、最終出力文書に挿入されます。

RTF出力がラスター・イメージに制限されていることに注意してください。PDFとHTMLの出力は、ラスター・イメージとベクトル・イメージをサポートしています。

注意:

詳細は、第5.4.4項「チャートの挿入」を参照してください。

4.6.5.1 サンプル・チャートの追加

次の例は、会社の部門別に売上合計を表示するXMLデータの一部です。

<sales year=2004>
<division>
<name>Groceries</name>
<totalsales>3810</totalsales>
<costofsales>2100</costofsales>
</division>
<division>
<name>Toys</name>
<totalsales>2432</totalsales>
<costofsales>1200</costofsales>
</division>
<division>
<name>Cars</name>
<totalsales>6753</totalsales>
<costofsales>4100</costofsales>
</division>
<division>
<name>Hardware</name>
<totalsales>2543</totalsales>
<costofsales>1400</costofsales>
</division>
<division>
<name>Electronics</name>
<totalsales>5965</totalsales>
<costofsales>3560</costofsales>
</division>
</sales>

この例は、チャートをテンプレートに挿入し、図4-10に示すように縦棒グラフとして表示する方法を示しています。

図4-10 売上データの棒グラフ

このチャートの次の属性に注目してください。

- 形式は垂直棒グラフです。

- チャートの背景にはグリッドが表示されています。

- 各コンポーネントはカラーで表示されています。

- 売上合計はY軸ラベルで表示されています。

- 各部門はX軸ラベルで表示されています。

- チャートにタイトルが付いています。

- チャートに凡例が表示されています。

各プロパティは、個別のレポート要件にあわせてカスタマイズできます。

4.6.5.2 ダミー・イメージの挿入

最初の手順では、テンプレートのチャートを表示する位置にダミー・イメージを追加します。このイメージ・サイズによって、最終的なドキュメントにおけるチャート・イメージの大きさが定義されます。

注意:

ダミー・イメージは「図」として挿入してください。これ以外の種類のオブジェクトは使用できません。

図4-11 にダミー・イメージの例を示します。

図4-11 ダミー・イメージの例

繰返しデータに基づいてチャートを出力に繰返し表示する場合は、他のフォーム・フィールドと同様に、イメージをfor-eachループ内に埋め込むことができます。この例のチャートは、sales yearグループ内で定義されているため、XMLファイルに存在するデータの年度ごとに生成されます。

イメージを右クリックして「Format Picture」パレットを開き、「Web」タブを選択します。「代替テキスト」入力ボックスを使用して、チャート特性を定義するコードとチャートのデータ定義を入力します。

4.6.5.3 「代替テキスト」ボックスへのコードの追加

図4-12に、「図の書式設定」の「代替テキスト」ボックスのBI Publisherコードの例を示します。

図4-12 「代替テキスト」ボックス

「代替テキスト」の内容は、最終的なドキュメントでレンダリングされるチャートを表します。このチャートの場合、テキストは次のとおりです。

chart:
<Graph graphType = "BAR_VERT_CLUST">
<Title text="Company Sales 2004" visible="true" horizontalAlignment="CENTER"/>
<Y1Title text="Sales in Thousands" visible="true"/>
<O1Title text="Division" visible="true"/>
<LocalGridData colCount="{count(//division)}" rowCount="1">
<RowLabels>
<Label>Total Sales $1000s</Label>
</RowLabels>
<ColLabels>
<xsl:for-each select="//division">
<Label>
<xsl:value-of select="name"/>
</Label>
</xsl:for-each>
</ColLabels>
<DataValues>
<RowData>
<xsl:for-each select="//division">
<Cell>
<xsl:value-of select="totalsales"/>
</Cell>
</xsl:for-each>
</RowData>
</DataValues>
</LocalGridData>
</Graph>

チャート・テキストの最初の要素はchart:要素にして、後続のコードでチャート・オブジェクトが記述されていることをRTFパーサーに通知する必要があります。

次の要素は開始の<Graph>タグです。コード全体が<Graph>要素のタグ内にあることに注意してください。この要素には、チャート・タイプを定義するためのgraphType属性があります。この属性が宣言されていない場合、デフォルトのチャートは垂直棒グラフです。BI Beansでは、多数の異なるチャート・タイプをサポートしています。この項では、それ以外のタイプも使用しています。チャート・タイプの完全リストは、BI BeansのグラフDTDのドキュメントを参照してください。

次のコード・セクションは、チャート・タイプと属性を定義します。

<Title text="Company Sales 2004" visible="true" horizontalAlignment="CENTER"/>
<Y1Title text="Sales in Thousands" visible="true"/>
<O1Title text="Division" visible="true"/>

これらの値をすべて宣言するか、実行時にXMLデータから値を置換できます。たとえば、次の構文を使用すると、XMLタグからチャート・タイトルを取得できます。

<Title text="{CHARTTITLE}" visible="true" horizontalAlighment="CENTER"/>

ここで、CHARTTITLEはチャート・タイトルを含むXMLタグ名です。タグ名が中カッコで囲まれていることに注意してください。

次のセクションは、列ラベルと行ラベルを定義します。

<LocalGridData colCount="{count(//division)}" rowCount="1">
<RowLabels>
<Label>Total Sales $1000s</Label>
</RowLabels>
<ColLabels>
<xsl:for-each select="//division">
<Label>
<xsl:value-of select="name"/>
</Label>
</xsl:for-each>
</ColLabels>

LocalGridData要素には、colCountとrowCountの2つの属性があります。これらの属性は、実行時に表示する列と行の数を定義します。この例では、count関数でレンダリングする列の数を計算します。

colCount="{count(//division)}"

rowCountは1にハードコードされています。この値は、チャートの対象になるデータのセット数を定義します。この例では1です。

その次のコードは、行と列のラベルを定義します。これらのラベルを宣言するか、または実行時にXMLデータから値を置換できます。行ラベルはチャートの凡例で使用されます(この例では「Total Sales $1000s」)。

この例では、列ラベルがGroceries、Toys、Carsなどのデータから抽出されています。これは、for-eachループを使用して実行されます。

<ColLabels>
<xsl:for-each select="//division">
<Label>
<xsl:value-of select="name"/>
</Label>
</xsl:for-each>
</ColLabels>

このコードは、<division>グループをループし、<name>要素の値を<Label>タグに挿入します。実行時に、このコードにより、次のXMLが生成されます。

<ColLabels>
<Label>Groceries</Label>
<Label>Toys</Label>
<Label>Cars</Label>
<Label>Hardware</Label>
<Label>Electronics</Label>
</ColLabels>

次のセクションは、チャート対象の実際のデータ値を定義します。

<DataValues>
<RowData>
<xsl:for-each select="//division">
<Cell>
<xsl:value-of select="totalsales"/>
</Cell>
</xsl:for-each>
</RowData>
</DataValues>

ラベルのセクションと同様に、このコードはデータをループして、BI Beansのレンダリング・エンジンに渡されるXMLを生成します。このコードでは、次のXMLが生成されます。

<DataValues>
<RowData>
<Cell>3810</Cell>
<Cell>2432</Cell>
<Cell>6753</Cell>
<Cell>2543</Cell>
<Cell>5965</Cell>
</RowData>
</DataValues>

4.6.5.4 別のチャートのサンプル

前述のデータは、図4-13に示すように、円グラフでも表示できます。

図4-13 円グラフの例

次に、実行時にこのチャートをレンダリングするためにテンプレートに追加されたコードを示します。

chart:
<Graph graphType="PIE">
<Title text="Company Sales 2004" visible="true"
horizontalAlignment="CENTER"/>
<LocalGridData rowCount="{count(//division)}" colCount="1">
<RowLabels>
<xsl:for-each select="//division">
<Label>
<xsl:value-of select="name"/>
</Label>
</xsl:for-each>
</RowLabels>
<DataValues>
<xsl:for-each select="//division">
<RowData>
<Cell>
<xsl:value-of select="totalsales"/>
</Cell>
</RowData>
</xsl:for-each>
</DataValues>
</LocalGridData>
</Graph>

4.6.5.5 横棒グラフのサンプル

次に、売上合計と売上原価を横棒グラフで表示した例を説明します。図4-14に示すように、この例では売上原価要素(<costofsales>)のデータもチャートに追加されています。

図4-14 横棒グラフの例

次に、このチャートをテンプレートに定義するコードを示します。

chart:
<Graph graphType = "BAR_HORIZ_CLUST">
<Title text="Company Sales 2004" visible="true" horizontalAlignment="CENTER"/>
<LocalGridData colCount="{count(//division)}" rowCount="2">
<RowLabels>
<Label>Total Sales ('000s)</Label>
<Label>Cost of Sales ('000s)</Label>
</RowLabels>
<ColLabels>
<xsl:for-each select="//division">
<Label><xsl:value-of select="name"/></Label>
</xsl:for-each>
</ColLabels>
<DataValues>
<RowData>
<xsl:for-each select="//division">
<Cell><xsl:value-of select="totalsales"/></Cell>
</xsl:for-each>
</RowData>
<RowData>
<xsl:for-each select="//division">
<Cell><xsl:value-of select="costofsales"/></Cell>
</xsl:for-each>
</RowData>
</DataValues>
</LocalGridData>
</Graph>

2番目のデータ・セットに対応するため、LocalGridData要素のrowCount属性が2に設定されています。また、DataValuesセクションでは、売上合計と売上原価の2つのデータ・セットが定義されている点にも注意してください。

4.6.5.6 チャートの外観の変更

チャートの外観の変更には、BI BeansのグラフDTDの多くの属性を操作に使用できます。たとえば、図4-15.に示すように、前述のチャートでは、グリッドの削除、背景のグラデーションの配置、および棒の色やフォントの変更が可能です。

図4-15 変更後の棒グラフ

この変更をサポートするコードは次のとおりです。

chart:
<Graph graphType = "BAR_HORIZ_CLUST">
<SeriesItems>
<Series id="0" color="#ffcc00"/>
<Series id="1" color="#ff6600"/>
</SeriesItems>
<O1MajorTick visible="false"/>
<X1MajorTick visible="false"/>
<Y1MajorTick visible="false"/>
<Y2MajorTick visible="false"/>
<MarkerText visible="true" markerTextPlace="MTP_CENTER"/>
<PlotArea borderTransparent="true">
<SFX fillType="FT_GRADIENT" gradientDirection="GD_LEFT"
gradientNumPins="300">
<GradientPinStyle pinIndex="1" position="1"
gradientPinLeftColor="#999999"
gradientPinRightColor="#cc6600"/>
</SFX>
</PlotArea>
<Title text="Company Sales 2004" visible="true">
<GraphFont name="Tahoma" bold="false"/>
</Title>
. . .
</Graph>

棒の色はSeriesItemsセクションに定義されています。色は、次に示すように16進形式で定義されます。

<SeriesItems>
<Series id="0" color="#ffcc00"/>
<Series id="1" color="#ff6600"/>
</SeriesItems>

次のコードは、チャートのグリッドを非表示にします。

<O1MajorTick visible="false"/>
<X1MajorTick visible="false"/>
<Y1MajorTick visible="false"/>
<Y2MajorTick visible="false"/>

MarkerTextタグは、データ値をチャートの棒上に配置します。

<MarkerText visible="true" markerTextPlace="MTP_CENTER"/>

PlotAreaセクションは背景を定義します。SFX要素はグラデーションを設定し、borderTransparent属性はプロット境界を非表示にします。

<PlotArea borderTransparent="true">
<SFX fillType="FT_GRADIENT" gradientDirection="GD_LEFT"
gradientNumPins="300">
<GradientPinStyle pinIndex="1" position="1"
gradientPinLeftColor="#999999"
gradientPinRightColor="#cc6600"/>
</SFX>
</PlotArea>

Title textタグは、新規のフォント・タイプとサイズを指定するように更新されています。

<Title text="Company Sales 2004" visible="true">
<GraphFont name="Tahoma" bold="false"/>
</Title>

4.7 描画、図形、およびクリップ・アートの追加

BI Publisherでは、Microsoft Wordの描画、図形およびクリップアート機能をサポートしています。これらのオブジェクトをテンプレートに追加し、最終的なPDF出力またはHTML出力にレンダリングできます(これ以外の出力タイプはサポートされていません)。

次のオートシェイプ・カテゴリがサポートされています。

- 線: 直線、矢印、双方向矢印、曲線、フリー・フォーム、フリーハンドがあります。

- 双方向矢印: 直線の双方向矢印のみサポートされています。曲線の双方向矢印を作成するには、曲線を使用し、この曲線の終端スタイルを指定します。

- 基本図形: すべての図形がサポートされています。

- ブロック矢印: すべての矢印がサポートされています。

- フローチャート: すべてのフローチャート・オブジェクトがサポートされています。

- 星とリボン: すべてのオブジェクトがサポートされています。

- 吹き出し: 線の吹き出しはサポートされていません。

- クリップアート: Microsoft Clip Artライブラリを使用してイメージをテンプレートに追加します。

4.7.1 フリーハンド描画の追加

Microsoft Wordのフリーハンド描画ツールを使用して、テンプレートで最終的なPDF出力にレンダリングする図を作成します。

4.7.2 ハイパーリンクの追加

図形にハイパーリンクを追加できます。第4.9.5項「ハイパーリンクの挿入」を参照してください。

4.7.3 図形の重ね合わせ

図形を相互に重ね合せ、Microsoft Wordの透過性設定を使用して、下位レイヤー上の図形を透かしで表示できます。図4-16に、重ね合せた図形の例を示します。

図4-16 重ね合せた図形

4.7.4 3D効果の使用

BI Publisherでは、図形の3-Dオプションは現在サポートしていません。

4.7.5 Microsoft数式の追加

数式エディタを使用して、出力に数式を生成します。図4-17に、数式の例を示します。

図4-17 数式の例

4.7.6 組織図の追加

テンプレートで組織図機能を使用すると、組織図が出力にレンダリングされます。図4-18に組織図の例を示します。

図4-18 組織図の例

4.7.7 ワードアートの追加

Microsoft Wordのワードアート機能をテンプレートで使用できます。図4-19にワードアートの例を示します。

図4-19 ワードアート・サンプルの例

注意:

Microsoftのワードアートの中には、現在ではSVGに変換できないビットマップ操作を使用しているものがあります。サポートされていないワードアートをテンプレートで使用するには、WordArtのスクリーンショットを取得してイメージ(gif、jpegまたはpng)として保存し、そのイメージでワードアートを置き換えることができます。

4.7.8 データドリブン図形の追加

BI Publisherでは、テンプレートでの静的図形および機能のサポートだけでなく、受信データまたはパラメータに基づく図形の操作もサポートされます。次の操作がサポートされています。

- レプリケート

- 移動

- サイズ変更

- テキストの追加

- 傾斜

- 回転

これらの操作は1つの図形に適用されるだけでなく、Microsoft Wordのグループ機能を使用して、図形をまとめて結合し、グループとして操作できます。

4.7.9 操作コマンドの組込み

図4-20に示すように、図形のプロパティ・ダイアログの「Web」タブで、図形の操作コマンドを入力します。

図4-20 「図の書式設定」の「オートシェイプ」ダイアログ

4.7.10 図形のレプリケート

for-eachループでデータ要素を複製するのと同じ方法で、受信XMLデータに基づいて図形を複製できます。この場合、for-each@shapeコマンドをshape-offset宣言と組み合せて使用します。たとえば、図形をページの下方へ複製するには、次の構文を使用します。

<?for-each@shape:SHAPE_GROUP?>
<?shape-offset-y:(position()-1)*100?>
<?end for-each?>

説明:

for-each@shapeは、図形コンテキストのfor-eachループを開始します。

SHAPE_GROUPは、XMLファイルの繰返し要素の名前です。要素SHAPE_GROUPの出現ごとに、新規の図形が作成されます。

shape-offset-y:は、y軸に沿って図形をオフセットするコマンドです。

(position()-1)*100)は出現ごとにオフセットをピクセル単位で設定します。XSL positionコマンドにより、グループ内のレコード・カウンタ(1、2、3、4)が戻されます。その数値から1が差し引かれ、その結果に100が掛け合されます。したがって、最初の出現では(1-1) * 100であるため、オフセットが0になります。2つ目の出現のオフセットでは(2-1) *100であるため、100ピクセルとなります。後続の各出現では、オフセットがページ内でもう100ピクセル下になります。

4.7.11 図形へのテキストの追加

受信したXMLデータまたはパラメータ値に基づき、図形にテキストを動的に追加できます。プロパティ・ダイアログで、次の構文を入力します。

<?shape-text:SHAPETEXT?>

ここで、SHAPETEXTはXMLデータ内の要素名です。実行時に、テキストが図形に挿入されます。

4.7.12 直線または曲線に沿ったテキストの追加

受信したXMLデータまたはパラメータに基づき、直線または曲線に沿ってテキストを追加できます。直線を描画した後、プロパティ・ダイアログに次のように入力します。

<?shape-text-along-path:SHAPETEXT?>

ここで、SHAPETEXTはXMLデータ内の要素です。実行時に、要素SHAPETEXTの値が直線の上および直線沿いに挿入されます。

4.7.13 図形の移動

XMLデータに基づき、X軸とY軸の両方向に図形を移動または入替えできます。たとえば、図形をY軸方向に200ピクセル、X軸方向に300ピクセル移動するには、図形のプロパティ・ダイアログに次のコマンドを入力します。

<?shape-offset-x:300?>
<?shape-offset-y:200?>

4.7.14 図形の回転

受信したデータに基づいて指定された軸を中心にして図形を回転するには、次のコマンドを使用します。

<?shape-rotate:ANGLE;'POSITION'?>

説明:

ANGLEは、図形を回転する度合いの数値です。角度が正の数である場合、回転は右回りです。負の数の場合は、回転は左回りです。

POSITIONは、回転を実行する際の軸となるポイントであり、left/topなどとなります。有効な値は、left、rightまたはcenterと、center、topまたはbottomの組合せです。デフォルトはleft/topです。図4-21に、これらの有効な値を示します。

図4-21 図形の回転値

右下角を中心として矩形を回転するには、次の構文を入力します。

<?shape-rotate:60,'right/bottom'?>

図形自体の内部における、回転軸となるXおよびY座標を指定することもできます。

4.7.15 図形の傾斜

次のコマンドを使用して、XまたはY軸方向に図形を傾斜させることができます。

<?shape-skew-x:ANGLE;'POSITION'?>
<?shape-skew-y:ANGLE;'POSITION'?>

説明:

ANGLEは、図形を傾斜させる度合いの数値です。角度が正の数である場合、傾斜は右方向です。

POSITIONは、回転を実行する際の軸となるポイントであり、left/topなどとなります。有効な値は、left、rightまたはcenterと、center、topまたはbottomの組合せです。図4-21を参照してください。デフォルトは'left/top'です。

たとえば、右下角を中心として図形を30度傾斜させるには、次の構文を入力します。

<?shape-skew-x:number(.)*30;'right/bottom'?>

4.7.16 図形サイズの変更

適切なコマンドを使用して、単一軸または両方の軸方向に図形のサイズを変更できます。両方の軸方向に図形のサイズを変更するには、次のコマンドを使用します。

<?shape-size:RATIO?>

ここで、RATIOは図形のサイズを増減させる比率です。したがって、値が2の場合、元のサイズの高さと幅を2倍にした図形が生成されます。値が0.5の場合、元のサイズを半分にした図形が生成されます。

X軸またはY軸方向に図形のサイズを変更するには、次のコマンドを使用します。

<?shape-size-x:RATIO?>
<?shape-size-y:RATIO?>

xまたはyの値のみを変更した場合、単一軸方向に図形が拡大または縮小されます。これはデータによって制御できます。

4.7.17 コマンドの結合

また、これらのコマンドを結合し、図形に対して複数の変換を一度に実行できます。たとえば、図形を複製し、各複製について一定角度回転させ、同時にサイズを変更できます。

次の例では、図形を複製し、ページの下方向に50ピクセル分移動し、中心を軸にして5度回転させ、X軸方向に拡大し、さらに図形の番号をテキストとして追加する方法を示しています。

<for-each@shape:SHAPE_GROUP?>
<?shape-text:position()?>
<?shape-offset-y:position()*50?>
<?shape-rotate:5;'center/center'?>
<?shape-size-x:position()+1?>
<end for-each?>

このコマンドにより、図4-22のような出力が生成されます。

図4-22 図形の変換

4.7.18 CD評価の例

この例では、受信したXMLファイルのデータに基づいて星による評価を生成するテンプレートの設定方法を示しています。

次のXMLデータを受信したと想定します。

<CATALOG>
<CD>
<TITLE>Empire Burlesque</TITLE>
<ARTIST>Bob Dylan</ARTIST>
<COUNTRY>USA</COUNTRY>
<COMPANY>Columbia</COMPANY>
<PRICE>10.90</PRICE>
<YEAR>1985</YEAR>
<USER_RATING>4</USER_RATING>
</CD>
<CD>
<TITLE>Hide Your Heart</TITLE>
<ARTIST>Bonnie Tylor</ARTIST>
<COUNTRY>UK</COUNTRY>
<COMPANY>CBS Records</COMPANY>
<PRICE>9.90</PRICE>
<YEAR>1988</YEAR>
<USER_RATING>3</USER_RATING>
</CD>
<CD>
<TITLE>Still got the blues</TITLE>
<ARTIST>Gary More</ARTIST>
<COUNTRY>UK</COUNTRY>
<COMPANY>Virgin Records</COMPANY>
<PRICE>10.20</PRICE>
<YEAR>1990</YEAR>
<USER_RATING>5</USER_RATING>
</CD>
<CD>
<TITLE>This is US</TITLE>
<ARTIST>Gary Lee</ARTIST>
<COUNTRY>UK</COUNTRY>
<COMPANY>Virgin Records</COMPANY>
<PRICE>12.20</PRICE>
<YEAR>1990</YEAR>
<USER_RATING>2</USER_RATING>
</CD>
<CATALOG>

CDごとにUSER_RATING要素がある点に注意してください。このデータ要素および図形操作コマンドを使用して、読者が一目で評価を比較できるような視覚的な表示の評価図を作成できます。図4-23に、この処理を行うためのテンプレートを示します。

図4-23 評価の視覚的表示

表4-2は、フィールドの値を示しています。

表4-2 フィールドの値

フィールド

フォーム・フィールド入力

F

<?for-each:CD?>

TITLE

<?TITLE?>

ARTIST

<?ARTIST?>

E

<?end for-each?>

(星型)

「Web」タブに入力:

<?for-each@shape:xdoxslt:foreach_number($_XDOCTX,1,USER_RATING,1)?>

<?shape-offset-x:(position()-1)*25?>

<?end for-each?>

フォーム・フィールドには、単一要素の値が保持されます。このテンプレートでの唯一の相違点は、星型の値です。複製コマンドは、「オートシェイプの書式設定」ダイアログの「Web」タブにあります。

for-each@shapeコマンドでは、"for...next loop"構造を作成するコマンドを使用できます。開始番号に1、最終番号に値USER_RATING、ステップ値に1を指定します。テンプレートがCDをループすると、USER_RATING値ごとに星型を繰り返す内部ループが作成されます(つまり、値が4の場合、4個の星が生成されます)。図4-24に、このテンプレートおよびXMLサンプルからの出力を示します。

図4-24 XMLファイルの評価データ

4.7.19 グループ化された図形の例

この例では、図形を結合してグループにし、受信データに対して個別およびグループの両方で対応するよう設定する方法を示しています。次のXMLデータを前提としています。

<SALES>
<SALE>
<REGION>Americas</REGION>
<SOFTWARE>1200</SOFTWARE>
<HARDWARE>850</HARDWARE>
<SERVICES>2000</SERVICES>
</SALE>
<SALE>
<REGION>EMEA</REGION>
<SOFTWARE>1000</SOFTWARE>
<HARDWARE>800</HARDWARE>
<SERVICES>1100</SERVICES>
</SALE>
<SALE>
<REGION>APAC</REGION>
<SOFTWARE>900</SOFTWARE>
<HARDWARE>1200</HARDWARE>
<SERVICES>1500</SERVICES>
</SALE>
</SALES>

ユーザーがすべての地域における売上データを迅速に把握できるように、このデータの図による表示を作成できます。これには、まずMicrosoft Wordで操作の対象となる複合図形を作成します。図4-25は、4個のコンポーネントから構成される複合図形を示しています。

図4-25 複合図形

この図形は、赤、黄および青の3つの円柱で構成されています。これらは、ソフトウェア、ハードウェアおよびサービスのデータ要素を表します。結合オブジェクトには、受信データからテキストを受け取るために有効化された矩形も含まれます。

次のコマンドが「Web」タブに入力されています。

赤い円柱: <?shape-size-y:SOFTWARE div 1000;'left/bottom'?>

黄色の円柱: <?shape-size-y:HARDWARE div 1000;'left/bottom'?>

青い円柱: <?shape-size-y:SERVICES div 1000;'left/bottom'?>

shape-sizeコマンドを使用すると、SOFTWARE、HARDWAREおよびSERVICES要素の値に基づいて円柱が拡大または縮小されます。拡大または縮小ファクタを設定するには、この値を1000で割ります。たとえば、値が2000の場合、1000で割ってファクタ2を算出します。図形は現在の2倍の高さで生成されます。

テキスト対応の矩形については、「Web」タブに次のコマンドが含まれます。

<?shape-text:REGION?>

実行時に、REGION要素の値が矩形に表示されます。

これらのすべての図形がグループ化され、グループ・オブジェクトの「Web」タブに次の構文が追加されます。

<?for-each@shape:SALE?>
<?shape-offset-x:(position()-1)*110?>
<?end for-each?>

このコマンド・セットでは、for-each@shapeがSALEグループをループします。shape-offsetコマンドにより、ループ内の次の図形が右方向に指定ピクセル分移動します。式(position()-1)により、オブジェクトの位置が設定されます。position()関数では、ループ処理中にレコード・カウンタが戻されるため、最初の図形では、オフセットが1-1*110、すなわち0となり、オブジェクトの最初のレンダリングがテンプレートで定義された位置に配置されます。後続の出現箇所は、X軸方向(右方向)に110ピクセル分オフセットした位置でレンダリングされます。

図4-26に示すように、実行時に3つの図形のセットがページ全体にレンダリングされます。

図4-26 複数の複合図形セットのレンダリング

より一層視覚的にわかりやすいレポートを作成するため、これらの図形を世界地図上に重ねることができます。Microsoft Wordの「順序」ダイアログを使用して、グループ化した図形の背後に地図を重ねます。

- Microsoft Word 2000ユーザー: 背景用の地図を追加して図形グループを重ねた後、「グループ化」ダイアログを使用して構成全体を1つのグループにします。

- Microsoft Word 2002/3ユーザー: これらのバージョンのWordには、「ツール」->「オプション」->「全般」タブのに「オートシェイプの挿入時、自動的に新しい描画キャンバスを作成する」オプションがあります。このオプションを使用すると、地図と図形を最終的にグループ化する必要がありません。これで、図4-27に示すような視覚的効果の高い出力をレポートに生成できます。

図4-27 世界地図上の図形

4.8 サポート対象のMicrosoft Wordの書式設定機能

これまでに説明した機能に加えて、BI Publisherでは、次の各項で説明するMicrosoft Wordの機能もサポートしています。

- 第4.8.1項「Microsoft Wordの一般的な機能」

- 第4.8.2項「オブジェクトの整列」

- 第4.8.3項「表の挿入」

- 第4.8.4項「日付フィールドの挿入」

- 第4.8.5項「ページへの段組みの挿入」

- 第4.8.6項「背景および透かしの挿入」

- 第4.8.7項「サポートされていないMicrosoft Wordの機能」

4.8.1 Microsoft Wordの一般的な機能

- テキストの大きいブロック

- 改ページ
(HTML出力ではサポートされていません)改ページを挿入するには、グループの終了タグの直前で[Ctrl]キーを押しながら[Enter]キーを押します。たとえば、Payables Invoice Registerで、仕入先ごとに新規ページになるようにテンプレートを設定する手順は、次のとおりです。

1. Supplierグループの終了<?end for-each?>タグの直前にカーソルを置きます。

2. [Ctrl]を押しながら[Enter]を押して、改ページを挿入します。

これによって、実行時には、Supplierのそれぞれが新規ページで開始されます。

このMicrosoft Wordにネイティブの機能を使用すると、レポート出力の最後に空白ページが1ページ出力されます。この空白ページを出力しないようにするには、BI Publisherの改ページ別名を使用します。第4.9.1項「改ページの挿入」を参照してください。

- ページ番号
ワード・プロセッサのページ番号付け方法を使用して、最終レポートにページ番号を挿入します。たとえば、Microsoft Wordを使用している場合は、次の手順を実行します。

1. 「Insert」メニューから「Page Numbers...」を選択します。

2. 必要に応じて、「Position」、「Alignment」および「Format」を選択します。

実行時に、選択内容に従ってページ番号が表示されます。

HTML出力ではページ番号付けはサポートされておらず、RTF出力ではサポートに制限があります。RTFレポートの生成後に、[F9]を押すとページ番号がリセットされます。

- 非表示テキスト
Microsoft Wordではテキストを非表示として書式設定できます。非表示テキストはRTF出力レポートで保持されます。

4.8.2 オブジェクトの整列

テキスト、グラフィック、オブジェクトおよび表は、ワード・プロセッサの配置機能を使用して配置します。双方向性言語は、ワード・プロセッサの左/右揃えコントロールを使用して、自動的に処理されます。

BI Publisher出力ドキュメントでは、中国語、日本語および韓国語のような表意文字を使用する言語の左および右の行端揃えはサポートされていません。

4.8.3 表の挿入

BI Publisherでは、次のMicrosoft Word機能がサポートされます。

- ネストされた表

- セル配置
オブジェクトは、使用しているワード・プロセッサの配置ツールを使用してテンプレートに配置できます。この配置は、最終レポート出力に反映されます。

- 行の拡張と列の拡張
テンプレート内の行と列の両方を拡張する手順は次のとおりです。

1. マージするセルを選択します。

2. 「Table」メニューから「Merge Cells」を選択します。

3. マージしたセル内にデータを通常の方法で配置します。

実行時に、セルがマージされて表示されます。

- 表の自動書式設定
BI Publisherは、Microsoft Wordで使用可能な表の自動書式設定を認識します。

表を自動書式設定する手順は次のとおりです。

1. 書式設定する表を選択します。

2. 「Table」メニューから「Autoformat」を選択します。

3. 必要な表の書式を選択します。

実行時に、選択内容に従って表が書式設定されます。

- セルのパターンと色
表のセルまたは行をパターンや色で強調表示する手順は次のとおりです。

1. セル(複数可)または表を選択します。

2. 「Table」メニューから「Table Properties」を選択します。

3. 「Table」タブから「Borders and Shading...」ボタンを選択します。

4. 必要に応じて、罫線および網かけを追加します。

- 表ヘッダーの繰返し

注意:

RTF出力では、この機能はサポートされていません。

データを表に表示するときに、その表が複数ページにわたることが予想される場合は、各ページの先頭で繰り返すヘッダー行を定義できます。

ヘッダー行を繰り返す手順は次のとおりです。

1. 各ページに繰り返し表示する行(複数化)を選択します。

2. 「罫線」メニューで、「タイトル行の繰り返し」を選択します。

- 行の途中で改ページしないようにする機能
表の1行に含まれるデータを同じページに表示する機能は、Microsoft Wordの「Table Properties」を使用してオプションとして設定できます。

行の内容を1ページに収める手順は次のとおりです。

1. 途中で改ページしないようにする行(複数可)を選択します。

2. 「Table」メニューから「Table Properties」を選択します。

3. 「行」タブで、「行の途中で改ページする」チェック・ボックスの選択を解除します。

- 固定幅の列
表の列幅を設定する手順は次のとおりです。

1. 列を選択し、「表」→「表のプロパティ」を選択します。

2. 「表のプロパティ」ダイアログで「列」タブを選択します。

3. 「幅を指定する」チェック・ボックスを選択し、列幅を「パーセント(%)」または「mm」で入力します。

4. 「Next Column」ボタンを選択して、次の列の幅を設定します。

列の幅の合計が表の幅の合計になることに注意してください。

- 文字列の切捨て
デフォルトでは、表のセル内に入りきらない文字列はセル内で折り返されます。折り返さずに切り捨てる場合は、「Table Properties」ダイアログを使用します。

表内のテキスト切捨ては、PDFとPPTの出力のみでサポートされています。

表のセル内のテキストを切捨てる手順は次のとおりです。

1. 文字列を切り捨てるセル内にカーソルを置きます。

2. 右クリックして、メニューから「表のプロパティ」を選択するか、「表」→「表のプロパティ」に移動します。

3. 「表のプロパティ」ダイアログから「セル」タブを選択し、次に「オプション」を選択します。

4. 「Wrap Text」チェック・ボックスの選択を解除します。

切捨ての例を図4-28に示します。

図4-28 切捨てられた文字列

注意:

表でマルチバイト文字(簡体字中国語など)を使用する場合、最終出力における文字の表示が予期しないものになることを防ぐために、列幅が、最大文字にセルの左マージンと右マージンを足した幅を含めるために十分な大きさであることを確認してください。

4.8.4 日付フィールドの挿入

日付は、ワード・プロセッサの日付機能を使用して挿入します。この日付は発行日に対応しており、要求実行日ではないことに注意してください。

4.8.5 ページへの段組みの挿入

BI PublisherはMicrosoft Wordの段組み機能をサポートしており、ページ内で段組みされた出力を発行できます。(ただし、HTML出力ではサポートされません。)

「書式」→「段組み」を選択して「段組み」ダイアログ・ボックスを表示し、テンプレートの段数を定義します。

2段形式で住所ラベルを生成するには:

1. 「段組み」コマンドを使用して、ページを2段に分割します。

2. 最初の段に繰返し可能なグループを定義します。図4-29に示すように、繰返し可能なグループを定義するのは最初の段のみであることに注意してください。

図4-29 最初の段の繰返し可能なグループ

ヒント:

住所ブロックが複数のページや段に分割されないようにするには、単一セルの表内にラベル・ブロックを埋め込みます。次に、行の途中で改ページしないように「Table Properties」で指定します。第4.8.3項「表の挿入」を参照してください。

このテンプレートにより、図4-30に示すような段組み出力が生成されます。

図4-30 段組みの出力

4.8.6 背景および透かしの挿入

BI Publisherは、Microsoft Wordの背景機能をサポートしています。テンプレートに対して単一カラー、グラデーション・カラーまたはイメージ背景を指定し、PDF出力に表示できます。この機能は、PDF出力およびPPT出力のみでサポートされています。

テンプレートに背景を追加するには、「書式」→「背景」メニュー・オプションを使用します。

4.8.6.1 Microsoft Word 2000を使用した背景の追加

「Background」ポップアップ・メニューから、次の処理を実行できます。

- カラー・パレットから単一色の背景を選択します。

- 「Fill Effects」を選択して「Fill Effects」ダイアログを開きます。
このダイアログから、次のサポートされるオプションのいずれかを選択します。

- グラデーション: 1色または2色のいずれかを選択できます。

- テクスチャ: 提供されたテクスチャのいずれかを選択するか、独自のテクスチャをロードします。

- パターン: パターンおよび前景/背景色を選択します。

- 図: 背景イメージとして使用するピクチャをロードします。

4.8.6.2 Microsoft Word 2002以降を使用したテキストまたはイメージの透かしの追加

これらのバージョンのMicrosoft Wordでは、テキストまたはイメージの透かしを追加できます。透かしの追加手順は、使用するMicrosoft Wordのバージョンによって異なることに注意してください。

次のタイプの透かしをドキュメントに追加できます。

- 図: イメージをロードし、ドキュメントでのスケーリング方法を定義します。

- テキスト: 事前定義済のテキスト・オプションを使用するか、独自のテキストを入力し、フォント、サイズおよびテキストのレンダリング方法を指定します。
図4-31は、Microsoft Word 2010でテキストの透かしを表示するために入力が完了した透かしダイアログの例を示しています。

図4-31 「透かし」ダイアログ

4.8.7 サポートされていないMicrosoft Wordの機能

RTFテンプレートでは、ソフト・リターンを使用したテキストの配置はできません。これではなく、ハード・キャリッジ・リターンを使用してください。ソフト・リターンは、生成後の出力で予測外の結果が発生する可能性があります。

4.9 テンプレート機能

BI Publisherでは、次の各項で説明するテンプレート機能がサポートされています。

- 第4.9.1項「改ページの挿入」

- 第4.9.2項「初期ページ番号の挿入」

- 第4.9.3項「最終ページのみのコンテンツの指定」

- 第4.9.4項「偶数ページまたは奇数ページで終了するには」

- 第4.9.5項「ハイパーリンクの挿入」

- 第4.9.6項「目次の組込み」

- 第4.9.7項「PDF出力でのしおりの生成」

- 第4.9.8項「チェック・ボックスの挿入」

- 第4.9.9項「ドロップダウン・リストの挿入」

- 第4.9.10項「改ページ後の行ヘッダーの繰返し」

4.9.1 改ページの挿入

注意:

改ページは、PDF、RTFおよびPPT出力でサポートされています。改ページは、HTML出力ではサポートされていません。

特定要素の出現後に改ページを作成するには、split-by-page-break別名を使用します。これによって、特定要素のインスタンスごとにレポート出力に改ページが挿入されます。

グループの出現ごとに改ページを挿入するには、グループを閉じる<?end for-each?>タグの直前でグループ内にsplit-by-page-breakフォーム・フィールドを挿入します。このフォーム・フィールドのヘルプ・テキストに次の構文を入力します。

<?split-by-page-break:?>

次のXMLで、新規仕入先ごとに改ページを作成するとします。

<SUPPLIER>
<NAME>My Supplier</NAME>
<INVOICES>
<INVOICE>
<INVNUM>10001-1</INVNUM>
<INVDATE>1-Jan-2005</INVDATE>
<INVAMT>100</INVOICEAMT>
</INVOICE>
<INVOICE>
<INVNUM>10001-2</INVNUM>
<INVDATE>10-Jan-2005</INVDATE>
<INVAMT>200</INVOICEAMT>
</INVOICE>
</INVOICES>
</SUPPLIER>
<SUPPLIER>
<NAME>My Second Supplier</NAME>
<INVOICES>
<INVOICE>
<INVNUM>10001-1</INVNUM>
<INVDATE>11-Jan-2005</INVDATE>
<INVAMT>150</INVOICEAMT>
</INVOICE>
…

図4-32に示すテンプレート・サンプルでは、PageBreakというフィールドにsplit-by-page-break構文が含まれています。

図4-32 改ページの挿入

<?end for-each?>フィールドの直前に、<?split-by-page-break:?>構文を含むPageBreakフィールドを配置します。このPageBreakフィールドは、SUPPLIERループの最後に位置します。これによって、新規仕入先が出現する前に必ず改ページが挿入されます。この方法では、グループの後にMicrosoft Word固有の改ページを使用した場合に、グループの最後に余分なページが出力されません。

4.9.2 初期ページ番号の挿入

注意:

初期ページ番号はPDFおよびPPT出力でサポートされています。HTMLおよびRTFの出力ではサポートされていません。

一部のレポートでは、初期ページ番号を指定の番号に設定する必要があります。たとえば、月次レポートでは、月ごとに番号を連続する必要があります。BI Publisherでは、この要件をサポートするために、テンプレートにページ番号を設定できます。

テンプレートで次の構文を使用して、初期ページ番号を設定します。

<?initial-page-number:pagenumber?>

ここで、pagenumberは数値を保持するXML要素またはパラメータです。

また、BI Publisherは前の項からのページ番号の継続をサポートしています。ドキュメントの新しい項のデフォルト動作は、ページ番号付けをリセットすることです。ただし、レポートでページ番号付けを後続セクションまで継続する必要がある場合は、次のコマンドを使用します。

<?initial-page-number:'auto'?>

このコマンドは、前のセクションからのページ番号付けの継続を可能にします。

例1 - XMLデータ要素からページ番号を設定

次の例のようにXMLデータに初期ページ番号を持つ要素が含まれている場合、

<REPORT>
<PAGESTART>200<\PAGESTART>
....
</REPORT>

テンプレートには次のように入力します。

<?initial-page-number:PAGESTART?>

これで、初期ページ番号はPAGESTART要素の値になり、この例では200になります。

例2 - パラメータ値を渡してページ番号を設定

PAGESTARTというパラメータを定義すると、このパラメータをコールして初期値を渡すことができます。

テンプレートには次のように入力します。

<?initial-page-number:$PAGESTART?>

注意:

まずテンプレートでパラメータを宣言する必要があります。第4.13.2項「パラメータの設定」を参照してください。

4.9.3 最終ページのみのコンテンツの指定

注意:

この機能は、PDFおよびPPT出力のみでサポートされています。

BI Publisherでは、先頭ページ、奇数ページおよび偶数ページに対して異なるページ・レイアウトを指定するMicrosoft Wordの機能をサポートしています。これらのオプションを実装するには、単に「ファイル」メニューから「ページ設定」を選択して、「レイアウト」タブを選択します。BI Publisherでは、このダイアログの設定が認識されます。

ただし、Microsoft Wordには最終ページのみの設定が提供されていません。この機能は、最終ページにのみ特定の場所にチェックや要約などのコンテンツを必要とするような小切手、請求書または発注書などの文書に便利です。BI Publisherには、この機能が提供されています。

最終ページのみのコンテンツを指定する手順は次のとおりです。

1. テンプレート内にセクション区切りを作成して、最終ページの内容がレポートの残りの部分から確実に分離されるようにします。

2. 次の構文を最終ページに挿入します。
<?start@last-page:body?>

<?end body?>

このページ上で、この2つのタグの上または下にくるコンテンツはレポートの最終ページにのみ表示されます。また、このコマンドは明示的に最終ページのコンテンツを指定するため、レポートに対してそれまでに定義したヘッダーやフッターを必要とする場合は最終ページに再挿入する必要があります。

この例では、最終ページの最下部に要約が表示される請求書リストを生成するレポートに対して、最終ページのみ別指定の機能を使用しています。

次のXMLを想定します。

<?xml version="1.0" encoding="WINDOWS-1252"?>
<INVOICELIST>
<VENDOR>
<VENDOR_NAME>Nuts and Bolts Limited</VENDOR_NAME>
<ADDRESS>1 El Camino Real, Redwood City, CA 94065</ADDRESS>
<INVOICE>
<INV_TYPE>Standard</INV_TYPE>
<INVOICE_NUM>981110</INVOICE_NUM>
<INVOICE_DATE>10-NOV-04</INVOICE_DATE>
<INVOICE_CURRENCY_CODE>EUR</INVOICE_CURRENCY_CODE>
<ENT_AMT>122</ENT_AMT>
<ACCTD_AMT>122</ACCTD_AMT>
<VAT_CODE>VAT22%</VAT_CODE>
</INVOICE>
<INVOICE>
<INV_TYPE>Standard</INV_TYPE>
<INVOICE_NUM>100000</INVOICE_NUM>
<INVOICE_DATE>28-MAY-04</INVOICE_DATE>
<INVOICE_CURRENCY_CODE>FIM</INVOICE_CURRENCY_CODE>
<ENT_AMT>122</ENT_AMT>
<ACCTD_AMT>20.33</ACCTD_AMT>
<VAT_CODE>VAT22%</VAT_CODE>
</INVOICE>
</VENDOR>
<VENDOR>
...
<INVOICE>
...
</INVOICE>
</VENDOR>
<SUMMARY>
<SUM_ENT_AMT>61435</SUM_ENT_AMT>
<SUM_ACCTD_AMT>58264.68</SUM_ACCTD_AMT>
<TAX_CODE>EU22%</TAX_CODE>
</SUMMARY>
</INVOICELIST>

レポートには、各VENDORおよびそのINVOICEデータとともに、最終ページにのみ最下部にSUMMARYセクションが表示されます。図4-33は、このテンプレートを示しています。

図4-33 テンプレート・ページ1

テンプレートの先頭ページにMicrosoft Wordのセクション区切り(タイプ: 「next page」)を挿入します。最終ページの場合は、要約表をページの最下部に配置するために複数の改行文字を挿入します。要約した表を図4-34に示します。

図4-34 最終ページのみのレイアウト

この例は、次のようになっています。

- FおよびEのコンポーネントには、for-eachグループ文が含まれています。

- グレー表示のレポート・フィールドは、XML要素のプレースホルダです。

- 「Last Page Placeholder」フィールドには、次の構文が含まれます。
<?start@last-page:body?> <?end body?>

これは、最終ページのレイアウトを宣言するためのものです。この文の上または下のコンテンツは、すべて最終ページにのみ表示されます。文の上のコンテンツはヘッダーとみなされ、文の下のコンテンツはフッターとみなされます。

最終ページに繰り越す必要があるヘッダーおよびフッターがレポートに含まれている場合は、最終ページ上で再挿入する必要があります。詳細は、第4.5項「ヘッダーとフッターの定義」を参照してください。

最終ページのレイアウトを指定するために、文書にセクション区切り(タイプ: 「next page」)を挿入する必要があります。この例は、Oracle BI Publisher Template Builder for Wordのインストール内のサンプル・フォルダにあります。

ドキュメントの新しい項セクションのデフォルト動作によってページ番号付けがリセットされるため、最終ページのページ番号はリセットされます。前の項からページ番号付けを継続するには、次のコマンドを使用します。

<?initial-page-number:'auto'?>

このコマンドは、前のセクションからのページ番号付けの継続を可能にします。

レポートが1ページのみの場合は、先頭ページのレイアウトが使用されることに注意してください。単一ページのレポートでデフォルトとして最終ページのレイアウトを使用する必要がある場合(小切手印刷の実装など)、最終ページで「Last Page Placeholder」のかわりに次の代替構文を使用できます。

<?start@last-page-first:body?> <?end body?>

この構文に置き換えると、1ページのみのレポートに最終ページ・レイアウトが使用されます。

4.9.4 偶数ページまたは奇数ページで終了するには

注意:

この機能は、PDF出力のみでサポートされています。RTFおよびHTMLの出力ではサポートされていません。

レポートのレイアウトが奇数ページと偶数ページで異なる場合は、レポートを強制的に奇数または偶数ページで終了させることができます。たとえば、奇数/偶数フッター別指定機能を使用して、レポートのフッターに発注の条件を挿入し(第4.5.4項「先頭ページ、奇数ページ、偶数ページの個別定義」を参照)、最終ページに条件が印刷されるようにできます。

あるいは、製本要件を指定し、特定のレイアウトを指定せずにレポートを偶数ページで終了させることもできます。

レイアウトが設定されている偶数ページで終了する場合

1. 次の構文をテンプレートのフォーム・フィールドに挿入します。

<?section:force-page-count;'end-on-even-layout'?>

レイアウトが設定されている奇数ページで終了する場合

1. 次の構文をテンプレートのフォーム・フィールドに挿入します。

<?section:force-page-count;'end-on-odd-layout'?>

最終ページにレイアウト要件がなく、ページ数が希望する奇数または偶数となるように空白のページを出力する場合は、次の構文を使用します。

<?section:force-page-count;'end-on-even'?>

または

<?section:force-page-count;'end-on-odd'?>

4.9.5 ハイパーリンクの挿入

注意:

ハイパーリンクは、PDF、RTF、HTML、PPTおよびExcel出力でサポートされています。

BI Publisherでは、いくつか異なるタイプのハイパーリンクがサポートされています。ハイパーリンクは、固定または動的なハイパーリンクが可能で、内部または外部のいずれかの宛先にリンクできます。図形に追加することもできます。

- テキストまたは図形のいずれかに静的なハイパーリンクを挿入するには、使用しているワード・プロセッサのハイパーリンク挿入機能を使用します。
テキストまたは図形に静的なハイパーリンクを挿入する手順は次のとおりです。

1. テキストまたは図形を選択します。

2. 右マウス・メニューを使用して「ハイパーリンク」を選択するか、「挿入」メニューから「ハイパーリンク」を選択します。

3. 「Insert Hyperlink」ダイアログ・ボックスに提供されている方法のいずれかを使用してURLを入力します。

図4-35は、Microsoft Wordの「ハイパーリンクの挿入」ダイアログ・ボックスを使用した静的なハイパーリンクの挿入を示しています。

図4-35 静的なハイパーリンク

- 入力XMLデータに、ハイパーリンクまたはその一部を含む要素が含まれている場合は、実行時に動的なハイパーリンクを作成できます。「ハイパーリンクの挿入」ダイアログ・ボックスのファイルまたはWebページ名フィールドに、次の構文を入力します。
{URL_LINK}

ここで、URL_LINKは受信したデータ要素名です。

XMLデータ・ファイルから要素を追加して作成する固定のURLの場合、次の構文を入力します。

http://www.example.com?product={PRODUCT_NAME}

ここで、PRODUCT_NAMEは受信したデータ要素名です。

いずれの場合も、実行時に動的なURLが作成されます。

図4-36に、Microsoft Wordの「ハイパーリンクの挿入」ダイアログ・ボックスを使用した動的なハイパーリンクの挿入を示します。受信XMLファイルのデータ要素SUPPLIER_URLには、実行時にレポートに挿入されるハイパーリンクが含まれています。

図4-36 動的なハイパーリンク

- 実行時にパラメータを渡して動的URLを作成することもできます。
URLを作成するには、次のように{ }で囲んだパラメータおよび要素名を入力します。

{$SERVER_URL}{$REPORT}/cstid={CUSTOMER_ID}

ここで、SERVER_URLおよびREPORTは実行時にテンプレートに渡されるパラメータで($記号に注目してください)、CUSTOMER_IDはXMLデータ要素です。このリンクは、次のように表示されます。

http://myserver.domain:8888/CustomerReport/cstid=1234

URLにターゲット属性を追加するには、URL文字列に次を追加します。

??target=_target_value

たとえば、次のように入力します。

http://www.example.com??target=_top

ターゲット属性の値は次のとおりです。

- _top

- _blank

- _self

- _parent

- framename

次の構文を使用すると、ターゲットの値で動的に渡すことができます。

http://www.example.com/index.html??target={$myTarget}

ここで、myTargetは、値を保持するパラメータの名前です。

4.9.5.1 内部リンクの挿入

Microsoft Wordのブックマーク機能を使用して内部リンクを挿入します。

内部リンクを挿入する手順は次のとおりです。

1. カーソルをドキュメント内の任意の宛先に合せます。

2. 「挿入」メニューで「ブックマーク」を選択します。

3. 「ブックマーク」ダイアログにこのブックマークの名前を入力して「追加」を選択します。

4. ブックマークの宛先としてリンクする文書内のテキストまたは図形を選択します。

5. 右マウス・メニューを使用して「ハイパーリンク」を選択するか、「挿入」メニューから「ハイパーリンク」を選択します。

6. 「ハイパーリンクの挿入」ダイアログで、「ブックマーク」を選択します。

7. 作成済のブックマークをリストから選択します。

実行時に、生成されたレポート内にリンクが保持されます。

4.9.6 目次の組込み

注意:

目次機能は、PDFおよびPPT出力でサポートされています。RTFのサポートは制限されていて、レポート生成後に、ユーザーは、[F9]を押してページ番号をリセットする必要があります。

BI Publisherでは、RTF仕様の目次生成機能をサポートしています。目次を挿入するには、使用しているワード・プロセッサの手順に従ってください。

BI Publisherには、XMLデータからドキュメント内の動的な項目見出しを作成する機能もあります。作成したセクション・ヘッダーは目次に組み込むことができます。

動的なヘッダーを作成する手順は、次のとおりです。

1. ドキュメントの本文に見出しのプレースホルダを入力し、ワード・プロセッサのスタイル機能を使用して、そのプレースホルダを見出しとして書式設定します。この機能ではフォーム・フィールドを使用できません。
たとえば、レポート対象の会社ごとに、レポートに見出しを表示するとします。この場合、XMLデータ要素タグ名は<COMPANY_NAME>になります。テンプレートで、見出しを表示する<?COMPANY_NAME?>を入力します。次に、テキストをヘッダーとして書式設定します。

2. 目次は、ワード・プロセッサの目次機能を使用して作成します。

実行時に、TOCプレースホルダと見出しテキストが置換されます。

4.9.7 PDF出力でのしおりの生成

RTFテンプレート内に目次を定義した場合、目次の定義を使用して出力PDFのナビゲーション・ペインにある「Bookmarks」タブにリンクを生成できます。しおりは、静的または動的のいずれの方法でも生成できます。

注意:

RTFテンプレートでは、シングル・ポイントのしおりのみがサポートされています。これによってドキュメント内でのリンク(Goto)機能が実現します。ブックマークでは配列はサポートされていません。

目次作成の詳細は、第4.9.6「目次の組込み」を参照してください。

- 静的な目次のリンクを作成するには、次の手順を実行します。
次の構文を入力します。

<?copy-to-bookmark:?>

(目次の直前)

<?end copy-to-bookmark:?>

(目次の直後)

- 動的な目次のリンクを作成するには、次の手順を実行します。
次の構文を入力します。

<?convert-to-bookmark:?>

(目次の直前)

<?end convert-to-bookmark:?>

(目次の直後)

PDFファイルが開かれるときに、ブックマークの初期状態を制御するには、次コマンドを使用します。

<?collapse-bookmark:state;level?>

説明:

状態は、次の値を持つことができます。

- hide: 目次のエントリを閉じます。

- show: 目次のエントリを開きます。

および

レベルにより、目次を閉じるレベルが設定されます。たとえば、「1」を指定すると、目次のエントリの最初のレベルが閉じられ、「2」を指定すると、第1と第2のレベルのエントリが閉じられます。

次の例に示すように、このコマンドは<?copy-to-bookmark:?>と<?convert-to-bookmark:?>とともに使用します。

- 目次エントリの第1レベルと第2レベルを非表示にする静的な目次を作成するには、次を入力します。

<?copy-to-bookmark:?>
<?collapse-bookmark:hide;2?>

(目次の直前)

<?end copy-to-bookmark:?>

(目次の直後)

- 開いた目次の第1レベルと第2レベルを示す動的な目次のリンクを作成するには、次を入力します。

<?convert-to-bookmark:>
<?collapse-bookmark:show;2?>

(目次の直前)

<?end convert-to-bookmark:?>

(目次の直後)

4.9.8 チェック・ボックスの挿入

注意:

チェック・ボックスはPDF出力でのみサポートされています。

テンプレートにチェック・ボックスを組込み、受信したデータの値に基づいて選択済または選択解除済として表示するように定義できます。

テンプレートにチェック・ボックスを定義する手順は次のとおりです。

1. テンプレート内で、チェック・ボックスを表示する位置にカーソルを置き、図4-37に示すように「フォーム」ツールバーからチェック ボックス フォーム フィールドを選択します。

図4-37 チェック・ボックス・フォーム・フィールド

2. フィールドを右クリックして「Check Box Form Field Options」ダイアログを開きます。

3. 「Default value」で「Checked」または「Not Checked」のいずれかを指定します。

4. 「Form Field Help Text」ダイアログで、ボックスの動作を決める基準を入力します。この基準は、ブール式(つまり、結果としてtrueまたはfalseを戻す式)であることが必要です。
たとえば、XMLデータに<population>という要素が含まれているとします。<population>の値が10,000を超える場合は、チェック・ボックスが選択されて表示されるようにします。この場合は、ヘルプ・テキスト・フィールドに次のように入力します。

<?population>10000?>

ヘルプ・テキストのコーディングを図4-38に示します。

図4-38 ヘルプ・テキストのコード例

if文を作成する必要がないことに注意してください。入力した式がif文として処理されます。

チェック・ボックスを使用したテンプレート例については、第4.9.9項「ドロップダウン・リストの挿入」を参照してください。

4.9.9 ドロップダウン・リストの挿入

BI Publisherでは、ドロップダウン・フォーム・フィールドを使用して、テンプレートでXMLデータからドロップダウン・フォーム・フィールドで定義する、他の値への相互参照を作成できます。

たとえば、次のXMLについて考えてみます。

<countries>
<country>
<name>Chad</name>
<population>7360000</population>
<continentIndex>5</continentIndex>
</country>
<country>
<name>China</name>
<population>1265530000</population>
<continentIndex>1</continentIndex>
</country>
<country>
<name>Chile</name>
<population>14677000</population>
<continentIndex>3</continentIndex>
</country>
. . .
</countries>

<country>エントリのそれぞれに、大陸を表す数値である<continentindex>エントリが含まれています。ドロップダウン・フォーム・フィールドを使用すると、<continentindex>値と実際の大陸名を相互参照する索引をテンプレートに作成できます。さらに、この大陸名を発行レポートに表示できます。

この大陸の例に対する索引を作成する手順は、次のとおりです。

1. テンプレート内で、ドロップダウン・リストの値を表示する位置にカーソルを置き、図4-39に示すように「フォーム」ツールバーからドロップダウン フォーム フィールドを選択します。

図4-39 ドロップダウン フォーム フィールド

2. フィールドを右クリックして「Drop-Down Form Field Options」ダイアログを表示します。

3. それぞれの値を「Drop-down item」フィールドに追加して「Add」をクリックすると、その値が「Items in drop-down list」グループに追加されます。値は、最初の値から始めて1から順に索引付けされます。たとえば、大陸のリストは表4-3のように格納されます。

表4-3 大陸の索引値

索引

値

1

アジア

2

北アメリカ

3

南アメリカ

4

ヨーロッパ

5

アフリカ

6

オーストラリア

4. 次に、「ヘルプ・テキスト」テキスト・ボックスを使用して、ドロップダウン・フィールド値の索引を保持するXML要素名を入力します。
この例の場合は、次のように入力します。

<?continentIndex?>

図4-40は、この例のドロップダウン・フォーム・フィールド・オプションダイアログを示しています。

図4-40 ドロップダウン・フォーム・フィールド・オプション

チェック・ボックスおよびドロップダウン・リスト機能を使用して、人口データを、一定の制限に到達した数値を示すチェック・ボックスとともに表示するレポートを作成できます。例を図4-41に示します。

図4-41 チェック・ボックスを使用した人口データ・レポート

図4-42にこのレポートを作成するテンプレートを示し、このフィールドの値を表4-4に示します。

図4-42 人口データ・レポートのテンプレート

表4-4 ドロップダウン・リストのフィールド

フィールド

フォーム・フィールド入力

説明

FE

<?for-each:country?>

country繰返しグループを開始します。

中国

<?name?>

name要素のプレースホルダ。

1,000,000

<?population?>

population要素のプレースホルダ。

(チェック・ボックス)

<?population>1000000?>

チェック・ボックスの条件を設定します。population要素の値が1,000,000を超えると、チェック・ボックスが選択されて表示されます。

アジア

<?contintentIndex?>

continentIndex要素のドロップダウン・フォーム・フィールド。内容については前述の説明を参照してください。実行時に、XML要素の値は、ドロップダウン・フォーム・フィールドで相互参照される値に置換されます。

EFE

<?end for-each?>

countryグループを終了します。

4.9.10 改ページ後の行ヘッダーの繰返し

図4-43に示すように、グループ左構成内など、複数の行に及ぶ行ヘッダーがレポートに含まれる場合は、最初のセルのコンテンツを次のページで繰り返すように指定できます。

図4-43 グループ左レイアウト

前述の例では、04-Dec-12グループ内でレポートを改ページする場合に、セルのコンテンツ04-Dec-12を次のページで繰り返すことが望ましいと考えられます。セルのコンテンツを繰り返すように指定するには、繰り返す表データ・セル内のフォーム・フィールドに次のコードを挿入します。

<?attribute@block:xdofo:rowspancell-repeat-nextpage;'true'?>

この機能は、table-cellに対するnumber-rows-spannedが1より大きい場合にのみ有効です。

4.10 条件付き書式の使用

注意:

Template Builderを使用して条件付きリージョンと条件付き書式を挿入する方法の詳細は、第5.4.9項「条件付きリージョンの挿入および編集」および第5.4.10項「条件付き書式の挿入」を参照してください。

条件付き書式設定は、特定の条件を満たした場合のみ書式設定要素を表示する場合に指定します。BI Publisherでは、単純なif文のほかに、複雑なchoose式の使用もサポートしています。

指定できる条件付き書式設定はXSLまたはXSL:FOコードで、実際のRTFオブジェクト(表やデータなど)を指定することもできます。たとえば、レポートされた数値が特定のしきい値に達した場合に赤で網かけ表示するように指定できます。また、この機能を使用すると、受信したXMLデータに基づいて表の列や行を非表示にすることもできます。

この項では、次のトピックで条件付き書式設定について説明します。

- 第4.10.1項「If文の使用」

- 第4.10.2項「ボイラープレート・テキストでのIf文の使用」

- 第4.10.3項「If-Then-Else文の使用」

- 第4.10.4項「Choose文の挿入」

- 第4.10.5項「列の書式設定」

- 第4.10.6項「行の書式設定」

- 第4.10.7項「セルの強調表示」

4.10.1 If文の使用

if文を使用すると、単純な条件を定義できます(たとえば、データ・フィールドが特定の値かどうか)。

If文を指定する手順は次のとおりです。

1. 次の構文を挿入して、条件領域の開始を指定します。
<?if:condition?>

2. 構文<?end if?>を条件領域の最後に挿入します。

たとえば、仕入先名が「Company A」の場合のみ請求書を表示するようにPayables Invoice Registerを設定するには、テンプレートの「Supplier」フィールドの前に、構文<?if:VENDOR_NAME='COMPANY A'?>を挿入します。

請求書表の後に<?end if?>タグを入力します。

この例を図4-44に示します。構文は、フォーム・フィールドに挿入するか、またはテンプレートに直接挿入できることに注意してください。

図4-44 IF文の例

4.10.2 ボイラープレート・テキストでのIf文の使用

次の自由書式テキストにIF文を組み込むとします。

The program was (not) successful.

<SUCCESS>というXMLタグの値が「N」の場合のみ、「not」を表示する必要があるとします。

この要件を満たすには、BI Publisherのコンテキスト・コマンドを使用して、ブロック(デフォルトの配置)ではなくインライン・シーケンスにif文を配置します。

注意:

コンテキスト・コマンドの詳細は、第4.18項「コンテキスト・コマンドを使用した命令の配置の制御」を参照してください。

たとえば、次のコードを作成したとします。

The program was <?if:SUCCESS='N'?>not<?end if?> successful.

次の例では望ましくない結果が発生します。

The program was
not
successful.

これは、BI Publisherでは、デフォルトでブロックに対して命令が適用されるためです。if文がインライン・シーケンスに挿入されるように指定するには、次のように入力します。

The program was <?if@inlines:SUCCESS='N'?>not<?end if?>
successful.

この構成では、次のように表示されます。

The program was successful.

これは、SUCCESSが「N」でない場合の結果です。

または

The program was not successful.

これは、SUCCESSが「N」の場合の結果です。

注意:

@inlinesをif構文で使用する場合、同じ文中のその他のif構文すべてで、コンテキスト・コマンド@inlineを使用する必要があります。@inlinesをFOR-EACH構文で使用する場合、この文中にあるその他のifやFOR-EACH構文すべてで、コンテキスト・コマンド@inlineを使用する必要があります。

4.10.3 If-Then-Else文の使用

BI Publisherでは、一般的なプログラミング構造のif-then-elseをサポートしています。この文は、条件を判断し、その条件に基づいて結果を表示する必要がある場合に特に有用です。たとえば、次のように入力します。

IF X=0 THEN
Y=2
ELSE
Y=3
END IF

これらの文は、次のようにネストすることもできます。

IF X=0 THEN
Y=2
ELSE
IF X=1 THEN
Y=10
ELSE Y=100
END IF

次の構文を使用してif-then-else文をRTFテンプレートに作成します。

<?xdofx:if element_condition then result1 else result2 end if?>

たとえば、次の文はAMOUNT要素値を判断します。値が1000を超えた場合は「Higher」、1000未満の場合は「Lower」、1000の場合は「Equal」と表示されます。

<?xdofx:if AMOUNT > 1000 then 'Higher'
else
if AMOUNT < 1000 then 'Lower'
else
'Equal'
end if?>

4.10.4 Choose文の挿入

choose、whenおよびotherwiseの各要素を使用して、複数の条件判断を表現します。受信したXMLデータで特定の条件が満たされると、テンプレートの指定セクションがレンダリングされます。これは、RTFテンプレートの強力な機能です。通常のXSLプログラミングでは、chooseコマンドである条件が満たされると、後続のXSLコードが実行されます。ただし、テンプレートでは、条件フローに視覚的なウィジェットを実際に使用できます(次の例では表を使用)。

これらの要素については、次の構文を使用します。

<?choose:?>

<?when:expression?>

<?otherwise?>

4.10.4.1 条件付き書式の例

次の例は、EXEMPT_FLAGフィールドとPOSTED_FLAGフィールドの値に応じてデータ行を表示するchoose式を示しています。EXEMPT_FLAGが「^」の場合、データ行は淡い灰色でレンダリングされます。POSTED_FLAGが「*」の場合、データ行は濃い灰色の網掛けでレンダリングされます。それ以外の場合、データ行は網かけなしでレンダリングされます。

図4-45は、フォーム・フィールドのデフォルト・テキストを表示しています。表4-5は、フォーム・フィールドのヘルプ・テキスト・エントリを示しています。

図4-45 条件付き書式の例

表4-5 フォーム・フィールドのデフォルト・テキスト

この例のフォーム・フィールドのデフォルト・テキスト入力

フォーム・フィールドのヘルプ・テキスト入力

<Grp:VAT

<?for-each:G_VAT?>G_VATグループを開始します。

<Choose

<?choose:?>choose文を開きます。

<When EXEMPT_FLAG='^'

<?when: EXEMPT_FLAG='^'?>EXEMPT_FLAG要素をテストして、trueの場合は表示される最初の表を使用します。

End When>

<?end when?>EXEMPT_FLAGテストを終了します。

<When POSTED_FLAG='*'

<?when:POSTED_FLAG='*'?>POSTED_FLAG要素をテストして、trueの場合は、次の表を使用します。

End When>

<?end when?>POSTED_FLAGテストを終了します。

Otherwise

<?otherwise:?>前述のいずれもtrueでない場合は、次の表を使用します。

End Otherwise>

<?end otherwise?>otherwise文を終了します。

End Choose>

<?end choose?>choose文を終了します。

End Vat>

<?end for-each?>G_VATグループを終了します。

4.10.5 列の書式設定

データの列は、条件に基づいて、ドキュメント出力に表示したり非表示にできます。次の例では、列が要素属性の値に基づいてのみ表示されるように、表を設定する方法を示します。

この例では、次のXMLで表される価格表のレポートを示します。

<items type="PUBLIC"> <! -  can be marked 'PRIVATE'  - >
<item>
<name>Plasma TV</name>
<quantity>10</quantity>
<price>4000</price>
</item>
<item>
<name>DVD Player</name>
<quantity>3</quantity>
<price>300</price>
</item>
<item>
<name>VCR</name>
<quantity>20</quantity>
<price>200</price>
</item>
<item>
<name>Receiver</name>
<quantity>22</quantity>
<price>350</price>
</item>
</items>

items要素に関連付けられているtype属性に注目してください。このXMLでは、PUBLICとマークされています。これは、このリストがPRIVATEリストではなく、パブリック・リストであることを示しています。publicバージョンのリストの場合、数量列は出力に表示されませんが、ここでは、リスト・タイプに基づいて、1つで両方のバージョンに使用可能なテンプレートを開発します。

図4-46に、条件に基づいて数量列を表示または非表示にする単純なテンプレートを示します。

図4-46 数量列の表示または非表示

表4-6は、図4-46に示されたテンプレートへの入力を示しています。

表4-6 テンプレートへの入力

デフォルト・テキスト

フォーム・フィールド入力

説明

grp:Item

<?for-each:item?>

item要素の開始のfor-eachループを保持します。

Plasma TV

<?name?>

XMLファイルからのname要素のプレースホルダ。

IF

<?if@column: /items/@type="PRIVATE"?>

列ヘッダーの属性値「PRIVATE」のテストに対するif文の開始。この構文ではXPath式を使用してXMLの「items」レベルに戻り属性をテストします。テンプレートでのXPathの使用については、第4.19項「XPathコマンドの使用」を参照してください。

Quantity

該当なし

ボイラープレート・ヘッダー。

end-if

<?end if?>

if文を終了します。

IF

<?if@cell:/items/@type="PRIVATE"?>

列データの属性値「PRIVATE」をテストするためのif文の開始。

20

<?quantity?>

quantity要素のプレースホルダ。

end-if

<?end if?>

if文を終了します。

1,000.00

<?price?>

price要素のプレースホルダ。

end grp

<?end for-each?>

for-eachループの終了タグ。

条件列の構文は、@column句が追加されたif文です。この@column句によって、BI Publisherはif文の結果に基づいて列を表示または非表示にします。

@columnを組み込まなかった場合、データはif文の結果としてレポートに表示されませんが、列は表示されます。これは、テンプレートに列が描画されているためです。

注意:

@column句はコンテキスト・コマンドの例です。詳細は、第4.18項「コンテキスト・コマンドを使用した命令の配置の制御」を参照してください。

この例をレンダリングすると、図4-47のような出力が得られます。

図4-47 価格レポートの例

同じXMLデータでtype属性がPRIVATEに設定されている場合は、同じテンプレートから図4-48に示す出力がレンダリングされます。

図4-48 数量および価格レポートの例

4.10.6 行の書式設定

BI Publisherでは、表の行レベルで書式設定条件を指定できます。次に、行レベルの書式設定の例を示します。

- データが特定のしきい値に達したときに行を強調表示します。

- レポートを読みやすくするために、行の背景色を変更します。

- 特定の条件を満たした行のみを表示します。

条件に基づく行の表示

特定の条件を満たした行のみを表示するには、グループのfor-eachタグ内で、行の最初と最後に<?if:condition?> <?end if?>タグを挿入します。これらのタグを、図4-49に示すテンプレート例でデモンストレーションします。

図4-49 条件に応じて行を表示するテンプレート

表4-7は、図4-49のテンプレートで使用されているフィールドを示しています。

表4-7 条件に応じて表示される行のフォーム・フィールド

デフォルト・テキスト入力

フォーム・フィールドのヘルプ・テキスト

説明

for-each SALE

<?for-each:SALE?>

for-eachループを開始して、SALEグループに属するデータを繰り返します。

if big

<?if:SALES>5000?>

SALES要素の値が5000を超えた場合のみ行を表示するif文。

INDUSTRY

<?INDUSTRY?>

データ・フィールド。

YEAR

<?YEAR?>

データ・フィールド。

MONTH

<?MONTH?>

データ・フィールド。

SALES end if

<?end if?>

if文を終了します。

end SALE

<?end for-each?>

SALEループを終了します。

条件に基づく行の強調表示

この例では、1行おきに背景色を設定する方法を示します。図4-50に、この効果を作成するテンプレートを示します。

図4-50 条件に応じて行を強調表示するテンプレート

表4-8は、図4-50のテンプレートで使用されているフォーム・フィールドの値を示しています。

表4-8 行を強調表示するフォーム・フィールド

デフォルト・テキスト入力

フォーム・フィールドのヘルプ・テキスト

説明

for-each SALE

<?for-each:SALE?>

SALEグループのfor-eachループの開始を定義します。

format;

<?if@row:position() mod 2=0?> <xsl:attribute name="background-color" xdofo:ctx="incontext">lightgray</xsl:attribute><?end if?>

1行おきに、行のbackground color属性をgray(灰色)に設定します。

INDUSTRY

<?INDUSTRY?>

データ・フィールド。

YEAR

<?YEAR?>

データ・フィールド。

MONTH

<?MONTH?>

データ・フィールド。

SALES

<?SALES?>

データ・フィールド。

end SALE

<?end for-each?>

SALEのfor-eachループを終了します。

表4-8では、format;フィールドに注意してください。このフィールドには、行のコンテキスト(@row)を設定したif文が含まれています。これによって、現在行に適用するif文のコンテキストが設定されます。条件がtrueの場合、行の背景色の<xsl:attribute>はlight gray(淡い灰色)に設定されます。この設定の結果、図4-51のような出力が得られます。

図4-51 業界の売上レポート

注意:

コンテキスト・コマンドの詳細は、第4.18項「コンテキスト・コマンドを使用した命令の配置の制御」を参照してください。

4.10.7 セルの強調表示

次の例では、XMLファイルの値に基づいて、セルを強調表示するかどうかを判断する方法を示します。

この例では、次のXMLコードが使用されます。

<accounts>
<account>
<number>1-100-3333</number>
<debit>100</debit>
<credit>300</credit>
</account>
<account>
<number>1-101-3533</number>
<debit>220</debit>
<credit>30</credit>
</account>
<account>
<number>1-130-3343</number>
<debit>240</debit>
<credit>1100</credit>
</account>
<account>
<number>1-153-3033</number>
<debit>3000</debit>
<credit>300</credit>
</account>
</accounts>

テンプレートには、アカウントとその貸借値がリストされます。最終レポートでは、値が1000を超えたセルが赤で強調表示されます。図4-52に、この例のテンプレートを示します。

図4-52 条件に応じてセルを強調表示するテンプレートの例

表4-9に、このテンプレートのフィールド定義を示します。

表4-9 セルを強調表示するフォーム・フィールド

デフォルト・テキスト入力

フォーム・フィールド入力

説明

FE:Account

<?for-each:account?>

account要素のfor-eachループを開始します。

1-232-4444

<?number?>

XMLファイルからのnumber要素のプレースホルダ。

CH1

<?if:debit>1000?><xsl:attribute xdofo:ctx="block" name="background-color">red</xsl:attribute><?end if?>

このフィールドには、借方金額が1000を超えた場合にセルを赤で強調表示するコードが保持されます。

100.00

<?debit?>

debit要素のプレースホルダ。重要: <?debit?>要素は、自身のフィールドに存在する必要があります。

CH2

<?if:credit>1000?><xsl:attribute xdofo:ctx="block" name="background-color">red</xsl:attribute><?end if?>

このフィールドには、貸方金額が1000を超えた場合にセルを赤で強調表示するコードが保持されます。

100.00

<?credit?>

credit要素のプレースホルダ。

EFE

<?end for-each?>

for-eachループを終了します。

この表に示すように、貸方列を強調表示するコードは次のとおりです。

<?if:debit>1000?>
<xsl:attribute
xdofo:ctx="block" name="background-color">red
</xsl:attribute>
<?end if?>

このif文は、debitの値が1000を超えているかどうかを判断します。1000を超えた場合は、次の行が実行されます。この例では、if文内にXSL固有のコードが埋め込まれていることに注目してください。

XSLのプロパティは、attribute要素を使用して変更できます。

xdofo:ctxコンポーネントはBI Publisherの機能の1つで、テンプレート内のすべてのレベルでXSL属性を調整できます。この例の場合は、background color属性がred(赤)に変更されています。

color属性の変更には、標準的なHTMLの名称(赤、白、緑など)か、16進数の色定義(#FFFFFなど)を使用できます。

このテンプレートの結果、図4-53のような出力が得られます。

図4-53 借方および貸方レポート

4.11 ページレベルの計算の挿入

BI Publisherでは、PDFおよびPPT出力でのみ、次の項で説明するページ・レベルの計算機能がサポートされています。

- 第4.11.1項「ページ合計の表示」

- 第4.11.2項「前からの繰越/次への繰越の合計の挿入」

- 第4.11.3項「累積合計の挿入」

4.11.1 ページ合計の表示

BI Publisherでは、ページ合計を計算してレポートに表示できます。ページは発行時まで作成されないため、合計計算機能は書式設定エンジンで実行する必要があります。

注意:

ページの合計計算はPDF書式設定レイヤーで実行されます。したがって、HTML、RTFおよびExcelの出力タイプではこの機能を使用できません。このページ合計計算機能は、ソースXMLコードに未処理の数値が含まれている場合のみ機能します。数値は事前に書式設定できません。

ページ合計フィールドはXML入力データに存在しないため、値を保持する変数を定義する必要があります。変数を定義するときは、ページの合計を計算するXMLファイルの要素にその変数を関連付けます。合計フィールドを定義した後は、その合計フィールドのデータに対して追加の関数を実行することもできます。

ページ合計を保持する変数を宣言するには、合計する要素のプレースホルダの直後に次の構文を挿入します。

<?add-page-total:TotalFieldName;'element'?>

説明:

TotalFieldNameは、合計に割り当てる名前(後の参照用)です。

'element'は、合計するXML要素フィールドです。

この構文は、必要な数の合計計算の対象フィールドに追加できます。

合計フィールドを表示する場合は、次の構文を入力します。

<?show-page-total:TotalFieldName;'Oracle-number-format' number-separators="{$_XDONFSEPARATORS}"?>

説明:

TotalFieldNameは、前述のページ合計フィールドを指定する際に割り当てた名称です。

Oracle数値書式は、Oracle書式マスクを使用して表示する際に使用する書式です(例: 'C9G999D00')。Oracle書式マスク記号のリストについては、第4.15.12項「Oracle抽象書式マスク」を参照してください。

number-separators="{$_XDONFSEPARATORS}"は、定義した書式マスクに対してグループ化セパレータと小数点セパレータを適用するための必須の属性です。

次の例では、テンプレートにページ合計フィールドを設定し、ページに表示されている貸方と借方の合計を表示して、この2つのフィールドの差引額を計算する方法を示します。

この例では、次のXMLコードが使用されます。

<balance_sheet>
<transaction>
<debit>100</debit>
<credit>90</credit>
</transaction>
<transaction>
<debit>110</debit>
<credit>80</credit>
</transaction>
…
<\balance_sheet>

図4-54に、値を保持するためにテンプレートに挿入する表を示します。

図4-54 値を挿入するための表

表4-10は、図4-54に示す表を持つテンプレートへのフォーム・フィールド入力を示しています。

表4-10 合計を表示するためのフィールド

デフォルト・テキスト入力

フォーム・フィールドのヘルプ・テキスト入力

説明

FE

<?for-each:transaction?>

このフィールドは、transactionグループの開始のfor-eachループを定義します。

100.00

<?debit?><?add-page-total:dt;'debit'?>

このフィールドは、XMLファイルからのdebit要素のプレースホルダです。このフィールドをページごとに合計するために、ページ合計の宣言構文が追加されます。debit要素の合計を保持するために定義された変数はdtです。

90.00

<?credit?> <?add-page-total:ct;'credit'?>

このフィールドは、XMLファイルからのcredit要素のプレースホルダです。このフィールドをページごとに合計するために、ページ合計の宣言構文が追加されます。credit要素の合計を保持するために定義された変数はctです。

Net

<add-page-total:net;'debit - credit'?>

借方値から貸方値を差し引いたページ合計差引額を作成します。

EFE

<?end for-each?>

for-eachループを終了します。

netとして定義した変数では、credit要素とdebit要素の値に対して計算が実行されることに注意してください。

ページ合計フィールドを宣言した後は、ページ合計を表示するフィールドをテンプレートに挿入できます。指定した名称(前述の例ではctおよびdt)を使用して、計算された変数を参照します。ページ合計を表示するための構文は次のとおりです。

たとえば、貸方のページ合計を表示するには、次のように入力します。

<?show-page-total:dt;'C9G990D00';'(C9G990D00)' number-separators="{$_XDONFSEPARATORS}"?>

最後に、テンプレート・ページの最下部またはフッターに、次のフィールドを配置します。

Page Total Debit: <?show-page-total:dt;'C9G990D00';'(C9G990D00)' number-separators="{$_XDONFSEPARATORS}"?>

Page Total Credit: <?show-page-total:ct;'C9G990D00';'(C9G990D00)' number-separators="{$_XDONFSEPARATORS}"?>

Page Total Balance: <?show-page-total:net;'C9G990D00';'(C9G990D00)' number-separators="{$_XDONFSEPARATORS}"?>

図4-55に、このレポートの出力を示します。

図4-55 借方および貸方レポートの合計

4.11.2 前からの繰越/次への繰越の合計の挿入

多くのレポートでは、レポート出力全体にわたるページ合計を保持し、各ページの最初と最後に表示する必要があります。これらの合計は、"前からの繰越/次への繰越"の合計と呼ばれます。

注意:

前からの繰越と次への繰越フィールドの合計計算はPDF書式設定レイヤーで実行されます。したがって、出力タイプがHTML、RTFおよびExcelなどの場合、この機能は使用できません。

図4-56に例を示します。

図4-56 繰越合計の例

最初のページの最後に、Amount要素のページ合計が次への繰越合計として表示されます。第2ページの先頭には、この値が前ページからの繰越合計として表示されます。さらに、第2ページの最後には、次への繰越値にそのページの合計を加算した金額が次のページへの新規繰越値として表示されます。レポート全体でこれを繰り返します。

この機能は、ページ合計の表示機能の拡張です。次の例では、発行レポートに前からの繰越と次への繰越の合計の表示に必要な構文と設定について説明します。

次のXMLコードがあるとします。

<?xml version="1.0" encoding="WINDOWS-1252"?>
<INVOICES>
<INVOICE>
<INVNUM>10001-1</INVNUM>
<INVDATE>1-Jan-2005</INVDATE>
<INVAMT>100</INVOICEAMT>
</INVOICE>
<INVOICE>
<INVNUM>10001-2</INVNUM>
<INVDATE>10-Jan-2005</INVDATE>
<INVAMT>200</INVOICEAMT>
</INVOICE>
<INVOICE>
<INVNUM>10001-1</INVNUM>
<INVDATE>11-Jan-2005</INVDATE>
<INVAMT>150</INVOICEAMT>
</INVOICE>
. . .
</INVOICES>

図4-57に示すサンプル・テンプレートでは、請求書表を作成し、ページ合計を保持するプレースホルダを宣言します。

図4-57 合計のテンプレート

表4-11は、図4-57のテンプレートのフィールドを示しています。

表4-11 合計のフィールド

フィールド

フォーム・フィールドのヘルプ・テキスト入力

説明

Init PTs

<?init-page-total: InvAmt?>

InvAmtを、ページ合計を保持するプレースホルダとして宣言します。

FE

<?for-each:INVOICE?>

INVOICEグループを開始します。

10001-1

<?INVNUM?>

請求書番号タグのプレースホルダ。

1-Jan-2005

<?INVDATE?>

請求日タグのプレースホルダ。

100.00

<?INVAMT?>

請求金額タグのプレースホルダ。

InvAmt

<?add-page-total:InvAmt;INVAMT?>

ページ合計オブジェクトInvAmtをデータ内のINVAMT要素に割り当てます。

EFE

<?end for-each?>

INVOICEグループを終了します。

End PTs

<?end-page-total:InvAmt?>

ページ合計オブジェクトInvAmtを終了します。

各ページ(最初のページを除く)の先頭に前からの繰越合計を表示するには、次の構文を使用します。

<xdofo:inline-total
display-condition="exceptfirst"
name="InvAmt">
Brought Forward:
<xdofo:show-brought-forward
name="InvAmt"
format="99G999G999D00" number-separators="{$_XDONFSEPARATORS}"/>/>
</xdofo:inline-total>

次に、前からの繰越の構文を構成する要素について説明します。

- inline-total: この要素には次の2個のプロパティがあります。

- name: フィールドで宣言した変数の名前を指定します。

- display-condition - 表示条件を設定します。これはオプションのプロパティで、次のいずれかの値を設定します。

- first - コンテンツが最初のページにのみ表示されます。

- last - コンテンツが最後のページにのみ表示されます。

- exceptfirst - コンテンツが最初のページを除く全ページに表示されます。

- exceptlast - コンテンツが最後のページを除く全ページに表示されます。

- everytime - (デフォルト)コンテンツが全ページに表示されます。

この例では、display-conditionがexceptfirstに設定されているため、値が0(ゼロ)の最初のページには値が表示されません。

- Brought Forward: - これはオプションの文字列で、レポート上にフィールド名として表示されます。

- show-brought-forward - ページのこの値を表示します。これには、次のプロパティがあります。

- name - 表示するフィールド名。この例では「InvAmt」です。このプロパティは必須です。

- format - 実行時に値に適用されるOracle数値書式。このプロパティはオプションですが、書式マスクを指定する場合は、Oracle書式マスクを使用する必要があります。詳細は、第4.15.12項「Oracle抽象書式マスク」を参照してください。

- number-separators="{$_XDONFSEPARATORS}" - この属性は、定義した書式マスクへのグループ・セパレータと数値セパレータの適用に必要です。

前からの繰越合計を表示するテンプレートの先頭に、前からの繰越オブジェクトを挿入します。このオブジェクトをテンプレート本体に配置すると、構文をフォーム・フィールドに挿入できます。

前からの繰越合計をヘッダーに表示する場合、Microsoft Wordではヘッダーまたはフッター・リージョンでのフォーム・フィールドの使用をサポートしていないため、コード文字列全体をヘッダーに挿入する必要があります。ただし、start body/end body構文を使用して、レポートの本文領域を定義する方法もあります。BI Publisherでは、定義した本文領域より前の内容はヘッダーとして、本文領域より後の内容はフッターとして認識されます。この場合は、フォーム・フィールドを使用できます。詳細は、第4.5.3項「複数または複雑なヘッダーおよびフッターの作成」を参照してください。

合計を表示するテンプレートの最下部に、次への繰越オブジェクトを配置します。この例の次への繰越オブジェクトは次のとおりです。

<xdofo:inline-total
display-condition="exceptlast"
name="InvAmt">
Carried Forward:
<xdofo:show-carry-forward
name="InvAmt"
format="99G999G999D00" number-separators="{$_XDONFSEPARATORS}"/>
</xdofo:inline-total>

前からの繰越オブジェクトと次の点が異なることに注意してください。

- display-conditionがexceptlastに設定されているため、次への繰越合計は、最後のページを除く全ページに表示されます。

- 表示文字列は「Carried Forward」です。

- show-carry-forward要素を使用して次への繰越値を表示します。この要素には、前述のshow-brought-forwardと同じプロパティがあります。

テンプレートでは値の数に制限はありません。前からの繰越/次への繰越オブジェクトをテンプレートに複数作成して、データ内の様々な数値要素を指し示すことができます。

注意:

前述の例に示すように、コマンド<?init-page-total:invAmnt?>および<?end-page-total:InvAmt?>が含まれていないことを確認します。display-condition論理計算の正しい動作は、これらのコマンドが正しく機能することに依存しています。

4.11.3 累積合計の挿入

変数機能(第4.13.1項「変数の設定」を参照)を使用して、請求書一覧レポートに累積合計を追加できます。この例では、次のXML構造を使用します。

<?xml version="1.0" encoding="WINDOWS-1252"?>
<INVOICES>
<INVOICE>
<INVNUM>10001-1</INVNUM>
<INVDATE>1-Jan-2005</INVDATE>
<INVAMT>100</INVOICEAMT>
</INVOICE>
<INVOICE>
<INVNUM>10001-2</INVNUM>
<INVDATE>10-Jan-2005</INVDATE>
<INVAMT>200</INVOICEAMT>
</INVOICE>
<INVOICE>
<INVNUM>10001-1</INVNUM>
<INVDATE>11-Jan-2005</INVDATE>
<INVAMT>150</INVOICEAMT>
</INVOICE>
</INVOICES>

Figure 4-58に示すように、このXMLコードを使用して、累積合計が記載されたレポートを作成できます。

図4-58 累積合計の例

「Running Total」フィールドを作成するには、合計を追跡するための変数を定義し、その変数を0(ゼロ)に初期化します。テンプレートは図4-59のようになります。

図4-59 累積合計フィールドのテンプレート

図4-59に示すテンプレートのフォーム・フィールドの値については、表4-12で説明します。

表4-12 累積合計のフィールド

フォーム・フィールド

構文

説明

RtotalVar

<?xdoxslt:set_variable($_XDOCTX, 'RTotalVar', 0)?>

RTotalVar変数を宣言して0(ゼロ)に初期化します。

FE

<?for-each:INVOICE?>

Invoiceグループを開始します。

10001-1

<?INVNUM?>

請求書番号タグ。

1-Jan-2005

<?INVDATE?>

請求日タグ。

100.00

<?xdoxslt:set_variable($_XDOCTX, 'RTotalVar', xdoxslt:get_variable($_XDOCTX, 'RTotalVar') + INVAMT)?><?xdoxslt:get_variable($_XDOCTX, 'RTotalVar')?>

RTotalVarを、現在値に新しい請求金額を加算した値に設定します。RTotalVarの値を取得して表示します。

EFE

<?end for-each?>

INVOICEグループを終了します。

4.12 データの処理

次の各項は、テンプレートでデータを処理する方法を説明しています。

- 第4.12.1項「データのソート」

- 第4.12.2項「NULL値の確認」

- 第4.12.3項「XMLデータの再グループ化」

4.12.1 データのソート

グループは、そのグループ内の任意の要素順にソートできます。次の構文をグループ・タグ内に挿入します。

<?sort:要素名; 順序; データ・タイプ?>

説明:

要素名は、グループをソートする要素の名前です。

順序は「昇順」または「降順」です。

データ・タイプは、要素のデータ・タイプです。有効な値は、「text」と「number」です。

順序を指定しなければ、デフォルトではソート順序は昇順です。データ型を指定しなければ、 タイプはtextと想定されます。

たとえば、最高のサラリーが最初に表示されるように、SALARYという名前の要素によってデータ・セットをソートするには、次を入力します。

<?sort:SALARY;'descending';'number'?>

for-eachグループ内でソートを実行している場合、for-each文の後にソート文を入力します。たとえば、この章の冒頭で示したPayables Invoice Registerを仕入先(VENDOR_NAME)順にソートするには、次のように入力します。

<?for-each:G_VENDOR_NAME?><?sort:VENDOR_NAME?>

複数のフィールドでグループをソートするには、追加のソート文を適切な順に入力するだけです。たとえば、サプライヤでソートしてから請求番号でソートするには、次を入力します。

<?sort:VENDOR_NAME?> <?sort:INVOICE_NUM;'ascending';'number'?>

4.12.2 NULL値の確認

XMLデータ内の要素の値に想定可能なシナリオは、次のように3つあります。

- XMLデータ内に要素が存在し、値を持つ場合

- XMLデータ内に要素が存在するが、値を持たない場合

- XMLデータ内に要素が存在せず、したがって値もない場合

レポート・レイアウトでは、要素とその値の有無に応じて異なる動作を指定することが必要な場合があります。次の例では、if文を使用してこれらの条件のそれぞれについてチェックする方法を示します。構文は、別の条件付き書式設定構造でも使用できます。

- 要素が存在し、値がnullでない場合の動作を定義するには、次を使用します。
<?if:element_name!=' '?> 希望する動作<?end if?>

- 要素は存在するが、値がnullの場合の動作を定義するには、次を使用します。
<?if:element_name and element_name="?> 希望する動作<?end if?>

- 要素が存在しない場合の動作を定義するには、次を使用します。
<?if:not(element_name)?> 希望する動作 <?end if?>

4.12.3 XMLデータの再グループ化

RTFテンプレートでは、XSL 2.0のfor-each-group標準をサポートしているため、元のデータに存在しないXMLデータを階層に再グループ化できます。この機能を使用すると、テンプレートでソースXMLファイルの階層に従う必要がなくなります。このため、データソースの構造による制約がなくなります。

4.12.3.1 XMLのサンプル

for-each-group標準を示すため、CDカタログ一覧の次のXMLデータ・サンプルをテンプレートで再グループ化します。

<CATALOG>
<CD>
<TITLE>Empire Burlesque</TITLE>
<ARTIST>Bob Dylan</ARTIST>
<COUNTRY>USA</COUNTRY>
<COMPANY>Columbia</COMPANY>
<PRICE>10.90</PRICE>
<YEAR>1985</YEAR>
</CD>
<CD>
<TITLE>Hide Your Heart</TITLE>
<ARTIST>Bonnie Tylor</ARTIST>
<COUNTRY>UK</COUNTRY>
<COMPANY>CBS Records</COMPANY>
<PRICE>9.90</PRICE>
<YEAR>1988</YEAR>
</CD>
<CD>
<TITLE>Still got the blues</TITLE>
<ARTIST>Gary More</ARTIST>
<COUNTRY>UK</COUNTRY>
<COMPANY>Virgin Records</COMPANY>
<PRICE>10.20</PRICE>
<YEAR>1990</YEAR>
</CD>
<CD>
<TITLE>This is US</TITLE>
<ARTIST>Gary Lee</ARTIST>
<COUNTRY>UK</COUNTRY>
<COMPANY>Virgin Records</COMPANY>
<PRICE>12.20</PRICE>
<YEAR>1990</YEAR>
</CD>

再グループ化構文を使用すると、CDデータを国別にグループ化し、さらに年度別にグループ化するレポートを作成できます。これにより、現在のデータ構造による制限を受けません。

4.12.3.2 再グループ化構文

データを再グループ化するには、次の構文を使用します。

<?for-each-group: BASE-GROUP;GROUPING-ELEMENT?>

たとえば、CD一覧をCOUNTRY別に再グループ化するには、テンプレートに次のように入力します。

<?for-each-group:CD;COUNTRY?>

COUNTRYと同じ階層レベルにあった要素はCOUNTRYの子要素になります。これで、グループの要素を参照して、必要な値を表示できます。

すでに定義済のグループ内にネストされたグループを作成するには、次の構文を使用します。

<?for-each:current-group(); GROUPING-ELEMENT?>

たとえば、CDをCOUNTRY別にグループ化するように宣言した後、COUNTRY内でさらにYEAR別にグループ化するには、次のように入力します。

<?for-each:current-group();YEAR?>

実行時に、BI Publisherは新規グループの出現箇所をループ処理して、テンプレートに定義したフィールドを表示します。

注意:

この構文は、XSLのfor-each-group構文を簡略化したものです。前述の簡略化された構文を使用しない場合は、後述するXSL構文を使用できます。XSL構文を使用できるのは、テンプレートのフォーム・フィールド内のみです。

<xsl:for-each-group
select=expression
group-by="string expression"
group-adjacent="string expression"
group-starting-with=pattern>
<!--Content: (xsl:sort*, content-constructor) -->
</xsl:for-each-group>

4.12.3.3 テンプレートの例

図4-60は、CDをCountry別、Year別の順に表示して、各CDの詳細をリストするテンプレートを示しています。

図4-60 再グループ化のテンプレート

表4-13は、図4-60に示されたテンプレートのフォーム・フィールドへのBI Publisher構文入力を示しています。

表4-13 XMLデータを再グループ化する構文入力

デフォルト・テキスト入力

フォーム・フィールドのヘルプ・テキスト入力

説明

Group by Country

<?for-each-group:CD;COUNTRY?>

<?for-each-group:CD;COUNTRY?>タグは、新規グループを宣言します。これによって、既存のCDグループがCOUNTRY要素別に再グループ化されます。

USA

<?COUNTRY?>

COUNTRYタグのデータ値を表示するプレースホルダ。

Group by Year

<?for-each-group:current-group();YEAR?>

<?for-each-group:current-group();YEAR?>タグは、現行グループ(COUNTRY)をYEAR要素別に再グループ化します。

2000

<?YEAR?>

YEARタグのデータ値を表示するプレースホルダ。

Group: Details

<?for-each:current-group()?>

データをCOUNTRY別、YEAR別の順にグループ化した後、<?for-each:current-group()?>コマンドを使用して現行グループ(YEAR)の要素をループし、表内のデータ値(TITLE、ARTISTおよびPRICE)をレンダリングします。

My CD

<?TITLE?>

TITLEタグのデータ値を表示するプレースホルダ。

John Doe

<?ARTIST?>

ARTISTタグのデータ値を表示するプレースホルダ。

1.00

<?PRICE?>

PRICEタグのデータ値を表示するプレースホルダ。

End Group

<?end for-each?>

<?for-each:current-group()?>タグを終了します。

End Group by Year

<?end for-each-group?>

<?for-each-group:current-group();YEAR?>タグを終了します。

End Group by Country

<?end for-each-group?>

<?for-each-group:CD;COUNTRY?>タグを閉じます。

このテンプレートをXMLファイルとマージすると、図4-61に示すレポートが生成されます。

図4-61 再グループ化レポート

4.12.3.4 式による再グループ化

式による再グループ化を使用すると、関数またはコマンドをデータ要素に適用し、戻された結果別にデータをグループ化できます。

この機能を使用するには、次のように、再グループ化構文内に式を記述する必要があります。

<?for-each:BASE-GROUP;GROUPING-EXPRESSION?>

この機能を説明するため、月別平均気温が含まれる簡略なXMLデータ・サンプルをテンプレートへの入力として使用して、気温が特定の範囲内にある月数を計算します。

次のXMLコードは、複数の<temp>グループで構成されています。各<temp>グループには、<month>要素と<degree>要素が含まれ、その月の平均気温が保持されています。

<temps>
<temp>
<month>Jan</month>
<degree>11</degree>
</temp>
<temp>
<month>Feb</month>
<degree>14</degree>
</temp>
<temp>
<month>Mar</month>
<degree>16</degree>
</temp>
<temp>
<month>Apr</month>
<degree>20</degree>
</temp>
<temp>
<month>May</month>
<degree>31</degree>
</temp>
<temp>
<month>Jun</month>
<degree>34</degree>
</temp>
<temp>
<month>Jul</month>
<degree>39</degree>
</temp>
<temp>
<month>Aug</month>
<degree>38</degree>
</temp>
<temp>
<month>Sep</month>
<degree>24</degree>
</temp>
<temp>
<month>Oct</month>
<degree>28</degree>
</temp>
<temp>
<month>Nov</month>
<degree>18</degree>
</temp>
<temp>
<month>Dec</month>
<degree>8</degree>
</temp>
</temps>

このデータを図4-62に示すように、気温の範囲、および平均気温がその範囲内にある月の数を示す書式で表示します。

図4-62 年間気温のレポート

for-each-groupコマンドを使用すると、気温を10度ごとに増分してグループ化する式を<degree>要素に適用できます。これで、各グループのメンバーの件数、つまり、平均気温が各範囲内にある月の数を表示できます。

図4-63は、図4-62に示すレポートを作成するテンプレートです。

図4-63 年間気温のテンプレート

表4-14は、図4-63に示されたテンプレートへのフォーム・フィールド入力を示しています。

表4-14 データを再グループ化するフォーム・フィールド

デフォルト・テキスト入力

フォーム・フィールドのヘルプ・テキスト入力

Group by TmpRng

<?for-each-group:temp;floor(degree div 10)?><?sort:floor(degree div 10)?>

Range

<?concat(floor(degree div 10)*10,' F to ',floor(degree div 10)*10+10, 'F')?>

Months

<?count(current-group())?>

End TmpRng

<?end for-each-group?>

フォーム・フィールド・タグについて次の点に注目してください。

- <?for-each-group:temp;floor(degree div 10)?>は再グループ化タグです。このタグは、既存の<temp>グループに対して、floor(degree div 10)式を使用して要素を再グループ化するように指定します。floor関数はXSL関数の1つで、引数より低い最大整数を戻します(たとえば、1.2の場合は1を、0.8の場合は0(ゼロ)を戻します)。
この例では、<degree>要素の値を10で除算した値に対する関数の結果が戻されます。これにより、XMLデータから、1、1、1、2、3、3、3、3、2、2、1および0.という値が生成されます。

これらの値をソートすると、0、1、2および3の4つのグループが作成されます。

- <?concat(floor(degree div 10)*10,'F to ', floor(degree div 10)*10+10,'F'?>は、気温範囲を10度ごとに増分して行ヘッダーに表示します。この式によって、現行グループの値に10を乗算した値と、現行グループの値に10を乗算して10を加算した値が連結されます。
したがって、最初のグループ0(ゼロ)の場合、行ヘッダーには「0 F to 10 F」(0から(0+10))と表示されます。

- <?count(current-group())?>は、count関数を使用して現行グループのメンバー(範囲を満たす気温の数)をカウントします。

- <?end for-each-group?>タグは、このグループを終了します。

4.13 変数、パラメータおよびプロパティの設定

この項の内容は次のとおりです。

- 第4.13.1項「変数の設定」

- 第4.13.2項「パラメータの設定」

- 第4.13.3項「プロパティの設定」

4.13.1 変数の設定

更新可能な変数は、標準的なXSL変数<xsl:variable>とは異なり、XMLデータに対してテンプレートが適用されているときに更新できます。このため、更新可能な変数を必要とする多くの新機能をテンプレートに作成できます。

変数では、「設定および取得」という方法を使用して、値の割当て、更新および取得を行います。

次の構文を使用して、変数値を宣言(設定)します。

<?xdoxslt:set_variable($_XDOCTX, 'variable name', value)?>

次の構文を使用して、変数値を取得します。

<?xdoxslt:get_variable($_XDOCTX, 'variable name')?>

この方法を使用して、計算を実行できます。たとえば、次のように入力します。

<?xdoxslt:set_variable($_XDOCTX, 'x', xdoxslt:get_variable($_XDOCTX, 'x' + 1)?>

これによって、変数'x'の値は元の値に1を加算した値に設定されます(x = x + 1を使用した場合に類似しています)。

$_XDOCTXは、変数のグローバル文書コンテキストを指定します。マルチスレッド環境では、同時に多数の変換が発生する場合があるため、変数には1つの変換のみを割り当てる必要があります。

更新可能な変数の使用例については、第4.11.3項「累積合計の挿入」を参照してください。

4.13.2 パラメータの設定

テンプレートには、ランタイム・パラメータ値を渡すことができます。この値は、多くの機能をサポートするために、テンプレート全体で参照できます。たとえば、テンプレートでデータをフィルタ処理したり、条件付き書式設定ブロックで値を使用できます。また、セキュリティ設定などのプロパティ値を最終文書に渡すこともできます。

注意:

BI Publisher Enterpriseユーザーについては、name-valueパラメータのすべてのペアがテンプレートに渡されます。次に説明する構文を使用して、テンプレートで使用するパラメータを登録する必要があります。

パラメータをテンプレートで使用する手順は次のとおりです。

1. パラメータをテンプレートで宣言します。
次の構文を使用して、パラメータを宣言します。

<?param@begin:parameter_name;parameter_value?>

説明:

parameter_nameは、パラメータの名称です。

parameter_valueは、パラメータのデフォルト値です(parameter_valueはオプションです)。

param@begin:は、実行時にテンプレートの先頭にパラメータ宣言をプッシュするために必要な文字列です。これによって、テンプレートでパラメータをグローバルに参照できます。

この構文は、フォーム・フィールドの「Help Text」フィールドで宣言する必要があります。このフォーム・フィールドは、テンプレート内の任意の位置に配置できます。

2. テンプレートでパラメータを参照するには、パラメータ名の前に$文字を付けます。たとえば、パラメータ名をInvThreshと宣言した場合は、$InvThreshを使用してその値を参照します。

3. BI Publisher Enterpriseを使用せず、コア・ライブラリのみを使用している場合は、次のようにします。
実行時に、プログラムでパラメータをBI Publisherエンジンに渡します。

FOProcessor APIをコールする前に、次のようにパラメータ値に対してPropertiesクラスを作成し、プロパティを割り当てます。

Properties prop = new Properties();
prop.put("xslt.InvThresh", "1000");

例: 請求書しきい値パラメータの受渡し

次の例では、パラメータの値に基づいてデータをフィルタ処理するテンプレートで、パラメータを宣言する方法を示しています。

次のXMLサンプルには、請求書データがリストされています。

<INVOICES>
<INVOICE>
<INVOICE_NUM>981110</INVOICE_NUM>
<AMOUNT>1100</AMOUNT>
</INVOICE>
<INVOICE>
<INVOICE_NUM>981111</INVOICE_NUM>
<AMOUNT>250</AMOUNT>
</INVOICE>
<INVOICE>
<INVOICE_NUM>981112</INVOICE_NUM>
<AMOUNT>8343</AMOUNT>
</INVOICE>
. . .
</INVOICES>

図4-64に、パラメータ値を受け取り、そのパラメータ値に基づいて最終ドキュメントに表示する請求書を制限するテンプレートを示します。

図4-64 パラメータ値を受け取るテンプレート

表4-15は、図4-64のテンプレートで使用されるパラメータを定義するフィールドを説明しています。

表4-15 パラメータを定義するフィールド

フィールド

フォーム・フィールドのヘルプ・テキスト入力

説明

InvThreshDeclaration

<?param@begin:InvThresh?>

パラメータInvThreshを宣言します。

FE

<?for-each:INVOICE?>

INVOICE要素の繰返しグループを開始します。

IF

<?if:AMOUNT>$InvThresh?>

AMOUNT要素の値を調べて、InvThreshの値より大きいかどうかを判断します。

13222-2

<?INVOICE_NUM?>

INVOICE_NUM要素のプレースホルダ。

$100.00

<?AMOUNT?>

AMOUNT要素のプレースホルダ。

EI

<?end if?>

if文の終了タグ。

EFE

<?end for-each?>

for-eachループの終了タグ。

このテンプレートでは、AMOUNTがInvThreshパラメータ値より大きいINVOICE要素のみが表示されます。パラメータ値1,000を渡した場合、図4-65に示すレポートが作成されます。

図4-65 請求書のレポート

2番目の請求書は、AMOUNTがパラメータ値より小さいため、表示されないことに注目してください。

4.13.3 プロパティの設定

BI Publisherの構成ファイルで使用可能なBI Publisherプロパティは、RTFテンプレートに埋め込むこともできます。テンプレートに設定されたプロパティは、実行時にBI Publisherエンジンによって解決されます。値は、テンプレートにハードコードするか、または受信したXMLデータに埋め込むことができます。プロパティをテンプレートに埋め込む場合、構成ファイルの使用は不要になります。

注意:

BI Publisherの構成ファイルと使用可能なプロパティの詳細は、『Oracle Fusion Middleware Oracle Business Intelligence Publisher管理者ガイド』の付録「構成ファイル・リファレンス」を参照してください。

たとえば、非標準フォントをテンプレートで使用する場合は、構成ファイルでフォントの位置を指定するのではなく、テンプレート内にフォント・プロパティを埋め込むことができます。生成されたPDF出力を保護する必要がある場合は、BI PublisherのPDFセキュリティ・プロパティを使用して、受信したXMLデータからパスワード値を取得できます。

BI Publisherプロパティをテンプレートに追加するには、Microsoft Wordの「Properties」ダイアログ(「File」メニューから使用可能)を使用して、次の情報を入力します。

- Name - 先頭にxdo-を付けて、BI Publisherプロパティ名を入力します。

- Type - 「Text」を選択します。

- Value - プロパティ値を入力します。受信したXMLデータから要素を参照するには、XML要素へのパスを中カッコで囲んで入力します。たとえば、{/root/password}のように入力します。

フォント参照の埋込み

次の例では、XMLPScriptというフォントをテンプレートで使用するとします。このフォントは、サーバーでは使用できないため、実行時にそのフォントの検索場所をBI Publisherに指示する必要があります。BI Publisherにフォントの検索場所を指示するには、fontプロパティを設定します。フォントが/tmp/fontsに格納されている場合は、「Properties」ダイアログに次のように入力します。

- Name - xdo-font.XMLPScript.normal.normal

- Type - Text

- Value - truetype./tmp/fonts/XMLPScript.ttf

テンプレートがサーバーのXMLデータに適用されると、BI Publisherは/tmp/fontsディレクトリでフォントを検索します。テンプレートが複数の場所に配置されている場合は、場所のそれぞれでこのパスが有効であることを確認してください。

フォント・プロパティの設定の詳細は、『Oracle Fusion Middleware Oracle Business Intelligence Publisher管理者ガイド』のフォントの定義に関する項を参照してください。

PDF出力の保護

次の例では、XMLデータからパスワードを使用して、PDF出力文書を保護するとします。XMLデータは次のとおりです。

<PO>
<security>true</security>
<password>welcome</password>
<PO_DETAILS>
..
</PO>

「Properties」ダイアログでは、次の2つのプロパティを設定します。pdf-securityプロパティではセキュリティ機能を有効にするかどうかを設定し、pdf-open-passwordプロパティではパスワードを設定します。「Properties」ダイアログで次のように入力します。

- Name: xdo-pdf-security

- Type: 「Text」

- Value: {/PO/security}

- Name: xdo-pdf-open-password

- Type: 「Text」

- Value: {/PO/password}

XMLがシステム内に長期間保持される場合、XMLデータにパスワードを格納するのはお薦めできません。潜在的なセキュリティ・リスクを回避するには、実行時に生成してテンプレートに渡したテンプレート・パラメータ値を使用できます。

たとえば、次のパラメータを設定できます。

- PDFSec: xdo-pdf-securityプロパティの値を渡すために使用します。

- PDFPWD: パスワードの値を渡すために使用します。

次に、「Properties」ダイアログで次のように入力します。

- Name: xdo-pdf-security

- Type - Text

- Value: {$PDFSec}

- Name: xdo-pdf-open-password

- Type - Text

- Value: {$PDFPWD}

テンプレート・パラメータの詳細は、第4.13.2項「パラメータの設定」を参照してください。

4.14 拡張レポート・レイアウトの使用

この項では、拡張レポート・レイアウトに関する次のタスクについて説明します。

- 第4.14.1項「バッチ・レポートの作成」

- 第4.14.2項「データが見つからない状況の処理」

- 第4.14.3項「ピボット・テーブルの挿入」

- 第4.14.4項「動的データ列の構築」

4.14.1 バッチ・レポートの作成

1つのPDFファイルに含まれる請求書や発注書などの文書を一括して印刷することは一般的な要件の1つです。このような文書は複数の異なる顧客向けであるため、ドキュメントごとにページ番号をリセットし、ページ合計はドキュメント固有であることが必要です。ヘッダーとフッターにデータのフィールド(顧客名など)を表示する場合も、同様にリセットする必要があります。

BI Publisherでは、コンテキスト・コマンドを使用してこの要件をサポートしています。このコマンドを使用すると、レポートの要素を特定のセクションに定義できます。セクションが変わると、要素がリセットされます。

次の例では、出力ファイル内のヘッダーとフッター、およびページ番号をリセットする方法を説明します。

次のXMLコードは、複数の請求書を含むレポートです。

...
<LIST_G_INVOICE>
<G_INVOICE>
<BILL_CUST_NAME>Vision, Inc. </BILL_CUST_NAME>
<TRX_NUMBER>2345678</TRX_NUMBER>
...
</G_INVOICE>
<G_INVOICE>
<BILL_CUST_NAME>Oracle, Inc. </BILL_CUST_NAME>
<TRX_NUMBER>2345685</TRX_NUMBER>
...
</G_INVOICE>
...
</LIST_G_INVOICE>
...

各G_INVOICE要素には、異なる顧客向けの請求書が含まれている場合があります。BI Publisherに対して、G_INVOICE要素が出現するたびに新規セクションを開始するように指示するには、次の構文を使用して、@sectionコマンドをグループの開始のfor-each文に追加します。

<?for-each@section:group name?>

ここで、group_nameは新規セクションを開始する要素の名称です。

たとえば、この例のfor-eachグループ文は次のようになります。

<?for-each@section:G_INVOICE?>

終了の<?end for-each?>タグは変更ありません。

図4-66にテンプレートの例を示します。ヘッダーはコマンドによってリセットされますが、G_INVOICEグループのfor-each宣言はレポート本文内にあることに注意してください。

図4-66 バッチ・レポートのテンプレート

表4-16は、図4-66のテンプレートのフォーム・フィールドの値を示しています。

表4-16 バッチ・レポートを作成するフィールド

デフォルト・テキスト入力

フォーム・フィールドのヘルプ・テキスト

説明

for-each G_INVOICE

<?for-each@section:G_INVOICE?>

G_INVOICEグループを開始し、要素をセクションとして定義します。G_INVOICEが出現するたびに、新規セクションを開始します。

<?TRX_NUMBER?>

該当なし

Microsoft Wordでは、ヘッダーでのフォーム・フィールドの使用はサポートしていないため、TRX_NUMBER要素のプレースホルダ構文はテンプレートに直接配置します。

end G_INVOICE

<?end for-each?>

G_INVOICEグループを終了します。

これで、G_INVOICE要素が新たに出現するたびに、新規セクションが開始します。ページ番号が再び開始され、ヘッダーまたはフッターの情報がデータから抽出されると、同様にリセットされます。

4.14.2 データが見つからない状況の処理

BI Publisherコマンドのfor-eachまたはfor-each-groupで@sectionを使用し(例:<?for-each@section:ELEMENT_NAME?>)、入力データ・ファイルにデータがない場合、空または無効のPDF出力ドキュメントが、そのfor-eachループに対して生成される可能性があります。これが発生するのを防ぐには、RTFテンプレートを編集します。

データが見つからない状況を処理する手順は次のとおりです。

1. RTFテンプレートの終わりに、セクション区切りを追加します。

2. 最後のページ(新しい項のページ)で、コマンド<?if@section:not(ELEMENT_NAME)?>No Data Found<?end if?>を追加します。
ここで、ELEMENT_NAMEは、for-each@sectionループで使用しているのと同じデータ要素です。

これで、ELEMENT_NAMEにデータが存在しない場合は、「データが見つかりません」というテキストとともに有効なPDFが生成されます。

4.14.3 ピボット・テーブルの挿入

注意:

詳細は、第5.4.7項「ピボット・テーブルの挿入」を参照してください。

ピボット・テーブルの列は、データに依存します。設計時点では、レポートされる列の数や適切な列ヘッダーを把握できません。さらに、列が次のページに分割される場合は、後続のページで繰り返される行ラベル列の定義を可能にする必要があります。次の例では、これらの機能をサポートする単純なピボット・テーブル・レポートの設計方法を説明します。

この例では、次のXMLサンプルを使用します。

<ROWSET>
<RESULTS>
<INDUSTRY>Motor Vehicle Dealers</INDUSTRY>
<YEAR>2005</YEAR>
<QUARTER>Q1</QUARTER>
<SALES>1000</SALES>
</RESULTS>
<RESULTS>
<INDUSTRY>Motor Vehicle Dealers</INDUSTRY>
<YEAR>2005</YEAR>
<QUARTER>Q2</QUARTER>
<SALES>2000</SALES>
</RESULTS>
<RESULTS>
<INDUSTRY>Motor Vehicle Dealers</INDUSTRY>
<YEAR>2004</YEAR>
<QUARTER>Q1</QUARTER>
<SALES>3000</SALES>
</RESULTS>
<RESULTS>
<INDUSTRY>Motor Vehicle Dealers</INDUSTRY>
<YEAR>2004</YEAR>
<QUARTER>Q2</QUARTER>
<SALES>3000</SALES>
</RESULTS>
<RESULTS>
<INDUSTRY>Motor Vehicle Dealers</INDUSTRY>
<YEAR>2003</YEAR>
...
</RRESULTS>
<RESULTS>
<INDUSTRY>Home Furnishings</INDUSTRY>
...
</RESULTS>
<RESULTS>
<INDUSTRY>Electronics</INDUSTRY>
...
</RESULTS>
<RESULTS>
<INDUSTRY>Food and Beverage</INDUSTRY>
...
</RESULTS>

</ROWSET>

このXMLから、図 4-67に示すように、各業種、および各年度の売上合計が表示されるレポートが生成されます。

図4-67 年度合計のレポート

図4-68は、図4-67に示されたレポートを生成するテンプレートを示しています。

図4-68 年度合計のテンプレート

図4-68に示されたテンプレートのフォーム・フィールドには、表4-17に示される値が設定されます。

表4-17 表挿入のフィールド

デフォルト・テキスト入力

フォーム・フィールドのヘルプ・テキスト

説明

header column

<?horizontal-break-table:1?>

最初の列を、表の途中で改ページした場合に繰返し表示するヘッダーとして定義します。この構文の詳細は、第4.14.4.1項「改ページ時に繰り返す列の定義」を参照してください。

for:

<?for-each-group@column:RESULTS;YEAR?>

再グループ化構文(第4.12.3項「XMLデータの再グループ化」を参照)を使用してデータをYEAR別にグループ化し、@columnコンテキスト・コマンドを使用して各グループ(YEAR)の表列を作成します。コンテキスト・コマンドの詳細は、第4.18項「コンテキスト・コマンドを使用した命令の配置の制御」を参照してください。

YEAR

<?YEAR?>

YEAR要素のプレースホルダ。

end

<?end for-each-group?>

for-each-groupループを終了します。

for:

<?for-each-group:RESULTS;INDUSTRY?>

グループを開始して、INDUSTRYごとに表の行を作成します。

INDUSTRY

<?INDUSTRY?>

INDUSTRY要素のプレースホルダ。

for:

<?for-each-group@cell:current-group();YEAR?>

再グループ化構文(第4.12.3項「XMLデータの再グループ化」を参照)を使用してデータをYEAR別にグループ化し、@cellコンテキスト・コマンドを使用して各グループ(YEAR)の表セルを作成します。

sum(Sales)

<?sum(current-group()//SALES)?>

現行グループ(YEAR)の売上を合計します。

end

<?end for-each-group?>

for-each-group文を終了します。

end

<?end for-each-group?>

for-each-group文を終了します。

表の列の数を決定するために@columnコンテキストを使用するのは、最初の行のみであることに注意してください。残りの行はすべて、@cellコンテキストを使用して列の表セルを作成する必要があります(コンテキスト・コマンドの詳細は、第4.18項「コンテキスト・コマンドを使用した命令の配置の制御」を参照してください。)

4.14.4 動的データ列の構築

動的データ列の作成機能は、RTFテンプレートの強力な機能の1つです。この機能を使用すると、データによって必要な列の数が変化する場合に、表を正しくレンダリングするテンプレートを設計できます。

たとえば、特定範囲内のテスト・スコアの列を表示するテンプレートを設計するとします。ただし、レポート対象のデータを表示する範囲の数は不明です。この場合は、動的データ列を定義すると、実行時に適切な数の列に分割できます。

次のタグを使用して、データの正しいレンダリングに必要な動的書式設定を設定します。

- 動的列ヘッダー
<?split-column-header:group element name?>

このタグを使用して、表の列ヘッダーを分割するグループを定義できます。

- 動的列<?split-column-data:group element name?>
このタグを使用して、表の列データを分割するグループを定義できます。

- 動的列幅
<?split-column-width:name?>または

<?split-column-width:@width?>

いずれかのタグを使用して、XMLデータに幅が記述されている際の列の幅を定義します。幅は、次のいずれかの方法で記述できます。

- XML要素に幅の値が格納されます。この場合は、構文<?split-column-width:name?>を使用します。nameは、幅の値が含まれるXML要素のタグ名です。

- 要素がsplit-column-headerタグで定義されている場合は、width属性を挿入し、構文<?split-column-width:@width?>を使用して、この属性の値を使用します。

- 動的列幅の単位値(ポイント単位)<?split-column-width-unit:value?>
このタグを使用して列幅の乗数を定義します。文字セルで列幅が定義されている場合、適切な乗数値を使用して列を適正な幅(ポイント)でレンダリングする必要があります。たとえば、表で10ポイントのcourierフォントを使用している場合、6の乗数を使用します。これは、10ポイントのcourierフォントで表示される文字の近似の幅です。乗数が定義されていない場合、列の幅は、表の全幅の割合として計算されます。幅は表4-18のように計算されます。

表4-18 列幅の計算

幅の定義

列1(Width = 10)

列2(Width = 12)

列3(Width = 14)

乗数なし - %Width

10/10+12+14*100 28%

%Width = 33%

%Width =39%

乗数 = 6 - width

60ポイント

72ポイント

84ポイント

4.14.4.1 改ページ時に繰り返す列の定義

表の列が横に広がり複数のページにまたがる場合、ページごとに繰り返す行見出し列の数を定義できます。次の構文を使用して、繰り返す列数を指定します。

<?horizontal-break-table:number?>

ここで、numberは繰り返す列の数(左から始めます)です。

この機能はPDF出力に対してのみサポートされます。

4.14.4.2 動的データ列の例

学校のテストについて、スコア範囲を表示するためのテンプレートが必要であるとします。論理的には、表4-19に示すようにレポートを配置します。

表4-19 動的データ列

テスト・スコア

テスト・スコア範囲1

テスト・スコア範囲2

テスト・スコア範囲3

...テスト・スコア範囲n

テスト・カテゴリ

範囲1の生徒数

範囲2の生徒数

範囲3の生徒数

範囲nの生徒数

しかし、レポートに表示されるテスト・スコア範囲の数は不明です。テスト・スコア範囲列の数は、データに応じて動的に設定されます。

次のXMLデータは、テスト・スコアを記述したものです。要素<TestScoreRange>の出現回数によって、必要な列の数が決まります。この例の場合は、0-20、21-40、41-60、61-80および81-100の5つの列があります。各列には、数量要素(<NumOfStudents>)および列幅属性(<TestScore width="15">)があります。

<?xml version="1.0" encoding="utf-8"?>
<TestScoreTable>
<TestScores>
<TestCategory>Mathematics</TestCategory>
<TestScore width ="15">
<TestScoreRange>0-20</TestScoreRange>
<NumofStudents>30</NumofStudents>
</TestScore>
<TestScore width ="20">
<TestScoreRange>21-40</TestScoreRange>
<NumofStudents>45</NumofStudents>
</TestScore>
<TestScore width ="15">
<TestScoreRange>41-60</TestScoreRange>
<NumofStudents>50</NumofStudents>
</TestScore>
<TestScore width ="20">
<TestScoreRange>61-80</TestScoreRange>
<NumofStudents>102</NumofStudents>
</TestScore>
<TestScore width ="15">
<TestScoreRange>81-100</TestScoreRange>
<NumofStudents>22</NumofStudents>
</TestScore>
</TestScores>
<TestScoreTable>

フォーム・フィールドで動的列タグを使用して、図4-69.に示すような2列の表を設定します。最初の列「Test Score」は静的な列です。2番目の列「Column Header and Splitting」は動的な列です。実行時に、この列はデータに応じて分割され、列ごとにヘッダーが適切に移入されます。表4-20に、各フィールドのデフォルト・テキスト入力およびフォーム・フィールドのヘルプ・テキスト入力を示します(フォーム・フィールドの使用の詳細は、第4.3.1.2項「フォーム・フィールド方式の使用」を参照してください)。

図4-69 動的データ列

表4-20 動的データ列のフィールド

デフォルト・テキスト入力

フォーム・フィールドのヘルプ・テキスト入力

Group:TestScores

<?for-each:TestScores?>

テスト・カテゴリ

<?TestCategory?>

列ヘッダーと分割

<?split-column-header:TestScore?> <?split-column-width:@width?> <?TestScoreRange?>%

コンテンツと分割

<?split-column-data:TestScore?> <?NumofStudents?>

end:TestScores

<?end for-each?>

- Test Scoreは、ボイラープレート列ヘッダーです。

- Test Categoryは<TestCategory>データ要素(この例ではMathematics)のプレースホルダで、行ヘッダーにもなります。

- 2番目の列は、動的に分割される列です。指定した幅がデータの列数で除算されます。この例では、データ列数は5です。

- 2番目の列には、動的な範囲データが含まれます。列の幅は、分割された列の幅に応じて分割されます。この例には単位値タグ(<?split-column-width-unit:value?>)が含まれていないため、列はパーセントを基準にして分割されます。必要に応じてデータが折り返されます。
単位値タグ(<?split-column-width-unit:value?>)が含まれている場合、列は特定の幅(ポイント単位)になります。列幅の合計がページに割り当てられた領域より広い場合、その表は次のページに分割されます。

horizontal-break-tableタグを使用すると、後続のページで繰り返す列の数を指定できます。たとえば、値を1に設定すると、「Test Score」列が後続のページで繰り返され、最初のページに収まらなかった残りの列とともに表示されます。

このテンプレートをレンダリングすると、図4-70のような出力が得られます。

図4-70 テスト・スコアのレポート

4.15 数値、日付および通貨の書式設定

この項では、数値、日付および通貨の書式設定の詳細を説明します。内容は次のとおりです。

- 第4.15.1項「数値の書式設定」

- 第4.15.7項「日付の書式設定」

- 第4.15.14項「通貨の書式設定」

4.15.1 数値の書式設定

BI Publisherでは、数値の書式を指定するために、次の2つの方法をサポートしています。

- Oracleのformat-number関数(推奨)

- Microsoft Word固有の数値書式マスク

注意:

XSL固有のformat-number関数を使用して、数値を書式設定することもできます。詳細は、第4.21.2.8項「XSL固有の数値書式設定」を参照してください。

前述の方法のいずれかを使用してください。両方の方法を使用して数値書式マスクを指定すると、データが2回書式設定されるため、予期しない動作が発生します。

グループ・セパレータと数値セパレータは、テンプレート・ロケールに基づいて実行時に設定されます。en-US以外のロケールで作業していたり、テンプレートに翻訳が必要な場合は、Oracleの書式マスクを使用します。

4.15.2 データソース要件

Oracle書式マスクまたはMicrosoft書式マスクを使用するには、データソースの数値がRaw形式であること、つまり、書式設定が適用されていない(例: 1000.00)ことが必要です。数値が書式設定されている場合(たとえば、欧州形式に1.000,00と書式設定されている場合)、その書式は機能しません。

BI Publisherパーサーでは、Java BigDecimal文字列表現が必要です。この表現は、オプション記号(-)、0(ゼロ)以上の10進数列(整数)、小数(オプション)および指数(オプション)で構成されます。たとえば、-123456.3455e-3のように設定します。

4.15.3 ローカライゼーションに関する検討事項

en-US以外のロケールで作業していたり、テンプレートに翻訳が必要な場合は、Oracleの書式マスクを使用します。Microsoftの書式マスクは、異なるロケール設定で実行されるテンプレートにおいて予期しない結果を生じる可能性があります。

「%」記号は、数値表示でパーセント記号の位置を固定するため、書式マスクに含めないでください。この記号は、ロケールに基づいて、数値の先頭または後に配置できます。

4.15.4 Microsoft数値書式マスクの使用

数値を書式設定するには、Microsoft Wordのフィールド書式設定機能を使用します。この機能は、「テキスト ボックス フォーム フィールド」ダイアログで設定できます。

数値書式をフォーム・フィールドに適用する手順は、次のとおりです。

1. プレースホルダ・フィールドに対して「フォーム・フィールドのオプション」ダイアログを開きます。

2. 「Type」を「Number」に設定します。

3. 「Number format」のオプション・リストから適切な数値書式を選択します。

4.15.5 サポートされているMicrosoft書式マスク定義

表4-21に、サポートされているMicrosoft書式マスク定義を示します。

表4-21 サポートされているMicrosoft書式マスク定義

記号

位置

意味

0

Number

数字。他に数字が存在しない場合には、明示的に0(ゼロ)が表示されます。

例:

書式マスク: 00.0000

データ: 1.234

表示: 01.2340

#

Number

数字。#に設定すると、受信したデータのみが表示されます。

例:

書式マスク: ##.####

データ: 1.234

表示: 1.234

.

Number

小数セパレータの位置を決定します。使用する小数セパレータ記号は、実行時にテンプレート・ロケールに基づいて決まります。

例:

書式マスク: #,##0.00

データ: 1234.56

英語ロケールでの表示: 1,234.56

ドイツ語ロケールでの表示: 1.234,56

-

Number

マイナスの数値のマイナス記号の位置を決定します。

,

Number

グループ・セパレータの位置を決定します。使用するグループ・セパレータ記号は、実行時にテンプレート・ロケールに基づいて決まります。

例:

書式マスク: #,##0.00

データ: 1234.56

英語ロケールでの表示: 1,234.56

ドイツ語ロケールでの表示: 1.234,56

E

Number

科学表記法で仮数および指数を区切ります。

例:

0.###E+0: 正の数には必ずプラス記号が表示されます

0.###E-0: 正の数にはプラス記号は表示されません。

;

サブパターンの境界

プラスおよびマイナスのサブパターンを区切ります。この表の後の注意事項を参照してください。

%

プリフィクスまたはサフィックス

100を乗算してパーセントで表示します。

'

プリフィクスまたはサフィックス

プリフィクスまたはサフィックスに特殊文字を引用するために使用します。

注意:

サブパターンの境界: パターンには、「#,##0.00;(#,##0.00)」のように、プラスおよびマイナスのサブパターンが含まれます。各サブパターンには、プリフィクス、数値部分およびサフィックスが含まれます。マイナスのサブパターンはオプションです。マイナスのサブパターンを指定しない場合、そのマイナスのサブパターンは、プラスのサブパターンの先頭にローカライズされたマイナス記号(ほとんどのロケールで「-」を使用)を付けて表します。つまり、「0.00」は「0.00;-0.00」と同じになります。明示的にマイナスのサブパターンを指定した場合、このサブパターンは単にマイナスのプリフィクスとサフィックスを指定するために使用されます。桁数、最小数字などすべての特性はプラスのパターンと同じです。つまり、「#,##0.0#;(#)」と「#,##0.0#;(#,##0.0#)」の動作は完全に同じになります。

4.15.6 Oracle書式マスクの使用

Oracle書式マスクをフォーム・フィールドに適用する手順は、次のとおりです。

1. プレースホルダ・フィールドに対して「Form Field Options」ダイアログ・ボックスを開きます。

2. 「Type」を「Regular text」に設定します。

3. 「Form Field Help Text」フィールドに、次の例に従ってマスク定義を入力します。
<?format-number:ファイル名;'999G999D99'?>

説明:

fieldnameは、書式設定するデータ要素のXMLタグ名です。

999G999D99はマスク定義です。

図4-71に、データ要素"empno"に関する「ヘルプの追加」ダイアログへの入力例を示します。

図4-71 「ヘルプの追加」の入力

表4-22に、サポートされているOracle数値書式マスクの記号とその定義を示します。

表4-22 サポートされているOracle数値書式マスクの記号

記号

意味

0

数字。他に数字が存在しない場合には、明示的に0(ゼロ)が表示されます。例:書式マスク: 00.0000データ: 1.234表示: 01.2340

9

数字。指定桁数の値を戻し、正の数の場合は先頭に空白が付き、負の数の場合は先頭にマイナス記号が付きます。先行0(ゼロ)は空白ですが、0(ゼロ)値の場合は固定小数点数の整数部分に0(ゼロ)を戻します。例:書式マスク: 99.9999データ: 1.234表示: 1.234

C

指定した位置にISO通貨記号を戻します。

D

小数セパレータの位置を決定します。使用する小数セパレータ記号は、実行時にテンプレート・ロケールに基づいて決まります。例:書式マスク: 9G999D99データ: 1234.56表示(英国ロケールの場合): 1,234.56表示(ドイツ・ロケールの場合): 1.234,56

EEEE

科学表記法で値を戻します。

G

グループ(千単位)セパレータの位置を決定します。使用するグループ・セパレータ記号は、実行時にテンプレート・ロケールに基づいて決まります。例:書式マスク: 9G999D99データ: 1234.56表示(英国ロケールの場合): 1,234.56表示(ドイツ・ロケールの場合): 1.234,56

L

指定した位置にローカル通貨記号を戻します。

MI

マイナスの値を末尾に「-」を付けて表示します。

PR

マイナスの値を<>で囲んで表示します。

PT

マイナスの値を()で囲んで表示します。

S(数値の前)

プラスの値の場合は先頭に「+」を付け、マイナスの値の場合は先頭に「-」を付けて表示します。

S(数値の後)

プラスの値の場合は末尾に「+」を付け、マイナスの値の場合は末尾に「-」を付けて表示します。

4.15.7 日付の書式設定

BI Publisherでは、日付の書式を指定するために、次の3つの方法をサポートしています。

- Microsoft Word固有の日付書式マスクを使用して、明示的な日付書式マスクを指定します。

- Oracleのformat-date関数を使用して、明示的な日付書式マスクを指定します。

- Oracleの抽象日付書式マスクを使用して、抽象日付書式マスクを指定します(多言語テンプレートの場合に推奨)。

使用できる方法は1つのみです。OracleとMSの両方の書式マスクを指定した場合、データが2回書式設定されるため、予期しない動作が発生します。

4.15.8 データソース要件

Microsoft書式マスクまたはOracle書式マスクを使用するには、XMLデータソースの日付が標準書式であることが必要です。標準書式は次のとおりです。

YYYY-MM-DDThh:mm:ss+HH:MM

説明:

- YYYYは年です。

- MMは月です。

- DDは日です。

- Tは、日付部分と時刻部分のセパレータです。

- hhは、24時間書式の時間です。

- mmは分です。

- ssは秒です。

- +HH:MMは、世界標準時(UTC)またはグリニッジ標準時からのタイムゾーン・オフセットです。

次に、この書式の例を示します。

2005-01-01T09:30:10-07:00

「T」の後のデータはオプションです。このため、2005-01-01という日付は、いずれかの日付書式設定オプションを使用して書式設定できます。

注意:

時間コンポーネントおよびタイムゾーンのオフセットがXMLソース日付に含まれていない場合、BI Publisherは、12:00 AM UTC(つまり、yyyy-mm-ddT00:00:00-00:00)を示すと想定します。

4.15.9 Microsoft日付書式マスクの使用

日付書式をフォーム・フィールドに適用する手順は、次のとおりです。

1. プレースホルダ・フィールドに対して「Form Field Options」ダイアログ・ボックスを開きます。

2. 「Type」を「Date」、「Current Date」または「Current Time」に設定します。

3. 「日付の書式」のオプション・リストから適切な日付書式を選択します。

「日付の書式」フィールドでマスクを指定しない場合は、デフォルトとして抽象書式マスク「MEDIUM」が使用されます。詳細は、第4.15.12項「Oracle抽象書式マスク」を参照してください。

表4-23に、サポートされているMicrosoft日付書式マスクのコンポーネントを示します。

表4-23 サポートされているMicrosoft日付書式マスクのコンポーネント

記号

意味

d

月の日。1日-9日の場合、先頭に0(ゼロ)は付きません。

dd

月の日。1日-9日の場合、先頭に0(ゼロ)が付きます。

ddd

曜日の略称。AbbreviatedDayNamesで定義されます。

dddd

曜日の正式名称。DayNamesで定義されます。

M

数値で表した月。1月-9月の場合、先頭に0(ゼロ)は付きません。

MM

数値で表した月。1月-9月の場合、先頭に0(ゼロ)が付きます。

MMM

月の略称。AbbreviatedMonthNamesで定義されます。

MMMM

月の正式名称。MonthNamesで定義されます。

yy

世紀部分を除いた年。世紀部分を除いた年が10未満の場合は、先頭に0(ゼロ)を付けて表示されます。

yyyy

4桁の年。

gg

時代または年号。書式設定される日付に関連する時代または年号文字列がない場合、このパターンは無視されます。

h

12時間書式の時間。1時-9時の場合、先頭に0(ゼロ)は付きません。

hh

12時間書式の時間。1時-9時の場合、先頭に0(ゼロ)が付きます。

H

24時間書式の時間。1時-9時の場合、先頭に0(ゼロ)は付きません。

HH

24時間書式の時間。1時-9時の場合、先頭に0(ゼロ)が付きます。

m

分。1分-9分の場合、先頭に0(ゼロ)は付きません。

mm

分。1分-9分の場合、先頭に0(ゼロ)が付きます。

s

秒。1秒-9秒の場合、先頭に0(ゼロ)は付きません。

ss

秒。1秒-9秒の場合、先頭に0(ゼロ)が付きます。

f

1桁で表したミリ秒を表示します。

ff

2桁で表したミリ秒を表示します。

fff

3桁で表したミリ秒を表示します。

ffff

4桁で表したミリ秒を表示します。

fffff

5桁で表したミリ秒を表示します。

ffffff

6桁で表したミリ秒を表示します。

fffffff

7桁で表したミリ秒を表示します。

tt

AM/PMの指標。AMDesignatorまたはPMDesignatorで定義します(存在する場合)。

z

システムの現行タイムゾーンのタイムゾーン・オフセットを時間でのみ表示します(この要素は書式設定でのみ使用可能)。

zz

システムの現行タイムゾーンのタイムゾーン・オフセットを時間でのみ表示します(この要素は書式設定でのみ使用可能)。

zzz

システムの現行タイムゾーンのタイムゾーン・オフセットを時間と分で表示します。

:

デフォルトの時間セパレータ。TimeSeparatorで定義されます。

/

デフォルトの日付セパレータ。DateSeparatorで定義されます。

'

引用符付き文字列。文字列のリテラル値の前後を'文字で囲んで表示します。

"

引用符付き文字列。文字列のリテラル値の前後を"文字で囲んで表示します。

4.15.10 Oracle書式マスクの使用

Oracle書式マスクを日付フィールドに適用する手順は、次のとおりです。

1. プレースホルダ・フィールドに対して「Form Field Options」ダイアログ・ボックスを開きます。

2. 「Type」を「Regular Text」に設定します。

3. 「Add Help Text...」ボタンを選択して、「Form Field Help Text」ダイアログを開きます。

4. 次の構文を挿入して、日付書式マスクを指定します。
<?format-date:date_string; 'ABSTRACT_FORMAT_MASK';'TIMEZONE'?>

または

<?format-date-and-calendar:date_string; 'ABSTRACT_FORMAT_MASK';'CALENDAR_NAME';'TIMEZONE'?>

タイムゾーンはオプションです。書式マスク、カレンダおよびタイムゾーンの使用方法の詳細は後述します。

書式マスクを指定しない場合は、デフォルトとして抽象書式マスク「MEDIUM」が使用されます。

次に、フォーム・フィールドのヘルプ・テキスト入力の例を示します。

<?format-date:hiredate;'YYYY-MM-DD'?>

表4-24に、サポートされているOracle日付書式マスクのコンポーネントを示します。

注意:

Excel2007出力(.xlsx)では、E、EE、W、WW、X、XXの書式マスクはサポートされません。RTFテンプレートでこれらを使用してExcel2007出力を生成すると、これらのどの書式の日付も表示できなくなります。これらの書式マスクの組合せによっては、Excel2007(.xlsx)出力を開いた際にエラーが発生する可能性もあります。

表4-24 サポートされているOracle日付書式マスクのコンポーネント

記号

意味

- / , . ; : "text"

記号および引用符が付いたテキストが再現されて表示されます。

AD A.D.

ピリオド付き/なしで西暦を示します。

AM A.M.

ピリオド付き/なしで子午線インジケータを示します。

BC B.C.

ピリオド付き/なしで紀元前を示します。

CC

世紀。たとえば、2002は21を戻し、2000は20を戻します。

DAY

日の名称。9文字未満の場合は、9文字の長さまで空白で埋め込まれます。

D

曜日(1から7)。

DD

日付(1から31)。

DDD

年における日(1から366)。

DL

長い日付書式で値が戻されます。

DS

短い日付書式の値を戻します。

DY

曜日の省略形。

E

年号の略称。

EE

年号の正式名称。

FF[1..9]

ミリ秒。FFの後に1から9の数字を設定して、戻される日時値のミリ秒部分の桁数を指定します。

例:

'HH:MI:SS.FF3'

HH

時間(1から12)。

HH12

時間(1から12)。

HH24

時間(0から23)。

MI

分(0から59)。

MM

月(01から12。01は1月)。

MON

月の名前の省略形。

MONTH

月の名称。9文字未満の場合は、9文字の長さまで空白で埋め込まれます。

PM P.M.

ピリオド付き/なしで子午線インジケータを示します。

RR

2桁のみを使用して、21世紀に20世紀の日付を格納できます。

RRRR

年を丸めます。4桁または2桁で入力できます。2桁の場合、RRの場合と同様の結果が戻ります。この機能を使用しない場合は、単に4桁の年を入力します。

SS

秒(0から59)。

TZD

夏時間情報。TZD値は、夏時間情報を含むタイムゾーンの簡略文字列です。この値は、TZRで指定する地域に対応する必要があります。

例:

PST(太平洋標準時)

PDT(太平洋夏時間)

TZH

タイム・ゾーンの時間を指定します。(書式設定要素TZMを参照)。

TZM

タイム・ゾーンの分を指定します。(TZH書式要素を参照。)

例:

'HH:MI:SS.FFTZH:TZM'

TZR

タイムゾーン地域の情報。値は、データベースでサポートされるタイムゾーン地域である必要があります。

例:

PST(太平洋標準時)

WW

年における週(1から53)。第1週はその年の1月1日で始まり、1月7日で終了します。

W

月における週(1から5)。第1週はその月の1日で始まり、7日で終了します。

X

ローカル基数文字

YYYY

4桁で表した年。

YY Y

年の最後の2桁または1桁。

4.15.11 デフォルトの書式マスク

MS書式マスクまたはOracle書式マスクのいずれも指定しない場合は、マスク定義を省略してデフォルトの書式マスクを使用できます。デフォルトの書式マスクは、Oracleが提供するMEDIUM抽象書式マスクです(定義については、第4.15.12項「Oracle抽象書式マスク」を参照)。

Microsoftの方式でデフォルト・オプションを使用するには、「テキスト ボックス フォーム フィールド」ダイアログで、「種類」を「日付」に設定し、「日付の形式」フィールドを空白のままにします。

Oracle書式マスクのデフォルト・オプションを使用するには、次のように、format-date関数コールにマスク定義を指定しないでください。

<?format-date:hiredate?>

4.15.12 Oracle抽象書式マスク

抽象日付書式マスクは、I18Nライブラリの日付/時刻書式設定のデフォルト実装を反映します。いずれかのマスクを使用すると、レポートに関連付けられているロケールに基づいて出力が生成されます。

抽象書式マスクは、次の構文を使用して指定します。

<?format-date:fieldname;'MASK'?>

ここで、fieldnameはXML要素タグです。

MASKは、Oracle抽象書式マスクの名称です。

たとえば、次のように入力します。

<?format-date:hiredate;'SHORT'?>
<?format-date:hiredate;'LONG_TIME_TZ'?>
<?format-date:xdoxslt:sysdate_as_xsdformat();'MEDIUM'?>

表4-25に、抽象書式マスク、およびUSロケールで生成されたサンプル出力を示します。

表4-25 抽象書式マスクと出力例

マスク

米国ロケールの出力

SHORT

2/31/99

MEDIUM

Dec 31, 1999

LONG

Friday, December 31, 1999

SHORT_TIME

12/31/99 6:15 PM

MEDIUM_TIME

Dec 31, 1999 6:15 PM

LONG_TIME

Friday, December 31, 1999 6:15 PM

SHORT_TIME_TZ

12/31/99 6:15 PM GMT

MEDIUM_TIME_TZ

Dec 31, 1999 6:15 PM GMT

LONG_TIME_TZ

Friday, December 31, 1999 6:15 PM GMT

4.15.13 レポートでのシステム日付(sysdate)の表示

sysdateを正しく表示するには、xdoxslt:sysdate_as_xsdformat()関数と<?format-date:?>コマンドを使用します。

たとえば、次のように入力します。

<?format-date:xdoxslt:sysdate_as_xsdformat();'MEDIUM'?>

<?format-date:xdoxslt:sysdate_as_xsdformat();'LONG'?>

<?format-date:xdoxslt:sysdate_as_xsdformat();'LONG_TIME_TZ'?>

<?format-date-and-calendar:xdoxslt:sysdate_as_xsdformat();
'LONG_TIME';'ROC_OFFICIAL';?>

4.15.14 通貨の書式設定

BI Publisherでは、固有の通貨書式マスクを定義して、実行時に公開データに適用できます。

RTFテンプレートで通貨の書式設定を利用する手順は次のとおりです。

1. BI Publisherの実行時構成プロパティで通貨書式を設定します。通貨書式は、システム・レベルまたはレポート・レベルで定義できます。
通貨書式プロパティを設定するには、国際標準化機構(ISO)の通貨コードを使用して、指定された通貨に使用する形式を定義します。図4-72は、この例を示しています。

図4-72 通貨コードの例

詳細は、第2.9.5項「通貨書式の構成」を参照してください。

2. 第4.15.15項「フィールドへの通貨書式の適用」の説明に従って、RTFテンプレートにformat-currencyコマンドを入力して、実行時に形式をフィールドに適用します。

4.15.15 フィールドへの通貨書式の適用

format-currency関数のパラメータは、次のとおりです。

<?format-currency:Amount_Field;CurrencyCode;displaySymbolOrNot?>

説明:

Amount_Fieldは、データ内の量/額の値を保持するXML要素のタグ名を取得します。

CurrencyCodeは静的値に設定することも、動的に設定することもできます。レポートの値が静的な場合は、'USD'のようにISOの3文字の通貨コードを一重引用符で囲んで入力します。

値を動的に設定するには、ISO通貨コードを保持するXML要素のタグ名を入力します。通貨コードを含む要素が、データに存在している必要があります。

実行時に、Amount_Fieldは、レポート・プロパティで通貨コードに設定された形式に従って書式設定されます。

displaySymbolOrNotは、一重引用符内に示す'true'または'false'の値のいずれかを取ります。''true'に設定すると、通貨記号はCurrencyCodeの値に従ってレポートに表示されます。通貨記号を表示しない場合は、'false'と入力するか、または単にパラメータを指定しないでください。

4.15.16 例: レポートでの複数の通貨書式の表示

表4-26は、レポート・プロパティに様々な通貨書式が設定されている場合の例です。

表4-26は複数の通貨書式を示しています。

通貨コード

書式マスク

YEN

9G999D99

INR

9G99G99G999D99

この例では、通貨コードを動的に設定する必要はありません。XMLデータには、次の要素があります。

<TOTAL_SALES>
<US_SALES>8596526459.56</US_SALES>
<INDIA_SALES>60000000</INDIA_SALES>
</TOTAL_SALES>

これら2つの合計フィールドをテンプレートに表示するとします。

US_SALESについては、BI Publisherプロパティ・フィールドの構文は、次のようになります。

<?format-currency:US_SALES;'USD'?>

図4-73は、「BI Publisherのプロパティ」ダイアログを使用してテンプレートにINDIA_SALESのエントリを表示する2つのフィールドを示しています。

図4-73 売上を表示するプロパティ

実行時、これらのフィールドは図4-74のように表示されます。

図4-74 売上フィールドの表示

4.15.17 例: 1つのレポートに複数の通貨コードを表示

次の単純なXMLコードには、量/額(Trans_amount)を含む要素およびISO通貨コード(Cur_Code)を含む要素が組み込まれています。

<ROW>
<Trans_Amount>123</Trans_Amount>
<Cur_Code>USD</Cur_Code>
</ROW>
<ROW>
<Trans_Amount>-456</Trans_Amount>
<Cur_Code>GBP</Cur_Code>
</ROW>
<ROW>
<Trans_Amount>748</Trans_Amount>
<Cur_Code>EUR</Cur_Code>
</ROW>
<ROW>
<Trans_Amount>-987</Trans_Amount>
<Cur_Code>JPY</Cur_Code>
</ROW>

これらの金額をそれぞれ適切な通貨記号とともに表示するには、テンプレートで、表示対象となる金額のフィールドに次を入力します。

<?format-currency:Trans_Amount;Cur_Code;'true'?>

図4-75は生成されたレポートを示します。

図4-75 複数通貨のレポート

4.16 カレンダーおよびタイム・ゾーンのサポート

ここでは、カレンダーおよびタイム・ゾーンのサポートについて説明します。

4.16.1 カレンダの仕様

「カレンダ」という用語は、発行レポートに表示されるカレンダ日付を指します。次のタイプがサポートされています。

- GREGORIAN

- ARABIC_HIJRAH

- ENGLISH_HIJRAH

- JAPANESE_IMPERIAL

- THAI_BUDDHA

- ROC_OFFICIAL(台湾)

次のいずれかの方法で、カレンダ・タイプを設定します。

- format-date-and-calendar関数をコールして、カレンダ・タイプを宣言します。
例: <?format-date-and-calendar:hiredate;'LONG_TIME_TZ';'ROC_OFFICIAL';?>

図4-76は、この定義を使用して生成された出力を示します(ロケールはzh-TW、タイムゾーンはAsia/Taipeiに設定)。

図4-76 ロケールをzh-TWに設定した場合の出力

- プロファイル・オプション「XDO: カレンダ・タイプ」(XDO_CALENDAR_TYPE)を使用して、カレンダ・タイプを設定します。

注意:

テンプレートで指定したカレンダ・タイプは、このプロファイル・オプションで設定したカレンダ・タイプより優先されます。

4.16.2 タイムゾーンの仕様

タイムゾーン情報は、次の2つの方法で指定します。

- Oracle書式を指定したformat-dateまたはformat-date-and-calendar関数をコールします。

- Oracle Applicationsで、ユーザー・プロファイル・オプション「クライアント・タイム・ゾーン」(CLIENT_TIMEZONE_ID)を設定します。

タイムゾーンが指定されていない場合は、レポートのタイムゾーンが使用されます。

テンプレートでタイムゾーンを指定する場合は、America/Los Angelesのように、Javaタイムゾーン文字列として指定する必要があります。次に、テンプレートのヘルプ・テキスト・フィールドに入力する構文の例を示します。

<?format-date:hiredate;'LONG_TIME_TZ';'Asia/Shanghai'?>

4.17 外部フォントの使用

BI Publisherでは、通常はサーバーで使用できない外部フォントを出力で使用できます。新規フォントをレポート出力に設定するには、クライアント・マシンでそのフォントを使用してテンプレートを設計し、次に、そのフォントをサーバーで使用可能にして、実行時にそのフォントにアクセスできるようにBI Publisherを構成します。

注意:

外部フォントはPDF出力でのみサポートされています。

外部フォントを使用する手順は次のとおりです。

1. フォントをテンプレートで使用します。

1. フォントを<WINDOWS_HOME>/fontsディレクトリにコピーします。

2. Microsoft Wordを開き、テンプレートを作成します。

3. フォントをテンプレートに挿入します。テキストまたはフォーム・フィールドを選択し、任意のフォントをフォント・ダイアログ・ボックス(「書式」→「フォント」)またはフォント・ドロップダウン・リストから選択します。
図4-77に、フォーム・フィールド・メソッドおよびテキスト・メソッドの例を示します。

図4-77 フォーム・フィールド・メソッドおよびテキスト・メソッド

2. ORACLE_HOME/common/fontsディレクトリのBI Publisherサーバーにフォントを配置します。

注意:

事前定義済のフォントは、Oracle Business Intelligence OracleホームのORACLE_HOME/common/fontsにあります。フォントの位置はXDO_FONT_DIR変数によって設定されます。ご利用の環境でこの変数が設定されていない場合は、フォントは$JAVA_HOME/jre/lib/fontsに配置されます。

3. BI Publisherのfontプロパティを設定します。
レポートのfontプロパティは、BI Publisherの「フォント・マッピング」ページか構成ファイルで設定できます。

「フォント・マッピング」ページでプロパティを設定するには:

1. レポート・エディタでレポートを開きます。

2. 「プロパティ」をクリックし、次に「フォント・マッピング」をクリックします。

3. フォントを入力し、次にマップ先フォントを選択します。第2.9項「レポート・プロパティの構成」を参照してください。

構成ファイルへのプロパティの設定

1. BI Publisher構成ファイルのfontsセクションで、フォント名とサーバー上の位置を更新します。たとえば、TrueTypeを新規に設定するには、次のように入力します。

<font family="MyFontName" style="normal" weight="normal">
<truetype path="\user\fonts\MyFontName.ttf"/>
</font>

詳細は、『Oracle Fusion Middleware Oracle Business Intelligence Publisher管理者ガイド』の付録「構成ファイル・リファレンス」を参照してください。

これでレポートの実行が可能になり、BI Publisherは設計どおりのフォントを出力に使用します。PDF出力の場合は、BI Publisherの拡張フォント処理機能によって、外部フォントの絵文字が最終出力に直接埋め込まれます。文書で必要な絵文字が含まれるのは埋め込まれたフォントのみで、フォント定義自体には含まれません。したがって、文書に必要な要素はすべて備わっているため、外部フォントをプリンタにインストールする必要はありません。

4.17.1 BI Publisherに付属のバーコード・フォントの使用

表4-27では、BI Publisherに付属のバーコードについて説明します。

表4-27 BI Publisherに付属のバーコード

フォント・ファイル

サポートされているアルゴリズム

128R00.TTF

code128a、code128b、およびcode128c

B39R00.TTF

code39、code39mod43

UPCR00.TTF

upca、upce

事前パッケージ済フォントのいずれかを使用する場合、BI Publisherでは、バーコード・フォントを出力ドキュメントのデータに適用する前に、データに対する前処理を実行します。たとえば、書式を設定する前には、データのチェックサム値やスタート・ビットとエンド・ビットを計算します。

設計時には、Microsoft Wordのフィールドにバーコード・フォントを適用する必要はありません。かわりに、BI Publisherのフォント・マッピングを使用して、フィールドに適用するフォントをマップできます。実行時に、BI Publisherはフォント・マッピングで指定したベース・フォントを使用して、任意のフィールドにバーコード・フォントを適用します。テンプレートの他の場所で使用されていないフォントを選択してください。フォント・マッピングの詳細は、第2.9項「レポート・プロパティの構成」を参照してください。

Microsoft Wordでフォントを直接使用する場合、適切な.TTFファイルをC:\WINDOWS\Fontsディレクトリに追加します。Template Builderのプレビュー機能を使用するには、Template Builderの構成ファイルでフォントをマップします。詳細は、第4.22.5項「BI PublisherのTemplate Builder用フォントの構成」を参照してください。

レポート出力でバーコード・フォントを使用する手順は次のとおりです。

1. テンプレート内で、レポート出力でバーコードを表示する場所にフィールドを挿入します。

2. フォーム・フィールドで、次のコマンドを入力します。
<?format-barcode:data;'barcode_type'?>

説明:

dataは、エンコーディング対象のXMLデータソースからの要素です。たとえば、INVOICE_NOなどです。

barcode_typeは、上に示したサポート対象アルゴリズムの1つです。

例:

<?format-barcode:INVOICE_NO;'code128a'?>

<?format-barcode:INVOICE_NO;'code39mod43'?>

<?format-barcode:INVOICE_NO;'upca'?>

3. Microsoft Wordで、フォントをフィールドに適用します。クライアント・マシンにバーコード・フォントをインストールしていない場合は、Bookmanなど、テンプレートの他の場所で使用されていないフォントを選択します。

4. 「フォント・マッピング」ページでフォントを構成します。「フォント・マッピング」ページの詳細は、第2.9項「レポート・プロパティの構成」を参照してください。

次の点に注意してください。

- バーコード・フォントがクライアントにインストールされている場合でも、Microsoft Wordによって適切に表示されない場合があります。この問題を回避するには、別のフォントをフィールドに適用し、前述のようにフォントをマップします。

- upcaアルゴリズムは、UPC-Aメッセージ文字列のみを受け入れて、UPC-Aバーコードへとエンコードします。

- 12文字の文字列は、検査数字付のUPC-Aメッセージとして処理され、11文字の文字列は検査数字がないものとして処理されます。

- upceアルゴリズムは、UPC-Eメッセージ文字列だけを受け入れて、UPC-Eバーコードへとエンコードします。

- 8文字の文字列は、前部と後部の両方にガード・バーを持つUPC-Eメッセージとして処理されます。6文字の文字列はガード・バーがないものとして扱われます。

4.17.2 カスタム バーコード書式の実装

かわりにカスタム・バーコードを使用することを選択した場合、この手順を使用してカスタム・バーコードを実装します。

BI Publisherには、バーコード・フォントを出力ドキュメントのデータに適用する前に、データに対する前処理を実行する機能があります。たとえば、データの書式設定前に、そのデータのチェックサム値やスタート・ビットとエンド・ビットの計算が必要な場合があります。

このソリューションには、BI Publisherへのバーコードのエンコーディング・クラスの登録が必要で、それを実行時にインスタンス化してテンプレートの書式設定を適用できます。詳細は、『Oracle Fusion Middleware Oracle Business Intelligence Publisher開発者ガイド』の拡張バーコード・フォント書式設定に関する項を参照してください。

テンプレートで書式設定機能を有効にするには、テンプレート内で2つのコマンドを使用する必要があります。1つ目は、バーコード・エンコーディング・クラスをBI Publisherに登録するコマンドです。この登録は、エンコーディング・コマンドより前にテンプレートで宣言する必要があります。2つ目は、書式を設定するデータを識別するためのエンコーディング・コマンドです。

4.17.2.1 バーコード・エンコーディング・クラスの登録

次の構文をテンプレートのフォーム・フィールドで使用して、バーコード・エンコーディング・クラスを登録します。

<?register-barcode-vendor:java_class_name;barcode_vendor_id?>

このコマンドには、Javaクラス名(エンコーディングを実行する)と、クラス別に定義されたバーコード・ベンダーIDが必要です。このコマンドは、テンプレート内でデータをエンコーディングするコマンドの前に配置する必要があります。たとえば、次のように入力します。

<?register-barcode-vendor:'oracle.xdo.template.rtf.util.barcoder.BarcodeUtil';'XMLPBarVendor'?>

説明:

oracle.xdo.template.rtf.util.barcoder.BarcodeUtilはJavaクラスです。

XMLPBarVendorは、クラス別に定義されたベンダーIDです。

4.17.2.2 データのエンコード

データを書式設定するには、次の構文をテンプレートのフォーム・フィールドで使用します。

<?format-barcode:data;'barcode_type';'barcode_vendor_id'?>

説明:

dataは、エンコーディング対象のXMLデータソースからの要素です。(例: LABEL_ID)。

barcode_typeは、データの書式設定に使用されるエンコーディングJavaクラスのメソッドです(例: Code128a)。

barcode_vendor_idは、エンコーディング・クラスを登録する際に使用する1つ目のコマンドのregister-barcode-vendorフィールドで定義したIDです。

たとえば、次のように入力します。

<?format-barcode:LABEL_ID;'Code128a';'XMLPBarVendor'?>

実行時に、barcode_typeメソッドがコールされてデータ値の書式が設定され、最終出力のデータにバーコード・フォントが適用されます。

4.18 コンテキスト・コマンドを使用した命令の配置の制御

BI Publisher構文は、XSL命令を単純化したものです。この構文は、テンプレートで使用するネイティブのXSLコマンドとともに、実行時にXSL-FOに変換されます。変換後のスタイル・シート内でのこれらの命令の配置によって、テンプレートの動作が決定されます。

BI PublisherのRTFプロセッサでは、最も一般的なコンテキストに従って、XSL-FOスタイルシート内にこれらの命令が配置されます。ただし、特定の動作の生成には、別の方法による命令のコンテキストの定義が必要な場合もあります。この要件をサポートするために、BI Publisherには、処理命令のコンテキスト(配置)を定義できる一連のコンテキスト・コマンドが用意されています。たとえば、コンテキスト・コマンドを使用すると、次の処理を実行できます。

- 表にif文を指定して、セル、行、列または表全体を参照できます。

- for-eachループを指定して、(新規ヘッダーとフッターの作成、およびページ番号付けの再開始のため)現行データまたはセクション全体のいずれかを繰り返すことができます。

- 現在のループまたは文書の先頭に変数を定義できます。

コンテキストは、BI Publisher構文を使用した処理コマンド、およびXSL固有の構文を使用した処理コマンドの両方に指定できます。

- 簡略化されたBI Publisher構文を使用した処理コマンドに対してコンテキストを指定するには、@contextを構文命令に追加します。たとえば、次のように入力します。

- <?for-each@section:INVOICE?>: グループINVOICEの出現ごとに新規セクションを開始することを指定します。sectionコンテキストを追加すると、ヘッダーとフッターおよびページ番号をリセットできます。
ページ番号付けを再開しない場合は、@sectionコマンドの後に<?initial-page-number:'auto'?>コマンドを追加して複数のセクション間でページ番号付けを継続します。

- <?if@column:VAT?>: if文をVAT列にのみ適用することを指定します。

- XSLコマンドにコンテキストを指定するには、タグにxdofo:ctx="context"属性を追加して、命令の挿入のコンテキストを指定します。コンテキストの値によって、コードが配置される場所が決まります。
たとえば、次のように入力します。

<xsl:for-each xdofo:ctx="section" select ="INVOICE">

<xsl:attribute xdofo:ctx="inblock" name="background-color">red</xsl:attribute>

BI Publisherでは、表4-28に記載のあるコンテキスト・タイプがサポートされています。

表4-28 サポートされているコンテキスト・タイプ

コンテキスト

説明

section

文は、ヘッダーおよびフッターを含めてセクション全体に影響を与えます。たとえば、for-each@sectionコンテキスト・コマンドでは、出現箇所ごとに、再開始されたページ番号およびヘッダーとフッターを使用して新規セクションが作成されます。<?initial-page-number:'auto'?>コマンドを使用することで、セクション全体で連続的なページ番号付けを維持できます。この使用例については、第4.14.1項「バッチ・レポートの作成」を参照してください。

column

この文は、表の列全体に作用します。このコンテキストは通常、データに応じて表の列を表示または非表示にするために使用されます。例については、第4.10.5項「列の書式設定」を参照してください。

cell

この文は、表のセルに作用します。このコンテキストは通常、動的な列数を作成するために、ピボット・テーブルで@columnとともに使用されます。例については、第4.4.14.3項「ピボット・テーブルの挿入」を参照してください。

block

この文は、複数のfo:blocks(RTFの段落)全体に作用します。このコンテキストは通常、if文およびfor-each文に対して使用されます。また、段落または表のセルに書式設定を適用するためにも使用されます。例については、第4.10.7項「セルの強調表示」を参照してください。

inline

このコンテキストは、fo:inlineブロック内の単一の文になります。このコンテキストは変数に使用されます。

incontext

文は、その文を囲んでいる文の直後に挿入されます。これは、その文を囲んでいるfor-eachの後の最初の要素として続く必要がある<?sort?>文のデフォルトです。

inblock

文は、fo:block(RTFの段落)内の単一の文になります。これは通常、制御文(ifやfor-eachなど)には有効ではなく、call-templateなど、テキストを生成する文に有効です。

inlines

この文は、複数のインライン・セクション全体に作用します。1つのインライン・セクションは、太字でレンダリングされる一続きの語など、同じ書式設定を使用するテキストです。第4.10.2項「ボイラープレート・テキストでのIf文の使用」を参照してください。

@inlinesをif構文で使用する場合、同じ文中のその他のif構文のすべてで、コンテキスト・コマンド@inlineを使用する必要があります。@inlinesをFOR-EACH構文で使用する場合、この文中にあるその他のifやFOR-EACH構文すべてで、コンテキスト・コマンド@inlineを使用する必要があります。

begin

この文は、XSLスタイルシートの先頭に配置されます。これは、グローバル変数の場合は必須です。第4.13.2項「パラメータの設定」を参照してください。

end

この文は、XSLスタイルシートの最後に配置されます。

表4-29に、各BI Publisherコマンドのデフォルト・コンテキストを示します。

表4-29 BI Publisherコマンドのデフォルト・コンテキスト

コマンド

コンテキスト

apply-template

inline

attribute

inline

call-template

inblock

choose

block

for-each

block

if

block

import

begin

param

begin

sort

incontext

template

end

value-of

inline

variable

end

4.19 XPathコマンドの使用

XPathは、World Wide Web Consortium(W3C)によって開発された業界標準です。これはXMLドキュメントのナビゲーションに使用される方法です。XPathはXMLドキュメントの個々の部分を処理するための一連の構文規則です。RTFテンプレートでは、実行時に、XMLデータの移動にXPathが使用されているため、ユーザーは認識していなくても、すでにXPathを使用していることになります。

この項では、XPathの原理の概要について説明します。詳細は、W3CのWebサイトhttp://www.w3.org/TR/xpathを参照してください。

XPathは、XML文書をノードのツリーとして解釈するDocument Object Model(DOM)に従っています。ノードは、次の7タイプのいずれかです。

- ルート

- 要素

- attribute

- テキスト

- 名前空間

- 処理命令

- コメント

これらの要素の多くが次のサンプルXMLに示されています。このサンプルにはCDのカタログが含まれています。

<?xml version="1.0" encoding="UTF-8"?>
<! -  My CD Listing  - >
<CATALOG>
<CD cattype=Folk>
<TITLE>Empire Burlesque</TITLE>
<ARTIST>Bob Dylan</ARTIST>
<COUNTRY>USA</COUNTRY>
<PRICE>10.90</PRICE>
<YEAR>1985</YEAR>
</CD>
<CD cattype=Rock>
<TITLE>Hide Your Heart</TITLE>
<ARTIST>Bonnie Tylor</ARTIST>
<COUNTRY>UK</COUNTRY>
<PRICE>9.90</PRICE>
<YEAR>1988</YEAR>
</CD>
</CATALOG>

この例のルート・ノードはCATALOGです。CDは要素であり、属性cattypeが設定されています。サンプルには、コメントとしてMy CD Listingと記述されています。テキストはXML文書要素内に含まれています。

4.19.1 データの検索

location-path式を使用して、XML文書内の情報を検索します。

ノードはユーザーが使用する最も一般的な検索要素です。サンプルのCATALOG XMLのノードには、CD、TITLEおよびARTISTなどがあります。XML文書内のノードを検索するには、パス式を使用します。たとえば、次のパスではすべてのCD要素が戻されます。

//CATALOG/CD

説明:

ダブル・スラッシュ(//)は、文書内のレベルに関係なく、XML文書内で検索基準と一致する要素がすべて戻されることを示します。

スラッシュ(/)は子ノードを区切ります。パターンと一致するすべての要素が戻されます。

個々のTITLE要素を取得するには、次のコマンドを使用します。

/CATALOG/CD/TITLE

この例では、次のXMLが戻されます。

<CATALOG>
<CD cattype=Folk>
<TITLE>Empire Burlesque</TITLE>
</CD>
<CD cattype=Rock>
<TITLE>Hide Your Heart</TITLE>
</CD>
</CATALOG>

検索内容をさらに制限するには、大カッコを使用します。大カッコを使用すると、特定の子ノードまたは指定した値を含んだ要素が検索されます。たとえば、次の式では、Bob DylanのすべてのCDが検索されます。

/CATALOG/CD[ARTIST="Bob Dylan"]

または、各CD要素にPRICE要素が設定されていない場合は、次の式を使用してPRICE要素が含まれているCD要素のみを戻すことができます。

/CATALOG/CD[PRICE]

大カッコを使用する表記法では、検索に属性値を利用できます。属性を示すには@記号を使用します。たとえば、次の式では、ロックのすべてのCD(cattype属性の値がRockのすべてのCD)が検索されます。

//CD[@cattype="Rock"]

この結果、サンプルXML文書から次のデータが戻されます。

<CD cattype=Rock>
<TITLE>Hide Your Heart</TITLE>
<ARTIST>Bonnie Tylor</ARTIST>
<COUNTRY>UK</COUNTRY>
<PRICE>9.90</PRICE>
<YEAR>1988</YEAR>
</CD>

また、大カッコを使用して、取得する項目の番号を指定することもできます。たとえば、次のXPath式を使用すると、XML文書から最初のCD要素が読み込まれます。

/CATALOG/CD[1]

次のように、サンプルから最初のCD要素が戻されます。

<CD cattype=Folk>
<TITLE>Empire Burlesque</TITLE>
<ARTIST>Bob Dylan</ARTIST>
<COUNTRY>USA</COUNTRY>
<PRICE>10.90</PRICE>
<YEAR>1985</YEAR>
</CD>

XPathでは、指定したノード内に含まれているすべての要素を取得するためのワイルドカードもサポートされています。たとえば、サンプルXMLからすべてのCDを取得するには、次の式を使用します。

/CATALOG/*

さらに複雑な検索のために、文とブール演算子を組み合せることができます。次の式では、すべてのフォークおよびロックのCDが取得され、結果としてサンプルからすべての要素が取得されます。

//CD[@cattype="Folk"]|//CD[@cattype="Rock"]

縦線(|)は、論理OR演算子と同等です。さらに、XPathでは、ORおよびANDに加え、等価演算子<=、<、>、>=、==および!=が認識されます。たとえば、次の式を使用すると、1985年以降にリリースされたすべてのCDを検索できます。

/CATALOG/CD[YEAR >=1985]

4.19.2 参照の開始

XPath式の最初の文字で、XMLツリー内の開始位置が決まります。スラッシュ(/)で始まる文は絶対参照とみなされます。スラッシュが指定されない場合は相対参照を意味します。相対参照の例を次に示します。

CD/*

この文では、現行の参照ポイントで検索が開始されます。つまり、この例が1つの文グループ内で使用されている場合は、その前の文で使用された参照ポイントが使用されます。

すでに述べたように、2本のスラッシュ(//)により、ドキュメント内の位置にかかわらず、すべての一致する要素が取得されます。このため、パフォーマンスを改善するのに必要な場合のみ、2本のスラッシュ(//)を使用する必要があります。

4.19.3 コンテキストおよび親の指定

現行要素と親要素を選択するために、XPathでは、ディレクトリのナビゲートに通常使用されているドット表記法が認識されます。ピリオドを1つ(.)使用すると現行ノードが選択され、ピリオドを2つ(..)使用すると、現行ノードの親が戻されます。たとえば、現行ノードの親の子ノードをすべて取得するには、次の式を使用します。

../*

したがって、サンプルXMLからすべてのCDにアクセスするには、次の式を使用します。

/CATALOG/CD/..

また、次の式を使用して、1988年にリリースされたすべてのCDのタイトルにアクセスすることもできます。

/CATALOG/CD/TITLE[../YEAR=1988]

2個のピリオド(..)を使用すると、要素ツリーを上に移動してTITLEと同じレベルでYEAR要素が検索され、そのYEAR要素で1988との一致が評価されます。この例では//も使用できますが、要素YEARがXML文書の他の場所でも使用されている場合は、誤った結果が戻される可能性があります。

XPathは、RTFテンプレートと組み合せると非常に強力な標準になり、テンプレートで条件付き書式設定およびフィルタリングを使用できます。

4.20 名前空間の宣言

XMLデータに名前空間が含まれている場合は、プレースホルダで名前空間を参照する前にテンプレートで宣言する必要があります。テンプレートでネームスペースを宣言するには、基本RTF方式、またはフォーム・フィールドを使用します。次の構文を入力します。

<?namespace:ネームスペース名= ネームスペースのurl?>

たとえば、次のように入力します。

<?namespace:fsg=http://www.example.com/fsg/2002-30-20/?>

一度宣言すると、プレースホルダ・マークアップにネームスペースを使用できます。例: <?fsg:ReportName?>

4.21 FO要素およびXSL要素の使用

ここでは、FO要素およびXSL要素の使用方法を説明します。

4.21.1 FO要素の使用

Microsoft Wordのフォーム・フィールド内でFO固有の構文を使用できます。

XSL-FOの詳細は、W3CのWebサイトhttp://www.w3.org/2002/08/XSLFOsummary.htmlを参照してください。

BI PublisherでサポートされるすべてのFO要素のリストは、付録D「サポートされているXSL-FO要素」を参照してください。

4.21.2 XSL要素の使用

テンプレートでは、XSL構文をフォーム・フィールドに挿入することによって、任意のXSL要素を使用できます。

基本RTF方式を使用している場合は、XSL構文をテンプレートに直接挿入できません。BI Publisherでは、RTFテンプレートで使用できるように次のXSL要素が拡張されています。

これらを基本方式のRTFテンプレートで使用するには、XSL要素についてBI Publisherタグ・フォームを使用する必要があります。フォーム・フィールドを使用している場合は、いずれかのオプションを使用します。

4.21.2.1 テンプレート・ルールの適用

現行要素の子ノードにテンプレート・ルールを適用するには、この要素を使用します。

XSL構文: <xsl:apply-templates select="name">

BI Publisherタグ: <?apply:name?>

この関数は、<xsl:template-match="n">に適用されます。nは要素名です。

4.21.2.2 現行ノードのコピー

現行ノードのコピーを作成するには、この要素を使用します。

XSL構文: <xsl:copy-of select="name">

BI Publisherタグ: <?copy-of:name?>

4.21.2.3 名前付きテンプレートのコール

現行のテンプレートに挿入または適用される名前付きテンプレートをコールするには、この要素を使用します。たとえば、この機能を使用すると表を複数回レンダリングできます。

XSL構文: <xsl:call-template name="name">

BI Publisherタグ: <?call-template:name?>

4.21.2.4 テンプレートの宣言

指定したノードが一致した場合に一連のルールを適用するには、この要素を使用します。

XSL構文: <xsl:template name="name">

BI Publisherタグ: <?template:name?>

4.21.2.5 変数の宣言

ローカルまたはグローバル変数を宣言するには、この要素を使用します。

XSL構文: <xsl:variable name="name">

BI Publisherタグ: <?variable:name?>

例:

<xsl:variable name="color" select="'red'"/>

"color"変数に値"red"を割り当てます。この変数をテンプレートで参照できます。

4.21.2.6 スタイル・シートのインポート

スタイルシートの内容を別のスタイルシートにインポートするには、この要素を使用します。

注意:

インポート対象のスタイルシートの優先順位は、インポート先のスタイルシートより低くなります。

XSL構文: <xsl:import href="url">

BI Publisherタグ: <?import:url?>

4.21.2.7 スタイルシートのルート要素の定義

この要素と<xsl:stylesheet>要素は完全に同じ要素です。両方とも、スタイルシートのルート要素を定義するために使用されます。

注意:

組込み対象のスタイルシートの優先順位は、組込み先のスタイルシートと同じになります。

XSL構文: <xsl:stylesheet xmlns:x="url">

BI Publisherタグ: <?namespace:x=url?>

注意:

名前空間はテンプレートで宣言する必要があります。第4.20項「名前空間の宣言」を参照してください。

4.21.2.8 XSL固有の数値書式設定

XSL固有のformat-number関数では、次の基本書式が使用されます。

format-number(number,format,[decimalformat])

次にパラメータについて説明します。

- number - 必須。書式設定する数値を指定します。

- format - 必須。書式パターンを指定します。次の文字を使用してパターンを指定します。

- #(桁数を表します。例: ####)

- 0(先頭および後続の0(ゼロ)を指定します。例: 0000.00)

- .(小数点の位置。例: ###.##)

- , (千単位のグループ・セパレータ文字。例: ###,###.##)

- %(数値をパーセントで表示します。例: ##%)

- ;(パターン・セパレータ文字。最初のパターンはプラスの数値に使用され、2番目のパターンはマイナスの数値に使用されます。)

- decimalformat - オプション。10進書式の詳細は、基本的なXSLTマニュアルを参照してください。

4.22 RTFテンプレートをMicrosoft PowerPoint出力用に設計するためのガイドライン

BI Publisherでは、RTFテンプレートをPowerPointの出力として生成できます。これにより、レポート・データを重要ビジネス・プレゼンテーションに利用できます。現時点では、生成されるPowerPointドキュメントは、書式付きデータとチャートがPowerPointに単純にエクスポートされたものになります。

4.22.1 制限事項

PowerPointに出力して作業する場合、次のような制限があります。

- PowerPointスライド用に表を設計する場合、表の境界線タイプを単一の実線で定義する必要があります(二重線、破線やその他の種類はサポートされていません)。

- ハイパーリンクはサポートされていません。

- 図形はサポートされていません。

- 右揃えを使用すると、テキストの位置が若干ずれる場合があります。

- 用紙サイズはRTFテンプレートのすべてのページで同じにする必要があります。同じドキュメントで異なる用紙サイズを組み合せることはできません。

- 双方向の言語はサポートされていません。

- 中国語、日本語および韓国語のフォントでは、太字や斜体を文字で使用すると、文字の位置が若干ずれる場合があります。これは、太字や斜体のフォントがない場合、Microsoft製品では太字や斜体のエミュレーションを使用するためです。

- 双方向の言語を除いてすべてのUnicode言語がサポートされています。

- BI Publisherのフォント代替メカニズムは、PowerPointテンプレートではサポートされていません。インストールされていないフォントを使用する場合、BI Publisherで構成するようにしてください。

4.22.2 使用上のガイドライン

次に、PowerPointに出力するためにRTFテンプレートを設計する場合に役立つガイドラインを示します。

- PowerPointの出力は、RTFテンプレートで定義されたページ方向(縦または横)が維持されます。ほとんどのプレゼンテーションは横向きであり、これはRTFテンプレートの推奨方向です。

- RTFテンプレート内の改ページ1つにつき、新しいスライドが1つ生成されます。

- スライドの背景色は常に白色に生成されます。別の背景色にする場合、PowerPointファイルが生成された後に色を変更する必要があります。

- ページ・ヘッダーまたはフッターの文字を強調表示するときに、フォントがxdo.cfgで事前に定義されていない場合は、「<?」と「?>」をテンプレートに組み込んで「<?XXXXXX?>」のようにタグ全体のフォントを指定します。

- 表でマルチバイト文字(簡体字中国語など)を使用する場合、文字の表示が予期しないものになることを防ぐために、列幅が、最大文字にセルの左マージンと右マージンを足した幅を含めるために十分な大きさであることを確認してください。

4.22.3 PowerPoint出力のチャートについて

BI Publisherは、PowerPoint2007出力で表示される特定のチャート・タイプの従来のPowerPointチャートをサポートしています。チャートがネイティブ・チャートとして挿入された場合は、PowerPointで変更できます。チャートがネイティブ・チャートとして挿入されていない場合は、BI Publisherは、更新できないPNGイメージを挿入します。

次のチャート・タイプは、PowerPoint2007出力でネイティブのPowerPointチャートとして表示できます。

- 円

- ドーナツ

- 折れ線

- 面

- レーダー

- バブル

- パレート

- 組合せ

- 株価

PowerPointでネイティブでないチャート・タイプ(ゲージやファンネルなど)は棒グラフに変換されます。

デフォルトでは、ネイティブ・チャートの挿入が有効化されています。レポートのネイティブ・チャート挿入を無効にするには、「PPTXネイティブ・チャート・サポートの有効化」レポート・プロパティをfalseに設定します。詳細は、第10章「レポート処理および出力ドキュメントのプロパティの設定」を参照してください。

「PPTXネイティブ・チャート・サポートの有効化」をfalseに設定すると、PowerPoint2007出力ではすべてのチャートがイメージとして表示されます。そのため、ネイティブでないチャート・タイプがレポートに含まれている場合にかぎり、このオプションをfalseに設定してください。

4.22.4 BI Publisherサーバー用フォントの構成

PowerPoint出力のサポートでは、BI Publisherにおいて他のタイプの出力に使用されるフォント代替メカニズムは含まれていません。テンプレートに標準でないフォントが使用されている場合、RTFテンプレートで使用する各フォントを、PowerPointでの出力の生成に使用できるように、BI Publisherサーバーを構成する必要があります。これらのフォントをBI Publisherサーバーにコピーして、RTFテンプレートのフォント・マッピングを定義する必要があります。システム全体か個々のレポートに対してこれを実行できます。詳細は、第10.17項「フォント・マッピングの定義」を参照してください。

4.22.5 BI PublisherのTemplate Builder用フォントの構成

BI PublisherのTemplate Builderを使用してレポートを設計する場合、英語以外のフォントや標準でないフォントを使用しているPPT出力でプレビューを適切に行うには、BI Publisherの構成ファイルでフォントを定義する必要があります。この構成ファイルはxdo.cfgと呼ばれ、通常次に示す場所にあります。

C:\Oracle\BI Publisher\BI Publisher Desktop\Template Builder for Word\config\

このファイルを使用していない場合は、かわりにxdo example.cfgファイルで代用することができます。このファイルはUTF-8のエンコーディングで保存し、定義されたフォントごとに絶対フルパスを明記する必要があります。そうしないと、文字が重なったり折返しが正常に動作しないなどの問題が発生します。

BI PublisherのTemplate Builder用フォントを構成する手順は次のとおりです。

1. C:\Oracle\BI Publisher\BI Publisher Desktop\Template Builder for Word\config\にナビゲートします。

2. xdo.cfgファイルを開き、フォント・マッピングを更新します。xdo.cfgファイルでフォント・マッピングを直接更新する方法の詳細は、『Oracle Fusion Middleware Oracle Business Intelligence Publisher管理者ガイド』のフォント定義に関する項を参照してください。

3. xdo.cfgをUTF-8フォーマットで保存します。
図4-78は、xdo.cfgファイルの例を示しています。

図4-78 サンプルxdo.cfgファイル

4.23 RTFテンプレートをMicrosoft Excel 2007出力用に設計するためのガイドライン

この項では、Excel 2007出力(.xlsx)用のRTFテンプレートの設計に固有なレポート機能について説明します。含まれる内容は、次のとおりです。

- 第4.23.1項「複数のシートの作成」

- 第4.23.2項「シート名の指定」

- 第4.23.3項「数値および日付の書式設定の指定」

4.23.1 複数のシートの作成

デフォルトでは、RTFテンプレートで指定された改ページおよびセクション区切りにより、Excelワークブック出力に新しいシートが作成されます。xlsx-page-break-as-new-sheetプロパティを使用することにより、改ページで新しいシートを作成するかどうかを制御できます。RTFテンプレートにおける改ページによってExcelワークブックに新しいシートを生成する必要がない場合は、このプロパティをfalseに設定してください。セクション区切りには同様の制御が存在しません。つまり、テンプレートにおけるセクション区切りでは常に、新しいシートがExcelワークブック出力に作成されます。

RTFテンプレートでのプロパティの設定の詳細は、第4.13.3項「プロパティの設定」を参照してください。

4.23.2 シート名の指定

シート名を指定するには、テンプレートで次のコマンドを使用します。

<?spreadsheet-sheet-name: xpath-expression?>

ここでのxpath-expressionは、XPath式または文字列定数です。

たとえば、テンプレートで入力データを次のように使用するとします。

<?xml version="1.0" encoding="UTF-8" ?>
<ROWSET>
<ROW>
<CUSTOMER_NAME>Vgpsuwo Fjprpit</CUSTOMER_NAME>
<CUSTOMER_NUMBER>7795</CUSTOMER_NUMBER>
<YEAR>2005</YEAR>
<BRAND>MSPKID</BRAND>
<DIVISION>UWGLERXM</DIVISION>
<STATE>LD</STATE>
<INVOICE_DATE>2004-12-07T07:13:15.379-08:00</INVOICE_DATE>
<INVOICE_NO>806356</INVOICE_NO>
<INVOICE_AMOUNT>8181.704554734346</INVOICE_AMOUNT>
</ROW>
...
</ROWSET>

データからYEARおよびSTATEを示すシート名(2005 IDなど)を生成するには、テンプレートのBI Publisherフィールドに次を入力します。

<?spreadsheet-sheet-name: {concat(.//YEAR, ' ',.//STATE)}?>

式によってワークブック内で一意のシート名が生成されていることを確認してください。

4.23.3 数値および日付の書式設定の指定

Excel 2007出力形式では、BI Publisherにより、数値や日付の書式設定が適用されることはありません。BI Publisherは、書式設定マスクおよび実際の値(日付または数値)をXLSX出力ファイルに保存します。この書式設定はMicrosoft Excelによって処理されます。たとえば、次のように入力します。

- Microsoft Windowsで、クライアント・コンピュータの「地域と言語」が「英語(米国)」に設定されている場合、Excel 2007の出力ファイルでは、数値と日付がen-USロケールで書式設定されます。

- Microsoft Windowsで、クライアント・コンピュータの「地域と言語」が「フランス語(フランス)」に設定されている場合、同じExcel 2007の出力ファイルがfr-FRロケールで書式設定されます。

Microsoft Excel 2007出力では、一部のOracle書式マスクがサポートされないことにも注意してください。詳細は、第4.15.6項「Oracle書式マスクの使用」を参照してください。

4.24 レポートでのHTML形式データのレンダリング

ここでは、最終的な出力レポートでデータソースのHTML書式設定を保持する方法を説明します。内容は次のとおりです。

- サポートされるHTML機能

- データ・モデル要件

- RTFテンプレートの要件

- 例

4.24.1 サポートされるHTML機能

サポートされるHTML機能は次のとおりです。

- ハイパーリンク

- リスト

- 箇条書きリスト

- 順序リスト

- パラグラフ

- フォント・スタイル(太字、斜体、書式なし、下線、下付き、上付き、取消し線)

- フォント・サイズ

- フォント・ファミリ

- 背景色

- 前景色

- 段落の配置(中央、左、右、両端揃え)

- 段落インデント

次のHTML機能はサポートされていません。

- ネストされたリスト(インデント付きリスト)

- HTMLソース・コードを変更することにより手動で挿入されたすべてのHTMLタグや属性。たとえば、挿入された表やイメージなど。

4.24.2 データ・モデル要件

レポートへの入力として使用されるXMLデータは、CDATAセクションにあるデータのHTML部分をラップする必要があります。レポートに表示するHTMLデータの取得に関する詳細は、『Oracle Fusion Middleware Oracle Business Intelligence Publisherデータ・モデリング・ガイド』で、CLOB列に保存されたXHTMLデータの処理に関する項を参照してください。

4.24.3 RTFテンプレートの要件

レポートにHTMLをレンダリングするには、RTFテンプレートで次のタグを使用します。

<?html2fo: elementname?>

ここで、elementnameは、HTMLデータを含むXML要素名です。

4.24.4 例

この例では、埋込みHTMLデータが含まれる次のXMLデータを使用します。

<?xml version="1.0" encoding="UTF-8"?>
<RTECODE>
<![CDATA[
<p><font style="font-style: italic; font-weight: bold;" size="3">
<a href="http://www.oracle.com">oracle</a></font> </p>
<p><font size="6"><a href="http://docs.oracle.com/">Oracle Documentation</a>
</font></p>
]]>
</RTECODE>

このサンプルを書式設定済HTMLレポートとしてレンダリングするには、RTFテンプレートに次のように入力します。

<?html2fo: RTECODE?>

図4-79は、このサンプルが出力レポートでどのようにレンダリングされるかを示しています。

図4-79 レポートにレンダリングされたデータからのHTML書式設定

4.25 プリンタ・チェック用のPCLコマンドの埋込み

PCL(Printer Command Language)はページの記述言語です。Postscriptと同様に、オフィス用のプリンタで幅広くサポートされています。PCLプリンタをサポートするために、BI Publisherでは、PDFからPCLコンバータが提供されています。PDFドキュメントを一連のPCLコマンドに変換するほか、特定のPCLコマンドをRTFテンプレートに埋め込むことができるため、PDFでレポート出力が生成され、PCLに変換される際に、そのコマンドはPCLファイルで維持されます。PCLプリンタでPCLファイルを受信すると、その埋込みコマンドが起動されます。

BI Publisherでは、セキュアな小切手印刷に対応するフォント選択コマンドを有効にするPCLコマンド(機械可読の勘定コードに使用するMICRフォントおよび小切手署名者の署名に使用するカスタム・フォントの呼出しなど)がサポートされます。MICRフォントおよびカスタム署名フォントは、プリンタのハードウェア・カートリッジに格納されており、PCLフォーマット化ファイルに埋め込まれたPCLエスケープ・シーケンスを使用して呼び出されます。

出力されるファイルにPCLコマンドを埋め込むには、PCLコマンドによるレンダリングが必要なページの特定の場所にあるRTFテンプレート内で、この項で説明しているBI Publisherコマンドを使用します。

また、この機能を使用するには、管理者は、BI Publisherプリンタ設定ページで、PDFからPCLフィルタを使用するようにPCLプリンタを定義する必要もあります。

注意:

この機能は、「PCL5 Printer Language Technical Reference Manual」の「PCL Font Selection」の章で説明しているフォント選択のコマンドをサポートするために提供されています。テンプレートに他のPCLコマンド(トレイの切替えなど)を含めると、それらのコマンドが厳密にはサポートされていない場合でも、レポート出力により適切な結果が生成されることがあります。

4.25.1 手順の概要

PCLプリンタで起動するPCLコマンドをテンプレートに埋め込むには次を実行します。

1. BI Publisherの「管理」→「配信」オプションで、PCLプリンタを定義します。『Oracle Fusion Middleware Oracle Business Intelligence Publisher管理者ガイド』のプリンタまたはFAXサーバーの追加に関する項を参照してください。

2. 第4.25.2項「RTFテンプレートへのPCLコマンドの埋込み」の説明に従って、RTFテンプレートにコマンドを追加します。

3. 出力を生成するには、出力タイプとしてPDFを選択するレポートをスケジュールまたは実行します。接続先として手順1で定義したPCLプリンタを選択します。

4.25.2 RTFテンプレートへのPCLコマンドの埋込み

BI Publisherは、カスタムPCLコマンドの埋込みをサポートします。これにより、PDFドキュメントが一連のPCLコマンドに変換されるほか、適切なPCLコマンドがPCLページの特定の場所に含まれるように指定することが可能になります。

この機能を使用するには、テンプレートに次の構文(またはテキストの出力が必要な場所のデータ)を追加します。

<pcl><control><esc/>(pcl command)</control>(text or data field)<sp/>(text or data field)</pcl>

説明:

<pcl></pcl>: カスタムPCLコマンド・シーケンスおよびカスタム・コマンドを使用して出力するテキストの開始と終了を示します。<pcl>の前または</pcl>の後にあるテキスト・データは、有効なフォントおよびフォント・サイズを使用した標準テキストとして出力されます。

<control></control>: PCLシーケンスの開始と終了を示します。</control>の後に挿入されるデータはテキスト・データとみなされます。これには、<control>と</control>の間に含まれるPCLコマンドが適用されます。<pcl>と<control>の間にデータを挿入することは不正であり、そのデータは無視されます。

<esc/>: 出力で文字(ASCII 0x1b)をエスケープするには、<control>と</control>の間に<esc/>を含めます。

<sp/>: 空白を挿入します。テキスト・セクション(</control>の後および</pcl>の前)に<sp/>を追加すると、出力に空白文字が挿入されます。

<pcl></pcl>間のコマンド全体およびテキスト・シーケンスは、PDF内の単一テキスト表示(Tj)オペレータでレンダリングされる単一行のテキストとして入力される必要があります。空白を挿入するには、テキストまたはデータに実際の空白を追加すると、PDFではそのシーケンスが複数のテキスト・シーケンスに分割されるため、<sp/>を使用する必要があります。

図4-80は、コマンド・シーケンスでテンプレートをチェックする例を示しています。

図4-80 埋込みPCLコマンドを使用したテンプレートのチェックの例

この例のPCLコマンド・シーケンスは次のようになります。

<pcl><control><esc/>(70X</control>ROUTING<sp/>ACCOUNT</pcl>

(70Xは置換するフォント、ROUTINGおよびACCOUNTは入力XMLデータにマップされるフォーム・フィールド、さらに<sp/>コマンドはルーティング番号と口座番号間への空白の挿入に使用されることに注意してください。

図4-81に示すように、このRTFテンプレートはデータとマージされ、PDFに変換されます。PCLコマンド・シーケンスが標準テキストとして表示されます。フォント・サイズを小さくして行の表示を見えにくくすることはできますが、非表示にはできないことに注意してください。

図4-81 テンプレートからのPDF出力

このPDFをPCLに変換すると、<esc/>がエスケープ文字の0x1bに変換されるほか、PCLコマンドがPDFから追加され((70X)、<sp/>が空白文字に変換され、さらにPCL絶対カーソル位置コマンド(&a#v#h#P)を使用してテキストが生成されます。図4-82は、テキスト・エディタを使用して表示されるPCL出力を示しています。

図4-82 PCL出力

フォントID 70のMICRフォントがインストールされているプリンタにこのPCLファイルが送信されると、図4-83に示すように、そのプリンタでは最終の印刷出力が生成されます。

図4-83 PCLプリンタからの最終出力

4.25.3 仕様および制限

BI PublisherのPDFからPCLコンバータでは、バージョン1.7までのPDFファイルの入力とPCL 5(HP/GL2とPJLを含む)およびPCL 5cの出力がサポートされます。これは、大多数のビジネス・レポートおよびオフィスでの印刷に必要な、PDFの基本テキストおよびベクトル/ラスター・グラフィック機能をサポートします。

PDFからPCLコンバータで処理するドキュメントの次の制限事項に注意してください。

- グラフなどのSVGグラフィックはサポートされていません。

- 埋込みオブジェクト(Flashオブジェクトなど)およびファイル添付はサポートされていません。

- Adobeの主要な装飾記号および記号フォントの使用はサポートされていません。TrueTypeフォントを使用してdingbatsおよび記号を出力し、PDFの生成時にそのフォントを埋め込みます。

- BI Publisherでは、PCL 5/PCL 5c標準をサポートするすべてのプリンタにおいて、生成済の出力の印刷をサポートします。ただし、PCLビューア・アプリケーションまたは直接出力以外の目的でPCLを再処理する任意のソフトウェアを使用した生成済出力の表示はサポートしていません。

- PDFからPCLコンバータは、BI PublisherのFOプロセッサで生成されたPDFドキュメントの変換を制限付きでサポートします。FormProcessorで処理されたPDFファイルまたは外部アプリケーションで生成されたPDFドキュメントなどの他のPDFは、適切な出力結果を生成することもありますが、厳密にはサポートされていません。

- PDFからPCLコンバータでは、PDFBookBinderおよびPDFDocMergerの各ユーティリティで生成されたPDFドキュメントの変換をサポートします。ただし、出力の生成に使用されるすべてのPDFドキュメントが初めからBI PublisherのFOProcessorで生成され、そのドキュメントに制限付きの機能が含まれていない場合にかぎります。

5 Template Builder for Wordを使用したRTFテンプレートの作成

この章では、Template Builder for Wordアドインを使用してBI PublisherでRTFテンプレートを作成する方法について説明します。

この章の内容は次のとおりです。

- 第5.1項「概要」

- 第5.2項「はじめに」

- 第5.3項「テンプレート作成のためのデータへのアクセス」

- 第5.4項「テンプレートへのコンポーネントの挿入」

- 第5.5項「テンプレートのプレビュー」

- 第5.6項「テンプレート編集ツール」

- 第5.7項「BI Publisherサーバーへのテンプレートのアップロード」

- 第5.8項「Template Builderの翻訳ツールの使用」

- 第5.9項「Template Builderのオプションの設定」

- 第5.10項「構成ファイルの設定」

- 第5.11項「BI Publisherメニューのリファレンス」

5.1 概要

Template Builderは、RTFテンプレートの開発作業を合理化するMicrosoft Wordのアドインです。Template BuilderはRTFテンプレートの作成に必須ではありませんが、生産性を高める多数の機能が用意されています。

Template BuilderはMicrosoft Wordと連携して動作し、次の機能を実行できるようにします。

- データ・フィールドの挿入

- 表の挿入

- フォームの挿入

- チャートの挿入

- サンプルのXMLデータを使用したテンプレートのプレビュー

- フォーム・フィールドの内容のブラウズと更新

- XLIFF翻訳ファイルへのボイラープレート・テキストの抽出と翻訳のテスト

Template Builderは、RTFテンプレートの最も使用頻度の高いコンポーネントの挿入を自動化します。また、RTFテンプレートは、はるかに複雑な書式設定と処理をサポートしています。RTFテンプレート機能の詳細は、第4章「RTFテンプレートの作成」を参照してください。

5.1.1 構成前に

Template Builderのインストールには、作業開始に役立つサンプルとデモ・ファイルが用意されています。デモには、Windowsの「スタート」メニューから次のようにアクセスできます。

「スタート」メニューから、「プログラム」、「Oracle BI Publisher Desktop」、「デモ」の順に選択します。

デモには、BI Publisher DesktopをインストールしたBI Publisher\BI Publisher Desktop\demosフォルダ(例: C:\Program Files\Oracle\BI Publisher\BI Publisher Desktop\demos)からもアクセスできます。

次に示すデモが提供されています。

- TemplateBuilderDemo.exe: BI Publisherサーバーへの接続、レポート用データのロード、表とチャートの挿入、条件付き書式の定義など、Template Builderの多数の主な機能を使用して、レポート・レイアウトを構築する方法を説明します。

- TemplateBuilderInvoice.exe - 準備済のレイアウトを選択し、Template Builderを使用して実行時にテンプレートをデータで埋めるための必須フィールドを挿入する方法を示すデモです。

- LocalizationDemo.exe - Template Builderのローカライゼーション機能に関するデモで、基本的なRTFテンプレートからXLIFFファイルを抽出する方法を示します。XLIFFファイルを翻訳し、翻訳をTemplate Builderでプレビューできます。

サンプル・ファイルは、BI Publisher¥BI Publisher Desktop¥Samplesフォルダにあります。「サンプル」フォルダには、次のサブフォルダが含まれています。

- eTextテンプレート

- Excelテンプレート

- PDFテンプレート

- RTFテンプレート

「eTextテンプレート」、「PDFテンプレート」および「Excelテンプレート」サンプルを使用して、これらのタイプのテンプレートを作成できます。Template Builderの使用対象はRTFテンプレートのみです。RTFテンプレート・フォルダには8つのサブフォルダが含まれており、それぞれのタイプのレポートのサンプルが用意されています。各サンプルの内容の詳細は、RTFテンプレート・フォルダにあるTrainingGuide.htmlを参照してください。

5.1.2 前提条件および制限事項

この機能に対する前提条件および制限事項は、次のとおりです。

- 前提条件:

- レポート・データ・モデルが作成され、正しく実行されていること。データ・モデルの作成の詳細は、『Oracle Fusion Middleware Oracle Business Intelligence Publisherデータ・モデリング・ガイド』を参照してください。

- サポートされているバージョンのMicrosoft WordとMicrosoft Windowsが、クライアントにインストールされていること。

注意:

サポートされるハードウェアとソフトウェアの最新情報は、「システム要件と動作要件」を参照してください。

- BI Publisher Template Builderがダウンロードされ、クライアントにインストールされていること。
Template Builderは、「ホーム」ページの「はじめに」リージョンからダウンロードできます。

- 制限事項:

- Template Builderでは、ユーザー・インタフェースのテキストの双方向表示はサポートされていません。

5.2 はじめに

この項では、操作の開始方法について説明します。内容は次のとおりです。

- 第5.2.1項「Oracle BI Publisher Template Builder for Wordの機能」

- 第5.2.2項「テンプレートの作成とアップロード」

- 第5.2.2.1項「接続モードでの作業」

5.2.1 Oracle BI Publisher Template Builder for Wordの機能

Template Builderをインストールした後にMicrosoft Wordを起動すると、Oracle BI Publisherメニューが表示されます。

2007より前のバージョンのMicrosoft Wordでは、図5-1に示すように、メニューとツールバーが表示されます。

図5-1 2007より前のバージョンのMicrosoft Wordでのメニューとツールバーの表示

Microsoft Word 2007のユーザーには、図5-2に示すように、BI Publisherのコマンドがリボン形式で表示されます。

図5-2 リボン形式で表示されたBI Publisherのコマンド

次の操作を実行するには、メニュー(またはツールバー)を使用します。

- RTFテンプレートへのデータ・フィールドの挿入

- 表、フォーム、チャート、およびピボット・テーブルの挿入

- 複数の出力形式でのテンプレートのプレビュー

- フォーム・フィールドの内容のブラウズと更新

- テンプレートの検証

- テンプレート内のフィールドでの計算の実行

- Oracle BI Publisherカタログへの接続を使用したテンプレート作成用データの取得

- Oracle BI Publisherサーバーへのテンプレートのアップロード

- XLIFF翻訳ファイルへのボイラープレート・テキストの抽出と翻訳のテスト

5.2.2 テンプレートの作成とアップロード

テンプレートの作成とアップロードは、BI Publisherサーバーに直接接続しても、切断モードでも実行できます。

5.2.2.1 接続モードでの作業

接続モードで作業する手順は次のとおりです。

1. Microsoft Wordを起動します。

2. Oracle BI Publisherメニューから、「ログオン」を選択します。

3. BI Publisherの資格証明、およびBI PublisherサーバーのURL(例: http://www.example.com:7001/xmlpserver)を入力します。(URLがわからない場合は、システム管理者に連絡してください)。

4. 「テンプレートを開く」ダイアログは、BI Publisherカタログと同じフォルダ構造を持っています。テンプレートを構築するレポートまたはデータ・モデルを選択してください。

5. データ・モデルを選択した場合:
「レポートの作成」をクリックしてBI Publisherカタログで、このデータ・モデルのレポートを作成します。これは、テンプレートのアップロード先のレポートです。

「レポート名」を入力し、保存先のフォルダを選択します。

「保存」をクリックします。

データ・モデルからのサンプルデータがTemplate Builderにロードされます。

レポートを選択した場合:

「テンプレートを開く」をクリックし、データをTemplate Builderにロードするか、図5-3に示すように、「レイアウト・テンプレート」ペインの<New>をダブルクリックします。

「レイアウト・テンプレート」ペインには、既存のテンプレートがリストされます。

図5-3 「レイアウト・テンプレート」ペイン

6. この章のガイドラインに従ってデータ・フィールドを挿入し、表、チャート、図形などの機能を使用してテンプレートを設計します。Microsoft Wordを使用して、テンプレート内のフォントおよびその他のオブジェクトに書式設定を適用します。
より高度なテンプレート・オプションについては、第4章「RTFテンプレートの作成」に記載されているガイドラインを使用してください。

7. テンプレート・ファイルをBI Publisherサーバーにアップロードしてから、それをレポート定義に追加するには、Oracle BI Publisherメニューから「名前を付けてテンプレートをアップロード」を選択します。
テンプレートを保存していない場合は、リッチ・テキスト・フォーマットで保存するように求められます。

8. 名前を入力し、「新規としてアップロード」でロケールを選択します。これは、レポート・エディタの「レイアウト」に表示される名前です。また、ユーザーがこのレポートを実行したときにも、このレイアウト名が表示されます。

9. このレイアウトのプロパティを構成します。
BI Publisherレポート・エディタに移動して、出力フォーマットなど、このレイアウトのプロパティを構成します。詳細は、第2.7.3項「リスト・ビューを使用したレイアウト設定の構成」を参照してください。

5.2.2.2 切断モードでの作業

切断モードで作業するには、ローカルの作業環境で利用可能なサンプル・データ・ファイルが必要です。

切断モードで作業する手順は次のとおりです。

1. ローカル・コンピュータにサンプル・データを保存します。第5.3項「テンプレート作成のためのデータへのアクセス」を参照してください。

2. Template BuilderをインストールしたMicrosoft Wordを開きます。

3. 「データのロード」グループのOracle BI Publisherメニューで、「サンプルXML」を選択します。ローカル・ディレクトリでサンプル・データ・ファイルを見つけて、「開く」をクリックします。

注意:

またTemplate Builderは、XMLスキーマを使用したRTFテンプレートの設計もサポートしています。しかし、スキーマにはデータが含まれていないため、レポートのプレビューにもデータは表示されません。

4. この章のガイドラインに従ってデータ・フィールドを挿入し、表、チャート、図形、その他のレイアウト・コンポーネントなどの機能を使用してテンプレートを設計します。Microsoft Wordを使用して、テンプレート内のフォントおよびその他のオブジェクトに書式設定を適用します。
より高度なテンプレート・オプションについては、第4章「RTFテンプレートの作成」に記載されているガイドラインを使用してください。

5. レイアウト・テンプレート・ファイルをアップロードします。
BI Publisherカタログ内で、レポートをレポート・エディタで開きます。「新規レイアウトの追加」をクリックします。

ダイアログでフィールドに値を入力し、「アップロード」を選択します。レポートのレイアウトとしてテンプレートが表示されます。

6. このレイアウトのプロパティを構成します。
詳細は、第2.7項「リスト・ビューを使用したレイアウトの構成」を参照してください。

5.3 テンプレート作成のためのデータへのアクセス

データ・モデルでは、RTFテンプレートとマージされるXMLフォーマットが定義されます。Template Builderでテンプレートを作成するには、サンプル・データが必要です。ほとんどのTemplate Builder機能を使用するには、サンプル・データをロードする必要があります。

BI Publisherに接続されていない場合は、第5.3.1項「ローカル・ファイルからのXMLデータのロード」に記載されている手順を使用します。接続されている場合は、第5.3.2項「BI Publisherカタログからのデータのロード」に記載されている手順を使用します。

5.3.1 ローカル・ファイルからのXMLデータのロード

Template Builderにデータをロードする方法の1つは、レポート・データのサンプルをローカル・ディレクトリに保存することです。

レポート・データ・モデルからサンプル・データを保存する方法の詳細は、『Oracle Fusion Middleware Oracle Business Intelligence Publisherデータ・モデリング・ガイド』のデータ・モデルのテストおよびサンプル・データの生成に関する項を参照してください。

レポート・データ・モデルにはアクセスできないが、レポートにはアクセスできる場合は、かわりに、レポート・ビューアからサンプル・データを保存できます。

レポート・ビューアからデータを保存するには:

1. BI Publisherカタログで、レポートに移動します。

2. 「開く」をクリックしてレポート・ビューアでレポートを実行します。

3. 「アクション」アイコンをクリックし、「エクスポート」をクリックしてから「データ」をクリックします。XMLファイルを保存するように求められます。

4. ローカル・ディレクトリにファイルを保存します。

5. 以下に示す「サンプルXMLのロード」機能を使用して、保存されているXMLファイルをTemplate Builderにロードします。

Oracle BI Publisherメニューの「データのロード」グループを使用すると、保存されているXMLファイルを選択してTemplate Builderにロードできます。

- サンプルXML: テンプレートに挿入するすべてのフィールドを含んだサンプルXMLファイルを、データソースとしてロードできます。BI Publisherサーバーに接続されていない場合は、この方式を使用してデータをロードします。

- XMLスキーマ: レポートのXMLデータに使用可能なフィールドを含んだXMLスキーマ・ファイル(.xsd)をロードできます。XMLスキーマには、完全であるというメリットがあります(サンプルXMLファイルには、データソースからのフィールドがすべて含まれるとは限らないという場合もあります)。Template Builderでは、プレビュー用にXMLスキーマのダミー・サンプル・データを生成できます。ただし、実際のサンプル・データもアップロードする方が、プレビューはより適切に機能します。

5.3.2 BI Publisherカタログからのデータのロード

BI Publisherサーバーに直接接続してBI Publisherレポート・データをTemplate Builderにロードし、レイアウト設計用のサンプル・データとして使用できます。また、既存のテンプレートをダウンロードして変更することもできます。

BI Publisherに接続してデータソースをロードする手順は、次のとおりです。

1. BI Publisherサーバーへのログオン: Oracle BI Publisherメニューから、「ログオン」を選択します。BI Publisherサーバーへのログインの詳細は、第5.2.2.1項「接続モードでの作業」を参照してください。

2. ログオンしたら、「開く」を選択できます。「テンプレートを開く」ダイアログが開きます。

3. テンプレートを作成するレポートまたはデータ・モデルを含むフォルダに移動します。
レポートを選択する場合、「レイアウト・テンプレート」から選択して既存のテンプレートを開き、「レポートを開く」を選択してXMLサンプル・データのみをロードして新しいレイアウトを作成することも、または<New>をダブルクリックしてデータをTemplate Builderにロードし、新しいレイアウトを構築することもできます。

データ・モデルを選択すると、カタログにレポートを作成するように求められます。

5.4 テンプレートへのコンポーネントの挿入

この項には次のトピックが含まれます:

- 第5.4.1項「フィールドの挿入」

- 第5.4.2項「表ウィザードを使用した表の挿入」

- 第5.4.3項「「表/フォームの挿入」ダイアログを使用した表またはフォームの挿入」

- 第5.4.4項「チャートの挿入」

- 第5.4.5項「繰返しグループの挿入」

- 第5.4.6項「既存のブロックを囲むグループ化フィールドの作成」

- 第5.4.7項「ピボット・テーブルの挿入」

- 第5.4.8項「ピボット・テーブルの手動編集」

- 第5.4.9項「条件付きリージョンの挿入および編集」

- 第5.4.10項「条件付き書式の挿入」

5.4.1 フィールドの挿入

このダイアログでは、データ・ソースからデータ要素を選択し、テンプレートに挿入できます。

「挿入」グループで「フィールド」を選択すると、「フィールド」ダイアログが開きます。ダイアログには、図5-4に示すように、ロードされたデータソースの構造がツリー表示されます。

図5-4 「フィールド」ダイアログ

単一のデータ・フィールド(ツリーのリーフ・ノード)に相当するフィールドを選択し、「挿入」を選択します(フィールドを挿入するには、文書にドラッグ・アンド・ドロップする方法、およびフィールドをダブルクリックする方法もあります)。非表示のBI Publisherコマンドを含んでいるテキスト・フォーム・フィールドが、テンプレート内のカーソル位置に挿入されます。他のデータ・フィールドを追加選択して挿入するか、または「閉じる」ボタンをクリックしてダイアログを閉じることができます。

5.4.1.1 「フィールドの挿入」ダイアログについて

「フィールドの挿入」ダイアログのフィールドについては、後続の各項で説明します。

5.4.1.2 検索

大きくて複雑な構造を持つXML文書の場合は、検索機能を使用して特定のフィールドを検索します。検索するフィールド名の部分文字列を「検索」フィールドに入力し、「次を検索」をクリックします。検索式が含まれるデータ要素の次の出現箇所が選択されます。もう1度「次を検索」ボタンをクリックすると、次の出現箇所が表示されます。

5.4.1.3 例

ツリー表示でフィールド名を選択すると、このフィールドのサンプル値が表示されます。

5.4.1.4 LTR方向を強制(左から右)

このチェック・ボックスが必要になるのは、アラビア語やヘブライ語など、右から左に文字を書く言語でテンプレートを使用している場合にかぎります。電話番号、アドレス、郵便番号、銀行の口座番号など、フィールドに対して左から右に入力するには、この機能を使用します。

5.4.1.5 計算

この機能を使用すると、データ・フィールドに対して合計、平均、件数、最小および最大などの集計関数を実行できます。

たとえば、特定のデータ・フィールドで「合計」を選択すると、フィールドには、グループ化に応じてこのデータ・フィールドで発生するすべての値の合計が表示されます。

どのフィールドが累計されるかを正確に把握するには、グループ化のコンテキスト(GおよびEフォーム・フィールドでマーク付け)を理解することが重要です。累計関数を持つデータ・フィールドを繰返しセクション(「G」およ「E」処理指示フォーム・フィールドでマーク付け)に挿入する場合は、「グループ化」を選択して、グループ内の出現箇所のデータを累計する必要があります。累計対象をグループに限定しない場合は、累計フィールドをグループ外に置いてください。

図5-5に例を示します。

図5-5 グループ化のコンテキストの例

また、累計関数が機能するには、データ・フィールドが有効なXSL数である必要があることにも注意してください。書式付きの数値は、BI Publisherでは処理できません(たとえば、3桁区切りを使用する数値10,000,000.00は処理できません)。

Template Builderを使用するテンプレートのグループの詳細は、第5.4.5項「繰返しグループの挿入」および第4.4項「グループの定義」を参照してください。

5.4.2 表ウィザードを使用した表の挿入

表の挿入ウィザードを使用すると、標準的なレポートを作成できます。「挿入」メニューで「表ウィザード」を選択し、次の手順を実行します。

- ステップ1: レポート・フォーマットの選択

- ステップ2: 表データの選択

- ステップ3: データ・フィールドの選択

- ステップ4: 表のグループ化

- ステップ5: グループでのブレークの挿入

- ステップ6: 表のソート

- ステップ7: 「終了」のクリック

- ステップ8: Microsoft Wordの機能を使用して表をカスタマイズ

5.4.2.1 ステップ1: レポート・フォーマットの選択

最初に基本的なレポート・フォーマットを選択します。「表」、「フォーム」または「フリー・フォーム」から選択します。図5-6は、それぞれのフォーマットの例を示しています。

図5-6 「表」、「フォーム」、「フリー・フォーム」の各フォーマットの例

5.4.2.2 ステップ2: 表データの選択

XML文書は、複数のグループ化されたデータ・セットを含むことができます。たとえば、発注書XML文書はヘッダー・レベル情報、行、出荷、および連絡先を含むことができます。

このステップでは、表に必要なデータを含むデータ・グループを選択します。

たとえば、残高通知サンプルRTFテンプレート(Template BuilderによりOracle¥BI Publisher¥BI Publisher Desktop¥samples¥RTF Templatesにインストールされたファイル内にあります)の場合、サンプルXMLファイルには次の3つのデータ・グループが含まれています。

- ARXCOBLX/G_CUSTOMER

- ARXCOBLX/G_CUSTOMER/G_CURRENCY

- ARXCOBLX/G_CUSTOMER/G_CURRENCY/G_INVOICES

表ウィザードには、XMLデータ・ファイルで利用できるデータ・グループのリストが表示されます。表のデータ・フィールドを含むグループを選択してください。

図5-7は、表ウィザードのステップ2: 表データの選択を示しています。

図5-7 表ウィザードのステップ2: 表データの選択

データに含まれている請求書を記載する表を構築するには、次を選択します。

ARXCOBLX/G_CUSTOMER/G_CURRENCY/G_INVOICES

データ・セットとして。

5.4.2.3 ステップ3: データ・フィールドの選択

表ウィザードには、選択したデータ・セットからのデータ・フィールドが表示されます。

図5-8は、表ウィザードのステップ3: データ・フィールドの選択を示しています。

図5-8 表ウィザードのステップ3: データ・フィールドの選択

シャトル・ボタンを使用して、表に表示するデータ・フィールドを選択します。上矢印と下矢印を使用して、選択後にフィールドを並べ替えます。

5.4.2.4 ステップ4: 表のグループ化

このステップでは、特定のフィールドによってデータを再グループ化できます。これはオプションです。

たとえば、請求書の表を構築している場合、レポートにおいて、グループ化対象の特定のタイプまたは日付のすべての請求書をグループ化する必要があることがあります。

図5-9は、表ウィザードのステップ4: 表のグループ化を示しています。

図5-9 表ウィザードのステップ4: 表のグループ化

グループ化オプションには「グループ左」と「グループ上」の2つがあります。「グループ左」を選択すると、ネストした表が作成されます。外部表の左側に「グループ基準」フィールドが表示されます。「グループ上」を選択すると、グループ基準フィールドの新しい値ごとに新しい表が作成され、グループ基準フィールドの値が表タイトルとして表示されます。

例を示します。

図5-10に示すように、「グループ左」を使用すると、要素の出現を基準にしてグループがグループ化されます。

図5-10 「グループ左」オプションの結果

「グループ上」を選択すると、図5-11に示すように、結果はヘッダー付きの表として表示されます。

図5-11 「グループ上」オプションの結果

グループ化する要素を選択すると、BI Publisherはグループ化要素によってデータをソートします。データがグループ化要素によってすでにソートされている場合は、「データはソート済」チェック・ボックスを選択します。これを選択すると、パフォーマンスが向上します。

5.4.2.5 ステップ5: グループでのブレークの挿入

「区切り」オプションを使用すると、このグループが出現するたびに、ページまたはセクションの区切りを挿入できます。改セクションは、トップレベルのグループにのみ作成できます。後続のグループ化オプションには、改ページオプションのみが表示されます。

ページの区切りでは、次のグループが新しいページで開始されます。セクションの区切りでは、次のグループが新しいページで開始され、ページ採番、ヘッダーとフッターがリセットされ、さらにグループの出現ごとに実行中の計算がリセットされます。

5.4.2.6 ステップ6: 表のソート

表のデータを最大4つの異なるフィールドでソートできます。フィールドを1つ選択してソート順序(昇順または降順)を定義し、フィールドについて正しいデータ型を選択します。たとえば、「テキスト」を選択すると、12は2の前に表示されます(英数字順)。「数値」を選択すると、2は12の前に表示されます。

図5-12は、表ウィザードのステップ6: 表のソートを示しています。

図5-12 表ウィザードのステップ6: 表のソート

5.4.2.7 ステップ7: 「終了」のクリック

「終了」をクリックして表を作成し、Microsoft Word文書に挿入します。

5.4.2.8 ステップ8: Microsoft Wordの機能を使用した表のカスタマイズ

Microsoft Wordの書式設定コマンドを使用して、フォント、色、列のサイズ、境界、網掛けなどを変更して表をカスタマイズします。

5.4.3 「表/フォームの挿入」ダイアログを使用した表またはフォームの挿入

「表/フォームの挿入」ダイアログは、Template Builderの最も柔軟なツールです。このダイアログを使用すると、次のタスクを実行できます。

- 単純な表または可変数の行を含むネストした表の作成

- データ要素(完全な請求書や発注明細など)のグループと、データ要素の出現箇所ごとに文書内で繰り返されるフォームとの関連付け

- テンプレート内の全データ・フィールドのレイアウトの選択と定義

- データのグループ化または再グループ化

「表/フォームの挿入」ダイアログには、2つのツリー表示ペインが表示されます。左ペインにはデータソースの構造が表示され、右ペインには 「挿入」 ボタンをクリックしたときにテンプレートにコピーされる要素が表示されます。

5.4.3.1 データ・フィールドの選択

最初に、テンプレートに挿入するデータ・フィールドを選択し、そのフォーマットを定義します。左側の「データソース」ペインから右側の「テンプレート」ペインにXML要素をドラッグして選択します。XML要素に子がある場合は、次のオプションが含まれたポップアップ・メニューが表示されます。

- 単独ノードをドロップ

- すべてのノードをドロップ

- 取消

選択したノードのみを移動する場合は「単独ノードをドロップ」、ノードとそのすべての子を移動する場合は「すべてのノードをドロップ」を選択します。

左側の「データソース」ペインから右側の「テンプレート」ペインにさらにデータ・フィールドをドラッグすると、ノードを離したのと同じレベル(「同一レベル」)またはノードの下(「子」)に挿入されます。ノードの挿入位置は「挿入位置」ボックスで定義します。

注意:

ドラッグ・アンド・ドロップに左マウス・ボタンを使用すると、ノードとそのすべての子がコピーされます。一方、ドラッグに右マウス・ボタンを使用すると、マウス・ボタンを離した時点でダイアログが表示されます。このダイアログでオプションを選択し、選択したノードのみをコピーするか、選択したノードとそのすべての子をコピーできます。

5.4.3.2 レイアウトの定義

右側の「テンプレート」ペインで要素を選択すると、そのプロパティとノードのレンダリングのプレビューが表示されます。ノードには、次の2種類があります。

- データ・フィールド

- データ・グループ

データ・フィールド・ノード(リーフ・ノード)には、子ノードはありません。この種のノードは、請求書の金額合計や発注明細の小計のように単純な属性を表します。

データ・グループ・ノード(親ノード)は、子ノードを持つノードです。通常、これらはデータ属性を表すのではなく、データのグループ(請求書、発注、発注明細、出荷など)を表します。

5.4.3.3 データ・フィールドのプロパティ

データ・フィールド・ノードを選択すると、そのプロパティが 「プロパティ」 ペインに表示されます。次のオプションを使用して、Template Builderでのフィールドの表示方法を記述できます。

- 計算
データ・フィールド用に集計関数を1つ選択できます。これらの関数(count以外)は、関数を使用するコンテキスト内にデータ・フィールドが複数存在する場合にのみ有効です。

- LTR方向を強制(左から右)
このオプションが必要になるのは、アラビア語やヘブライ語など、右から左に文字を表示する言語でテンプレートを使用している場合にかぎります。電話番号、アドレス、郵便番号、銀行の口座番号など、フィールドに対して左から右に入力するには、このオプションを使用します。

5.4.3.4 データ・グループのプロパティ

データ要素の表示順序には、表の列の順序が反映されます。列を並べ替える場合は、「挿入位置」ボックスを「子」から「同一レベル」に変更します。次に、各要素を正しい順序になるようにドラッグします。

データ・グループ・ノードを選択すると、そのプロパティが 「プロパティ」 ペインに表示されます。次のオプションを使用して、Template Builderでのグループの表示方法を記述できます。

- スタイル
ヘッダーを使用してデータを表に横に表示するには、「表」を選択します。フィールドにラベルを付けて表に縦に表示するには、「フォーム」を使用します。フィールドを、この要素について繰り返す必要のあるフリー・フォーム・テキスト・セクションに挿入する場合は、「フリー・フォーム」を選択します。

- グループ化
グループ化は、データ内の特定の要素でデータをグループ化できる高度な操作です。たとえば、すべての請求書を顧客別にグループ化できます。選択した要素の子要素をグループ化基準として選択できます。詳細は、第5.4.3.6項「グループ化」を参照してください。

- グループ化値の表示
このプロパティが表示されるのは、「グループ化」機能で作成されたノードを選択した場合のみです。デフォルトでは、データのグループ化基準として選択したフィールドがレポートに表示されます。グループ化データ・フィールドを表示しない場合は、「いいえ」を選択します。

- ソート基準
データ・グループのソート基準となる要素を選択できます。

- ソート順序
「ソート基準」で要素を選択した場合は、データを昇順でソートするか降順でソートするかを選択できます。

- データ型のソート
「ソート基準」で要素を選択した場合は、デフォルトでデータがテキストとしてソートされます。つまり、12は111の後に表示されます。データが数値の場合は、「データ型のソート」で「数値」を選択します。

- 区切り
このプロパティを使用すると、各データ・グループ間にページ区切りまたはセクション区切りを挿入できます。「要素ごとの新規ページ」を選択すると、最初の出現箇所以後、各要素間にページ区切りが挿入されます。

ヒント:

要素の最初の出現箇所の前にページ区切りを挿入するには、Microsoft Wordの改ページ・コマンドを使用します。

「要素ごとの新規セクション」を選択すると、データ・グループごとにセクション区切りが作成されます。セクション区切りには、ページ区切りを挿入し、ページ番号をリセットし、ヘッダーとフッターに新規データを表示できるという効果があります。通常、このオプションを使用するのは、複数の文書(例: 請求書や発注)を単一のPDFファイルに出力する場合です。

5.4.3.5 表とフォームの挿入

すべてのデータ・フィールドをドラッグしてレイアウトを定義した後、「挿入」ボタンを選択して、表とフォームを文書内のカーソル位置に挿入します。

5.4.3.6 グループ化

すべてのデータ・グループ・ノードは、その任意の子データ・フィールド・ノードでグループ化できます。たとえば、複数四半期のオーダーの販売データがある場合は、販売データを四半期別に編成して表示する必要があります。この場合は、販売データ行を四半期要素でグループ化します。

次の構造を考えてみます。

Sales Transaction
Quarter
Customer
Amount

ノード(販売取引)の子ノードをグループ化するには、子ノードの1つ(四半期)を親ノード(販売取引)のグループ化プロパティとして選択します。Template Builderが、このノード(四半期)を他の子ノード(顧客および金額)の親にします。

新しい構造は次のようになります。

Sales Transaction
Quarter
Customer
Amount

グループ化基準(四半期)は、子を持つ他のデータ・グループ・ノードと同様に動作します。つまり、 「表として作成」、「スタイル」、「ラベル」、「グループ化」 および 「グループ化値の表示」 プロパティを使用して、子のレイアウトを定義できます。

5.4.3.7 テンプレートに挿入するフィールドの理解

「表/フォームの挿入」ダイアログでは、次の2種類のフォーム・フィールドが作成されます。

- データ要素を示すフォーム・フィールド

- 表の行またはドキュメント・セクションを繰り返すための処理の指示を含むフォーム・フィールド

データ要素を表すフォーム・フィールドは、テンプレートの処理時にデータに置換されます。繰返しセクションを示すフォーム・フィールドは、ドキュメント内にfor-eachおよびend for-eachで示されます。

注意:

フォーム・フィールドの表示オプションとして「省略」を選択した場合は、フォーム・フィールドのfor-eachがF、end for-eachがEと表示されます。ドキュメントのうち、これら2つの要素でカプセル化されているセクションは、関連付けられているデータ要素がデータ内で繰り返される場合に繰り返されます。

5.4.4 チャートの挿入

「チャート」ダイアログを使用して、チャートをテンプレートに挿入します。

図5-13は、「チャート」ダイアログを示しています。

図5-13 「チャート」ダイアログ

5.4.4.1 チャート・タイプ

BI Publisherは、様々なチャート・タイプをサポートしています。このテンプレートのチャート・タイプを選択するには、「タイプ」リストを展開します。

5.4.4.2 値

測定するデータ値を「値」フィールドにドラッグ・アンド・ドロップします(SALESなど)。複数の値要素(メジャー)を選択できます。

「値」フィールドは、選択したチャート・タイプに応じて変化します。

- 組合せグラフ: 3つのフィールドで値を選択できます。

- 散布図: 値のペアが比較されます。比較対象のXおよびYデータ要素をドラッグ・アンド・ドロップします。

- バブル・グラフ: 3つの値セットが比較されます。散布図と同様に、第3の値はバブルのサイズとして表示されます。

- 株式グラフ: 株式グラフの始値、高値、安値、終値および出来高を表す要素をドラッグ・アンド・ドロップします。

5.4.4.3 集計

値データの集計方法として合計、件数または平均を選択できます。

5.4.4.4 ラベル

チャート化した値を表示するデータ要素(年など)をドラッグ・アンド・ドロップします。チャートに表示する前にラベル要素の出現箇所をグループ化するには、「グループ・データ」を選択します。たとえば、年度別売上チャートを作成する場合、「グループ・データ」を選択すると年の値が累計されるため、グラフでは各年の出現箇所が1つのみ表示されます。「グループ・データ」を選択しなければ、データに含まれる年のすべての出現箇所の値が個別に描画されます。

5.4.4.5 色

チャートにシリーズ要素を追加する場合は、シリーズとして表示する要素をドラッグ・アンド・ドロップします。各値がグラフに新しい色として表示されます。

5.4.4.6 チャートはグループ内にある

チャートがグループ内にあり、グループ内のデータ要素の出現箇所のデータのみをチャートに表示する場合は、このボックスを選択します。

5.4.4.7 スタイル

チャートのカラー・スキームとスタイルを選択します。

5.4.4.8 プロパティ

「プロパティ」リージョンでは、値とラベルの表示名を変更し、チャートの色、フォントおよびその他の表示オプションを選択できます。「プロパティ」リストは、選択したチャートに応じて変化します。

5.4.4.9 プレビュー

「プレビュー」をクリックすると、サンプル・データによるチャートが表示されます。

5.4.4.10 グループ・データ

デフォルトでは、データは「値」要素によってグループ化され、合計によって集計されます。

「グループ・データ」チェック・ボックスの選択を解除すると、値要素の各出現箇所がチャートに示され、集計機能は利用できなくなります。

5.4.4.11 挿入したチャートの編集

テンプレートにすでに挿入されているチャートを編集するには、チャートを右クリックしてメニューから「BI Publisherチャート」を選択します。「チャート」ダイアログが起動し、チャートを編集できるようになります。

5.4.5 繰返しグループの挿入

繰返しグループを挿入するには:

1. テンプレートのうち、繰り返す要素を含んだセクションを選択します。

2. Oracle BI Publisherメニューの「グループ化の挿入」で、「繰返しグループ」をクリックします。

3. 「BI Publisherのプロパティ」ダイアログで、図5-14に示すように、該当するフィールドに入力します。

図5-14 「BI Publisherのプロパティ」ダイアログ

各

出現箇所ごとにループを繰り返す要素を選択します。「各」データ・フィールドを選択すると、データ内の選択されたフィールドの出現箇所ごとに、ループに含まれている要素と処理命令が繰り返されるようにBI Publisherを設定することになります。

たとえば、データに顧客の請求書データが含まれており、各顧客の請求書の表を作成する必要があるとします。この場合、顧客番号ごとに表を繰り返す必要があります。このため、「各」フィールドで顧客番号を選択して顧客ごとに新しいループ(またはグループ)を作成します。

繰返しグループの作成について、次に注意してください。

- 他のグループ内にないループとグループ(つまり、外部グループまたはループ)の場合は、使用する繰返しXML要素を選択する必要があります。たとえば、データ・セットがフラットな場合、繰返し可能な要素は/DATA/ROWSET/ROWのみです。複数のデータ・ソースまたは階層形式のXMLの場合は、データ・セットを選択できます。

- ネストされたグループを作成する(ループまたはグループをテンプレート内の別のループ内に挿入)場合は、既存の外部ループで定義済のため、「各」フィールドは更新できません。「各」フィールドに「グループ・アイテム」と表示され、外部グループが定義済であることが示されます。

絶対パス

XML構造の要素への絶対パスを使用するには、このチェック・ボックスを選択します。これは、データ内で複数の親要素の下位に同名の要素がグループ化されている場合に重要です。

グループ基準

リストから、データのグループ化に使用するフィールドを選択します。単に単純なループを作成すればよい場合は、グループ基準要素を選択しないでください。グループ基準要素を選択すると、実際には、グループ基準要素に基づいてデータが新規階層に再グループ化されます。

区切り

このグループの各出現箇所の後に区切りを挿入する場合は、このオプションを使用してページ区切りまたはセクション区切りを作成します。

セクション区切りは、ドキュメント全体を包囲する外部グループにのみ作成できます。選択したフィールドが外部グループでない場合は、セクション区切りのオプションは利用できません。

セクション区切りを挿入すると、ページ採番、ヘッダーとフッターがリセットされ、さらにグループの出現箇所ごとに実行中の計算がリセットされることにも注意してください。

4. グループ化されたデータをソートするには、 「ソート」 タブを選択します。ソート基準フィールドを最大4つまで選択できます。ソート基準フィールドごとに、次の選択を行います。
ソート順序: 「昇順」または「降順」を選択します。

データ型: 「数値」または「日付/テキスト」を選択します。必要なソート順序でソートするには、正しいデータ型を選択することが重要です。

4つの基準でソートする場合、XMLデータ要素名が長いと、Microsoft Wordのフォーム・フィールドの文字長制限(393文字)を超える可能性があります。

5. 「詳細」タブでは、コードを直接編集し、フィールドに「表示するテキスト」を入力できます。
「コード」リージョンには、Template Builderがフィールドに対して挿入したコードと処理命令が表示されます。このフィールドの処理命令を変更する場合は、これを編集できます。

「表示するテキスト」フィールドには、このフィールドがテンプレートでどのように表示されるかが示されます。テンプレートを読むときに各フィールドを理解しやすいように、わかりやすいテキストを入力するか、またはテンプレートのルック・アンド・フィールにあまり影響しないテキスト・エントリの省略形を入力するかを選択できます。

注意:

「オプション」タブを使用して、デフォルトの表示テキストを「記述」または「省略」として設定できます。

図5-15は、「BI Publisherのプロパティ」ダイアログの「詳細」タブを示しています。

図5-15 「BI Publisherのプロパティ」ダイアログ: 「詳細」タブ

6. ダイアログのオプション設定を完了した後、「OK」をクリックします。これにより、フォーム・フィールドがテンプレートに挿入されます。デフォルトでは、開始のfor-eachフォーム・フィールドにテキスト「F」が表示され、選択したテンプレート・セクションの先頭に挿入されます。選択範囲の最後に、繰返しグループの終わりを示す「E」フォーム・フィールドが挿入されます。

5.4.6 既存のブロックを囲むグループ化フィールドの作成

テンプレートのテキストまたは要素の既存のブロックの周りにグループを作成するには:

1. テキスト・ブロックを選択します。たとえば、表の行を選択します。
BI Publisherの既存のタグがブロックに含まれている場合は、開始タグと終了タグを含める必要があります。たとえば、開始のfor-each、ifまたはfor-each-groupタグがブロックに含まれる場合は、選択範囲内にend for-each、end-ifおよびend for-each-groupタグを含める必要があります。

2. Oracle BI Publisherメニューの「挿入」グループで、「繰返しグループ」をクリックします。

3. 「BI Publisherのプロパティ」ダイアログで、第5.4.5項「繰返しグループの挿入」の説明に従ってグループを定義するフィールドを入力します。

4. 「OK」をクリックして、ブロックを取り囲むグループ化フィールドを挿入します。たとえば、ブロックが表の行の場合は、開始フィールドが最初のセルの先頭に挿入され、終了フィールドが最後のフィールドの末尾に挿入されます。

5.4.7 ピボット・テーブルの挿入

ピボット・テーブルを挿入するには:

1. 「挿入」グループのBI Publisherメニューで、「ピボット・テーブル」をクリックします。「ピボット・テーブル」ダイアログでは、左ペインにデータが表示され、右側にデータ要素をドラッグ・アンド・ドロップするための空の「レイアウト」ペインが表示されます。図5-16は、「ピボット・テーブル」ダイアログを示しています。

図5-16 「ピボット・テーブル」ダイアログ

2. 「データ」ペインから「レイアウト」ペインに要素をドラッグ・アンド・ドロップして、ピボット・テーブル構造を作成します。図5-17のレイアウトは、年(YEAR)別および月(MONTH)別に累計された業種(INDUSTRY)別売上(SALES)を示しています。

図5-17 年(YEAR)別および月(MONTH)別に累計された業種(INDUSTRY)別売上(SALES)を示すレイアウト

3. 「プロパティ」ペインを使用して「集計」を選択します。「合計」、「件数」、または「平均」を選択できます。次に、図5-18に示すように、数値の「フォーマット」を選択します。

図5-18 「フォーマット」オプション

4. デフォルトでは、行と列の小計が表示されます。プロパティを「False」に設定すると、小計が表示されなくなります。
図5-19は、小計と合計を設定するプロパティを示しています。

図5-19 小計と合計を設定するプロパティ

5. 「プレビュー」をクリックすると、ピボット・テーブルをテンプレートに挿入する前に、どのように表示されるかを確認できます。ピボット・テーブルをテンプレートに挿入するには「OK」をクリックします。図5-20は、ピボット・テーブルがテンプレートにどのように表示されるかを示しています。

図5-20 テンプレートに表示されたピボット・テーブルの例

このピボット・テーブルは実行時に、図5-21に示すように生成されます。

図5-21 実行時のピボット・テーブル

5.4.8 ピボット・テーブルの手動編集

この項は、ピボット・テーブル・ビルダーで挿入されたコードについて説明します。Template Builderでピボット・テーブルを挿入する場合は、次の構造のBI Publisherコマンドが挿入されます。

<?crosstab: ctvarname; "data-element"; "rows"; "columns"; "measures"; "aggregation"?>

表5-1 ピボット・テーブル・コマンドのパラメータ

パラメータ

説明

例

Ctvarname

クロス集計変数名。これは、アドインで自動生成されます。

C123

data-element

これは、ピボット・テーブルに組み込まれるデータ要素を含むXMLデータ要素です。ピボット・テーブルが繰返しグループ内にある場合は、予期する結果を得るために、このフィールドを手動編集する必要があります。この項に続く表を参照してください。

"//ROW"

行

このパラメータにより、行ヘッダーのXML要素を定義します。順序付け情報は、{" and "}内で指定します。最初の属性は、ソート属性です。指定されていない場合は、ソート要素として行ヘッダー要素を使用します。

サポートされる属性は次のとおりです。

- o: ソート順序を指定します。有効な値は、aの昇順またはdの降順です。

- t: データ型を指定します。有効な値は、tのテキストまたはnの数値です。

たとえば、次のように2つ以上のソート要素を指定できます。

"emp-full-name {emp-lastname,o=a,t=n}{emp-firstname,o=a,t=n}"

従業員を姓および名でソートします。ソート要素は、データ・セット内の任意の要素に指定可能で、ピボット・テーブルに含まれている必要はないことに注意してください。前述の例では、emp-lastnameおよびemp-firstnameがピボット・テーブルに含まれている要素である必要はありません。

"REGION{,o=a,t=t}, DISTRICT{,o=a,t=t}"

この例では、最初の行ヘッダーはREGIONです。REGIONでソートされ、ソート順序は昇順、データ型はテキストになります。第2の行ヘッダーはDISTRICTです。DISTRICTでソートされ、ソート順序は昇順、データ型はテキストになります。

列

このパラメータにより、列ヘッダーのXML要素を定義します。順序付け情報は、{" and "}内で指定します。最初の属性はソート要素です。指定されていない場合は、ソート要素として列ヘッダー要素を使用します。

サポートされる属性は次のとおりです。

- o: ソート順序を指定します。有効な値は、aの昇順またはdの降順です。

- t: データ型を指定します。有効な値は、tのテキストまたはnの数値です。

たとえば、次のように2つ以上のソート要素を指定できます。

"emp-full-name {emp-lastname,o=a,t=n}{emp-firstname,o=a,t=n}"

従業員を姓および名でソートします。ソート要素は、データ・セット内の任意の要素に指定可能で、ピボット・テーブルに含まれている必要はないことに注意してください。前述の例では、emp-lastnameおよびemp-firstnameがピボット・テーブルに含まれている要素である必要はありません。

"ProductsBrand{,o=a,t=t}, PeriodYear{,o=a,t=t}"

この例では、最初の列ヘッダーはProductsBrandです。ProductsBrandでソートされ、ソート順序は昇順、データ型はテキストになります。第2の列ヘッダーはPeriodYearです。PeriodYearでソートされ、ソート順序は昇順、データ型はテキストになります。

メジャー

このパラメータにより、メジャーとして使用されるXML要素を定義します。

"Revenue, PrevRevenue"

集計

このパラメータにより、集計関数を指定します。現在、サポートされている値はsumのみです。

"sum"

例

この例では、次のXMLデータを使用します。

- <ROWSET>
- <ROW>
<ProductsType>COATINGS</ProductsType>
<ProductsBrand>Enterprise</ProductsBrand>   <Region>CENTRAL REGION</Region>
<District>CHICAGO DISTRICT</District>
<PeriodYear>1998</PeriodYear>
<Revenue>1555548.0</Revenue>
<PrevRevenue>125968</PrevRevenue>
<Units>11</Units>
</ROW>
...
</ROWSET>

完全なデータ・セットには、ピボット・テーブルに表示されるProductsBrandの4つの値、Regionの4つの値およびPeriodYearの2つの値が含まれています。

Template Builder for WordおよびサンプルXMLファイルを使用して、図5-22に示すように、ピボット・テーブルを作成できます。

図5-22 Template Builderの「ピボット・テーブル」ダイアログ

このピボット・テーブルの生成済XDOコマンドは次のとおりです。

<?crosstab:c4536;"//ROW";"Region{,o=a,t=t},District{,o=a,t=t}";"PeriodYear{,o=a,t=t},ProductsBrand{,o=a,t=t}";"Revenue,PrevRevenue";"sum"?>

指定のXMLデータファイルでコマンドを実行すると、このXMLファイルのcttree.xmlが生成されます。cttree.xmlの各XPathは次の表で説明します。この表の情報により、BI Publisherでピボット・テーブルを構築する方法を理解できます。生成済のcttree.xmlファイルに、表示または更新のためにアクセスすることはできません。

要素

XPath

件数

説明

C0

/cttree/C0

1

これには、列に関連する要素が含まれています。

C1

/cttree/C0/C1

4

第1レベルの列はProductsBrandです。4つの異なる値があります。これらは、ラベルH要素に示されています。

CS

/cttree/C0/C1/CS

4

列の幅の値です。ピボット・テーブルの書式設定に使用します。

H

/cttree/C0/C1/H

4

列ヘッダーのラベルです。Enterprise、Magicolor、McCloskeyおよびValsparの4つの個別値があります。

T1

/cttree/C0/C1/T1

4

メジャー1のRevenueの合計です。

T2

/cttree/C0/C1/T2

4

メジャー2のPrevRevenueの合計です。

C2

/cttree/C0/C1/C2

8

第1レベルの列はPeriodYearで、第2はグループ化キーです。2001および2002の2つの個別値があります。

H

/cttree/C0/C1/C2/H

8

列ヘッダーのラベルです。2001および2002の2つの個別値があります。これはC1の下にあるため、エントリの合計値は4 x 2 = 8になります。

T1

/cttree/C0/C1/C2/T1

8

メジャー1のRevenueの合計です。

T2

/cttree/C0/C1/C2/T2

8

メジャー2のPrevRevenueの合計です。

M0

/cttree/M0

1

これには、メジャーに関連する要素が含まれています。

M1

/cttree/M0/M1

1

これには、メジャー1のサマリーが含まれます。

H

/cttree/M0/M1/H

1

メジャー1ラベルで、Revenueです。

T

/cttree/M0/M1/T

1

//ROWからのXpath全体に対するメジャー1の合計です。

M2

/cttree/M0/M2

1

これには、メジャー2のサマリーが含まれます。

H

/cttree/M0/M2/H

1

メジャー2ラベルで、PrevRevenueです。

T

/cttree/M0/M2/T

1

//ROWからのXpath全体に対するメジャー2の合計です。

R0

/cttree/R0

1

これには、行に関連する要素が含まれています。

R1

/cttree/R0/R1

4

第1レベルの行はRegionです。4つの個別値があり、これらはラベルH要素に示されています。

H

/cttree/R0/R1/H

4

これは、Regionの行ヘッダーのラベルです。CENTRAL REGION、EASTERN REGION、SOUTHERN REGIONおよびWESTERN REGIONの4つの個別値があります。

RS

/cttree/R0/R1/RS

4

行の幅の値です。クロス集計表の書式設定に使用します。

T1

/cttree/R0/R1/T1

4

各個別のRegion値に対するメジャー1のRevenueの合計です。

T2

/cttree/R0/R1/T2

4

各個別のRegion値に対するメジャー1のRevenueの合計です。

R1C1

/cttree/R0/R1/R1C1

16

これには、R1およびC1の組合せによる要素が含まれます。Regionの4つの個別値およびProductsBrandの4つの個別値があります。したがって、組合せは4 X 4 =16になります。

T1

/cttree/R0/R1/R1C1/T1

16

RegionおよびProductsBrandの各組合せに対するメジャー1のRevenueの合計です。

T2

/cttree/R0/R1/R1C1/T2

16

RegionおよびProductsBrandの各組合せに対するメジャー2のPrevRevenueの合計です。

R1C2

cttree/R0/R1/R1C1/R1C2

32

これには、R1、C1およびC2の組合せによる要素が含まれます。Regionの4つの個別値、ProductsBrandの4つの個別値およびPeriodYearの2つの個別値があります。したがって、組合せは4 X 4 X 2 = 32になります。

T1

/cttree/R0/R1/R1C1/R1C2/T1

32

Region、ProductsBrandおよびPeriodYearの各組合せに対するメジャー1のRevenueの合計です。

T2

/cttree/R0/R1/R1C1/R1C2/T2

32

Region、ProductsBrandおよびPeriodYearの各組合せに対するメジャー2のPrevRevenueの合計です。

R2

/cttree/R0/R1/R2

18

これには、R1のRegionおよびR2のDistrictの組合せによる要素が含まれます。R2の値のリストにR1への依存性が含まれるため、エントリ数が単純な乗算にはなりません。

H

/cttree/R0/R1/R2/H

18

R2のDistrictに対する行ヘッダーのラベルです。

R1N

/cttree/R0/R1/R2/R1N

18

R1内のR2の位置番号です。これは、最後の行であるかどうかをチェックし、それに応じて表の境界線を引くために使用します。

T1

/cttree/R0/R1/R2/T1

18

RegionおよびDistrictの各組合せに対するメジャー1のRevenueの合計です。

T2

/cttree/R0/R1/R2/T2

18

RegionおよびDistrictの各組合せに対するメジャー2のPrevRevenueの合計です。

R2C1

/cttree/R0/R1/R2/R2C1

72

これには、R1、R2およびC1の組合せによる要素が含まれます。

T1

/cttree/R0/R1/R2/R2C1/T1

72

Region、DistrictおよびProductsBrandの各組合せに対するメジャー1のRevenueの合計です。

T2

/cttree/R0/R1/R2/R2C1/T2

72

Region、DistrictおよびProductsBrandの各組合せに対するメジャー2のPrevRevenueの合計です。

R2C2

/cttree/R0/R1/R2/R2C1/R2C2

144

これには、R1、R2、C1およびC2の組合せによる要素が含まれ、最適なレベルの詳細が指定されます。

M1

/cttree/R0/R1/R2/R2C1/R2C2/M1

144

メジャー1のRevenueの合計です。

M2

/cttree/R0/R1/R2/R2C1/R2C2/M2

144

メジャー2のPrevRevenueの合計です。

5.4.8.1 繰返しグループへのピボット・テーブルの挿入

繰返しグループ内にピボット・テーブルを作成する場合は、ピボット・テーブルのコードを手動編集することで、ピボット・テーブルに含まれる要素によってグループ化コンテキストが考慮されるようにする必要があります。コードの編集は、データをグループ化する方法によって異なります。

データがフラットで、Template Builderのグループ化機能を使用してデータをグループ化した場合は、「Template Builderの「グループ化」機能の使用時のプロシージャ」を使用します。データがすでにグループ化されている場合は、「データがすでにグループ化されている場合のプロシージャ」を使用します。

Template Builderの「グループ化」機能の使用時のプロシージャ

ピボット・テーブルの挿入後は、「BI Publisherのプロパティ」ダイアログを開いて<?crosstab...?>コードを表示します。クロス集計コマンドで、data-elementコンポーネントをcurrent-group()に更新します。

たとえば、前述の例で、<Region>要素でグループ化されたピボット・テーブルの繰返しグループを作成するとします。

ピボット・テーブルのコードを編集するには:

1. 挿入済のピボット・テーブルを選択し、右クリックします。メニューから、「BI Publisherのプロパティ」を選択し、<?crosstab...?>コマンドを表示します。または、Template Builderの「フィールド・ブラウザ」を開いて、<?crosstab:...?>コマンドを選択します。

2. data-elementコンポーネントを"current-group()"と置き換えます。たとえば、この例では、data-element値が"//ROW"です。次のように、値の"//ROW"を"current-group()"と置き換えます。

<?crosstab:c4536;"current-group()";"Region{,o=a,t=t},District{,o=a,t=t}";"PeriodYear{,o=a,t=t},ProductsBrand{,o=a,t=t}";"Revenue,PrevRevenue";"sum"?>

これにより、現在のグループ間のみでXDOクロス集計コマンドが適用され、ピボット・テーブルに予期される値が戻されます。

データがすでにグループ化されている場合のプロシージャ

Template Builderへのデータ入力がすでにグループ化されている場合は、data-elementコンポーネントの適切なXPathを挿入して、ピボット・テーブルに現在のグループ内の要素のみが含まれるようにします。

たとえば、このレポートのデータが次のように構成されているとします。

<ROWSET> <REGION>
<RegionName>CENTRAL REGION</RegionName>
<ProductList>
<Product>
<ProductsBrand>Enterprise</ProductsBrand>
<District>CHICAGO DISTRICT</District>
<PeriodYear>2001</PeriodYear>
<Revenue>1555548.0</Revenue>
<PrevRevenue>125968</PrevRevenue>
<Units>11</Units>
</Product

テンプレートに、<REGION>要素に基づいた繰返しグループを挿入します。繰返しグループ内にピボット・テーブルを挿入する場合は、コードが次のように表示されます。

<?crosstab:c10959;"//Product";"District{,o=a,t=t},ProductsBrand{,o=a,t=t}";"PeriodYear{,o=a,t=t}";"Revenue,PrevRevenue";"sum"?>

この場合に、現在のREGIONグループにある要素のみをBI Publisherで使用するように指示するには、data-elementを編集して、相対XPathを".//Product"として使用するようにします。編集されたコードは次のようになります。

<?crosstab:c10959;".//Product";"District{,o=a,t=t},ProductsBrand{,o=a,t=t}";"PeriodYear{,o=a,t=t}";"Revenue,PrevRevenue";"sum"?>

5.4.9 条件付きリージョンの挿入および編集

条件付きリージョンとは、条件文の対象となる範囲を指します。条件文のテスト結果が真の場合は、該当範囲がレポートに表示され、条件文のテスト結果が偽の場合は、該当範囲がレポートから非表示になります。

たとえば、データに販売情報が含まれているとします。レポートには、業種別の売上を示す表が含まれています。レポートのこの表に、売上高が100,000未満の業種の情報を表示したいと考えています。条件付きリージョン機能の挿入を使用して、売上高表を含むリージョンを選択し、売上高要素が100,000未満でなければならない条件を挿入できます。

1. 条件を適用するリージョンを選択します。たとえば、特定の条件に該当する表のみを表示する場合は、その表が含まれるリージョンを選択します。リージョンがループ内に存在する必要があることに注意してください。

2. Oracle BI Publisherメニューの「グループ化の挿入」で、「条件付リージョン」をクリックします。図5-23は、「BI Publisherのプロパティ」ダイアログの「条件付きリージョン」を示しています。

図5-23 「BI Publisherのプロパティ」の「条件付きリージョン」ダイアログ

3. 次のフィールドを入力します。
データ・フィールド: 条件をテストするフィールドを選択します。フィールドのデータ型(「数値」または「日付/テキスト」)を選択します。

(条件1)データ・フィールド: 比較演算子を選択します。

条件を満たす値を選択します。整数またはテキストを入力するか、または別のデータ要素を選択して入力値に基づく比較を定義できることに注意してください。

4. 「OK」をクリックします。条件ロジックを含むフォーム・フィールドがリージョンの前後に挿入されます。開始のフォーム・フィールドにはテキスト「C」が表示され、リージョンを終了するフォーム・フィールドにはテキスト「EC」が表示されます。

条件付きリージョンを編集するには、挿入されたフォーム・フィールドをダブルクリックして編集用のダイアログを開くか、またはフォーム・フィールドを右クリックして「BI Publisher」→「プロパティ」を選択します。

5.4.10 条件付き書式の挿入

条件付き書式機能を使用すると、単純な条件付フォーマットを挿入して表の行またはセルに適用できます。ダイアログに表示される複数の共通オプションから選択すると、Template Builderにより自動的にコードが挿入されます。「条件付フォーマット」ダイアログでは、フィールドごとに2つの条件がサポートされています。

注意:

ピボット・テーブル内では「条件付き書式」ダイアログを使用できません。条件付き書式設定ロジックは、適切なフォーム・フィールドに直接挿入する必要があります。

条件付フォーマットを挿入する手順は、次のとおりです。

1. 条件の定義対象となるデータ要素の表セルにカーソルを置きます。

2. Oracle BI Publisherメニューの「グループ化の挿入」で「条件付き書式」をクリックします。図5-24は、「BI Publisherのプロパティ」ダイアログの「条件付き書式」を示しています。

図5-24 「BI Publisherのプロパティ」ダイアログの「条件付き書式」

3. 「条件付フォーマット」ダイアログに次の情報を入力します。
データ・フィールド: 条件に基づいてテストする要素と、その要素のデータ型(「数値」または「日付/テキスト」)を選択します。

表の行全体に適用: 選択した要素のセルのみでなく、表の行全体にフォーマットを適用する場合は、このボックスを選択します。

条件1)データ・フィールド: 比較演算子を選択します。

条件を満たす値を選択します。整数またはテキストを入力するか、または別のデータ要素を選択して入力値に基づく比較を定義できます。

4. 「フォーマット」をクリックして、条件に合致するときに適用する書式を定義します。オプションは、「背景色」、「フォント色」、および「フォント・スタイル」(標準、太字、斜体、太字斜体)です。適用する各オプションのボックスとフォーマットを選択します。フォーマットを選択すると、そのフォーマットが「プレビュー」リージョンに表示されます。
図5-25は、「フォーマット」ダイアログを示しています。

図5-25 「フォーマット」ダイアログ

5. 必要に応じて第2の条件を定義します。

6. 「OK」をクリックします。条件付き書式フィールドが、表示テキスト「C」のフォーム・フィールドとして挿入されます。

条件付きフォーマットを編集するには、挿入されたフォーム・フィールドをダブルクリックして編集用のダイアログを開くか、またはフォーム・フィールドを右クリックして「BI Publisher」→「プロパティ」を選択します。

5.5 テンプレートのプレビュー

「プレビュー」メニュー・グループを使用すると、サンプルXMLデータを使用してRTFテンプレートをプレビューできます。

注意:

まだサンプル・データをTemplate Builderにロードしていない場合、レポートをプレビューするにはサンプル・データをロードする必要があります。第5.3項「テンプレート作成のためのデータへのアクセス」を参照してください。

「プレビュー」グループから出力フォーマットを選択します。まだテンプレートをRTFファイルとして保存していない場合は、保存するように求められます。

- PDF
PDF形式でドキュメントを表示するには、Adobe Acrobat Readerバージョン5.0以降がインストールされている必要があります。

- HTML
デフォルトのブラウザを起動してレポートを表示します。

- EXCEL
このオプションを使用するには、Microsoft Excel 2003以降が必要です。Excel 2003をお持ちの場合は、このオプションを選択するとMHTMLでドキュメントが生成され、Excelでドキュメントが開かれます。Excel 2007をお持ちの場合は、このオプションを選択すると、.xlsxでドキュメントが生成されます。これはOffice Excel 2007のデフォルトのXMLベースのファイル形式です。

- EXCEL 2000
HTMLが生成され、表示するためにMicrosoft Excelが起動されます。この出力タイプでは、チャートやロゴなどの埋込みイメージはサポートされません。このオプションは、Microsoft Excel 2003以降がインストールされていない場合に使用します。

- RTF
レポートがリッチ・テキスト形式で生成されます。

- PowerPoint
Microsoft PowerPoint 2003または2007が必要です。

5.6 テンプレート編集ツール

この項では、Template Builderに用意されている、テンプレートの検証と編集に役立つ他のツールについて説明します。この項の内容は次のとおりです。

- 第5.6.1項「フィールド・プロパティの編集と表示」

- 第5.6.2項「テンプレートの検証」

- 第5.6.3項「フィールド・ブラウザの使用」

- 第5.6.4項「アクセシビリティのチェック」

5.6.1 フィールド・プロパティの編集と表示

データ・フィールドの挿入後(第5.4.1項「フィールドの挿入」を参照)、「BI Publisherのプロパティ」ダイアログでフィールド・プロパティを表示したり編集できます。

「BI Publisherのプロパティ」ダイアログを起動するには、次のいずれかを実行します。

- フィールドをダブルクリックします。

- フィールドを右クリックし、メニューから「BI Publisher」、「プロパティ」を順番に選択します。

図5-26は、「BI Publisherのプロパティ」ダイアログを示しています。「プロパティ」タブ、「詳細」タブおよび「Wordのプロパティ」ボタンに注意してください。一部のフィールドでは、「詳細」タブのみが表示されている場合もあります。

図5-26 「BI Publisherのプロパティ」ダイアログ

5.6.1.1 「プロパティ」タブについて

データ・フィールドの次のプロパティを設定できます。

データ・フィールド: ロード済のデータソースの使用可能なフィールドのリストから、データ・フィールドを選択します。

表示するテキスト: テンプレートのフォーム・フィールドの表示テキストを入力します。このテキストは、実行時にデータ内の値で置換されます。

タイプ: データのタイプを選択します。オプションは、「標準テキスト」、「数値」、「日付」、「現在の日付」および「現在の時間」です。このフィールドでの選択によって、フォーマット・オプションが決まります。

フォーマット: 「標準テキスト」以外のデータ・タイプの場合、数値または日付表示の複数の書式マスクから選択するか、または独自の書式マスクを入力できます。

LTRの強制: (左から右を強制)このチェック・ボックスを使用するのは、アラビア語やヘブライ語のように右から左へと文字が出力される言語のテンプレートを公開する場合です。電話番号、アドレス、郵便番号、銀行の口座番号など、フィールドに対して左から右に入力するには、このオプションを使用します。

関数: この機能を使用すると、データ・フィールドに対して集計関数(Sum、Average、Count、Minimum、Maximum)を実行できます。たとえば、データ・フィールドに「合計」を選択すると、フィールドには、範囲(後述)に応じてこのデータ・フィールドに発生する値すべての合計が表示されます。集計関数については、第5.4.1項「フィールドの挿入」も参照してください。

範囲(情報表示のみ): このフィールドに利用できる値は次の2つです。

- グループ・アイテム: データ・フィールドがグループ内にあることを示します。そのフィールドに対して関数を実行するように選択すると、現在のグループに含まれているフィールドの出現箇所のみが集計に含められます。

- 標準: フィールドがグループ内にないことを示します。集計関数は、データ内のフィールドのすべての出現箇所に対して実行されます。

5.6.1.2 「詳細」タブについて

「詳細」タブには、基礎となるコードが表示されます。(たとえば、フィールドにコマンドを手動で追加したために)フォーム・フィールド内のコード・パターンが認識されない場合は、このタブのみが「BI Publisherのプロパティ」ダイアログに表示されます。

このタブを使用して、手作業でフォーム・フィールドのコードを編集したり追加したりします。「OK」をクリックすると、テンプレートが更新されます。図5-27は、「詳細」タブを示しています。

図5-27 「BI Publisherのプロパティ」ダイアログ: 「詳細」タブ

5.6.1.3 「Wordのプロパティ」ボタンについて

「Wordのプロパティ」ボタンを選択すると、Microsoft Wordの「Text Form Field Options」ダイアログが開きます。このダイアログを使用して、データ型と数値書式を設定することもできます。BI Publisherで使用される基礎となるコードを使用するには、「Add Help Text」ボタンをクリックする方法もあります。

5.6.2 テンプレートの検証

Template Builderには、BI Publisherコマンドの誤用やRTFファイルでサポートされていない要素についてテンプレートをチェックできるように、検証ツールが用意されています。

テンプレートを検証する手順は次のとおりです。

1. BI Publisherメニューの「ツール」グループで、「テンプレートの検証」をクリックします。

検証エラーがなければ、「エラーは見つかりませんでした。」というメッセージが返されます。エラーが見つかった場合は、エラー・メッセージが表示されます。フィールド・ブラウザを使用してエラーを検索できます。

5.6.3 フィールド・ブラウザの使用

「フィールド・ブラウザ」ダイアログを使用すると、Microsoft Wordのフォーム・フィールドで非表示になっているBI Publisherの指示をすばやく確認して更新できます。このダイアログは、既存のテンプレートを理解して変更する上で特に役立ちます。

「ツール」グループで「フィールド・ブラウザ」をクリックします。

図5-28は、「フィールド・ブラウザ」ダイアログを示しています。

図5-28 「フィールド・ブラウザ」ダイアログ

「フィールド・ブラウザ」ダイアログの表では、「テキスト」列にフォーム・フィールドのテキストが表示され、基礎となるコードの命令が第2の「コード」列に表示されます。このダイアログで特定の行を選択すると、Microsoft Word文書内でそれに対応するフォーム・フィールドが選択されます。

「フィールド・ブラウザ」を開く前にテキストの一部を選択すると、ダイアログには選択内容に対応するフィールドのみが表示されます。テキストを選択しない場合は、文書内のフィールドがすべて表示されます。

表5-2に、「フィールド・ブラウザ」のオプションを示します。

表5-2 「フィールド・ブラウザ」のオプション

オプション

説明

編集

「フィールド・ブラウザ」ダイアログから処理指示を直接更新できます。「テキスト」表でフォーム・フィールドを選択します。「編集」ボックスに、フィールドの処理指示が表示されます。フィールドの指示を変更するには、「編集」フィールドのテキストを変更して「更新」をクリックします。

リフレッシュ

「フィールド・ブラウザ」ダイアログでは、ダイアログが開いている間に追加または変更したフォーム・フィールドは認識されません。「フィールド・ブラウザ」ダイアログを開いた後で文書に対して行った変更内容を表示するには、「リフレッシュ」をクリックします。

すべて表示

文書の一部を選択してブラウザを開いた場合、選択した領域のフォーム・フィールドのみが表示されます。文書のフォーム・フィールドをすべて表示するには、「すべて表示」をクリックします。

閉じる

フィールド・プロパティ・ブラウザを閉じるには、「閉じる」をクリックします。この唯一のボタンを選択しても、編集フィールドの変更内容が自動的に更新されることはないため、編集内容を保存する場合は必ず「更新」を選択してください。

5.6.4 アクセシビリティのチェック

Template Builderでは、テンプレートにおいて、レポートを表示するためにアシスティブ・テクノロジを必要とするレポート利用者のために、レポートのアクセシビリティを向上させる機能を確認するためにアクセシビリティ・チェッカーを提供しています。

アクセシビリティ機能の存在を確認するには、「BI Publisher」タブの「ツール」グループで、「アクセシビリティの確認」をクリックします。このツールでは、テンプレートのうち、次のアクセシビリティ機能を含まない領域を示すレポートが生成されます。

- ドキュメント・タイトル

- イメージの代替テキスト

- データ表の表サマリー

- データ表の列ヘッダー

- データ表の行ヘッダー

アクセシビリティ・チェッカーは、アクセシビリティ機能が存在するかどうかを判断できずに、警告を生成する場合もあります。この場合レポート設計者は、アクセシビリティ機能が存在することを確認する必要があります。

これらの機能をテンプレートに追加する方法の詳細は、付録C「アクセス可能レポートの設計」を参照してください。

5.7 BI Publisherサーバーへのテンプレートのアップロード

「テンプレートを開く」ダイアログを使用してBI Publisherに接続し、データをTemplate Builderにロードした場合、またはBI Publisherカタログから既存のテンプレートをダウンロードした場合は、新規または更新済のレイアウトをサーバー上のレポート定義にアップロードできます。第5.2.2.1項「接続モードでの作業」を参照してください。

既存のテンプレートをダウンロードした場合に、その変更内容をテンプレートにアップロードするには、Oracle BI Publisherメニューから「テンプレートのアップロード」を選択します。

これがレポート定義の新規テンプレートの場合は、「名前を付けてテンプレートをアップロード」オプションを使用して、レイアウトをサーバー上のレポート定義にアップロードします。また、このオプションを使用して、既存のテンプレートへの変更を別の名前でアップロードすることもできます。

5.8 Template Builderの翻訳ツールの使用

Template Builderには、テンプレートの翻訳の作成およびテストを可能にするツールが用意されています。

5.8.1 翻訳について

BI Publisherのレポート定義に翻訳済テンプレートを追加するには、2つの方法があります。

- 翻訳されている別々のRTFテンプレート(ローカライズ済テンプレート)を作成する方法

- オリジナル・テンプレートからXLIFFファイルを生成する方法(実行時に、レイアウトについてはオリジナル・テンプレートが適用され、翻訳についてはXLIFFファイルが適用されます)

翻訳済テンプレートにオリジナル・テンプレートと異なるレイアウトが必要な場合は、最初のオプションを使用します。

テンプレート・レイアウトのテキスト文字列の翻訳のみが必要な場合は、XLIFFオプションを使用します。

詳細は、第15章「翻訳サポートの概要と概念」を参照してください。

Template Builderの翻訳ツールを使用して翻訳用のテンプレートを作成するには、この項の次のトピックを参照してください。

- 翻訳のためのXLIFFファイルへのテキストの抽出

- 翻訳のプレビュー

- テンプレートのローカライズ

BI Publisherのローカライゼーション機能を示すデモについては、Template Builderのインストールに付属するLocalizationDemo.exeのデモを参照してください(BI Publisher DesktopをインストールしたBI Publisher¥BI Publisher Desktop¥demosフォルダにあります)。

5.8.2 翻訳のためのXLIFFファイルへのテキストの抽出

このメニュー項目を使用すると、テンプレートからボイラープレート・テキストを含む標準的なXLIFF翻訳ファイルを作成できます。XLIFFは、多数の翻訳ソフトウェア・パッケージで認識される標準的なファイル・フォーマットです。XLIFFはXMLファイルのため、テキストを通常のテキスト・エディタで翻訳できます。

翻訳可能文字列は、表ヘッダーやフィールド・ラベルなど、発行レポートに表示される、テンプレート内の任意のテキストです。実行時にデータから設定されるテキスト、およびMicrosoft Wordフォームの各フィールドに指定したテキストは翻訳不可です。

翻訳用にXLIFFファイルにテキストを抽出する手順は次のとおりです。

1. BI Publisherメニューから、「ツール」、「テンプレートの変換」、「テキストの抽出」の順に選択します。

2. 抽出ファイルをXMLファイル形式で保存するように求められます。抽出ファイル名を入力して、目的の場所に保存します。

3. テンプレートを手動で翻訳する場合は、テキスト・エディタで.xlfファイルを開き、翻訳した文字列をファイルに入力します。BI Publisherで生成された.xlfファイルの処理の詳細は、第15.2項「翻訳ファイルの操作」を参照してください。

4. 完了後に翻訳をプレビューできます。プレビュー後に、ファイルをBI Publisherのレポート定義に アップロード します。

5.8.3 テンプレートと翻訳ファイルのプレビュー

翻訳済XLIFFファイルを適用したテンプレートをプレビューする手順は次のとおりです。

1. BI Publisherの「ツール」グループで、「翻訳」、「翻訳のプレビュー」の順に選択します。

2. 保存されているXLIFFファイルを選択するように求められます。ファイルを見つけて「開く」をクリックします。

Template Builderによりサンプル・データ、翻訳ファイルおよびRTFテンプレートがマージされ、プレビュー用のPDFが生成されます。

5.8.4 テンプレートのローカライズ

テンプレートのローカライズとは、特定の言語に使用するテンプレートを作成することを意味します。

BI Publisherを使用すると、ボイラープレート・テキスト文字列をテンプレートからXLIFFファイルに抽出し、翻訳して実行時に適用できるため、追加言語のレポートのみでこれらのテキスト文字列の翻訳が必要な場合は、翻訳済XLIFFファイルを提供して基本テンプレートに添付するのみで済みます。

ただし、特定の言語におけるレポートの要件が、レイアウトに含まれるテキストの単純翻訳を超えている場合は、テンプレートをローカライズします。

テンプレートをローカライズ済テンプレートとして保存する手順は、次のとおりです。

1. Oracle BI Publisherメニューの「ツール」グループで、「翻訳」、「テンプレートのローカライズ」の順に選択します。これにより、テンプレートをローカライズするとテンプレートが上書きされることを告げる警告メッセージが表示されます。「OK」をクリックします。

2. XLIFF翻訳ファイルを選択するように求められます。該当するファイルを特定して「開く」をクリックします。
現在Microsoft Wordで開いているテンプレートに、翻訳済のXLIFFファイルが適用されます。

3. ローカライズしたテンプレートを保存します。

4. BI Publisherカタログの適切なレポート定義にテンプレート・ファイルをアップロードします。アップロード・ダイアログで適切なロケールを選択します。

5.9 Template Builderのオプションの設定

「オプション」ダイアログには、次のようにアクセスします。「オプション」グループで「オプション」をクリックします。

以降の各項で説明するように、「オプション」ダイアログには、「UI」、「プレビュー」、「構築」、「接続」の4つのタブがあります。

5.9.1 「UI」オプションの設定

「オプション」ダイアログ: 「UI」タブを使用して、Template Builderのルック・アンド・フィールに影響するオプションを設定します。

図5-29は、「オプション」ダイアログ: 「UI」タブを示しています。

図5-29 「オプション」ダイアログ: 「UI」タブ

データソースを示すツリー表示には、データソースの正しいXMLタグ名を表示するか、読みやすいように少し変更されたバージョンを表示できます。変更済のラベルを表示するには、「レポートXMLの要素名」オプションを選択します。これらのラベルには<>文字が含まれておらず、アンダースコア(_)のかわりに「Title case」と空白「 」が使用されます。

5.9.2 「プレビュー」オプションの設定

「オプション」ダイアログ: 「プレビュー」タブでは、Template Builderのプレビュー機能に影響するオプションを指定できます。

図5-30は、「オプション」ダイアログ: 「プレビュー」タブを示しています。

図5-30 「オプション」ダイアログ: 「プレビュー」タブ

表5-3では、「プレビュー」タブで利用できるオプションについて説明します。

表5-3 「プレビュー」オプション

オプション

説明

スタイル・テンプレート

ローカルで利用可能なBI Publisherスタイル・テンプレートがある場合は、ここで指定できます。スタイル・テンプレートは、スタイル・シートのように、RTFレイアウトに適用できるスタイル情報を含むRTFテンプレートです。スタイル・テンプレートのスタイル情報は、実行時にRTFレイアウトに適用されて、エンタープライズ・レポート全体で一貫性のあるルック・アンド・フィールを実現します。詳細は、第11章「スタイル・テンプレートの作成および実装」を参照してください。

ロケール

テンプレートのプレビューに使用する言語と地域を選択できます。言語と地域を変更してもファイルが自動的に翻訳されるわけではありませんが、正しいテキスト方向(左から右または右から左)を使用してプレビューできるように正しいロケールを設定し、ロケール固有の日付書式、数値書式および通貨書式を正しく設定することが重要です。

Javaホーム

プレビュー(およびエクスポート機能)には、Javaコードが必要です。JAVA HOMEディレクトリへのパスを変更できます。このオプションを指定しなければ、Template Builderでは、Windowsの環境変数に指定されているPATHでJava Virtual Machine (java.exe)にアクセスできるものとみなされます。

Javaオプション

Template Builderでのテンプレート処理用に予約するメモリーを指定します。デフォルト値は-Xmx256Mです。

5.9.3 「構築」オプションの設定

「オプション」ダイアログ: 「構築」タブを使用して、Template Builderによる表とフォームの生成方法に影響するオプションを指定します。

図5-31は、「オプション」ダイアログ: 「構築」タブを示しています。

図5-31 「オプション」ダイアログ: 「構築」タブ

表5-4では、「構築」タブで利用できるオプションについて説明します。

表5-4 「構築」タブのオプション

オプション

説明

For-eachフォーム・フィールド

「表/フォームの挿入」ダイアログで、処理指示用のフォーム・フィールドをTemplate Builderによってどのように作成するかを選択します。

「記述」オプション(例: for-each Invoice)を選択すると、処理指示に関するフォーム・フィールドが表示されます。このオプションを選択すると、レイアウト・テンプレートを理解しやすくなります。ただし、フィールドが長いと、テンプレートのビジュアル・レイアウトが把握しにくくなる可能性があります。記述オプションは、表のセル内のフィールドには適用されません。

「省略」オプション(例: F)を選択すると、指示ごとに1文字の省略形が表示されます。

「非表示」ボックスを選択すると、Microsoft Wordの非表示フォント効果を使用して、処理指示フォーム・フィールドが生成されます。非表示テキストは、「印刷プレビュー」に非表示にされます。非表示テキストの表示と非表示を切り替えるには、Microsoft Wordオプションの表示グループで非表示テキスト設定を変更します。

フォーム・フィールド・サイズ

「大」- BI Publisherコードをドキュメント変数に挿入します。ドキュメント変数フィールドは、約48KBのコード・ラインを提供できます。

この設定は、このオプションが設定されている間に作成または編集されたフィールドにのみ影響します。「大」設定を使って作成されたフォーム・フィールドは、Oracle BI Publisher 10gでは解釈できません。テンプレートをBI Publisherの10gバージョンとともに使用する場合は、「下位互換」設定を使用します。

下位互換 - 以前のバージョンのTemplate Builderでは、BI Publisherコードが、Microsoft Wordの「ヘルプの追加」ボックスに挿入されていました。これによって、1つのフォーム・フィールドに対して挿入できるコードの長さが制限されていました。デフォルトでは、「大」では、はるかに大きなコード文字列を提供することができるため、「大」が使用されます。ただし、「大」オプションは、Oracle BI Publisher 10gと互換性がありません。

表ヘッダーの色

「表ウィザード」または「表/フォームの挿入」ダイアログを使用して表を挿入する場合、Template Builderによって、ここで指定した「表ヘッダーの色」が表ヘッダーの背景に適用されます。テンプレートのデフォルトの色をカスタマイズします。

XSLT 2.0準拠コードの生成

BI Publisherは、Oracle XDK 11.1.0.7.0によって提供されるXSLTプロセッサを使用します。このプロセッサは、W3C XSL Transformations 1.0勧告をサポートしています。また、このプロセッサはXSLTおよびXPath 2.0標準の現在の作業草案も実装しています。Oracle XDKの詳細は、Oracle XML開発者用キット・プログラマーズ・ガイドを参照してください。

デフォルトでは、BI PublisherはXSLT 1.0と互換性があります。テンプレートでXSLTとXPath 2.0の機能を使用するには、このオプションを有効にします。この構成はテンプレート・レベルで実行されます。テンプレート・レベルの設定は、サーバーの設定より優先されます。

5.9.4 「接続」オプションの設定

このタブのオプションは、今後のリリース用に予約されています。

5.10 構成ファイルの設定

Template Builderは、BI Publisher構成ファイルとともに使用できます。

構成ファイルは、xdoconfig.xmlという名前で、BI Publisherディレクトリ下のconfigディレクトリに格納する必要があります(パスの例: C:\Program Files\Oracle\BI Publisher Desktop\Template Builder for Word\config)。

あるいは、xdo.cfgというファイル名も使用できます。これはBI Publisherサーバーによって使用されます。構成ファイルによって、次を行えます。

- テンプレートのテストに使用するフォント(Windingsなど)の追加定義

- PDFファイルへのセキュリティ設定の使用

構成ファイルの構文は、『Oracle Fusion Middleware Oracle Business Intelligence Publisher管理者ガイド』の付録「構成ファイル・リファレンス」を参照してください。

5.11 BI Publisherメニューのリファレンス

Template Builderをインストールすると、次回Microsoft Wordを起動したときに、Oracle BI Publisherメニューが表示されます。

注意:

Microsoft Word 2007を使用している場合は、アドイン設定を変更する必要がある場合があります。Officeボタンをクリックし、「Word」オプションをクリックしてアドインをクリックします。

5.11.1 オンライン・グループについて

コマンドのオンライン・グループにより、BI Publisherアプリケーションとの通信を開始できます。オンライン・コマンドを使用した作業の詳細は、第5.2.2.1項「接続モードでの作業」を参照してください。

図5-32は、コマンドのオンライン・グループを示しています。

図5-32 「オンライン」グループのコマンド

表5-5では、「オンライン」グループで使用できるコマンドについて説明します。

表5-5 「オンライン」グループのコマンド

コマンド

説明

ログオン

BI Publisherにログインできます。ユーザー名とパスワードを入力します。BI Publisherレポート・サーバーのURLを選択または入力します(URLがわからない場合は管理者に問い合せてください)。ログオンすると、「テンプレートを開く」ダイアログが表示されます。

注意: BI Publisherサーバーに直接ログインする必要があります。例: http://www.example.com:7001/xmlpserver。

開く

ログオンしたら、このコマンドを利用できるようになり、BI Publisherカタログでレポートを開けるようになります。

テンプレートのアップロード

「テンプレートを開く」ダイアログを使用してBI Publisherカタログからテンプレートをダウンロードした場合は、このオプションを使用して更新後のレイアウトをカタログのレポート定義にアップロードします。

名前を付けてテンプレートをアップロード

「テンプレートを開く」ダイアログを使用して、カタログからテンプレートをダウンロードしたり、レポートを開いた場合、このオプションを使用すると、カタログのレポート定義にレイアウトをアップロードできます。また、このオプションを使用して、既存のテンプレートへの変更を別の名前でアップロードすることもできます。

XMLデータの保存

接続モードで作業しているときに、切断モードのデータへのアクセスも必要な場合は、このコマンドを使用してデータをローカル・ディレクトリに保存します。

5.11.2 「データのロード」グループについて

「データのロード」グループのコマンドによって、保存されているサンプル・データ・ファイルまたはサンプル・スキーマをTemplate Builderにロードできます。ほとんどのTemplate Builderの機能を使用するには、データをロードする必要があります。Template Builderにデータをロードする際の他のオプションの詳細は、第5.3項「テンプレート作成に使用するデータへのアクセス」を参照してください。

図5-33は、「データのロード」グループのコマンドを示しています。

図5-33 「データのロード」グループのコマンド

表5-6では、「データのロード」グループで使用できるコマンドについて説明します。

表5-6 「データのロード」グループのコマンド

コマンド

説明

サンプルXML

このコマンドを使用すると、以前保存したサンプルXMLファイルをレポート・データソースからロードできます。BI Publisherサーバーに接続されていない場合は、この方式を使用してデータをロードします。

XMLスキーマ

このコマンドを使用すると、レポートのXMLデータに使用可能なフィールドを含んだXMLスキーマ・ファイル(.xsd)をロードできます。XMLスキーマには、完全であるというメリットがあります(サンプルxmlファイルには、データ・ソースからのフィールドがすべて含まれていない場合があります)。Template Builderでは、プレビュー用にXMLスキーマのダミー・サンプル・データを生成できます。ただし、実際のサンプル・データもアップロードする方が、プレビューはより適切に機能します。

5.11.3 「挿入」グループについて

「挿入」グループのコマンドを使用して、レイアウト・コンポーネントをテンプレートに挿入します。詳細は、第5.4項「テンプレートへのコンポーネントの挿入」を参照してください。

図5-34は、「挿入」グループのコマンドを示しています。

図5-34 「挿入」グループのコマンド

表5-7では、「挿入」グループで使用できるコマンドについて説明します。

表5-7 「挿入」グループのコマンド

コマンド

説明

表ウィザード

この機能を使用すると、ウィザードに表示される指示に従って代表的なレポートで使用される表を作成できます。

ピボット・テーブル

「ピボット・テーブル」機能を使用すると、データ要素をピボット・テーブルにドラッグ・アンド・ドロップできます。

チャート

BI Publisherは、従来のMicrosoft Wordチャートを認識しません。チャートの挿入機能により、Oracle BI Publisherで解釈されるチャートを挿入できます。

フィールド

この機能を使用すると、データソースからフィールドを選択してテンプレートに挿入できます。

注意: - 初心者は、文書内で一意の(繰返しのない)データ・フィールドにのみ「フィールドの挿入」を使用してください。繰返しフィールドの挿入方法の詳細は、「第5.4.2項「表ウィザード」を使用した表の挿入」を参照してください。

表/フォーム

この機能を使用すると、シンプルな表またはネストした表として、あるいは別データで繰り返されるフォームとしてデータ・フィールドを編成できます。挿入前にドキュメント全体のすべてのデータ・フィールドを編成することもできます。

繰返しグループ

データ内の要素の出現箇所ごとに繰り返す要素のグループを選択または定義できます。

条件付き書式

表の行またはセルに適用するシンプルな条件付き書式を定義できます。

条件付きリージョン

テンプレートのリージョンの周りに条件文を挿入できます。

すべてのフィールド

この機能を使用すると、XMLデータ内で検出されたすべてのフィールドが文書に挿入されます。関連するXML要素が繰り返されている場合は、セクション(表の行など)を繰り返す処理指示も文書に挿入されます。

注意: 通常、XML文書には、多数のフィールドが深くネストした階層形式で含まれています。たとえば、Oracle Purchasingの発注には、出荷を含む発注明細や配分を含む発注明細が含まれています。発注明細単独で含まれるデータ・フィールドでも、150を超えます。このような場合は、「表/フォームの挿入」機能を使用して、どのフィールドが挿入されるかをより厳密に制御する必要があります。

5.11.4 「プレビュー」グループについて

「プレビュー」グループのコマンドを使用すると、サンプルXMLデータを使用してRTFテンプレートをプレビューできます。プレビュー・メニューには、出力フォーマットとして「PDF」、「HTML」、「RTF」、「PowerPoint」、「Excel」(MHTML形式)、および「Excel2000」が用意されています。これらの出力フォーマットのいずれかを選択すると、Template Builderではデータがテンプレートにマージされ、出力文書が作成されます。

図5-35は、「プレビュー」グループのコマンドを示しています。

図5-35 「プレビュー」グループのコマンド

注意:

PDF形式でドキュメントを表示するには、Adobe Acrobat Readerバージョン5.0以降がインストールされている必要があります。

5.11.5 「ツール」グループについて

「ツール」グループのコマンドの使用の詳細は、第5.6項「テンプレート編集ツール」および第5.8項「Template Builderの翻訳ツールの使用」を参照してください。

図5-36は、「ツール」グループのコマンドを示しています。

図5-36 「ツール」グループのコマンド

表5-8では、「ツール」グループで使用できるコマンドについて説明します。

表5-8 「ツール」グループのコマンド

コマンド

説明

フィールド・ブラウザ

フィールド・ブラウザは、フォーム・フィールドでは非表示のBI Publisherコマンドを変更する必要のある高度なユーザー向けのツールです。このブラウザには、各フォーム・フィールドについて非表示になっているコマンドが表示され、そのコマンドを変更できます。このツールを使用して、問題のあるRTFテンプレートを訂正したり、複数のフィールドを効率的に更新します。

テンプレートの検証

検証機能を使用すると、BI Publisherコマンドの誤用やWordファイル内でサポートされていない要素について、テンプレートをチェックできます。

翻訳

次のサブコマンドが含まれています。

- テキストの抽出: テンプレートからボイラープレート・テキストを含んだ標準的なXLIFF翻訳ファイルを作成できます。XLIFFは、多数の翻訳ソフトウェア・パッケージで認識される標準的なファイル・フォーマットです。XLIFFはXMLファイルのため、テキストをテキスト・エディタで翻訳できます。XLIFFファイルを使った作業の詳細は、第15.2項「翻訳ファイルの操作」を参照してください。

- 翻訳のプレビュー: 指定したXLIFF翻訳ファイルを使用し、テンプレートをPDFファイルとしてプレビューできます。この機能により、翻訳ファイルをテストできます。

- テンプレートのローカライズ: RTFテンプレートに翻訳ファイルを適用します。これは、現在のRTFテンプレートに含まれるボイラープレート・テキストがすべて翻訳されることを意味します。この機能の主な機能は、テンプレートの言語固有のバージョンを作成することです。

エクスポート

次の機能が含まれています。

- XSL-FOスタイル・シート: RTFテンプレートを拡張XSL-FOスタイルシートに変換できます。この機能によりXSL-FOを生成してデバッグしたり、さらにカスタマイズできます。

- 「フォーマット済XML」: Word文書から生成したXSL-FOスタイルシートをサンプル・データに適用し、中間的なFOフォーマットを保存できます。この機能は主にデバッグに使用します。

- PDF: Word文書をPDFに変換します。

5.11.6 「オプション」グループについて

「オプション」グループのコマンドを使用すると、BI Publisherを使用するためのプリファレンスとオプションを定義して、オンライン・ヘルプにアクセスできます。

図5-37は、「オプション」グループのコマンドを示しています。

図5-37 「オプション」グループのコマンド

第5.9項「Template Builderのオプションの設定」を参照してください。

6 Excelテンプレートの作成

この章では、Template Builder for Excelを使用して、Microsoft ExcelでBI Publisher用のレポート・テンプレートを作成する方法について説明します。

この章の内容は次のとおりです。

- 第6.1項「Excelテンプレートの概要」

- 第6.2項「テンプレートおよびデータ間のマッピングの理解」

- 第6.3項「Template Builder for Excelの使用」

- 第6.4項「Template Builderを使用した基本テンプレートの構築」

- 第6.5項「日付の書式設定」

- 第6.6項「Excelテンプレートの概念の理解」

- 第6.7項「高度なBI Publisher関数の使用」

- 第6.8項「XSL変換(XSLT)ファイルを使用したデータの前処理」

- 第6.9項「Template Viewerを使用したテンプレートのデバッグ」

6.1 Excelテンプレートの概要

Excelテンプレートとは、Excelスプレッドシートでエンタープライズ・レポート・データを書式設定するために、Microsoft Excel内で設計されるレポート・レイアウトです。Excelテンプレートは、データをワークシートにマップし、データがExcelブックにどのように出力されるかを制御する追加の処理を実行するための特殊機能セットを提供します。

この概要の項目は次のとおりです。

- 第6.1.1項「Excelテンプレートの機能」

- 第6.1.2項「Excelテンプレートの制限事項」

- 第6.1.3項「前提条件」

- 第6.1.4項「サポートされる出力」

- 第6.1.5項「Excelテンプレートのデスクトップ・ツール」

- 第6.1.6項「Excelテンプレートのサンプル」

6.1.1 Excelテンプレートの機能

Excelテンプレートでは次のことを行えます。

- Excel出力におけるデータの書式を定義します。

- 複数のシートで階層データを分離し、シートに動的に名前を付けます。

- マスター/ディテール関係を持つデータのシートを作成します。

- データにネイティブのXSL機能を使用して表示前に操作します。

- Excelのネイティブ機能を使用します。

6.1.2 Excelテンプレートの制限事項

Excelテンプレートには、次のような制限事項があります。

- データを複数のシートに分割するレポートでは、イメージはサポートされません。テンプレート・シートにイメージが含まれる場合、データが複数のシートに分割されると、イメージは最初のシートにのみ表示されます。

- BI Publisherでは、Microsoft Excelのアドインを提供し、フィールドおよび繰返しグループの挿入を支援します。より複雑な設計をするには、手動によるコーディングが必要です。一部の機能では、XSLおよびXSL変換(XSLT)仕様の使用が必要です。

6.1.3 前提条件

Excelテンプレートの設計には、次のような前提条件があります。

- Microsoft Excel 2003以降をインストールしておく必要があります。テンプレート・ファイルは、Excel 97-2003ブック・バイナリ形式(*.xls)で保存する必要があります。

重要:

Excel 2003以降のバージョンを使用してテンプレートを作成し、Excel 97-2003として保存する場合は、Excel 97-2003でサポートされていない新しいバージョンの機能は使用しないようにしてください。たとえば、Excel 2003ではセルごとに3つの条件付き書式ルールしか許可されませんが、Excel 2007ではより多く許可されます。適用した条件付き書式ルールが4つ以上の場合は、3つのみが適用されます。また、Excel 2003では提供されていないカラー・サポートがExcel 2007では提供されています。

- 一部の拡張機能を使用するには、XSLの知識が必要です。

- データ・モデルは、使用可能なサンプル・データを使用してBI Publisherに作成する必要があります。

6.1.4 サポートされている出力

ExcelテンプレートはExcelバイナリ(.xls)出力のみを生成します。

6.1.5 Excelテンプレートのデスクトップ・ツール

BI Publisherにはダウンロード可能なExcel用のアドインが用意され、それによって次の機能を提供します。

- BI Publisherサーバーに直接接続し、サンプル・データのロードとテンプレートのアップロードおよびダウンロードを行います。

- テンプレートにデータ・フィールド・マッピングを挿入します。

- テンプレートに繰返しグループ・マッピングを挿入します。

- すべての挿入済コードを確認し、マッピングを編集または削除するためのフィールド・ブラウザを提供します。

- 接続モード時にサンプル・データまたはライブ・データを使用してテンプレートをプレビューします。

6.1.5.1 Template Builder for Excelのインストール

BI Publisher Desktopツールをインストールすると、Template Builder for Excelが自動的にインストールされます。このツールは、次のように、Oracle Business Intelligence PublisherまたはOracle Business Intelligence Enterprise Editionの「ホーム」ページからダウンロードできます。

「はじめに」リージョンで、「BI Publisherツールのダウンロード」をクリックし、Microsoft Officeのバージョンに適したBI Publisher Desktopオプション(32ビットOfficeまたは64ビットOffice)を選択します。

注意:

Excel Template Builderは、Analyzer for Excel (非推奨)との互換性はありません。Analyzer for Excelを以前のバージョンでインストールしている場合は、BI Publisherツールのインストーラによりその存在が検出され、インストールが停止されます。BI Publisher Desktopをインストールする前にAnalyzer for Excelを削除する必要があります。Excel Template Builderには、Analyzer for ExcelテンプレートをExcelテンプレート書式にインポートする機能が含まれています。第6.3.7項「Excelアナライザ・テンプレートのインポート」を参照してください。

6.1.6 Excelテンプレートのサンプル

Template Builderインストールには、Excelテンプレートのサンプルが含まれています。

Windowsデスクトップからサンプルにアクセスするには:

- 「スタート」メニューから、「プログラム」、「Oracle BI Publisher Desktop」、「サンプル」、「Excel」の順に選択します。
このアクションにより、Excelのサンプル・テンプレートが含まれるフォルダが開きます。

6.2 テンプレートおよびデータ間のマッピングの理解

Excelテンプレートの設計時には、Excel Template Builderを使用して、フィールドおよび繰返しグループをテンプレートに挿入します。Template Builderでフィールドまたは繰返しグループを挿入する場合は、データとスプレッドシート間にマッピングが作成され、そのマッピングがXDO_METADATAシートという名前の非表示のシートに書き込まれます。フィールドまたは繰返しグループの初回挿入時には、Template Builderにより、非表示のXDO_METADATAシートが作成されます。

XDO_METADATAシートを表示または更新するには、シートの非表示を解除します。計算またはより高度な機能を追加するには、Template Builderにより作成された名前付きマッピングを使用して、XDO_METADATAシートにXSL機能を直接入力します。テンプレート・データ・マッピングの詳細は、第6.6項「Excelテンプレートの概念の理解」を参照してください。

6.3 Template Builder for Excelの使用

Excel Template Builderは、単純なマッピングの挿入の自動化、プレビュー機能の提供のほか、ExcelセッションからBI Publisherサーバーへの直接接続の有効化を行うことで、テンプレートの設計を支援します。図6-1には、Template Builderのインストール時に表示される「BI Publisher」タブが示されています。

図6-1 Excelの「BI Publisher」タブ

Template Builderは、接続モードまたは切断モードで使用できます。接続モードでは、ExcelからBI Publisherサーバーにログインします。この接続により、BI Publisherカタログの閲覧と、既存のレポートまたはデータ・モデルからのサンプル・データのロードができます。テンプレートが完了している場合は、それをBI Publisherカタログ内のレポート定義に直接アップロードできます。切断モードでは、データ・モデルからローカル・クライアントにサンプル・データファイルをダウンロードする必要があります。

この項には、Template Builder for Excelの使用に関する次のトピックが含まれています。

- 接続モードでの作業

- 切断モードでの作業

- フィールドの挿入

- 繰返しグループの挿入

- 表示、編集および削除の各フィールドへのフィールド・ブラウザの使用

- テンプレートのプレビュー

- Excelアナライザ・テンプレートのインポート

6.3.1 接続モードでの作業

接続モードでは、BI Publisherサーバーと直接やりとりができます。接続モードでテンプレートを作成または編集するためのプロセス・フローは次のとおりです。

1. BI Publisher Template Builder for Excelアドインがインストールされた状態でExcelを開きます。

2. BI Publisherサーバーにログインします。

3. 新規レイアウトを作成するレポートまたはデータ・モデルを選択するか、変更する既存のレイアウトを選択します。

4. Excelのテンプレートを設計します。

5. 「レポートの表示」コマンドまたは「プレビュー」コマンドを使用してテンプレートをプレビューします。

6. テンプレートのアップロード・コマンドのいずれかを使用して、完成したテンプレートをBI Publisherカタログにアップロードします。

次の項では、接続モードでの作業時におけるTemplate Builder機能の詳細について説明します。

- 第6.3.1.1項「Template Builderを使用したログイン」

- 第6.3.1.2項「Template Builderのオンライン機能」

- 第6.3.1.3項「Template Builderからのテンプレートのアップロード」

6.3.1.1 Template Builderを使用したログイン

Excel Template Builderでは、自身のデスクトップのExcelセッションからBI Publisherサーバーへの直接接続が有効化されます。BI Publisherに直接ログインすることで、カタログを閲覧して、Excelテンプレートを追加するレポートを選択するか、または作成済のレポートがない場合は、データ・モデルを選択して、Excelセッションでカタログにレポートを作成できます。

BI Publisherサーバーにログオンするには:

1. Excelの「オンライン」グループの「BI Publisher」タブで、「ログオン」をクリックします。

2. 「ログイン」ダイアログで、自身のBI Publisherのユーザー名およびパスワードとBI PublisherサーバーのURLを入力します。BI PublisherサーバーのURLは、http:// www.<host>:<port>/xmlpserverという形をとります。図6-2に「ログイン」ダイアログを示します。

注意:

ログインは、BI Publisherサーバーに直接接続する場合にのみサポートされます。例: http://www.example.com:7001/xmlpserver。Template Builderでは、Oracle BI Enterprise Edition分析サーバーを使用したログインはサポートしません。

図6-2 Excel Template BuilderのBI Publisherサーバーへの「ログイン」ダイアログ

6.3.1.2 Template Builderのオンライン機能

ログイン後に、「オンライン」グループ内の次のコマンドが有効化されます(図6-3を参照)。

図6-3 「オンライン」コマンド

- ログオフ: BI Publisherサーバーへの接続を終了します。

- 開く: BI Publisherカタログとのやりとりを可能にします。第6.3.1.2.1項「Template BuilderからのBI Publisherカタログへのアクセス」を参照してください。

- レポートの表示: サーバー上でデータ・モデルを実行し、テンプレート内のビューにライブ結果を戻します。データ・モデルにパラメータが含まれる場合は、値の入力が求められます。

- テンプレートのアップロード/名前を付けてテンプレートをアップロード: テンプレートをBI Publisherカタログにアップロードします。第6.3.1.3項「Template Builderからのテンプレートのアップロード」を参照してください。

6.3.1.2.1 Template BuilderからのBI Publisherカタログへのアクセス

「開く」コマンドにより、図6-4に示すように「テンプレートを開く」ダイアログを起動して、BI Publisherカタログへのアクセスを有効にします。

図6-4 「テンプレートを開く」ダイアログ

カタログ・フォルダを移動して、レポート、データ・モデルまたは既存のレイアウト・テンプレートを検索します。このダイアログでは、次のいずれかのアクションを開始できます。

- 既存のExcelテンプレートを変更します。
「レポート」リージョンでレポートを選択すると、既存のExcelテンプレートまたはExcelアナライザ・テンプレート (非推奨)が下部の「レイアウト・テンプレート」リージョンに表示されます。既存のテンプレートを変更するには、テンプレート名を選択して「レイアウト・テンプレートを開く」をクリックします。Template Builderにより、レポートのデータ・モデルからサンプル・データがロードされ、既存のテンプレートがExcelで開きます。

- 既存のレポートの新しいテンプレートを作成します。
「レポート」リージョンでレポート名を選択して、「レポートを開く」をクリックします。Template Builderにより、そのレポートのデータ・モデルのサンプル・データがロードされます。

- データ・モデルを選択して新規レポートを作成します。
カタログからデータ・モデルを選択すると、「レポートの作成」ボタンが有効化されます。「レポートの作成」をクリックすると、レポート名を入力し、カタログ内での新規レポートの保存場所を選択するように求められます。

6.3.1.3 Template Builderからのテンプレートのアップロード

設計プロセス中に接続が維持されている場合は、次のいずれかをクリックし、完成したテンプレートをBI Publisherサーバーにアップロードします。

- 「テンプレートのアップロード」では、編集したテンプレートをアップロードし、カタログ内の既存のテンプレートを置き換えます。「テンプレートのアップロード」は、「レイアウト・テンプレートを開く」ボタンを使用して、「テンプレートを開く」ダイアログから既存のテンプレートを開いている場合にのみ有効化されます。

- 「名前を付けてテンプレートをアップロード」では、テンプレートに「テンプレート名」および「ロケール」を割り当てるように求められ、そのファイルはBI Publisherカタログ内のレポートにアップロードされます。

6.3.2 切断モードでの作業

BI Publisherサーバーへの直接接続が使用できないか、適切ではない場合は、Template Builderを使用して、切断モードでテンプレートの設計およびプレビューができます。切断モードでは、「オンライン」グループのコマンドは有効化されません。切断モードで作業する場合のプロセス・フローは次のようになります。

1. BI Publisherサーバーにログインし、テンプレートを設計するデータ・モデルからサンプル・データをダウンロードします。

2. BI Publisher Template Builder for Excelアドインがインストールされた状態でExcelを開きます。

3. サンプル・データをTemplate Builderにロードします。

4. Excelのテンプレートを設計します。

5. 「プレビュー」コマンドを使用してテンプレートをプレビューします。

6. BI Publisherサーバーにログインし、レポート・エディタを使用してテンプレートをアップロードします。

次の項では、切断モードでの作業時におけるTemplate Builder機能の詳細について説明します。

- 第6.3.2.1項「サンプル・データの取得」

- 第6.3.2.2項「切断モードでのサンプル・データのロード」

- 第6.3.2.3項「レポートへのテンプレートのアップロード」

6.3.2.1 サンプル・データの取得

Template Builderでデータ・フィールド・マッピングをテンプレートに挿入するにはサンプル・データが必要です。レポート・データ・モデルからサンプル・データを保存する詳細は、『Oracle Fusion Middleware Oracle Business Intelligence Publisherデータ・モデリング・ガイド』のデータ・モデルのテストとサンプル・データの生成に関する項を参照してください。

レポート・データ・モデルにはアクセスできないが、レポートにはアクセスできる場合は、かわりに、レポート・ビューアからサンプル・データを保存できます。

レポート・ビューアからデータを保存するには:

1. BI Publisherカタログで、レポートに移動します。

2. 「開く」をクリックしてレポート・ビューアでレポートを実行します。

3. 「アクション」メニューをクリックし、「エクスポート」、「データ」の順に選択します。XMLファイルを保存するように求められます。

4. ローカル・ディレクトリにファイルを保存します。

6.3.2.2 切断モードでのサンプル・データのロード

レポート・データ・モデルからローカル・ディレクトリにサンプル・データを保存したら、それをTemplate Builderにロードします。

1. BI Publisher Template Builder for Excelアドインがインストールされた状態でExcelを開きます。

2. 「BI Publisher」タブの「データのロード」グループで、「サンプルXML」をクリックします。データをその保存場所から検索し、選択するように求められます。確認メッセージによってデータがロードされていることを確認します。

6.3.2.3 レポートへのテンプレートのアップロード

切断モードで作業する場合は、第2.6.2項「テンプレート・ファイルのアップロードによるレイアウトの追加」の説明に従って、テンプレートをレポート・エディタにアップロードします。

6.3.3 フィールドの挿入

「挿入」グループの「フィールド」コマンドは、ロードされたサンプル・データからスプレッドシートの目的の場所にデータ要素をマップします。

フィールドを挿入するには:

1. Excelで、データ要素をマップするセルを選択します。

2. 「BI Publisher」タブの「挿入」グループで、「フィールド」をクリックします。「フィールド」ダイアログが起動し、サンプル・データからデータ要素が表示されます。

3. 「フィールド」ダイアログで、要素を選択してセルに挿入します。データ構造で項目を選択すると、図6-5に示すように、「例」リージョンにサンプル・データが表示されることに注意してください。

図6-5 「フィールド」ダイアログ

4. 「挿入」をクリックして、データ要素をスプレッドシートのセルに挿入します。サンプル・データがセルに挿入されます。

フィールドを挿入すると、Template Builderにより、一意のExcel定義名がセルに割り当てられ、さらにデータ要素をその定義名にマップすることで、データとセルの間にマッピングが作成されます。マッピングは、図6-6に示すように、XDO_METADATAシートに書き込まれます。

図6-6 XDO_METADATAシートに挿入されるフィールド・マッピング

XDO_METADATAシートは、デフォルトでは非表示であることに注意してください。

6.3.3.1 「フィールド」ダイアログのその他の機能

「フィールド」ダイアログは次の機能を提供します。

検索

大きくて複雑な構造を持つXML文書の場合は、検索機能を使用して特定のフィールドを検索します。完全なフィールド名またはフィールド名の一部を「検索」フィールドに入力し、「次を検索」をクリックします。

ビジネス・ビューまたはXMLタグ名ビュー

接続モードで作業する場合は、データ構造の表示に、データ・モデルで定義されているビジネス・ビュー名を使用するか、またはXMLタグ名を使用するかを選択できます。ビジネス・ビュー名は、データ・モデル・エディタのデータ要素に定義されたわかりやすい名前です。このオプションは、ローカルに格納されたファイルからサンプル・データをロードしている場合や、データ・モデルにビジネス・ビュー名が含まれない場合は使用できません。

6.3.4 繰返しグループの挿入

繰返しグループを挿入するには:

1. 繰り返す要素を含むスプレッドシート内のセルを選択します。

2. 「BI Publisher」メニューの「挿入」グループで、「繰返しグループ」をクリックします。

3. 「BI Publisherのプロパティ」ダイアログで、図6-7に示すように、該当するフィールドに入力します。

図6-7 繰返しグループの挿入

各

出現箇所ごとにループを繰り返す要素を選択します。「各」データ・フィールドを選択すると、データ内の選択されたフィールドの出現箇所ごとに、ループに含まれている要素と処理命令が繰り返されるようにBI Publisherを設定することになります。

たとえば、データに顧客の請求書データが含まれており、各顧客の請求書の表を作成する必要があるとします。この場合、顧客番号ごとに表を繰り返す必要があります。このため、「各」フィールドで顧客番号を選択して顧客ごとに新しいループ(またはグループ)を作成します。

繰返しグループの作成について、次に注意してください。

- ループおよびグループ化が別のグループ(つまり、外部グループ)内にない場合は、使用する繰返しデータ要素を選択する必要があります。たとえば、データ・セットがフラットな場合、繰返し可能な要素は/DATA/ROWSET/ROWのみです。複数のデータ・ソースまたは階層形式のXMLの場合は、データ・セットを選択できます。

- ネストされたグループを作成(ループまたはグループをテンプレートの別のループ内に挿入)している場合は、「グループ化」チェック・ボックスが選択され、「各」フィールドが編集できません。それは、このフィールドが既存の外部ループですでに定義されているためです。「各」フィールドは「グループ・アイテム」として表示され、外部グループが定義済であることが示されます。

絶対パス

XML構造の要素に対して「絶対パス」を使用するには、このチェック・ボックスを選択します。これは、データ内で複数の親要素の下位に同名の要素がグループ化されている場合に重要です。

グループ基準

リストから、データのグループ化に使用するフィールドを選択します。単純なループを作成する場合は、グループ基準要素を選択しないでください。グループ基準要素を選択すると、そのグループ基準要素に基づいてデータが新規階層に再グループ化されます。

グループ化

ネストされたfor-eachループを作成する場合は、「グループ化」を選択して、要素が親ループ内に出現する場合にのみfor-eachループを繰り返すようにします。ネストされたループ内でグローバル・データ(親ループの外部)を繰り返すには、「グループ化」を選択解除します。

4. ダイアログ・オプションが完了した場合は、「OK」をクリックして、BI Publisherコードを挿入し、グループ化を定義します。BI Publisher構文のXDO_GROUP_?name?を使用してExcel定義名がセル範囲に割り当てられ、図6-8に示すように、コードがXDO_METADATAシートに書き込まれます。

図6-8 繰返しグループを表示するXDO_METADATAシート

6.3.5 表示、編集および削除の各フィールドへのフィールド・ブラウザの使用

「フィールド・ブラウザ」では、Template Builderにより挿入されたコードと、XDO_METADATAシートに手動で挿入したコードの表示および編集ができます。フィールド・ブラウザで1行のコードを選択すると、テンプレート内の対応するセルが強調表示されるため、編集、削除または表示しているフィールドを把握できます。

フィールド・ブラウザを使用してフィールドを編集または削除するには:

1. 「BI Publisher」メニューの「ツール」グループで、「フィールド・ブラウザ」をクリックします。

2. フィールド・ブラウザにより、テンプレートに存在するBI Publisherコマンドが表示されます。表示するフィールドまたはコマンドを選択します。選択したコマンドのコードが下部の「編集」リージョンに表示されます。コードに開始タグと終了タグ(繰返しグループの開始タグと終了タグなど)がある場合は、開始タグは上部のコード・ボックスに表示され、終了タグは下部のコード・ボックスに表示されることに注意してください。
コマンドを選択すると、コードに対応するテンプレートの領域が強調表示されます。図6-9では、フィールド・ブラウザで繰返しグループが選択され、対応するフィールドがテンプレート内で強調表示されています。

図6-9 フィールド・ブラウザ

3. コードを削除するには、「削除」をクリックします。コードを編集するには、「編集」に表示されるコードを更新し、「更新」をクリックします。

4. 終了するときは、「閉じる」をクリックして、「フィールド・ブラウザ」を閉じます。

6.3.6 テンプレートのプレビュー

Template Builderのプレビュー機能を使用して、テンプレートをBI Publisherサーバーにアップロードする前にテストします。

サンプル・データがロードされたテンプレートをプレビューするには:

- 「BI Publisher」タブの「プレビュー」グループで、「Excel」をクリックします。
サンプル・データがテンプレートに適用され、新しいブックで出力ドキュメントが開きます。

接続モードで作業する場合は、「レポートの表示」を使用して、レポート・データ・モデルのライブ・データによりテンプレートをテストするオプションがあります。

ライブ・データを使用してテンプレートを表示するには:

- 「BI Publisher」タブの「オンライン」グループで、「レポートの表示」をクリックします。
Template Builderにより、BI Publisherサーバーでデータ・モデルを実行するリクエストが送信され、テンプレートに適用するデータが戻されます。データ・モデルにパラメータが必要な場合は、値の入力が求められます。新しいExcelワークブックで出力ドキュメントが開きます。

6.3.7 Excelアナライザ・テンプレートのインポート

BI PublisherのExcel Analyzer機能は非推奨になりました。以前のリリースのBI PublisherのExcel Analyzerテンプレートを使用している場合、Excel Template Builderの「インポート」コマンドを使用して、Excel Analyzerテンプレートをインポートし、Excelテンプレートに変換できます。「インポート」コマンドは、オフライン・モードを使用して作成されたExcelアナライザ・テンプレートのみをサポートします。

Excelアナライザ・テンプレートをインポートするには:

1. Excelアナライザ・テンプレートを開きます。接続モードで作業する場合は、変換するテンプレートを含むレポートに移動します。「テンプレートを開く」ダイアログでレポートを選択すると、「レイアウト・テンプレート」リージョンにExcelアナライザ・テンプレートがexcelタイプとして表示されます。「レイアウト・テンプレートを開く」をクリックして、Excelアナライザ・テンプレートをExcelで開きます。

2. 「インポート」をクリックします。「この機能はテンプレートを上書きします」というメッセージが表示されます。

3. 「OK」をクリックします。

Template Builderにより、Excelアナライザ・テンプレートがExcelテンプレートに変換されます。

6.4 Template Builderを使用した基本テンプレートの構築

この項では、Excel Template Builderを使用して単純なExcelテンプレートを作成する手順を説明することで、Excelテンプレートの概念を示します。この手順では次のステップを実行します。

ステップ1: Template Builderへのサンプル・データのロード
ステップ2: Excelでのレイアウトの設計
ステップ3: Template Builderを使用したフィールドの挿入
ステップ4: Template Builderを使用した繰返しグループの挿入
ステップ5: 計算済の給与フィールドの挿入
ステップ6: テンプレートのテスト

6.4.1 ステップ1: Template Builderへのサンプル・データのロード

サンプル・データのロードのために選択するメソッドは、接続モードでの作業か、または切断モードでの作業かによって異なります。

- 接続モードでの作業時にデータをロードする場合は、第6.3.1.2.1項「Template BuilderからのBI Publisherカタログへのアクセス」を参照してください。

- 切断モードでの作業時にデータをロードする場合は、第6.3.2.2項「切断モードでのサンプル・データのロード」を参照してください。

この例に対するサンプル・データは、部門ごとの従業員のリストです。従業員は部門ごとにグループ分けされ、リストされています。

<?xml version="1.0" encoding="UTF-8"?>
<! - Generated by Oracle BI Publisher 11.1.1.4.0 - >
<DATA>
<DEPT>
<DEPARTMENT_ID>20</DEPARTMENT_ID>
<DEPARTMENT_NAME>Marketing</DEPARTMENT_NAME>
<EMPS>
<EMPLOYEE_ID>201</EMPLOYEE_ID>
<EMP_NAME>Michael Hartstein</EMP_NAME>
<EMAIL>MHARTSTE</EMAIL>
<PHONE_NUMBER>515.123.5555</PHONE_NUMBER>
<HIRE_DATE>1996-02-17T00:00:00.000+00:00</HIRE_DATE>
<SALARY>13000</SALARY>
</EMPS>
<EMPS>
<EMPLOYEE_ID>202</EMPLOYEE_ID>
<EMP_NAME>Pat Fay</EMP_NAME>
<EMAIL>PFAY</EMAIL>
<PHONE_NUMBER>603.123.6666</PHONE_NUMBER>
<HIRE_DATE>1997-08-17T00:00:00.000+00:00</HIRE_DATE>
<SALARY>6000</SALARY>
</EMPS>
</DEPT>
<DEPT>
...
...
</DEPT>
</DATA>

このチュートリアルで説明されたテンプレートを構築するには、BI Publisher Desktopとともにインストールされた「サンプル」フォルダで使用可能なサンプル・データを使用します。<Install Directory>\BI Publisher Desktop\Template Builder for Word\samples\Excel templates\Employee By Departments\EmpByDept Single Sheets\EmpbyDeptExcelData.xmlに非常に類似したデータ・セットがあります。

6.4.2 ステップ2: Excelでのレイアウトの設計

図6-10に示すように、Excelで、データをどのように表示するかを決定し、サンプル設計を作成します。

図6-10 サンプル設計

この設計では、部門名と、部門内の各従業員に対してそれぞれ1行を表示します。フォント・スタイル、網掛け、配置など、設計にExcelの書式設定を適用できます。このレイアウトには合計フィールドが含まれることに注目してください。このフィールドの値はデータには含まれず、計算が必要になります。

6.4.3 ステップ3: Template Builderを使用したフィールドの挿入

このレイアウト設計では、次のフィールドをデータからテンプレートにマップする必要があります。

レイアウトのフィールド

データの要素

部門

DEPARTMENT_NAME

従業員名

EMP_NAME

従業員ID

EMPLOYEE_ID

電子メール

EMAIL

電話

PHONE_NUMBER

給与

SALARY

Template Builderを使用してフィールド・マッピングを挿入するには:

1. データ・フィールドを表示するスプレッドシートでセルを選択します。たとえば、DEPARTMENT_NAME要素をマップするには、B5セルを選択します。

2. 「BI Publisher」タブの「挿入」グループで、「フィールド」をクリックします。(これが挿入する最初のフィールドであるため、メタデータ・シートが作成されることを示すメッセージが表示されます。)図6-11に示すように、データ構造を示す「フィールド」ダイアログが表示されます。

図6-11 「フィールド」ダイアログ

3. 「フィールド」ダイアログで要素を選択して、「挿入」をクリックします。サンプル・データがテンプレート内のセルに挿入されます。「フィールド」ダイアログの詳細は、第6.3.3項「フィールドの挿入」を参照してください。

4. テンプレート内の従業員名、従業員ID、「電子メール」、「電話」および給与の各フィールドで操作を繰り返します。

6.4.4 ステップ4: Template Builderを使用した繰返しグループの挿入

グループとは、特定の要素の出現ごとに繰り返されるデータのセットです。サンプル・テンプレートの設計では、次の2つのグループを使用します。

- <EMPS>要素の出現ごとに、従業員のデータ(名前、電子メール、電話番号、給料)がワークシートに表示されます。

- <DEPT>要素の出現ごとに、部門名およびその部門に属する従業員のリストが表示されます。

つまり、従業員は部門ごとにグループ化され、各従業員のデータは従業員要素ごとにグループ化されます。これを最終的なレポートで実行するには、グループ化要素ごとに繰り返すセルの前後に繰返しグループを挿入します。

データは、テンプレート内に作成するグループに基づいて構造化されている必要があることに注意してください。この例のデータ構造は次のとおりです。

<DATA>
<DEPT>
<EMPS>

これにより、レポートに適切なグループ化が設定されます。

従業員の繰返しグループを挿入するには:

1. グループを構成するセルを選択します。この例では、最初のグループは、表内で1行を構成する、A8からE8のセルの従業員データです。

2. 「BI Publisher」タブの「挿入」グループで、「繰返しグループ」をクリックします。

3. 「BI Publisherのプロパティ」ダイアログで次を選択します。

- 「各」リストからEMPSを選択します。

- 「グループ基準」リストからEMPLOYEE_IDを選択します。

図6-12は、従業員グループに対するBI Publisherプロパティの定義を示しています。ここでは、従業員データの行のみが強調表示されています。ヘッダーは強調表示しないでください。また、セル合計も強調表示されていないことに注意してください。

図6-12 従業員の繰返しグループの挿入

部門の繰返しグループを挿入するには:

1. 部門グループを定義するには、図6-13に示すように、部門名セルとその下のすべての従業員フィールド(A5-E9)を選択します。

図6-13 部門名セルとすべての従業員フィールド

2. 「BI Publisher」タブの「挿入」グループで、「繰返しグループ」をクリックします。部門レベルで繰り返されるように、部門グループに給与合計セルが含まれていることに注意してください。

3. 「BI Publisherのプロパティ」ダイアログで次を選択します。

- 「各」リストからDEPTを選択します。

- 「グループ基準」リストからDEPARTMENT_IDを選択します。

図6-14は、「BI Publisherのプロパティ」ダイアログの選択内容を示しています。

図6-14 部門の繰返しグループの「BI Publisherのプロパティ」

6.4.5 ステップ5: 計算済の給与フィールドの挿入

最後に、各部門の集計合計になる第2の給与フィールドを挿入します。

計算済フィールドを挿入するには:

1. 計算済の給与を表示するスプレッドシートでセルを選択します。この例では、E9セルです。

2. 「BI Publisher」タブの「挿入」グループで、「フィールド」をクリックして、「フィールド」ダイアログを表示します。

3. SALARY要素を選択し、「挿入」をクリックして、テンプレートにマッピングを挿入します。

4. XDO_METADATAシートを開きます。
最初のフィールドの挿入時に、Template Builderによって非表示のXDO_METADATAシートが作成されています。シート1を右クリックしてメニューから「非表示解除」を選択することで、ワークブックでのシートの非表示を解除します。

図6-15は、サンプル・テンプレートのXDO_METADATAシートを示しています。

図6-15 XDO_METADATAシート

給与合計フィールドがXDO_?XDOFIELD7?という名前のセルにマップされます。

5. 列Bに、XPATH関数として計算を入力します。グループ内のすべての従業員に対するSALARY要素の合計を計算するには、<?sum(.//SALARY)?>と入力します。このエントリは、図6-16に示されています。

図6-16 給与計算のエントリ

6.4.6 ステップ6: テンプレートのテスト

サンプル・データがロードされたテンプレートをプレビューするには:

- 「BI Publisher」タブの「プレビュー」グループで、「Excel」をクリックします。
サンプル・データがテンプレートに適用され、新しいブックで出力ドキュメントが開きます。

図6-17 サンプル・データでのテンプレートのプレビュー

6.5 日付の書式設定

Excelでは正規日付書式は認識されません。XMLデータの日付書式が正規書式である場合(つまりYYYY-MM-DDThh:mm:ss+HH:MM)、正しく表示するには関数を適用する必要があります。

日付を表示するオプションの1つは、ExcelのREPLACEとSUBSTITUTE関数を使用する方法です。このオプションでは、完全な日付とタイムスタンプが維持されます。データ内の日付部分(YYY-MM-DD)のみが必要な場合は、DATEVALUE関数を使用する方法があります。次の例では、両方のオプションの使用方法を示します。

例: Excelでの正規日付の書式設定

このプロシージャでは、部門別従業員テンプレートと最初の例のデータを使用して、HIRE_DATE要素をレイアウトに追加し、図6-18の列Eに示すように日付を表示します。

図6-18 Hire Dateを表示したEmployee by Departmentテンプレート

日付を書式設定する手順は次のとおりです。

1. レイアウト内の表にHIRE_DATEの列を追加します。

2. データを表示する表の行に、Template Builderを使用してHIRE_DATEフィールドを挿入します。

注意:

Template Builderを使用していない場合は、XMLデータのHIRE_DATEのサンプル値をHIRE_DATEフィールドを表示するセルにコピー・アンド・ペーストします。たとえば、次のように入力します。

次の値

1996-02-03T00:00:00.000-07:00を

コピーして、E8セルに貼り付けます。

セルに定義名XDO_?HIRE_DATE?を割り当てて、データ内のHIRE_DATE要素にマップします。

挿入済のフィールドを図6-19に示します。

図6-19 HIRE_DATEフィールドの挿入

これ以外の操作を行わなければ、HIRE_DATE値は図に示したように表示されます。日付を3-Feb-96と書式設定するには、そのフィールドに関数を適用し、結果を別のフィールドに表示する必要があります。

3. 新しいHire Date列を挿入します。図6-20に示すように、これが列Fになります。

図6-20 列Fにおける新しいHire Date列

4. 新しいHire Dateセル(F8)に、次のいずれかのExcel関数を入力します。

- 完全な日付とタイムスタンプを維持するには、次のように入力します。

=--REPLACE(SUBSTITUTE(E8,"T"," "),LEN(E8)-6,6,"")

- 日付部分(YYY-MM-DD)のみを維持するには、次のように入力します。

=DATEVALUE(LEFT(E8,10))

どちらの機能も、E8は、変換する値を含むセルを参照していることに注意してください。

関数を入力すると、図6-21に示すように、F8セルが移入されます。

図6-21 移入されたHire Dateセル(F8)

5. セルに書式設定を適用します。
F8セルを右クリックします。メニューから「セルの書式設定」を選択します。図6-22に示すように、「セルの書式設定」ダイアログで、「日付」と適切な書式を選択します。

図6-22 「セルの書式設定」ダイアログでの「日付」の書式の適用

F8セルのサンプル・データは、「3-Feb-96」と表示されるようになります。

6. 列Eを非表示にして、レポート利用者に対して変換元の正規日付が表示されないようにします。
図6-23は、非表示の列Eを含むテンプレートを示しています。

図6-23 完成例

6.6 Excelテンプレートの概念の理解

RTFテンプレートの設計と同様に、Excelテンプレートの設計では、XMLデータからのフィールドをExcelワークシート内の位置にマップするというパラダイムに従います。Excelテンプレートでは、BI Publisherの特殊構文とともにExcelの機能を使用して、このマッピングを実行します。データ要素の直接マッピングに加えて、Excelテンプレートでは、より複雑な書式設定命令をサポートするために、セル範囲およびコマンドを、そのコマンドを含むように指定された別のワークシートで定義します。このシートは、XDO_METADATAシートと呼ばれます。

6.6.1 データ・フィールドおよびデータ・グループのマップ

Excelテンプレートでは、名前付きセルおよびセルのグループを使用して、BI Publisherによるデータ要素の挿入を可能にします。セルにはBI Publisher構文を使用して名前が付けられ、XMLデータへのマッピングが設定されます。セル名はテンプレート内で、名前付きセルと、XDO_METADATAシートで定義されている計算および書式設定指示との間のマッピングを設定するためにも使用されます。

テンプレートの内容とレイアウトは、レポートへの入力として使用されるXMLデータ・ファイルの内容と階層に対応している必要があります。テンプレート内の繰返し要素の各グループは、XMLファイル内の親子関係に対応している必要があります。データがExcel内の適切なレイアウトに対応するように構造化されていない場合は、XSLTの前処理またはグループ化関数を使用して、データの再グループ化を実行できます。ただし、複雑にすることなく最高の性能を得るには、レポート・レイアウトを念頭に置いてデータ・モデルを設計することをお薦めします。

注意:

グループ化の詳細は次を参照してください。

- 第6.3.4項「繰返しグループの挿入」

- 第6.7.3項「グループ化関数」

- 第6.8項「XSL変換(XSLT)ファイルを使用したデータの前処理」

6.6.2 マッピング用のExcel定義名の使用

BI Publisherでは、Excel定義名機能を使用して、データ・フィールドおよび繰返し要素を識別します。Excelの定義名は、セル、セルの範囲、式または定数を表す名前です。

ヒント:

定義名およびMicrosoft Excel 2007での使用法の詳細は、Microsoftのヘルプ・トピック「数式で名前を定義し使用する」を参照してください。

Template Builder for Excelを使用してフィールドおよび繰返しグループを挿入すると、定義名が自動作成されます。また、定義名を手動で挿入することもできます。Excelテンプレート内で使用する定義名は、この章で説明する構文を使用すると同時に、Microsoft Excelのヘルプ・ドキュメントに記載されているMicrosoft社のガイドラインに従う必要があります。BI Publisherの定義名は、テンプレート・シートに従っています。

6.6.3 接頭辞XDO_を使用した定義名の作成

BI Publisher定義名は、接頭辞XDO_で識別されるExcel定義名です。テンプレートでBI Publisherコードを使用して定義名を作成することにより、テンプレート内のコードの位置とXMLデータ要素との間にリンクが作成されるほか、出力レポート内でデータ範囲の動的な拡張機能が維持され、そのデータ範囲を他の式計算、チャートおよびマクロで参照することもできます。

6.6.4 XDO_定義名を使用したExcel固有の関数の使用

定義名が単純な表で使用されているかぎり、XDO_定義名をExcel固有の式で使用できます。レポートの生成時には、式が正しく計算されるように、BI Publisherによって名前付きリージョンのリージョン範囲が自動的に調整されます。

ただし、テンプレート内にネストしたグループを作成すると、最終的なレポートでグループ内に生成されるセルは、正しい名前と適切に関連付けることができません。この場合、Excel固有の関数でのXDO_定義名の使用はサポートされません。

6.6.5 XDO_METADATAシートについて

各Excelテンプレートには、テンプレート・ブック内にXDO_METADATAという名前のシートが必要です。BI Publisherでは、このシートをテンプレート内で次のように使用します。

- テンプレートをExcelテンプレートとして識別します。

- Template Builderを使用して作成するフィールドおよびグループ・マッピングのコードを挿入します。

テンプレート設計者として、テンプレート内のフィールドまたはグループでより高度な計算および命令の処理を実行するように指定する場合もこのシートを使用します。BI Publisherには、特別なレポート機能を提供するための関数セットが備わっています。その他の書式設定および計算は、XSLTで記述できます。

注意:

詳細は、第6.6.5.2項「XDO_METADATAシートの書式」および第6.7項「高度なBI Publisher関数の使用」を参照してください。

6.6.5.1 XDO_METADATAシートの作成

Template Builderを使用して新しいExcelテンプレートの設計を開始する場合、「挿入」機能のいずれかを初めて使用するときは、Template Builderによって非表示のXDO_METADATAシートが自動作成されます。シートが作成されたことを示すメッセージが表示されます。

BI Publisherでは、そのシートを非表示のシートとして作成します。XDO_METADATAシートの表示および編集を行うには、Excelの「再表示」コマンドを使用します。

6.6.5.2 XDO_METADATAシートの書式

XDO_METADATAシートは、図6-24に示す書式を使用して作成されます。

図6-24 XDO_METADATAシートの書式

この書式は、ヘッダー・セクションとデータ制約セクションという2つのセクションから構成されます。どちらのセクションも必須です。

ヘッダー・セクションでは、列Aのすべてのエントリをリストする必要がありますが、値が必要なのは、図に示したように、Template Typeの1つだけです。列Aのエントリを次に示します。

- Version

- ARU-dbdrv

- Extractor Version

- Template Code

- Template Type

- Preprocess XSLT File

- Last Modified Date

- Last Modified By

データ・フィールド・マッピングおよび他の処理命令を指定するには、データ制約セクションを使用します。詳細は、次の項を参照してください。

6.6.5.3 XDO_METADATAシートの非表示

完成したテンプレートをBI Publisherカタログにアップロードする前に、XDO_METADATAシートを非表示にして、最終レポート出力で混在しないようにすることをお薦めします。Excel Hideコマンドを使用して、テンプレートをサーバーにアップロードする前にシートを非表示にします。

6.7 高度なBI Publisher関数の使用

BI Publisherには、追加のレポート機能を実行するための一連の関数が用意されています。これらの関数は、XDO_METADATAシートのData Constraintsリージョンで定義します。

これらの関数では、次に示すように、XDO_METADATAシートの列A、BおよびCを使用します。

列Aは、関数を宣言するか、計算またはXSL評価の結果をマップするオブジェクトの定義名を指定するために使用します。

列Bは、XDO関数に対するデータ制約を制御する方法を記述する特殊なXDO-XSL構文、またはXDO_名前付き要素に適用する特殊な制約を記述するXSL構文を入力するために使用します。

列Cは、一部の関数に対する追加の指示を指定するために使用します。

これらの関数については、次の3つの項で説明します。

- 第6.7.1項「レポート関数」

- 第6.7.2項「特定のデータ属性値に依存する書式設定関数」

- 第6.7.3項「グループ化関数」

6.7.1 レポート関数

表6-1は、示されたコマンドおよびBI Publisher構文とXSLの組合せを使用してテンプレートに追加できる関数のリストです。表6-1に、コマンドのサマリー・リストを示します。使用法の詳細は、該当する項を参照してください。

表6-1 レポート関数

関数

コマンド

第6.7.1.1項「複数のシートへのレポートの分割」

XDO_SHEET_?およびXDO_SHEET_NAME_?

第6.7.1.2項「パラメータの宣言と受渡し」

XDO_PARAM_?n?

第6.7.1.3項「リンクの定義」

XDO_LINK_?リンク・オブジェクト名?

第6.7.1.4項「サブ・テンプレートのインポートとコール」

XDO_SUBTEMPLATE_?n?

第6.7.1.5項「Java拡張ライブラリの参照」

XDO_EXT_?n?

6.7.1.1 複数のシートへのレポートの分割

注意:

複数のシート間のイメージはサポートされません。テンプレート・シートにイメージが含まれる場合、データが複数のシートに分割されると、イメージは最初のシートにのみ表示されます。

レポート・データを複数のシートに分割するロジックを定義するには、次のリストで説明するコマンドのセットを使用します。

- XDO_SHEET_?を使用して、新規シートにデータを分割するためのロジックを定義します。

- XDO_SHEET_NAME_?を使用して、各シートのネーミング規則を指定します。

表6-2では、列のエントリを説明しています。

表6-2 列のエントリ

列Aのエントリ

列Bのエントリ

列Cのエントリ

XDO_SHEET_?

<?データを分割するためのxsl_evaluation?>

例:

<?.//DEPT?>

なし

XDO_SHEET_NAME_?

<?シートに名前を付けるためのxsl_expression?>

例:

<?concat(.//DEPARTMENT_NAME,'-',count(.//EMP_NAME))?>

(オプション)

<?元のシート名?>

例:

<?Sheet3?>

XDO_SHEET_?は、XMLデータ内の既存の高レベル・ノードを参照する必要があります。例<?.//DEPT?>は、データ内で<DEPT>が出現するとそのつど新規シートを作成します。

データがフラットな場合、先にデータを前処理して適切な階層を作成しないかぎり、このコマンドは使用できません。データを前処理するには、XSLTファイルで変換を定義してから、XDO_METADATAシートのヘッダー・セクションのPreprocess XSLT Fileフィールドでこのファイルを指定します。詳細は、第6.8項「XSL変換(XSLT)ファイルを使用したデータの前処理」を参照してください。

XDO_SHEET_NAME_?を使用して、シートに適用する名前を定義します。列Bに、新しいシート名を導出するためのXSL式を入力します。式はXMLデータ内の要素または属性の値を参照できます。または、これらの要素に対して文字列操作を実行して最終的なシート名を定義することもできます。次の例では、

<?concat(.//DEPARTMENT_NAME,'-',count(.//EMP_NAME))?>

DEPARTMENT_NAMEの値に、DEPTグループ内の従業員数を「-」で連結して、各シートに名前を付けます。

列Cの元のシート名エントリは、BI Publisherに対して、指定したシートの名前付けを開始するシートを指示します。このパラメータを入力しないと、XDO_名を含む、ブック内の最初のシートに名前付けが適用されます。たとえば、レポートの最初の2つのワークシートにサマリー・データが含まれ、Sheet3からバースト・データが始まる場合などは、このパラメータを入力する必要があります。この場合、列Cに「<?SHEET3?>」と入力します。

例: 複数のシートへのデータの分割

前述の例の従業員データを使用します。次の例では、

- 各部門に対して新しいワークシートを作成します。

- 各ワークシートに、部門名と部門内の従業員数で構成される名前を付けます(例: Sales-21)。

複数のシートにデータを分割する手順は次のとおりです。

1. 図6-25に示すように、従業員データの各セルに対する定義名を入力し、繰返しの従業員データのグループを作成します。

図6-25 従業員データ、および繰返しの従業員データのグループの定義

注意:

データは部門ごとに分割されるため、複数の部門を包含するグループを作成しないでください。

2. XDO_METADATAシートのData Constraintsセクションに、表6-3で説明されている値を入力します。

表6-3 Data Constraintsの値

列Aのエントリ

列Bのエントリ

XDO_SHEET_?

<?.//DEPT?>

XDO_SHEET_NAME_?

<?concat(.//DEPARTMENT_NAME,'-',count(.//EMP_NAME))?>

これらのエントリを図6-26に示します。

図6-26 Data Constraintsのエントリ

図6-27は、生成されるレポートを示しています。各部門のデータは専用のシートに表示されています。シート名には、指定したネーミング規則が使用されています。

図6-27 生成されるレポートの例

6.7.1.2 パラメータの宣言と受渡し

パラメータを定義するには、XDO_PARAM_?n?関数を使用してパラメータを宣言してから、$parameter_name構文を使用して値をパラメータに渡します。パラメータはデータ・モデル内で定義されている必要があります。

パラメータを宣言するには、表6-4で説明されているコマンドを使用します。

表6-4 パラメータを宣言するためのコマンド

列Aのエントリ

列Bのエントリ

XDO_PARAM_?n?

ここで、nはパラメータの一意の識別子です。

<?param@begin:parameter_name;parameter_value?>

ここで、parameter_nameはデータ・モデルからのパラメータ名で、parameter_valueはオプションのデフォルト値です。

たとえば、次のように入力します。

<?param@begin:Country;US?>

パラメータの値をセル内で直接使用するには、表6-5で説明するように、XDO_定義名の定義内で、パラメータを$parameter_nameとして参照します。

表6-5 パラメータの直接使用

列Aのエントリ

列Bのエントリ

XDO_PARAM_?parameter_name?

たとえば、次のように入力します。

XDO_PARAM_?Country?

<?$parameter_name?>.

たとえば、次のように入力します。

<?$Country?>

$parameter_nameを使用して、XDO_METADATAシート内の他のロジックや計算内でパラメータを参照することもできます。

例: パラメータの定義と受渡し

Countryという名前のパラメータを宣言して参照する手順は次のとおりです。

1. テンプレート・シートで、セルを定義名でマークします。次の図では、セルが定義名XDO_?Country?でマークされています。

図6-28 定義名XDO_?Country?でマークされているセル

2. 非表示のシートで、図6-29に示すように、そのセルにパラメータ値を割り当てます。

図6-29 XDO_?Country?セルへのパラメータ値の割当て

6.7.1.3 リンクの定義

表6-6に示されるように、データ・セルにハイパーリンクを定義するには、XDO_LINK_?コマンドを使用します。

例: リンクの定義

表6-6 リンクの定義

列Aのエントリ

列Bのエントリ

XDO_LINK_?セル・オブジェクト名?

たとえば、次のように入力します。

XDO_LINK_?INVOICE_NO?

<動的URLを構築するxsl文>

たとえば、次のように入力します。

<xsl:value-of select="concat('https://server.company.com/documents/invoice_print.show?c_rptno=',./INVOICE_NO)"/>

たとえば、会社で顧客向けの請求書を発行しているとします。請求書はWebサーバーからアクセス可能な中央の場所に保存されており、請求書番号(INVOICE_NO)で識別できます。

各請求書へのダイナミック・リンクを作成するレポートを生成する手順は次のとおりです。

1. 図6-30に示すように、テンプレート・シートで、INVOICE_NOを表示するセルに、XDO定義名XDO_?INVOICE_NO?を割り当てます。

図6-30 定義名XDO_?INVOICE_NO?の割当て

2. XDO_METADATAシートで、表6-7に示されるように適切な値を入力します。

表6-7 リンク付きレポートの生成

列Aのエントリ

列Bのエントリ

XDO_LINK_?INVOICE_NO?

<xsl:value-of select="concat('https://server.company.com/documents/invoice_print.show?c_rptno=',./INVOICE_NO)"/>

Excelでのエントリを図6-31に示します。

図6-31 XDO_LINK?_?INVOICE_NO?Excelでのエントリ

レポート出力は図6-32に示すように表示されます。XDO_METADATAシートで定義したロジックが適用され、各INVOICE_NOエントリに対してハイパーリンクが作成されます。

図6-32 レポート出力の例

6.7.1.4 サブ・テンプレートのインポートとコール

いずれのXDO_コマンドでもコールおよび参照できるXSLサブ・テンプレートを宣言するには、次のコマンドを使用します。

注意:

Template Builder for Excelでは、サブ・テンプレートをインポートするテンプレートに対するプレビューはサポートされていません。

サブ・テンプレートをインポートするには、表6-8に示すコマンドを入力します。

表6-8 サブ・テンプレートのインポート

列Aのエントリ

列Bのエントリ

XDO_SUBTEMPLATE_?n? ここで、nは一意の識別子です。たとえば、XDO_SUBTEMPLATE_?1?となります。

<xsl:import href="xdoxsl:///subtemplate.xsbへのパス?"/> 例: <xsl:import href="xdoxsl:///Shared Folders/Financial Reports/SubTemplates/MySubTemplate.xsb?"/>

サブ・テンプレートをコールするには、列Aで、結果を返すセルの名前を宣言してから、実行するその他のXSL処理とともにcall-template構文を入力します。これらのコマンドを図6-9に示します。

表6-9 サブ・テンプレートのコール

列Aのエントリ

列Bのエントリ

XDO_?セル・オブジェクト名?

<xsl:call-template name="template_name"> </xsl:call-template>

XSLサブ・テンプレートおよびカタログ内でのサブ・テンプレート・オブジェクトの作成の詳細は、第14章「XSLサブ・テンプレートの設計」を参照してください。

例: サブ・テンプレートのインポートとコール

次のサブ・テンプレートがBI PublisherカタログにPaymentsSummary-SubTemplate.xsbとしてアップロードされているとします。このサブ・テンプレートは、pPayTypeという名前のパラメータの値を評価し、その値に基づいて、支払いタイプを示す文字列を返します。

<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="2.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
</xsl:template>
<xsl:template name="BRM_PAY_TYPES">
<xsl:param name="pPayType" select="string('ALL')"/>
<xsl:choose>
<xsl:when test="$pPayType = '0'">UNDEFINED</xsl:when>
<xsl:when test="$pPayType=string('10000')">PREPAID</xsl:when>
<xsl:when test="$pPayType=string('10001')">INVOICE</xsl:when>
<xsl:when test="$pPayType=string('10003')">CREDIT CARD</xsl:when>
<xsl:when test="$pPayType=string('10005')">DIRECT DEBIT</xsl:when>
<xsl:when test="$pPayType=string('10011')">CASH</xsl:when>
<xsl:when test="$pPayType=string('10012')">CHECK</xsl:when>
<xsl:when test="$pPayType=string('ALL')">ALL</xsl:when>
</xsl:choose>
</xsl:template>
</xsl:stylesheet>

Excelテンプレートで、XDO定義名XDO_?TYPE?のフィールドを定義しています。このフィールドには図6-33に示すように、サブ・テンプレートで実行されるコードから返される文字列に基づいて移入されます。

図6-33 移入されるXDO_?TYPE?フィールド

Data Constraintsリージョンに、表6-10に示されているコマンドを入力します。

表6-10 Data Constraintsリージョンのコマンド

列Aのエントリ

列Bのエントリ

XDO_SUBTEMPLATE_?1?

<xsl:import href="xdoxsl:///Shared Folders/Financial Reports/SubTemplates/PaymentsSummary-SubTemplate.xsb?"/>

XDO_?TYPE?

<xsl:call-template name="BRM_PAY_TYPES"><xsl:with-param name="pPayType" select="string('10000')"/></xsl:call-template>

XDO_SUBTEMPLATE_?1?関数は、BI Publisherカタログからサブ・テンプレートをインポートします。

XDO_?TYPE?セル・エントリは、列Bに入力されたサブ・テンプレート処理の結果をマップします。

6.7.1.5 Java拡張ライブラリの参照

テンプレート内にJava拡張ライブラリへの参照を組み込み、このライブラリ内のメソッドをコールしてテンプレート内で処理を実行できます。Java拡張ライブラリを参照するには、表6-11に示されているコマンドを使用します。

表6-11 Java拡張ライブラリの参照

列Aのエントリ

列Bのエントリ

XDO_EXT_?n? ここで、nは一意の識別子です。例: XDO_EXT?1?

<?namespace:xmlns:bipext="extension library"?> 例: <?namespace:xmlns:bipext="http://www.example.com/XSL/Transform/java/ example.com.xmlpublisher.reports.BIPExtension"?>

1つのテンプレート・ファイル内で複数の拡張ライブラリを定義することができます。

例: Java拡張ライブラリのコール

拡張ライブラリに、テンプレート内でコールする次の2つのメソッドが含まれるものとします。

- bipext:infTimeToStr()

- bipext:infStrToTimet()

前述のようにライブラリを宣言したら、列AにXDO定義名を入力し、列Bで関数をコールすることにより、メソッドを適用したいセルを指定します。表6-12に、コマンドの例を示します。

表6-12 例: Java拡張ライブラリのコール

列Aのエントリ

列Bのエントリ

XDO_?PARAM_START_DATE?

<xsl:value-of select="bipext:infTimeToStr(bipext:infStrToTimet((.//PARAM_START_DATE)[1],2),3)"

Java拡張ライブラリを宣言してコールするXDO_METADATAシートのエントリを図6-34に示します。

図6-34 Java拡張ライブラリを宣言してコールするXDO_METADATAシートのエントリ

6.7.2 特定のデータ属性値に依存する書式設定関数

以下のコマンドには、XMLデータ・ファイルに特定の書式設定属性が存在することが必要です。表6-13に、コマンドのサマリー・リストを示します。使用法の詳細は、該当する項を参照してください。

表6-13 特定の書式設定属性のコマンド

関数

コマンド

第6.7.2.1項「罫線と下線のスタイルの定義」

XDO_STYLE_n_?セル・オブジェクト名?

第6.7.2.2項「行のスキップ」

XDO_SKIPROW_?セル・オブジェクト名?

6.7.2.1 罫線と下線のスタイルの定義

Excelの書式設定を使用してテンプレートに一貫したスタイルを定義できますが、XDO_STYLEコマンドを使用すると、XMLデータに基づいて、任意のデータ・セルに対して別のスタイルを動的に定義することができます。

XDO_STYLEコマンドでは、スタイルを適用するセル、スタイルをいつ適用すべきかを決定するためのロジックおよび適用するスタイル・タイプを指定します。スタイル値はXMLデータ内に存在している必要があります。表6-14に例を示します。

表6-14 罫線と下線のスタイルの定義

列Aのエントリ

列Bのエントリ

列Cのエントリ

XDO_STYLE_n_?cell_object_name?

たとえば、次のように入力します。

XDO_STYLE_1_?TOTAL_SALARY?

<サポートされる値を返すxsl評価>

たとえば、次のように入力します。

<xsl:value-of select=".//TOTAL_SALARY/@borderStyle"/>

スタイルの種類

たとえば、次のように入力します。

BottomBorderStyle

BI Publisherでは、表6-15に示すような標準のExcelスタイルの種類および値がサポートされています。

表6-15 Excelスタイルの種類および値

スタイルの種類

サポートされる値(列Bの評価によって返される必要があります)

サポートされるタイプ(列Cに入力します)

標準

BORDER_NONE

BORDER_THIN

BORDER_MEDIUM

BORDER_DASHED

BORDER_DOTTED

BORDER_THICK

BORDER_DOUBLE

BORDER_HAIR

BORDER_MEDIUM_DASHED

BORDER_DASH_DOT

BORDER_MEDIUM_DASH_DOT

BORDER_DASH_DOT_DOT

BORDER_MEDIUM_DASH_DOT_DOT

BORDER_SLANTED_DASH_DOT

BottomBorderStyle

TopBorderStyle

LeftBorderStyle

RightBorderStyle

DiagonalLineStyle

表6-16に示す種類のいずれかを使用して色を設定することもできます。

表6-16 色の種類

スタイルの種類

サポートされる値(列Bの評価によって返される必要があります)

サポートされるタイプ(列Cに入力します)

標準

色スタイルの設定時には、RRBBGG 16進フォーマットで値を指定します。例:

borderColor="0000FF"

BottomBorderColor

TopBorderColor

LeftBorderColor

RightBorderColor

DiagonalLineColor

BI Publisherでは、表6-17に示す値の下線の種類もサポートされています。

表6-17 下線の種類

スタイルの種類

サポートされる値(列Bの評価によって返される必要があります)

サポートされるタイプ(列Cに入力します)

下線

UNDERLINE_NONE

UNDERLINE_SINGLE

UNDERLINE_DOUBLE

UNDERLINE_SINGLE_ACCOUNTING

UNDERLINE_DOUBLE_ACCOUNTING

UnderlineStyle

1つのセルに対して、複数の下線スタイルを定義できます。

例: スタイルの定義

テンプレートにスタイルを適用するには、スタイル値がデータ内に存在している必要があります。この例では、Excelテンプレートに示したDEPT_TOTAL_SALARYフィールドに、罫線スタイルと下線スタイルを適用します。

この例では、次のデータを使用します。データ内のDEPT_TOTAL_SALARY要素には、これらの属性が定義されています。

- borderStyle

- underLineStyle

- borderColor

これらの各属性の値を使用して、テンプレート内に定義されたロジックに基づいて、定義済のスタイルを適用します。

<?xml version="1.0" encoding="UTF-8"?>

<EMPLOYEES>
<G_DEPT>
<DEPARTMENT_ID>10</DEPARTMENT_ID>
<DEPARTMENT_NAME>Administration</DEPARTMENT_NAME>
<LIST_G_EMP>
<G_EMP>
<EMPLOYEE_ID>200</EMPLOYEE_ID>
<EMP_NAME>Jennifer Whalen</EMP_NAME>
<EMAIL>JWHALEN</EMAIL>
<PHONE_NUMBER>515.123.4444</PHONE_NUMBER>
<HIRE_DATE>1987-09-17T00:00:00.000-06:00</HIRE_DATE>
<SALARY>4400</SALARY>
</G_EMP>
</LIST_G_EMP>

<DEPT_TOTAL_SALARY borderStyle="BORDER_DOUBLE" underLineStyle="UNDERLINE_DOUBLE_ACCOUNTING" borderColor="0000FF">4400</DEPT_TOTAL_SALARY>
</G_DEPT>
<G_DEPT>
<DEPARTMENT_ID>20</DEPARTMENT_ID>
<DEPARTMENT_NAME>Marketing</DEPARTMENT_NAME>
<LIST_G_EMP>
<G_EMP>
<EMPLOYEE_ID>201</EMPLOYEE_ID>
<EMP_NAME>Michael Hartstein</EMP_NAME>
<EMAIL>MHARTSTE</EMAIL>
<PHONE_NUMBER>515.123.5555</PHONE_NUMBER>
<HIRE_DATE>1996-02-17T00:00:00.000-07:00</HIRE_DATE>
<SALARY>13000</SALARY>
</G_EMP>
<G_EMP>
<EMPLOYEE_ID>202</EMPLOYEE_ID>
<EMP_NAME>Pat Fay</EMP_NAME>
<EMAIL>PFAY</EMAIL>
<PHONE_NUMBER>603.123.6666</PHONE_NUMBER>
<HIRE_DATE>1997-08-17T00:00:00.000-06:00</HIRE_DATE>
<SALARY>6000</SALARY>
</G_EMP>
</LIST_G_EMP>

<DEPT_TOTAL_SALARY borderStyle="BORDER_DOUBLE" underLineStyle="UNDERLINE_DOUBLE_ACCOUNTING" borderColor="0000FF">19000</DEPT_TOTAL_SALARY>
</G_DEPT>

...

</EMPLOYEES>

スタイルを定義する手順は次のとおりです。

1. 図6-35に示すように、Excelテンプレートで、データからのDEPT_TOTAL_SALARYを表示するフィールドに、定義名XDO_?DEPT_TOTAL_SALARY?を割り当てます。

図6-35 定義名XDO_?DEPT_TOTAL_SALARY?の割当て

2. XDO_METADATAシートで、次のように入力します。

- 上罫線スタイルを定義するには、表6-18に示すエントリを使用します。

表6-18 上罫線スタイル

列Aのエントリ

列Bのエントリ

列Cのエントリ

XDO_STYLE_1_?DEPT_TOTAL_SALARY?

<xsl:value-of select=".//DEPT_TOTAL_SALARY/@borderStyle"/>

TopBorderStyle

列Aのエントリは、このスタイル・コマンドを、名前XDO_?DEPT_TOTAL_SALARY?が割り当てられたセルにマップします。

列Bのエントリは、DEPT_TOTAL_SALARY要素の属性borderStyleからスタイル値を取得します。サンプル・データからのborderStyleの値はBORDER_DOUBLEです。

列Cのエントリは、TopBorderStyleをセルに適用するようにBI Publisherに指示します。

- 上罫線の色を定義するには、表6-19に示すエントリを使用します。

表6-19 上罫線の色

列Aのエントリ

列Bのエントリ

列Cのエントリ

XDO_STYLE_2_?DEPT_TOTAL_SALARY?

<?.//DEPT_TOTAL_SALARY/@borderColor?>

TopBorderColor

列Aのエントリは、このスタイル・コマンドを、名前XDO_?DEPT_TOTAL_SALARY?が割り当てられたセルにマップします。

列Bのエントリは、DEPT_TOTAL_SALARY要素の属性borderColorからスタイル値を取得します。サンプル・データからのborderColorの値は0000FF(青)です。

列Cのエントリは、TopBorderColorをセルに適用するようにBI Publisherに指示します。

- 下線スタイルを定義するには、表6-20に示すエントリを使用します。

表6-20 下線スタイル

列Aのエントリ

列Bのエントリ

列Cのエントリ

XDO_STYLE_3_?DEPT_TOTAL_SALARY?

<?.//DEPT_TOTAL_SALARY/@underLineStyle?>

UnderlineStyle

列Aのエントリは、このスタイル・コマンドを、名前XDO_?DEPT_TOTAL_SALARY?が割り当てられたセルにマップします。

列Bのエントリは、DEPT_TOTAL_SALARY要素の属性underLineStyleからスタイル値を取得します。サンプル・データからのunderLineStyleの値はUNDERLINE_DOUBLE_ACCOUNTINGです。

列Cのエントリは、UnderLineStyleをセルに適用するようにBI Publisherに指示します。

図6-36は、Data Constraintsリージョンの3つのエントリを示しています。

図6-36 Data Constraintsのエントリ

レポートを実行すると、図6-37に示すように、スタイル・コマンドがXDO_?DEPT_TOTAL_SALARY?セルに適用されます。

図6-37 スタイル・コマンドがXDO_?DEPT_TOTAL_SALARY?に適用されていることを示す、生成されたレポートセル

6.7.2.2 行のスキップ

列Bに定義されている評価の結果が大文字・小文字を区別しない文字列"True"を返す場合に、1行のデータの表示を抑制するには、XDO_SKIPROWコマンドを使用します。エントリの例を図6-21に示します。

表6-21 行のスキップ

列Aのエントリ

列Bのエントリ

XDO_SKIPROW_?cell_object_name?

たとえば、次のように入力します。

XDO_SKIPROW_?EMPLOYEE_ID?

<文字列Trueを返すxsl評価/>

たとえば、次のように入力します。

<xsl:if test="string-length(./EMPLOYEE_ID/@MANAGER) != 0"><xsl:value-of select="./EMPLOYEE_ID/@MANAGER"/></xsl:if>

例: データ要素属性に基づく行のスキップ

この例では、EMPLOYEE_ID要素に値TrueのMANAGER属性が含まれる場合、Excelテンプレートで従業員データ行の表示が抑制されます。

次のデータを想定します。従業員Michael HartsteinのEMPLOYEE_ID要素に、値が"True"のMANAGER属性があることに注目してください。このセット内の他のEMPLOYEE_ID要素にはこの属性はありません。

<?xml version="1.0" encoding="UTF-8"?>

<EMPLOYEES>
<G_DEPT>
<DEPARTMENT_ID>20</DEPARTMENT_ID>
<DEPARTMENT_NAME>Marketing</DEPARTMENT_NAME>
<LIST_G_EMP>
<G_EMP>
<EMPLOYEE_ID MANAGER="TRUE">201</EMPLOYEE_ID>
<EMP_NAME>Michael Hartstein</EMP_NAME>
<EMAIL>MHARTSTE</EMAIL>
<PHONE_NUMBER>515.123.5555</PHONE_NUMBER>
<HIRE_DATE>1996-02-17T00:00:00.000-07:00</HIRE_DATE>
<SALARY>13000</SALARY>
</G_EMP>
<G_EMP>
<EMPLOYEE_ID>202</EMPLOYEE_ID>
<EMP_NAME>Pat Fay</EMP_NAME>
<EMAIL>PFAY</EMAIL>
<PHONE_NUMBER>603.123.6666</PHONE_NUMBER>
<HIRE_DATE>1997-08-17T00:00:00.000-06:00</HIRE_DATE>
<SALARY>6000</SALARY>
</G_EMP>
<G_EMP>
<EMPLOYEE_ID>652</EMPLOYEE_ID>
<EMP_NAME>William Morgan</EMP_NAME>
<EMAIL>WMORGAN</EMAIL>
<PHONE_NUMBER>219.123.7776</PHONE_NUMBER>
<HIRE_DATE>1994-10-17T00:00:00.000-06:00</HIRE_DATE>
<SALARY>8000</SALARY>
</G_EMP>
</LIST_G_EMP>
</G_DEPT>

...

</EMPLOYEES>

MANAGER属性がTrueに設定されている場合に従業員データ行の表示を抑制するには、表6-22に示すエントリを、Data Constraintsセクションに入力します。

表6-22 データ要素属性に基づく行のスキップ

列Aのエントリ

列Bのエントリ

XDO_SKIPROW_?EMPLOYEE_ID?

<xsl:if test="string-length(./EMPLOYEE_ID/@MANAGER) != 0"><xsl:value-of select="./EMPLOYEE_ID/@MANAGER"/></xsl:if>

このテンプレートからの出力を図6-38に示します。従業員Michael Hartsteinはレポートに含まれていないことに注目してください。

図6-38 スキップされた行の出力

6.7.3 グループ化関数

テンプレート内のデータをグループ化するには、表6-23に示す関数を使用します。

表6-23 データのグループ化の作成

関数

コマンド

第6.7.3.1項「データのグループ化」

XDO_GROUP_?group element?

第6.7.3.3項「データの再グループ化」

XDO_REGROUP_?

6.7.3.1 データのグループ化

たとえば、データを複数のシートに分割する場合など、レイアウトに特定のデータのグループ化が必要なときは、XDO_GROUPコマンドを使用して、フラットなデータをグループ化します。エントリの例を図6-24に示します。

表6-24 データのグループ化

列Aのエントリ

列Bのエントリ

列Cのエントリ

XDO_GROUP_?グループ要素?

たとえば、次のように入力します。

XDO_GROUP_?STATE_GROUP?

<グループ化ロジックを開始するxsl/>

たとえば、次のように入力します。

<xsl:for-each-group select="current-group()" group-by="./STATE"> <xsl:for-each-group select="current-group()" group-by="./RESOURCE_NAME"> <xsl:for-each select="current-group()">

<グループ化終了タグのxsl/>

たとえば、次のように入力します。

</xsl:for-each> <xsl:for-each-group> <xsl:for-each-group>

XDO_?cell object name?でマークアップされたグループ定義セクションの始まりと終わりに配置するXSL文を定義します。対応するグループに適切な定義をそれぞれに指定することにより、テンプレート内に複数のグループをネストしてマークできます。

6.7.3.2 ネストされたグループでの、生成されたXDO定義名の処理

ネストされたグループでXDO_GROUP_?が使用される場合は、最終的なレポートにおけるXDO定義名の範囲が無意味になります。この場合、最終的なレポート内の式における定義名を参照しないでください。コマンドXDO_MARKUP_?を使用して、最終的なレポート内のXDOマークアップ・アクティビティを無効にできます。表6-25は、XDO_METADATAシートでXDO_MARKUP_?を使用した状態を示しています。

表6-25 XDO_MARKUP_?の使用

列Aのエントリ

列Bのエントリ

XDO_MARKUP_?

falseまたはFALSE

(Excelの「セルの書式設定」ダイアログで「テキスト」としてセルを書式設定する必要があります。)

また、テンプレートに数多くの定義名が含まれていて、ネストされたグループの複数のレベルでそれらの定義名が使用されている場合は、Excelでは、生成された定義名の数を処理できないことがあります。この場合は、XDO_MARKUP_?コマンドを使用して、生成されたレポートのマークアップを無効にできます。

falseに設定されていると、BI Publisherでは、XDO_GROUP_?によって生成されたいずれの結果に対しても、定義名はいっさい生成されません。

6.7.3.3 データの再グループ化

XDO_REGROUPは、定義名を使用して定義を宣言することにより、データを再グループ化します。XDO_REGROUPロジックはXDO_GROUPロジックの短縮形であり、XDO_METADATAシートにおけるXSLTcoding要件が要求されません。したがって、その定義は直接、XDO_REGROUP_?定義名に作用するか、またはXDO_METADATAシートにおけるそれ以外の定義に作用する必要があります。エントリを図6-26に示します。

表6-26 データのグループ化

列Aのエントリ

列Bのエントリ

XDO_REGROUP_?

XDO_REGROUP_?UniqueGroupID?levelName?groupByName?sortByName?sortByName?sortByName?

説明:

- UniqueGroupIDはグループのIDです。levelNameと同じにすることも、別の名前を割り当てることもできます。

- levelNameは、XMLデータ・ファイル内のXMLレベル・タグ名、またはネストされたグループ化のコンテキストでのcurrent-group()を表すXDO_CURRGRP_です。ネストしているグループがテンプレートに複数存在している場合は、内側のグループすべてに対してXDO_CURRGRP_を使用してください。

- groupByNameは、現在のグループのGroupBy操作に使用するフィールド名です。XDO_REGROUP_?コマンドが最も内側のグループに使用されている場合は、この名前は空のことがあります。

- sortByNameは、グループのソートの基準とするフィールド名です。複数のsortByフィールドを指定できます。sortByNameを宣言しない場合は、XMLファイルからのデータはソートされません。

表6-27、表6-28および表6-29は、3つのネストされたグループの作成方法を示しています。

表6-27 ネストされたグループの作成、例1

列Aのエントリ

列Bのエントリ

XDO_REGROUP_?

XDO_REGROUP_?PAYMENTSUMMARY_Q1?PAYMENTSUMMARY_Q1?PAY_TYPE_NAME?

表6-27に示す定義では、最も外側のグループがPAYMENTSUMMARY_Q1として定義され、PAY_TYPE_NAMEによってグループ化されます。

表6-28 ネストされたグループの作成、例2

列Aのエントリ

列Bのエントリ

XDO_REGROUP_?

XDO_REGROUP_?COUNTRYGRP?XDO_CURRGRP_?COUNTRY?

表6-28に示す定義は、外から2番目のグループを作成します。このグループには名前COUNTRY_GRPが割り当てられ、要素COUNTRYによってグループ化されます。

表6-29 ネストされたグループの作成、例3

列Aのエントリ

列Bのエントリ

XDO_REGROUP_?

XDO_REGROUP_?STATEGRP?XDO_CURRGRP_?STATE?

表6-29に示す定義は内側のグループSTATEGRPを作成し、sortByNameパラメータSTATEを含みます。

6.8 XSL変換(XSLT)ファイルを使用したデータの前処理

最高のパフォーマンスを達成するには、データ処理を可能なかぎり実行するようにデータ・モデルを設計します。データ・エンジンから必要な出力を得られない場合は、データを変換する命令を含むXSLTファイルを使用してデータの前処理を実行できます。次のようなユースケース・サンプルがあります。

- 適切なレイアウトをサポートするために必要な階層を設定するグループの作成

- データ要素へのスタイル属性の追加

- Excelテンプレートでは不可能であるか、パフォーマンス上の理由から望ましくない、複雑なデータ処理ロジックの実行

注意:

Template Builder for Excelでは、XSLT前処理が必要なテンプレートのプレビューはサポートされていません。

XSLT前処理ファイルを使用するには:

1. ファイルを作成し、.xslとして保存します。

2. テンプレートの場合と同様に、ファイルをBI Publisherカタログ内のレポート定義にアップロードします。

1. カタログ内のレポートに移動します。

2. 「編集」をクリックします。

3. 「新規レイアウトの追加」をクリックします。

4. 「アップロード」をクリックします。

5. 「アップロード」ダイアログのフィールドを完成させ、テンプレートの「タイプ」としてXSLスタイルシート(HTML/XML/テキスト)を選択します。

6. アップロード後に、「リストの表示」をクリックします。レポートの表示時にユーザーからこのテンプレートがオプションとして見えないようにするため、「アクティブ」を選択解除します。

注意:

テスト目的では、データへのテンプレートの適用時に中間データを表示できるように、XSLテンプレートをアクティブなままにしたほうがよい場合もあります。テストの完了後にテンプレートを非アクティブに設定します。

7. レポート定義を保存します。

3. ExcelテンプレートのXDO_METADATAシートのHeaderセクションで、Preprocess XSLT Fileパラメータにファイル名を入力します。例: splitByBrand.xsl

6.8.1 XSLT前処理の例: 複数のシートへのフラット・データの分割

この項では、XSLT前処理ファイルを使用してフラット・データをグループ化し、Excelでの複数のシートに分割できるようにする操作の2つの例について説明します。その例は次のとおりです。

- 特定のフィールドによるデータの分割

- 行数によるデータの分割
レポート・データがExcel 2003のシートの行サイズ(シート当たり65,536行)を超えている場合には、行数でデータを分割するというオプションもあります。

どちらの例でも、次のXMLデータが使用されます。

<ROWSET>
<ROW>
<Products.Type>COATINGS</Products.Type>
<Products.Brand>Enterprise</Products.Brand>
<Markets.Region>CENTRAL REGION</Markets.Region>
<Markets.District>CHICAGO DISTRICT</Markets.District>
<Periods.Year>2000</Periods.Year>
<Measures.Dollars>1555548.0</Measures.Dollars>
</ROW>
<ROW>
<Products.Type>COATINGS</Products.Type>
<Products.Brand>Enterprise</Products.Brand>
<Markets.Region>EASTERN REGION</Markets.Region>
<Markets.District>NEW YORK DISTRICT</Markets.District>
<Periods.Year>2000</Periods.Year>
<Measures.Dollars>1409228.0</Measures.Dollars>
</ROW>
...
</ROWSET>

6.8.1.1 特定のフィールドによるデータの分割

この例では、XSLT前処理ファイルを使用して、データのグループ化を作成し、そのグループ化を基準にしてデータを複数のExcelシートに分割できるようにします。この例では、Products.Brandフィールドによってサンプル・データがグループ化されます。

1. データをグループ化するために、XSLTファイルを作成します。
次に示すサンプルのXSLTファイルでは、<Products.Brand>に従ってデータがグループ化され、それらのグループのそれぞれに対して、高レベルの要素<BrandGroup>が作成されます。

<?xml version="1.0" encoding="utf-8" ?>
<xsl:stylesheet version="2.0"   xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<ROWSET>
<xsl:for-each-group select="/ROWSET/ROW" group-by="./Products.Brand">
<xsl:variable name="var_brand" select="current-grouping-key()" />
<BrandGroup>
<xsl:attribute name="name">
<xsl:value-of select="$var_brand" />
</xsl:attribute>
<xsl:copy-of select="current-group()" />
</BrandGroup>
</xsl:for-each-group>
</ROWSET>
</xsl:template></xsl:stylesheet>

このXSLTファイルがデータ・サンプルに適用されると、次のように中間データが生成されます。

<ROWSET>
<BrandGroup name="Enterprise">
<ROW>
<Products.Type>COATINGS</Products.Type>
<Products.Brand>Enterprise</Products.Brand>
<Markets.Region>CENTRAL REGION</Markets.Region>
<Markets.District>CHICAGO DISTRICT</Markets.District>
<Periods.Year>2000</Periods.Year>
<Measures.Dollars>1555548.0</Measures.Dollars>
</ROW>
...
</BrandGroup>
...  <ROWSET>

2. XSLTファイルをsplitByBrand.xslとして保存し、このファイルをBI Publisherカタログのレポート定義にアップロードします。テンプレートの「タイプ」としてXSLスタイルシート(HTML/XML/テキスト)を選択します。

3. Excelテンプレート・ファイルのXDO_METADATAシートで、次のように入力します。

- Preprocess XSLT Fileパラメータに「splitByBrand.xsl」と入力します。

- Data Constraintsリージョンで、表6-30に示すエントリを行い、XSLT前処理の結果によって作成された<BrandGroup>要素に基づいて、データを複数のシートに分割します。

表6-30 ブランドによる分割を行うためのData Constraintsリージョンへのエントリ

列Aのエントリ

列Bのエントリ

XDO_SHEET_?

<?//BrandGroup?>

XDO_SHEET_NAME_?

<?./@name?>

XDO_METADATAシートでのサンプル・エントリを図6-39に示します。

図6-39 ブランドによる分割を行うためのXDO_METADATAシートの例

4. ユーザーに表示する必要がない場合は、XDO_METADATAシートを非表示にします。BI Publisherカタログのレポート定義にExcelテンプレート・ファイルをアップロードします。

6.8.1.2 行数によるデータの分割

この例では、XSLT前処理ファイルを使用して、/ROWSET/ROWの出現回数によってサンプルXMLデータをグループ化し、新規に作成されたグループの出現ごとにシートを新規作成するようにExcelテンプレートを構成する方法を示します。

1. XSLTファイルを作成し、変数で指定されたサイズに従ってデータ内にグループを作成します。
次に示すサンプルのXSLTファイルでは、$var_sizeの値に従って/ROWSET/ROWの出現がグループ化され、それらのグループのそれぞれに対して、高レベルの要素<CountGroup>が作成されます。

<?xml version="1.0" encoding="utf-8" ?>   <xsl:stylesheet version="2.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<ROWSET>
<xsl:variable name="var_size" select="3" />
<xsl:for-each select="/ROWSET/ROW">
<xsl:variable name="var_pos" select="position()" />
<xsl:variable name="var_mod" select="$var_pos mod($var_size)" />
<xsl:if test="$var_mod = 1">
<xsl:variable name="var_groupNum" select="($var_pos - $var_mod) div number($var_size) + 1" />
<xsl:element name="CountGroup">
<xsl:attribute name="name">
<xsl:value-of select="concat('Group', $var_groupNum)" />
</xsl:attribute>
<xsl:for-each select="/ROWSET/ROW[position() > ($var_pos -1) and position() < ($var_pos + $var_size)]">
<xsl:copy-of select="." />
</xsl:for-each>
</xsl:element>
</xsl:if>
</xsl:for-each>
</ROWSET>
</xsl:template>
</xsl:stylesheet>

このXSLTファイルがデータ・サンプルに適用されると、次のように中間データが生成されます。

<ROWSET>
<CountGroup name="Group1">
<ROW>
<Products.Type>COATINGS</Products.Type>
<Products.Brand>Enterprise</Products.Brand>
<Markets.Region>CENTRAL REGION</Markets.Region>
<Markets.District>CHICAGO DISTRICT</Markets.District>
<Periods.Year>2000</Periods.Year>
<Measures.Dollars>1555548.0</Measures.Dollars>
</ROW>
...
</CountGroup>
...
<ROWSET>

2. XSLTファイルをsplitByCount.xslとして保存し、このファイルをBI Publisherカタログのレポート定義にアップロードします。テンプレートの「タイプ」としてXSLスタイルシート(HTML/XML/テキスト)を選択します。

3. Excelテンプレート・ファイルのXDO_METADATAシートで、次のように入力します。

- Preprocess XSLT Fileパラメータに「splitByCount.xsl」と入力します。

- Data Constraintsリージョンで、表6-31に示すエントリを行います。

表6-31 件数による分割を行うためのData Constraintsリージョンへのエントリ

列Aのエントリ

列Bのエントリ

XDO_SHEET_?

<?//CountGroup?>

XDO_SHEET_NAME_?

<?./@name?>

4. XDO_METADATAシートを非表示にして、レポート利用者に表示しないようにします。

5. BI Publisherカタログのレポート定義にExcelテンプレート・ファイルをアップロードします。

6.9 Template Viewerを使用したテンプレートのデバッグ

テンプレート・プレビューで期待どおりの結果が表示されない場合は、Template Viewerを使用してトレース設定を有効にすることにより、デバッグ・メッセージを表示できます。Template Viewerでは、XSL-FOプロセッサでのサンプル・データとテンプレートのマージ後に生成される中間XSLファイルを保存および表示することもできます。XSLの知識があれば、これは非常に有用なデバッグ・ツールになります。

Template ViewerはTemplate Builder for Wordのインストール時にインストールされます。詳細は、第6.1.5項「Excelテンプレートのデスクトップ・ツール」を参照してください。

Template Viewerでプレビューし、ログ・メッセージを表示するには:

1. Template Viewerを開きます。
Windowsデスクトップで「スタート」メニューから、「プログラム」、「Oracle BI Publisher Desktop」、「Template Viewer」の順に選択します。

2. 「参照」をクリックして、サンプル・データ・ファイルおよびテンプレート・ファイルを含むフォルダを選択します。データ・ファイルとテンプレート・ファイルは同じフォルダに置かれている必要があります。

3. 「Excelテンプレート」を選択します。図6-40に示すように、「データ」リージョンと「テンプレート」リージョンに、そのディレクトリ内に存在するすべての.xmlファイルおよびすべての.xlsファイルが表示されます。

図6-40 .xmlファイルと.xlsファイルをすべて示した、「データ」リージョンと「テンプレート」リージョン

4. 適切なデータ・ファイルおよびテンプレート・ファイルをクリックして、それらを選択します。

5. ログ・レベルを選択します。

6. 「出力フォーマット」リストから、「Excel」を選択します。

7. 「処理開始」をクリックします。
Template Viewerにより、選択したデータと選択したテンプレートがマージされ、適切なビューアが作成されます。図6-41に示すように、メッセージ・ボックス内にログ・メッセージがあれば確認します。

図6-41 ログ・メッセージ

生成されたXSLを表示するには:

1. Template Viewerで、データ・ファイルとテンプレート・ファイルを選択し、出力フォーマットとして「Excel」を選択します。

2. 図6-42に示すように、「ツール」メニューから「XSLファイルの生成元」、「Excelテンプレート」の順に選択します。

図6-42 「Excelテンプレート」オプション

3. プロンプトが表示されたら、生成されたXSLファイルを保存します。

4. 保存した場所に移動し、適切なビューアでXSLファイルを開きます。

7 PDFテンプレートの作成

この章では、BI Publisher用のPDFテンプレートを作成する方法について説明します。

この章の内容は次のとおりです。

- 第7.1項「概要」

- 第7.2項「要件」

- 第7.3項「テンプレートの設計」

- 第7.4項「テンプレートへのマークアップの追加」

- 第7.5項「プレースホルダの作成」

- 第7.6項「繰返しフィールドのグループの定義」

- 第7.7項「ページ番号および改ページの追加」

- 第7.8項「計算の実行」

- 第7.9項「完成したPDFレイアウトの例」

- 第7.10項「実行時の動作」

- 第7.11項「事前定義済PDFフォームからのレイアウトの作成」

- 第7.12項「デジタル署名用フィールドの追加または指定」

7.1 概要

PDFテンプレートを作成するには、既存のPDFドキュメントを取得してBI Publisherのマークアップを適用します。任意のソースのPDFを使用できる、PDFテンプレートの設計には多くの選択肢があります。たとえば、次のように入力します。

- PDFに変換可能なドキュメント(Microsoft Wordなど)を生成するアプリケーションを使用して、テンプレートを設計します。

- 紙の文書をスキャンして取り込み、テンプレートとして使用します。

- サード・パーティのWebサイトからPDFドキュメントをダウンロードします。

注意:

サード・パーティのPDFからテンプレートを作成する際に必要な手順は、フォーム・フィールドがドキュメントに追加されているかどうかで異なります。詳細は、第7.11項「事前定義済PDFフォームからのレイアウトの作成」を参照してください。

テンプレートを設計している場合は、テンプレートをPDFに変換すると、テンプレートが一連の背景として取り扱われます。テンプレートをマークアップする場合は、この背景上にフィールドを描画します。テンプレートを編集するには、元のドキュメントを編集して、それを再度PDFに変換しなおす必要があります。

そのため、PDFテンプレートは、頻繁に更新する必要があるドキュメントには不向きです。一方、請求書や発注書など、固定テンプレートのフォームには適しています。

7.2 要件

PDFドキュメントにフォーム・フィールドを適用または編集するには、Adobe Acrobat Professionalが必要です。BI Publisherでは、テンプレートを更新するためのツールとして、Adobe Acrobat 5.0以降をサポートしています。

BI Publisherにより、入力PDFバージョンに基づいて出力PDFバージョンを次のように生成します。

- PDFバージョン1.4以前ではPDF 1.4を生成します。

- PDFバージョン1.5以降では、入力バージョンと同じ出力バージョンを生成します。

注意:

BI Publisherでは、PDF 1.7標準をサポートしています。詳細は、付録F「PDFバージョンのサポート」を参照してください。

7.3 テンプレートの設計

テンプレートを設計するには、PDFに変換可能な文書を作成できるデスクトップ・アプリケーションを使用します。あるいは、用紙に印刷された文書を取り込み、テンプレートの背景として使用します。

図7-1に、サンプル発注書のテンプレートを示します。このサンプルは、Microsoft Wordを使用して設計し、Adobe Acrobat Distillerを使用してPDFに変換したものです。

図7-1 サンプル発注書のテンプレート

次に、このテンプレートへの入力として使用されるXMLデータを示します。

<?xml version="1.0"?>
<POXPRPOP2>
<G_HEADERS>
<POH_PO_NUM>1190-1</POH_PO_NUM>
<POH_REVISION_NUM>0</POH_REVISION_NUM>
<POH_SHIP_ADDRESS_LINE1>3455 108th Avenue</POH_SHIP_ADDRESS_LINE1>
<POH_SHIP_ADDRESS_LINE2></POH_SHIP_ADDRESS_LINE2>
<POH_SHIP_ADDRESS_LINE3></POH_SHIP_ADDRESS_LINE3>
<POH_SHIP_ADR_INFO>Seattle, WA 98101</POH_SHIP_ADR_INFO>
<POH_SHIP_COUNTRY>United States</POH_SHIP_COUNTRY>
<POH_VENDOR_NAME>Allied Manufacturing</POH_VENDOR_NAME>
<POH_VENDOR_ADDRESS_LINE1>1145 Brokaw Road</POH_VENDOR_ADDRESS_LINE1>
<POH_VENDOR_ADR_INFO>San Jose, CA 95034</POH_VENDOR_ADR_INFO>
<POH_VENDOR_COUNTRY>United States</POH_VENDOR_COUNTRY>
<POH_BILL_ADDRESS_LINE1>90 Fifth Avenue</POH_BILL_ADDRESS_LINE1>
<POH_BILL_ADR_INFO>New York, NY 10022-3422</POH_BILL_ADR_INFO>
<POH_BILL_COUNTRY>United States</POH_BILL_COUNTRY>
<POH_BUYER>Smith, J</POH_BUYER>
<POH_PAYMENT_TERMS>45 Net (terms date + 45)</POH_PAYMENT_TERMS>
<POH_SHIP_VIA>UPS</POH_SHIP_VIA>
<POH_FREIGHT_TERMS>Due</POH_FREIGHT_TERMS>
<POH_CURRENCY_CODE>USD</POH_CURRENCY_CODE>
<POH_CURRENCY_CONVERSION_RATE></POH_CURRENCY_CONVERSION_RATE>
<LIST_G_LINES>
<G_LINES>
<POL_LINE_NUM>1</POL_LINE_NUM>
<POL_VENDOR_PRODUCT_NUM></POL_VENDOR_PRODUCT_NUM>
<POL_ITEM_DESCRIPTION>PCMCIA II Card Holder</POL_ITEM_DESCRIPTION>
<POL_QUANTITY_TO_PRINT></POL_QUANTITY_TO_PRINT>
<POL_UNIT_OF_MEASURE>Each</POL_UNIT_OF_MEASURE>
<POL_PRICE_TO_PRINT>15</POL_PRICE_TO_PRINT>
<C_FLEX_ITEM>CM16374</C_FLEX_ITEM>
<C_FLEX_ITEM_DISP>CM16374</C_FLEX_ITEM_DISP>
<PLL_QUANTITY_ORDERED>7500</PLL_QUANTITY_ORDERED>
<C_AMOUNT_PLL>112500</C_AMOUNT_PLL>
<C_AMOUNT_PLL_DISP> 112,500.00 </C_AMOUNT_PLL_DISP>
</G_LINES>
</LIST_G_LINES>
<C_AMT_POL_RELEASE_TOTAL_ROUND>312420/<C_AMT_POL_RELEASE_TOTAL_ROUND>
</G_HEADERS>
</POXPRPOP2>

7.4 テンプレートへのマークアップの追加

ドキュメントをPDFに変換した後は、XML入力ファイルからのデータを表示するフォーム・フィールドを定義します。これらのフォーム・フィールドはデータのプレースホルダとして機能します。

XMLデータをPDFテンプレートに関連付けるプロセスは、RTFテンプレートのプロセスと同じです。第4.2項「テンプレート・レイアウトへのXMLデータの関連付け」を参照してください。

Adobe Acrobatでフォーム・フィールドを描画する際、これらは設計したテンプレートの上に描画しています。テンプレート上の設計要素とフォーム・フィールドの間の関連付けはありません。したがって、フィールドはテンプレートで表示する場所に正確に配置する必要があります。

7.5 プレースホルダの作成

プレースホルダは、データを表示する方法によって、テキスト、チェック・ボックスまたはラジオ・ボタンとして定義できます。

注意:

フォーム・フィールドを追加する手順は、使用するAdobe Acrobat Professionalのバージョンによって異なります。使用しているバージョンのAdobeのドキュメントを参照してください。Adobe Acrobat 9 Proを使用している場合は、「Forms」メニューの「Add or Edit Fields」を選択します。

7.5.1 プレースホルダ名の指定

プレースホルダ名はXMLソース・フィールド名と一致している必要があります。

7.5.2 テキスト・プレースホルダの作成

ここでは、Adobe Acrobat 9 Proを使用してテキストのフォーム・フィールドのプレースホルダを作成する方法について説明します。異なるバージョンのAdobe Acrobat Professionalを使用している場合、詳細はそのバージョンのドキュメントを参照してください。

テキスト・プレースホルダを作成する手順は次のとおりです。

1. 「Forms」メニューの「Add or Edit Fields」を選択します。

2. 「Add New Field」リストで「Text Field」を選択します。カーソルが十字に変わります。

3. フォーム内のフィールドを配置する場所に十字カーソルを移動してクリックします。「Field Name」ダイアログが表示されます。

4. 名前を入力します。テキスト・フィールドの名前は、実行時にこのフィールドに移入されるデータのXML要素の名前と一致している必要があります。

5. その他のプロパティを設定するには、「Show All Properties」をクリックします。
「Properties」ダイアログ・ボックスを使用して、そのプレースホルダのその他の属性を設定します。たとえば、最大文字サイズの規定、フィールドのデータ型の設定、データ型の検証、表示および書式に関する属性を設定できます。

6. 意図している正確な位置にフィールドが配置されていない場合、またはサイズが正しくない場合は、正しい位置までフィールドをドラッグし、ハンドルを使用してサイズを変更します。

7.5.3 サポートされているフィールド・プロパティ・オプション

BI Publisherでは、次のオプションをサポートしています。これらのオプションは「Field Properties」ダイアログ・ボックスから利用できます。これらのオプションの詳細は、Adobe Acrobatのドキュメントを参照してください。

- General

- Read Only
このチェック・ボックスを一連の構成プロパティと組み合せて設定し、出力PDFのフィールドの状態(読取り専用/更新可能)を制御します。第7.10.2項「フィールドに対する更新可能または読取り専用の設定」を参照してください。

- Required

- Visible/Hidden

- Orientation (in degrees)

- Appearance

- Border Settings: 色、背景、幅、スタイル

- Text Settings: 色、フォント、サイズ

- Border Style

- 「Options」タブ

- Multi-line

- Scrolling Text

- 「Format」タブ - 数値に関するオプションのみ

- 「Calculate」タブ - すべての計算機能

7.5.4 チェック・ボックスの作成

チェック・ボックスは、複数を選択できるオプションを表示するために使用されます。各チェック・ボックスは、異なるデータ要素を表します。チェック・ボックスの表示を選択状態にする値を定義します。

たとえば、パワー・ステアリング、パワー・ウィンドウ、サンルーフなどの自動車のオプションをリストするチェック・ボックスをフォームに配置したとします。これらの各オプションは、XMLファイルの異なる要素(<POWER_STEERING>など)を表します。XMLファイルのこれらのフィールドに「Y」の値が含まれている場合は、チェック・ボックスが選択された状態で表示する必要があります。これらのオプションは、すべてを選択することも選択しないこともできます。

ここでは、Adobe Acrobat 9 Proを使用してチェック・ボックス・フィールドを作成する方法について説明します。異なるバージョンのAdobe Acrobat Professionalを使用している場合、詳細はそのバージョンのドキュメントを参照してください。

チェック・ボックスを作成する手順は次のとおりです。

1. 「Forms」メニューの「Add or Edit Fields」を選択します。

2. 「Add New Field」リストから「Check Box」を選択します。カーソルが十字に変わります。

3. フォーム内のフィールドを配置する場所に十字カーソルを移動してクリックします。「Field Name」ダイアログが表示されます。

4. 名前を入力します。チェック・ボックス・フィールドの名前は、状態(選択または選択解除)の決定に使用されるデータのXML要素の名前と一致している必要があります。

5. 「Show All Properties」をクリックします。

6. 「オプション」タブをクリックします。

7. リストから「Check Box Style」タイプを選択します。

8. 「Export Value」フィールドに、XMLデータ・フィールドの値と一致し、チェック・ボックスを選択された状態で表示する値を入力します。
たとえば、各チェック・ボックス・フィールドに「Y」と入力します。

9. 必要に応じて、その他の「Properties」を設定します。

7.5.5 ラジオ・ボタン・グループの作成

ラジオ・ボタン・グループは、1つのみを選択できるオプションを表示するために使用されます。

たとえば、XMLデータ・ファイルに<SHIPMENT_METHOD>というフィールドがあるとします。このフィールドに指定可能な値は「標準」または「夜間」です。フォームでは、このフィールドを「標準」および「夜間」というラベルが付いた2つのラジオ・ボタンで表します。両方のラジオ・ボタン・フィールドを、<SHIPMENT_METHOD>データ・フィールドのプレースホルダとして定義します。一方のフィールドは、値が「標準」の場合に選択状態になるように定義します。もう一方のフィールドは、値が「夜間」の場合に選択状態になるように定義します。

ここでは、Adobe Acrobat 9 Proを使用してラジオ・ボタン・グループを作成する方法について説明します。異なるバージョンのAdobe Acrobat Professionalを使用している場合、詳細はそのバージョンのドキュメントを参照してください。

ラジオ・ボタン・グループを作成する手順は、次のとおりです。

1. 「Forms」メニューの「Add or Edit Fields」を選択します。

2. 「Add New Field」リストから「Radio Button」を選択します。カーソルが十字に変わります。

3. フォーム内のラジオ・ボタン・グループを配置する場所に十字カーソルを移動してクリックします。「Radio Group Name」ダイアログが表示されます。

4. 名前を入力します。ラジオ・グループの名前は、状態(選択または選択解除)の決定に使用されるデータのXML要素の名前と一致している必要があります。

5. 「Button Value」フィールドに、XMLデータ・フィールドの値と一致し、ボタンを選択された状態で表示する値を入力します。
たとえば、「Standard」というラベルのフィールドの場合、「Standard」と入力します。

6. グループに別のラジオ・ボタンを含めるには、「Add another button to group」をクリックします。ラジオ・グループの名前が名前フィールドのデフォルトになります。

7. 「Button Value」フィールドに、XMLデータ・フィールドの値と一致し、このボタンを選択された状態で表示する値を入力します。
たとえば、「Overnight」というラベルのフィールドの場合、「Overnight」と入力します。

8. プロパティのいずれかを変更する場合は、「Show All Properties」をクリックします。ラジオ・ボタンのスタイルを変更するには、「Options」タブをクリックします。

9. 「Type」ドロップダウン・リストから「Radio Button」を選択します。

10. 必要に応じて、その他の「Properties」を設定します。

7.6 繰返しフィールドのグループの定義

PDFレイアウトでは、ページ上で繰返しフィールドが含まれる領域を明示的に定義します。たとえば、発注書レイアウトの場合、繰返しフィールドは品目ヘッダー行と合計フィールドの間の一定の場所に表示されます。

繰返しフィールドのグループを含む領域を定義する手順は、次のとおりです。

1. グループを含める領域の最初の部分に、テキスト・フィールドを挿入します。

2. 「Field Name」ダイアログで、一意の名前を入力します。このフィールドはマッピングされません。

3. 「Text Field Properties」ダイアログの「Tooltip」フィールドに次の構文を入力します。
<?rep_field="BODY_START"?>

4. グループを含める領域の最後にテキスト・フィールドを挿入することで、グループ領域の終了を定義します。

5. 「Field Name」ダイアログで、一意の名前を入力します。このフィールドはマッピングされません。このフィールドに割り当てた名前は、「body start」フィールドに割り当てた名前とは異なっている必要があることに注意してください。

6. 「Text Field Properties」ダイアログの「Tooltip」フィールドに次の構文を入力します。
<?rep_field="BODY_END"?>

繰返しフィールドのグループを定義する手順は、次のとおりです。

1. グループの最初の要素に対するプレースホルダを挿入します。

注意:

このフィールドの配置は、BODY_STARTタグと関連して、出現ごとに繰り返す行の間隔を定義します。第7.10.1項「繰返しフィールドの配置」を参照してください。

2. グループの各要素に対して、「Tooltip」フィールドに次の構文を入力します。
<?rep_field="T1_Gn"?>

ここで、nはレイアウト上の項目の行番号を示します。

たとえば、サンプル・レポートのグループは、3行にレイアウトされています。

- PO_LINE_NUMで開始する行に属するフィールドに対して、次の構文を入力します。
<?rep_field="T1_G1"?>

- C_FLEX_ITEM_DISPで開始する行に属するフィールドに対して、次の構文を入力します。
<?rep_field="T1_G2"?>

- C_SHIP_TO_ADDRESSで開始する行に属するフィールドに対して、次の構文を入力します。
<?rep_field="T1_G3"?>

図7-2は、「Short Description/Tooltip」フィールドへの入力を示しています。

図7-2 「Short Description/Tooltip」フィールドへの入力

3. (オプション)フィールドを整列します。フィールドの単一の行を正しく整列するには、Adobe Acrobatの整列機能を使用することをお薦めします。

7.7 ページ番号および改ページの追加

この項では、PDFレイアウトに後続ページの機能を追加する方法について説明します。

- 第7.7.1項「ページ番号の追加」

- 第7.7.2項「改ページの追加」

7.7.1 ページ番号の追加

ページ番号を追加するには、ページ番号を表示するフィールドをレイアウトに定義して、そのフィールドに初期値を入力します。

ページ番号を追加する手順は、次のとおりです。

1. ページ番号を表示するレイアウト上の位置を決定します。

2. @pagenum@と呼ばれるプレースホルダ・フィールドを作成します(第7.5.2項「テキスト・プレースホルダの作成」を参照)。

3. 「Default」フィールド(「Text Field Properties」→「Options」タブ)にページ番号の開始値を入力します。XMLデータにこのフィールドの値が含まれている場合は、レイアウトに割り当てられた開始値より優先されます。開始値が割り当てられていない場合は、1にデフォルト設定されます。

7.7.2 改ページの追加

レイアウトの改ページは、繰返し可能フィールドの後ろに配置されるように定義できます。特定のフィールドの後ろに改ページを挿入するには、「Text Field Properties」ダイアログ・ボックスの「Tooltip」フィールドに次の構文を追加します。

page_break="yes"

たとえば、次のように入力します。

<?rep_field="T1_G3", page_break="yes"?>

次の例は、レイアウトへの改ページの挿入を示しています。XMLサンプルには、各部門の従業員の給与が含まれています。

<?xml version="1.0"?>
<! -  Generated by Oracle Reports version 6.0.8.22.0  - >
<ROOT>
<LIST_G_DEPTNO>
<G_DEPTNO>
<DEPTNO>10</DEPTNO>
<LIST_G_EMPNO>
<G_EMPNO>
<EMPNO>7782</EMPNO>
<ENAME>CLARK</ENAME>
<JOB>MANAGER</JOB>
<SAL>2450</SAL>
</G_EMPNO>
<G_EMPNO>
<EMPNO>7839</EMPNO>
<ENAME>KING</ENAME>
<JOB>PRESIDENT</JOB>
<SAL>5000</SAL>
</G_EMPNO>
<G_EMPNO>
<EMPNO>125</EMPNO>
<ENAME>KANG</ENAME>
<JOB>CLERK</JOB>
<SAL>2000</SAL>
</G_EMPNO>
<G_EMPNO>
<EMPNO>7934</EMPNO>
<ENAME>MILLER</ENAME>
<JOB>CLERK</JOB>
<SAL>1300</SAL>
</G_EMPNO>
<G_EMPNO>
<EMPNO>123</EMPNO>
<ENAME>MARY</ENAME>
<JOB>CLERK</JOB>
<SAL>400</SAL>
</G_EMPNO>
<G_EMPNO>
<EMPNO>124</EMPNO>
<ENAME>TOM</ENAME>
<JOB>CLERK</JOB>
<SAL>3000</SAL>
</G_EMPNO>
</LIST_G_EMPNO>
<SUMSALPERDEPTNO>9150</SUMSALPERDEPTNO>
</G_DEPTNO>

<G_DEPTNO>
<DEPTNO>30</DEPTNO>
<LIST_G_EMPNO>
.
.
.

</LIST_G_EMPNO>
<SUMSALPERDEPTNO>9400</SUMSALPERDEPTNO>
</G_DEPTNO>
</LIST_G_DEPTNO>
<SUMSALPERREPORT>29425</SUMSALPERREPORT>
</ROOT>

図7-3に示すように、レポートの要件として、部門別に各従業員の給与情報を表示する必要があるとします。

図7-3 部門別給与サマリーの例

各部門の後ろに改ページを挿入するには、SUMSALPERDEPTNOフィールドの「Tooltip」フィールドに、次のように改ページ構文を指定します。

<?rep_field="T1_G3", page_break="yes"?>

図7-4に、このフィールドの「Text Field Properties」ダイアログを示します。

図7-4 「Text Field Properties」ダイアログ

改ページを配置するためには、XMLファイルのデータを使用してフィールドを作成する必要があります。

図7-5に、データが表示されているサンプル・レポートを示します。

図7-5 データが表示されているサンプル・レポート

各部門の後ろに改ページが挿入されます。

7.8 計算の実行

Adobe Acrobatでは、「Field Properties」ダイアログ・ボックスに計算機能が用意されています。

計算された合計をレポートに表示するフィールドを作成する手順は次のとおりです。

1. 計算された合計を表示するテキスト・フィールドを作成します。フィールドに名称を指定します。

2. 「Field Properties」ダイアログ・ボックスで、「Format」タブを選択します。

3. 「Category」リストから「Number」を選択します。

4. 「Calculate」タブを選択します。

5. 次のフィールドの「Value is the <操作のリスト>」の横にあるラジオ・ボタンを選択します。

6. ドロップダウン・リストから「sum(+)」を選択します。

7. 「Pick...」ボタンをクリックして、合計するフィールドを選択します。

7.9 完成したPDFレイアウトの例

図7-6に、完成したPDFレイアウトを示します。

図7-6 完成したPDFレイアウト

7.10 実行時の動作

次の各項では、PDFテンプレートの実行時の動作について説明します。

- 第7.10.1項「繰返しフィールドの配置」

- 第7.10.2項「フィールドに対する更新可能または読取り専用の設定」

- 第7.10.3項「データのオーバーフロー」

7.10.1 繰返しフィールドの配置

すでに説明したとおり、レイアウト上に作成するフィールドの配置、間隔および整列は、基礎となるフォーム・レイアウトから独立しています。実行時に、BI Publisherは、作成したフィールドの行の配置について実行される計算に従って、繰り返す各行のデータを次のように配置します。

1度目の表示

繰返しフィールドの1行目は、レイアウト上に配置したそのフィールドの位置に表示されます。

2度目の表示(単一行)

2度目に出現したグループを配置するために、BI Publisherによって、BODY_STARTタグと1度目に表示した最初のフィールドとの間隔が計算されます。2度目に出現したグループの最初のフィールドは、1度目の表示の下に、この計算された間隔を空けて配置されます。

2度目の表示(複数行)

1度目のグループに複数の行が含まれている場合、2度目に出現したグループは、1度目の最終行の下に、計算された間隔を空けて配置されます。

グループ内の各行間は、1度目の表示で定義された間隔が保持されます。

7.10.2 フィールドに対する更新可能または読取り専用の設定

レイアウトにフィールドを定義する際は、図7-7に示すように、フィールドに対して「Read Only」を選択するオプションがあります。

図7-7 「Text Field Properties」ダイアログの「Read Only」オプション

設計時の「Read Only」チェック・ボックスの設定に関係なく、PDF処理エンジンのデフォルトの動作では、出力PDFのすべてのフィールドは読取り専用に設定されます。第10章「レポート処理および出力ドキュメントのプロパティの設定」で説明されているように、この動作は、次のレポート・プロパティを使用することで変更できます。

- all-field-readonly

- all-fields-readonly-asis

- remove-pdf-fields

最初の2つのオプションで、PDF出力のフィールドの状態を設定します。個別のフィールドの設定は、Adobe Acrobat Professionalを使用して出力内で変更できます。各フィールドが維持されるため、データは引き続き分離されていて抽出可能です。3番目のremove-pdf-fieldsオプションで、構造が水平化され、フィールドとデータの分離が保持されなくなります。

全フィールドを更新可能にする方法:

all-field-readonlyプロパティをFalseに設定します。設計時の個別のフィールド設定に関係なく、すべてのフィールドの読取り専用状態がFalseに設定されます。

全フィールドを読取り専用にする方法:

これは、デフォルトの動作です。設定は必要ありません。

各フィールドの「Read Only」チェック・ボックスの選択状態を維持する方法:

出力PDFで、「Read Only」チェック・ボックスの設定を各フィールドごとに維持するには、all-fields-readonly-asisプロパティをTrueに設定します。このプロパティは、all-field-readonlyの設定より優先されます。

出力PDFから全フィールドを削除する方法:

remove-pdf-fieldsプロパティをTrueに設定します。

7.10.3 データのオーバーフロー

繰り返すデータ行の表示を確保するために複数のページが必要な場合は、定義されている繰返し領域を除き、各ページは同じように表示され、繰返しデータの続きが表示されます。たとえば、発注品目の行がレイアウトに定義されている領域を超えて伸びている場合、後続のページには、発注書フォームからのすべてのデータと、品目行の続きが表示されます。

7.11 事前定義済PDFフォームからのレイアウトの作成

レポート・データのレイアウトとして使用できる多数のPDFフォームがオンランで提供されていますたとえば、ある企業で、特定の行政関係の用紙を提出する必要があるとします。この場合は、ダウンロードしたPDFファイルをレポートのレイアウトとして使用し、実行時にXMLデータを入力することでレポート・フィールドに記入されます。

一部のフォームにはすでにフォーム・フィールドがありますが、フォーム・フィールドが定義されていないフォームもあります。未確認の場合は、第7.11.1項「PDFに定義済のフォーム・フィールドが存在するかどうかの確認」を参照してください。PDFフォームにすでにフィールドが定義されている場合、次のいずれかの方法を使用して、フォーム・フィールド名とデータ・フィールド名を対応付けられます。

- Adobe Acrobat Professionalを使用して、XMLデータ・ファイルの要素名と一致するように、ドキュメント内のフィールドの名前を変更します。第7.11.2項「フォーム・フィールドの名前変更による定義済PDFフォームのレイアウトとしての使用」を参照してください。

- BI Publisherのデータ・モデル・エディタを使用して、PDFフォームのフィールド名と一致するようにデータ・ファイル内のXML要素名を変更します。詳細は、『Oracle Fusion Middleware Oracle Business Intelligence Publisherデータ・モデリング・ガイド』のデータの構造化に関する項を参照してください。

ダウンロードしたPDFに定義済フォーム・フィールドがない場合は、作成する必要があります。フォーム・フィールドのプレースホルダを挿入する方法の手順は、第7.4項「テンプレートへのマークアップの追加」を参照してください。

7.11.1 PDFに定義済のフォーム・フィールドが存在するかどうかの確認

PDFフォームに定義済のフォーム・フィールドが存在するかどうかを確認する手順は、次のとおりです。

1. Adobe Acrobat ReaderまたはAdobe Acrobat Professionalでドキュメントを開きます。

2. 「Highlight Fields」をクリックします。ドキュメント内に存在するフォーム・フィールドが強調表示されます。

フィールド名のリストを取得するには:

1. Adobe Acrobat Professionalでドキュメントを開きます。

2. 「Form」メニューから「Add or Edit Fields」を選択します。フィールド名は、ドキュメント内だけでなく「Fields」ペインにも表示されます。

7.11.2 フォーム・フィールドの名前変更による定義済PDFフォームのレイアウトとしての使用

定義済PDFフォームをレイアウトとして使用する手順は次のとおりです。

1. PDFファイルをローカル・システムにダウンロードまたはインポートします。

2. Adobe Acrobat Professionalでファイルを開きます。

3. 「Form」メニューから「Add or Edit Fields」を選択します。これにより定義済のテキスト・フィールドが強調表示されます。
図7-8は、「Add or Edit Fields」を選択し、テキスト・フィールドが強調表示されたサンプルのW-2 PDFフォームを示しています。

図7-8 「Add or Edit Fields」オプションを選択した後のサンプルW-2 PDFフォーム

既存のフォーム・フィールドを、受信したXMLファイルのデータにマップするには、XMLファイルの要素名と一致するようにフィールド名を変更します。

4. フィールドをダブルクリックするか、フィールドを選択して右マウス・ボタンで「Properties」を選択し、フォーム・フィールドの「Properties」ダイアログを開きます。

5. 「Name」フィールドに、入力XMLファイルに従って要素名を入力します。

6. データ・ファイルによって移入するフィールドすべてに対して、この手順を繰り返します。

7. すべてのフィールドを更新したら、「Close Form Editing」をクリックします。

8. レイアウトの保存

7.11.3 「Comb of characters」オプションの使用

Adobe AcrobatでPDFフォーム・フィールドに対して「Comb of characters」オプションを選択すると、テキスト・フィールドの幅全体にわたって、テキストが均等に広がります。このオプションは、図7-9に示す「Routing number」フィールドのように、フォーム・フィールドで特定の位置に文字を入力する必要がある場合に使用します。

図7-9 特定の位置への文字配置が必要なPDFフォーム・フィールドの例

この機能を使用するには、次の手順を実行します。

1. Adobe Acrobat Professionalで、フォーム・フィールドをテキスト・フィールドとして追加します。次の図に例を示します。

2. 「Text Field Properties」ダイアログを開いて、「Options」タブをクリックします。すべてのチェック・ボックスの選択を解除して、「Comb of characters」チェック・ボックスを選択します。

注意:

「Comb of characters」オプションが有効となるのは、それ以外のオプションがすべて選択解除されている場合のみです。

テキスト・フィールドに文字数を入力します。ルーティングの番号の例では、次の図に示すように、値として「9」が入力されます。

そのつど指定される文字数がデータに含まれていないことがある場合には、「Alignment」オプションを設定して、フィールド内で値が右揃え、左揃え、中央揃えのいずれになるのかを指定できます。

レポートを実行すると、ルーティング・フィールドの値で構成される文字が、図7-10に示すように、テキスト・フィールド全体にわたって広がります。

図7-10 データが表示されている例

ルーティング・フィールドのデータに含まれている文字が上限の9個に達しておらず、かつ「Alignment」オプションが左に設定されている場合に、フィールドにデータがどのように表示されるかを、図7-10に示します。

図7-11 データが左揃えされている例

7.12 デジタル署名用フィールドの追加または指定

Oracle BI Publisherでは、PDF出力ドキュメントのデジタル署名をサポートしています。デジタル署名により、送受信するドキュメントが本物であることを検証できます。Oracle BI Publisherは一元管理されたセキュアな場所にあるデジタルIDファイルにアクセスし、実行時にそのデジタルIDによってPDF出力に署名できます。デジタル署名では、署名者のIDを検証して、署名後にドキュメントが改ざんされていないことを確認します。

デジタル署名を実装するには、BI Publisher製品でいくつかの作業を行う必要があります。このトピックでは、デジタル署名用にPDFテンプレートに新しいフィールドを追加する方法、または既存のフィールドを構成する方法について説明します。その他の必要な作業およびオプションの詳細は、『Oracle Fusion Middleware Oracle Business Intelligence Publisher管理者ガイド』のデジタル署名の実装に関する項を参照してください。

7.12.1 署名フィールドのオプションについて

PDFテンプレートでは、出力レポートのデジタル署名フィールドを設計する際に次のオプションがあります。

- 署名フィールドをPDFレイアウトに追加します。
このオプションは、デジタル署名を特定のフィールドで表示する必要があり、PDFテンプレートに署名フィールドがない場合に使用します。第7.12.2項「署名フィールドの追加」を参照してください。

- 既存の署名フィールドをPDFテンプレートで使用します。
このオプションは、使用する署名フィールドがPDFテンプレートにすでに存在する場合に使用します。既存のフィールドをデジタル署名に指定するには、「ランタイム構成」ページでフィールドを定義します。第7.12.3項「実行時にデジタル署名を挿入するレポートの構成」を参照してください。

- x座標とy座標を設定して、出力レポートのデジタル署名の位置を指定します。
このオプションは、署名フィールドを使用するのではなく、デジタル署名フィールドの位置にx座標とy座標を指定する場合に使用します。この位置はランタイム・プロパティを使用して設定します。このプロパティの設定の詳細は、第10.4項「PDFデジタル署名プロパティ」を参照してください。

これら3つのオプションでは、テンプレートをアップロードした後に「レポート・プロパティ」ページでレポートの構成プロパティを設定する必要があります。

7.12.2 署名フィールドの追加

署名フィールドを追加する手順は、次のとおりです。

1. Adobe Acrobat Professionalでテンプレートを開きます。

2. 「Form」メニューから「Add or Edit Fields」を選択します。次に「Add New Field」をクリックします。フィールドのリストから「Digital Signature」を選択します。

3. レイアウト上の目的の場所に署名フィールドを描画します。マウス・ボタンを放すと、ダイアログが表示されて、フィールドの名前を入力するように求められます。

4. 署名フィールドの名前を入力します。図7-12は、My_Signatureというデジタル署名フィールドが挿入された状態を示しています。

図7-12 My_Signatureというデジタル署名フィールドが挿入された状態

5. テンプレートを保存します。

6. 第7.12.3項「実行時にデジタル署名を挿入するレポートの構成」に進みます。

7.12.3 実行時にデジタル署名を挿入するレポートの構成

PDFテンプレートをレポート定義にアップロードしたら(第2.6.2項「テンプレート・ファイルのアップロードによるレイアウトの追加」を参照)、「レポート・プロパティ」でデジタル署名を有効にして署名フィールドを指定する必要があります。

デジタル署名を挿入するようにレポートを構成する手順は次のとおりです。

1. レポート編集ページから「プロパティ」をクリックし、「書式設定」タブをクリックします。

2. スクロールして、「PDFデジタル署名」プロパティ・グループを表示します。

3. 「デジタル署名の有効化」を「True」に設定します。

4. 「既存の署名フィールド名」プロパティでPDFテンプレートからフィールド名を入力します。
この方法では、これ以外のプロパティは必要ありません。

次の図は、My_Signatureというフィールド名が「プロパティ」フィールドに入力された様子を示しています。

図7-13 My_Signatureというフィールドが「プロパティ」フィールドに入力された状態

5. 「OK」をクリックします。
ここで設定したランタイム・プロパティはレポート・レベルであり、レイアウト・レベルではないことに注意してください。したがって、レポートに関連付けられているレイアウトには、「レポート・プロパティ」で指定したデジタル署名が組み込まれています。「既存の署名フィールド名」が指定されている場合は、テンプレートに署名を適用するフィールドが含まれている必要があります。

8 eTextテンプレートの作成

BI Publisherでは、eTextテンプレートを使用してEDIおよびEFTトランザクション用のフラット・ファイルを作成します。この章では、Microsoft WordでeTextテンプレートを作成する方法について説明します。

この章の内容は次のとおりです。

- 第8.1項「概要」

- 第8.2項「eTextテンプレートの構造」

- 第8.3項「データ表の作成」

- 第8.4項「コマンド行」

- 第8.5項「データ行の構造」

- 第8.6項「設定コマンド表」

- 第8.7項「Filler Blockの作成」

- 第8.8項「式、制御構造および関数」

- 第8.9項「識別子、演算子およびリテラル」

8.1 概要

eTextテンプレートは、EFT(Electronic Funds Transfer)やEDI(Electronic Data Interchange)用のテキスト出力の生成に使用する、RTFベースのテンプレートです。BI Publisherでは、実行時にこのテンプレートを入力XMLデータ・ファイルに適用し、銀行や他の顧客に転送可能な出力テキスト・ファイルを作成します。この出力は電子通信用であるため、eTextテンプレートにデータを配置する際は、書式に関する具体的な指示に忠実に従う必要があります。

注意:

EFTとは、特定の定位置形式のフラット・ファイル(テキスト)を使用した、銀行への財務データや支払いの電子伝送のことです。

EDIはEFTと似ていますが、銀行への支払い情報の伝送に限られないという点が異なります。これは、発注書や請求書などのビジネス・ドキュメントを企業間で交換するための手段としてもよく利用されます。EDIデータはデリミタベースで、これもまたフラット・ファイル(テキスト)として伝送されます。

これらの形式のファイルは、用紙に印刷するかわりに、フラット・ファイルとして伝送されます。レコード長は、数百文字にわたることがあるため、標準サイズの用紙でレイアウトを設定することは困難です。

このようなレコード長に対応するため、EFTおよびEDIテンプレートの設計には表が使用されています。各レコードは、表形式で表されます。表の各行は、レコード内の1つのフィールドに対応しています。表の列は、フィールドの位置、長さおよび値を指定します。

これらの形式では、入力XMLファイルのデータに対する特別な処理が必要な場合もあります。この特別な処理は、グローバル・レベル(文字の置換や順序付けなど)またはレコード・レベル(ソートなど)で実行されます。これらの機能の実行コマンドは、コマンド行で宣言します。グローバル・レベルのコマンドは、設定表で宣言します。

BI Publisherでは、実行時に表内の設定コマンドおよびレイアウト指定に従って、出力ファイルが生成されます。

8.1.1 前提条件

この項は、EDIおよびEFTトランザクションの知識があるユーザーを対象としています。eTextテンプレートを作成するには、機能的知識と技術的知識の両方が必要です。つまり、銀行および国固有の支払い書式要件を理解するための機能的知識と、XMLデータ構造およびeText固有のコーディング構文コマンド、関数、操作を理解するための技術的知識が必要です。

8.2 eTextテンプレートの構造

eTextテンプレートには、定位置ベース(EFTテンプレート)とデリミタベース(EDIテンプレート)の2種類があります。テンプレートは一連の表で構成されています。これらの表では、レイアウト、設定コマンドおよびデータ・フィールド定義が定義されます。2種類のテンプレートに必要とされるデータの説明列は異なりますが、使用可能なコマンドと関数は同じです。表には、コマンドのみを含めることも、コマンドとデータ・フィールドを含めることもできます。

図8-1に、コマンド行およびデータ行の一般的な構造を表示する、EFTテンプレートのサンプルを示します。

図8-1 EFTテンプレートのサンプル

グローバルに適用されるコマンド、またはテンプレートのプログラム要素を定義するコマンドは、設定コマンドと呼ばれます。これらのコマンドは、テンプレートの始めの表で指定する必要があります。設定コマンドの例には、テンプレート・タイプやキャラクタ・セットがあります。

データ表では、ソースXMLのデータ要素名、および受信側の銀行またはエンティティが必要とする特定の配置および書式設定定義を指定します。データおよび条件付き文に対して実行する関数を定義することもできます。

データ表は必ず、レベルを定義するコマンド行で始める必要があります。レベルは、表をXMLデータ・ファイルの要素に関連付けて、階層を確立します。レベルの表で次に定義するデータ・フィールドは、XML要素の子要素に対応します。

図8-2に、XMLデータ階層とテンプレート・レベル間の関連を示します。XML要素RequestHeaderは、レベルとして定義されています。表に定義されているデータ要素(FileIDおよびEncryption)は、RequestHeader要素の子です。

図8-2 XMLデータ階層とテンプレート・レベル間の関連

テンプレート内の表の順序は、レコードの印刷順序を決定します。実行時に、システムは表(レベル)に対応するXML要素のすべてのインスタンスをループし、その表に属するレコードを印刷します。その後、テンプレート内の次の表を処理します。表がネストされている場合は、次の親インスタンスに移動する前に、子表のネストされているレコードを生成します。

8.2.1 コマンド行、データ行およびデータ列ヘッダー行

図8-3に、コマンド行、データ行およびデータ列ヘッダー行の配置を示します。

図8-3 コマンド行、データ行およびデータ列ヘッダー行の配置

コマンド行は、テンプレート内のコマンドの指定に使用します。コマンド行には、コマンド名とコマンド・パラメータの2つの列が常に存在します。コマンド行には列ヘッダーはありません。コマンドは、テンプレートの全体的な設定とレコード構造を制御します。

表は、任意の位置に空白行を挿入することによって、見やすくすることができます。空白行は、設定表のコマンド間で最も頻繁に使用されています。BI Publisherでは、テンプレートの解析時にこの空白行が無視されます。

8.2.2 データ列ヘッダー行

データ列ヘッダーは、データ・フィールドの列ヘッダーを指定します(位置、長さ、書式、埋込み、コメントなど)。列ヘッダー行は、通常は表のレベル・コマンド(ソート・コマンドの使用時にはソート・コマンド)の後に続きます。データ列ヘッダー行は、表のデータ行よりも前に配置する必要があります。また、表の任意の位置に空の列ヘッダー行を挿入すると、表を見やすくすることができます。空の行は、実行時には無視されます。

必要なデータ列ヘッダー行は、テンプレート・タイプに応じて異なります。第8.5項「データ行の構造」を参照してください。

8.2.3 データ行

データ行は、各データ・フィールドのデータ列ヘッダーの値を提供します。

データ行の内容は、テンプレート・タイプに応じて異なります。第8.5項「データ行の構造」を参照してください。

8.3 データ表の作成

データ表には、コマンド行とデータ・フィールド行の組合せが含まれます。各データ表は、そのXML要素を指定するレベル・コマンド行で始まる必要があります。各レコードは、新しいレコードの始めと前のレコード(存在する場合)の終わりを指定する新規レコード・コマンドで始まる必要があります。

データ・フィールドに必要な列は、テンプレート・タイプに応じて異なります。

8.4 コマンド行

コマンド行には、コマンド名とコマンド・パラメータの2つの列が常に存在します。サポートされているコマンドは次のとおりです。

- レベル(LEVEL)

- 新規レコード(NEW RECORD)

- 昇順ソート(SORT ASCENDING)

- 降順ソート(SORT DESCENDING)

- 表示条件(DISPLAY CONDITION)

これらの各コマンドの使用方法は、次の各項で説明します。

8.4.1 レベル・コマンド

レベル・コマンドは、表をXML要素に関連付けます。レベル・コマンドのパラメータは、XML要素です。レベルは、データ入力ファイル内でXML要素のインスタンスが出現するたびに1度出力されます。

レベル・コマンドは、テンプレートの階層を定義します。たとえば、支払いXMLのデータ抽出は階層的になります。バッチには複数の子支払いを、また支払いには複数の子請求書を含めることができます。この階層は、親要素内にネストされている子要素としてXMLで表されます。レベル・コマンドを使用して表をXML要素に関連付けることで、その表も同じ階層構造を持つことになります。

XML要素の終了タグと同様、レベル・コマンドには対となるレベル終了コマンドがあります。子表は、親要素に対して定義されたレベル・コマンドとレベル終了コマンドの間に定義する必要があります。

XML要素は、1つのレベルのみと関連付けることができます。レベルに属するすべてのレコードは、そのレベルの表内か、そのレベルに属するネストされた表内に存在する必要があります。レベル終了コマンドは、最後の表の終わりに指定されます。

次に、EFTファイル・レコード・レイアウトのサンプル構造を示します。

- FileHeaderRecordA

- BatchHeaderRecordA

- BatchHeaderRecordB
PaymentRecordA

PaymentRecordB

- InvoiceRecordA

- Batch FooterRecordC

- BatchFooterRecordD

- FileFooterRecordB

この表のレイアウトは次のとおりです。

<LEVEL>

RequestHeader

<NEW RECORD>

FileHeaderRecordA

FileHeaderRecordAのデータ行

<LEVEL>

Batch

<NEW RECORD>

BatchHeaderRecordA

BatchHeaderRecordAのデータ行

<NEW RECORD>

BatchHeaderRecordB

BatchHeaderRecordBのデータ行

<LEVEL>

Payment

<NEW RECORD>

PaymentRecordA

PaymentRecordAのデータ行

<NEW RECORD>

PaymentRecordB

PaymentRecordBのデータ行

<LEVEL>

Invoice

<NEW RECORD>

InvoiceRecordA

InvoiceRecordAのデータ行

<END LEVEL>

Invoice

<END LEVEL>

Payment

<LEVEL>

Batch

<NEW RECORD>

BatchFooterRecordC

BatchFooterRecordCのデータ行

<NEW RECORD>

BatchFooterRecordD

BatchFooterRecordDのデータ行

<END LEVEL>

Batch

<LEVEL>

RequestHeader

<NEW RECORD>

FileFooterRecordB

FileFooterRecordBのデータ行

<END LEVEL>

RequestHeader

同じレベルの複数のレコードは、同じ表に入れることができます。ただし、各表に定義できるレベルは1つのみです。前述の例では、BatchHeaderRecordAとBatchHeaderRecordBはどちらも同じ表で定義されています。ただし、PaymentのEND LEVELは、子要素Invoiceの後の独自の表で定義する必要があります。同じレベルの複数のレコードは、同じ表に入れることができますが、各表に定義できるレベルは1つのみです。

テンプレートでは、データ抽出の全レベルを使用する必要はありません。たとえば、ある抽出にRequestHeader > Batch > Payment > Invoiceというレベルが含まれる場合は、バッチと請求書のレベルのみを使用できます。ただし、レベルの階層は保持する必要があります。

表の階層は、レコードが印刷される順序を決定します。親XML要素では、それぞれ対応する親表のレコードが、表に出現する順序で印刷されます。システムは子表に対応する子XML要素のインスタンスをループし、指定された順序で子レコードを印刷します。その後、子を囲んでいる(レベル終了の)親表が存在する場合は、そのレコードを印刷します。

たとえば、前述のEFTテンプレート構造において、入力データ・ファイルに次のデータが含まれているとします。

- Batch1

- Payment1

- Invoice1

- Invoice2

- Payment2

- Invoice1

- Batch2

- Payment1

- Invoice1

- Invoice2

- Invoice3

これによって、表8-1に示す出力レコードが生成されます。

表8-1 出力レコード

レコードの順序

レコード・タイプ

説明

1

FileHeaderRecordA

EFTファイルの1つのヘッダー・レコード

2

BatchHeaderRecordA

Batch1用

3

BatchHeaderRecordB

Batch1用

4

PaymentRecordA

Batch1、Payment1用

5

PaymentRecordB

Batch1、Payment1用

6

InvoiceRecordA

Batch1、Payment1、Invoice1用

7

InvoiceRecordA

Batch1、Payment1、Invoice2用

8

PaymentRecordA

Batch1、Payment2用

9

PaymentrecordB

Batch1、Payment2用

10

InvoiceRecordA

Batch1、Payment2、Invoice1用

11

BatchFooterRecordC

Batch1用

12

BatchFooterRecordD

Batch1用

13

BatchHeaderRecordA

Batch2用

14

BatchHeaderRecordB

Batch2用

15

PaymentRecordA

Batch2、Payment1用

16

PaymentRecordB

Batch2、Payment1用

17

InvoiceRecordA

Batch2、Payment1、Invoice1用

18

InvoiceRecordA

Batch2、Payment1、Invoice2用

19

InvoiceRecordA

Batch2、Payment1、Invoice3用

20

BatchFooterRecordC

Batch2用

21

BatchFooterRecordD

Batch2用

22

FileFooterRecordB

EFTファイルの1つのフッター・レコード

8.4.2 新規レコード・コマンド

新規レコード・コマンドは、レコードの始めと前のレコード(存在する場合)の終わりを表します。テンプレートの各レコードは、新規レコード・コマンドで始まる必要があります。レコードは、次の新規レコード・コマンドや表の終わりまで、またはレベル終了コマンドまで続きます。

レコードは、レベルに属している要素の集まりを表すコンストラクトです。レコード名は、XML入力ファイルに関連付けられていません。

表には、複数のレコードを含めることができるため、複数の新規レコード・コマンドが存在します。表のレコードは、すべて同じ階層レベルにあります。これらは、表に指定されている順序で出力されます。

新規レコード・コマンドは、名前をパラメータとして使用できます。この名前はレコードの名前になります。レコード名はレコード・タイプとも呼ばれています。この名前は、生成されたレコードのインスタンスを数えるCOUNT関数で使用できます。詳細は、第8.8.3項「関数」のCOUNT関数を参照してください。

連続した新規レコード・コマンド(つまり空のレコード)は使用できません。

8.4.3 昇順ソートおよび降順ソート・コマンド

レベルのインスタンスをソートするには、昇順ソートおよび降順ソート・コマンドを使用します。ソートする要素は、カンマ区切りリストで入力します。これはオプションのコマンドです。このコマンドを使用する際には、(最初の)レベル・コマンドの直後に指定する必要がありますが、この場合、レコードが複数の表で指定されていても、そのレベルのすべてのレコードに適用されます。

8.4.4 表示条件コマンド

表示条件コマンドは、囲まれているレコードやデータ・フィールド・グループをいつ表示するかを指定します。このコマンドのパラメータはブール式です。この式がTrueと評価された場合、レコードまたはデータ・フィールド・グループが表示されます。それ以外の場合は、それらのレコードまたはデータ・フィールド・グループがスキップされます。

表示条件コマンドは、レコードまたはデータ・フィールド・グループのいずれかで使用できます。レコードで使用する場合、表示条件コマンドは新規レコード・コマンドの後に指定する必要があります。データ・フィールド・グループで使用する場合、表示条件コマンドはデータ・フィールド行の後に指定する必要があります。この場合、表示条件はレコードの終わりまで、残りのすべてのフィールドに適用されます。

連続した表示条件コマンドは、AND条件としてマージされます。マージされた表示条件は、囲まれている同じレコードやデータ・フィールド・グループに適用されます。

8.5 データ行の構造

出力レコードのデータ・フィールドは、テンプレート内では表の行によって表されます。FIXED_POSITION_BASEDテンプレートの各行には、次の属性(または列)があります。

- 位置

- 長さ

- 書式

- 埋込み

- データ

- コメント

最初の5つの列は必須で、ここに示されている順序で表示する必要があります。

DELIMITER_BASEDテンプレートの各データ行には、次の属性(列)があります。

- 最大長

- 書式

- データ

- タグ

- コメント

最初の3つの列は必須で、ここに示されている順序で宣言する必要があります。

どちらのテンプレート・タイプでも、コメント列はオプションになり、システムで無視されます。必須列の後にある列はすべて無視されるため、追加の情報列を挿入できます。

各列の使用ルールは次のとおりです。

8.5.1 位置

レコード内のフィールドの開始位置を指定します。単位は文字数です。この列は、FIXED_POSITION_BASEDテンプレートでのみ使用されます。

8.5.2 長さ/最大長

フィールドの長さを指定します。単位は文字数です。FIXED_POSITION_BASEDテンプレートでは、すべてのフィールドが固定長になります。指定された長さよりもデータが短い場合は埋込みが行われます。データが長い場合は切り捨てられます。切捨ては、常に右端で行われます。

DELIMITER_BASEDテンプレートでは、この値はフィールドの最大長を指定します。データが最大長を超える場合は切り捨てられます。データが最大長より短くても、埋込みは行われません。

8.5.3 書式列

データ型と書式設定を指定します。許容されているデータ型は次の3つです。

- Alpha

- Number

- Date

これらの使用方法については、第8.9.4項「フィールドレベル・キーワード」を参照してください。

8.5.4 Numberデータ型

数値データには、Integer、Decimal、書式マスク定義、という3つのオプションの書式設定があります。Numberデータ型のこれらのオプション設定は、次のように指定します。

- Number, Integer

- Number, Decimal

- Number, <書式マスク>
たとえば、次のように入力します。

Number, ###,###.00

Integer書式では、数値の整数部分のみを使用し、小数を破棄します。Decimal書式では、数値の小数部分のみを使用し、整数部分を破棄します。

次の表に、書式マスクの設定方法の例を示します。マスクを指定するとき、#はデータに存在する桁を表示することを表し、0は、データが存在するかどうかに関係なく、桁のプレースホルダを表示することを表します。

書式マスクを指定するときは、グループ・セパレータに","を、小数のセパレータには"."を必ず使用する必要があります。これらを実際の出力で変更するには、NUMBER THOUSANDS SEPARATORおよびNUMBER DECIMAL SEPARATORの設定コマンドを使用する必要があります。これらのコマンドの詳細は、第8.6項「設定コマンド表」を参照してください。

表8-2に、サンプルのデータ、書式指定子および出力を示します。出力では、デフォルトのグループ・セパレータと小数セパレータが使用されています。

表8-2 サンプルのデータ、書式指定子および出力

データ

書式指定子

出力

123456789

###,###.00

123,456,789.00

123456789.2

###.00

123456789.20

1234.56789

###.000

1234.568

123456789.2

#

123456789

123456789.2

#.##

123456789.2

123456789

#.##

123456789

8.5.5 Dateデータ型

Dateデータ型の書式設定は、常に明示的に指定する必要があります。この書式設定は、MMDDYYなどのSQL日付スタイルに従います。

8.5.6 EDIデリミタベースのデータ型からeTextデータ型へのマッピング

一部のEDI(DELIMITER_BASED)書式では、より説明的なデータ型を使用します。これらは、表8-3に示すように3種類のテンプレート・データ型にマッピングされます。

表8-3 EDIデリミタベースのデータ型からeTextデータ型へのマッピング

ASC X12データ型

フォーマット・テンプレートのデータ型

A - 英字

Alpha

AN - 英数字

Alpha

B - バイナリ

Number

CD - コンポジット・データ要素

該当なし

CH - 文字

Alpha

DT - 日付

Date

FS - 固定長文字列

Alpha

ID - 識別子

Alpha

IV - 増分値

Number

Nn - 数値

Number

PW - パスワード

Alpha

R - 小数

Number

TM - 時間

Date

表8-4に示されている設定コマンドが想定されます。

表8-4 設定コマンド

名前

コマンド

NUMBER THOUSANDS SEPARATOR

.

NUMBER DECIMAL SEPARATOR

,

表8-5に、この場合のデータ、書式指定子および出力を示します。書式指定子には、設定コマンドのエントリに関係なく、デフォルトのセパレータを使用する必要があることに注意してください。

表8-5 指定された設定コマンドのデータ、書式指定子および出力

データ

書式指定子

出力

123456789

###,###.00

123.456.789,00

123456789.2

###.00

123456789,20

1234.56789

###.000

1234,568

123456789.2

#

123456789

123456789.2

#.##

123456789,2

123456789

#.##

123456789

8.5.7 埋込み

埋込みは、FIXED_POSITION_BASEDテンプレートにのみ適用されます。埋込み側(L = 左またはR = 右)および文字を指定します。埋込みは、数値および英数字の両方のフィールドで可能です。このフィールドを指定しない場合、数値フィールドでは左側に"0"が埋め込まれ、Alphaフィールドでは右側に空白が埋め込まれます。

使用例:

- フィールドの左側に"0"を埋め込むには、Pad列フィールドに次のように入力します。
L, '0'

- フィールドの右側に空白を埋め込むには、Pad列フィールドに次のように入力します。
R, ' '

8.5.8 データ

フィールドに移入する、データ抽出からのXML要素を指定します。データ列には、単にXMLタグ名を含めることも、式と関数を含めることもできます。詳細は、第8.8項「式、制御構造および関数」を参照してください。

8.5.9 タグ

DELIMITER_BASEDテンプレートのコメント列として機能します。EDIFACT書式で参照タグを指定し、ASC X12で参照IDを指定します。

8.5.10 コメント

この列を使用して、自由書式コメントをテンプレートに追加します。通常、この列は、ビジネス要件やデータ・フィールドの使用方法の記述に使用します。

8.6 設定コマンド表

テンプレートは必ず、設定コマンドを指定する表で始まります。設定コマンドは、テンプレート・タイプや出力キャラクタ・セットなどのグローバル属性、および順序付けや連結などのプログラム要素を定義します。

設定コマンドは次のとおりです。

- TEMPLATE TYPE

- OUTPUT CHARACTER SET

- OUTPUT LENGTH MODE

- NEW RECORD CHARACTER

- INVALID CHARACTERS

- REPLACE CHARACTERS

- NUMBER THOUSANDS SEPARATOR

- NUMBER DECIMAL SEPARATOR

- DEFINE LEVEL

- DEFINE SEQUENCE

- DEFINE CONCATENATION

- CASE CONVERSION

図8-4に、設定表の例を示します。

図8-4 設定表の例

8.6.1 TEMPLATE TYPEコマンド

このコマンドは、テンプレートのタイプを指定します。FIXED_POSITION_BASEDとDELIMITER_BASEDの2種類のタイプがあります。

FIXED_POSITION_BASEDテンプレートは、EFTなどの固定長レコード形式に使用します。この形式では、レコード内のすべてのフィールドが固定長になります。指定された長さよりもデータが短い場合は埋込みが行われます。長い場合は切り捨てられます。システムには、データの埋込みと切捨てのデフォルトの動作が指定されています。定位置ベースの形式の例には、欧州で使用されているEFTや、米国で使用されているNACHA ACHファイルがあります。

DELIMITER_BASEDテンプレートでは、データの埋込みは行われず、最大フィールド長に達したときにのみ切り捨てられます。空のフィールドは許可されます(データがnullの場合)。データ・フィールドを区切るには、指定されているデリミタが使用されます。フィールドが空の場合は、2つのデリミタが並んで表示されます。デリミタベース・テンプレートの例には、ASC X12 820などのEDI形式、およびPAYMUL、DIRDEB、CREMULなどのUN EDIFACT形式があります。

EDI形式では、レコードはセグメントと呼ばれることがあります。EDIセグメントはレコードと同様に処理されます。各セグメントは新規レコード・コマンドで始め、レコード名を指定します。新規レコード・コマンドの直後には、出力データの一部としてセグメント名を指定するデータ・フィールドを用意する必要があります。

DELIMITER_BASEDテンプレートでは、データ・フィールド間の個別の行に適切なデータ・フィールド・デリミタを挿入します。デリミタ行は、各データ・フィールド行の後に挿入します。空のフィールドにプレースホルダを挿入するには、2つの連続したデリミタ行を定義します。

空のフィールドは多くの場合、構文上の理由で使用されます。つまり、空のフィールドにプレースホルダを挿入し、その後に続くフィールドが適切に識別されるようにします。

データ・フィールド、コンポジット・データ・フィールドおよびレコードの終わりを示すために、それぞれ異なるデリミタが用意されています。一部の書式では、デリミタ文字を選択できる場合もあります。いずれの場合も、同じ用途には同じデリミタを一貫して使用して、構文エラーを避けるようにしてください。

DELIMITER_BASEDテンプレートでは、<POSITION>および<PAD>列は適用されません。これらはデータ表から省略されます。

DELIMITER_BASEDテンプレートの一部では、最大長と最小長を指定できます。このような場合は、Oracle Paymentsによって長さが検証されます。

8.6.2 DEFINE LEVELコマンド

一部の書式では、データ抽出にはない追加の特定データ・レベルが必要な場合があります。たとえば、ある書式では、支払いを支払い日ごとにまとめる必要があります。レベル定義コマンドを使用すると、支払い日のグループが入力抽出ファイルにない場合でも、このグループを定義して、テンプレート内のレベルとして参照できるようになります。

レベル定義コマンドを使用するときは、抽出内に存在するベース・レベルを宣言します。レベル定義コマンドにより、抽出のベース・レベルよりも1レベル高位にある新しいレベルが挿入されます。新しいレベルは、ベース・レベルのインスタンスのグルーピングとして機能します。

レベル定義コマンドは設定コマンドであるため、設定表で定義する必要があります。このコマンドには、次の3つのサブコマンドがあります。

- ベース・レベル・コマンド - 新しいレベルのベースになっている抽出レベル(XML要素)を定義します。レベル定義コマンドには、常に1つのベース・レベル・サブコマンドのみを含める必要があります。

- グルーピング基準: ベース・レベルのインスタンスをグループ化し、新しいレベルのインスタンスを形成するために使用するXML抽出要素を定義します。グルーピング基準コマンドのパラメータは、カンマで区切られた要素のリストで、これらの要素はグルーピング条件を指定します。
グルーピングの階層は、要素の順序で決定されます。ベース・レベルのインスタンスは最初の基準値に従ってグループ分けされ、これらの各グループが2番目の基準に従ってさらにグループ分けされます。この処理が基準値の数だけ繰り返されます。最後のサブグループはそれぞれ、新しいレベルのインスタンスとみなされます。

- 昇順グループ・ソートまたは降順グループ・ソート - グループのソートを定義します。<GROUP SORT ASCENDING>または<GROUP SORT DESCENDING>コマンド行を、<DEFINE LEVEL>と<END DEFINE LEVEL>コマンドの間の任意の場所に挿入します。ソート・コマンドのパラメータは、カンマで区切られた要素のリストで、これらの要素によってグループがソートされます。

たとえば、表8-6は、1つのバッチ内の5つの支払いを示しています。

表8-6 1つのバッチ内の5つの支払いの例

支払いインスタンス

PaymentDate(グルーピング基準1)

PayeeName(グルーピング基準2)

Payment1

PaymentDate1

PayeeName1

Payment2

PaymentDate2

PayeeName1

Payment3

PaymentDate1

PayeeName2

Payment4

PaymentDate1

PayeeName1

Payment5

PaymentDate1

PayeeName3

テンプレートで次のような設定表を作成し、Payment DateとPayee Nameに従ってグループ化されたベース・レベルPaymentから、PaymentsByPayDatePayeeというレベルを作成します。PaymentDateとPayeeNameで各グループをソートするために、昇順グループ・ソート・コマンドを追加します。

<DEFINE LEVEL>

PaymentsByPayDatePayee

<BASE LEVEL>

Payment

<GROUPING CRITERIA>

PaymentDate、PayeeName

<GROUP SORT ASCENDING>

PaymentDate、PayeeName

<END DEFINE LEVEL>

PaymentsByPayDatePayee

表8-7に示すように、5つの支払いから新しいレベルで使用される4つのグループ(インスタンス)が生成されます。

表8-7 生成された5つの支払い

支払いグループ・インスタンス

グループ基準

グループ内の支払い

Group1

PaymentDate1、PayeeName1

Payment1、Payment4

Group2

PaymentDate1、PayeeName2

Payment3

Group3

PaymentDate1、PayeeName3

Payment5

Group4

PaymentDate2、PayeeName1

Payment2

新しいインスタンスの順序は、レコードが出力される順序です。複数のグルーピング基準を評価して新しいレベルのインスタンスを形成する場合、基準は階層を形成させるものと考えることができます。最初の基準は階層の最上位に、最後の基準は階層の最下位に位置付けられます。

一般的に、EFT形式には2種類の固有のデータ・グルーピング・シナリオがあります。1つの形式ではグループ・レコードのみが印刷され、もう1つの形式ではグループ内にネストされている個別の要素レコードを持つグループが印刷されます。次に、前述の5つの支払いとグルーピング条件に基づいたこれらのシナリオの例を2つ示します。表8-8と表8-9は、生成された出力を示しています。

シナリオ1: グループ・レコードのみ

EFTファイル構造:

- BatchRec

- PaymentGroupHeaderRec

- PaymentGroupFooterRec

表8-8 グループ・レコードのみの例

レコード順序

レコード・タイプ

説明

1

BatchRec

NA

2

PaymentGroupHeaderRec

Group1(PaymentDate1、PayeeName1)用

3

PaymentGroupFooterRec

Group1(PaymentDate1、PayeeName1)用

4

PaymentGroupHeaderRec

Group2(PaymentDate1、PayeeName2)用

5

PaymentGroupFooterRec

Group2(PaymentDate1、PayeeName2)用

6

PaymentGroupHeaderRec

Group3(PaymentDate1、PayeeName3)用

7

PaymentGroupFooterRec

Group3(PaymentDate1、PayeeName3)用

8

PaymentGroupHeaderRec

Group4(PaymentDate2、PayeeName1)用

9

PaymentGroupFooterRec

Group4(PaymentDate2、PayeeName1)用

シナリオ2: グループ・レコードと個別レコード

EFTファイル構造:

BatchRec

- PaymentGroupHeaderRec

- PaymentRec

- PaymentGroupFooterRec

表8-9 グループ・レコードと個別レコードの例

レコード順序

レコード・タイプ

説明

1

BatchRec

NA

2

PaymentGroupHeaderRec

Group1(PaymentDate1、PayeeName1)用

3

PaymentRec

Payment1用

4

PaymentRec

Payment4用

5

PaymentGroupFooterRec

Group1(PaymentDate1、PayeeName1)用

6

PaymentGroupHeaderRec

Group2(PaymentDate1、PayeeName2)用

7

PaymentRec

Payment3用

8

PaymentGroupFooterRec

Group2(PaymentDate1、PayeeName2)用

9

PaymentGroupHeaderRec

Group3(PaymentDate1、PayeeName3)用

10

PaymentRec

Payment5用

11

PaymentGroupFooterRec

Group3(PaymentDate1、PayeeName3)用

12

PaymentGroupHeaderRec

Group4(PaymentDate2、PayeeName1)用

13

PaymentRec

Payment2用

14

PaymentGroupFooterRec

Group4(PaymentDate2、PayeeName1)用

レベル定義コマンドを使用して定義した新しいレベルは、抽出内のレベルと同じ方法で、テンプレートで使用できます。ただし、新しいレベルのレコードは、そのグルーピング基準に定義されているベース・レベル・フィールドのみを参照できます。集計関数以外から他のベース・レベル・フィールドを参照することはできません。

たとえば、PaymentGroupHeaderRecでは、そのフィールド内でPaymentDateとPayeeNameを参照できます。また、SUM関数でPaymentAmount(支払いレベル・フィールド)も参照できます。ただし、PaymentDocNameやPaymentDocNumなどの他の支払いレベル・フィールドは参照できません。

DEFINE LEVELコマンドには、常に1つのグルーピング基準サブコマンドのみを含める必要があります。DEFINE LEVELコマンドには、対となるEND DEFINE LEVELコマンドがあります。サブコマンドは、このDEFINE LEVELコマンドとEND DEFINE LEVELコマンドの間に指定する必要があります。これらのサブコマンドは、任意の順序で宣言できます。

8.6.3 DEFINE SEQUENCEコマンド

DEFINE SEQUENCEコマンドは、SEQUENCE_NUMBER関数とともに使用できる順序を定義して、生成されたEFTレコードと抽出インスタンス(データベース・レコード)のいずれかの索引を作成します。EFTレコードは、テンプレート内で定義される物理レコードです。データベース・レコードは、抽出によるレコードです。混乱を避けるために、「レコード」という用語は常にEFTレコードを意味するものとします。データベース・レコードは、抽出要素のインスタンスまたはレベルと呼びます。

DEFINE SEQUENCEコマンドには、RESET AT LEVEL、INCREMENT BASIS、START ATおよびMAXIMUMという4つのサブコマンドがあります。

8.6.4 RESET AT LEVEL

RESET AT LEVELサブコマンドは、順序の開始番号をリセットする位置を定義します。これは必須のサブコマンドです。たとえば、支払いをバッチ別に番号付けするには、RESET AT LEVELをBatchとして定義します。バッチ間にまたがって番号付けするには、RESET AT LEVELをRequestHeaderとして定義します。

順序がテンプレートの外部でリセットされる場合もあります。たとえば、周期的順序では、日付によるリセットが定義される場合があります。この場合は、RESET AT LEVELにPERIODIC_SEQUENCEキーワードを使用します。システムでは、支払いファイルで使用された最後の順序番号をデータベースに保存します。データベース内の順序のリセットは、外部イベントによって制御されます。次の支払いファイルの実行時には、この順序番号がデータベースから抽出され、開始番号として使用されます(「開始位置サブコマンド」を参照)。

8.6.5 INCREMENT BASIS

INCREMENT BASISサブコマンドは、レコードまたは抽出インスタンスに基づいて順序を増分させる必要があるかどうかを指定します。このサブコマンドで使用可能なパラメータはRECORDとLEVELです。

RECORDを入力すると、レコードごとに順序が増分します。

LEVELを入力すると、レベルの新しいインスタンスごとに順序が増分します。

複数のレコードが存在するレベルでは、レベルベースの増分を使用すると、そのレベル内のすべてのレコードに同じ順序番号が設定されることに注意してください。レコードベースの増分では、レベル内の各レコードに新しい順序番号が割り当てられます。

レベルベースの増分では、順序番号は1つのレベルのフィールドでのみ使用できます。たとえば、抽出にバッチ>支払い>請求書の階層がある場合に、バッチ・レベルでリセットされるレベル順序によるINCREMENT BASISを定義したとします。この場合、順序は支払いまたは請求書レベル・フィールドのいずれかで使用できますが、その両方で使用することはできません。つまり、階層レベル間をまたがった順序番号を使用することはできません。

しかし、このルールはレコード順序による増分基準には適用されません。この場合、レコードにレベル間をまたがった順序番号を付けることができます。

増分基準がレベル順序およびレコード順序のどちらの場合でも、順序のレベルは、順序が定義されている場所に基づいて暗黙的に定義されます。

8.6.6 連結定義コマンド

連結定義コマンドを使用すると、親レベル・フィールドで使用する子レベル抽出要素を連結できます。たとえば、このコマンドを使用して、1つの支払いに属しているすべての請求書の請求書番号と期日を連結し、支払いレベル・フィールドで使用できます。

連結定義コマンドには、ベース・レベル、要素、デリミタの3つのサブコマンドがあります。

8.6.7 ベース・レベル・サブコマンド

ベース・レベル・サブコマンドは、操作の子レベルを指定します。各親レベル・インスタンスに対し、連結操作では子レベルのインスタンスをループして、連結文字列を生成します。

8.6.8 要素サブコマンド

要素サブコマンドは、各要素の生成に使用する操作を指定します。要素とは、連結文字列を生成するために連結される子レベルの式です。

8.6.9 デリミタ・サブコマンド

デリミタ・サブコマンドは、文字列内で連結されているアイテムを区切るデリミタを指定します。

8.6.10 SUBSTR関数の使用

SUBSTR関数を使用すると、連結された文字列をより小さな文字列に分割し、異なるフィールドに配置できます。たとえば、表8-10は、1つの支払いに含まれている5つの請求書を示しています。

表8-10 1つの支払いに含まれている5つの請求書の例

Invoice

InvoiceNum

1

car_parts_inv0001

2

car_parts_inv0002

3

car_parts_inv0003

4

car_parts_inv0004

5

car_parts_inv0005

表8-11に示されている連結定義を使用します。

表8-11 連結定義

<DEFINE CONCATENATION>

ConcatenatedInvoiceInfo

<BASE LEVEL>

Invoice

<ELEMENT>

InvoiceNum

<DELIMITER>

','

<END DEFINE CONCATENATION>

ConcatenatedInvoiceInfo

支払いレベル・フィールドでは、ConcatenatedInvoiceInfoを参照できます。文字列は次のようになります。

car_parts_inv0001,car_parts_inv0002,car_parts_inv0003,car_parts_inv0004,car_parts_inv0005

連結された請求書情報の最初の40文字のみを使用する場合は、TRUNCATE関数またはSUBSTR関数を次のように使用します。

TRUNCATE(ConcatenatedInvoiceInfo, 40)

SUBSTR(ConctenatedInvoiceInfo, 1, 40)

これらの文はいずれも、次の結果になります。

car_parts_inv0001,car_parts_inv0002,car_

次の40文字を分離するには、SUBSTR関数を使用します。

SUBSTR(ConcatenatedInvoiceInfo, 41, 40)

その結果、次の文字列が得られます。

parts_inv0003,car_parts_inv0004,car_par

8.6.11 無効文字コマンドと置換文字コマンド

Oracle Applicationsでのデータ入力に使用されたものとは異なるキャラクタ・セットを必要とする書式もあります。たとえば、一部のドイツ語の書式ではASCIIの出力ファイルが必要ですが、データはドイツ語で入力されている場合があります。元のキャラクタ・セットとターゲットのキャラクタ・セットが一致しない場合は、ASCIIの対応文字を定義して元のキャラクタ・セットを置換できます。たとえば、ドイツ語のウムラウト記号付き"a"は、"ao"に置き換えます。

書式の中には、特定の文字を使用できないものもあります。既知の無効な文字が出力ファイルに転送されないようにするには、無効文字コマンドを使用して、特定の文字の出現をフラグ付けします。

置換文字コマンドを使用するには、左側の列にソース文字を指定し、右側の列に置換文字を指定します。ソース文字は元のキャラクタ・セットで入力する必要があります。これは、出力対象ではないキャラクタ・セットを書式テンプレートで使用する唯一のケースです。置換文字列は、必要な出力キャラクタ・セットで入力します。

DELIMITER_BASED書式では、データにデリミタが含まれている場合、エスケープ文字"?"を使用してその意味を保持できます。例:

First name?+Last nameは、Fist name+Last nameと同じです。

Which source??は、Which source?と同じです。

データ内でエスケープ文字を使用する場合には、そのエスケープ文字自体をエスケープする必要があることに注意してください。

置換文字コマンドは、エスケープ文字の要件のサポートに使用できます。デリミタをソースとして指定し、エスケープ文字にデリミタを加えたものをターゲットとして指定します。たとえば、前述の例のコマンド・エントリは次のようになります。

<REPLACEMENT CHARACTERS>

+

?+

?

??

<END REPLACEMENT CHARACTERS>

無効文字コマンドには、システム・エラーを発生させる無効な文字の文字列である単一のパラメータが存在します。

文字の置換プロセスは、キャラクタ・セットの変換前または変換中に実行されます。キャラクタ・セットの変換は書式設定前に、XML抽出に対して直接実行されます。キャラクタ・セットの変換後は、出力キャラクタ・セットにおいて無効な文字がチェックされます。無効な文字が見つからなかった場合は、書式設定が行われます。

8.6.12 出力キャラクタ・セット・コマンドと新規レコード文字コマンド

新規レコード文字コマンドを使用すると、実行時に明示的および暗黙的なレコード・ブレイクを区切るための文字を指定できます。新規レコード・コマンドは、それぞれ明示的なレコード・ブレイクを表します。表の終わりは、それぞれ暗黙的なレコード・ブレイクを表します。パラメータは、カンマで区切られた定数文字名のリストです。

書式の中には、レコード・ブレイクが含まれていないものもあります。生成される出力は1行のデータになります。この場合、新規レコード文字コマンドのパラメータ・フィールドは空のままにします。

新規レコード文字フィールドをテンプレートで定義しなかった場合は、デフォルトの新規レコード文字として\nが設定されます。

8.6.13 Output Length Mode

Output Length Modeは、characterまたはbyteに設定できます。OUTPUT LENGTH MODEをcharacterに設定した場合、各フィールドの出力レコードの長さは文字の長さによって決まります。OUTPUT LENGTH MODEをbyteに設定した場合、各フィールドの出力レコードの長さはバイトの長さによって決まります。

OUTPUT LENGTH MODEの設定が指定されていない場合は、characterが使用されます。

8.6.14 3桁のセパレータと小数セパレータ

デフォルトの3桁の(またはグループ)セパレータはカンマ(",")で、デフォルトの小数セパレータはピリオド(".")です。3桁のセパレータ・コマンドおよび小数セパレータ・コマンドを使用すると、デフォルト以外のセパレータを指定できます。たとえば、グループ・セパレータとして"."を定義し、小数セパレータとして","を定義するには、次のようにコマンドを入力します。

<NUMBER THOUSANDS SEPARATOR>

.

<NUMBER DECIMAL SEPARATOR>

,

NUMBER DECIMAL SEPARATORを設定する場合は、NUMBER THOUSANDS SEPARATORも設定する必要があることに注意してください。表示されるフィールドには適切な書式マスクを設定するようにします。数値の書式設定の詳細は、第8.5.3項「書式列」を参照してください。

8.6.15 CASE CONVERSION

書式のタイプがALPHAであるフィールドで、文字列を小文字から大文字に変換するにはCASE CONVERSIONを使用します。このコマンドは、FIXED_POSITION_BASEDテンプレートで使用されます。有効値はUPPERおよびLOWERです。次のようにコマンドを入力します。

<CASE CONVERSION>

UPPER

8.7 Filler Blockの作成

FIXED_POSITION_BASEDテンプレートでは、埋込みブロックを使用して、eText出力用に特定のブロック・サイズを定義できます。実際のデータが指定のブロック・サイズに満たない場合、ブロックの残りは指定の埋込み文字で満たされます。

たとえば、BLOCK SIZEを9で定義したとき、生成されたeText出力がテキスト3行のみの場合、残りの6行は、指定されたFILLER CHARACTERで満たされます。

コマンドの使用方法は次のとおりです。

- <BEGIN FILLER BLOCK> - これはブロックの始まりを表します。このブロックの名前を入力します。

- <FILLER CHARACTER> - データでブロックが満たされない場合に、ブロックの残りの部分を埋めるために使用する文字または文字列を入力します。
次に<FILLER CHARACTER>の入力例を示します。

ブロックを?文字で埋めるには、FILLER CHARACTERコマンドを次のように入力します。

<FILLER CHARACTER>

?

ブロックを文字列abcで埋めるには、FILLER CHARACTERコマンドを次のように入力します。

<FILLER CHARACTER>

'abc'

ブロックを空のスペースで埋めるには、FILLER CHARACTERコマンドを次のように入力します。

<FILLER CHARACTER>

- <BLOCK SIZE> - テキストの行数単位でブロックのサイズを指定するために、整数を入力します。

これらのコマンドはテンプレートの定義を始める前に使用する必要があります。

ブロックの最後に次のコマンドを入力します。

- <END FILLER BLOCK> - ブロックの終わりを示します。<BEGIN FILLER BLOCK>コマンドですでに指定済のこのブロックの名前を入力します。

図8-5は、ブロック埋込みの使用例を示しています。

図8-5 ブロック埋込みの使用例

図8-6は、FILLER BLOCKで生成される出力の例を示しています。

図8-6 FILLER BLOCKで生成される出力の例

図8-7は、FILLER BLOCKが使用されていない場合に生成される出力の例を示しています。

図8-7 FILLER BLOCKが使用されていない場合に生成される出力の例

8.8 式、制御構造および関数

この項では、テンプレート内の式のルールと使用方法について説明します。また、サポートされている制御構造と関数についても説明します。

8.8.1 式

式は、データ・フィールドのデータ列と一部のコマンド・パラメータで使用できます。式は、XML抽出フィールド、リテラル、関数および演算子の集まりです。式はネストできます。式には"IF"制御構造を含めることもできます。式が評価されると、常に結果が生成されます。この評価では、二次的作用が許可されません。式は評価結果に基づいて、次の3つのカテゴリに分類されます。

- ブール式 - trueまたはfalseのブール値を戻す式。この種の式は、"IF-THEN-ELSE"制御構造、および表示条件コマンドのパラメータでのみ使用できます。

- 数式 - 数を戻す式。この種の式は、数値データ・フィールドで使用できます。数値パラメータを必要とする関数やコマンドで使用することもできます。

- 文字式 - 英数字の文字列を戻す式。この種の式は、文字列データ・フィールド(Alpha書式タイプ)で使用できます。文字列パラメータを必要とする関数やコマンドで使用することもできます。

8.8.2 制御構造

サポートされている唯一の制御構造はIF-THEN-ELSEです。これは式の中で使用可能です。構文は次のとおりです。

IF <boolean_expressionA> THEN
<numeric or character expression1>
[ELSIF <boolean_expressionB THEN
<numeric or character expression2>]
...
[ELSE
<numeric or character expression3]
END IF

一般的に、制御構造は数字または英数字文字列に評価される必要があります。制御構造は、数式または文字式とみなされます。ELSIFとELSE句はオプションで、ELSIF句は必要な数だけ定義できます。制御構造はネストできます。

IF-THEN-ELSE制御構造では、IN条件がサポートされています。たとえば、次のように入力します。

IF PaymentAmount/Currency/Code IN ('USD', 'EUR', 'AON', 'AZM') THEN
PayeeAccount/FundsCaptureOrder/OrderAmount/Value * 100
ELSIF PaymentAmount/Currency/Code IN ('BHD', 'IQD', 'KWD') THEN
PayeeAccount/FundsCaptureOrder/OrderAmount/Value * 1000
ELSE
PayeeAccount/FundsCaptureOrder/OrderAmount/Value
END IF;

8.8.3 関数

次に、サポートされている関数の一覧を示します。

- SEQUENCE_NUMBER - レコード要素の索引。順序定義コマンドとともに使用されます。順序定義コマンドによって定義される順序を、1つのパラメータとして持ちます。実行時には、レコード内で参照されるたびに、その順序値が1つずつ増えます。

- COUNT - 子レベルの抽出インスタンスまたは特定タイプの子レベル・レコードをカウントします。COUNT関数は、カウントするエンティティよりも上位のレベルで宣言します。この関数は、1つの引数を持ちます。引数がレベルの場合は、現在の(親)レベル・インスタンスに属している(子)レベルのインスタンスがすべてカウントされます。
たとえば、カウントするレベルがPaymentで、現在のレベルがBatchの場合、COUNTはバッチ内の支払いの合計数を戻します。しかし、現在のレベルがRequestHeaderの場合、COUNTは全バッチのファイル内に含まれている支払いの合計数を戻します。引数がレコード・タイプの場合は、現在のレベル・インスタンスに属している(子レベル)レコード・タイプの生成済レコードがすべてカウントされます。

- INTEGER_PART、DECIMAL_PART - 数値の整数部分または小数部分を戻します。これは、ネストされている式とコマンド(表示条件およびグループ別)で使用されます。データ列の数値フィールドの最終的な書式には、整数書式または小数書式を使用します。

- IS_NUMERIC - 引数が数値であるかどうかをチェックするブール・テスト。"IF"制御構造でのみ使用されます。

- TRUNCATE - 最初の引数の文字列を2番目の引数の長さに切り捨てます。最初の引数が、2番目の引数で指定されている長さよりも短い場合は、最初の引数がそのまま戻されます。これは、SQL substr()機能の使いやすいサブセット・バージョンです。

- SUM - XML抽出フィールドの引数の子インスタンスをすべて合計します。フィールドは数値である必要があります。合計するフィールドは、SUM関数を宣言したレベルよりも下位のレベルに存在する必要があります。

- MIN、MAX - XML抽出フィールドの引数のすべての子インスタンスで、最小値または最大値を検索します。フィールドは数値である必要があります。操作対象のフィールドは、関数を宣言したレベルよりも下位のレベルに存在する必要があります。

- FORMAT_DATE - 日付文字列を必要な日付書式に設定します。たとえば、次のように入力します。
FORMAT_DATE("1900-01-01T18:19:20", "YYYY/MM/DD HH24:MI:SS")

生成される出力は次のとおりです。

1900/01/01 18:19:20

- FORMAT_NUMBER - 表示対象の数字を必要な書式に設定します。たとえば、次のように入力します。
FORMAT_NUMBER("1234567890.0987654321", "999,999.99")

生成される出力は次のとおりです。

1,234,567,890.10

- MESSAGE_LENGTH - EFTメッセージ内のメッセージの長さを戻します。

- RECORD_LENGTH - EFTメッセージ内のレコードの長さを戻します。

- INSTR - テキスト・フィールド内の名前付き文字の数値位置を戻します。

- SYSDATE、DATE - 現在の日時を取得します。

- POSITION - XML文書ツリー構造内のノードの位置を戻します。

- REPLACE - 文字列を別の文字列に置き換えます。

- CONVERT_CASE - 文字列または文字を大文字または小文字に変換します。

- CHR - ASCII値である引数の文字表現を取得します。

- LPAD、RPAD - 文字列値の左側または右側の埋込みを生成します。

- AND、OR、NOT - 要素に対する演算子関数。

- DISTINCT_VALUES - XPATH関数のDISTINCT-VALUESに相当します。値が等しいものを重複と見なし、重複を除いたうえで、すべての数列を返します。使用方法: distinct_values(フィールド名)。

- INCREASE_DATE - 指定された日数分だけ日にちを増やします。
使用方法

increase_date(.//date, 2)

.//dateの値より2日後の日付値を返します。

- DECREASE_DATE - 指定された日数分だけ日にちを減らします。
使用方法

decrease_date(.//date, 2)

.//dateの値より2日前の日付値を返します。

- その他のSQL関数は、次に示すとおりです。SQL関数に対応する構文を使用してください。

- TO_DATE

- LOWER

- UPPER

- LENGTH

- GREATEST

- LEAST

- DECODE

- CEIL

- ABS

- FLOOR

- ROUND

- CHR

- TO_CHAR

- SUBSTR

- LTRIM

- RTRIM

- TRIM

- IN

- TRANSLATE

8.9 識別子、演算子およびリテラル

この項では、予約されているキーワードと句、およびそれらの使用方法について示します。サポートされている演算子の定義、XML抽出フィールドの参照とリテラルの使用に関するルールも示されています。

8.9.1 キーワード

キーワードとキーワード句には、次の4つのカテゴリがあります。

- コマンドおよび列ヘッダー・キーワード

- コマンド・パラメータおよび関数パラメータ・キーワード

- フィールドレベル・キーワード

- 式キーワード

8.9.2 コマンドおよび列ヘッダー・キーワード

次のキーワードは、ここに示すとおり、<>で囲んでから、すべて大文字の太字にして使用する必要があります。

- <LEVEL> - データ表の最初のエントリ。表をXML要素に関連付け、表の階層を指定します。

- <END LEVEL> - 現在のレベルの終わりを宣言します。表の終わりまたはスタンドアロン表で使用できます。

- <POSITION> - データ・フィールド行の最初の列の列ヘッダーで、レコード内のデータ・フィールドの開始位置を指定します。

- <LENGTH> - データ・フィールド行の2番目の列の列ヘッダーで、データ・フィールドの長さを指定します。

- <FORMAT> - データ・フィールド行の3番目の列の列ヘッダーで、データ型と書式設定を指定します。

- <PAD> - データ・フィールド行の4番目の列の列ヘッダーで、埋込みスタイルと埋込み文字を指定します。

- <DATA> - データ・フィールド行の5番目の列の列ヘッダーで、データソースを指定します。

- <COMMENT> - データ・フィールド行の6番目の列の列ヘッダーで、自由書式コメントを入力できます。

- <NEW RECORD> - 新しいレコードを指定します。

- <DISPLAY CONDITION> - レコードの印刷時の条件を指定します。

- <TEMPLATE TYPE> - FIXED_POSITION_BASEDまたはDELIMITER_BASEDのいずれかのテンプレート・タイプを指定します。

- <OUTPUT CHARACTER SET> - 出力の生成時に使用するキャラクタ・セットを指定します。

- <NEW RECORD CHARACTER> - 実行時に、明示的および暗黙的に新規レコードを示すために使用する文字を指定します。

- <DEFINE LEVEL> - テンプレートの書式固有のレベルを定義します。

- <BASE LEVEL> - レベル定義および連結定義コマンド用のサブコマンド。

- <GROUPING CRITERIA> - レベル定義コマンド用のサブコマンド。

- <END DEFINE LEVEL> - レベルの終わりを表します。

- <DEFINE SEQUENCE> - テンプレート・フィールドで使用するレコードまたは抽出要素ベースの順序を定義します。

- <RESET AT LEVEL> - 順序定義コマンド用のサブコマンド。

- <INCREMENT BASIS> - 順序定義コマンド用のサブコマンド。

- <START AT> - 順序定義コマンド用のサブコマンド。

- <MAXIMUM> - 順序定義コマンド用のサブコマンド。

- <MAXIMUM LENGTH> - データ・フィールド行の最初の列の列ヘッダーで、データ・フィールドの最大長を指定します。DELIMITER_BASEDテンプレートでのみ使用します。

- <END DEFINE SEQUENCE> - 順序定義コマンドの終わりを表します。

- <DEFINE CONCATENATION> - 親レベル・フィールドの文字列として参照可能な、子レベル要素の連結を定義します。

- <ELEMENT> - 連結定義コマンド用のサブコマンド。

- <DELIMITER> - 連結定義コマンド用のサブコマンド。

- <END DEFINE CONCATENATION> - 連結定義コマンドの終わりを表します。

- <SORT ASCENDING> - レベルのインスタンスに対する書式固有のソート。

- <SORT DESCENDING> - レベルのインスタンスに対する書式固有のソート。

8.9.3 コマンド・パラメータおよび関数パラメータ・キーワード

これらのキーワードは、すべて大文字の太字以外のフォントで入力する必要があります。

- PERIODIC_SEQUENCE - 順序定義コマンドのリセット・レベル・サブコマンドで使用します。順序番号がテンプレートの外部でリセットされることを示します。

- FIXED_POSITION_BASED、DELIMITER_BASED - テンプレート・タイプ・コマンドで使用し、テンプレートのタイプを指定します。

- RECORD、LEVEL - 順序定義コマンドの増分基準サブコマンドで使用します。RECORDでは、新しいレコードで使用されるたびに順序が増分されます。LEVELでは、レベルの新しいインスタンスでのみ順序が増分されます。

8.9.4 フィールドレベル・キーワード

- Alpha - <FORMAT>列で、データ型が英数字であることを指定します。

- Number - <FORMAT>列で、データ型が数値であることを指定します。

- Integer - <FORMAT>列で、Numberキーワードとともに使用します。数字の整数部分を抽出します。その機能はINTEGER関数と同様ですが、INTEGER関数は式内で使用するのに対し、Integerキーワードは<FORMAT>列でのみ使用します。

- Decimal - <FORMAT>列で、Numberキーワードとともに使用します。数字の小数部分を抽出します。その機能はDECIMAL関数と同様ですが、DECIMAL関数は式内で使用するのに対し、Decimalキーワードは<FORMAT>列でのみ使用します。

- Date - <FORMAT>列で、データ型が日付であることを指定します。

- L、R: <PAD>列で、埋込み側(左または右)を指定します。

8.9.5 式キーワード

式で使用するキーワードと句は、大文字の太字で指定する必要があります。

- IF THEN ELSE IF THEN ELSE END IF - これらのキーワードは、常にグループとして使用します。これらは、"IF"制御構造式を指定します。

- IS NULL、IS NOT NULL - これらの句は、IF制御構造で使用します。これらは、式がNULLであるかどうかをテストするためのブール条件の一部を形成します。

8.9.6 演算子

演算子には、ブール・テスト演算子と式演算子という2つのグループがあります。ブール・テスト演算子には、=、<>、<、>、>=および<=があります。これらはIF制御構造でのみ使用できます。式演算子には、()、||、+、-および*があります。これらは任意の式で使用できます。

表8-12は、演算子およびその使用方法のリストです。

表8-12 演算子

記号

使用方法

=

テストと等しい。IF制御構造でのみ使用されます。

<>

テストに等しくない。IF制御構造でのみ使用されます。

>

テストより大きい。IF制御構造でのみ使用されます。

<

テストより小さい。IF制御構造でのみ使用されます。

>=

テスト以上。IF制御構造でのみ使用されます。

<=

テスト以下。IF制御構造でのみ使用されます。

()

関数の引数および式グループのデリミタ。()内の式グループは常に最初に評価されます。()は、ネスト可能です。

||

文字列連結演算子。

+

加算演算子。オペランドのいずれかが数字でない場合は、暗黙の型変換を実行できます。

-

減算演算子。オペランドのいずれかが数字でない場合は、暗黙の型変換を実行できます。

*

乗算演算子。オペランドのいずれかが数字でない場合は、暗黙の型変換を実行できます。

DIV

除算オペランド。オペランドのいずれかが数字でない場合は、暗黙の型変換を実行できます。/は、XPATH構文の一部であるため使用されません。

IN

テストのいずれかのメンバーと等しい。

NOT IN

IN演算子を否定します。テストのどのメンバーにも等しくありません。

8.9.7 XML抽出フィールドへの参照とXPATH構文

XML要素は、任意の式で使用できます。実行時に、これらは対応するフィールド値に置き換えられます。フィールド名では、大文字と小文字が区別されます。

XML抽出フィールドをテンプレートで使用する場合は、XPATH構文に従う必要があります。これは、BI PublisherエンジンがXML要素を正しく解釈するために必要です。

BI Publisherの書式設定のプロセス中は、コンテキスト要素とみなされる抽出要素が常に存在します。BI Publisherが表内のデータ行を処理するときは、表のレベル要素がコンテキスト要素になります。たとえば、BI PublisherがPayment表内のデータ行を処理するときは、Paymentがコンテキスト要素になります。抽出要素の参照に使用する相対XPATHは、コンテキスト要素の観点から指定されます。

たとえば、Paymentデータ表でPayeeName要素を参照する場合は、次の相対パスを指定します。

Payee/PayeeInfo/PayeeName

XML要素階層の各レイヤーは、バックスラッシュ「/」で区切られます。この表記法は、ネストされているすべての要素に使用します。レベルの直属の子要素の相対パスは、要素名自体になります。たとえば、TransactionID要素名は、Payment表でそのまま使用できます。

子レベル表内で親レベル要素を参照するには、「../」の表記法を使用できます。たとえば、Payment表でBatchName要素を参照する必要がある場合は、../BatchNameと指定できます。「../」により、Batchがコンテキストとして提供されます。このコンテキスト内では、BatchNameがBatchの直属の子であるため、BatchName要素名を直接使用できます。この表記法では、どの階層レベルの親要素も指定できます。たとえば、Paymentデータ表で(RequestHeader内の)RequesterParty要素を参照する必要がある場合は、次のように指定できます。

../../TrxnParties/RequesterParty

テンプレート内の任意の場所で任意の抽出要素を参照するには、絶対パスを使用できます。絶対パスは、バックスラッシュ「/」で始まります。前述のPayment表の例のPayeeNameの場合は、/BatchRequest/Batch/Payment/Payee/PayeeInfo/PayeeNameという絶対パスを使用します。

絶対パスの構文を使用すると、パフォーマンスが向上します。

レベル定義、順序定義、連結定義などの設定コマンドによって定義される識別子は、グローバルな識別子であるとみなされます。これらは、テンプレート内のどこでも使用できます。絶対パスも相対パスも不要です。設定コマンドのベース・レベルおよびリセット・レベルも指定できます。BI Publisherでは、これらの正しいコンテキストを検索できます。

相対パスの構文を使用する場合は、次のコマンドで、ベース・レベルに対して相対的に指定する必要があります。

- 連結定義コマンドの要素サブコマンド

- レベル定義コマンドのグルーピング基準サブコマンド

順序定義コマンドの開始位置サブコマンド内で抽出フィールドを参照する場合は、絶対パスで指定する必要があります。

レベル・コマンドで抽出要素を参照するためのルールは、データ・フィールドのルールと同じです。たとえば、Batchレベル表とネストされているPaymentレベル表がある場合は、Payment表でPayment要素名をそのまま使用できます。Payment表のレベル・コマンドを評価する際のコンテキストは、Batchであるためです。

ただし、Paymentレベルが省略されていて、Batch表の直下にInvoiceレベル表がある場合は、Payment/InvoiceをInvoice表のレベル要素として指定する必要があります。

テンプレートに必要なXPATH構文は、UNIXやLINUXのディレクトリ構文とほとんど同じです。コンテキスト要素は現行ディレクトリに相当します。そのため、ファイルを現行ディレクトリに対して相対的に指定したり、「/」で始まる絶対パスを使用したりできます。

最後に、レベル定義コマンドのグルーピング基準サブコマンドの結果として抽出フィールドを参照するには、一重引用符で囲んで指定する必要があります。これにより、グルーピング基準として抽出フィールドの値ではなく、抽出フィールド自体を使用するようにBI Publisherエンジンに認識させることができます。

8.9.8 eText出力をブラウザで表示する際の注意事項

レポート・データに簡体字中国語が含まれていて、<OUTPUT CHARACTER SET>がGBKに設定されている場合、エンコーディングにgbk2312を使用しているInternet Explorer 7では中国語が正しく表示されません。この問題は、日本語や韓国語など英語以外の他のエンコードでも同様に発生する場合があります。出力は、eTextテンプレートで文字セットをGBKに設定し、ブラウザのエンコードをGBKまたはGB2312に設定している場合は、Firefox 3.5で正しく表示されます。この問題は、<OUTPUT CHARACTER SET>をutf-8に設定することで回避できます。これはブラウザの表示にのみ関する問題であることに注意してください。テキスト・ファイルは正しく生成されます。

9 Flashテンプレートの作成

BI PublisherではFlashテンプレートがサポートされており、Adobe Flexテンプレートを開発してBI Publisherのレポートに適用し、対話型のFlash出力ドキュメントを生成することができます。この章では、Flashテンプレートを作成する方法について説明します。

この章の内容は次のとおりです。

- 第9.1項「概要」

- 第9.2項「Flashテンプレートの作成」

- 第9.3項「レポート定義へのFlashテンプレートのアップロード」

- 第9.4項「PDF出力用プロパティの設定」

9.1 概要

この章では、簡単なFlexテンプレートの作成方法を説明しますが、Adobe Flexを使用すると、ユーザー向けに、より複雑で対話的なレポートも作成できます。Flexの使用によりレイアウト・オブジェクトをアニメーションとして相互につなぎ合せ、書式設定できます。また、受信したデータを要約し、計算したフィールドを作成することもできます。こうしたより高度な機能の詳細は、Flexのドキュメントを参照してください。

注意:

Adobe Flexは、対話型のクロス・プラットフォーム・アプリケーションを構築するためのオープンソース・テクノロジです。FlexアプリケーションはAdobe Flash Playerを使用して配信できます。詳細は、FlexのWebサイト(http://www.flex.org)を参照してください。

BI PublisherをFlexと統合することにより、Flexテンプレートを作成してからデスクトップでテストし、BI PublisherサーバーにデプロイしてFlash出力を生成することができます。ユーザーは、レポートをBI Publisherユーザー・インタフェースから実行したり、レポート利用者に配信するようにスケジュールできます。

この章では、BI Publisherのフラットなデータソース(つまり、XMLデータに階層構造がないもの)でFlexテンプレートをセットアップする方法について説明します。また、テーブルやチャートなどの単純なオブジェクトを組み込む方法についても説明します。対話処理、複数のコンポーネント間における接続性、およびより複雑なトピックの詳細は、Adobe社のFlexのドキュメントを参照してください。

9.1.1 Flashテンプレートを作成して表示するための前提条件

次に、Flashテンプレートを作成して表示するための前提条件を示します。

- 出力を表示する場合:

- レポート出力をFlashテンプレートから表示するには、Adobe Flash Player 9がコンピュータにインストールされている必要があります。また、BI Publisherユーザー・インタフェース上でレポートを表示する場合、WebブラウザでAdobe Flash Player 9プラグインがサポートされている必要があります。

- テンプレートを作成する場合:

- Adobe社のFlexBuilder IDEが必要です。
Oracle BI Publisherは現在、バージョン2.0.1で動作することが確認されています。このツールはAdobe社のWebサイト(http://www.adobe.com/products/flex/)からダウンロードして購入できます。

チャート機能を使用するには追加ライセンス料金が必要になることに注意してください。

- フラットXMLを生成するBI Publisherで設定されたレポート・データ・モデル。データ・モデルの設定の詳細は、『Oracle Fusion Middleware Oracle Business Intelligence Publisherデータ・モデリング・ガイド』を参照してください。

9.1.2 PDF出力の表示に必要な構成設定

Adobe Reader (9.3)の最新バージョンでは、セキュリティ設定が強化されており、 Flashなどのマルチメディア・コンテンツはデフォルトで無効化されています。この変更のため、埋込みFlashオブジェクトが含まれているPDFレポート出力にアクセスするときは、「Some features are disabled to avoid potential security risks」などのエラー・メッセージが表示される可能性があります。

Flash構成設定を変更して、PDF出力内のFlashコンテンツを有効化する手順は次のとおりです。

1. Adobe Acrobatの「Edit」メニューで「Preferences」をクリックします。

2. 「Preferences」ダイアログで、「Categories」リストの「Multimedia Trust (legacy)」をクリックします。

3. 「Display Permissions for: Other Documents」を選択します。

4. 「Permissions for Adobe Flash Player is set to Prompt」を選択します。

5. 「Change permission for selected multimedia player to」を「Always」に設定し、下にある3つのチェック・ボックスをすべて選択して「OK」をクリックします。

9.2 Flashテンプレートの作成

この項では、Flashテンプレートの作成方法について説明します。この項の内容は次のとおりです。

- データソースの追加

- レイアウトの作成

- データのバインド

9.2.1 データソースの追加

データソースを追加する手順は次のとおりです。

1. 次のように、レポート・データ・モデルからサンプル・データ・ファイルを生成します。
Data Model Editorで、「Get XML Output」ツールバー・ボタンを選択します。Report Viewerから返す行数を選択し、「Run」をクリックします。「Actions」ツールバー・リストで「Export XML」を選択し、結果をXMLファイルとしてローカル・ディレクトリに保存します。

この例では次のデータに基づいています。

<ROWSET>
<ROW>
<NAME>Neena Kochhar</NAME>
<FIRST_NAME>Neena</FIRST_NAME>
<LAST_NAME>Kochhar</LAST_NAME>
<SALARY>17000</SALARY>
<ANNUAL_SALARY>204000</ANNUAL_SALARY>
<FED_WITHHELD>57120</FED_WITHHELD>
<JOB_TITLE>Administration Vice President</JOB_TITLE>
<DEPARTMENT_NAME>Executive</DEPARTMENT_NAME>
<MANAGER>Steven King</MANAGER>
</ROW>
<ROW>
...
</ROWSET>

このデータは、次の単純な問合せをベースにしたレポートから生成されます。

select
e.first_name || ' ' || e.last_name name,
e.first_name,
e.last_name,
e.salary,
e.salary*12 ANNUAL_SALARY,
e.salary*12*0.28 FED_WITHHELD,
j.job_title,
d.department_name,
m.first_name || ' ' || m.last_name manager
from employees e,
employees m,
departments d,
jobs j
where e.department_id = d.department_id
and j.job_id = e.job_id
and e.manager_id = m.employee_id

2. Flex IDEを起動して新しいFlexプロジェクトを作成し、図9-1に示すように、「Basic」をデータ・アクセス方法として選択します。

図9-1 データ・アクセス方法として「Basic」を選択した状態の例

次のダイアログで、図9-2に示すようにプロジェクト名を指定します。ここで使用する名前は、作成するテンプレート・ファイルの名前に割り当てられます。

図9-2 プロジェクト名の指定の例

「Finish」をクリックします。

IDEによりFlexテンプレート定義ファイルが作成されます。これはXML形式のMXMLファイルです。次に例を示します。

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
</mx:Application>

これで、手動で更新したりVisual Builderを使用して更新することができます。

3. レポート・データ・モデルからダウンロードしたXMLを接続します。
データを接続するには、FlexでサポートされているXMLデータ・サービスを使用してサンプル・データをMXMLファイルに埋め込みます。

接続されたデータを含むサンプルMXMLファイルを示します。ファイル・コンポーネントの詳細は、次の項を参照してください。

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
<mx:Script>
<![CDATA[
[Bindable]
public var dataXML:XML =
<ROWSET>
<ROW>
<NAME>Neena Kochhar</NAME>
<FIRST_NAME>Neena</FIRST_NAME>
<LAST_NAME>Kochhar</LAST_NAME>
<SALARY>17000</SALARY>
<ANNUAL_SALARY>204000</ANNUAL_SALARY>
<FED_WITHHELD>57120</FED_WITHHELD>
<JOB_TITLE>Administration Vice President</JOB_TITLE>
<DEPARTMENT_NAME>Executive</DEPARTMENT_NAME>
<MANAGER>Steven King</MANAGER>
</ROW>
<ROW>
...
</ROWSET>;
]]>
</mx:Script>
</mx:Application>

XMLの部分はダウンロードしたデータのようになります。その他の部分に関する説明を次に示します。

- <mx:Script> - これは、テンプレート・スクリプト・コードの開始を示します。終了を示す</mx:Script>文もあります。

- [Bindable] - これは、後続の変数がレイアウト・コンポーネントにバインド可能であることを示します。

- public var dataXML:XML - これは、データ変数の宣言を示します。

- public - 変数の値がテンプレート全体で利用できることを示します。

- var - レポートに変数があることを宣言します。

- dataXML - 変数の名前です。名前は必須です。この名前を使用してテンプレートをBI Publisherで使用する必要があります。

- :XML - 変数がXMLタイプであることを宣言します。

- ; - 指定したXMLデータの末尾にセミコロンがあることに注意してください。

実行時にBI Publisherサーバーによって、ランタイム・データがレポートから生成され、それがFlexテンプレートに注入され、dataXML変数内にあるサンプル・データが置換されます。この機能により、サーバーに接続しなくてもFlexレポートをユーザーに配布することができます。

9.2.2 レイアウトの作成

Flex IDEでは、オブジェクトのドラッグ・アンド・ドロップができるデフォルト・キャンバスが作成されます。このキャンバスは必要に応じてレポートに合せて変更できます。

重要:

Flash出力をPDF文書に埋め込む場合、テンプレートの幅と高さを「Layout」プロパティの「Size」リージョンで設定する必要があります。デフォルトのサイズのままにする場合でも、これらのフィールドに明示的に値を入力する必要があります。

レイアウトを作成するには、レポート・オブジェクトをレイアウト・パレットに追加します。この例では、Flexの「Design」タブを使用してオブジェクトをレイアウトに追加します。「Design」タブをクリックして、利用可能なオブジェクトを「Component Navigator」ペインに表示します。

図9-3は、「Component Navigator」ペインに利用可能なオブジェクトが表示されている例を示します。

図9-3 「Component Navigator」ペインでの利用可能なオブジェクトの表示の例

これらのオブジェクトは、設計パレットにドラッグ・アンド・ドロップすることができます。

レイアウトを作成する手順は次のとおりです。

1. パネル・オブジェクトを「Layout」ノードの下から設計パレットにドラッグします。パネルをパレットの周囲にドラッグすると、ガイドラインが青色で表示されます。これらのガイドラインを使用して、オブジェクトの位置合せを行います。

2. パネルをパレットの左上端でドロップします。

3. パネルの右下端をパレットの右側にドラッグします。

4. 次に、パレットの高さの約半分の位置でドロップします。または、右側のプロパティ・パレットを使用して、パネルのサイズを設定します。

5. 次に、Datagridオブジェクトを選択します。これは、データを表形式でレンダリングするためのオブジェクトです。このオブジェクトをステップ1で作成したパネルにドロップします。これでDatagridはパネルの子になり、必要に応じてサイズを変更できます。実行結果を図9-4に示します。

図9-4 レイアウトの例

デフォルトでは、3列が作成されます。次の項(「データソースへのレイアウト・オブジェクトのバインド」)では、MXMLコードのデフォルトをオーバーライドする操作を実行します。

9.2.2.1 チャートの追加

チャート機能オプションのライセンスを購入した場合は、レイアウトにチャートを追加できます。

レイアウトにチャートを追加する手順は次のとおりです。

1. レイアウトにチャートを追加する場所を確保します。Datagridオブジェクトを選択し、ホスティングしているパネルの高さの約半分の位置まで上端を下に移動します。

2. この例では、列チャートを設計パレットからドラッグして、ホスティングしているパネルにドロップします。ガイドラインを使用して、位置合せを行います。

3. ドロップすると、デフォルトのサイズがDatagridに重なり、チャートの凡例が左上の隅に表示されます。チャートのサイズを変更して凡例を右側に移動し、図9-5と同じようにします。

図9-5 サンプル・チャート

これはサンプル・チャートです。次の項ではデータへのバインドを行います。

9.2.3 データソースへのレイアウト・オブジェクトのバインド

レイアウトが完了したら、レイアウト・オブジェクトをデータソースにバインドします。Flexには、オブジェクトのプロパティ・パレットを使用してバインドを定義する支援機能がありますが、この作業を実行するのに十分ではありません。そのため、Sourceエディタを使用してMXMLを直接更新する必要があります。

9.2.3.1 DataGridのバインド

DataGridをバインドする手順は次のとおりです。

1. まず、設計パレットでDataGridを選択してから「Source」タブをクリックして、MXMLソースを表示します。DataGridコードの最初の行が選択された状態で表示されます。この機能は、複雑なFlexテンプレートを作成してコードを容易に探せるようにする必要がある場合に便利です。
DataGridコードは次のようになります。

<mx:DataGrid x="10" y="160" width="476" height="152">
<mx:columns>
<mx:DataGridColumn headerText="Column 1" dataField="col1"/>
<mx:DataGridColumn headerText="Column 2" dataField="col2"/>
<mx:DataGridColumn headerText="Column 3" dataField="col3"/>
</mx:columns>
</mx:DataGrid>

親コンテナ内のグリッドにおけるx座標とy座標の相対位置、およびその幅と高さがコードで定義されています。その次の要素では、ヘッダー・ラベルとデータ・フィールドの属性で列が定義されています。

この作業の目的は、図9-6のような表を作成することです。

図9-6 表の例

2. DataGridをデータソースに対応させます。このためには、次に示すように属性を<mx:DataGrid>要素に追加します。

dataProvider="{dataXML.ROW}"

この属性により、実行時にグリッドの移入に使用するデータ・オブジェクトを定義します。この例ではXMLデータ変数をdataXMLとして定義しました。ここでは、これにROW(つまり、dataXML.ROW)を付けた定義を使用します。ROWは、データセットの繰返しグループです。データソースであることをFlexエンジンで検出できるように中カッコで囲む必要があることに注意してください。

3. 列をバインドします。基本構造があるので、dataFieldの値をデータソースの適切な要素名に置き換えます。また、headerTextの値も目的の列ヘッダー名に置き換えます。たとえば、第1列目に次の文字列があると仮定します。
<mx:DataGridColumn headerText="Column 1" dataField="col1"/>

前述の文字列は、次の文字列で置き換えます。

<mx:DataGridColumn headerText="Employee" dataField="NAME" />

これにより第1列目のヘッダー名はEmployeeと定義され、列データはXMLデータソースのNAME要素にバインドされます。

完成したDataGridサンプル・コードは次のようになります。

<mx:DataGrid x="10" y="160" width="476" height="152" dataProvider="{dataXML.ROW}">
<mx:columns>
<mx:DataGridColumn headerText="Employee" dataField="NAME" />
<mx:DataGridColumn headerText="Title" dataField="JOB_TITLE"/>
<mx:DataGridColumn headerText="Monthly Salary" dataField="SALARY"/>
<mx:DataGridColumn headerText="Annual Salary" dataField="ANNUAL_SALARY"/>
</mx:columns>
</mx:DataGrid>

4. これによって、サンプル・データを適用したテンプレートをプレビューできるようになります。「Run」→「Run EmployeeReport」を選択します。新しいブラウザ・ウィンドウが開き、サンプル・データの表がレンダリングされます。

9.2.3.2 チャートのバインド

チャートをバインドする手順は次のとおりです。

1. 「Design」タブでチャートを選択します。次に、「Source」ビューに戻って次のようなチャート・コードを検索します。

<mx:ColumnChart x="10" y="10" id="columnchart1" width="476" height="142">
<mx:series>
<mx:ColumnSeries displayName="Series 1" yField=""/>
</mx:series>
</mx:ColumnChart>
<mx:Legend dataProvider="{columnchart1}" x="383" y="10"/>

2. データソースをチャート・オブジェクトにバインドするには、次のようにしてdataProvider属性を<mx:ColumnChart>要素に追加します。

dataProvider="{dataXML.ROW}"

3. 次に、水平軸および系列のバインドを追加します。詳細は、Flexのヘルプ・ファイルを参照してください。
図9-7のような従業員別の給与を示すチャートを作成する手順は次のとおりです。

図9-7 従業員別の給与を示すチャート

コードを次のように更新します。

- <horizontalAxis>要素を追加して、チャートの横軸に使用されるデータソースの要素を定義します。categoryField属性を使用して、データ要素の値を割り当てます。この例では、NAMEデータ要素を割り当てます。

- <series>グループを変更し、SALARY値を各従業員のNAMEにバインドして、従業員ごとの縦棒を作成します。

次にサンプル・コードを示します。

<mx:ColumnChart x="10" y="10" id="columnchart1" width="476" height="142" dataProvider="{dataXML.ROW}">
<mx:horizontalAxis>
<mx:CategoryAxis  categoryField="NAME" />
</mx:horizontalAxis>
<mx:series >
<mx:ColumnSeries xField="NAME"  yField="SALARY" displayName="Salary"/>
</mx:series>
</mx:ColumnChart>
<mx:Legend dataProvider="{columnchart1}" x="383" y="10"/>

このサンプルでは、<mx:horizontalAxis>要素が追加され、categoryField属性にはNAMEデータ要素が割り当てられています。この要素は、チャートをレンダリングするために必要です。

<mx:series>要素は、SALARY値を各従業員のNAMEにバインドするように更新され、従業員ごとにチャートの縦棒が作成されます。

凡例のコードは更新不要です。<mx:ColumnChart>要素のid属性が、<mx:Legend>要素のdataProvider属性値に一致することに注意してください。

4. これで、サンプル・データを使用したテンプレートの実行が可能になります。図9-8に示すように、出力では表形式のデータの上にチャートが表示されます。

図9-8 表形式のデータの上にチャートが表示される出力

9.3 レポート定義へのFlashテンプレートのアップロード

テンプレートをレポート定義にアップロードする手順は次のとおりです。

1. カタログ内のレポートに移動します。「編集」をクリックしてレポート・エディタを起動します。

2. 「新規レイアウトの追加」をクリックします。

3. 新規レイアウトのアップロードまたは生成で「アップロード」をクリックします。

4. 「テンプレート・ファイルのアップロード」ダイアログで次の操作を実行します。

- 「レイアウト名」を入力します。

- 「参照」をクリックして、Flexプロジェクト・ディレクトリに移動します。このディレクトリでbinディレクトリを開き、EmployeeReport.swfファイルを選択します。

- 「テンプレート・タイプ」リストで、「Flashテンプレート」を選択します。

- このテンプレートの「ロケール」を選択します。

5. 「アップロード」をクリックして、レポートに使用可能なレイアウトに、Flashテンプレートを追加します。

9.4 PDF出力用プロパティの設定

「レポート・プロパティ」ページには、Flashテンプレートをレンダリングするためのプロパティのセットがあります。出力タイプとしてPDFを選択する場合に、これらのプロパティを使用してFlashオブジェクトのサイズと配置を指定できます。

注意:

PDF出力を生成するには、Flex Builderでテンプレートの高さと幅を指定する必要があります。第9.2.2項「レイアウトの作成」を参照してください。

PDF出力のプロパティを設定する手順は次のとおりです。

1. カタログ内のレポートに移動します。「編集」をクリックしてレポート・エディタを起動します。

2. レポート・エディタで「プロパティ」をクリックして、「レポート・プロパティ」ダイアログを開きます。

3. 「書式設定」タブをクリックし、「Flash」という見出しのプロパティのセットまでスクロールします。
図9-9は、「書式設定」タブの見出し「Flash」を示しています。

図9-9 「書式設定」タブの見出し「Flash」

4. プロパティの値を入力します。必須プロパティはありません。値を入力しないとデフォルト値が適用され、11インチx8.5インチの文書(標準横向き)になり、ページの左上隅には1/4インチの凹枠がFlashオブジェクトの挿入位置として割り当てられます。ドキュメントのデフォルト領域は、SWFオブジェクトのサイズです。

- ラッパー・ドキュメントのページ幅 - 出力PDF文書の幅をポイント単位で指定します。デフォルトは792(11インチ)です。

- ラッパー・ドキュメントのページの高さ - 出力PDF文書の高さをポイント単位で指定します。デフォルトは612(8.5インチ)です。

- PDFのFlash領域の開始X位置 - 文書の左端を軸の原点として使用し、PDF文書におけるFlashオブジェクトの横方向の開始位置をポイント単位で指定します。デフォルトは18(0.25インチ)です。

- PDFのFlash領域の開始Y位置 - 文書の左上隅を軸の原点として使用し、PDF文書におけるFlashオブジェクトの縦方向の開始位置をポイント単位で指定します。デフォルトは18(0.25インチ)です。

- Flash領域の幅 - 文書におけるFlashオブジェクトの占有領域の幅をポイント単位で入力します。デフォルトはSWFオブジェクトの幅です。

- Flash領域の高さ - 文書におけるFlashオブジェクトの占有領域の高さをポイント単位で入力します。デフォルトはSWFオブジェクトの高さです。

10 レポート処理および出力ドキュメントのプロパティの設定

この章では、BI Publisherでレポート処理および出力ドキュメントのプロパティを構成する方法について説明します。

この章の内容は次のとおりです。

- 第10.1項「概要」

- 第10.2項「PDF出力のプロパティ」

- 第10.3項「PDFセキュリティのプロパティ」

- 第10.4項「PDFデジタル署名のプロパティ」

- 第10.5項「PDF/A出力のプロパティ」

- 第10.6項「PDF/X出力のプロパティ」

- 第10.7項「RTF出力のプロパティ」

- 第10.8項「HTML出力のプロパティ」

- 第10.9項「FO処理のプロパティ」

- 10.10項「DOCX出力」

- 第10.11項「RTFテンプレートのプロパティ」

- 第10.12項「PDFテンプレートのプロパティ」

- 第10.13項「Flashテンプレートのプロパティ」

- 第10.14項「CSV出力のプロパティ」

- 第10.15項「EXCEL 2007の出力のプロパティ」

- 第10.16項「すべての出力」

- 第10.17項「フォント・マッピングの定義」

10.1 概要

「レポート・プロパティ」ダイアログの「フォーマット」タブを使用して、ランタイム・フォーマットのプロパティをレポート・レベルで設定できます。これらのプロパティは、システム・レベルでも設定できます。各レベルのプロパティで競合する値が設定されている場合、レポート・レベルが優先されます。

レポート・レベルでプロパティを設定するには:

1. レポート・エディタでレポートを開きます。

2. 「プロパティ」をクリックして「レポート・プロパティ」ダイアログを表示します。

3. 「フォーマット」タブをクリックして、フォーマット・プロパティを表示します。

各プロパティの「レポート値」は更新可能ですが、「サーバー値」は参照用として表示されています。

「レポート・プロパティ」ダイアログの「フォーマット」タブを図10-1に示します。

図10-1 「レポート・プロパティ」、「フォーマット」タブ

サーバー・レベルでのプロパティ設定の詳細は、『Oracle Fusion Middleware Oracle Business Intelligence Publisher管理者ガイド』のランタイム構成の定義に関する項を参照してください。

10.2 PDF出力のプロパティ

表10-1では、PDF出力で使用可能なプロパティについて説明します。

表10-1 「PDF出力」プロパティ

プロパティ名

説明

圧縮PDF出力

デフォルト: true

説明: trueまたはfalseを指定して、出力PDFファイルの圧縮を制御します。

内部名: pdf-compression

PDFビューア・メニュー・バーの非表示

デフォルト: false

説明: trueを指定すると、文書がアクティブなときにビューア・アプリケーションのメニュー・バーが非表示になります。ブラウザの外部にあるスタンドアロンAcrobat Readerアプリケーションで出力を表示する「エクスポート」ボタンを使用するときのみ、メニュー・バー・オプションは有効になります。

内部名: pdf-hide-menubar

PDFビューア・ツール・バーの非表示

デフォルト: false

説明: trueを指定すると、文書がアクティブなときにビューア・アプリケーションのツールバーが非表示になります。

内部名: pdf-hide-toolbar

スマート引用符の置換

デフォルト: true

説明: PDF出力でスマート引用符をストレート引用符に置換しない場合はfalseに設定します。

内部名: pdf-replace-smartquotes

すべてのページで1つの共有リソース・オブジェクトのみを使用

デフォルト: true

説明: BI Publisherのデフォルト・モードでは、PDFファイルのすべてのページで共有されるリソース・オブジェクトが1つ作成されます。このモードには全体的なファイル・サイズをより小さくできる利点があります。ただし、次のような欠点があります。

- 多くのSVGオブジェクトが使用されている大きなファイルでは、表示に時間がかかる場合がある

- Adobe Acrobatを使用してファイルを部分的に抽出または削除して分割すると、抽出された部分ごとに単一の共有リソース・オブジェクトが組み込まれるため(ファイル全体のすべてのSVGオブジェクトを含む)、編集後のPDFファイルはサイズが大きくなる

このプロパティをfalseに設定すると、ページごとにリソース・オブジェクトが作成されます。ファイル・サイズは大きくなりますが、PDFの表示は速くなり、PDFをより小さいファイルへ分割することもより簡単になります。

内部名: pdf-use-one-resources

PDFナビゲーション・パネルの初期表示

デフォルト: ブックマークを開く

説明: ユーザーがPDFレポートを最初に開いたときのナビゲーション・パネルの表示を制御します。次のオプションがサポートされています。

- パネル縮小 - ナビゲーション・パネルが縮小された状態でPDF文書を表示します。

- ブックマークを開く(デフォルト) - 移動を容易にするブックマーク・リンクを表示します。

- ページを開く - PDFの各ページのクリック可能なサムネイル・ビューを表示します。

内部名: pdf-pagemode

10.3 PDFセキュリティのプロパティ

表10-2で説明するプロパティは、出力PDF文書のセキュリティ設定の制御に使用します。

表10-2 PDFセキュリティのプロパティ

プロパティ名

説明

PDFセキュリティ有効化

デフォルト: false

説明: trueを指定すると、出力PDFファイルが暗号化されます。次のプロパティも指定できます。

- ドキュメント・パスワードを開く

- 権限パスワードの変更

- 暗号化レベル

内部名: pdf-security

ドキュメント・パスワードを開く

デフォルト: なし

説明: 文書を開くには、このパスワードが必要です。ユーザーは文書を開くことのみ可能になります。このプロパティは「PDFセキュリティ有効化」をtrueに設定した場合にのみ有効化されます。BI Publisherは、Adobeのパスワード制限に従うことに注意してください。パスワードに含められるのはLatin 1の文字のみで、長さは32バイトまでです。

内部名: pdf-open-password

権限パスワードの変更

デフォルト: なし

説明: このパスワードを使用すると、ユーザーはセキュリティ設定をオーバーライドできます。このプロパティは「PDFセキュリティ有効化」をtrueに設定した場合にのみ有効です。BI Publisherは、Adobeのパスワード制限に従うことに注意してください。パスワードに含められるのはLatin 1の文字のみで、長さは32バイトまでです。

内部名: pdf-permissions-password

暗号化レベル

デフォルト: 2 - 高

説明: 出力PDFファイルの暗号化レベルを指定します。可能な値は次のとおりです。

- 0: 低(40-bit RC4、Acrobat 3.0以上)

- 1: 中(128-bit RC4、Acrobat 5.0以上)

- 2: 高(128-bit AES、Acrobat 7.0以上)

このプロパティは「PDFセキュリティ有効化」をtrueに設定した場合にのみ有効です。「暗号化レベル」が0に設定されている場合、次のプロパティも設定できます。

- 印刷無効化

- ドキュメント変更無効化

- コンテキストのコピー、抽出およびアクセシビリティ無効化

- コメントとフォーム・フィールドの追加および変更無効化

「暗号化レベル」が1以上に設定されている場合、次のプロパティが使用可能です。

- スクリーン・リーダー用のテキスト・アクセス有効化

- テキストやイメージ、その他のコンテンツのコピー有効化

- 許可変更レベル

- 許可印刷レベル

内部名: pdf-encryption-level

ドキュメント変更無効化

デフォルト: false

説明: 「暗号化レベル」が0に設定されている場合に使用できる権限。trueに設定すると、PDFファイルを編集できません。

内部名: pdf-no-changing-the-document

印刷無効化

デフォルト: false

説明: 「暗号化レベル」が0に設定されている場合に使用できる権限。trueに設定すると、PDFファイルの印刷を使用できません。

内部名: pdf-no-printing

コメントとフォーム・フィールドの追加および変更無効化

デフォルト: false

説明: 「暗号化レベル」が0に設定されている場合に使用できる権限。trueに設定すると、コメントおよびフォーム・フィールドでの追加機能または変更機能を使用できません。

内部名: pdf-no-accff

コンテキストのコピー、抽出およびアクセシビリティ無効化

デフォルト: false

説明: 「暗号化レベル」が0に設定されている場合に使用できる権限。trueに設定すると、コンテキストのコピー、抽出およびアクセシビリティ機能を使用できません。

内部名: pdf-no-cceda

スクリーン・リーダー用のテキスト・アクセス有効化

デフォルト: true

説明: 「暗号化レベル」が1以上に設定されている場合に使用できる権限。trueに設定すると、スクリーン・リーダー用のテキスト・アクセスを使用できます。

内部名: pdf-enable-accessibility

テキストやイメージ、その他のコンテンツのコピー有効化

デフォルト: false

説明: 「暗号化レベル」が1以上に設定されている場合に使用できる権限。trueに設定すると、テキスト、イメージ、およびその他のコンテンツをコピーできます。

内部名: pdf-enable-copying

許可変更レベル

デフォルト: 0

説明: 「暗号化レベル」が1以上に設定されている場合に使用できる権限。有効な値は次のとおりです。

- 0: なし

- 1: ページの挿入、削除および回転が許可されます。

- 2: フォーム・フィールドへの入力および署名が許可されます。

- 3: コメント、フォーム・フィールドへの入力および署名が許可されます。

- 4: ページの抽出以外のすべての変更が許可されます。

内部名: pdf-changes-allowed

許可印刷レベル

デフォルト: 0

説明: 「暗号化レベル」が1以上に設定されている場合に使用できる権限。有効な値は次のとおりです。

- 0: なし

- 1: 低解像度(150 dpi)

- 2: 高解像度

内部名: pdf-printing-allowed

10.4 PDFデジタル署名のプロパティ

表10-3で説明するプロパティは、レポート・レベルでのみ設定する必要があります。これにより、レポートのデジタル署名を有効にし、出力PDF文書の署名場所を定義できます。出力PDFドキュメントのデジタル署名を有効にする方法の詳細は、『Oracle Fusion Middleware Oracle Business Intelligence Publisher管理者ガイド』のデジタル署名の実装に関する項を参照してください。

注意:

PDFレイアウト・テンプレートまたはRTFレイアウト・テンプレートに基づいてレポートのデジタル署名を実装するには、レポートの「デジタル署名の有効化」プロパティをTrueに設定する必要があります。

出力レポートの必要な場所にデジタル署名を配置するには、プロパティを適切に設定することも必要です。デジタル署名の配置場所の選択肢は、テンプレート・タイプによって異なります。選択肢は次のようになります。

- (PDFのみ)「既存の署名フィールド名」プロパティを設定し、特定のフィールドにデジタル署名を配置します。

- (RTFとPDF)「署名フィールドの場所」プロパティを設定し、ページの一般的な場所(左上、上部中央または右上)にデジタル署名を配置します。

- (RTFとPDF)「署名フィールドのX座標」と「署名フィールドのY座標」のプロパティを設定し、特定の場所をX座標とY座標で指定してデジタル署名を配置します。
このオプションを選択すると、「署名フィールドの幅」と「署名フィールドの高さ」を設定して、文書におけるフィールドのサイズも定義できます。

表10-3 PDFデジタル署名のプロパティ

プロパティ名

説明

デジタル署名の有効化

デフォルト: false

説明: レポートのデジタル署名を有効にするには、trueに設定します。

内部名: signature-enable

既存の署名フィールド名

デフォルト: なし

説明: このプロパティは、PDFレイアウト・テンプレートにのみ適用されます。レポートがPDFテンプレートに基づく場合、デジタル署名の配置先であるPDFテンプレートのフィールドを入力できます。

PDFテンプレートで署名用フィールドを定義する方法の詳細は、第7.12項「デジタル署名用フィールドの追加または指定」を参照してください。

内部名: signature-field-name

署名フィールドの場所

デフォルト: なし

説明: このプロパティは、RTFまたはPDFのレイアウト・テンプレートに適用できます。このプロパティには、「左上」、「上部中央」、「右上」で構成されるリストがあります。これらの一般的な場所のいずれかを選択すると、BI Publisherによって、デジタル署名が適切なサイズと位置に調整され出力文書に挿入されます。このプロパティを設定する場合、X座標とY座標のプロパティまたは幅と高さのプロパティは入力しないでください。

内部名: signature-field-location

署名フィールドのX座標

デフォルト: 0

説明: このプロパティは、RTFまたはPDFのレイアウト・テンプレートに適用できます。文書の左端をX軸の原点として使用し、その左端からのポイント値でデジタル署名の配置場所を入力します。たとえば、8.5インチx11インチ(つまり、幅が612ポイントで高さが792ポイント)の文書の中央において水平方向にデジタル署名を配置する場合は、306と入力します。

内部名: signature-field-pos-x

署名フィールドのY座標

デフォルト: 0

説明: このプロパティは、RTFまたはPDFのレイアウト・テンプレートに適用できます。文書の下端をY軸の原点として使用し、その下端からのポイント値でデジタル署名の配置場所を入力します。たとえば、8.5インチx11インチ(つまり、幅が612ポイントで高さが792ポイント)の文書の中央において垂直方向にデジタル署名を配置する場合は、396と入力します。

内部名: signature-field-pos-y

署名フィールドの幅

デフォルト: 0

説明: 挿入するデジタル署名フィールドに必要な幅をポイント単位(72ポイントで1インチ)で入力します。これは、「署名フィールドのX座標」と「署名フィールドのY座標」のプロパティも設定している場合にのみ適用されます。

内部名: signature-field-width

署名フィールドの高さ

デフォルト: 0

説明: 挿入するデジタル署名フィールドに必要な高さをポイント単位(72ポイントで1インチ)で入力します。これは、「署名フィールドのX座標」と「署名フィールドのY座標」のプロパティも設定している場合にのみ適用されます。

内部名: signature-field-height

10.5 PDF/A出力のプロパティ

PDF/A出力を構成するには、表10-4で説明するプロパティを設定します。PDF/A出力の詳細は、第E.1項「PDF/A出力の生成」を参照してください。

表10-4 PDF/A出力のプロパティ

プロパティ名

説明

PDF/A ICCプロファイル・データ

デフォルト: JVMによって提供されるデフォルト・プロファイル・データ

説明: ICCプロファイル・データ・ファイルの名前(例: CoatedFOGRA27.icc)

ICC (International Color Consortium)プロファイルは、このPDF/Aファイルを表示する環境の色特性を記述したバイナリ・ファイルです。(詳細はhttp://en.wikipedia.org/wiki/ICC_profileの記事を参照してください)。

選択するICCプロファイルのメジャー・バージョンは4未満である必要があります。

JVMでデフォルト設定以外の特定のプロファイル・データ・ファイルを使用するには、そのファイルを取得して<bi publisher repository>/Admin/Configurationの下に置きます。このプロパティを設定する場合、「PDF/A ICCプロファイル情報」の値(pdfa-icc-profile-info)も設定する必要があります。

内部名: pdfa-icc-profile-data

PDF/A ICCプロファイル情報

デフォルト: sRGB IEC61966-2.1

説明: ICCプロファイル情報(pdfa-icc-profile-dataが指定されている場合に必須)

内部名: pdfa-icc-profile-info

PDF/Aファイル識別子

デフォルト: 自動的に生成されるファイル識別子

説明: メタデータ・ディクショナリのxmpMM:Identifierフィールドに設定されている、1つ以上の有効なファイル識別子。複数の識別子を指定するには、値をカンマ(,)で区切ります。

内部名: pdfa-file-identifier

PDF/AドキュメントID

デフォルト: なし

説明: 有効なドキュメントID。この値は、メタデータ・ディクショナリのxmpMM:DocumentIDフィールドに設定されています。

内部名: pdfa-document-id

PDF/AバージョンID

デフォルト: なし

説明: 有効なバージョンID。この値は、メタデータ・ディクショナリのxmpMM:VersionIDフィールドに設定されています。

内部名: pdfa-version-id

PDF/Aレンディション・クラス

デフォルト: なし

説明: 有効なレンディションID。この値は、メタデータ・ディクショナリのxmpMM:RenditionClassフィールドに設定されています。

内部名: pdfa-rendition-class

10.6 PDF/X出力のプロパティ

表10-5で説明するプロパティを設定して、PDF/X出力を構成します。これらのプロパティに設定する値は、印刷デバイスによって異なります。他のプロパティに対する次の制限事項に注意してください。

- pdf-version - PDF/X-1a出力には、1.4を超える値は許容されません。

- pdf-security - Falseに設定する必要があります。

- pdf-encryption-level - 0に設定する必要があります。

- pdf-font-embedding - Trueに設定する必要があります。

PDF/X出力の詳細は、第E.2項「PDF/X出力の生成」を参照してください。

表10.5 PDF/X出力のプロパティ

プロパティ名

説明

PDF/X ICCプロファイル・データ

デフォルト: なし

説明: (必須) ICCプロファイル・データ・ファイルの名前。例: CoatedFOGRA27.icc.

ICC (International Color Consortium)プロファイルは、想定される出力デバイスの色特性を記述したバイナリ・ファイルです(詳細はhttp://en.wikipedia.org/wiki/ICC_profileの記事を参照してください)。本番環境では、カラー・プロファイルは、生成されたPDF/Xファイルを印刷する印刷会社により提供されます。このファイルは<bi publisher repository>/Admin/Configurationにある必要があります。

プロファイルはAdobe(http://www.adobe.com/support)またはcolormanagement.org (http://www.colormanagement.org/)から入手することもできます。

内部名: pdfx-dest-output-profile-data

PDF/X出力条件識別子

デフォルト: なし

説明: (必須) ICC (International Color Consortium)に登録された標準の印刷条件のいずれかの名前。PDF/X-1aで使用する標準のCMYK印刷条件のリストは、次のICC Webサイトで提供されています: http://www.color.org/chardata/drsection1.xalter。このプロパティに入力する値は有効な参照名(FOGRA43など)です。

想定される印刷環境に適した値を選択します。この名前は、PDF/Xドキュメントの使用者により、ファイルの自動処理をガイドするのに使用されたり、対話型のアプリケーションでデフォルトの設定を通知するのに使用される場合が多くあります。

内部名: pdfx-output-condition-identifier

PDF/X出力条件

デフォルト: なし

説明: 交換ファイルを受信するサイトで人間のオペレータが意味を把握できる形式で、目的の印刷条件を記述する文字列。この値は、OutputIntentsディクショナリのOutputConditionフィールドで設定されています。

内部名: pdfx-output-condition

PDF/Xレジストリ名

デフォルト: http://www.color.org

説明: レジストリ名。このプロパティは、pdfx-output-condition-identifierがICCレジストリ以外のレジストリに登録されている特徴描写名に設定されている場合に設定します。

内部名: pdfx-registry-name

PDF/Xバージョン

デフォルト: PDF/X-1a:2003

説明: InfoディクショナリのGTS_PDFXVersionフィールドおよびGTS_PDFXConformanceフィールドに設定されているPDF/Xバージョン。現在サポートされている値はPDF/X-1a:2003のみです。

内部名: pdfx-version

10.7 RTF出力のプロパティ

表10-6で説明するプロパティを設定して、RTF出力を構成します。

表10-6 RTF出力のプロパティ

プロパティ名

説明

変更トラッキング有効化

デフォルト: false

説明: trueに設定すると、出力RTFドキュメントでの変更トラッキングを有効化します。

内部名: rtf-track-changes

追跡済変更のためのドキュメントの保護

デフォルト: false

説明: trueに設定すると、ドキュメントの追跡済変更が保護されます。

内部名: rtf-protect-document-for-tracked-changes

デフォルト・フォント

デフォルト: Arial:12

説明: 他のフォントが定義されていない場合に、このプロパティを使用してRTF出力のフォント・スタイルとサイズを定義します。これは、生成されたレポートにおいて空の表セルのサイズを制御する場合に特に便利です。<FontName>:<size>の書式でフォント名とサイズを入力します。例: Arial:12。選択するフォントは、実行時にBI Publisher処理エンジンで使用可能である必要があります。BI Publisherサーバー用のフォントのインストール方法およびBI Publisher用に事前定義されているフォントのリストは、第10.17項「フォント・マッピングの定義」を参照してください。

内部名: rtf-output-default-font

10.8 HTML出力のプロパティ

HTML出力ファイルを制御するには、表10-7で説明するプロパティを設定します。

表10-7 HTML出力のプロパティ

プロパティ名

説明

ヘッダーの表示

デフォルト: true

説明: HTML出力でテンプレート・ヘッダーを非表示にするには、falseに設定します。

内部名: html-show-header

フッターの表示

デフォルト: true

説明: HTML出力でテンプレート・フッターを非表示にするには、falseに設定します。

内部名: html-show-footer

スマート引用符の置換

デフォルト: true

説明: HTML出力でスマート引用符がストレート引用符に置換されないようにするには、falseに設定します。

内部名: html-replace-smartquotes

キャラクタ・セット

デフォルト: UTF-8

説明: 出力HTMLのキャラクタ・セットを指定します。

内部名: html-output-charset

HTML出力のアクセス可能化

デフォルト: false

説明: HTML出力へのアクセスを可能にするには、trueを指定します。

内部名: make-accessible

表の列への幅の割合の使用

デフォルト: true

説明: ポイント単位の値ではなく表の全幅におけるパーセンテージ値に応じて表の列をレンダリングするには、このプロパティをtrueに設定します。このプロパティは、ブラウザで列幅が非常に広い表がレンダリングされる場合に特に便利です。このプロパティをtrueに設定すると、表が見やすくなります。

内部名: html-output-width-in-percentage

ページ区切りで表示

デフォルト: false

説明: trueに設定すると、レポート・ビューアでは、HTML出力がページが区切られた状態でレンダリングされます。これらの機能は次のとおりです。

- 目次の生成

- ページの上部および下部のナビゲーション・リンク

- HTMLドキュメント内の特定のページにスキップする機能

- ブラウザの検索機能を使用した、HTMLドキュメント内の文字列検索

- ブラウザのズーム機能を使用した、HTMLドキュメントの拡大/縮小

これらの機能は、レポート・ビューアを使用したオンライン表示でのみサポートされていることに注意してください。

10.9 FO処理のプロパティ

FO処理を制御するには、表10-8で説明するプロパティを設定します。

表10-8 FO処理のプロパティ

プロパティ名

説明

BI PublisherのXSLTプロセッサの使用

デフォルト: true

説明: BI Publisherのパーサーの使用を制御します。falseに設定すると、XSLTは解析されません。

内部名: xslt-xdoparser

XSLTプロセッサのスケーラブル機能有効化

デフォルト: false

説明: XDOパーサーのスケーラブル機能を制御します。このプロパティを有効にするには、プロパティ「BI PublisherのXSLTプロセッサの使用」をtrueに設定する必要があります。

内部名: xslt-scalable

XSLTランタイム最適化の有効化

デフォルト: true

説明: trueに設定すると、FOプロセッサのパフォーマンス全体が向上し、一時ディレクトリに生成される一時FOファイルのサイズは大幅に減少します。レポートが小さい場合(1から2ページ程度)、パフォーマンスの向上は顕著ではありません。このプロパティをtrueに設定して、パフォーマンスをさらに向上させるには、「属性セットの抽出」プロパティをfalseに設定することをお薦めします。第10.11項「RTFテンプレートのプロパティ」を参照してください。

内部名: xslt-runtime-optimization

XPATH最適化の有効化

デフォルト: false

説明: trueに設定すると、XMLデータ・ファイルで要素の頻度が解析されます。この情報はXSLでのXPathの最適化に使用されます。

内部名: xslt-xpath-optimization

処理中にキャッシュされたページ

デフォルト: 50

説明: このプロパティは、「一般」プロパティで「一時ディレクトリ」を指定した場合のみ有効になります。目次の生成に、FOプロセッサでは、ページ数がこのプロパティで指定した値を超えるまでページをキャッシュします。その後、キャッシュしたページを一時ディレクトリ内のファイルに書き込みます。

内部名: system-cache-page-size

Bidi言語の桁代替タイプ

デフォルト: National

説明: 有効な値は、NoneとNationalです。Noneに設定すると、東ヨーロッパの数字が使用されます。Nationalに設定すると、ヒンディー形式(アラビア・インド数字)が使用されます。この設定は、ロケールがアラビア語の場合のみ有効です。それ以外の場合は無視されます。

内部名: digit-substitution

変数ヘッダー・サポート無効化

デフォルト: false

説明: trueの場合は、変数ヘッダーのサポートが無効になります。変数ヘッダーをサポートすると、ヘッダーのサイズがコンテンツに応じて自動的に拡張されます。

内部名: fo-prevent-variable-header

FOのマージ時にプリフィクスをIDに追加

デフォルト: false

説明: 複数のXSL-FO入力をマージする際、IDの競合を解決するため、FOプロセッサがランダムな接頭辞を自動的に追加します。このプロパティをtrueにすると、この機能が無効になります。

内部名: fo-merge-conflict-resolution

マルチスレッド有効化

デフォルト: false

説明: マルチプロセッサ・マシンまたはデュアルコア・シングル・プロセッサを備えたマシンを使用している場合、このオプションをTrueにすると、ドキュメントの生成速度が上がります。

内部名: fo-multi-threads

外部参照無効化

デフォルト: true

説明: true(デフォルト)に設定されていると、XSL処理とXML解析の実行中、セカンダリ・ファイル(サブ・テンプレートや他のXMLドキュメントなど)のインポートが許可されません。これによって、システムのセキュリティが向上します。レポートやテンプレートで外部ファイルがコールされる場合は、falseに設定します。

内部名: xdk-secure-io-mode

FO解析バッファ・サイズ

デフォルト: 1000000

説明: FOプロセッサのバッファ・サイズを設定します。バッファがフルになると、バッファの要素はレポートでレンダリングされます。大きな表やピボット・テーブルのあるレポートでは複雑なフォーマット処理や計算処理が必要になりますが、これらのオブジェクトをレポートにおいて適切にレンダリングするには、大きなバッファが必要になる場合があります。このようなレポートの場合は、レポート・レベルでバッファのサイズを大きくします。この値を大きくすると、システムのメモリー使用量に影響します。

内部名: fo-chunk-size

サブ・テンプレートのXSLTランタイム最適化の有効化

デフォルト: true

注意: BI Publisherサーバーのデフォルトはtrueです。FOProcessorを直接コールする場合、デフォルトはfalseです。

説明: XSLを1つのみXDKに渡して後続処理を行う前に、FOProcessorでXSLインポートを実行するオプションを提供します。これにより、サブ・テンプレートがすでに含まれているメインXSLテンプレート全体にxslt-optimizationを適用できます。

内部名: xslt-do-import

PPTXネイティブ・チャート・サポートの有効化

デフォルト: false

説明: このプロパティはPowerPoint 2007出力に適用されます。trueに設定すると、PowerPoint 2007出力のチャートはネイティブPowerPoint (PPTX)チャートとしてレンダリングされます。falseに設定すると、チャートは埋込みPNGイメージとしてレンダリングされます。

内部名: pptx-native-chart

レポート・タイムゾーン

デフォルト: ユーザー

説明: 有効な値: ユーザーまたはJVM。

「ユーザー」に設定されている場合、BI Publisherはレポートにユーザー・レベルのレポート・タイムゾーンを使用します。ユーザーのレポート・タイムゾーンはアカウント設定で設定されます。

「JVM」に設定されている場合、BI Publisherはすべてのユーザーのレポートに、サーバーのJVMタイムゾーン設定を使用します。したがって、個々のユーザー設定にかかわらず、すべてのレポートで同じ時間が表示されます。この設定は、レポート・レベルで上書きできます。

内部名: fo-report-timezone

10.10 DOCX出力

表10-9で説明するプロパティは、Microsoft Word出力で設定できます。

表10-9 DOCX出力のプロパティ

プロパティ名

説明

変更トラッキング有効化

デフォルト: False

説明: このプロパティをTrueに設定すると、BI Publisherで生成したMicrosoft Wordドキュメントの変更追跡が可能です。

追跡済変更のためのドキュメントの保護

デフォルト: False

説明: このプロパティをTrueにすると、追跡済変更以外の変更からドキュメントが保護されます。すべての編集は追跡され、他のユーザーは追跡済変更を承認することはできず、元のドキュメントは変更されません。

デフォルト・フォント

デフォルト: Arial:12

説明: テンプレートで使用したフォントがMicrosoft Wordで使用可能な場合、テンプレートのフォントが使用されます。テンプレートで使用したフォントがMicrosoft Wordで使用不可な場合、ここで指定するデフォルトのフォントが使用されます。次のようにして、デフォルト・フォントを入力します。

フォント名:フォントサイズ

例: Courier:10

10.11 RTFテンプレートのプロパティ

RTFテンプレートを制御するには、表10-10で説明するプロパティを設定します。

表10-10 RTFテンプレートのプロパティ

プロパティ名

説明

属性セットの抽出

デフォルト:: 自動

説明: RTFプロセッサによって、生成されたXSL-FO内の属性セットが自動的に抽出されます。抽出されたセットは追加FOブロックに配置され、参照できます。これにより、処理パフォーマンスが向上し、ファイル・サイズが縮小されます。有効な値は次のとおりです。

- 「有効化」 - すべてのテンプレートおよびサブ・テンプレートの属性セットを抽出します。

- 「自動」 - テンプレートの属性セットは抽出しますが、サブ・テンプレートの属性セットは抽出しません。

- 「無効化」 - 属性セットは抽出しません。

内部名: rtf-extract-attribute-sets

XPathリライト有効化

デフォルト: true

説明: RTFテンプレートをXSL-FOへ変換する際に、RTFプロセッサはXMLタグ名を自動的に書き換え、フルXPath表記が示されるようにします。この機能を無効にするには、このプロパティをfalseに設定します。

内部名: rtf-rewrite-path

チェックボックスに使用する文字

デフォルト: Albany WT J;9746;9747/A

説明: BI PublisherのデフォルトのPDF出力フォントには、チェック・ボックスを表す絵文字が含まれていません。テンプレートにチェック・ボックスが含まれている場合は、このプロパティを使用してPDF出力のチェック・ボックス表記するUnicodeフォントを定義します。次の構文を使用して、選択された状態と選択解除の状態を表すUnicodeフォント番号を定義する必要があります。fontname;<trueの値の絵文字のUnicodeフォント番号 >;<falseの値の絵文字のUnicodeフォント番号>

例: Albany WT J;9746;9747/A、指定するフォントは、実行時にBI Publisherで使用可能である必要があります。

内部名: rtf-checkbox-glyph

10.12 PDFテンプレートのプロパティ

PDFテンプレートを制御するには、表10-11で説明するプロパティを設定します。

表10-11 PDFテンプレートのプロパティ

プロパティ名

説明

出力からPDFフィールドを削除

デフォルト: false

説明: 出力からPDFフィールドを削除する場合はtrueを指定します。PDFフィールドを削除した場合、フィールドに入力されたデータは抽出できません。

詳細は、第7.10.2項「フィールドに対する更新可能または読取り専用の設定」を参照してください。

内部名: remove-pdf-fields

出力ですべてのフィールドを読取専用に設定

デフォルト: true

説明: BI Publisherのデフォルトでは、PDFテンプレートの出力PDFの全フィールドが読取り専用に設定されます。すべてのフィールドを更新可能に設定する場合は、このプロパティをfalseに設定します。

詳細は、第7.10.2項「フィールドに対する更新可能または読取り専用の設定」を参照してください。

内部名: all-field-readonly

各フィールドの読取専用設定を保持

デフォルト: false

説明: 各フィールドの読取り専用設定をPDFテンプレートの定義どおりに保持する場合は、このプロパティをtrueに設定します。このプロパティは「出力ですべてのフィールドを読取専用に設定」の設定よりも優先されます。

詳細は、第7.10.2項「フィールドに対する更新可能または読取り専用の設定」を参照してください。

内部名: all-fields-readonly-asis

10.13 Flashテンプレートのプロパティ

Flashテンプレートを制御するには、表10-12で説明するプロパティを設定します。

表10-12 Flashテンプレートのプロパティ

プロパティ名

説明

ラッパー・ドキュメントのページ幅

デフォルト: 792

説明: 出力PDF文書の幅をポイント単位で指定します。デフォルトは792(11インチ)です。

内部名: flash-page-width

ラッパー・ドキュメントのページの高さ

デフォルト: 612

説明: 出力PDF文書の高さをポイント単位で指定します。デフォルトは612(8.5インチ)です。

内部名: flash-page-height

PDFのフラッシュ領域の開始X位置

デフォルト: 18

説明: 文書の左端を軸の原点として使用し、PDF文書におけるFlashオブジェクトの横方向の開始位置をポイント単位で指定します。デフォルトは18(0.25インチ)です。

内部名: flash-startx

PDFのフラッシュ領域の開始Y位置

デフォルト: 18

説明: 文書の左上隅を軸の原点として使用し、PDF文書におけるFlashオブジェクトの縦方向の開始位置をポイント単位で指定します。デフォルトは18(0.25インチ)です。

内部名: flash-starty

フラッシュ領域の幅

デフォルト: SWFにおけるポイント単位のフラッシュの幅と同じ

説明: 文書におけるFlashオブジェクトの占有領域の幅をポイント単位で入力します。デフォルトはSWFオブジェクトの幅です。

内部名: flash-width

フラッシュ領域の高さ

デフォルト: SWFにおけるポイント単位のフラッシュの高さと同じ

説明: 文書におけるFlashオブジェクトの占有領域の高さをポイント単位で入力します。デフォルトはSWFオブジェクトの高さです。

内部名: flash-height

10.14 CSV出力のプロパティ

表10-13で説明するプロパティは、カンマ区切り値の出力の制御に使用します。

表10-13 CSV出力のプロパティ

プロパティ名

説明

CSVデリミタ

デフォルト: ,

説明: カンマで区切られた値の出力でデータの区切りに使用する文字を指定します。他のオプションには、セミコロン(;)、タブ(\t)および縦線(|)があります。

先行/後続の空白の削除

デフォルト: false

説明: データ要素と区切り文字の間で先行空白と後続空白を削除するには、Trueを指定します。

10.15 EXCEL 2007の出力のプロパティ

表10-14で説明するプロパティは、Excel 2007の出力の制御に使用します。

表10-14 EXCEL 2007の出力のプロパティ

プロパティ名

説明

グリッド線の表示

デフォルト: false

説明: Excelの表のグリッド線をレポート出力に表示する場合はtrueに設定します。

新規シートとして改ページ

デフォルト: true

説明: Trueに設定すると、レポート・テンプレートで指定した改ページによって、Excelワークブックに新しいシートが生成されます。

列の最小幅

デフォルト: 3(単位はポイント、0.04インチ)

説明: 列の幅が指定の最小値よりも狭く、データが含まれていない場合、この列は前の列とマージされます。値は、ポイント単位で設定する必要があります。このプロパティの有効な範囲は0.5から20ポイントです。

行の最小高

デフォルト: 1(単位はポイント、0.01インチ)

説明: 行の高さが指定の最小値よりも低く、データが含まれていない場合、この行は削除されます。値は、ポイント単位で設定する必要があります。このプロパティの有効な範囲は.001から5ポイントです。

10.16 すべての出力

表10-15のプロパティは、すべての出力に適用されます。

表10-15 すべての出力

プロパティ名

説明

出力のバージョン番号を非表示

デフォルト: false

説明: 一部のレポート出力ドキュメントでは、ドキュメント・プロパティにOracle BI Publisherが表示されます。たとえば、PDF文書は、文書のプロパティでOracle BI PublisherをPDF Producerとして識別します。文書を生成したBI Publisherのバージョン(Oracle BI Publisher 11.1.1.4.0など)を含めない場合は、このプロパティをtrueに設定します。

11.1.1.5互換モードの使用

予約済。オラクル社から指示された場合を除き、更新はしないでください。

10.17 フォント・マッピングの定義

BI Publisherのフォント・マッピング機能を使用すると、RTFテンプレートまたはPDFテンプレートのベース・フォントを、発行文書で使用されるターゲット・フォントにマップできます。フォント・マッピングは、サイト・レベルまたはレポート・レベルで指定できます。フォント・マッピングはPDFおよびPowerPointの出力でのみ実行されます。

フォント・マッピングには次の2種類があります。

- RTFテンプレート - RTFテンプレートおよびXSL-FOテンプレートからPDFおよびPowerPointの出力フォントにフォントをマッピングします。

- PDFテンプレート - PDFテンプレートから別のPDF出力フォントにフォントをマッピングします。

10.17.1 BI Publisherでのフォントの有効化

BI PublisherではType1フォントおよびTrueTypeフォントのセットが用意されています。これらのセットのフォントは、ターゲット・フォントとして追加設定なしで選択できます。事前定義済フォントのリストは、第10.17.4項「BI Publisherの事前定義済のフォント」を参照してください。

事前定義済のフォントは、Oracle Business Intelligence OracleホームのORACLE_HOME/common/fontsにあります。別のフォントへのマッピングが必要な場合、そのフォントをこのディレクトリに配置して、BI Publisherで実行時に使用できるようにします。環境がクラスタ化されている場合、そのフォントは各サーバー上に配置する必要があります。

注意:

フォントの位置はXDO_FONT_DIR変数によって設定されます。環境でこの変数が設定されていない場合、フォントは$JAVA_HOME/jre/lib/fontsに配置されます。

10.17.2 サイト・レベルまたはレポート・レベルでのフォント・マッピングの設定

フォント・マッピングは、サイト・レベルまたはレポート・レベルで定義できます。

- マッピングをサイト・レベルで設定するには、「管理」ページから「フォント・マッピング」リンクを選択します。

- マッピングをレポート・レベルで設定するには、レポートの「構成」リンクを選択してから、「フォント・マッピング」タブを選択します。この設定は、選択したレポートにのみ適用されます。

レポート・レベルの設定は、サイト・レベルの設定よりも優先されます。

10.17.3 フォント・マッピングの作成

「管理」ページの「ランタイム構成」で、「フォント・マッピング」を選択します。

フォント・マッピングを作成するには:

1. 「RTFテンプレート」または「PDFテンプレート」で、「フォント・マッピングの追加」を選択します。

2. 「フォント・マッピングの追加」ページで、次を入力します。

- ベース・フォント - 新しいフォントにマップするフォント・ファミリを入力します。たとえば、Arialと入力します。

- スタイル: 「標準」または「斜体」を選択します(「PDFテンプレート」フォント・マッピングには適用されません)。

- 重み: 「標準」または「太字」を選択します(「PDFテンプレート」フォント・マッピングには適用されません)。

- ターゲット・フォント・ファイル: 「Type 1」または「Truetype」を選択します。

- 「ターゲット・フォント」を入力します。
「Truetype」を選択した場合、コレクション内の特定の番号付きフォントを入力できます。目的のフォントの「TrueTypeコレクション(TTC)番号」を入力します。

事前定義済のフォントのリストは、第10.17.4項「BI Publisherの事前定義済のフォント」を参照してください。

10.17.4 BI Publisherの事前定義済のフォント

次のType1フォントはAdobe Acrobatに組み込まれており、BI Publisherには、デフォルトでこれらのフォントとのマッピングが用意されています。これらのフォントは、ターゲット・フォントとして追加設定なしで選択できます。

表10-16は、Type1フォントのリストです。

表10-16 Type 1フォント

番号

フォント・ファミリ

スタイル

太さ

フォント名

1

serif

標準

標準

Time-Roman

1

serif

標準

太字

Times-Bold

1

serif

イタリック体

標準

Times-Italic

1

serif

イタリック体

太字

Times-BoldItalic

2

sans-serif

標準

標準

Helvetica

2

sans-serif

標準

太字

Helvetica-Bold

2

sans-serif

イタリック体

標準

Helvetica-Oblique

2

sans-serif

イタリック体

太字

Helvetica-BoldOblique

3

monospace

標準

標準

Courier

3

monospace

標準

太字

Courier-Bold

3

monospace

イタリック体

標準

Courier-Oblique

3

monospace

イタリック体

太字

Courier-BoldOblique

4

Courier

標準

標準

Courier

4

Courier

標準

太字

Courier-Bold

4

Courier

イタリック体

標準

Courier-Oblique

4

Courier

イタリック体

太字

Courier-BoldOblique

5

Helvetica

標準

標準

Helvetica

5

Helvetica

標準

太字

Helvetica-Bold

5

Helvetica

イタリック体

標準

Helvetica-Oblique

5

Helvetica

イタリック体

太字

Helvetica-BoldOblique

6

Times

標準

標準

Times

6

Times

標準

太字

Times-Bold

6

Times

イタリック体

標準

Times-Italic

6

Times

イタリック体

太字

Times-BoldItalic

7

記号

標準

標準

記号

8

ZapfDingbats

標準

標準

ZapfDingbats

表10-17は、TrueTypeフォントのリストです。すべてのTrueTypeフォントはPDFに埋め込まれます。

表10-17 TrueTypeフォント

番号

フォント・ファミリ名

スタイル

太さ

実際のフォント

実際のフォント・タイプ

1

Albany WT

標準

標準

ALBANYWT.ttf

TrueType(Latin1のみ)

2

Albany WT J

標準

標準

ALBANWTJ.ttf

TrueType(日本語用)

3

Albany WT K

標準

標準

ALBANWTK.ttf

TrueType(韓国語用)

4

Albany WT SC

標準

標準

ALBANWTS.ttf

TrueType(簡体字中国語用)

5

Albany WT TC

標準

標準

ALBANWTT.ttf

TrueType(繁体字中国語用)

6

Andale Duospace WT

標準

標準

ADUO.ttf

TrueType(Latin1のみ、固定幅)

6

Andale Duospace WT

太字

太字

ADUOB.ttf

TrueType(Latin1のみ、固定幅)

7

Andale Duospace WT J

標準

標準

ADUOJ.ttf

TrueType(日本語用、固定幅)

7

Andale Duospace WT J

太字

太字

ADUOJB.ttf

TrueType(日本語用、固定幅)

8

Andale Duospace WT K

標準

標準

ADUOK.ttf

TrueType(韓国語用、固定幅)

8

Andale Duospace WT K

太字

太字

ADUOKB.ttf

TrueType(韓国語用、固定幅)

9

Andale Duospace WT SC

標準

標準

ADUOSC.ttf

TrueType(簡体字中国語用、固定幅)

9

Andale Duospace WT SC

太字

太字

ADUOSCB.ttf

TrueType(簡体字中国語用、固定幅)

10

Andale Duospace WT TC

標準

標準

ADUOTC.ttf

TrueType(繁体字中国語用、固定幅)

10

Andale Duospace WT TC

太字

太字

ADUOTCB.ttf

TrueType(繁体字中国語用、固定幅)

10.17.4.1 含まれているバーコード・フォント

BI Publisherには、表10-18に示すバーコード・フォントも含まれています。

表10-18 含まれているバーコード・フォント

フォント・ファイル

サポートされているアルゴリズム

128R00.TTF

code128a、code128b、およびcode128c

B39R00.TTF

code39、code39mod43

UPCR00.TTF

upca、upce

RTFテンプレートでのバーコード・フォントの使用の詳細は、第4.17.1項「BI Publisherに付属のバーコード・フォントの使用」を参照してください。

第II部

スタイル・テンプレートとサブ・テンプレートの作成

この部では、スタイル・テンプレートおよびサブ・テンプレートの作成方法と実装方法について説明します。次の章で構成されています。

- 第11章「スタイル・テンプレートの作成および実装」

- 第12章「サブ・テンプレートの理解」

- 第13章「RTFサブ・テンプレートの設計」

- 第14章「XSLサブ・テンプレートの設計」

11 スタイル・テンプレートの作成および実装

スタイル・テンプレートとは、エンタープライズ・レポート全体でルック・アンド・フィールの一貫性を実現するための、他のRTFレイアウトに適用できるスタイル情報を含むRTFテンプレートです。

この章では、スタイル・テンプレートの作成方法と実装方法について説明します。内容は次のとおりです。

- 第11.1項「スタイル・テンプレートの理解」

- 第11.2項「スタイル・テンプレートRTFファイルの作成」

- 第11.3項「カタログへのスタイル・テンプレート・ファイルのアップロード」

- 第11.4項「スタイル・テンプレートのレポート・レイアウトへの割当て」

- 第11.5項「スタイル・テンプレートの更新」

- 第11.6項「スタイル・テンプレート定義への翻訳の追加」

11.1 スタイル・テンプレートの理解

スタイル・テンプレートとは、RTFレイアウトに適用されるスタイル情報が含まれているRTFのテンプレートです。スタイル・テンプレートのスタイル情報は、実行時にRTFレイアウトに適用されて、エンタープライズ・レポート全体で一貫性のあるルック・アンド・フィールを実現します。スタイル・テンプレートは、レポート定義でレポート・レイアウトに関連付けます。スタイル・テンプレートを使用することには、次のような利点があります。

- エンタープライズ・レポート全体を同じ外観で統一できる

- 企業ロゴ、見出し、ページ番号など、同じヘッダーおよびフッター・コンテンツを使用できる

- すべてのレポートの要素およびスタイルの変更を簡素化する

11.1.1 スタイル・テンプレートで定義されるスタイルについて

スタイル・テンプレートでは次の要素のスタイルを定義します。

11.1.1.1 段落と見出しのスタイル

段落のスタイルをスタイル・テンプレートで作成できます。レポート・レイアウトでこの同じ名前のスタイルを使用すると、レポート・レイアウトではスタイル・テンプレート定義からスタイルを継承します。継承されるものには、フォント・ファミリ、フォント・サイズ、フォントの太さ(標準、ボールド)、フォント・スタイル(標準、イタリック)、フォントの色、およびテキスト装飾(下線、上線、打消し線)が含まれます。

11.1.1.2 表のスタイル

表のスタイル定義から継承するスタイル要素には、フォント・スタイル、枠線スタイル、グリッドライン定義、影付け、およびテキスト配置があります。

11.1.1.3 ヘッダーおよびフッターのコンテンツ

スタイル・テンプレートのヘッダー・リージョンおよびフッター・リージョンは、レポート・レイアウトに適用されます。これには、イメージ、日付、ページ番号およびその他のテキストベースのコンテンツが含まれます。レポート・レイアウトにヘッダーおよびフッターのコンテンツも組み込まれている場合、これらは上書きされます。

11.1.2 スタイル・テンプレートのプロセス概要

設計時

スタイル・テンプレートの場合:

1. Microsoft Wordを起動します。

2. 段落、表、見出し、および静的なヘッダーおよびフッターのコンテンツの名前付きスタイルを定義します。これがスタイル・テンプレートです。

3. このドキュメントを.rtfファイルとして保存します。

4. 独自のスタイルをMicrosoft Wordでも確実に維持するには、ドキュメントをWordテンプレート・ファイル(.dot)として保存するか、スタイルをNormal.dotファイルに保存します。このファイルは他のレポートの設計者と共有できます。

5. RTFスタイル・テンプレート・ファイルをカタログにアップロードします。

スタイル・テンプレートを使用したレイアウト・テンプレートの場合:

1. RTFテンプレートで、スタイル・テンプレートから継承する段落および表要素に対して同じ名前のスタイルを使用します。

2. BI Publisherのレポート・エディタでレポートを開き、レポートに関連付けるスタイル・テンプレートを選択します。次に、特定のレポート・レイアウトのスタイル・テンプレートを有効化します。

実行時

選択したレイアウトでレポートを実行するとき、BI Publisherによってスタイル・テンプレートのスタイル、ヘッダーおよびフッターが適用されます。

11.2 スタイル・テンプレートRTFファイルの作成

ここからは、Microsoft Wordドキュメントでスタイルの種類を定義する方法について説明します。詳細は、Microsoft Wordドキュメントを参照してください。

11.2.1 段落および見出しのスタイルの定義

フォントのタイプ、サイズ、色、テキスト配置、間隔などの書式設定を定義するには、段落スタイルを使用します。段落スタイルは、1つ以上の段落に適用されます。レポートの見出しおよびタイトルの書式を設定する場合にも段落スタイルを使用します。

段落のスタイルの種類を定義する手順は次のとおりです。:

1. Microsoft Wordドキュメントの「書式」メニューから「スタイル」を選択します。

2. 「スタイルと書式」作業ウィンドウで「新規作成」を選択します。

3. 「新しいスタイル」ダイアログで、スタイルの名前を入力します。スタイルの種類は「段落」を選択します。ダイアログに表示されたオプションを使用してスタイルの書式を設定します。段落のその他のオプション(フォントの色やテキスト効果など)を表示するには、「書式」をクリックします。

4. 終了後、「OK」をクリックすると、「スタイルと書式」作業ウィンドウの使用可能な書式のリストに新しいスタイルが表示されます。

5. 新しいスタイルを選択し、スタイル・テンプレートにスタイルを表示するための新しいエントリを作成します。

ドキュメントで段落のスタイルの種類を適用する手順は次のとおりです。

1. スタイルを適用する段落(またはテキスト)内にカーソルを移動します。

2. 「スタイルと書式」作業ウィンドウの使用可能な書式のリストからスタイルを選択します。このスタイルが段落に適用されます。

既存のスタイルの種類を変更する手順は次のとおりです。

1. Microsoft Wordドキュメントの「書式」メニューから「スタイル」を選択します。

2. 「スタイルと書式」作業ウィンドウで、変更するスタイルを選択し、右クリックします。

3. メニューから「変更」を選択します。

11.2.2 表のスタイルの定義

表のスタイルの種類を定義する手順は次のとおりです。

1. Microsoft Wordドキュメントの「書式」メニューから「スタイル」を選択します。

2. 「スタイルと書式」作業ウィンドウで「新規作成」を選択します。

3. 「新しいスタイル」ダイアログで、スタイルの名前を入力します。スタイルの種類は「表」を選択します。ダイアログに表示されたオプションを使用してスタイルの書式を設定します。表のその他のオプション(表のプロパティ、枠線、影付けなど)を表示するには、「書式」をクリックします。

4. 終了後、「OK」をクリックすると、「スタイルと書式」作業ウィンドウの使用可能な書式のリストに新しいスタイルが表示されます。

5. 新しいスタイルを選択し、スタイル・テンプレートにスタイルを表示するための新しいエントリを作成します。

ドキュメントで表のスタイルの種類を適用する手順は次のとおりです。

1. スタイルを適用する表内にカーソルを移動します。

2. 「スタイルと書式」作業ウィンドウの使用可能な書式のリストから表のスタイルを選択します。このスタイルが表に適用されます。

11.2.3 ヘッダーおよびフッターの定義

スタイル・テンプレートでは、ヘッダーとフッターを定義できます。スタイル・テンプレートのヘッダーおよびフッターのコンテンツおよびサイズは、レポート・レイアウトに適用されます。

重要:

レポート・レイアウトでヘッダーおよびフッターが定義されている場合、これらは上書きされます。スタイル・テンプレートのヘッダーおよびフッターが適用されます。

ヘッダーおよびフッターを定義する手順は次のとおりです。

1. Microsoft Wordドキュメントの「表示」メニューから「ヘッダーとフッター」を選択します。

2. ヘッダーとフッターのコンテンツを入力します。ここには、ロゴまたはイメージ・ファイル、静的テキスト、現在の日付とタイム・スタンプ、ページ番号、またはMicrosoft Wordでサポートされているその他のコンテンツを含められます。

11.3 カタログへのスタイル・テンプレート・ファイルのアップロード

スタイル・テンプレートは、カタログ内でアクセス可能な任意のフォルダに配置できます。組織によっては、スタイル・テンプレート用の指定のフォルダが用意されている場合があります。

スタイル・テンプレート・ファイルをアップロードするには:

1. グローバル・ヘッダーで「新規」→「スタイル・テンプレート」をクリックします。無題のスタイル・テンプレートのプロパティ・ページが起動します。

2. 「テンプレート」リージョンで「アップロード」ツールバー・ボタンをクリックします。

3. 「テンプレート・ファイルのアップロード」ダイアログ(図11-1に表示)で「参照」ボタンを使用してテンプレート・ファイルを選択します。図11-2に示すように、「タイプ」としてRTFを選択し、適切な「ロケール」を選択します。次に「OK」をクリックします。

図11-1 「テンプレート・ファイルのアップロード」ダイアログ

図11-2 適切なロケールの選択

「テンプレート」リージョンに、選択したロケール名(en_USなど)としてスタイル・テンプレート・ファイルが表示されます。

4. 「保存」をクリックします。

5. 「別名保存」ダイアログで、スタイル・テンプレートを保存するカタログ・フォルダを選択します。「名前」に名前を入力し、「保存」をクリックします。

注意:

スタイル・テンプレート定義にアップロードできるRTFファイルは、ロケールごとに1つのみです。このスタイル・テンプレートに別のテンプレート・ファイルをアップロードした場合は、アップロード前の名前に関係なく、ロケールとしての名前が各ファイルに自動的に付けられます。

6. 複数のローカライズ済ファイルをアップロードする場合は、デフォルトとして使用するファイルを選択します。テンプレート・ファイルのローカライゼーションの詳細は、第11.6項「スタイル・テンプレート定義への翻訳の追加」を参照してください。

11.4 スタイル・テンプレートのレポート・レイアウトへの割当て

レポート・レイアウトにスタイル・テンプレートを割り当てる手順は次のとおりです。

1. カタログ内のレポートに移動し、「編集」をクリックしてレポート・エディタを起動します。

2. デフォルトのサムネイル表示から「リストの表示」を選択します。「レイアウト」リージョンで、「選択」アイコンをクリックして、BI Publisherカタログからスタイル・テンプレートを検索し、選択します。

3. スタイル・テンプレートを使用するレイアウト・テンプレートについては、テンプレートの「スタイル・テンプレートの適用」ボックスを選択します。このボックスは、RTFテンプレートの場合にのみ有効化されます。

図11-3は、レポート・エディタにおけるスタイル・テンプレートの有効化に必要な操作を示しています。

図11-3 レポート・エディタでのスタイル・テンプレートの有効化

11.5 スタイル・テンプレートの更新

保存されているスタイル・テンプレートを更新または変更するには:

1. カタログ内のファイルに移動します。

2. 「編集」をクリックして、スタイル・テンプレートのプロパティ・ページを開きます。

3. 既存のファイルを削除します。

4. 同じロケールを選択して、編集したファイルをアップロードします。

11.6 スタイル・テンプレート定義への翻訳の追加

スタイル・テンプレートは、RTFテンプレート・ファイルと同様に翻訳のサポートを提供しています。

1つのスタイル・テンプレート定義の下に複数の翻訳済RTFファイルをアップロードして、適切なロケールを割り当てられます。これらは、図11-4に示すように「テンプレート」リージョンに表示されます。

図11-4 「テンプレート」リージョン

または、翻訳可能な文字列のXLIFF (.xlf)ファイルを生成し、文字列を翻訳して、翻訳済ファイルをアップロードします。これらは、図11-5に示すように、「翻訳」リージョンに表示されます。

図11-5 「翻訳」リージョン

実行時には、オンラインで表示されるレポートの場合は、レポート・ロケールに対するユーザー・アカウントのプリファレンス設定に基づいて、またはスケジュールされたレポートの場合は、そのスケジュールされたレポートに対してユーザーが選択したレポート・ロケールに基づいて、適切なスタイル・テンプレートが適用されます。

スタイル・テンプレートのXLIFFファイルは個別に生成してから翻訳し、個別にアップロードできます。また、スタイル・テンプレート・フォルダが含まれるカタログの翻訳を実行する場合は、スタイル・テンプレート・ファイルの文字列が抽出され、さらに大きなカタログ翻訳ファイルに組み込まれます。カタログ翻訳ファイルがBI Publisherにアップロードされると、カタログ・ファイル内の適切な翻訳がスタイル・テンプレート定義の「翻訳」リージョンに表示されます。

翻訳の詳細は、第15章「翻訳サポートの概要と概念」を参照してください。

12 サブ・テンプレートの理解

サブ・テンプレートは、書式設定機能のひとつで、一度定義すれば、単一のレイアウト・テンプレートで、または複数のレイアウト・テンプレート間で何度も使用できます。この章では、BI Publisherでサブ・テンプレートを使用するための概念について説明します。

この章の内容は次のとおりです。

- 第12.1項「サブ・テンプレートとは」

- 第12.2項「サブ・テンプレートがサポートされている場所」

- 第12.3項「デスクトップからのサブ・テンプレートのテスト」

- 第12.4項「カタログでのサブ・テンプレート・オブジェクトの作成」

- 第12.5項「外部ソースからのサブ・テンプレートのコール」

RTFサブ・テンプレートの設計の詳細は、第13章「RTFサブ・テンプレートの設計」を参照してください。XSLサブ・テンプレートの設計の詳細は、第14・章「XSLサブ・テンプレートの設計」を参照してください。

12.1 サブ・テンプレートとは

サブ・テンプレートは、書式設定機能のひとつで、一度定義すれば、単一のレイアウト・テンプレートで、または複数のレイアウト・テンプレート間で何度も使用できます。この書式設定には、RTFファイル形式またはXSLファイル形式を使用できます。RTF形式のサブ・テンプレートは、Microsoft Wordのネイティブ機能を使用するため、容易に設計できます。XSL形式のサブ・テンプレートは、複雑なレイアウトやデータ要件の場合に使用します。

サブ・テンプレートの一般的な用途のいくつかを次に示します。

- 共通のレイアウトまたはコンポーネントの再利用(ヘッダー、フッター、アドレス・ブロックなど)

- パラメータ化されたレイアウトの処理

- 動的または条件付きのレイアウトの処理

- 時間のかかる計算の処理や数式の再利用

12.1.1 RTFサブ・テンプレートについて

RTFサブ・テンプレートは、1つ以上の<?template:?>定義で構成されたRTFファイルで、定義のそれぞれに書式設定またはコマンドのブロックが含まれています。

このRTFファイルは、BI Publisherにカタログのサブ・テンプレート・オブジェクトとしてアップロードされるとき、別のRTFテンプレート内からコールすることができます。

12.1.2 XSLサブ・テンプレートについて

XSLサブ・テンプレートとは、BI Publisherの書式設定エンジンが実行するXSLの書式設定コマンドまたは処理コマンドが含まれているXSLファイルです。RTF標準ではサポートされていない複雑な計算または書式設定命令を含めるには、XSLテンプレートを使用します。

このXSLファイルは、BI Publisherにカタログのサブ・テンプレート・オブジェクトとしてアップロードされるとき、別のRTFテンプレート内からコールすることができます。

12.2 サブ・テンプレートがサポートされている場所

サブ・テンプレートはBI Publisherのカタログにアップロードすることをお薦めします。これは最も安全な場所です。

古いバージョンのBI Publisherとの互換性のため、ローカル・サーバーや別のサーバーのファイルにあるサブ・テンプレートのコールができます(その場合はHTTPプロトコル経由でアクセスします)。このような方法を使用するには、通信できるようにするために、特定のインポート構文およびサーバー設定が必要です。詳細は、第12.5項「外部ソースからのサブ・テンプレートのコール」を参照してください。

12.3 デスクトップからのサブ・テンプレートのテスト

BI Publisherテンプレート・ビルダーをインストール済の場合は、テンプレートおよびサブ・テンプレートをBI Publisherカタログにアップロードする前に、これらの組合せをプレビューできます。ローカル環境からテストするには、BI Publisherプロセッサがローカル・ディレクトリのサブ・テンプレート・ファイルを検出できるように、インポート・テンプレート構文を変更する必要があります。テストするには、次のようなインポート・テンプレート構文を入力します。

<?import:file:{local_template_path}?>

たとえば、次のように入力します。

<?import:file:C:///Template_Directory/subtemplate_file.rtf?>

または、XSLサブ・テンプレート・ファイルでは次のようになります。

<?import:file:C:///Template_Directory/subtemplate_file.xsl?>

次にテンプレート・ビルダーで「プレビュー」オプションを選択すると、BI Publisherプロセッサがサブ・テンプレートを検出し、ローカル環境から表示できるようになります。

プライマリ・テンプレートをBI Publisherカタログにアップロードする前に、カタログの適切な場所をポイントするようにインポート構文を変更する必要があります。

12.4 カタログでのサブ・テンプレート・オブジェクトの作成

サブ・テンプレート・ファイルをアップロードする手順は次のとおりです。

1. グローバル・ヘッダーで、「新規」をクリックし、「サブ・テンプレート」をクリックします。サブ・テンプレートページが表示されます。

2. 「テンプレート」リージョンで、「アップロード」をクリックし、「テンプレート・ファイルのアップロード」ダイアログを起動します。

3. サブ・テンプレート・ファイルの位置を探して選択します。

- タイプ: RTFサブ・テンプレート・ファイルの場合はrtf、XSLサブ・テンプレート・ファイルの場合はxslを選択します。

- ロケール: サブ・テンプレート・ファイルの該当するロケールを選択します。

4. 「アップロード」をクリックします。
サブ・テンプレート・ファイルが、「テンプレート」リージョンに、選択したロケール名で表示されます(例: en_US)。

5. 「保存」をクリックします。「別名保存」ダイアログで、サブ・テンプレートを保存するカタログ・フォルダを選択します。「名前」に名前を入力し、「保存」をクリックします。図12-1は、My Subtemplateと命名されたサブ・テンプレートを示しています。

図12-1 サブ・テンプレート

6. (RTFサブ・テンプレートのみ)複数のローカライズ済ファイルをアップロードしている場合は、デフォルトとして使用するファイルを選択します。テンプレート・ファイルのローカライゼーションの詳細は、第13.6項「RTFサブ・テンプレートへの翻訳の追加」を参照してください。

注意:

サブ・テンプレートの定義にアップロードできるRTFファイルは1ロケールに1つのみです。このサブ・テンプレートに追加のテンプレート・ファイルをアップロードした場合は、アップロード前の名前に関係なく、各ファイルにロケールとしての名前が自動的に付けられます。

重要:

XSLサブ・テンプレートでは、翻訳はサポートされていません。

サブ・テンプレート・オブジェクトは、.xsbという拡張子で保存されることに注意してください。サブ・テンプレート・オブジェクトをインポートするときは、ここで選択した名前に.xsb拡張子を付けた名前を使用します(例: MySubtemplate.xsb)。

12.5 外部ソースからのサブ・テンプレートのコール

ここでは、カタログの外部にあるサブ・テンプレートをコールする方法について説明します。

重要:

これらの指示は、下位互換性のためにのみ提供されています。サブ・テンプレートはカタログに配置することをお薦めします。

カタログの外部で管理されているサブ・テンプレートについては、ローカライゼーションはサポートされていません。

12.5.1 HTTPまたはFTP経由でのカタログの外部のサブ・テンプレートのインポート

httpやftpなどの標準プロトコルを使用して、次のようなインポート・ステートメントを入力します。

<?import:http//myhost:8080/subtemplate.rtf?>

12.5.2 同じサーバー上のカタログの外部のサブ・テンプレートのインポート

サブ・テンプレートがサーバー上にあり、BI Publisherカタログ内にはない場合、次のように入力します。

<?import:file://{template_path}?>

説明:

template_pathはサーバー上にあるサブ・テンプレート・ファイルへのパスです

たとえば、次のように入力します。

<?import:file://c:/Folder/mySubtemplate.rtf?>

12.5.3 カタログの外部に格納されているサブ・テンプレートの実行に必要な設定

サブ・テンプレートを使用するには、レポート用に次のFO処理構成プロパティを設定する必要があります。

外部参照無効化: Falseに設定する必要があります

13 RTFサブ・テンプレートの設計

この章では、RTFサブ・テンプレートを使用して機能を作成し、複数のBI Publisherレポート間で機能を再利用する方法について説明します。

この章の内容は次のとおりです。

- 第13.1項「RTFサブ・テンプレートの理解」

- 第13.2項「RTFサブ・テンプレートの作成と実装処理の概要」

- 第13.3項「RTFサブ・テンプレート・ファイルの作成」

- 第13.4項「メイン・テンプレートからのサブ・テンプレートのコール」

- 第13.5項「RTFサブ・テンプレートを使用する状況」

- 第13.6項「RTFサブ・テンプレートへの翻訳の追加」

13.1 RTFサブ・テンプレートの理解

RTFサブ・テンプレートは、1つ以上の<?template:?>定義で構成されたRTFファイルであり、各定義には書式設定またはコマンドのブロックが含まれています。

RTFファイルは、カタログ内のサブ・テンプレート・オブジェクトとしてBI Publisherにアップロードするとき、他のRTFテンプレートからコールすることができます。

図13-1は、RTFサブ・テンプレートの構成を示しています。

図13-1 RTFサブ・テンプレートの構成

13.2 RTFサブ・テンプレートの作成と実装処理の概要

サブ・テンプレートは次の手順で使用します(後述の各項で説明します)。

1. 他のテンプレート内に含める、共通コンポーネントまたは処理命令がふくまれたRTFファイルを作成します。

2. コールまたはメインのレイアウトを作成し、次の2つのコマンドを含めます。

- import - メイン・レイアウト・テンプレートにサブ・テンプレート・ファイルをインポートします。

- call-template - メイン・レイアウト内でサブ・テンプレートの内容を実行またはレンダリングします。

3. テンプレートおよびサブ・テンプレートをテストします。

ヒント:

BI Publisher Desktop Template Viewerを使用すると、メイン・レイアウトとサブ・テンプレートをカタログにロードする前にテストできます。これを行うには、ローカル環境内のサブ・テンプレートをポイントするようにインポート・テンプレートの構文を変更する必要があります。第12.3項「デスクトップからのサブ・テンプレートのテスト」を参照してください。

4. メイン・テンプレートをレポート定義にアップロードし、カタログ内にサブ・テンプレートを作成します。第12.4項「カタログでのサブ・テンプレート・オブジェクトの作成」を参照してください。

13.3 RTFサブ・テンプレート・ファイルの作成

RTFファイルにコンポーネントまたは指示を入力します。指示をサブ・テンプレートとして定義するには、内容を次のタグで囲みます。

<?template:template_name?>
..subtemplate contents...
<?end template?>

説明:

template_nameは、選択するサブ・テンプレートの名前です。

単一のRTFファイルの場合、複数の項目を指定できます。

<?template:template_name?>
<?end template?>

異なるサブ・テンプレートまたはセグメントを指定して、他のファイルに含めることができます。

たとえば、図13-2に示すサンプルのRTFファイルには、commonHeaderという名前と、commonFooterという名前の2つのサブ・テンプレートが含まれています。

図13-2 サンプルのRTFファイル

13.4 メイン・テンプレートからのサブ・テンプレートのコール

サブ・テンプレートをメイン・テンプレートに実装するには、メイン・テンプレートに2つのエントリを作成する必要があります。

最初に、メイン・テンプレートにサブ・テンプレートをインポートします。インポートの構文で、カタログ内のサブ・テンプレートを検出するBI Publisherエンジンを指定します。

次に、サブ・テンプレートの内容をレンダリングするコール・コマンドを必要な位置に入力します。

13.4.1 メイン・テンプレートへのサブ・テンプレートのインポート

メイン・テンプレート内のコール・テンプレート・コマンドより前の任意の位置にインポート・コマンドを入力します。

ロケールが必要ない場合は、次のように入力します。

<?import:xdoxsl:///path to subtemplate.xsb?>

説明:

path to subtemplate.xsbは、カタログ内のサブ・テンプレート.xsbオブジェクトへのパスです。

たとえば、次のように入力します。

<?import:xdoxsl:///Executive/HR_Reports/mySubtemplate.xsb?>

注意:

サブ・テンプレートが、「マイ・フォルダ」の下位の個人フォルダにある場合、サブ・テンプレートをインポートするコマンドは次のとおりです。

<?import:xdoxsl:///~username/path to subtemplate.xsb?>

このusernameはユーザー名です。

たとえば、ユーザーmyuserが、「マイ・フォルダ」の下位のSubtemplatesというフォルダにTemplate1というサブ・テンプレートをアップロードする場合、正しいインポート文は次のようになります。

<?import:xdoxsl:///~myuser/Subtemplates/Template1.xsb?>

13.4.2 サブ・テンプレートの内容をレンダリングするためのコール

サブ・テンプレートをコールしてその内容をレンダリングする手順は次のとおりです。

1. サブ・テンプレートをレンダリングするメイン・テンプレート内の位置で、次のようにcall-templateコマンドを入力します。

<?call-template:template_name?>

説明:

template_nameは、サブ・テンプレート・ファイル内のテンプレート宣言文の内容に割り当てる名前です(<?template:template_name?>文のように指定します)。

図13-3は、メイン・テンプレートで必要なエントリを示しています。

図13-3 メイン・テンプレートで必要なエントリ

13.4.3 ローカライズ済サブ・テンプレートのインポート

インポートしたサブ・テンプレートのロケールを指定するには、次のようにインポート文にロケールを追加します。

<?import:xdoxsl:///{path to subtemplate.xsb}?loc={locale_name}?>

説明:

path to subtemplate.xsbは、カタログ内のサブ・テンプレート.xsbオブジェクトへのパスです。

および

locale_nameは、ロケールを構成する言語-地域の組合せです。ロケールの指定は、オプションです。

たとえば、次のように入力します。

<?import:xdoxsl:///Executive/HR_Reports/mySubtemplate.xsb?loc=en-US?>

また、${_XDOLOCALE}を使用して、実行時のユーザー・ロケールに基づいてローカライズ済サブ・テンプレートをインポートすることもできます。たとえば、次のように入力します。

<?import:xdoxsl:///Executive/HR_Reports/mySubtemplate.xsb?loc=${_XDOLOCALE}?>

13.4.4 例

この例では、会社の住所がすべてのテンプレートに固定の文字列として表示されます。すべてのテンプレートでこの文字列を再表示するのではなく、1つのサブ・テンプレートに配置して、他のすべてのテンプレートから参照できます。

サブ・テンプレートに文字列を配置して参照する手順は次のとおりです。

1. RTFファイル内に次のテンプレート宣言を入力します。

<?template:MyAddress?>
My Company
500 Main Street
Any City, CA 98765
<?end template?>

2. カタログ内のCustomer Reports/Templatesの場所にサブ・テンプレートを作成します。

3. このファイルをサブ・テンプレートにアップロードして、「共通コンポーネント」として保存します(BI Publisherによってオブジェクトに.xsbの拡張子が割り当てられます)。

4. メイン・テンプレートで、次のインポート文をフォーム・フィールドに入力するか、直接テンプレートに入力します。

<?import:xdoxsl:///Customer Reports/Templates/Common Components.xsb?>

5. メイン・テンプレートで、アドレスを表示する位置に次の入力をします。

<?call-template:MyAddress?>

実行時に、MyAddressサブ・テンプレートの内容がフェッチされ、メイン・テンプレートのレイアウト内でレンダリングされます。

この機能では、文字列のみでなく、サブ・テンプレート内の任意の有効なRTFテンプレート機能を挿入できます。さらに、パラメータを一方から他方へ渡すことも可能です。この例については、次の第13.5項「RTFサブ・テンプレートを使用する状況」を参照してください。

13.5 RTFサブ・テンプレートを使用する状況

次に、いくつかのRTFサブ・テンプレートの一般的なユースケースを示します。

13.5.1 共通レイアウトの再利用

しばしば、複数のレポートで同じヘッダーとフッターが必要になります。この内容の組込みにRTFサブ・テンプレートを使用することにより、全体的な変更を単純化でき、更新もレイアウトごとではなくこのサブ・テンプレートのみで済みます。

13.5.2 データの値に基づいた条件付のレイアウト表示

サブ・テンプレートは、レポート・データの値に基づいた条件付レイアウトに適用するために使用することもできます。

RTFテンプレートのchooseコマンドを使用することで、BI Publisherに対してサブ・テンプレート・ファイルに定義された別の<?template?>を適用するように指定できます。

重要:

サブ・テンプレート・ファイルのimport文は条件付にできません。そのかわりに、1つのサブ・テンプレート・ファイルをインポートして、コール文を条件付にできます。1つのサブ・テンプレート・ファイルに複数の<?template?>オプションを定義します。

13.5.2.1 例

インドと米国内の顧客に送信するレポートがあるとします。データで指定される国コード(COUNTRY_CODE)に応じて、適用する住所のレイアウトを変える必要があります。この例では、RTFテンプレートのif文の機能を使用して該当するアドレス書式のサブ・テンプレートをコールします。

サブ・テンプレート・ファイルは次のようになります。

<?template:US_Address?>
<?US_Address_Field1?>
<?US_Address_Field2?>
<?US_Address_Field3?>
<?end template?>

<?template:IN_Address?>
<?IN_Address_Field1?>
<?IN_Address_Field2?>
<?IN_Address_Field3?>
<?end template?>

該当するアドレス書式のサブ・テンプレートをコールする手順は次のとおりです。

1. カタログ内の次の場所にサブ・テンプレートを作成します。
Customers/Invoice Reports

RTFファイルをアップロードし、サブ・テンプレートをAddressesという名前で保存します。

2. メイン・テンプレートで、サブ・テンプレートをインポートする次の文を入力します。

<?import:xdoxsl:///Customers/Invoice Reports/Addresses.xsb?>

3. 住所を表示する位置で次のように入力します。

<?if:COUNTRY_CODE='USA'?>
<?call:US_Address?>
<?end if?>
<?if:COUNTRY_CODE='IN'?>
<?call:IN_Address?>
<?end if?>

レポートを実行すると、アドレスの書式がデータ内のCOUNTRY_CODEの値に応じて適切に適用されます。

13.5.3 パラメータ値に基づいた条件付のレイアウト表示

この例では、ユーザーのパラメータ値を基に、または値のリストからの選択を基に異なるレイアウトを表示する方法について示します。パラメータはRTFテンプレートに渡すことができ、値に基づいてサブ・テンプレート・ファイル内の異なる<?template?>をコールするために使用できます。

重要:

サブ・テンプレート・ファイルのimport文は条件付にできません。

13.5.3.1 例

レポート・データ・モデルで、DeptNameという名前のパラメータを定義しているとします。このパラメータをMenu型として設定し、これに値リストを関連付けることで、ユーザーがレポート・ビューアでレポートを表示するとき(またはレポートをスケジュールするとき)、リストから選択可能になります。

RTFメイン・レイアウト・テンプレートで次のコマンドを入力し、ユーザーが選択した値を取得するようにします。

<?param@begin:DeptName?>

このユーザーの選択を基にレイアウトを表示する場合、IFまたはCHOOSE文を使用し、パラメータ値を評価して、関連するサブ・テンプレートのコールができます。

CHOOSE文は、多数の条件テストがあり、残りの値に対してデフォルト処理が予期される場合に使用します。たとえば、経理、営業およびマーケティング部門のそれぞれで異なるレイアウトが必要だとします。これ以外のすべての部門はデフォルトのレイアウトを使用できます。

レイアウトを表示する手順は次のとおりです。

1. RTFファイルを作成し、次のテンプレート宣言を含めます。

<?template:tAccounting?>
-  -  -  Specific Accounting Layout here  -  -  -
<?end template?>

<?template:tSales?>
-  -  -  Specific Sales Layout here  -  - -
<?end template?>

<?template:tMark?>
-  -  -  Specific Marketing Layout here - -
<?end template?>

<?template:tDefault?>
-  -  -  Default Layout here  -  - -
<?end template?>

2. カタログ内の次の場所にサブ・テンプレートを作成します。
Shared Folders/Executive/Department Expenses

RTFファイルをアップロードし、サブ・テンプレートをDeptSubtempsという名前で保存します。

3. メインRTFテンプレートに、次のコマンドをインクルードします。

<?import:xdoxsl:///Executive/Department Expenses/DeptSubtemps.xsb?loc=en-US?>

<?param@begin:DeptName?>

<?choose:?>
<?when:$DeptName='Accounting'?>
<?call:tAccounting?>
<?end when?>
<?when:$DeptName='Sales'?>
<?call:tSales?>
<?end when?>
<?when:$DeptName='Marketing'?>
<?call:tMark?>
<?end when?>
<?otherwise:$>
<?call:tDefault?>
<?end otherwise?>
<?end choose:?>

ユーザーがレポートを実行するとき、DeptNameの値を基に、適用されるレイアウトが決定されます。RTFテンプレートのCHOOSE文の詳細は、第4.10.4項「Choose文の挿入」を参照してください。

13.5.3.2 簡単な計算と計算式の繰り返し

単純な計算も、RTFサブ・テンプレートを使用して処理できます。複雑な計算式は、XSLサブ・テンプレートで処理する必要があります。

13.5.3.3 例

この例では、利子を計算する計算式を含んだサブ・テンプレートの設定方法を示します。

このサブ・テンプレートは、レポート内のデータに対して金利計算を実行して、結果をメイン・テンプレートに返します。この機能をコールする複数のレポートでは、計算式のコンポーネントのタグ名が異なる可能性がありますが、このサブ・テンプレートはそのような状況にも対応します。

次のXMLデータを使用するとします。

<LOAN_DATA>
<LOAN_AMOUNT>6000000</LOAN_AMOUNT>
<INTEREST_RATE>.053</INTEREST_RATE>
<NO_OF_YEARS>30</NO_OF_YEARS>
</LOAN_DATA>

金利を計算する計算式が含まれたサブ・テンプレートを設定する手順は次のとおりです。

1. RTFファイルで、calcInterestというテンプレート宣言を作成します。このサブ・テンプレートで、計算式の各要素(元金、利率および年数)のパラメータを定義します。各パラメータにはデフォルト値を設定する必要があります。

<?template:calcInterest?>
<?param:principal;0?>
<?param:intRate;0?>
<?param:years;0?>
<?number($principal) * number($intRate) * number($years)?>
<?end template?>

2. カタログ内の次の場所にサブ・テンプレートを作成します。
Shared Folders/Subtemplates

RTFファイルをアップロードし、サブ・テンプレートをcalculationsという名前で保存します。

3. メイン・テンプレートで、サブ・テンプレートをインポートする次の文を入力します。

<?import:xdoxsl:///Subtemplates/calculations.xsb?>

4. 計算結果を表示する位置で、BI Publisherフィールドに次のように入力します。

<?call@inlines:calcInterest?>
<?with-param:principal;./LOAN_AMOUNT?>
<?with-param:intRate;./INTEREST_RATE?>
<?with-param:years;./NO_OF_YEARS?>
<?end call?>

ここでは@inlinesコマンドを使用しています。これはオプションです。@inlinesコマンドは、テンプレート内のサブ・テンプレートをコールした位置でインラインでレンダリングを強制します。この機能は、たとえば、コールの前にあるテキストと同じ行に結果を表示する場合に使用します。

13.6 RTFサブ・テンプレートへの翻訳の追加

RTFサブ・テンプレートでは、RTFテンプレート・ファイルと同様に翻訳がサポートされています。

単一のサブ・テンプレート定義に対して複数の翻訳済RTFファイルをアップロードし、適切なロケールを割り当てることができます。これらは、図13-4に示すように「テンプレート」リージョンに表示されます。

図13-4 「テンプレート」リージョン

または、翻訳可能な文字列のXLIFF (.xlf)ファイルを生成し、文字列を翻訳して、翻訳済ファイルをアップロードします。これらは、図13-5に示すように、「翻訳」リージョンに表示されます。

図13-5 「翻訳」リージョン

実行時、オンラインで表示されるレポートに対するユーザー・アカウントのレポート・ロケールのプリファレンス設定に基づいて、適切なサブ・テンプレートのローカライゼーションが適用されます。また、スケジュールされたレポートの場合は、スケジュールされたレポートのレポート・ロケールに関するユーザーの選択に基づいて適用されます。

サブ・テンプレートのXLIFFファイルは個別に生成して、翻訳し、個別にアップロードできます。また、サブ・テンプレート・フォルダが含まれるカタログの翻訳を行う場合、サブ・テンプレート・ファイルから文字列が抽出され、より大きなカタログ翻訳ファイルに組み込まれます。カタログ翻訳ファイルがBI Publisherにアップロードされると、「サブ・テンプレート」定義の「翻訳」リージョンに該当するカタログ・ファイルからの翻訳が表示されます。

翻訳の詳細は、第15章「翻訳サポートの概要と概念」を参照してください。

14 XSLサブ・テンプレートの設計

この章では、XSLサブ・テンプレートの作成方法、およびRTFテンプレート用の再利用可能な拡張機能の作成方法について説明します。

この章の内容は次のとおりです。

- 第14.1項「XSLサブ・テンプレートの理解」

- 第14.2項「XSLサブ・テンプレートの作成と実装処理の概要」

- 第14.3項「XSLサブ・テンプレート・ファイルの作成」

- 第14.4項「メイン・テンプレートからのXSLサブ・テンプレートのコール」

- 第14.5項「カタログでのサブ・テンプレート・オブジェクトの作成」

- 第14.6項「XSLサブ・テンプレートの使用例」

14.1 XSLサブ・テンプレートの理解

XSLサブ・テンプレートは、1つ以上の<xsl:template>定義で構成されたXSLファイルであり、各定義には書式設定または処理コマンドのブロックが含まれています。カタログ内のサブ・テンプレート・オブジェクトとしてBI Publisherにアップロードすると、このXSLファイルを別のRTFテンプレートからコールして書式設定または処理コマンドを実行できます。

XSLサブ・テンプレートは、データやレイアウトの複雑な要件に対処できます。XSLサブ・テンプレートを使用して、レポートの特定のセクション(たとえばチャート)のデータ構造を変換したり、複雑なレイアウトを管理するスタイルシートを作成します。

14.1.1 RTFメイン・テンプレート内でXSLコードを配置する位置

XSLサブ・テンプレートをメインRTFサブ・テンプレート内からコールするときは、XSLコマンドを使用します。このコードは、BI Publisherフィールド内に入力します(またはMicrosoft Wordフォーム・フィールド内)。XSLコードは直接RTFテンプレートの本文に入力できません。

RTFテンプレートでのフォーム・フィールドの挿入の詳細は、第5.4.1項「フィールドの挿入」を参照してください。

14.2 XSLサブ・テンプレートの作成と実装処理の概要

XSLサブ・テンプレートの作成および実装手順は次のとおりです。

1. 他のテンプレート内に含める、共通コンポーネントまたは処理命令が含まれるXSLファイルを作成します。
XSLサブ・テンプレートは、1つ以上のXSLテンプレート定義で構成されます。これらのテンプレートには、指定したノードに一致したときに適用するルールを含めます。

2. コールまたはメインのレイアウトを作成し、メイン・テンプレートにサブ・テンプレートをインポートするコマンドおよびXSLサブ・テンプレートを適切なデータ要素に適用するコマンドをインクルードします。

3. メイン・テンプレートをレポート定義にアップロードし、カタログ内にサブ・テンプレートを作成します。

14.3 XSLサブ・テンプレート・ファイルの作成

.xsl形式でファイルを保存できるエディタに命令を入力します。XSLサブ・テンプレートは、1つ以上のXSLテンプレート定義で構成されます。これらのテンプレートには、指定したノードに一致したときに適用するルールを含めます。

サブ・テンプレート定義の構造は次のとおりです。

<xsl:template
name="name"
match="pattern"
mode="mode"
priority="number">
<!--Content:(<xsl:param>*,template) -->
</xsl:template>

表14-1はテンプレート宣言のコンポーネントを説明しています。

表14-1 テンプレート宣言のコンポーネント

コンポーネント

説明

xsl:template

xsl:template要素は、必要な出力表示を生成するノードに適用するテンプレートを定義するために使用します。

name="name"

オプションです。テンプレートの名前を指定します。

メモ: この属性を省略した場合は、match属性が必須になります。

match="pattern"

オプションです。テンプレートの一致パターンです。

メモ: この属性を省略した場合は、name属性が必須になります。

priority="number"

オプションです。テンプレートの数値の優先度を示す数値です。ノードには、複数のテンプレートを適用できます。常に優先度の値が最も高いテンプレートが選択されます。この値の範囲は、-9.0から9.0までです。

例:

<xsl:template match="P|p">
<fo:block white-space-collapse="false" padding-bottom="3pt" linefeed-treatment="preserve">
<xsl:apply-templates select="text()|*|@*"/>
</fo:block>
</xsl:template>

<xsl:template match="STRONG|B|b">
<fo:inline font-weight="bold">
<xsl:apply-templates/>
</fo:inline>
</xsl:template>

14.4 メイン・テンプレートからのXSLサブ・テンプレートのコール

サブ・テンプレートをメイン・テンプレートに実装するには、メイン・テンプレートに2つのエントリを作成します。

最初に、メイン・テンプレートにサブ・テンプレートをインポートします。インポートの構文で、カタログ内のサブ・テンプレートを検出するBI Publisherエンジンを指定します。

次に、サブ・テンプレートの内容をレンダリングするコール・コマンドを必要な位置に入力します。

14.4.1 サブ・テンプレートのインポート

メイン・テンプレート内のコール・テンプレート・コマンドより前の任意の位置に次のインポート・コマンドを入力します。

<?import:xdoxsl:///{path to subtemplate.xsb}?>

説明:

path to subtemplate.xsbは、カタログ内のサブ・テンプレート.xsbオブジェクトへのパスです。

たとえば、次のように入力します。

<?import:xdoxsl:///Executive/Financial Reports/mySubtemplate.xsb?>

14.4.2 サブ・テンプレートのコール

XSLサブ・テンプレート・ファイル内で定義されたテンプレート文はデータ要素に適用されます。インポートしたXSLサブ・テンプレート内のテンプレート定義は、2種類の方法でコールできます。

- データの内容を一致基準と照合します。

<xsl:apply-templates select="data_element"/>

このメソッドでは、XSLサブ・テンプレートで定義されたすべてのテンプレートが、指定されたdata_elementに適用されます。data_elementのデータの内容に従って、それらのテンプレートの適切な機能が適用されます。詳細な例は、第14.6.1項「HTML書式によるXMLデータの処理」に示すユースケースを参照してください。

- テンプレートを名前でコールします。

<xsl:call-template name="templateName"/>

このメソッドでは、テンプレートが名前でコールされ、テンプレートが関数コールと同様に実行されます。また、RTFサブ・テンプレートと同様にテンプレート・コールにパラメータを渡すことができます。次の第14.4.3項「XSLサブ・テンプレートへのパラメータの引渡し」を参照してください。

詳細な例は、第14.6.2項「データの一部に対する書式設定の動的な適用」に示すユースケースを参照してください。

14.4.3 XSLサブ・テンプレートへのパラメータの引渡し

XSLサブ・テンプレートにパラメータを渡す手順は次のとおりです。

1. 次のように、<xsl:template>定義内でパラメータを宣言します。

<xsl:template name="templateName" match="/">
<xsl:param name="name" />
</xsl:template>

2. このテンプレートを次の構文を使用してコールします。

<xsl:call-template name="templateName">
<xsl:with-param name="name" select="expression">
<?--- Content:template -->
</xsl:with-param>
</xsl:call-template>

14.5 カタログでのサブ・テンプレート・オブジェクトの作成

サブ・テンプレート・ファイルをアップロードする手順は次のとおりです。

1. グローバル・ヘッダーで、「新規」をクリックし、「サブ・テンプレート」をクリックします。サブ・テンプレートページが表示されます。

2. 「テンプレート」リージョンで、「アップロード」をクリックし、「テンプレート・ファイルのアップロード」ダイアログを起動します。

3. サブ・テンプレート・ファイルの位置を探して選択します。

- タイプ: XSLサブ・テンプレート・ファイルのxslを選択します。

- ロケール: サブ・テンプレート・ファイルの該当するロケールを選択します。

4. 「アップロード」をクリックします。
サブ・テンプレート・ファイルが、「テンプレート」リージョンに、選択したロケール名で表示されます(例: en_US)。

5. 「保存」をクリックします。「別名保存」ダイアログで、サブ・テンプレートを保存するカタログ・フォルダを選択します。「名前」に名前を入力し、「保存」をクリックします。図14-1は、My Subtemplateと命名されたサブ・テンプレートを示しています。

図14-1 サブ・テンプレート

サブ・テンプレート・オブジェクトは、拡張子.xsbで保存されます。レポートにサブ・テンプレートをインポートするときは、ここで指定した名前に.xsbが付加されたものを使用します(例: MySubtemplate.xsb)。

XSLサブ・テンプレートでは、翻訳はサポートされていません。

14.6 XSLサブ・テンプレートの使用例

次に、XSLサブ・テンプレートを使用してレポートで実現可能な書式設定の例を示します。

- 第14.6.1項「HTML書式によるXMLデータの処理」

- 第14.6.2項「データの一部に対する書式設定の動的な適用」

14.6.1 HTML書式によるXMLデータの処理

すでにHTML書式設定を含んだXMLデータがあり、その書式設定をレポートで維持する場合は、XSLサブ・テンプレートを使用してHTMLの書式設定コマンドをBI Publisherで処理可能なXSLの同等要素にマップします。

HTMLはXHTML書式で記述されている必要があります。つまり、データ内のすべてのHTMLタグに開始および終了タグが必要です。たとえば、データで改行に単純な<BR>を使用している場合は、このソリューションを使用する前に終了タグの</BR>を追加する必要があります。

次に、HTML書式設定のサンプル・データを示します。

<DATA>
<ROW>
<PROJECT_NAME>Project Management</PROJECT_NAME>
<PROJECT_SCOPE>
<p>Develop an application to produce <i>executive-level summaries</i> and detailed project reports. The application will allow users to: </p>
<p>Import existing MS Project files </p>
<p>Allow the user to map file-specific resources to a central database entities (i.e., people) and projects; </p>
<p>Provide structured output that can be viewed by staff and executives. </p>
</PROJECT_SCOPE>
<PROJECT_DEFINITION><b>Information about current projects is not readily available to executives.</b> Providing this information creates a reporting burden for IT staff, who may already maintain this information in Microsoft Project files. </PROJECT_DEFINITION>
</ROW>
</DATA>

このサンプルで使用されているHTMLタグは次のとおりです。

- <p> - 段落タグ

- <i> - 斜体タグ

- <b> - 太字タグ

図14-2に示すように、これらのタグで指定された書式設定を保持してこれを表示することがレポートの要件だとします。

図14-2 サンプルのHTMLファイル

次のサブ・テンプレートは、XSL構文を使用してXMLデータ内の3つのHTMLタグを対応付けています。次にテンプレートで、対応するHTML文字列がXSLFOの同等要素に置換されます。

<xsl:template match="P|p">
<fo:block white-space-collapse="false" padding-bottom="3pt" linefeed-treatment="preserve">
<xsl:apply-templates select="text()|*|@*"/>
</fo:block>
</xsl:template>

<xsl:template match="STRONG|B|b">
<fo:inline font-weight="bold">
<xsl:apply-templates/>
</fo:inline>
</xsl:template>

<xsl:template match="EM|I|i">
<fo:inline font-style="italic">
<xsl:apply-templates/>
</fo:inline>
</xsl:template>

このXSL構文を使用する手順は次のとおりです。

1. このXSLサブ・テンプレート・ファイルをBI Publisherカタログの場所である、Shared Folders/Projectsにアップロードします。このサブ・テンプレート・ファイルをhtmlmarkup.xsbの名前で保存します。

2. メイン・テンプレートで、サブ・テンプレート・ファイルをインポートする次の文を入力します。

<?import:xdoxsl:///Projects/htmlmarkup.xsb?>

3. HTMLマークアップを含むフィールドごとに、xsl apply-templateコマンドをコールします。この例では、2つのフィールドがあります。

<xsl:apply-templates select="PROJECT_SCOPE"/>
<xsl:apply-templates select="PROJECT_DEFINITION"/>

図14-3は、テンプレート内のフィールド定義を示しています。

図14-3 フィールド定義

このコマンドは、PROJECT_SCOPEおよびPROJECT_DEFINITION要素の値をすべてのテンプレートに適用するようにプロセッサに命令します。次に、サブ・テンプレートの関数を循環実行して、一致を検索します。

14.6.2 データの一部に対する書式設定の動的な適用

このサブ・テンプレートの使用例は、化学式、数値計算または上付きおよび下付き文字を必要とするドキュメントで役立ちます。

たとえば、次のXMLデータでは、CO2をCO_2として表示し、H2OをH_2Oとして表示することが予期されます。

<ROWSET>
<ROW>
<FORMULA>CO2</FORMULA>
</ROW>
<ROW>
<FORMULA>H2O</FORMULA>
</ROW>
</ROWSET>

これはXSLサブ・テンプレートを使用することによって実現可能です。XSL構文を使用することで、任意の名前のテンプレートを定義できます。たとえば、chemical_formatterは、FORMULAフィールドをパラメータとして取得し、文字を1つずつ読み取ります。これは、文字を0 - 9の数字と比較し、一致がある場合は次のXSL FO構文を使用して下付き文字にします。

<fo:inline baseline-shift="sub" font-size="75%">

XSLテンプレート文のサンプル・コードは次のとおりです。

<xsl:template name="chemical_formatter">
<! -  accepts a parameter e.g. H2O  - >
<xsl:param name="formula"/>
<! -  Takes the first character of the string and tests it to see if it is a number between 0-9 - > <xsl:variable name="each_char"
select="substring($formula,1,1)"/>
<xsl:choose>
<xsl:when test="$each_char='1' or $each_char='2'
or $each_char='3' or $each_char='4' or $each_char='5'
or $each_char='6' or $each_char='7' or $each_char='8'
or $each_char='9' or $each_char='0'">
<! -  if it is numeric it sets the FO subscripting properties  - >
<fo:inline baseline-shift="sub" font-size="75%">
<xsl:value-of select="$each_char"/>
</fo:inline>
</xsl:when>
<xsl:otherwise>
<! -  otherwise the charater is left as is  - >
<fo:inline baseline-shift="normal">
<xsl:value-of select="$each_char"/>
</fo:inline>
</xsl:otherwise>
</xsl:choose>
<! -  test if there are other chars in the string, if so the recall the template  - >
<xsl:if test="substring-after($formula,$each_char) !=''">
<xsl:call-template name="chemical_formater">
<xsl:with-param name="formula">
<xsl:value-of select="substring-after($formula,$each_char)"/>
</xsl:with-param>
</xsl:call-template>
</xsl:if>
</xsl:template>

このXSLテンプレート文を使用する手順は次のとおりです。

1. このファイルをchemical.xslの名前で保存します。

2. 第12.4項「カタログでのサブ・テンプレート・オブジェクトの作成」の手順に従います。サブ・テンプレートの名前をChemicalとし(Chemical.xsbの名前で保存されます)、Shared Folders/Subtemplatesの場所に保存します。

3. メインRTFテンプレートで、インポート構文を入力します。

<?import:xdoxsl:///Subtemplates/Chemical.xsb?>

4. レポートでXSLコードをレンダリングするには、データのループを作成し、VALUEフィールドで次の文を使用します。

<xsl:call-template name="chemical_formatter">
<xsl:with-param name="formula" select="VALUE"/> </xsl:call-template>

これは、書式設定テンプレートとH2OのFORMULA値をコールします。レンダリングを実行すると、式が予期どおりにH_2Oと表示されます。

第III部

レポートとカタログ・オブジェクトの翻訳

この部では、レポートおよびカタログ・オブジェクトの翻訳について説明します。次の章で構成されています。

- 第15章「翻訳サポートの概要と概念」

- 第16章「個別のテンプレートの翻訳」

- 第17章「カタログ・オブジェクト、データ・モデルおよびテンプレートの翻訳」

15 翻訳サポートの概要と概念

この章では、BI Publisherでのレポートおよびカタログ翻訳に関する概念の概要について説明します。

内容は次のとおりです。

- 第15.1項「翻訳サポートの概要」

- 第15.2項「翻訳ファイルの操作」

- 第15.3項「ロケール選択ロジック」

15.1 翻訳サポートの概要

BI Publisherでは、以降の各項で説明する2つの方法で翻訳がサポートされています。

- 第15.1.1項「カタログの翻訳について」

- 第15.1.2項「テンプレートの翻訳について」

- 第15.1.3項「サポートされる言語について」

15.1.1 カタログの翻訳について

重要:

BI PublisherがOracle Business Intelligence Enterprise Editionと統合されている場合は、BI Publisherのカタログ翻訳(フォルダとレポート、データ・モデル、スタイル・テンプレートおよびサブ・テンプレート名)は無視されます。かわりに、Oracle BI Enterprise Editionのカタログ翻訳メカニズムが適用されます。統合カタログで翻訳可能なコンポーネントの詳細は、『Oracle Fusion Middleware Oracle Business Intelligence Enterprise Editionシステム管理者ガイド』のOracle Business Intelligenceデプロイメントのローカライズに関する項を参照してください。

カタログ翻訳は、選択したカタログ・フォルダ内のすべてのオブジェクトから翻訳可能文字列を別のファイルに抽出できるBI Publisherの機能です。このファイルは、翻訳して、BI Publisherにアップロードし、適切な言語コードを割り当てることができます。

カタログ翻訳では、レポート・レイアウトの翻訳可能文字列のみでなく、ユーザーに表示されるカタログ・オブジェクトの説明、レポート・パラメータ名、およびデータ表示名などのユーザー・インタフェース文字列も抽出されます。

ユーザーがカタログを表示すると、「アカウント」プリファレンスで選択されたユーザー・インタフェース言語に対応するアイテムの翻訳が表示されます。ユーザーがレポートを表示すると、「アカウント」プリファレンスで選択されたレポート・ロケールに対応するアイテムの翻訳が表示されます。

15.1.2 テンプレートの翻訳について

テンプレート翻訳は、単一のRTFベースのテンプレート(サブ・テンプレートおよびスタイル・テンプレートを含む)または単一のBI Publisherレイアウト・テンプレート(.xptファイル)から翻訳可能文字列を抽出するBI Publisherの機能です。

このオプションは、翻訳された最終版のレポート・ドキュメントが必要な場合にのみ使用します。たとえば、ドイツと日本の顧客に送信する翻訳済請求書を生成する必要がある場合などです。

15.1.3 サポートされる言語について

BI Publisherでは、Unicodeでサポートされるすべての言語をサポートし、レンダリングに特別なアルゴリズムは必要ありません。レンダリングに特殊なアルゴリズムが必要な言語の例は、ヒンディー語とペルシャ語です。言語がAlbanyフォントでサポートされていない場合は、ユーザーの責任で適切なフォントを用意してください。

BI Publisherでは、アラビア語とヘブライ語はサポートしていません。

15.2 翻訳ファイルの操作

カタログまたはテンプレートの翻訳のために翻訳可能文字列を抽出するときは、BI Publisherによって文字列を含むXLIFFファイルが作成されます。

これらの文字列は、社内で翻訳するか、ローカライゼーション・プロバイダに送信できます。次にXLIFFファイルをカタログまたは個別のレイアウトに戻すためにアップロードし、該当するロケールを割り当てます。

この項では、XLIFFファイルの操作方法について説明します。内容は次のとおりです。

- 第15.2.1項「XLIFFについて」

- 第15.2.2項「XLIFFファイルの構造」

15.2.1 XLIFFについて

XLIFFとは、XML Localization Interchange File Formatのことです。これはローカライゼーション・プロバイダによって使用される標準的なフォーマットです。XLIFF仕様の詳細は、http://www.oasis-open.org/committees/xliff/documents/xliff-specification.htmを参照してください。

15.2.2 XLIFFファイルの構造

生成されるXLIFFファイルの構造は次のとおりです。

<xliff>
<file>
<header>
<body>
<trans-unit>
<source>
<target>
<note>

図15-1に、未翻訳のXLIFFファイルの一部を示します。

図15-1 未翻訳のXLIFFファイル

15.2.2.1 source-languageおよびtarget-language属性

<file>要素には、source-languageおよびtarget-language属性が含まれています。source-languageおよびtarget-languageの有効な値は、次のような言語コードと国コードの組合せです。

- 2文字のISO 639言語コード

- 2文字のISO 3166国コード

注意:

International Organization for Standardization(ISO)およびコード・リストの詳細は、International Organization for StandardizationのWebサイト(http://www.iso.org/iso/home.html)を参照してください。

たとえば、英語-米国の値はen-USです。この組合せはロケールとも呼ばれます。

エクスポートしたXLIFFファイルを編集するときに、target-language属性をターゲット言語の適切なロケール値に変更する必要があります。表15-1に、特定の翻訳に適したsource-languageおよびtarget-language属性値の例を示します。

表15-1 source-languageおよびtarget-languageの属性値

翻訳(言語/地域)

source-language値

target-language値

翻訳元: 英語/米国翻訳先: 英語/カナダ

en-US

en-CA

翻訳元: 英語/米国翻訳先: 中国語/中国

en-US

zh-CN

翻訳元: 日本語/日本翻訳先: フランス語/フランス

ja-JP

fr-FR

15.2.2.2 埋込みデータ・フィールド

テンプレートによっては、データ・フィールドに対するプレースホルダがレポートのテキスト表示文字列に埋め込まれている場合があります。たとえば、サンプル・レポートのタイトルは、次のとおりです。

Italian Purchase VAT Register - (year)

この例で、(year)はRTFテンプレート内のプレースホルダで、実行時にXML要素のデータが移入されます。このようなフィールドは、実行時にデータから値が設定されるため翻訳できません。

埋込みデータ・フィールドを識別するために、XLIFFファイルでは次のトークンが使用されます。

[&amp;n]

ここで、nはテンプレート内のデータ・フィールドの出現順番号を示します。

たとえば、前述のXLIFFサンプルでは、最初の翻訳可能文字列は次のように表されます。

<source>Italian Purchase VAT Register - [&amp;1]<source>

注意:

埋込みデータ・フィールドのトークンは編集または削除しないでください。編集または削除すると、XMLデータとテンプレートのマージに影響を与えます。

15.2.2.3 <source>要素と<target>要素

各<source>要素には、テンプレートの翻訳可能文字列がテンプレートのソース言語で記述されています。例:

<source>Total</source>

翻訳用のXLIFFファイルを最初にエクスポートしたときは、ソース要素とターゲット要素はすべて同じです。このテンプレートの翻訳を作成するには、各ソース要素の文字列に対する適切な翻訳をその対応する<target>要素に入力します。

したがって、サンプル・テンプレートをドイツ語に翻訳する場合は、Totalの文字列に対して次のように入力します。

<source>Total</source>
<target>Gesamtbetrag</target>

図15-2に、中国語の翻訳で更新された前述の図のサンプルXLIFFファイルを示します。

図15-2 中国語の翻訳で更新されたサンプルXLIFFファイル

15.3 ロケール選択ロジック

BI Publisherでは、ユーザーが選択したレポート・ロケールに基づいて翻訳が適用されます。BI Publisherでは、最初にロケールに対応する名前のRTFテンプレートが照合され、次にロケールに対応する名前のXLIFFファイルが照合されます。言語-地域で完全に一致するものが見つからない場合は、言語のみで照合されます。

たとえば、基本テンプレートの名前がEmployeeTemplate.rtfのレポートがあり、選択されたロケールがフランス語(フランス)の場合、BI Publisherでは、次の階層に従って適用する翻訳が選択されます。

EmployeeTemplate.rtf(fr_FR)

EmployeeTemplate.xlf(fr_FR)

EmployeeTemplate.rtf(fr)

EmployeeTemplate.xlf(fr)

EmployeeTemplate.rtf(デフォルト)

この同じ翻訳セットで、選択されたロケールがフランス語(スイス)の場合は、EmployeeTemplate.rtf(fr)が適用されます。ここで、使用可能な翻訳が次のセットに限定されている場合を考えてみます。

EmployeeTemplate.rtf(fr_FR)

EmployeeTemplate.xlf(fr_FR)

EmployeeTemplate.rtf(デフォルト)

選択されたロケールがフランス(スイス)の場合は、EmployeeTemplate.rtf(デフォルト)が適用されます。言語が一致していても、ロケールが異なる場合は照合されません。

したがって、選択ロケールに関係なく、フランス語が選択言語のときにフランス語の翻訳が使用されることを保証するには、言語にのみ対応する名前を付けたrtfまたはxlfファイル(つまりEmployeeTemplate_fr.rtfまたはEmployeeTemplate_fr.xlf)を組み込む必要があります。

16 個別のテンプレートの翻訳

この章では、特定のテンプレートを翻訳するために翻訳済テンプレート・ファイルを作成およびアップロードする方法について説明します。

この章の内容は次のとおりです。

- 第16.1項「概要」

- 第16.2項「翻訳の種類」

- 第16.3項「XLIFFオプションの使用」

- 第16.4項「ローカライズ済テンプレート・オプションの使用」

16.1 概要

次のテンプレート・タイプを個別に翻訳できます。

- RTFレイアウト・ファイル

- スタイル・テンプレート

- サブ・テンプレート

- BI Publisherレイアウト (.xpt)

この章では、特定のテンプレートのみの翻訳が必要な場合に、翻訳したテンプレート・ファイルを作成およびアップロードする方法について説明します。

カタログ内の広い範囲のレイアウトを翻訳する場合は、第17章「カタログ、オブジェクト、データ・モデルおよびテンプレートの翻訳」を参照してください。

16.2 翻訳の種類

テンプレートに翻訳を追加するには、次の2つの方法があります。

- 翻訳しての別のRTFテンプレート(ローカライズ済テンプレート)を作成します。このオプションを使用できるのは、RTFテンプレートの場合のみです。

- オリジナル・テンプレートからXLIFFを生成します。実行時に、オリジナル・テンプレートがレイアウトに適用され、XLIFFが翻訳に適用されます。

翻訳済テンプレートにオリジナル・テンプレートと異なるレイアウトが必要な場合は、最初のオプションを使用します。

テンプレート・レイアウトのテキスト文字列の翻訳のみが必要な場合は、XLIFFオプションを使用します。

図16-1に示す図に、翻訳の概念を示します。

図16-1 翻訳の概念

16.3 XLIFFオプションの使用

次の各項では、ファイルの翻訳でのXLIFFオプションの使用について説明します。

- 第16.3.1項「テンプレートからのXLIFFの生成」

- 第16.3.2項「XLIFFの翻訳」

- 第16.3.3項「BI Publisherへの翻訳済XLIFFのアップロード」

16.3.1 テンプレートからのXLIFFの生成

単一のテンプレート・ファイルのXLIFFを生成するには、以降の各項で説明する2つの方法があります。

- 第16.3.1.1項「Template BuilderからのXLIFFの生成」(XPTテンプレートではサポートなし)

- 第16.3.1.2項「「レイアウト・プロパティ」ページからのXLIFFの生成」

16.3.1.1 Template BuilderからのXLIFFの生成

注意:

この手順は、BI Publisher Template Builder for Microsoft Wordがインストールされていることを想定しています。Microsoft Wordのアドインのダウンロードの詳細は、第5章「Template Builder for Wordを使用したRTFテンプレートの作成」を参照してください。

Template BuilderからXLIFFを生成するには:

1. Template Builder for WordがインストールされているMicrosoft Wordでテンプレートを開きます。

2. 「Template Builder」タブの「ツール」グループで「翻訳」をクリックし、次に「テキストの抽出」をクリックします。
BI Publisherによって、テンプレートから翻訳可能文字列が抽出され、XLIFF(.xlf)にエクスポートされます。

3. XLIFFをローカル・ディレクトリに保存します。

16.3.1.2 レイアウトの「プロパティ」ページからのXLIFFの生成

レポート・レイアウト・テンプレート用、またはスタイル・テンプレートおよびサブ・テンプレート用のXLIFFファイルを生成できます。

レポート・レイアウト・テンプレート用のXLIFFファイルを生成する手順は次のとおりです。

1. カタログ内のレポートにナビゲートし、これを編集するために「編集」をクリックして開きます。

2. レポートのレイアウトのサムネイル・ビューで、レイアウト(RTFまたはXPT)の「プロパティ」リンクをクリックして、「レイアウト プロパティ」ページを開きます。

3. 「翻訳」リージョンで、「翻訳の抽出」をクリックします。
BI Publisherによって、テンプレートから翻訳可能文字列が抽出され、XLIFF(.xlf)ファイルにエクスポートされます。

4. XLIFFファイルをローカル・ディレクトリに保存します。

スタイル・テンプレートおよびサブ・テンプレート用のXLIFFファイルを生成する手順は次のとおりです。

1. カタログ内のスタイル・テンプレートまたはサブ・テンプレートにナビゲートし、「編集」をクリックして「テンプレート・マネージャ」を開きます。

2. 「翻訳」リージョンで、「翻訳の抽出」をクリックします。
BI Publisherによって、テンプレートから翻訳可能文字列が抽出され、XLIFF(.xlf)ファイルにエクスポートされます。

3. XLIFFファイルをローカル・ディレクトリに保存します。

16.3.2 XLIFFの翻訳

XLIFFファイルのダウンロード後は、翻訳プロバイダに送信するか、またはテキスト・エディタを使用して各文字列に対する翻訳を入力できます。XLIFFファイルの編集方法の詳細は、第15.2.2項「XLIFFファイルの構造」を参照してください。

翻訳可能文字列は、表ヘッダーやフィールド・ラベルなど、発行レポートに表示される、テンプレート内の任意のテキストです。実行時にデータから設定されるテキスト、およびMicrosoft Wordフォームの各フィールドに指定したテキストは翻訳不可です。

テンプレートXLIFFファイルは、必要な数の言語に翻訳し、それらの翻訳をオリジナル・テンプレートに関連付けることができます。第16.3.3項「BI Publisherへの翻訳済XLIFFのアップロード」を参照してください。

重要:

翻訳済ファイルを保存する場合、UTF-8エンコードで保存してください。

16.3.3 BI Publisherへの翻訳済XLIFFのアップロード

翻訳済XLIFFをアップロードする手順は次のとおりです。

1. カタログ内のレポート、サブ・テンプレートまたはスタイル・テンプレートに移動し、「編集」をクリックしてこれらを開き、編集します。
レポートの場合のみ:

レポートのレイアウトのサムネイル・ビューで、レイアウトの「プロパティ」リンクをクリックして、Template Managerを開きます。

2. 「翻訳」リージョンで、「アップロード」ツールバー・ボタンをクリックします。

3. 「翻訳ファイルのアップロード」ダイアログ(図16-2に示す)で、ローカル・ディレクトリ内のファイルを見つけ、この翻訳に対応する「ロケール」を選択します。

図16-2 「テンプレート・ファイルのアップロード」ダイアログ

4. 「OK」をクリックして、ファイルをアップロードし、「翻訳」テーブルで参照します。

16.4 ローカライズ済テンプレート・オプションの使用

ローカライゼーションが異なると表示するレポートのレイアウトも変えて設計する必要がある場合は、そのロケール用に設計および翻訳した新しいRTFファイルを作成し、そのファイルをテンプレート・マネージャにアップロードできます。

注意:

ローカライズ済テンプレート・オプションは、XPTテンプレートではサポートされません。

次の各項では、ローカライズ済テンプレート・オプションの使用について説明します。

- 第16.4.1項「ローカライズ済テンプレート・ファイルの設計」

- 第16.4.2項「BI Publisherへのローカライズ済テンプレートのアップロード」

16.4.1 ローカライズ済テンプレート・ファイルの設計

基本テンプレート・ファイルの作成で使用したツールと同じものを使用して文字列を翻訳し、ロケールに適したレイアウトにカスタマイズします。

16.4.2 BI Publisherへのローカライズ済テンプレートのアップロード

ローカライズ済テンプレートをアップロードする手順は次のとおりです。

1. カタログ内のレポート、サブ・テンプレートまたはスタイル・テンプレートに移動し、「編集」をクリックしてこれらを開き、編集します。
レポートの場合のみ:

レポートのレイアウトのサムネイル・ビューで、レイアウトの「プロパティ」リンクをクリックして、Template Managerを開きます。

2. 「テンプレート」リージョンで、「アップロード」ツールバー・ボタンをクリックします。

3. 「テンプレート・ファイルのアップロード」ダイアログ(図16-3に示す)で、ローカル・ディレクトリ内のファイルを見つけて、「テンプレート・タイプ」でrtfを選択し、このテンプレート・ファイルに対応する「ロケール」を選択します。

図16-3 「テンプレート・ファイルのアップロード」ダイアログ

4. 「OK」をクリックして、ファイルをアップロードし、「テンプレート」表に表示します。

17 カタログ・オブジェクト、データ・モデルおよびテンプレートの翻訳

この章では、カタログ・レベルで使用可能な「XLIFFのエクスポート」の機能を使用して、BI Publisherのカタログ・オブジェクト、データ・モデルおよびテンプレートを翻訳する方法について説明します。

この章の内容は次のとおりです。

- 第17.1項「概要」

- 第17.2項「翻訳可能な文字列」

- 第17.3項「XLIFFファイルのエクスポート」

- 第17.4項「オブジェクト・タグの識別と更新」

- 第17.5項「XLIFFファイルのインポート」

17.1 概要

この章では、カタログ・レベルで使用できる「XLIFFのエクスポート」の機能の使用方法について説明します。

フォルダを選択し、このオプションを選択すると、単一のXLIFFファイルが生成されます。このファイルには、フォルダ内のカタログ・オブジェクトから抽出された翻訳可能文字列と、フォルダ内のRTFおよびXPTテンプレートが含まれています。翻訳可能な文字列の詳細なリストについては、後続の項で説明します。

生成されたXLIFFファイルのターゲット文字列は、必要な言語に翻訳可能です。次にXLIFFをBI Publisherリポジトリにアップロードして、該当するロケールを割り当てることができます。XLIFFの翻訳済文字列は、ユーザーがUI言語にターゲットの言語を選択したとき(カタログ・オブジェクトの文字列)またはレポート・ロケールにターゲットの言語を選択したとき(レポート・テンプレートの文字列)に表示されます。

BI PublisherがOracle Business Intelligence Enterprise Editionと統合されている場合は、BI Publisherのカタログ・オブジェクト文字列の翻訳(フォルダおよびレポート、データ・モデル、スタイル・テンプレートおよびサブ・テンプレート名)は無視されます。かわりに、Oracle BI Enterprise Editionのカタログ翻訳メカニズムが適用されます。統合カタログで翻訳可能なコンポーネントの詳細は、『Oracle Fusion Middleware Oracle Business Intelligence Enterprise Editionシステム管理者ガイド』のOracle Business Intelligenceデプロイメントのローカライズに関する項を参照してください。

17.2 翻訳可能な文字列

表17-1に、翻訳可能な文字列を示します。

表17-1 翻訳可能な文字列

オブジェクト

翻訳可能な文字列

翻訳の表示を決定するプリファレンス

フォルダ

名前説明

UI言語(すべてに適用)

データ・モデル

名前説明データ表示名

UI言語(すべてに適用)

レポート

名前説明レイアウト名データ・モデル参照パラメータ名

UI言語(すべてに適用)

スタイル・テンプレート

名前テンプレート内の静的テキスト

UI言語レポート・ロケール

サブ・テンプレート

名前テンプレート内の静的テキスト

UI言語レポート・ロケール

BI Publisherレイアウト(.xpt)

レイアウト内の静的テキスト

レポート・ロケール

RTFレイアウト

レイアウト内の静的テキスト

レポート・ロケール

17.2.1 ソース言語の制限について

カタログ翻訳の場合、ソース言語はenに限定されます。カタログおよびデータ・モデル・オブジェクトを翻訳できるようにするには、これらを英語で作成する必要があります。

17.3 XLIFFファイルのエクスポート

カタログ・フォルダのXLIFFファイルをエクスポートするには:

1. カタログ内のフォルダを選択します。

2. 図17-1に示すように、「翻訳」ツールバー・ボタンをクリックし、「XLIFFのエクスポート」をクリックします。

図17-1 XLIFFのエクスポート

BI Publisherによって、テンプレートから翻訳可能文字列が抽出され、XLIFF(.xlf)にエクスポートされます。

3. XLIFFファイルをローカル・ディレクトリに保存します。

17.4 オブジェクト・タグの識別と更新

XLIFFファイルを手動で翻訳文字列に更新する方法については、第15.2.1項「XLIFFについて」を参照してください。

カタログ・オブジェクト用に生成したXLIFFファイルでは、図17-2に示すように、ソース言語(source-language)とターゲット言語(source-language)の属性に2文字の言語コードのみが組み込まれます。

図17-2 2文字の言語コードの値

17.5 XLIFFファイルのインポート

ターゲット・タグの翻訳が終われば、XLIFFファイルをBI Publisherにインポートする準備は完了です。

XLIFFファイルをインポートするには:

1. XLIFFファイルを生成したフォルダにナビゲートします。

2. ツールバーの「翻訳」ボタンをクリックし、「XLIFFのインポート」を選択します。図17-3に示す「アップロード」ダイアログが表示されます。

図17-3 「アップロード」ダイアログ

3. 「参照」をクリックして、翻訳済ファイルを見つけ、リストから適切なロケールを選択します。

4. 「アップロード」をクリックします。

第IV部

リファレンス情報

この部では、Oracle BI Publisherのリファレンス情報について説明します。これは、次の付録で構成されています。

- 付録A「大きな出力ファイルを処理する技術」

- 付録B「RTFテンプレートの拡張された関数サポート」

- 付録C「アクセス可能レポートの設計」

- 付録D「サポートされているXSL-FO要素」

- 付録E「PDF/AおよびPDF/X出力の生成」

- 付録F「PDFバージョンのサポート」

- 付録G「カスタマイズ機能の使用」

A 大きな出力ファイルを処理する技術

この付録では、レポートからサイズの非常に大きなPDF出力ファイルを生成するときのパフォーマンスを向上する技術について説明します。

内容は次のとおりです。

- 第A.1項「静的コンテンツの再利用」

- 第A.2項「Zip圧縮されたPDF出力の生成」

- 第A.3項「RTFテンプレートへのPDF分割の実装」

- 第A.4項「PDFテンプレートへのPDF分割の実装」

A.1 静的コンテンツの再利用

この項では、PDFレポート出力で静的な繰返しコンテンツを再利用して、全体的なPDFファイルのサイズを削減する方法について説明します。この項には次のトピックが含まれます:

- 第A.1.1項「静的コンテンツの再利用とは」

- 第A.1.2項「この機能の制約」

- 第A.1.3項「RTFテンプレートでの再利用コンテンツの定義」

- 第A.1.4項「例」

A.1.1 静的コンテンツの再利用とは

レポートに静的コンテンツがあり、レポート内でのコンテンツの位置も決まっている場合(たとえば、米国W-2フォーム裏面の説明文など)、このBI Publisherの機能を使用して、生成するPDFファイルのサイズを削減できます。

W-2フォームを例にあげると、レポートには図A-1に示す出力が予期されます。

図A-1 W-2フォーム・レポートの出力

各従業員には、固有の内容がレンダリングされますが、それぞれの裏面(または2ページ目)には、同一の説明が記載されています。

この一連の説明は、再利用可能な静的コンテンツとして定義できます。コンテンツを再利用可能な静的コンテンツとして指定すると、BI Publisherによって、その静的コンテンツを含むPDFドキュメントが一度だけ生成され、必要時に他の位置から参照されます。これにより、全体的な出力ファイルのサイズが削減されます。

A.1.2 この機能の制約

この機能には次の制約があります。

- 生成されるレポートで再利用される静的コンテンツは、生成されるPDF出力のページに収まる必要があります。

- 静的コンテンツよりも前にレンダリングされるレポートの内容は、固定の高さである必要があります。たとえば、W-2フォームでは、静的コンテンツがレンダリングされる前に、一連の固定のフィールドがレンダリングされます。再利用可能な静的コンテンツは、レンダリングごとにページ原点から同じ位置に配置されます。

- この機能は、PDF出力を生成するRTFテンプレートにのみ使用可能です。

A.1.3 RTFテンプレートでの再利用コンテンツの定義

再利用する静的コンテンツを定義するには、次のようにテンプレート内で次のタグを使用してコンテンツを囲みます。

<?reusable-static-content:?>

....ここに静的コンテンツを記述...

<?end reusable-static-content?>

これらのタグを静的コンテンツの前後に挿入することで、生成するファイルにこのコンテンツを1回のみ記述して、出現箇所ごとに同じ位置から参照するように指定します。

A.1.4 例

次の例は、この機能の実装を示しています。サンプル・レポートは、従業員ごとに1回生成されます。生成されたレポートのそれぞれで、最初のページには従業員固有の情報が記載され、裏面には毎回内容の同じ説明が印刷されます。各従業員の後にセクション区切りが発生し、ページ番号がリセットされます。

図A-2は、このテンプレートの構造を示しています。

図A-2 RTFテンプレートの構造

A.2 Zip圧縮されたPDF出力の生成

BI PublisherではPDF出力の生成時、出力ファイルのサイズが制限されません。ただし、ファイルのサイズが2GBに近づくと、Adobe Acrobat Readerではファイルを開いたり処理したりできなくなる場合があります。

BI Publisherには、大きなPDF出力ファイルを小さく管理しやすいファイルに分割する機能があります。分割後もレポートは1つの論理的なユニットとして整合性が維持されます。

レポートのPDF出力の分割を有効にすると、そのレポートは複数のファイルに分割され1つのZIPファイル内に生成されます。出力タイプはPDFZです。これらのコンポーネント・ファイルに簡単にアクセスできるように、BI Publisherによってインデックス・ファイルも生成され、各コンポーネントのPDFファイルに含まれるジャンプ先およびジャンプ元の要素が指定されます。

レポート設計者は、この機能を有効にするために、この項で説明されている方法でレポートを設定する必要があります。

A.2.1 制約と前提条件

- この機能は、RTFテンプレートまたはPDFテンプレートから生成されたPDF出力に対してのみサポートされます。

- レポートに入力されるデータセットは、平坦なXMLデータ(ROWSET/ROW)である必要があります。階層化または連結されているデータセットは使用できません。

- データセットは、後述の繰り返し要素として指定されている要素でソートする必要があります。

A.2.2 設計時の考慮事項

レポート設計者は、レポートの分割を有効化するために、次の事項を決定する必要があります。

- カウンタとして機能する繰返し要素を選択します。

- 1つのPDFファイル当たりの繰返し要素のインスタンス数を決定します。

- 生成されるインデックス・ファイルに含めるデータ要素を選択します。

A.2.3 出力タイプの選択

テンプレートをレポート定義にアップロードした後で、図A-3に示すように、出力タイプとしてZip圧縮PDFを有効にします。

図A-3 出力タイプとしてのzip圧縮PDFの有効化

レポートをスケジューリングするときは、図A-4に示すように、出力タイプにPDFZを選択します。

図A-4 出力タイプとしてのPDFZの選択

A.3 RTFテンプレートへのPDF分割の実装

この項では、RTFテンプレートから生成したレポートのPDF分割を有効化する方法を説明します。この項には次のトピックが含まれます:

- 第A.3.1項「RTFテンプレートでのコマンドの入力」

- 第A.3.2項「使用例 - 部門ごとの分割」

A.3.1 RTFテンプレートでのコマンドの入力

この機能を使用するテンプレートを設計する場合は、次の項目を指定するコマンドを追加する必要があります。

- データ内のどの要素が繰り返されるか(単純にfor-eachコマンドを使用します)

- 各PDFファイルでその要素が何回出現するか

- インデックス・ファイルにはどのような情報(データ要素)を含めるか

これを行うには、テンプレート内のドキュメントを分割する要素のfor-eachループ内に次の2つのコマンドを入力する必要があります。

- <?catalog-index-info:name;element_name?>
説明:

nameは、インデックス・ファイルで各ドキュメントに含まれるジャンプ先およびジャンプ元のレコードを識別するために使用される名前です。

element_nameは、前述の手順で識別された名前の値を提供する要素のXMLタグ名です。

catalog-index-infoコマンドは、作成されるインデックス・ファイルの構造を定義します。

- <?if:position() mod n = 0?><?document-split:?><?end if?>
説明:

nは、1つのPDFファイルに含めるレコードの数です。

このコマンドは、カウントする要素のfor-eachループ内に配置する必要があります。このコマンドによって、BI Publisherは、nで与えられた値とレコード数が同じ場合、次の改ページの出現後にドキュメントを分割します。

ドキュメントの分割が実行されるたびに、catalog-index-infoコマンドで定義された名前と値の組合せがインデックス・ファイルに書き込まれます。

A.3.2 使用例 - 部門ごとの分割

この例は次のXMLデータに基づいています。

<DATA_DS>
<G_EMP>
<DEPARTMENT_NAME>Sales</DEPARTMENT_NAME>
<FIRST_NAME>Ellen</FIRST_NAME>
<LAST_NAME>Abel</LAST_NAME>
<HIRE_DATE>1996-05-11T00:00:00.000-07:00</HIRE_DATE>
<SALARY>11000</SALARY>
</G_EMP>
<G_EMP>
<DEPARTMENT_NAME>Sales</DEPARTMENT_NAME>
<FIRST_NAME>Sundar</FIRST_NAME>
<LAST_NAME>Ande</LAST_NAME>
<HIRE_DATE>2000-03-24T00:00:00.000-08:00</HIRE_DATE>
<SALARY>6400</SALARY>
</G_EMP>
<G_EMP>
<DEPARTMENT_NAME>Shipping</DEPARTMENT_NAME>
<FIRST_NAME>Mozhe</FIRST_NAME>
<LAST_NAME>Atkinson</LAST_NAME>
<HIRE_DATE>1997-10-30T00:00:00.000-08:00</HIRE_DATE>
<SALARY>2800</SALARY>
</G_EMP>
<G_EMP>
<DEPARTMENT_NAME>IT</DEPARTMENT_NAME>
<FIRST_NAME>David</FIRST_NAME>
<LAST_NAME>Austin</LAST_NAME>
<HIRE_DATE>1997-06-25T00:00:00.000-07:00</HIRE_DATE>
<SALARY>4800</SALARY>
</G_EMP>

...
</DATA_DS>

この例では、出力PDFレポートに各従業員のドキュメントが含められます。新しいPDFを部門ごとに生成します。PDFファイルに含まれている各レコードのFIRST_NAMEおよびLAST_NAMEのリストをインデックスに記録します。

この出力を実現するには、テンプレートに次のように入力します。

<?for-each-group:ROW;./DEPARTMENT_NAME?>
<?for-each:current-group()?>
<?catalog-index-info:'First Name';FIRST_NAME?>
<?catalog-index-info:'Last Name';LAST_NAME?>
...
<?end for-each?>
<?document-split:?>
<?end for-each-group?>

A.4 PDFテンプレートへのPDF分割の実装

このセクションでは、出力を複数のPDFファイルに分割するためにPDFテンプレートで必要なコマンドを説明します。

A.4.1 PDFテンプレートでのコマンドの入力

PDFテンプレートでこの機能を有効化するには、テンプレート内の表A-1にリストされている次の3つのフォーム・フィールドに「ツールチップ」フィールドで指定されたコマンドを入力します。

表A-1

フォーム・フィールド名

ツールチップのコマンド

REPEAT-ELEMENT

<?repeat-element:element name?>: element_nameは、カウントされる繰返し要素のXMLタグ名です。例: <?repeat-element:emp_id?>

CATALOG-INDEX-INFO

<?catalog-index-info:'Name';element_name?>: Nameは、指定したelement_nameに対してインデックス・ファイルで表示されるラベルです。インデックスでは、zip化される各ファイルに対してFromおよびToのリストが生成されます。例: <?catalog-index-info:'Last Name';LAST_NAME?>: catalog-index-infoコマンドを複数回組み込むことで、インデックス・ファイル内に複数のデータ要素を含めることができます。

SPLIT-COUNT

<?split-count:n?>: nは、新規ファイルの作成をトリガーするrepeat-elementの出現回数です。例: <?split-count:10000?>

B RTFテンプレートの拡張された関数サポート

この付録では、RTFテンプレートで使用される、BI Publisherによって拡張されたSQLおよびXSL関数について説明します。

内容は次のとおりです。

- 第B.1項「拡張されたSQLおよびXSL関数」

- 第B.2項「XSLの同等要素」

- 第B.3項「FO要素の使用」

B.1 拡張されたSQLおよびXSL関数

BI Publisherでは、RTFテンプレートで使用するために一連のSQLおよびXSL関数が拡張されています。これらの拡張関数の構文は、次のとおりです。

<?xdofx:expression?>

(拡張SQL関数用)

<?xdoxslt:expression?>

(拡張XSL関数用)

xdofx文とXSL式は、同一のコンテキストでは混在できません。たとえば、FIRST_NAMEとLAST_NAMEという2つの要素があり、30文字のフィールドに連結してフィールド内の右側に「x」の文字を埋め込むとします。次のものは使用できません。

不適切:

<?xdofx:rpad(concat(FIRST_NAME,LAST_NAME),30, 'x')?>

連結がXSL式であるためです。かわりに、次の構文を使用できます。

適切:

<?xdofx:rpad(FIRST_NAME||LAST_NAME),30,'x')?>

表B-1に、サポートされている関数を示します。

表B-1 サポートされている関数

SQL文またはXSL式

使用方法

説明

2+3

<?xdofx:2+3?>

加算

2-3

<?xdofx:2-3?>

減算

2*3

<?xdofx:2*3?>

乗算

2 div 3

<?xdofx:2 div 3?>

除算

2**3

<?xdofx:2**3?>

指数

3||2

<?xdofx:3||2?>

連結

sdiv()

<?xdoxslt:sdiv(num1,num2, string)?>

安全な除算関数は、関数の結果が数値でない場合に、指定された値を返します(NaN)。ここに示す構文のnum1は被除数で、num2は除数、stringはNaNが返された場合に戻す値です。

例:

<?xdoxslt:sdiv(10,0, '0')?>は0を返します。

<?xdoxslt:sdiv(10,0, 'None')?>はNoneを返します。

lpad('aaa',10,'.')

<?xdofx:lpad('aaa',10,'.')?>

lpad関数は、文字列の左側を一連の特定の文字で埋めます。lpad関数の構文はlpad(string1,padded_length,[pad_string])です。string1は、(その左側の)文字を埋める文字列です。padded_lengthは、戻される文字数です。pad_stringは、string1の左側を埋める文字列です。

rpad('aaa',10,'.')

<?xdofx:rpad('aaa',10,'.')?>

rpad関数は、文字列の右側を一連の特定の文字で埋めます。rpad関数の構文はrpad(string1,padded_length,[pad_string])です。string1は、(その右側の)文字を埋める文字列です。padded_lengthは、戻される文字数です。pad_stringは、string1の右側を埋める文字列です。

trim()

<?xdoxslt:trim(' a ')?>

文字列の中の空白を削除します。切捨て対象となるテキストを入力し、切捨て処理されたテキストが戻されます。

ltrim()

<?xdoxslt:ltrim(' a ')?>

文字列の先頭にある空白を削除します。

rtrim()

<?xdoxslt:rtrim(' a ')?>

文字列の末尾にある空白を削除します。

truncate

<?xdoxslt:truncate ( number [, integer ] )?>

truncate関数は、numberを切捨て処理し、小数点第integer位までの桁数が戻されます。integerを省略すると、numberは整数値に切り捨てられます。integerに負数を指定すると、小数点の左側(整数部)の指定桁位置で切捨て処理できます。integerには整数を指定する必要があります。例:<?xdoxslt:truncate(-2.3333)?>の戻り値:-2例:<?xdoxslt:truncate(2.7777, 2)?>の戻り値:2.77例:<?xdoxslt:truncate(27.7777, -1)?>の戻り値:20

replicate

<?xdoxslt:replicate('string', integer)?>

replicate関数は、指定された文字列を指定された回数だけレプリケートします。例: <?xdoxslt:replicate('oracle', 3)?>の戻り値: oracleoracleoracle

decode('xxx','bbb','ccc','xxx','ddd')

<?xdofx:decode('xxx','bbb','ccc','xxx','ddd')?>

decode関数には、IF-THEN-ELSE文の機能があります。decode関数の構文はdecode(expression, search, result [,search, result]...[, default])です。expressionは比較対象の値です。searchは、expressionに対して比較される値です。resultは、expressionがsearchと等しい場合に戻される値です。一致が見つからない場合はdefaultが戻されます。

Instr('abcabcabc','a',2)

<?xdofx:Instr('abcabcabc','a',2)?>

instr関数は、文字列内の部分文字列の位置を戻します。instr関数の構文はinstr(string1,string2,[start_position],[nth_appearance])です。string1は検索対象の文字列です。string2は、string1内で検索される部分文字列です。start_positionは、string1内の検索開始位置です。文字列の最初の位置は1です。start_positionがマイナスの場合は、string1の最後から逆にstart_positionの文字数が数えられ、string1の先頭方向に検索されます。nth appearanceは、string2のn番目の出現を表します。

substr('abcdefg',2,3)

<?xdofx:substr('abcdefg',2,3)?>

substr関数を使用すると、文字列から部分文字列を抽出できます。substr関数の構文はsubstr(string, start_position, length)です。stringはソース文字列です。start_positionは抽出開始位置です。文字列の最初の位置は常に1です。lengthは抽出文字数です。

left

<?xdoxslt:left('abcdefg', 3)?>

指定された文字数の文字列を文字列の左側から抽出できます。構文は、left(string, Numchars)です。例: <?xdoxslt:left('abcdefg', 3)?>の戻り値: abc

right

<?xdoxslt:right('abcdefg', 3)?>

指定された文字数の文字列を文字列の右側から抽出できます。構文は、right(string, Numchars)です。例: <?xdoxslt:right('abcdefg', 3)?>の戻り値: efg

replace(name,'John','Jon')

<?xdofx:replace(name,'John','Jon')?>

replace関数は、文字列内の一続きの文字を別の一連の文字で置換します。replace関数の構文はreplace(string1,string_to_replace,[replacement_string])です。string1は、その中の一続きの文字が別の一連の文字で置換される文字列です。string_to_replaceは、string1内で検索される文字列です。replacement_stringはオプションです。string1内のすべてのstring_to_replaceがreplacement_stringで置換されます。

to_number('12345')

<?xdofx:to_number('12345')?>

to_number関数は、オプションの書式モデルfmtによって指定された書式で数字が格納されているchar、CHAR、VARCHAR2、NCHARまたはNVARCHAR2データ型の値をNUMBERデータ型の値に変換します。

format_number

<?xdoxslt:format_number(12345, n, $_XDOLOCALE)?>

数値を文字列に変換し、$_XDOLOCALEで指定されたロケールおよびnで指定された小数部の桁数に従い、Javaのデフォルト記号を使用して数値を書式設定します。例: <?xdoxslt:format_number(-12345, 2, 'fr-FR')?>の戻り値: -12 345,00

format_number

<?xdoxslt:format_number(12345, n, s1, s2,$_XDOLOCALE)?>

数値を文字列に変換し、指定されたセパレータを使用します。s1は3桁のセパレータ、s2は小数点のセパレータを示します。例:<?xdoxslt:format_number(12345, 2, 'g', 'd', $_XDOLOCALE)?>の戻り値:12g345d00

pat_format_number

<?xdoxslt:pat_format_number(12345, '##,##0.00', $_XDOLOCALE)?>

指定されたパターンで書式設定された数値を戻します。例: <?xdoxslt:pat_format_number(12345, '##,##0.00', $_XDOLOCALE)?>の戻り値: 12,345.00

to_char(12345)

<?xdofx:to_char('12345')?>

to_char関数を使用して、NUMBERデータ型の値をVARCHAR2データ型に変換します。

to_date

<?xdofx:to_date ( char [, fmt [, 'nlsparam']] )

to_dateは、CHAR、VARCHAR2、NCHARまたはNVARCHAR2データ型の文字をDATEデータ型の値に変換します。fmtはcharの書式を指定する日付書式です。fmtを省略すると、charはデフォルトの日付書式になります。fmtがユリウス暦を示す'J'の場合、charは整数になります。

format_date()

<?xdoxslt:format_date(./AnyDate,'yyyy-MM-dd','MM/dd/yyyy', $_XDOLOCALE, $_XDOTIMEZONE)?>

日付を特定の書式で読み取り、別の書式の日付を作成します。

sysdate()

<?xdofx:sysdate()?>

SYSDATEは、現在の日時をXMLの標準日付書式で返します(例: 1997-07-16T19:20:30.45+01:00)。戻り値のデータ型はDATEになります。この関数に引数を指定する必要はありません。レポート出力におけるsysdateの正しい書式設定の詳細は、第4.15.13項「レポートでのシステム日付(sysdate)の表示」を参照してください。

current_date()

<?xdoxslt:current_date($_XDOLOCALE, $_XDOTIMEZONE)?>例: <?xdoxslt:current_date('ja-JP', 'Asia/Tokyo')?>

指定されたロケールとタイムゾーンで現在の日付をyyyy-MM-dd形式で戻します。この関数はグレゴリオ暦のみをサポートします。

current_time()

<?xdoxslt:current_time($_XDOLOCALE, $_XDOTIMEZONE)?>例:<?xdoxslt:current_time('ja-JP', 'Asia/Tokyo')?>

指定されたロケールとタイムゾーンで現在の時刻を戻します。この関数はグレゴリオ暦のみをサポートします。

minimum

<?xdoxslt:minimum(ELEMENT_NAME)?>

セット内の要素の最小値を戻します。

date_diff

<?xdoxslt:date_diff('y', 'YYYY-MM-DD', 'YYYY-MM-DD', $_XDOLOCALE, $_XDOTIMEZONE)?>

この関数により、指定されたロケールで2つの日付値の差異を取得します。日付はyyyy-MM-dd形式にする必要があります。この関数はグレゴリオ暦のみをサポートします。構文は、<?xdoxslt:date_diff('format', 'YYYY-MM-DD', 'YYYY-MM-DD', $_XDOLOCALE, $_XDOTIMEZONE)?>です。formatは差異が計算される時間の値を示します。有効な値は次のとおりです。

- y - 年

- m - 月

- w - 週

- d - 日

- h - 時間

- mi - 分

- s - 秒

- ms - ミリ秒

例: <?xdoxslt:date_diff('y', '2000-04-08', '2001-05-01', $_XDOLOCALE, $_XDOTIMEZONE)?>

戻り値: 1

例: <?xdoxslt:date_diff('m', '2001-04-08', '2000-02-01', $_XDOLOCALE, $_XDOTIMEZONE)?>

戻り値: -14

例: <?xdoxslt:date_diff('d', '2006-04-08', '2006-04-01', $_XDOLOCALE, 'America/Los_Angeles')?>

戻り値: -7

sec_diff

<?xdoxslt:sec_diff('2000-04-08T20:00:00', '2000-04-08T21:00:00', $_XDOLOCALE, $_XDOTIMEZONE?>

この関数により、指定されたロケールで2つの日付値の差異を秒単位で取得します。日付はyyyy-MM-dd'T'HH:mm:ss形式で指定する必要があります。この関数はグレゴリオ暦のみをサポートします。例: <?xdoxslt:sec_diff('2000-04-08T20:00:00', '2000-04-08T21:00:00', $_XDOLOCALE, $_XDOTIMEZONE?>の戻り値: 3600

get_day

<?xdoxslt:get_day('2000-04-08', $_XDOLOCALE)?>

この関数により、指定されたロケールでyyyy-MM-dd形式の日付値における日の値を取得します。この関数はグレゴリオ暦のみをサポートします。例: <?xdoxslt:get_day('2000-04-08', $_XDOLOCALE)?>の戻り値: 8

get_month

<?xdoxslt:get_month('2000-04-08', $_XDOLOCALE)?>

この関数により、指定されたロケールでyyyy-MM-dd形式の日付値における月の値を取得します。この関数はグレゴリオ暦のみをサポートします。例: <?xdoxslt:get_month('2000-04-08', $_XDOLOCALE)?>の戻り値: 4

get_year

<?xdoxslt:get_year('2000-04-08', $_XDOLOCALE)?>

この関数により、指定されたロケールでyyyy-MM-dd形式の日付値における年の値を取得します。この関数はグレゴリオ暦のみをサポートします。例: <?xdoxslt:get_year('2000-04-08', $_XDOLOCALE)?>の戻り値: 2000

month_name

<?xdoxslt:month_name(1, 0, $_XDOLOCALE)?>

この関数により、指定されたロケールで月の名前を取得します。この関数はグレゴリオ暦のみをサポートします。この関数の構文は、<?xdoxslt:month_name(month, [abbreviate?], $_XDOLOCALE)?>です。monthはその月の数値です(1月は1など)。[abbreviate?]では、省略形でない形式で取得する場合は0、省略形で取得する場合は1を指定します。例: <?xdoxslt:month_name(12, 1, 'fr-FR')?>の戻り値: dec。例:<?xdoxslt:month_name(1, 0, $_XDOLOCALE)?>の戻り値:January

maximum

<?xdoxslt:maximum(ELEMENT_NAME)?>

セット内の要素の最大値を戻します。

abs

<?xdoxslt:abs(-123.45)?>

指定された数値の絶対値を戻します。例:<?xdoxslt:abs(-123.45)?>の戻り値:123.45

chr

<?xdofx:chr(n)?>

chrは、データベース・キャラクタ・セットまたは各国語キャラクタ・セットでnに相当するバイナリを持つキャラクタを戻します。

ceil

<?xdofx:ceil(n)?>

ceilは、n以上で最も小さい整数を戻します。

floor

<?xdofx:floor(n)?>

floorは、n以下で最も大きい整数を戻します。

round(SQL関数)

<?xdofx:round ( number [, integer ] )?>

ROUNDは、numberを、小数点以下第integer位に丸めて戻します。integerを省略すると、numberは小数点以下ゼロに丸められます。integerに負数を指定すると、小数点の左側(整数部)の指定桁位置で切捨て処理できます。integerには整数を指定する必要があります。例:<?xdofx:round (2.777)?>の戻り値:3例:<?xdofx:round (2.777, 2)?>の戻り値:2.78

round(XSLT関数)

<?xdoxslt:round ( number [, integer ] )?>

ROUNDは、numberを、小数点以下第integer位に丸めて戻します。integerを省略すると、numberは小数点以下ゼロに丸められます。integerに負数を指定すると、小数点の左側(整数部)の指定桁位置で切捨て処理できます。integerには整数を指定する必要があります。例:<?xdoxslt:round (2.777)?>の戻り値:3例:<?xdoxslt:round (2.777, 2)?>の戻り値:2.78

lower

<?xdofx:lower (char)?>

lowerは、charをすべて小文字で戻します。charには、CHAR、VARCHAR2、NCHAR、NVARCHAR2、CLOBまたはNCLOBのいずれかのデータ型を使用できます。戻り値はcharと同じデータ型になります。

upper

<?xdofx:upper(char)?>

upperは、charをすべて大文字で戻します。charには、CHAR、VARCHAR2、NCHAR、NVARCHAR2、CLOBまたはNCLOBのいずれかのデータ型を使用できます。戻り値はcharと同じデータ型になります。

length

<?xdofx:length(char)?>

length関数は、charの長さを戻します。lengthは、入力キャラクタ・セットによって定義されたキャラクタを使用して長さを計算します。

greatest

<?xdofx:greatest ( expr [, expr]... )?>

greatestは、exprのリストの最大を戻します。比較の前にexprの2番目以降すべてが1番目のexprのデータ型に暗黙的に変換されます。

least

<?xdofx:least ( expr [, expr]... )?>

leastは、exprのリストの最小を戻します。比較の前にexprの2番目以降すべてが1番目のexprのデータ型に暗黙的に変換されます。

next_element

<?xdoxslt:next_element(current-group(),.,'<element-name>')?>

現在のグループにおいて次の要素を取得します。element-nameの次にある要素を戻します。例: <?xdoxslt:next_element(current-group(),.,'employee')?>は、現在のグループ内でemployee直後にある要素を戻します。

prev_element

<?xdoxslt:prev_element(current-group(),..,'<element-name')?>

現在のグループにおいて前の要素を取得します。element-nameの前にある要素を戻します。例: <?xdoxslt:prev_element(current-group(),.,'employee')?>は、現在のグループ内でemployee直前にある要素を戻します。

set_array

<?xdoxslt:set_array($_XDOCTX, '<name of hash table>', n, '<value>')?>

ハッシュテーブルに値を設定します。構文は、<?xdoxslt:set_array($_XDOCTX, '<name of hash table>', n, '<value>')?>となります。$_XDOCTXにはコンテキストを設定する必要があります。<name of hash table>はテーブルに指定した名前にします。nはハッシュテーブルのインデックスです。<value>はハッシュテーブルで設定する値です。例: <?xdoxslt:set_array($_XDOCTX, 'Employee', 2, 'Jones')?> 次のget_arrayを参照してください。

get_array

<?xdoxslt:get_array($_XDOCTX, '<name of hash table>', n)?>

ハッシュテーブルの指定されたインデックスの値を戻します。構文は、<?xdoxslt:get_array($_XDOCTX, '<name of hash table>', n)?>となります。$_XDOCTXにはコンテキストを設定する必要があります。<name of hash table>はset_arrayでテーブルに指定した名前です。nは戻される要素のインデックス値です。たとえば、前述のset_array例を使用すると、<?xdoxslt:get_array($_XDOCTX, 'Employee', 2)?>の戻り値はJonesとなります。

表B-2に、サポートされている組合せ関数を示します。

表B-2 サポートされている組合せ関数

SQL文

使用方法

(2+3/4-6*7)/8

<?xdofx:(2+3/4-6*7)/8?>

lpad(substr('1234567890',5,3),10,'^')

<?xdofx:lpad(substr('1234567890',5,3),10,'^')?>

decode('a','b','c','d','e','1')||instr('321',1,1)

<?xdofx:decode('a','b','c','d','e','1')||instr('321',1,1)?>

B.1.1 数値から単語への変換

この関数を使用すると、RTFテンプレート出力を数値から単語へ変換できます。これは、小切手印刷における一般的な要件です。

この新しい関数はto_check_numberです。構文は次のとおりです。

<?xdofx:to_check_number(amount, precisionOrCurrency, caseType, decimalStyle)?>

表B-3に、この関数の属性の説明を示します。

表B-3 関数の属性

属性

説明

有効値

amount

変換する数値です。

任意の数値

precisionOrCurrency

この属性では、小数点以下の桁数を表す精度、または小数点以下の桁数を決定する通貨コードのいずれかを指定できます。通貨コードは、出力で通貨記号を生成しません。

2などの整数またはUSDなどの通貨コード

caseType

出力の大文字、小文字の種類です。

有効値:'CASE_UPPER','CASE_LOWER','CASE_INIT_CAP'

decimalStyle

小数部分の出力タイプです。

有効値:'DECIMAL_STYLE_FRACTION1', 'DECIMAL_STYLE_FRACTION2','DECIMAL_STYLE_WORD'

例B-4は、RTFテンプレートに入力される関数と、返される出力の例を示しています。

表B-4 RTFテンプレートに入力される関数

RTFテンプレートの入力

返される出力

<?xdofx:to_check_number(12345.67, 2)?>

Twelve thousand three hundred forty-five and 67/100

<?xdofx:to_check_number(12345.67, 'USD')?>

Twelve thousand three hundred forty-five and 67/100

<?xdofx:to_check_number(12345, 'JPY', 'CASE_UPPER')?>

TWELVE THOUSAND THREE HUNDRED FORTY-FIVE

<?xdofx:to_check_number(12345.67, 'EUR', 'CASE_LOWER', 'DECIMAL_STYLE_WORDS')?>

twelve thousand three hundred forty-five and sixty-seven

B.2 XSLの同等要素

表B-5に、BI Publisherの簡略化された構文をXSLの同等要素とともに示します。

表B-5 BI Publisherの構文およびXSLの同等要素

サポートされているXSL要素

説明

BI Publisherの構文

<xsl:value-of select= "name">

プレースホルダの構文。

<?name?>

<xsl:apply-templates select="name">

現行要素の子ノードにテンプレート・ルールを適用します。

<?apply:name?>

<xsl:copy-of select="name">

現行ノードのコピーを作成します。

<?copy-of:name?>

<xsl:call-template name="name">

現行のテンプレートに挿入/適用される名前付きテンプレートをコールします。

<?call:name?>

<xsl:sort select="name">

データセット内の要素に基づいてデータのグループをソートします。

<?sort:name?>

<xsl:for-each select="name">

表出力の生成に使用されるグループのデータ行をループします。

<?for-each:name?>

<xsl:choose>

複数条件テストを表すためにwhenおよびotherwiseとともに使用されます。

<?choose?>

<xsl:when test="exp">

複数条件テストを表すためにchooseおよびotherwiseとともに使用されます。

<?when:expression?>

<xsl:otherwise>

複数条件テストを表すためにchooseおよびwhenとともに使用されます。

<?otherwise?>

<xsl:if test="exp">

条件付き書式設定に使用されます。

<?if:expression?>

<xsl:template name="name">

テンプレートの宣言。

<?template:name?>

<xsl:variable name="name">

ローカル変数またはグローバル変数の宣言。

<?variable:name?>

<xsl:import href="url">

スタイルシートの内容を別のスタイルシートにインポートします。

<?import:url?>

<xsl:include href="url">

スタイルシートを別のスタイルシートに組み込みます。

<?include:url?>

<xsl:stylesheet xmlns:x="url">

スタイルシートのルート要素を定義します。

<?namespace:x=url?>

B.3 FO要素の使用

RTFテンプレートのMicrosoft Wordフォームの各フィールド内で、ほとんどのFO要素を使用できます。表B-6にリストされているFO要素は、BI PublisherのRTFテンプレートで使用できるように拡張されています。BI Publisherの構文は、いずれかのRTFテンプレート方式で使用できます。

BI PublisherでサポートされるFO要素の全リストは、付録の付録D「サポートされているXSL-FO要素」を参照してください。

表B-6 FO要素

FO要素

BI Publisherの構文

<fo:page-number-citation ref-id="id">

<?fo:page-number-citation:id?>

<fo:page-number>

<?fo:page-number?>

<fo:ANY NAME WITHOUT ATTRIBUTE>

<?fo:ANY NAME WITHOUT ATTRIBUTE?>

C アクセス可能レポートの設計

この付録では、障害のあるユーザー向けにレポート出力のアクセシビリティを向上するレポートの設計技術について説明します。アクセシビリティのサポートはHTML出力のみです。

この付録の内容は次のとおりです。

- 第C.1項「アクセシビリティの設計」

- 第C.2項「RTFテンプレートを使用したアクセス可能レポートの設計」

- 第C.3項「BI Publisherレイアウトを使用したアクセス可能レポートの設計」

C.1 アクセシビリティの設計

様々なユーザーが消費するコンテンツを作成する場合、障害を持つユーザーへのサポートを提供できるように設計する必要があります。このようなサポートは、世界中のいたる所で法的要件となっています。

異なる障害を持つ様々なユーザーが消費するコンテンツを設計する際に使用できる一般的なガイドラインがいくつかあります。これらのガイドラインは、BI Publisherやその他のアプリケーション用に作成するどのコンテンツにも適用されます。BI Publisherに固有の機能にも注意し、作成するコンテンツはアクセシビリティ要件を必ずサポートする必要があります。

この項には、アクセシビリティに対応した設計に関する次のトピックが含まれています。

- 一般的な情報の入手

- よくある誤解の回避

- アクセシブルなコンテンツに関する一般的なガイドラインの準拠

- Template Builderを使用したレポート・アクセシビリティの検証

C.1.1 一般的な情報の入手

IT産業におけるアクセシビリティに関する情報は、出版されている様々な書籍から得ることができます。このガイドでは、それらの情報を繰り返すつもりはありません。様々な規格や法律(特にWorld Wide Web Consortium(W3C)や米国リハビリテーション法第508条)がドキュメントになっています。

C.1.2 よくある誤解の回避

テクノロジとアクセシビリティについて特定の想定をしているデザイナが多くいます。よくある誤解には次のようなものがあります。

- HTMLのコンテンツは自動的にアクセシブルなコンテンツになります。

- アクセシブルなツールは自動的にアクセシブルなコンテンツを作成します。

- 自動化されたテスティング・ツールは、アクセシビリティを確実に判断できます。

これらの想定はいずれも正しくありません。開発者は、HTMLを使用してアクセシブルでないコンテンツを作成できます。アクセシブルなコンテンツを生成できるツールがデフォルトではそのように動作しない場合もあれば、既存のアクセシブルなコンテンツ内でアクセシビリティ機能を無効にするオプションを開発者が選択できる場合もあります。自動化されたテスティング・ツールは、必ずしもエンド・ユーザーが行うのと同じようにコンテンツと対話するわけではありません。その結果、ツールによってアクセシブルな要素をアクセシブルでないと誤ってレポートする可能性があります。したがって、アクセシビリティは、最終的にはコンテンツ・デザイナが責任を負います。コンテンツの作成時、デザイナはよく行われる特定の操作に注意し、コンテンツがすべてのユーザーにアクセシブルであるようにします。

C.1.3 アクセシブルなコンテンツに関する一般的なガイドラインの準拠

障害には様々なものがあるという事実および1人の人間が複数の障害を持っている場合があるという事実を常に考慮に入れてください。様々な障害の程度(様々な色覚異常のタイプなど)があるということにも注意する必要があります。設計の際、これらの可能性をすべて考慮に入れる必要があります。

この項では、設計の次の一般的な分野に関するガイドラインを示します。

- 色の選択

- 色のコントラスト

- フォントの選択

C.1.3.1 色の選択

色覚異常には、赤と緑(最も一般的な色覚異常)などのような一般的な2つの色の区別がつきにくいものから、灰色と黒の濃淡のみがわかる全色覚異常まで様々なタイプがあります。重要な情報の伝達に色のみを使用すると、特定のユーザーが関連するすべての情報に完全には気付かない可能性があります。視覚障害者は、色によって伝達される情報を代替テキストの形式で示される必要があることは言うまでもありません。

このことは、開発者にとって、重要な情報を色のみで示すコンテンツを作成するべきではありません。アクセシブルでないデザインの1つの例に、テキストを赤に色付けすることでのみ負の数値を表すことがあります。もう1つの例には、コンテキスト情報が色のみで示される(よい場合は緑、悪い場合は赤)信号形式のインジケータがあります。

C.1.3.1.1 テキストを使用した色の使用

同じ情報を表す別の方法が含まれている場合、デザインに色を使用することができます。たとえば、マイナス記号やカッコを使用して表やピボット表で負の数値を表すことができます。信号表示の場合、色以外に説明テキストや異なる形状のアイコンを追加できます。「ステータス: 良」などのテキストを含めることができます。よいを表す緑色の円、警告を表す黄色の三角、悪いを表す赤色の八角形を含めることができます。

C.1.3.2 色のコントラスト

同系色の微妙な濃淡を区別できない色覚異常もあるため、すべての画面要素の全体的な色彩設計では、色の対比を大きくする必要があります。色の明度のコントラスト比が最低でも4.5:1になるようにする必要があります。たとえば、薄い灰色の背景に濃い灰色のテキストを使用するのではなく、白い背景に黒のテキストを使用します。

支援のための次のWebサイトを活用できます:

- このサイトには、コントラストが適切なレベルかどうかをテストできるツールがあります。
http://www.paciellogroup.com/resources/contrast-analyser.html

- このサイトには、様々なタイプの色覚障害のユーザーにWebサイトがどのように見えるかを確認するためのツールがあります:
http://colorfilter.wickline.org/

C.1.3.3 フォントの選択

視力の弱いユーザーは、多くの場合、画面拡大ソフトウェアを使用して画面を読み易くします。使用するフォントは、アクセシビリティ・ツールで20倍に拡大されても判読可能である必要があります。フォントには、拡大すると適切に表示されないものと、適切に表示されるものがあります。たとえば、Tahomaフォントは適切に拡大されます。

C.1.4 Template Builderを使用したレポート・アクセシビリティの検証

Template Builder for Wordを使用して、アクセシビリティ機能を持つレポートの生成が可能なRTFテンプレートを作成します。また、Template Builderではアクセシビリティ・チェッカーが提供され、レポートを表示するためにアシスティブ・テクノロジが必要なレポート利用者のためにレポートのアクセシビリティを向上させる機能のテンプレートを確認できます。

詳細は、第5.6.4項「アクセシビリティの確認」を参照してください。

C.2 RTFテンプレートを使用したアクセス可能レポートの設計

この項では、RTFテンプレートを使用してレポートを設計するための次の技術について説明します。アクセシビリティのサポートはHTML出力のみです。

- 表のネストまたは分離の回避

- ドキュメント・タイトルの定義

- イメージの代替テキストの定義

- 表サマリーの定義

- 表の列ヘッダーの定義

- 表の行ヘッダーの定義

- サポートされている表のサンプル

- チャートの表への変換

C.2.1 表のネストまたは分離の回避

レポートで、ネストされた表の使用を避けます。複雑なレポートの場合、複雑な表から単純で直接的な表への分解について検討してください。

図C-1は単純な表を示しています。

図C-1 単純な表

図C-2は、ネストされた表の例です。表のセルの内部に表が挿入されています。

図C-2 ネストされた表

C.2.1.1 例

次の例は、BI Publisherでアクセシビリティがサポートされている表構造とサポートされていない表構造を示しています。

C.2.1.1.1 ネストされた表

BI Publisherでは、図C-3に示すように、ネストされた表がレポート内で使用されている場合、アクセシビリティがサポートされません。この例では、BI PublisherはC1R1dataがどの列データに属しているか判定できません。

図C-3 サポートされない表レイアウト: レポート内にネストされた表

図C-4のようにネストされた表を削除してください。

図C-4 サポートされる表レイアウト: ネストされた表の削除

C.2.1.2 表ヘッダーを表ボディから分離しない

図C-5に示す例は、ヘッダー、表ボディおよびアクセシビリティのフィールドが3つの異なる表に存在するためサポートされません。

図C-5 サポートされない表レイアウト: ヘッダー、ボディおよびアクセシビリティのフィールドが複数の表に分離している場合

アクセシビリティがサポートされるには、図C-6に示すこれらの3つの表を1つに結合する必要があります。

図C-6 サポートされる表レイアウト: 1つに結合された3つの表

C.2.2 ドキュメント・タイトルの定義

ドキュメント・タイトルを定義できます。その手順は、Microsoft Wordのバージョンによって少々異なります。

Microsoft Word 2007でドキュメント・タイトルを定義または変更する手順は次のとおりです。

1. Officeボタンをクリックし、「配布準備」をクリックして、「プロパティ」をクリックします。

以前のバージョンのMicrosoft Wordでドキュメント・タイトルを定義または変更する手順は次のとおりです。

1. 「ファイル」メニューの「プロパティ」をクリックし、「ファイルの概要」タブをクリックします。

C.2.3 イメージの代替テキストの定義

テンプレート内のイメージに代替テキストを定義する手順は次のとおりです。

1. イメージを右クリックします。

2. メニュー上の「図の書式設定」をクリックします。

3. 「代替テキスト」タブで、alt:に続けて代替テキストを入力します。たとえば、次のように入力します。

alt:flower picture

注意:

2007より前のバージョンのWordでは、alt:text構文を「Web」タブで入力します。

C.2.4 表サマリーの定義

表サマリを追加するには、次のコマンドを挿入します。

<?table-summary: 'My Table Test '?>

これは、表の最初の列の最初の行に入力します。

C.2.5 表の列ヘッダーの定義

表の列ヘッダーを定義できます。その手順は、Microsoft Wordのバージョンによって少々異なります。

Word 2007で表の列ヘッダーを定義する手順は次のとおりです。

1. 見出しの1つ以上の行を選択します。この選択では、表の最初の行を含める必要があります。

2. 「デザイン」タブの「表スタイルのオプション」グループで、「タイトル行」を選択します。

3. 表を右クリックして「表のプロパティ」を選択します。

4. 「表のプロパティ」ダイアログで、「行」タブをクリックし、各ページの最上部で「各ページにタイトル行を表示する」を選択します。

以前のバージョンのWordで表の列ヘッダーを定義する手順は次のとおりです。

1. 見出しの1つ以上の行を選択します。この選択では、表の最初の行を含める必要があります。

2. 「罫線」メニューで「タイトル行の繰り返し」をクリックします。

C.2.6 表の行ヘッダーの定義

複数行ヘッダーを定義するには、次のBI Publisherコマンドを使用します。

<?acc-row-header:col_index?>

使用例:

<?acc-row-header:'1,2,4'?>  ==> column 1, 2 and 4 will be row-headers.

<?acc-row-header:'1,4'?>  ==> column 1 and 4 will be row-headers.

図C-7では、ACCフィールドに次のコードが定義されています。

ACC Field=<?table-summary:'My Table Test '?><?acc-row-header:'1,2'?>

これにより、最初の2つの列が行ヘッダーとして定義されます。

図C-7 行ヘッダーとされる最初の2つの列

C.2.7 サポートされている表のサンプル

図C-8、図C-9、図C-10および図C-11は、アクセシビリティがサポートされる表の例を示しています。

図C-8 サポートされる表: 2つの列ヘッダーと行ヘッダー

図C-9 サポートされる表: グループごとの合計

図C-10 サポートされる表: 分離された行ヘッダーと共通の列ヘッダー

図C-11 サポートされる表: 分離された行ヘッダーと個別の列ヘッダー

C.2.8 チャートの表への変換

チャートやゲージは、視覚障害を持つユーザーでは読み取ることができません。視覚障害を持つユーザーがアクセス可能なレポート出力を作成するために、図C-12のように、データをまとめる表またはクロス集計を表内に作成します。理想として、データは、チャート内のデータと同じレベルでまとめるようにします。適切にまとめられていない詳細データを大きな表で提供することは避けてください。

図C-12 チャートの表への変換

C.3 BI Publisherレイアウトを使用したアクセス可能レポートの設計

この項では、BI Publisherレイアウト・エディタを使用してアクセス可能レポートを設計するための次の技術について説明します。

- ドキュメント・タイトルの定義

- イメージの代替テキストの定義

- サマリー表のテキストの定義

- 表の行ヘッダーの定義

- テキストのヘッダー・レベルの定義

C.3.1 ドキュメント・タイトルの定義

レポート・レイアウトの保存と同時にレポートのタイトルを定義します。レポートの名前は後で変更することもできます。

C.3.2 イメージの代替テキストの定義

イメージの代替テキストを定義することで、アクセシビリティ・モードでの説明が可能になります。

イメージの代替テキストを定義するには:

1. チャートなどのイメージを選択します。

2. 「プロパティ」ペインで「その他」を開きます。

3. 「代替テキスト」プロパティで、図C-13に示すようにイメージの代替テキストを入力します。

図C-13 イメージの代替テキスト

C.3.3 サマリー表のテキストの定義

レポート内の表について説明するテキスト・サマリーを定義できます。

サマリー表のテキストを定義するには:

1. 表を選択します。

2. 「プロパティ」ペインで「その他」を開きます。

3. 「サマリー」プロパティで、図C-14に示すように表のサマリー・テキストを入力します。

図C-14 サマリー表のテキスト

C.3.4 表の行ヘッダーの定義

表の行ヘッダーは、表内の各行の概要を示します。レイアウト・エディタにより、挿入されたすべての表に表の行ヘッダーが自動的に追加されます。これ以外のアクションは必要ありません。

C.3.5 テキストのヘッダー・レベルの定義

テキストのヘッダー・レベルを定義することによって、レポート内の構造を指定できます。

テキストのヘッダー・レベルを定義するには:

1. テキスト項目を選択します。

2. 「プロパティ」ペインで「その他」を開きます。

3. 「ヘッダー・レベル」プロパティで、図C-15に示すように1から6までの値を選択します。

図C-15 テキストのヘッダー・レベル

D サポートされているXSL-FO要素

この付録では、RTFテンプレート内のBI PublisherでサポートされるXSL-FO要素をリストします。

- 第D.1項「サポートされているXSL-FO要素」

D.1 サポートされているXSL-FO要素

表D-1は、このリリースでサポートされるXSL-FO要素をリストしています。要素ごとに、サポートされるコンテンツ要素および属性をリストしています。要素に共有されるサポート属性が含まれる場合、これらの属性はグループとして記しており、後続のプロパティ・グループの表にリストしています。たとえば、複数の要素でコンテンツ要素inlineを共有しています。毎回inlineプロパティをリストするのではなく、各エントリにおいてinline-propertiesがサポートされていることを記しています。inline-propertiesのリストはプロパティ・グループの表に示しています。

表D-1 サポートされているXSL-FO要素

要素

サポートされているコンテンツ要素

サポートされている属性

basic-link

external-graphic

inline

leader

page-number

page-number-citation

basic-link

block

block-container

table

list-block

wrapper

marker

retrieve-marker

inline-properties

external-destination

internal-destination

bidi-override

bidi-override

external-graphic

instream-foreign-object

inline

leader

page-number

page-number-citation

basic-link

inline-properties

block

external-graphic

inline

page-number

page-number-citation

basic-link

block

block-container

table

list-block

wrapper

block-properties

block-container

block

block-container

table

list-block

wrapper

block-properties

bookmark-tree

bookmark

該当なし

bookmark

bookmark

bookmark-title

external-destination

internal-destination

starting-state

bookmark-title

該当なし

color

font-style

font-weight

conditional-page-master-reference

該当なし

master-reference page-position

- first

- last

- rest

- any

- inherit

odd-or-even

- odd

- even

- any

- inherit

blank-or-not-blank

- blank

- not-blank

- any

- inherit

external-graphic

該当なし

graphic-properties

src

flow

block

block-container

table

list-block

wrapper

flow-properties

inline

external-graphic

inline

leader

page-number

page-number-citation

basic-link

block

block-container

table

wrapper

inline-properties

instream-foreign-object

該当なし

graphic-properties

layout-master-set

page-sequence-master

simple-page-master

simple-page-master

page-sequence-master

該当なし

leader

該当なし

inline-properties

list-block

list-item

block-properties

list-item

list-item-label

list-item-body

block-properties

list-item-body

block

block-container

table

list-block

wrapper

block-properties

list-item-label

blockblock-containertablelist-blockwrapper

block-properties

page-number

該当なし

empty-inline-properties

page-number-citation

該当なし

empty-inline-properties

ref-id

page-sequence

static-content

flow

inheritable-properties

id

master-reference

initial-page-number

- auto

- <page-number>

force-page-count

- auto

- end-on-even

- end-on-odd

- end-on-even-layout

- end-on-odd-layout

- no-force

- inherit

format

page-sequence-master

single-page-master-reference

repeatable-page-master-reference

repeatable-page-master-alternatives

master-name

region-after

該当なし

side-region-properties

region-before

該当なし

side-region-properties

region-body

該当なし

region-properties

margin-properties-CSS

column-count

region-end

該当なし

side-region-properties

region-start

該当なし

side-region-properties

repeatable-page-master-alternatives

conditional-page-master-reference

maximum-repeats

repeatable-page-master-reference

該当なし

master-reference

maximum-repeats

ルート

bookmark-tree

layout-master-set

page-sequence

inheritable-properties

simple-page-master

region-body

region-before

region-after

region-start

region-end

margin-properties-CSS

master-name

page-height

page-width

reference-orientation

- 0

- 90

- 180

- 270

- -90

- -180

- -270

- 0deg

- 90deg

- 180deg

- 270deg

- -90deg

- -180deg

- -270deg

- inherit

writing-mode

- lr-tb

single-page-master-reference

該当なし

master-reference

static-content

block

block-container

table

wrapper

flow-properties

table

table-column

table-header

table-footer

table-body

block-properties

table-body

table-row

inheritable-properties

id

table-cell

block

block-container

table

list-block

wrapper

block-properties

number-columns-spanned

number-rows-spanned

table-column

該当なし

inheritable-properties

column-number

column-width

number-columns-repeated

table-footer

table-row

inheritable-properties

id

table-header

table-row

inheritable-properties

id

table-row

table-cell

inheritable-properties

id

wrapper

inline

page-number

page-number-citation

basic-link

block

block-container

table

wrapper

inheritable-properties

id

D.1.1 プロパティ・グループ表

表D-2は、表D-1で定義された属性グループに属するサポート対象のプロパティをリストしています。

表D-2 属性グループのサポート対象プロパティ

プロパティ・グループ

プロパティ

area-properties

clip

overflow(visible、hidden)

reference-orientation

- 0

- 90

- 180

- 270

- -90

- -180

- -270

- 0deg

- 90deg

- 180deg

- 270deg

- -90deg

- -180deg

- -270deg

- inherit

writing-mode(lr-tb、rl-tb、lr、rl)

baseline-shift(baseline、sub、super)

vertical-align

block-properties

inheritable-properties

id

border-padding-background-properties

background-color

background-image

background-position-vertical

background-position-horizontal

border

border-after-color

border-after-style(none、dotted、dashed、solid、double)

border-after-width

border-before-color

border-before-style (none, solid)

border-before-width

border-bottom

border-bottom-color

border-bottom-style(none、dotted、dashed、solid、double)

border-bottom-width

border-color

border-end-color

border-end-style(none、dotted、dashed、solid、double)

border-end-width

border-left

border-left-color

border-left-style(none、dotted、dashed、solid、double)

border-left-width

border-right

border-right-color

border-right-style(none、dotted、dashed、solid、double)

border-right-width

border-start-color

border-start-style(none、dotted、dashed、solid、double)

border-start-width

border-top

border-top-color

border-top-style(none、dotted、dashed、solid、double)

border-top-width

border-width

padding

padding-after

padding-before

padding-bottom

padding-end

padding-left

padding-right

padding-start

padding-top

box-size-properties

height

width

character-properties

font-properties

text-decoration

empty-inline-properties

character-properties

border-padding-background-properties

id

color

flow-properties

inheritable-properties

id

flow-name

font-properties

font-family

font-size

font-style(normal、italic、oblique)

font-weight(normal、bold)

table-omit-header-at-break(TRUE、FALSE、inherit)

table-omit-footer-at-break(TRUE、FALSE、inherit)

graphic-properties

border-padding-background-properties

margin-properties-inline

box-size-properties

font-properties

keeps-and-breaks-properties-atomic

id

inheritable-properties

border-padding-background-properties

box-size-properties

margin-properties-inline

area-properties

character-properties

line-related-properties

leader-properties

keeps-and-breaks-properties-block

color absolute-position

- auto

- absolute

- fixed

- inherit

inline-properties

inheritable-propertiesid

keeps-and-breaks-properties-atomic

break-after(auto、column、page)

break-before(auto、column)

keep-with-next

keep-with-next.within-page

keeps-and-breaks-properties-block

keeps-and-breaks-properties-inline

keeps-and-breaks-properties-inline

keeps-and-breaks-properties-atomic

keep-together

keep-together.within-line

keep-together.within-column

keep-together.within-page

leader-properties

leader-pattern(rule、dots)

leader-length

leader-length.optimum(dotted、dashed、solid、double)

rule-thickness

line-related-properties

text-align(start、center、end、justify、left、right、inherit)

text-align-last(start、center、end、justify、left、right、inherit)

text-indent

linefeed-treatment(ignore、preserve、treat-as-space、treat-as-zero-width-space、inherit)

white-space-treatment(ignore、preserve、ignore-if-before-linefeed、ignore-if-after-linefeed、ignore-if-surrounding-linefeed、inherit)

white-space-collapse(FALSE、TRUE、inherit)

wrap-option(no-wrap、wrap、inherit)

direction(ltr)

margin-properties-block

margin-properties-CSS

space-after

space-after.optimum

space-before

space-before.optimum

start-indent

end-indent

margin-properties-CSS

margin

margin-bottom

margin-left

margin-right

margin-top

margin-properties-inline

margin-properties-block

space-start

space-start.optimum

space-end

space-end.optimum

position

- static

- relative

- absolute

- fixed

- inherit

top

left

region-properties

border-padding-background-properties

area-properties

region-name

side-region-properties

region-properties

extent

E PDF/AおよびPDF/X出力の生成

この付録では、BI PublisherからPDF/AおよびPDF/X出力を生成する方法について説明します。

この章の内容は次のとおりです。

- 第E.1項「PDF/A出力の生成」

- 第E.2項「PDF/X出力の生成」

E.1 PDF/A出力の生成

PDF/AはPDFファイル形式の一種で、電子ドキュメントの長期保存向けに設計されています。一部の政府機関や標準化組織では、文書を確実に保存するためにPDF/Aの使用が要求されます。PDF/Aファイルは、Adobe ReaderなどのPDFビューアで表示できるPDFファイルですが、ISO標準で指定されている追加要件に従う必要があります。これらの要件では、必須オブジェクトと、長期アーカイブではサポートされていない機能の両方が指定されます。BI Publisherは、PDF/A標準のバリエーション、PDF/A-1bを生成します。

E.1.1 要件および制限事項

次の一覧は、PDF/A出力の生成に関する制限および要件を示しています。

- サポートされるテンプレート・タイプ: PDF/Aの生成は、RTF、FO、XPTおよびXSLのテンプレート・タイプでサポートされます。PDF/Aの生成時に、追加されるテンプレート要件はありません。

- フォント要件: デフォルトでは、テンプレート内のすべてのフォントは出力時にAlbanyフォントに置換されます。出力で異なるフォントを使用するには、レポートの構成でフォント・マッピングを指定します。JVMフォント・ディレクトリでAlbanyフォントを使用できず、フォント・マッピングを指定していない場合、出力は有効なPDF/Aファイルになりません。この場合、Helveticaフォントが使用されます。

- 次のPDF機能は、PDF/Aドキュメントではサポートされません。

- オーディオおよびビデオ・コンテンツすべて(Flash埋込みコンテンツを含む)

- 透過性(透明色は不透明なものとしてレンダリングされます)

- 暗号化

- BI Publisherユーティリティによる再処理はサポートされません。BI PublisherユーティリティPDFBookBinder、PDFDocMergerまたはPDFSignature (デジタル署名)を使用したPDF/Aファイルの再処理はサポートされません。再処理されたPDFファイルは、PDF/A標準への適合性が失われる可能性があります。

- 必須レポート構成プロパティ: レポートの実行時プロパティは、表E-1に示すとおりに設定する必要があります。

表E-1 PDF/Aの必須レポート・プロパティ設定

プロパティ

必須設定

pdf-version

1.4以降である必要があります。

PDFセキュリティ有効化

(pdf-security)

Falseに設定する必要があります。

暗号化レベル

(pdf-encryption-level)

0に設定する必要があります。

pdf-font-embedding

Trueに設定する必要があります。

PDF/A出力固有の書式設定プロパティは、「レポート・プロパティ」ダイアログで設定できます。詳細は、第10.5項「PDF/A出力プロパティ」を参照してください。

E.1.2 追加リソース

PDF/A標準の詳細は、次のリソースを参照してください。

- http://www.adobe.com/enterprise/standards/pdfa/

- ISO 190005-1 ドキュメント管理 — 長期保存のための電子ドキュメント・ファイル形式: パート1: PDF 1.4の使用(PDF/A-1); Addendum Cor 1:2007

E.2 PDF/X出力の生成

PDF/Xは、PDFの使用によるデジタル・グラフィック・データの交換方法を定義したISO標準のコレクションで、プロフェッショナルな印刷環境において予測可能で安定した印刷を保証します。PDF/Xドキュメントは、Adobe ReaderなどのPDFリーダーで表示できるPDFファイルですが、ISO仕様で定義されている一連の追加ルールに従う必要があります。これらのルールでは、必須オブジェクトと、グラフィック交換ではサポートされていない機能の両方が指定されます。PDF/X標準は、色管理に関して厳密なルールに従っています。BI Publisherは、PDF/X標準のバリエーション、PDF/X-1a:2003をサポートします。

E.2.1 前提条件

PDF/X出力を生成するには、International Color Consortium (ICC)プロファイル・データファイルを取得し、このファイルを<bi publisher repository>/Admin/Configurationの下に置く必要があります。

ICCプロファイルは、想定される出力デバイスの色特性を記述したバイナリ・ファイルです。本番環境では、カラー・プロファイルは、生成されたPDF/Xファイルを印刷する印刷会社により提供されます。ICCプロファイル・データ・ファイルの例として、CoatedFOGRA27.iccなどがあります。

プロファイルはAdobe(http://www.adobe.com/support)またはcolormanagement.org (http://www.colormanagement.org/)から入手することもできます。

E.2.2 要件および制限事項

次の一覧は、PDF/X出力の生成に関する制限および要件を示しています。

- サポートされるテンプレート・タイプ: PDF/Xの生成は、RTF、FO、XPTおよびXSLのテンプレート・タイプでサポートされます。PDF/Xの生成時に、追加されるテンプレート要件はありません。

- 色要件: テンプレートの色データ(テキストの色、イメージおよびSVG)はRGBデータとして格納されますが、PDF/Xファイルの生成時に、色データは、ICCプロファイルを使用してCMYKに変換されます。ICCプロファイルはユーザーがBI Publisherに提供する必要があります。ICCプロファイルの指定には、「PDF/X ICCプロファイル・データ」プロパティを使用します。表E-2を参照してください。

- 次のPDF機能は、PDF/Xドキュメントではサポートされません。

- 透過性(透明色は不透明なものとしてレンダリングされます)

- 暗号化

- フォント要件: デフォルトでは、すべてのフォントがAlbanyフォントに置き換えられます。出力で異なるフォントを使用するには、レポートの構成でフォント・マッピングを指定します。JVMフォント・ディレクトリにAlbanyフォントがなく、フォント・マッピングを指定していない(つまり、使用できる埋込みフォントがない)場合、出力は有効なPDF/Xファイルにはなりません。この場合、Helveticaフォントが使用されます。

- BI Publisherユーティリティによる再処理はサポートされません。BI PublisherユーティリティPDFBookBinder、PDFDocMergerまたはPDFSignatureを使用したPDF/Xファイルの再処理はサポートされません。再処理後のファイルは通常のPDFファイルとなり、PDF/X標準への適合性が失われる可能性があります。

- 必須レポート構成プロパティ: レポートの実行時プロパティは、表E-2に示すとおりに設定する必要があります。

表E-2 PDF/Xの必須PDFレポート・プロパティ設定

プロパティ

必須設定

pdf-version

1.4より前である必要があります。

PDFセキュリティ有効化

(pdf-security)

Falseに設定する必要があります。

暗号化レベル

(pdf-encryption-level)

0に設定する必要があります。

pdf-font-embedding

Trueに設定する必要があります。

PDF/X出力固有の書式設定プロパティは、「レポート・プロパティ」ダイアログで設定できます。書式設定プロパティのうち、次の2つが必須です。

表E-3 PDF/Xの必須書式設定プロパティ設定

プロパティ

説明

有効な値

デフォルト値

PDF/X ICCプロファイル・データ

<BI Publisher repository>/Admin/Configurationの下に配置されたICCプロファイル・データ・ファイルの名前です。

ICCプロファイル・データ・ファイル名(CoatedFOGRA27.iccなど)

なし

PDF/X出力条件識別子

ICCに登録された標準印刷条件のいずれか1つの名前です。PDF/X-1aで使用する標準のCMYK印刷条件のリストは、次のICC Webサイトで提供されています: http://www.color.org/chardata/drsection1.xalter。

有効な参照名(FOGRA43など)

なし

詳細は、第10.6項「PDF/X出力プロパティ」を参照してください。

E.2.3 追加リソース

PDF/X標準の詳細は、次のリソースを参照してください。

- PDF/X標準のアプリケーション・ノート

- ISO 15930-4:2003グラフィック・テクノロジ -- PDFを使用したプリプレス・デジタル・データ交換 -- パート4: PDF 1.4を使用したCMYKおよびスポット・カラー印刷データの完全交換(PDF/X-1a)

F PDFバージョンのサポート

この章では、BI PublisherのPDF1.7仕様のサポートをその処理ユーティリティで行うことについて説明します。

この章の内容は、次のとおりです。

- 第F.1項「PDFバージョンのサポートについて」

- 第F.2項「サポートされているユーティリティ」

- 第F.3項「制限事項」

F.1 PDFバージョンのサポートについて

BI Publisherの11.1.1.7より前のバージョンでは、PDFユーティリティにより、すべてのPDF入力ドキュメントがPDFバージョン1.4であることを要求されました。11.1.1.7リリース以降は、ユーザーにより、より新しいバージョンのPDFドキュメントをBI PublisherのPDFユーティリティに渡すことができます。

BI Publisherにより、入力PDFバージョンに基づいて出力PDFバージョンを次のように生成します。

- PDFバージョン1.4以前ではPDF 1.4を生成します。

- PDFバージョン1.5以降では、入力バージョンと同じ出力バージョンを生成します。

注意:

ここでのバージョン仕様はPDF 1.7と呼びますが、PDF 1.7とISO 32000-1との間にはほとんど違いはありません。したがって、BI PublisherによるPDF 1.7のサポートは、ISO 32000-1もサポートしているとみなすことができます。

この規格の詳細は、次のAdobe社のWebサイトを参照してください。

http://www.adobe.com/devnet/pdf/pdf_reference.html

また、International Organization for Standardization(国際標準化機構)のWebサイトを次に示します。

http://www.iso.org/iso/home.html.

F.2 サポートされているユーティリティ

PDF 1.7をサポートするBI Publisherユーティリティを次に示します。

- FormProcessor: PDFテンプレートとXMLデータをマージして、PDFドキュメント出力を生成します。

- PDFDocMerger: ドキュメントのマージ、ページ番号の追加および透かしの設定など、PDFファイルのオプションの処理機能を提供します。

- PDFSignature: 署名されていないPDFドキュメントを署名フィールド名とパスワードで保護されたPFX(Personal Information Exchange)ファイルで処理して、署名済PDFドキュメントを作成します。

F.3 制限事項

この項では、BI PublisherによるPDF 1.7標準のサポートの制限事項について説明します。含まれる内容は、次のとおりです。

- すべてのPDFユーティリティに適用される制限事項

- FormProcessorの制限事項

- PDFDocMergerおよびPDFBookBinderの制限事項

- PDFSignatureの制限事項

F.3.1 すべてのPDFユーティリティに適用される制限事項

BI PublisherのすべてのPDFユーティリティに適用される制限事項を次に示します。

- セキュアなPDFドキュメントは、BI PublisherのどのPDFユーティリティへの入力としても使用できません。

- BI Publisherで生成されたPDFドキュメントでは、ほとんどのアクセシビリティ機能をサポートしません。

- Unicodeパスワードはサポートされません。

- PDFユーティリティは、プレゼンテーション(スライド・ショー)として書式設定された3-Dアートワークおよび入力PDFドキュメントを含む入力PDFに対して適切に動作しない可能性があります。

F.3.2 FormProcessorの制限事項

FormProcessorユーティリティに適用される制限事項を次に示します。

- XFAフォーム(Adobe社のXML Forms Architecture)はサポートされません。

- ポータブル・コレクション(ポートフォリオ)はサポートされません。

- タグ付けされたPDFドキュメントのタグは処理後に消失します。

F.3.3 PDFDocMergerおよびPDFBookBinderの制限事項

PDFDocMergerおよびPDFBookBinderのユーティリティに適用される制限事項を次に示します。

- 出力PDFドキュメントのバージョンは、最初の入力PDFドキュメントに基づいて決定されます。

- XFAフォーム(Adobe社のXML Forms Architecture)はサポートされません。

- ポータブル・コレクション(ポートフォリオ)はサポートされません。

- タグ付けされたPDFドキュメントのタグはマージ後に消失します。

- 次のオブジェクトは出力に保存されていますが、ナビゲーション・パネルでは、最初の入力PDFドキュメントに含まれるオブジェクトのみが表示されます。

- ブックマーク

- 添付ファイル

- レイヤー

- 印刷の特性(用紙の選択、処理、ページ範囲、コピー、スケーリングなど)

F.3.4 PDFSignatureの制限事項

PDFSignatureユーティリティに適用される制限事項を次に示します。

- オブジェクト署名はサポートされません。

- 埋込みファイルの選択的暗号化はサポートされません。

- AES(Advanced Encryption Standard)はサポートされません。

- PDFSignatureは、PDF 1.7仕様の第1.2.5項で説明されているデジタル署名の制約および証明書の制約に対して適切に動作しない可能性があります。PDF 1.7仕様の詳細は、Adobe社のWebサイトを参照してください。
http://www.adobe.com/devnet/pdf/pdf_reference.html

G カスタマイズ機能の使用

この付録では、BI PublisherをOracle BI Enterprise Editionと統合する場合に、レポートに使用可能なカスタマイズ機能の使用方法を説明します。

この付録の内容は次のとおりです。

- 第G.1項「レポートのカスタマイズについて」

- 第G.2項「カスタマイズ機能の前提条件および制限事項」

- 第G.3項「カスタマイズ機能の使用」

- 第G.4項「カスタマイズ機能の使用時の考慮事項」

G.1 レポートのカスタマイズについて

多くのOracle製品は、BI Publisherと統合されて、その製品に必要なレポート機能を提供しています。また、多くの製品には、事前パッケージ済のレポートが用意されています。事前パッケージ済のレポートをカスタマイズするには、次の3つのオプションがあります。

- 元のレポートのカスタマイズ
Oracle製品で提供されている元のレポートは変更しないことを強くお薦めします。これは、元のレポートを更新するパッチをOracleで提供するときに、すべての変更が上書きされるためです。元のレポートを変更する場合は、パッチで元のレポートが更新されたときにレポートの変更を再適用する必要があります。

- コピーしたレポートのカスタマイズ
カスタマイズが上書きされるリスクを回避するために、レポートのコピーを作成し、そのコピーをカスタマイズする方法もあります。このオプションでは、アプリケーションまたはプロセス(Oracle Enterprise Schedulerなど)で元のレポートをコールするかどうかも考慮する必要があります。通常、これらのプロセスはレポートのカタログ・パスでコード化されているため、カスタム・レポートを実行できるようにするには、カタログ内のレポートのカスタマイズされたコピーをポイントするように、コール元のアプリケーション・コードに追加のカスタマイズを加える必要があります。

- カスタマイズ機能の使用
事前パッケージ済アプリケーション・レポートのカスタマイズを支援するために、BI Publisherでは「カスタマイズ」機能が用意されています。レポートで「カスタマイズ」オプションを選択すると、BI Publisherでは「カスタム」フォルダにレポートのコピーが作成されます。このカスタム・コピーは内部で元のレポートにリンクされます。レポートのカスタム・コピーをカスタマイズすることで、元のレポートはそのままにしておくことができます。ユーザーが元のレポートを実行するリクエストを開始すると、BI Publisherカタログから実行するか、アプリケーション・プロセスを通じて実行するかにかかわらず、BI Publisherは、カスタマイズ・バージョンを検出し、かわりとなるカスタム・バージョンを実行します。

カスタマイズ機能には次の利点があります。

- インプレース・カスタマイズの利便性によく似たカスタマイズ・プロセスが可能になります。BI Publisherでは、コピーおよびマッピングが自動作成されます。

- カスタム・レポートを実行するように、コール元のプロセスまたはアプリケーションを編集する必要がなくなります。コピーがカスタマイズされますが、BI Publisherは、元のレポートを実行するリクエストをすべて、代わりとなるカスタム・コピーに自動送信します。

- 事前パッケージ済のOracleレポートのカスタマイズをパッチで上書きするリスクがなくなります。

G.2 カスタマイズ機能の前提条件および制限事項

この機能の前提条件および制限事項を次に示します。

G.2.1 前提条件

レポートのカスタマイズ・オプションを有効にするには、次の要件を満たす必要があります。

カタログの要件

- BI Publisherでは、Oracle BI Enterprise Editionとの共有カタログを使用する必要があります。

- 「カスタム」という名前のフォルダを「共有フォルダ」の直下に配置する必要があります。「カスタム」フォルダがアプリケーションによって生成されていない場合は、管理者が作成できます。管理者は、「カスタム」フォルダのBI作成者ロールに書込み権限を付与する必要があります。

- カスタマイズするレポートは、「共有フォルダ」の下のフォルダ階層に置く必要があります。「マイ・フォルダ」の下にあるレポートは、この機能を使用してカスタマイズすることはできません。

ユーザー要件

レポートをカスタマイズするユーザーの要件を次に示します。

- ユーザーには、BI作成者ロール(またはoracle.bi.publisher.developReport権限を含むロール)を付与する必要があります。

- ユーザーには、カタログ内の元のレポートに対する次の権限を付与する必要があります。

- 読取り

- Publisherレポートの実行

- ユーザーには、カタログ内の「カスタム」フォルダに対する次の権限を付与する必要があります。

- 読取り

- 書込み

- ユーザーには、同じデータ・モデルが使用されている場合に、元のレポートのデータ・モデルおよびデータソースへのアクセス権を付与する必要があります。

ユーザーが「カスタム」フォルダ内のレポートを表示するための要件を次に示します。

- ユーザーには、BIコンシューマ・ロールを付与する必要があります。

- ユーザーには、カタログ内の元のレポートに対する次の権限を付与する必要があります。

- 読取り

- Publisherレポートの実行

- ユーザーには、カタログ内の「カスタム」レポートに対する次の権限を付与する必要があります。

- 読取り

- Publisherレポートの実行

- ユーザーには、同じデータ・モデルが使用されている場合に、元のレポートのデータ・モデルおよびデータソースへのアクセス権を付与する必要があります。

G.2.2 制限事項

「カスタマイズ」レポート・オプションの制限事項を次に示します。

- 「カスタマイズ」オプションは、Oracle BI Enterprise Editionへのアクセスに使用される/analytics URL(例: http://hostname.com:7001/analytics)を介して使用することはできません。
/xmlpserver URL(例: http://hostname.com:7001/xmlpserver)を介してBI Publisherにアクセスし、「カスタマイズ」オプションを表示する必要があります。

- 「カスタマイズ」オプションはレポートでのみ使用できます。「カスタマイズ」オプションは、データ・モデル、スタイル・テンプレートまたはサブ・テンプレートでは使用できません。
データ・モデル、スタイル・テンプレートまたはサブ・テンプレートをカスタマイズし、それらをパッチ適用によって変更されないようにするには、前述の項で説明した第2の方法に従います。つまり、データ・モデル、スタイル・テンプレートまたはサブ・テンプレートのコピーを作成して、その名前を変更するか、またはそのコピーをカスタム・ディレクトリに配置します。どのレポートも、カスタマイズされたデータ・モデル、スタイル・テンプレートまたはサブ・テンプレートをポイントするように更新します。

- 元のレポートおよびフォルダ階層に適用されたセキュリティ付与は、「カスタム」フォルダに作成されたレポートにはコピーされません。「カスタム」フォルダの「カスタマイズ」機能で作成されたレポートおよびフォルダのセキュリティ設定は手動で適用する必要があります。権限の設定の詳細は、第G.3項「カスタマイズ機能の使用」を参照してください。

G.3 カスタマイズ機能の使用

自身の企業において、Shared Folders/Applications/Financialsの下にあるCustomer Ordersという名前のOracleパッケージ済レポートを使用しているとします。既存のアプリケーション・プロセスでは、このレポートをカタログ内のその現在の場所でポイントしています。この組織では、会社のロゴおよび色スキームを表示する当該レポートにカスタム・レイアウトを追加する必要があります。さらに、レポートをビジネス・プロセスの一部として実行するか、別々にスケジュール化したジョブとして実行するか、またはカタログから直接実行する場合はいつでも、アプリケーション・プロセスでカスタム・レイアウトを実行する必要があります。

カスタマイズ機能を使用するには:

1. /xmlpserver URLを介してBI Publisher Enterpriseにログインします。カタログ内で使用しているレポートに移動して、図G-1に示すように「カスタマイズ」をクリックします。

図G-1 タスクのカスタマイズオプション

BI Publisherは、同じフォルダ階層(Shared Folders/Custom/Applications/Financials)の下にある「カスタム」フォルダにレポートのコピーを作成し、そのレポートのコピーをレポート・エディタ内で開きます。

図G-2は、レポート・エディタ内のカスタム・レポートを示しています。レポート設計者にとってこのプロセスはシームレスです。ここでは、レポートのURLが「カスタム」フォルダ内のレポートを参照していることに注意してください。

図G-2 レポート・エディタで開いたカスタム・コピー

2. このレポートのカスタム・レイアウトを作成して、保存します。「リスト・ビュー」を使用して、レイアウトのプロパティをカスタマイズするか、このレポートのデフォルトとしてカスタム・レイアウトを有効化するか、または元のレイアウトを非アクティブ化して表示しないようにできます。レイアウト・プロパティの設定の詳細は、第2.7.3項「リスト・ビューを使用したレイアウト設定の構成」を参照してください。

3. セキュリティをカスタム・レポートに適用します。
BI Publisherでは、レポートのカスタム・コピーに同一のフォルダ階層が作成されるものの、カタログ権限は元のフォルダに存在し、レポートがカスタム・レポートまたはフォルダ階層にコピーされることはありません。カタログ権限を手動で再適用し、元のレポートと同様にカスタム・レポートを保護する必要があります。

カタログ権限をレポートに適用するには:

- /analytics URL(例: http:www.example.com:7001/analytics)を使用してOracle Business Intelligenceにログインし、Oracle Business Intelligenceインタフェースを使用します。

- 「カスタム」フォルダ内のオブジェクトで権限を設定するためには、適切な権限が付与される必要があります。通常、これには、「カスタム」フォルダでの「フル・コントロール」権限が付与されるロールが必要です。カタログ権限の設定の詳細は、『Oracle Fusion Middleware Oracle Business Intelligence Enterprise Editionユーザーズ・ガイド』のBIプレゼンテーション・カタログでのオブジェクトの管理に関する項を参照してください。

G.4 カスタマイズ機能の使用時の考慮事項

「カスタマイズ」リンクをクリックすると、レポートおよびフォルダ構造が「カスタム」フォルダにコピーされます。カスタム・レポートは、依然として元のデータ・モデルを参照しています。このデータ・モデルはコピーされません。カスタム・レポートが参照するデータ・モデルは元のデータ・モデルであるため、データ構造を変更した場合に、データ・モデルを更新するOracleパッチが、カスタム・レポートの実行に影響を与える可能性があります。

元のレポートを更新するOracleパッチを適用した場合は、カスタム・レポートはどのような方法においても更新されません。

レポートのカスタム・バージョンが存在する場合は、元のレポートでタスクを実行すると、次のような結果になります。

元のレポートで実行されるタスク

カスタム・レポートが存在する場合の動作

開く

カスタム・レポートを開きます。

スケジュール

カスタム・レポートのレポート・ジョブを作成します。

編集

カスタム・レポートを編集します。

削除

元のレポート(のみ)を削除します。

コピー

元のレポートをコピーします。

カット/ペースト

元のレポートをカット・アンド・ペーストします。

名前の変更

元のレポートの名前を変更します。カスタム・レポート名は変更されません。

ダウンロード

カスタム・レポートをダウンロードします。

カスタマイズ

カスタム・レポートを編集します。

「カスタム」フォルダ内のレポートにさらに編集を適用する場合は、次のいずれかを実行します。

- 元のレポートの「カスタマイズ」または「編集」オプションを選択します。このアクションにより、既存のカスタマイズ・レポートが開かれます。

- 「カスタム」フォルダ内のカスタム・レポートに移動して、「編集」を選択します。

「カスタム」フォルダの下にレポートへのパスと同じフォルダ・パスを手動で作成し、同じ名前のレポートを作成すると、BI Publisherは、その同じ名前のレポートをカスタマイズされたレポートとして処理し、このレポートを元のレポートのかわりに実行します。これは、「カスタマイズ」オプションを使用して作成した場合と同様の動作です。

元のレポートを削除した場合でも、カスタム・レポートは削除されません。カスタム・レポートを削除した場合でも、元のレポートは削除されません。

索引
A B C D E F G H I L M N O P R S T U V W X

A

アクセシビリティ

Template Builder使用のチェック, 5.6.4

設計, C.1

Adobe Flash

テンプレートの設計, 9.1

PDF出力に必要な設定, 9.1.2

整列

RTFテンプレート, 4.8.2

B

背景のサポート

RTFテンプレート, 4.8.6

バーコードの書式設定

カスタム, 4.17.2

バーコード

BI Publisherへの組込み, 4.17.1

双方向言語の整列

RTFテンプレート, 4.8.2

bodyタグ

RTFテンプレート, 4.5.3

しおり

RTFテンプレートからのPDFのしおりの生成, 4.9.7

RTFテンプレートへの挿入, 4.9.5

前からの繰越合計/次への繰越合計, 4.11.2

C

PDFレイアウトでの計算, 7.8

カレンダ・プロファイル・オプション, 4.16.1

カレンダの仕様, 4.16.1

セルの強調表示

RTFテンプレート内での条件, 4.10.7

チャート

RTFテンプレートでの作成, 4.6.5

チェック・ボックスのプレースホルダ

PDFレイアウトでの作成, 7.5.4

チェック・ボックスのサポート

RTFテンプレート, 4.9.8

CHOOSE文, 4.10.4.1 クリップアートのサポート, 4.7 列

表の固定幅, 4.8.3

条件付きの列

RTFテンプレート, 4.10.5

条件付き書式設定, 4.10

表の行, 4.10.6

条件付き書式設定機能, 4.10 構成プロパティ

レベルの優先順位, 10.1

接続

インタラクティブ・レポートの最大数の設定, 3.4.7

コンテキスト・コマンド, 4.18 複数タブ間のレポート, 4.14.3

D

RTFテンプレートの日付フィールド, 4.8.4

日付

Excelテンプレートの書式設定, 6.5

アクセシビリティに対応した設計, C.1 デジタル署名

PDFレイアウトへの署名フィールドの追加, 7.12

プロパティの設定, 10.4

描画サポート, 4.7 ドロップダウン・フォーム・フィールドのサポート

RTFテンプレート, 4.9.9

動的データ列, 4.14.4

例, 4.14.4.2

RTFテンプレートの動的な目次, 4.9.6

E

偶数ページでの終了, 4.9.4

eTextデータ表, 8.3

eTextテンプレート・コマンド行, 8.4

偶数ページ

レポート終了ページの強制, 4.9.4

Excelテンプレート

日付の書式設定, 6.5

F

ファイル・サイズ

削減の技術, A

Filler Block

eTextテンプレート, 8.7

固定幅の列

RTFテンプレート, 4.8.3

Flashテンプレート

構成プロパティ, 9.4

設計, 9.1

BI Publisherサーバーへのアップロード, 9.3

FO

サポート対象の要素, D.1

FO要素

RTFテンプレートでの使用, 4.21.1, B.3

フォント

外部, 4.17

マッピング, 10.17

設定, 4.17

フッター

RTFテンプレート, 4.5.1

for-each-group XSL 2.0標準, 4.12.3 フォーム・フィールド方式

プレースホルダの挿入, 4.3.1.2

PDFテンプレートのフォーム・フィールド・プロパティ・オプション, 7.5.3 PDFテンプレートのフォーム・フィールド, 7.4 PDFテンプレートの書式設定オプション, 7.5.3

G

グループ

基本RTF方式, 4.4.2

PDFレイアウトでの定義, 7.6

RTFテンプレートでの定義, 4.4

構文, 4.4

フォーム・フィールド方式, 4.4.3 RTFテンプレートのグループ化シナリオ, 4.4.1 RTFテンプレート内, 4.2.2

H

ヘッダーおよびフッター

先頭ページの個別定義, 4.5.4

奇数ページと偶数ページの個別定義, 4.5.4

プレースホルダの挿入, 4.5.2

複数, 4.5.3

1出力ファイル内のリセット, 4.14.1

RTFテンプレート, 4.5.1

非表示テキスト

RTFテンプレートでのサポート, 4.8.1

横方向の表区切り, 4.14.4.1 HTML出力

表幅の制御, 10.8

ハイパーリンク

しおり, 4.9.5

動的, 4.9.5

RTFテンプレートへの挿入, 4.9.5

内部, 4.9.5

静的, 4.9.5

I

IF文, 4.10.2

自由書式テキスト, 4.10.2

if-then-else文, 4.10.3 イメージ

RTFテンプレートへの組込み, 4.6

IN条件

If-Then-Else制御構造

eTextテンプレート, 8.8.2

L

最終ページ

特殊コンテンツのサポート, 4.9.3

レイアウト・エディタ

機能, 3.1

listコンポーネント

レイアウト・エディタ, 3.14

M

マークアップ

PDFテンプレートへの追加, 7.4

RTFテンプレートへの追加, 4.3

最大接続数

インタラクティブ・レポートの設定, 3.4.7

段組みページのサポート, 4.8.5 複数のヘッダーとフッター

RTFテンプレート, 4.5.3

N

RTFテンプレートの名前空間サポート, 4.20

固有のページ区切りとページ番号付け

Microsoft Word, 4.8.1

NULL

XMLデータでのテスト方法, 4.12.2

数値から単語への変換, B.1.1

O

出力フォーマット

レポートによる制限, 5.2.2.1, 5.2.2.2

PDFレイアウトのオーバーフロー・データ, 7.10.3

P

改ページ

PDFレイアウト, 7.7.2

RTFテンプレート, 4.8.1, 4.9.1

ページ区切りとページ番号付け

ネイティブ・サポート, 4.8.1

ページ番号

初期設定

RTFテンプレート, 4.9.2

ページ番号

PDFレイアウト, 7.7.1

1出力ファイル内での再開, 4.14.1

RTFテンプレート, 4.8.1

ページ合計

前からの繰越合計/次への繰越合計, 4.11.2

RTFテンプレートへの挿入, 4.11.1

PDFレイアウト

完全な例, 7.9

ダウンロードしたファイルからの作成, 7.11

グループの定義, 7.6

定義, 7.1

データのオーバーフロー, 7.10.3

改ページ, 7.7.2

ページ番号付け, 7.7.1

プレースホルダ

チェック・ボックス, 7.5.4

ラジオ・ボタン・グループ, 7.5.5

実行時の繰返しフィールドの配置, 7.10.1 実行時の動作, 7.10 PDF出力

大きいファイルの処理, A

無効, 4.14.2

PDF出力のプロパティ, 10.2 PDFセキュリティのプロパティ, 10.3 PDFテンプレート

マークアップの追加, 7.4

プレースホルダ

テキスト, 7.5.2

タイプ, 7.5

Adobe Acrobat 5.0互換形式で保存, 7.2 ドキュメント・テンプレートのソース, 7.3 サポートされているモード, 7.2 使用する状況, 7.1 ピボット・テーブル

RTFテンプレートでの設計, 4.14.3

プレースホルダ

基本RTF方式, 4.3.1

フォーム・フィールドRTF方式, 4.3.1, 4.3.1.2

PDFテンプレート内, 7.4

RTFテンプレート内, 4.2.2

定義, 4.2.3, 4.3.1

RTFテンプレートのヘッダーおよびフッターへの挿入, 4.5.2 PDFレイアウト

チェック・ボックス, 7.5.4

ラジオ・ボタン・グループ, 7.5.5

PDFテンプレート

テキスト, 7.5.2

タイプ, 7.5

PowerPoint出力

設計上の考慮事項, 4.22

事前定義済のフォント, 10.17.4 プロパティ

テンプレート・レベルでの設定, 4.13.3

R

ラジオ・ボタン・グループ

PDFレイアウトでの作成, 7.5.5

再グループ化, 4.12.3 リッチ・テキスト・フォーマット(RTF)

定義, 4.1.1

行区切り

RTFテンプレートでの防止, 4.8.3

行の書式設定

条件付き, 4.10.6

RTFプレースホルダ

構文, 4.3.1

RTFテンプレート

マークアップの追加, 4.3

設計要素の適用, 4.1.5

定義, 4.1.1

設計, 4.1.4

グループ, 4.2.2

イメージの組込み, 4.6

固有の書式設定機能, 4.8

プレースホルダ, 4.2.2

前提条件, 4.1.2

テンプレート設計サンプル, 4.2

サポートされているモード, 4.1.6

基本メソッド, 4.1.6

フォーム・フィールド方式, 4.1.6

XSLまたはXSLの使用, 4.1.6

RTFテンプレートの設計

ヘッダーおよびフッター, 4.5.1

RTFテンプレートのプレースホルダ, 4.3.1 累積合計

RTFテンプレート, 4.11.3

S

RTFテンプレートのサンプル

完全なマークアップ, 4.3.1.3

セクションのコンテキスト・コマンド, 4.14.1 セキュリティ

PDFプロパティ, 10.3

初期ページ番号の設定

RTFテンプレート, 4.9.2

図形のサポート, 4.7 ソート

RTFテンプレート, 4.12.1

SQL関数

BI Publisher構文, B.1

RTFテンプレートでの使用, 4.19

BI Publisherの拡張SQL関数, B.1 スタイル・テンプレート, 11.1 構文

RTFテンプレートのプレースホルダ, 4.3.1

sysdate

RTFテンプレートでの表示と書式設定, 4.15.13

T

表機能

固定幅の列, 4.8.3

複数ページにわたる行の分離の防止

RTFテンプレート, 4.8.3

表ヘッダーの繰返し

RTFテンプレート, 4.8.3

RTFテンプレート, 4.8.3 文字列の切捨て, 4.8.3 目次のサポート

RTFテンプレート, 4.9.6

動的TOC, 4.9.6

表

HTML出力における表の幅の制御, 10.8

横方向の表区切り, 4.14.4.1

Template Builder, 5.2.1

フィールド・プロパティの編集, 5.6.1

前提条件, 5.1.2

プレビュー・オプション, 5.5

文字列のプレースホルダ

PDFテンプレートでの作成, 7.5.2

表内の文字列切捨て, 4.8.3 合計

前からの繰越合計/次への繰越合計, 4.11.2

RTFテンプレートへのページ合計の挿入, 4.11.1

実行

RTFテンプレート, 4.11.3

U

更新可能変数

RTFテンプレート, 4.13.1

V

変数

RTFテンプレート, 4.13.1

W

ウォーターマーク

RTFテンプレート, 4.8.6

X

XMLデータファイル

例, 4.2.1

XMLファイル

読取り方法, 4.2.1

XSL

FO要素

RTFテンプレートでの使用, 4.19

XSL要素

テンプレート・ルールの適用, 4.21.2.1

BI Publisherの構文, B.2

テンプレートのコール, 4.21.2.3

現行ノードのコピー, 4.21.2.2

スタイルシートのルート要素の定義, 4.21.2.7

スタイル・シートのインポート, 4.21.2.6

テンプレートの宣言, 4.21.2.4

RTFテンプレートでの使用, 4.21.2

変数宣言, 4.21.2.5

オラクル社の法律上の注意点について

コピーライトについて

Copyright © 1994-2015, Oracle and/or its affiliates.All rights reserved.

商標と登録商標について

OracleおよびJavaはOracle Corporationおよびその関連企業の登録商標です。その他の名称は、それぞれの所有者の商標または登録商標です。

Intel、Intel Xeonは、Intel Corporationの商標または登録商標です。すべてのSPARCの商標はライセンスをもとに使用し、SPARC International, Inc.の商標または登録商標です。AMD、Opteron、AMDロゴ、AMD Opteronロゴは、Advanced Micro Devices, Inc.の商標または登録商標です。UNIXは、The Open Groupの登録商標です。

ライセンス制約の保証と結果的に生じる損害の免責

このソフトウェアおよび関連ドキュメントの使用と開示は、ライセンス契約の制約条件に従うものとし、知的財産に関する法律により保護されています。ライセンス契約で明示的に許諾されている場合もしくは法律によって認められている場合を除き、形式、手段に関係なく、いかなる部分も使用、複写、複製、翻訳、放送、修正、ライセンス供与、送信、配布、発表、実行、公開または表示することはできません。このソフトウェアのリバース・エンジニアリング、逆アセンブル、逆コンパイルは互換性のために法律によって規定されている場合を除き、禁止されています。

保証免責

ここに記載された情報は予告なしに変更される場合があります。また、誤りが無いことの保証はいたしかねます。誤りを見つけた場合は、オラクル社までご連絡ください。

制限付権利

このソフトウェアまたは関連ドキュメントを、米国政府機関もしくは米国政府機関に代わってこのソフトウェアまたは関連ドキュメントをライセンスされた者に提供する場合は、次の通知が適用されます。

U.S. GOVERNMENT END USERS: Oracle programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, delivered to U.S. Government end users are "commercial computer software" pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental regulations.As such, use, duplication, disclosure, modification, and adaptation of the programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, shall be subject to license terms and license restrictions applicable to the programs.No other rights are granted to the U.S. Government.

危険な用途への使用について

このソフトウェアもしくはハードウェアは様々な情報管理アプリケーションでの一般的な使用のために開発されたものです。このソフトウェアもしくはハードウェアは、危険が伴うアプリケーション（人的傷害を発生させる可能性があるアプリケーションを含む）への用途を目的として開発されていません。このソフトウェアもしくはハードウェアを危険が伴うアプリケーションで使用する際、安全に使用するために、適切な安全装置、バックアップ、冗長性（redundancy）、その他の対策を講じることは使用者の責任となります。このソフトウェアもしくはハードウェアを危険が伴うアプリケーションで使用したことに起因して損害が発生しても、オラクル社およびその関連会社は一切の責任を負いかねます。

第三者のコンテンツ、製品、サービスに対する免責事項

このソフトウェアまたはハードウェア、そしてドキュメントは、第三者のコンテンツ、製品、サービスへのアクセス、あるいはそれらに関する情報を提供することがあります。オラクル社およびその関連会社は、第三者のコンテンツ、製品、サービスに関して一切の責任を負わず、いかなる保証もいたしません。オラクル社およびその関連会社は、第三者のコンテンツ、製品、サービスへのアクセスまたは使用によって損失、費用、あるいは損害が発生しても一切の責任を負いかねます。

ドラフトのアルファ版およびベータ版ドキュメントについて

このドキュメントが試作版の場合:

このドキュメントは試作版であり、デモおよび暫定使用のみを目的としたものです。このソフトウェアを使用するハードウェアに限定するものではありません。オラクル社およびその関連会社は、このドキュメントに関して一切の責任を負わず、いかなる保証もいたしません。また、このドキュメントを使用したことによって損失、費用、あるいは損害が発生しても、一切の責任を負いかねます。