Oracle® Fusion Middleware

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

11g リリース1(11.1.1)

B66712-05 (原本部品番号: E22258-06)

2014年12月

様々なソースからデータを取得および構成し、Oracle Business Intelligence Publisherレポートの入力として使用する方法について説明します。

Oracle Fusion Middleware Oracle Business Intelligence Publisherデータ・モデリング・ガイド, 11gリリース1(11.1.1)

B66712-05 (原本部品番号: E22258-06)

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

原本著者:  Oracle Corporation

原本主協力者:  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)の新機能

1 データ・モデル・エディタの使用

- 1.1 データ・モデルとは

- 1.2 データ・モデルのコンポーネント

- 1.3 データ・モデル・エディタの機能

- 1.4 データソースのオプションについて

- 1.5 データ・モデル作成プロセスの概要

- 1.6 データ・モデル・エディタの起動

- 1.6.1 データ・モデル・エディタのインタフェースについて

- 1.7 データ・モデルのプロパティの設定

- 1.7.1 XML出力オプション

- 1.7.2 データ・モデルへの添付ファイル

- 1.7.2.1 サンプル・データの添付

- 1.7.2.2 スキーマの添付

- 1.7.2.3 データ・ファイル

- 1.8 プライベート・データソースの管理

2 データ・セットの作成

- 2.1 データ・セットの作成の概要

- 2.2 既存のデータ・セットの編集

- 2.3 SQL問合せを使用したデータ・セットの作成

- 2.3.1 SQL問合せの入力

- 2.3.2 非標準SQLデータ・セットの作成

- 2.3.3 SQLクエリー・ビルダーの使用

- 2.3.3.1 クエリー・ビルダーの概要

- 2.3.3.2 クエリー・ビルダーのプロセスの理解

- 2.3.3.3 「オブジェクト選択」ペインの使用

- 2.3.3.4 スキーマの選択

- 2.3.3.5 オブジェクトの検索とフィルタの適用

- 2.3.3.6 オブジェクトの選択

- 2.3.3.7 サポートされている列型

- 2.3.3.8 「設計」ペインへのオブジェクトの追加

- 2.3.3.9 「設計」ペインと「結果」ペインのサイズ変更

- 2.3.3.10 「設計」ペインでのオブジェクトの削除または非表示

- 2.3.3.11 問合せ条件の指定

- 2.3.3.12 オブジェクト間の関係の作成

- 2.3.3.13 問合せの保存

- 2.3.3.14 保存された問合せの編集

- 2.3.4 問合せへのバインド変数の追加

- 2.3.5 SQL問合せへの字句参照の追加

- 2.3.6 Oracle BIサーバーに対するSQL問合せの定義

- 2.4 OLAPデータソースに対するMDX問合せを使用したデータ・セットの作成

- 2.4.1 MDX問合せを使用したデータ・セットの作成

- 2.5 MDXクエリー・ビルダーの使用

- 2.5.1 MDXクエリー・ビルダーのプロセスの理解

- 2.5.2 「キューブの選択」ダイアログの使用

- 2.5.3 ディメンションおよびメジャーの選択

- 2.5.3.1 「スライサ/POV」軸へのディメンション・メンバーの追加

- 2.5.4 MDX問合せのアクションの実行

- 2.5.5 MDX問合せのフィルタの適用

- 2.5.6 MDX問合せのオプションの選択とMDX問合せの保存

- 2.6 Oracle BI Analysisを使用したデータ・セットの作成

- 2.6.1 Oracle BI Analysisデータ・セットに関する注意点

- 2.7 ビュー・オブジェクトを使用したデータ・セットの作成

- 2.7.1 ビュー・オブジェクト・データ・セットに関する注意点

- 2.8 Webサービスを使用したデータ・セットの作成

- 2.8.1 Webサービスを使用したデータ・セットの作成

- 2.8.1.1 単純なWebサービスを使用したデータ・セットの作成

- 2.8.1.2 複合的なWebサービスを使用したデータ・セットの作成

- 2.8.2 Webサービス・データ・セットについての追加情報

- 2.9 LDAP問合せを使用したデータ・セットの作成

- 2.10 XMLファイルを使用したデータ・セットの作成

- 2.10.1 サポートされるXMLファイルについて

- 2.10.2 ファイル・ディレクトリ・データソースに格納されたXMLファイルの使用

- 2.10.3 ローカルに格納されたXMLファイルのアップロード

- 2.10.3.1 アップロードしたXMLファイルのリフレッシュと削除

- 2.11 Microsoft Excelファイルを使用したデータ・セットの作成

- 2.11.1 サポートされるExcelファイルについて

- 2.11.2 シートごとの複数の表にアクセスする際のガイドライン

- 2.11.3 ファイル・ディレクトリ・データソースに格納されたMicrosoft Excelファイルの使用

- 2.11.4 ローカルに格納されたMicrosoft Excelファイルのアップロード

- 2.11.4.1 アップロードしたExcelファイルのリフレッシュと削除

- 2.12 CSVファイルを使用したデータ・セットの作成

- 2.12.1 サポートされるCSVファイルについて

- 2.12.2 ファイル・ディレクトリ・データソースに格納されたCSVファイルの使用

- 2.12.3 ローカルに格納されたCSVファイルのアップロード

- 2.12.3.1 データ型の編集

- 2.12.3.2 アップロードしたCSVファイルのリフレッシュと削除

- 2.13 HTTP XML入力からのデータ・セットの作成

- 2.13.1 HTTP XMLデータ・セットからのデータ・セットの作成

- 2.14 キャラクタ・ラージ・オブジェクト(CLOB)として格納されたデータのデータ・モデル内での使用方法

- 2.14.1 データが返される方法

- 2.14.1.1 CLOB列データを使用したデータ・セットの注意点

- 2.14.2 CLOB列に格納されたXHTMLデータの処理

- 2.14.2.1 CDATA内にラッピングされたXHTMLデータの取得

- 2.14.2.2 問合せでのCDATA内へのXHTMLデータのラッピング

- 2.15 データ・モデルのテストとサンプル・データの生成

- 2.16 システム変数に格納されたユーザー情報をレポート・データに含める方法

- 2.16.1 ユーザー・システム変数を要素として追加する方法

- 2.16.2 使用事例: 返されるデータ・セットのユーザーIDによる制限

- 2.16.2.1 LDAPユーザー属性値からのバインド変数の作成

3 データの構造化

- 3.1 データ・モデルの使用

- 3.1.1 マルチパートの関連付けられていないデータ・セットについて

- 3.1.2 マルチパートの関連付けられたデータ・セットについて

- 3.1.3 データ・セットの使用についてのガイドライン

- 3.2 データ・モデル・エディタの機能

- 3.3 インタフェースについて

- 3.4 データ・セット間のリンクの作成

- 3.4.1 要素レベルのリンクについて

- 3.4.2 グループ・レベルのリンクについて

- 3.5 要素レベルのリンクの作成

- 3.5.1 要素レベルのリンクの削除

- 3.6 グループ・レベルのリンクの作成

- 3.6.1 グループ・レベルのリンクの削除

- 3.7 サブグループの作成

- 3.8 親グループと子グループ間での要素の移動

- 3.9 グループ・レベルの集計要素の作成

- 3.10 グループ・フィルタの作成

- 3.11 要素レベルの関数の実行

- 3.12 要素のプロパティの設定

- 3.13 データのソート

- 3.14 グループ・レベルの関数の実行

- 3.14.1 グループのアクション・メニュー

- 3.14.2 データ・セットの編集

- 3.14.3 グループからの要素の削除

- 3.14.4 グループのプロパティの編集

- 3.15 グローバル・レベルの関数の実行

- 3.15.1 グローバル・レベル集計関数の追加

- 3.15.2 グループ・レベルまたはグローバル・レベルの要素の式による追加

- 3.15.3 PL/SQLによるグローバル・レベル要素の追加

- 3.16 構造ビューを使用したデータ構造の編集

- 3.16.1 要素の名前の変更

- 3.16.2 NULL要素に対する値の追加

- 3.17 関数リファレンス

4 パラメータと値リストの追加

- 4.1 パラメータについて

- 4.2 新規パラメータの追加

- 4.2.1 テキスト・パラメータの定義

- 4.2.2 メニュー・パラメータの定義

- 4.2.2.1 メニュー・パラメータの表示のカスタマイズ

- 4.2.3 日付パラメータの定義

- 4.3 値リストについて

- 4.4 値リストの追加

- 4.4.1 SQL問合せからのリストの作成

- 4.4.2 固定データ・セットからのリストの作成

- 4.5 フレックスフィールド・パラメータの追加

- 4.5.1 フレックスフィールドを使用するための前提条件

- 4.5.2 フレックスフィールド・パラメータおよび値リストの追加

- 4.5.2.1 フレックスフィールド値リストの追加

- 4.5.2.2 フレックスフィールド値リストのメニュー・パラメータの追加

- 4.5.2.3 データ・モデルで定義されたフレックスフィールドにフレックスフィールド・パラメータを使用して値を渡す

- 4.5.2.4 SQL問合せ内でのフレックスフィールドの参照

- 4.5.2.5 値の範囲を渡す

5 イベント・トリガーの追加

- 5.1 トリガーについて

- 5.2 データの前およびデータの後トリガーの追加

- 5.2.1 実行順序

- 5.3 スケジュール・トリガーの作成

6 フレックスフィールドの追加

- 6.1 フレックスフィールドについて

- 6.1.1 データ・モデルでのフレックスフィールドの使用方法

- 6.2 キー・フレックスフィールドの追加

- 6.2.1 フレックスフィールドの詳細の入力

- 6.3 付加フレックスフィールドの追加

- 6.3.1 SQL問合せでの付加フレックスフィールド参照の挿入

7 バースティング定義の追加

- 7.1 バースティングについて

- 7.2 バースティング定義とは

- 7.3 バースティング定義のデータ・モデルへの追加

- 7.4 配信XMLの問合せの定義

- 7.5 バースティング問合せにパラメータを渡す方法

- 7.6 CLOB/XMLデータ・セットの分割要素および配信元要素の定義

- 7.7 バースティング定義の使用に向けたレポートの構成

- 7.8 バースティング問合せのサンプル

- 7.9 配信データソースとして使用する表の作成

8 Oracle WebCenterコンテンツ・サーバーにカスタム・メタデータを追加

- 8.1 カスタム・メタデータ・マッピングについて

- 8.1.1 前提条件

- 8.2 データ・フィールドから「カスタム・メタデータ」フィールドへのマッピング

- 8.3 未使用のメタデータ・フィールドの削除

索引

はじめに

『Oracle Fusion Middleware Oracle Business Intelligence Publisherデータ・モデリング・ガイド』11gリリース1(11.1.1)へようこそ。Oracle BI Publisherは、操作レポート、電子資金決済関連のドキュメント、行政機関向けPDFフォーム、出荷ラベル、小切手、営業文書およびその他の、高度に書式設定されたあらゆるドキュメントをオーサリング、管理および配信するためのエンタープライズ・レポート・ソリューションです。

対象読者

『Oracle Fusion Middleware Oracle Business Intelligence Publisherデータ・モデリング・ガイド』(このガイド)では、レポート開発者がBI 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リリース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.9)の新機能および変更点は、次のとおりです。

- データ・ソースとしてサポート対象外のOracle Endeca

- 追加された新しいプロパティ

- Oracle WebCenter Content Serverをサポートする新しいカスタム・メタデータ・コンポーネント

- バースティングの宛先としてのOracle WebCenter Content Server

データ・ソースとしてサポート対象外のOracle Endeca

Oracle BI Publisherでは、データソースとして、Oracle Endecaとの統合がサポートされなくなりました。「Oracle Endeca」オプションがデータ・モデル・エディタから削除されました。

追加された新しいプロパティ

データ・モデル・エディタでは、いくつかの新しいプロパティが使用可能で、問合せをより効率的に処理できます。これらのプロパティは次のとおりです。

- 問合せタイムアウト

- SQLプルーニング

これらの新しいプロパティの詳細は、第1.7項「データ・モデルのプロパティの設定」を参照してください。

データ・モデルの実行を管理するサーバー・レベルのプロパティも、このリリースで追加されました。詳細は、『Oracle Fusion Middleware Oracle Business Intelligence Publisher管理者ガイド』のデータ・エンジン・プロパティの設定に関する項を参照してください。

Oracle WebCenter Content Serverをサポートする新しいカスタム・メタデータ・コンポーネント

BI Publisherレポートの配信先として、Oracle WebCenter Content Serverとの統合をサポートするために、データ・モデル・エディタに新しいコンポーネント「カスタム・メタデータ」が含まれました。

データ・モデルの「カスタム・メタデータ」コンポーネントを使用すると、データ・モデルからドキュメント・プロファイル・ルールで定義したメタデータ・フィールドにデータ・フィールドをマップできます。このルール(例えば、請求書番号や顧客名など)は、Oracle WebCenter Content Serverで構成されます。

詳細は、第8章「Oracle WebCenterコンテンツ・サーバーにカスタム・メタデータを追加」を参照してください。

バースティングの宛先としてのOracle WebCenter Content Server

Oracle WebCenter Content Server統合をサポートするために、Oracle WebContentサーバーをバースティングの宛先に指定できます。このサポートには、カスタム・メタデータを使用してバースティング宛先にパラメータを指定することも含まれます。

パラメータのリストは、第7.4項「配信XMLの問合せの定義」を参照してください。

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

この項では、Oracle BI Publisher 11g リリース1 (11.1.1.7)の新機能について説明します。内容は次のとおりです。

- 11.1.1.7.16の新機能

- 11.1.1.7.10の新機能

- 11.1.1.7.0の新機能

11.1.1.7.16の新機能

注意:

Oracle BI Publisher 11g リリース1 (11.1.1.7.16以降)についての情報が適用されるのは、Oracle Fusion Applications 11g リリース9 (11.1.9)をご使用のお客様およびOracle Fusion Applications 11g リリース8 (11.1.8)をご使用の一部のお客様のみです。

Oracle BI Publisher 11g リリース1 (11.1.1.7.16)におけるレポート・データ・モデル開発者のための新機能は、次のとおりです。

- 付加フレックスフィールドのサポート

付加フレックスフィールドのサポート

Oracle Fusion Applicationsのお客様は、付加フレックスフィールドに格納されたデータについてレポートを作成できるようになりました。詳細は、第6.3項「付加フレックスフィールドの追加」を参照してください。

11.1.1.7.10の新機能

注意:

Oracle BI Publisher 11g リリース1 (11.1.1.7.10)についての情報が適用されるのは、Oracle Fusion Applications 11g リリース8 (11.1.8)をご使用のお客様のみです。

Oracle BI Publisher 11g リリース1 (11.1.1.7.10)におけるレポート・データ・モデル開発者のための新機能は、次のとおりです。

- 非標準SQLのサポート

- 名前付きの共有Webサービスをデータソースとしてサポート

- 名前付きの共有HTTPをデータソースとしてサポート

非標準SQLのサポート

データ・エンジンでは、匿名ブロック/プロシージャ・コール、条件付き問合せ、ネストされた結果セットまたはREFカーソルを返す関数が含まれるSQL文の実行がサポートされるようになりました。詳細は、第2.3.2項「非標準SQLデータ・セットの作成」を参照してください。

名前付きの共有Webサービスをデータソースとしてサポート

以前は、Webサービスベースのデータ・セットについて、Webサービスへの接続がデータ・セットごとに構成されていました。このリリースでは、集中管理されたWebサービス接続が導入されました。管理者が設定したWebサービス接続は、データ・モデル開発者が値リストから使用できます。したがって、データ・モデルでは集中管理された接続を共有でき、データ・セットごとに設定する必要がなくなりました。詳細は、第2.8項「Webサービスを使用したデータ・セットの作成」を参照してください。

名前付きの共有HTTPをデータソースとしてサポート

以前は、HTTPベースのデータ・セットについて、HTTPサーバーへの接続がデータ・セットごとに構成されていました。このリリースでは、集中管理されたHTTP接続が導入されました。管理者が設定したHTTPサーバー接続は、データ・モデル開発者が値リストから使用できます。したがって、データ・モデルでは集中管理された接続を共有でき、データ・セットごとに設定する必要がなくなりました。詳細は、第2.13項「HTTP XML入力からのデータ・セットの作成」を参照してください。

11.1.1.7.0の新機能

Oracle BI Publisher 11g リリース1 (11.1.1.7.0)におけるレポート・データ・モデル開発者のための新機能は、次のとおりです。

- MDXクエリー・ビルダー

- ローカルXMLファイル・データソースのサポート

- データソースとしてのCSVファイルのサポート

- データソースとしてのEndecaのサポート

- プライベート・データソースのサポート

- サンプル・データの使いやすさに関する機能強化

MDXクエリー・ビルダー

MDXクエリー・ビルダーを使用してMDX問合せを作成できるようになりました。作成するには、OLAPキューブのディメンション・メンバーを「列」、「行」、「ページ」、「スライサ/POV」(視点の場合)の各軸に対して選択します。この機能を利用すると、MDX問合せの中で特定のメンバー、関係(たとえば子や子孫)、レイヤー(たとえばレベルや世代)を使用してメンバー選択を組み立てることができます。詳細は、第2.4項「OLAPデータソースに対するMDX問合せを使用したデータ・セットの作成」を参照してください。

ローカルXMLファイル・データソースのサポート

ローカルに格納されたXMLまたは共有XMLファイルを、データ・セットのデータソースとして使用できるようになりました。このファイルは、データ・モデル定義から必要に応じてリフレッシュできます。詳細は、第2.10項「XMLファイルを使用したデータ・セットの作成」を参照してください。

データソースとしてのCSVファイルのサポート

ローカルに格納されたCSVまたは共有CSVファイルを、データ・セットのデータソースとして使用できるようになりました。このファイルは、データ・モデル定義から必要に応じてリフレッシュできます。詳細は、第2.12項「CSVファイルを使用したデータ・セットの作成」を参照してください。

データソースとしてのEndecaのサポート

11.1.1.9.0と同様に、この機能は削除されました。

プライベート・データソースのサポート

BI Publisherデータ・モデルを使用するデータ・セットを作成するときに、プライベートのJDBCまたはODBCデータソース接続を使用できるようになりました。詳細は、第1.8項「プライベート・データソースの管理」を参照してください。

サンプル・データの使いやすさに関する機能強化

データ・モデルの結果の表示と保存を、新しい「表示」タブでできるようになり、ブラウザ依存はなくなりました。この改良の目的は、BI Publisherでのサンプル・データの扱いを容易にするとともに、一貫性を高めることです。

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

Oracle BI Publisher 11gリリース1 (11.1.1.6)には、レポート・データ・モデル開発者用に次の新機能が含まれています。

- イベント・ドリブン・スケジュールに対応したスケジュール・トリガー

- パラメータ表示オプションの強化

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

イベント・ドリブン・スケジュール対応のスケジュール・トリガー

スケジュールされたレポート・ジョブの実行は、イベントに基づいて条件付けることができるようになりました。レポート・データ・モデルは、スケジュール・トリガーという新しいタイプのトリガーをサポートします。データ・モデルで作成するスケジュール・トリガーは、レポート・ジョブ・スケジュールで使用できます。レポート・ジョブの実行がスケジュールされると、このトリガーが実行されます。トリガーからデータが返されない場合、そのジョブのインスタンスはスキップされます。データが返されると、そのジョブのインスタンスはスケジュールに従って実行されます。詳細は、第5.3項「スケジュール・トリガーの作成」を参照してください。

パラメータ表示オプションの強化

パラメータ表示オプションの強化点は、次のとおりです。

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

- レポート・ビューアでのパラメータの配置についての新しいオプション
以前のレポート・ビューアでは、パラメータは常にビューアの上部に沿って水平方向のリージョンに表示されていました。このリリースでは、次のいずれかのパラメータ・リージョンの表示方法を構成できます。

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

- ダイアログ形式

- 個別のフル・ページ形式

- パラメータを表示または非表示にする新しいレポート・ビューアのツールバー・ボタン
このリリースでは、ユーザーがパラメータ・リージョンを表示または非表示にできるツールバー・ボタンがレポート・ビューアに追加されます。この強化点により、新しいパラメータ表示オプションが補完されます。パラメータをダイアログ形式または個別のフル・ページ形式で表示するように構成すると、ビューアでレポートを表示するときに、パラメータ表示リージョンが見えなくなることがあります。「パラメータ」ボタンを使用すると、新しいセクションを作成してパラメータ・リージョンが再表示されます。

- メニューに追加された「検索」
指定した数よりも多いオプションを含むすべてのメニューには、「検索」オプションが提示されます。

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

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

格納済のXHTMLをXSL-FOに変換することで、生成されたレポートではデータからHTML書式を表示できるようになりました。このXHTMLデータは、CDATAセクションにラッピングされているものを抽出する必要があります。また、これをレンダリングするには、RTFテンプレートで特定の構文を使用する必要もあります。詳細は、第2.14.2項「CLOB列に格納されたXHTMLデータの処理」を参照してください。

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

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

- XMLとしてのCLOBのサポート

- データソースとしてのローカルMicrosoft Excelファイルのアップロード

- データ問合せ内でのバインド変数としてのLDAP属性の使用

XMLとしてのCLOBのサポート

データ・エンジンは、構造を維持したままキャラクタ・ラージ・オブジェクト(CLOB)データ型としてデータベース列に格納された整形式XMLデータを抽出できるようになりました。この機能によって、別のプロセスで生成してデータベースに保存してあるXMLデータを、BI Publisherデータ・モデルへの入力として使用できます。詳細は、第2.14項「キャラクタ・ラージ・オブジェクト(CLOB)として格納されたデータのデータ・モデル内での使用方法」を参照してください。

データソースとしてのローカルMicrosoft Excelファイルのアップロード

ローカルに格納されたExcelファイルを、データ・モデル定義に直接アップロードできるようになりました。このファイルは、データ・モデル定義から必要に応じてリフレッシュできます。詳細は、第2.11項「Microsoft Excelを使用したデータ・セットの作成」を参照してください。

データ問合せ内でのバインド変数としてのLDAP属性の使用

LDAPセキュリティ・モデル定義で定義されたLDAP属性は、データ問合せ内でバインド変数として使用できます。詳細は、第2.16.2.1項「LDAPユーザー属性値からのバインド変数の作成」を参照してください。

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

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

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

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

- データ・モデル・エディタ

- 共有可能なオブジェクトとしてのデータ・モデル

- データソースとしてのMicrosoft Excelファイルのサポート

- データソースとしてのビュー・オブジェクトのサポート

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

新しいホーム・ページや再設計されたエディタやペインなど、ユーザー・インタフェースがいくつかの点で大幅に改良されました。これらの改良は、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ユーザーズ・ガイドを参照してください。

データ・モデル・エディタ

このリリースでは、レポートのデータ・モデルを作成するためのデータ・モデル・エディタが導入されています。データ・モデル・エディタにより、SQL、Excelファイル、Webサービス、HTTPフィード、その他のアプリケーションなど、様々なデータソースの複数のデータ・セットから単一のXML構造にデータを組み合せることができます。各データ・セットは関連のないものであることも、データ・セット間にデータ・リンクを使用してリレーションシップが確立されていることもあります。このガイドでは、データ・モデル・エディタの詳しい使用方法について説明しています。

共有可能なオブジェクトとしてのデータ・モデル

データ・モデルは、個別のカタログ・オブジェクトとして保存されます。そのため、複数のレポートに単一のデータ・モデルを使用できるようになりました。

テータソースとしてのMicrosoft Excelファイルのサポート

BI Publisherデータ・モデルでデータ・セットを作成するために、Microsoft Excelファイルが使用できるようになりました。詳細は、第2.11項「Microsoft Excelを使用したデータ・セットの作成」を参照してください。

データソースとしてのビュー・オブジェクトのサポート

BI Publisherを使用すると、Oracle Application Development Frameworkで作成したカスタム・アプリケーションに接続して、そのアプリケーションのビュー・オブジェクトをレポートのデータソースとして使用できます。詳細は、第2.7項「ビュー・オブジェクトを使用したデータ・セットの作成」を参照してください。

1 データ・モデル・エディタの使用

この章では、BI Publisherのデータ・モデル・エディタでサポートされているコンポーネントおよび機能について説明します。

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

- 第1.1項「データ・モデルとは」

- 第1.2項「データ・モデルのコンポーネント」

- 第1.3項「データ・モデル・エディタの機能」

- 第1.4項「データソースのオプションについて」

- 第1.5項「データ・モデル作成プロセスの概要」

- 第1.6項「データ・モデル・エディタの起動」

- 第1.7項「データ・モデルのプロパティの設定」

- 第1.8項「プライベート・データソースの管理」

1.1 データ・モデルとは

データ・モデルとは、レポート用のデータをBI Publisherで取得および構造化する命令のセットを含んだオブジェクトです。データ・モデルは、個別のオブジェクトとしてカタログ内に存在します。

極端に簡略化すると、データ・モデルは単一のデータソースから取得される1つのデータ・セットになります(たとえば、employees表の列から返されるデータ)。また、データ・モデルは、複数のデータ・セットに加え、パラメータ、トリガーおよびバースティング定義を含む複合的なものになることもあります。

データ・モデルを構築するには、データ・モデル・エディタを使用します。

1.2 データ・モデルのコンポーネント

データ・モデルでは、次のコンポーネントをサポートしています。

- データ・セット
データ・セットには、単一のデータソースからデータを取得するためのロジックを含めます。データ・セットを使用すると、各種のデータソース(たとえば、データベース、既存のデータ・ファイル、別のアプリケーションをコールするWebサービス、外部データ・プロバイダを指すURL/URIなど)からデータを取得できます。1つのデータ・モデルに、複数のデータソースからの複数のデータ・セットを含めることができます。

- イベント・トリガー
イベントをチェックするトリガーです。イベントが発生すると、トリガーはそのイベントに関連付けられたPL/SQLコードを実行します。データ・モデル・エディタでは、「データの前」と「データの後」のトリガーに加えて、スケジュール・トリガーもサポートされます。「データの前」や「データの後」のトリガーは1つのコールで構成されます。このコールは、Oracleデータベースに格納されているPL/SQLパッケージ内で定義された、一連の関数を実行するものです。スケジュール・トリガーは、スケジュールされたレポートに対して実行されます。このトリガーは、スケジュールされたレポート・ジョブを実行するかどうかを決定する条件が満たされているかどうかを調べます。

- フレックスフィールド
フレックスフィールドは、Oracle Applicationsに固有の構造体です。データ・モデル・エディタは、Oracle Applicationデータベースの表で定義したフレックスフィールド構造体からのデータの取得をサポートしています。

- 値リスト
値リストは、レポート利用者がレポートに渡すパラメータ値を選択できる値のメニューです。

- パラメータ
パラメータは、実行時に値を設定できる変数です。データ・モデル・エディタは、いくつかのパラメータ・タイプをサポートします。

- バースティング定義
バースティングとは、データを複数のブロックに分割し、それぞれのデータ・ブロックのドキュメントを生成して、そのドキュメントを1つ以上の宛先に配信するプロセスです。単一のバースティング定義で、レポート・データの分割、ドキュメントの生成、および指定した宛先への出力の配信の指示を与えることができます。

- カスタム・メタデータ (Web Contentサーバー用)
Webコンテンツ・サーバーをカスタム・メタデータが有効 content server as a delivery destination and enabled custom metadata, the 「カスタム・メタデータ」コンポーネントがデータ・モデル・エディタに表示されます。このコンポーネントを使用して、データ・モデルから、「コンテンツ・プロファイル」で定義された「ルール」のセットに対するカスタム・メタデータ・フィールドに、データ・フィールドをマップします。

1.3 データ・モデル・エディタの機能

データ・モデル・エディタは、様々なデータソース(SQL、Excelファイル、Webサービス、HTTPフィード、その他のアプリケーションなど)からの複数のデータ・セットのデータを単一のXMLデータ構造に結合するために使用します。各データ・セットは関連のないものであることも、データ・セット間にデータ・リンクを使用してリレーションシップが確立されていることもあります。

データ・モデル・エディタでは、次のタスクを実行できます。

- データのリンク - 階層データ・モデルを構築するために、データ・セット間のマスター/ディテール・リンクを定義します。

- データの集計: グループ・レベルの合計と小計を生成します。

- データの変換 - ビジネス用語やレポート要件に適合するように、ソース・データを変換します。

- 計算の作成 - 基のデータソースではレポートに必要なデータ値が得られない場合に、そのデータ値を計算します。

1.4 データソースのオプションについて

BI Publisherは、各種のデータソース・タイプによるデータ・セットの作成をサポートしています。これらは、次の3つの一般的なタイプに分類できます。

最初のタイプは、BI Publisherでソースからメタデータ情報を取得できるデータ・セットです。このようなデータ・セットのタイプについては、データ・モデル・エディタのすべての機能がサポートされます。該当するデータ・セットは、次のとおりです。

- Oracle BI Server、Oracleデータベースまたはその他のサポート対象データベースに対して発行されたSQL問合せ
第2.3項「SQLクエリを使用したデータ・セットの作成」を参照してください。

サポート対象データベースの詳細は、「システム要件と動作要件」を参照してください。

- OLAPデータソースに対するマルティディメンショナル(MDX)問合せ
第2.4項「OLAPデータソースに対するMDX問合せを使用したデータ・セットの作成」を参照してください。

- ユーザー・データを取得するためのLDAPリポジトリに対する問合せ
このデータについては直接レポートすることも、他のソースから取得したデータと結合することもできます。第2.9項「LDAP問合せを使用したデータ・セットの作成」を参照してください。

- Microsoft Excelスプレッドシート・データソース
このExcelスプレッドシートは、データソースとして管理者が設定したファイル・ディレクトリに格納されていることも、ローカル・ソースからデータ・モデルに直接アップロードされていることもあります。第2.11項「Microsoft Excelファイルを使用したデータ・セットの作成」を参照してください。

- XMLデータ・ファイル・データソース
XMLファイルは、管理者によってデータソースとして設定されたファイル・ディレクトリに格納しておくことも、ローカル・ソースから直接データ・モデルにアップロードすることもできます。第2.10項「XMLファイルを使用したデータ・セットの作成」を参照してください。

- CSV (カンマ区切り値)ファイル・データソース
CSVファイルは、管理者によってデータソースとして設定されたファイル・ディレクトリに格納しておくことも、ローカル・ソースから直接データ・モデルにアップロードすることもできます。第2.12項「CSVファイルを使用したデータ・セットの作成」を参照してください。

2番目のタイプについては、BI Publisherでデータソースから列名とデータ型の情報を取得できますが、データの処理や構造化はできません。このようなデータ・セットのタイプについては、データ・モデル・エディタ機能の一部のみがサポートされます。該当するデータ・セットは、次のとおりです。

- Oracle BI Analysis
第2.6項「Oracle BI Analysisを使用したデータ・セットの作成」

- Oracle Application Development Framework (ADF)を使用して作成したビュー・オブジェクト
第2.7項「ビュー・オブジェクトを使用したデータ・セットの作成」を参照してください。

3番目のデータ・タイプについては、BI Publisherはソース側で生成および構造化してあるデータを取得しますが、データ・モデル・エディタで追加の変更を適用できません。該当するデータ・セットは、次のとおりです。

- WebからのHTTP XML入力
第2.13項「HTTP XML入力からのデータ・セットの作成」を参照してください。

- Webサービス
第2.8項「Webサービスを使用したデータ・セットの作成」を参照してください。

WebサービスのWSDLをBI Publisherに渡してからパラメータをBI Publisherで定義することで、Webサービスを使用してレポート用のデータを返します。

1.5 データ・モデル作成プロセスの概要

表1-1は、データ・モデル作成プロセスの概要のリストです。

表1-1 データ・モデル作成のプロセス

手順

参照先

データ・モデル・エディタを起動します。

第1.6項「データ・モデル・エディタの起動」

データ・モデルのプロパティを設定します。(オプション)

第1.7項「データ・モデルのプロパティの設定」

データ・モデル用のデータ・セットを作成します。

第2章「データ・セットの作成」

データ出力構造を定義します。(オプション)

第3章「データの構造化」

問合せに渡すパラメータを定義し、ユーザーがパラメータ値を選択するための値リストを定義します。(オプション)

第4章「パラメータと値リストの追加」

イベント・トリガーを定義します。(オプション)

第5.1項「トリガーについて」

(Oracle Applicationsのみ)フレックスフィールドを定義します。(オプション)

第6章「フレックスフィールドの追加」

データ・モデルをテストして、サンプル・データを追加します。

第2.15項「データ・モデルのテストとサンプル・データの生成」

バースティング定義を追加します。(オプション)

第7章「バースティング定義の追加」

「カスタム・メタデータ」をドキュメントにマッピングし、Webコンテンツ・サーバーに配信します。(オプション)

第8章「Oracle WebCenterコンテンツ・サーバーにカスタム・メタデータを追加」

1.6 データ・モデル・エディタの起動

次のいずれかの方法で、データ・モデル・エディタをBI Publisherグローバル・ヘッダーまたは「ホーム」ページから起動します。

グローバル・ヘッダーからデータ・モデル・エディタを起動するには:

1. 「新規」をクリックしてから、「データ・モデル」をクリックしてデータ・モデル・エディタを開きます。

「ホーム」ページからデータ・モデル・エディタを起動するには:

1. 「作成」リージョンで、「データ・モデル」をクリックします。

「データ・セット」ページがデフォルト・ページであり、図1-2のように表示されます。

図1-1 「データ・セット」ページ

1.6.1 データ・モデル・エディタのインタフェースについて

データ・モデル・エディタは、左側がコンポーネント・ペインになり、右側が作業ペインになるように設計されています。左ペインでコンポーネントを選択すると、そのコンポーネントに該当するフィールドが作業領域に現れます。

データ・モデル・エディタのツールバー(図1-2を参照)の機能は、次のとおりです。

図1-2 データ・モデル・エディタのツールバー

- プライベート・データ・ソースの管理 — 管理者が設定する必要がないプライベート・データ・ソースを構成して、個人的な目的に使用します。

- データの表示: 「データ」タブが表示されます。このタブでは、サンプル・データの表示と生成を行います。

- レポートの作成 — レポート・ウィザードを起動して、データ・モデルからレポートを作成します。

- 保存/別名保存: 「保存」を選択すると作業中の内容が既存のデータ・モデル・オブジェクトに保存され、「別名保存」を選択するとデータ・モデルが新しいオブジェクトとしてカタログに保存されます。

- ヘルプ: データ・モデル・エディタのオンライン・ヘルプが表示されます。

1.7 データ・モデルのプロパティの設定

図1-3に示す「データ・モデル」の「プロパティ」ページにアクセスするには、コンポーネント・ペインの「データ・モデル」ノードをクリックします。

図1-3 データ・モデルのプロパティ

データ・モデルの次のプロパティを入力します。

説明 - ここに入力した説明が、カタログに表示されます。この説明は、翻訳可能です。

デフォルトのデータソース - リストからデータソースを選択します。データ・モデルには、1つ以上のデータソースからの複数のデータ・セットを含めることができます。ここで選択したデフォルトのデータソースは、新しいSQLデータ・セットを定義するときにデフォルトとして提示されます。セッションの開始後に追加された新規データソースを表示するには、「データソース・リストのリフレッシュ」を選択します。

Oracle DBデフォルト・パッケージ - Oracleデータベースに対する問合せが定義してあるときには、データ・モデル内にBeforeまたはAfterデータ・トリガー(イベント・トリガー)を含めることができます。イベント・トリガーは、RDBMSレベルの関数を実行するためにPL/SQLパッケージを使用します。イベント・トリガーまたはPL/SQLグループ・フィルタを含んでいるデータ・モデルについては、ここにデフォルトのPL/SQLパッケージを入力する必要があります。このパッケージは、デフォルトのデータソースに存在している必要があります。

データベース・フェッチ・サイズ: JDBC接続を通じて一度にフェッチされる行数を設定します。この値によって、システム・プロパティで設定した値はオーバライドされます。この値とサーバー設定のどちらもが定義されていない場合は、デフォルト値の20が使用されます。サーバー・プロパティ「自動DBフェッチ・サイズ・モードの有効化」がTrueに設定されている場合、この値は無視されます。

詳細は、『Oracle Fusion Middleware Oracle Business Intelligence Publisher管理者ガイド』のデータ・エンジン・プロパティの設定に関する項を参照してください。

問合せタイムアウト - SQL問合せに基づくデータ・モデルに適用されます。タイムアウト値が満たされた時にSQL問合せがまだ処理中の場合、「データxmlの取得に失敗しました」エラーが戻されます。秒単位の値を入力します。このデータ・モデルに値を入力しないと、サーバー・プロパティの値が使用されます。サーバー設定の詳細は、『Oracle Fusion Middleware Oracle Business Intelligence Publisher管理者ガイド』のデータ・エンジン・プロパティ設定に関する項を参照してください。

スケーラブル・モード: 巨大なデータ・セットを処理するには、大量のRAMが必要になります。メモリー不足を防止するには、データ・エンジンのスケーラブル・モードを有効にします。スケーラブル・モードでは、データの処理時に、データ・エンジンがディスク領域を利用します。これをOnに設定すると、パフォーマンスに影響しますが、メモリー不足エラーの発生を回避します。

「データ・モデル・スケーラブル・モードの有効化」もサーバー・レベル・プロパティですが、デフォルトでは、データ・モデル・レベル・プロパティは「インスタンス」レベルに設定され、サーバーまたはインスタンス・レベルの設定が継承されます。この特定のデータ・モデルでスケーラブル・モードをオンまたはオフにするには、リストから「ON」または「オフ」を選択します。

サーバーのレベル設定の詳細は、『Oracle Fusion Middleware Oracle Business Intelligence Publisher管理者ガイド』のデータ・エンジン・プロパティ設定に関する項を参照してください。

SQLプルーニング - 標準SQLのみを使用するDatabase問合せに適用されます。問合せにより戻される列が多数あり、サブセットのみをレポート・テンプレートで使用する場合、SQLプルーニングによりテンプレートで必要な列のみが戻されます。このプロパティを設定すると、処理時間が強化され、メモリー使用量を削減できます。

「SQLプルーニングの有効化」もサーバー・レベル・プロパティですが、デフォルトでは、データ・モデル・レベル・プロパティは「インスタンス」レベルに設定され、サーバーまたはインスタンス・レベルの設定が継承されます。この特定のデータ・モデルでSQLプルーニングをオンまたはオフにするには、リストから「ON」または「オフ」を選択します。

サーバーのレベル設定の詳細は、『Oracle Fusion Middleware Oracle Business Intelligence Publisher管理者ガイド』のデータ・エンジン・プロパティ設定に関する項を参照してください。

バックアップ・データソース - このデータソースに対するバックアップ・データベースが設定済の場合は、「バックアップ接続の有効化」を選択してこのオプションを有効化しておき、BI Publisherでバックアップを使用する必要があるときに、そのバックアップ・データベースを選択します。

- プライマリの停止時にのみバックアップを使用する場合は、「プライマリ・データソースが使用不可の場合にバックアップ・データソースに切り替え」を選択します。プライマリ・データソースが停止したときに、データ・エンジンはバックアップへの切替え前に、必ず応答を待機することに注意してください。

- このデータ・モデルを実行するときに常にバックアップ・データソースを使用する場合は、「バックアップ・データソースのみの使用」を選択します。バックアップ・データベースを使用することで、パフォーマンスが向上する場合があります。

注意:

この機能を利用するには、選択したデータソースのバックアップ・データソースを使用できるようにしておく必要があります。詳細は、『Oracle Fusion Middleware Oracle Business Intelligence Publisher管理者ガイド』のバックアップ・データベースに関する項を参照してください。

1.7.1 XML出力のオプション

これらのオプションでは、XMLデータ構造の特性を定義します。これらのオプションを変更すると、そのデータ・モデルに基づいて構築されたレイアウトに影響を与えることがあります。

- パラメータ・タグを含める - データ・モデルにパラメータを定義する場合は、このボックスを選択してXML出力ファイルにパラメータ値を含めます。データ・モデルにパラメータを追加する手順の詳細は、第4章「パラメータと値リストの追加」を参照してください。このオプションは、レポート内でパラメータ値を使用する必要がある場合に有効化します。

- Null要素用の空のタグを含める - 出力のXMLデータにNULL値を保持する要素を含める場合に、このボックスを選択します。NULL要素を含めると、要求された要素のデータがデータソースに格納されていない場合、その要素は<ELEMENT_ID\>のように空のXMLタグとしてXML出力に含まれるようになります。たとえば、要素MANAGER_IDに格納されたデータがないときに、NULL要素を含めるように選択していると、その要素はデータ内で<MANAGER_ID />と示されます。このオプションを選択していない場合、MANAGER_IDのエントリは示されません。

- グループ・リスト・タグを含める - (このプロパティは、10gへの下位互換性と、Oracle Reportの移行に向けたものです)。行セットのタグを出力XMLデータに含める場合は、このボックスを選択します。グループ・リストのタグを含めると、そのグループ・リストはデータ内で別の階層として示されます。

- XMLタグ表示 - XMLデータのタグを大文字で生成するか、小文字で生成するか、データ構造で指定した定義を保持するかを選択します。

1.7.2 データ・モデルへの添付ファイル

ページの「添付」リージョンには、アップロードしたデータ・ファイルまたは、データ・モデルに添付したデータ・ファイルが表示されます。

1.7.2.1 サンプル・データの添付

データ・モデルの構築後には、そのデータ・モデルから生成した小規模で典型的なサンプル・データのセットを添付する必要があります。サンプル・データは、BI Publisherのレイアウト編集ツールで使用します。小規模なサンプル・ファイルを使用すると、レイアウトのデザイン段階でのパフォーマンスの向上に役立ちます。

データ・モデル・エディタには、サンプル・データを生成および添付するためのオプションが用意されています。詳細は、第2.15項「データ・モデルのテストとサンプル・データの生成」を参照してください。

管理者は、サンプル・データ・ファイルのサイズの上限を設定できます。詳細は、『Oracle Fusion Middleware Oracle Business Intelligence Publisher管理者ガイド』のデータ・エンジン・プロパティの設定に関する項を参照してください。

1.7.2.2 スキーマの添付

データ・モデル・エディタには、サンプル・スキーマをデータ・モデル定義に添付する機能があります。スキーマ・ファイルは、BI Publisherでは使用しませんが、開発者の参照用に添付できます。データ・モデル・エディタでは、スキーマの生成はサポートされません。

1.7.2.3 データ・ファイル

このレポートのデータソースとして、ローカルのMicrosoft Excel、CSVまたはXMLファイルをアップロード済の場合は、そのファイルがここに表示されます。リフレッシュ・ボタンを使用すると、このファイルをローカル・ソースによってリフレッシュできます。データソースとして使用するファイルをアップロードする方法は、第2章「データ・セットの作成」を参照してください。

図1-4に、サンプル・データとデータ・ファイルが添付されている「添付ファイル」リージョンを示します。

図1-4 サンプル・データとファイルが添付されている「添付ファイル」リージョン

1.8 プライベート・データソースの管理

データ・モデル開発者は、JDBC、OLAP、WebサービスおよびHTTPのプライベート・データソース接続を、管理者ユーザーに頼らなくても作成および管理できます。ただし、管理者ユーザーも、プライベート・データソース接続を必要に応じて表示、変更および削除できます。

プライベート・データソース接続を作成するには:

1. データ・モデル・エディタのツールバーの「プライベート・データ・ソースの管理」をクリックします。

2. 接続タイプのタブを選択し、「データソースの追加」をクリックします(図1-5を参照)。

図1-5 プライベート・データソース接続の作成

注意:

管理者としてログインしている場合、このダイアログにはすべてのデータソース接続が表示されますが、このダイアログから作成または変更できるのはJDBC、OLAP、HTTPおよびWebサービスの各データソースのみです。

3. プライベート接続名を入力し、必須フィールドに入力します。

4. 「接続のテスト」をクリックします。確認メッセージが表示されます。

5. 「適用」をクリックします。これで、このプライベート・データソース接続をデータ・セットで使用できるようになりました。

プライベート・データソース接続を識別するために、「(プライベート)」という単語がデータソース名の末尾に付加されます。たとえば、プライベートのJDBC接続を「My JDBC Connection」という名前で作成すると、この接続はデータソースのドロップダウン・リストに「My JDBC Connection (プライベート)」と表示されます。

ユーザーに管理者ロールが付与されている場合は、作成できるのはパブリックのデータソースのみです(データソースを「プライベート・データ・ソースの管理」ページから作成する場合でも)。プライベート・データソース接続の詳細は、『Oracle Fusion Middleware Oracle Business Intelligence Publisher管理者ガイド』のプライベート・データソース接続に関する項を参照してください。

データソース・タイプの設定の詳細は、『Oracle Fusion Middleware Oracle Business Intelligence Publisher管理者ガイド』の「データソースの設定」を参照してください。

2 データ・セットの作成

この章では、BI Publisherでのデータ・セットの作成、データ・モデルのテストおよびサンプル・データの保存について説明します。

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

- 第2.1項「データ・セットの作成の概要」

- 第2.2項「既存のデータ・セットの編集」

- 第2.3項「SQL問合せを使用したデータ・セットの作成」

- 第2.4項「OLAPデータソースに対するMDX問合せを使用したデータ・セットの作成」

- 第2.5項「MDXクエリー・ビルダーの使用」

- 第2.6項「Oracle BI Analysisを使用したデータ・セットの作成」

- 第2.7項「ビュー・オブジェクトを使用したデータ・セットの作成」

- 第2.8項「Webサービスを使用したデータ・セットの作成」

- 第2.9項「LDAP問合せを使用したデータ・セットの作成」

- 第2.10項「XMLファイルを使用したデータ・セットの作成」

- 第2.11項「Microsoft Excelファイルを使用したデータ・セットの作成」

- 第2.12項「CSVファイルを使用したデータ・セットの作成」

- 第2.13項「HTTP XML入力からのデータ・セットの作成」

- 第2.14項「キャラクタ・ラージ・オブジェクト(CLOB)として格納されたデータのデータ・モデル内での使用方法」

- 第2.15項「データ・モデルのテストとサンプル・データの生成」

- 第2.16項「システム変数に格納されたユーザー情報をレポート・データに含める方法」

2.1データ・セットの作成の概要

Oracle BI Publisherでは、いくつかのタイプのデータソースからデータを取得できます。

データ・セットを作成するには:

1. データ・モデル・エディタのコンポーネント・ペインで、「新規データ・セット」をクリックします(図2-1を参照)。

図2-1 データ・セットの作成

2. リストからデータ・セットのタイプを選択して、適切なダイアログを開きます(図2-2を参照)。

図2-2 データ・セットのタイプの選択

3. データ・セットの作成に必要なすべてのフィールドに入力します。各タイプのデータ・セットを作成する方法の詳細は、この章内で対応する項を参照してください。

- 第2.3項「SQL問合せを使用したデータ・セットの作成」

- 第2.4項「OLAPデータソースに対するMDX問合せを使用したデータ・セットの作成」

- 第2.6項「Oracle BI Analysisを使用したデータ・セットの作成」

- 第2.7項「ビュー・オブジェクトを使用したデータ・セットの作成」

- 第2.8項「Webサービスを使用したデータ・セットの作成」

- 第2.9項「LDAP問合せを使用したデータ・セットの作成」

- 第2.10項「XMLファイルを使用したデータ・セットの作成」

- 第2.11項「Microsoft Excelファイルを使用したデータ・セットの作成」

- 第2.12項「CSVファイルを使用したデータ・セットの作成」

- 第2.13項「HTTP XML入力からのデータ・セットの作成」

- 第2.14項「キャラクタ・ラージ・オブジェクト(CLOB)として格納されたデータのデータ・モデル内での使用方法」

2.2 既存のデータ・セットの編集

既存のデータ・セットを編集するには:

1. データ・モデル・エディタのコンポーネント・ペインで「データ・セット」をクリックします。このデータ・モデル用のすべてのデータ・セットが、作業ペインに表示されます。

2. 編集するデータ・セットをクリックします。

3. 「選択したデータ・セットの編集」をクリックします。データ・セットのダイアログが開きます。データ・セットの各タイプの詳細は、この章内で対応する項を参照してください。

4. データ・セットに変更を加えて、「OK」をクリックします。

5. データ・モデルを保存します。

6. 編集したデータ・モデルをテストして、新しいサンプル・データを追加します。テストとサンプル・データ生成の方法の詳細は、第2.15項「データ・モデルのテストとサンプル・データの生成」を参照してください。

2.3 SQL問合せを使用したデータ・セットの作成

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

- 第2.3.1項「SQL問合せの入力」

- 第2.3.2項「非標準SQLデータ・セットの作成」

- 第2.3.3項「SQLクエリー・ビルダーの使用」

- 第2.3.4項「問合せへのバインド変数の追加」

- 第2.3.5項「SQL問合せへの字句参照の追加」

- 第2.3.6項「Oracle BIサーバーに対するSQL問合せの定義」

2.3.1 SQL問合せの入力

注意:

リリース11.1.1.7.10では、より複雑なSQL問合せのサポートが追加され、「SQLのタイプ」メニュー選択が導入されています。この機能は、それより前のバージョンのBI Publisherでは使用できない場合があります。Oracle BI Publisher 11.1.1.7.10の詳細は、「11.1.1.7.10の新機能」を参照してください。

SQL問合せを入力するには:

1. 「新規データ・セット」をクリックし、「SQL問合せ」をクリックします。「データ・セットの作成 - SQL」ダイアログが開きます(図2-3を参照)。

図2-3 「新規データ・セット - SQL問合せ」ダイアログ

2. データ・セットの名前を入力します。

3. データソースのデフォルトは、「プロパティ」ページで選択されたデフォルトのデータソースです。このデータ・セットのデフォルト・データソースを使用しない場合は、リストから「データソース」を選択します。
プライベート・データソース接続をSQL問合せデータ・セットのデータソースとして使用することもできます。プライベート・データソース接続の詳細は、第1.8項「プライベート・データソースの管理」を参照してください。

4. SQLタイプは、データベース・スキーマを認識するために解析される標準のSELECT文に使用される「標準SQL」にデフォルトで設定されています。他のSQLタイプの使用の詳細は、第2.3.2項「非標準SQLデータ・セットの作成」を参照してください。

5. SQL問合せを入力するか、「クエリー・ビルダー」をクリックして「クエリー・ビルダー」ページを開きます。クエリー・ビルダー・ユーティリティの詳細は、第2.3.3項「SQLクエリー・ビルダーの使用」を参照してください。

6. 問合せ内でフレックスフィールドやバインド変数などの特別な処理を使用する場合は、クエリー・ビルダーから返されたSQLを編集して必要な文を組み込みます。

注意:

SELECT文に埋め込んだテキストの字句参照を含める場合は、有効なSQL文が得られるように値を置き換える必要があります。

7. 問合せの入力後に、「OK」をクリックして保存します。標準SQL問合せの場合、データ・モデル・エディタによって問合せが検証されます。
問合せにバインド変数が含まれているときには、バインド・パラメータの作成を促すプロンプトが表示されます。「OK」をクリックして、データ・モデル・エディタでバインド・パラメータを作成します。

パラメータの編集方法の詳細は、第4章「パラメータと値リストの追加」を参照してください。

2.3.2 非標準SQLデータ・セットの作成

基本SQLコマンドを使用したデータ・セットの作成に加えて、次のようにより複雑なコマンドを使用してデータ・セットを作成できます。

プロシージャ・コール

この問合せタイプは、データベース・プロシージャをコールする場合に使用します。たとえば、PL/SQL for Oracleの場合、文がBEGINで始まります。このSQLデータ型を使用すると、メタデータはデータ・モデル構造のタブに表示されないため、データ構造またはデータ・フィールドを変更できません。プロシージャ・コールを使用してSQLを作成するには、コードをテキスト・ボックスに直接入力するか、別のSQLエディタからコピーして貼り付けます。クエリー・ビルダーは、このようなタイプの問合せの変更または構築に使用できません。

図2-4 「プロシージャ・コール」SQLタイプ

非標準SQL

この問合せタイプは、次のものを組み込むことができるSQL文を発行する場合に使用します。

- ネストされた結果セットを返すCursor文
次に例を示します。

Ex:SELECT TO_CHAR(sysdate,'MM-DD-YYYY') CURRENT_DATE ,
CURSOR
(SELECT d.order_id department_id,
d.order_mode department_name ,
CURSOR
(SELECT e.cust_first_name first_name,
e.cust_last_name last_name,
e.customer_id employee_id,
e.date_of_birth hire_date
FROM customers e
WHERE e.customer_id IN (101,102)
) emp_cur
FROM orders d
WHERE d.customer_id IN (101,102)
) DEPT_CUR FROM dual

- REFカーソルを返す関数
次に例を示します。

create or replace PACKAGE REF_CURSOR_TEST AS
TYPE refcursor IS REF CURSOR;
pCountry  VARCHAR2(10);
pState   VARCHAR2(20);
FUNCTION GET( pCountry IN VARCHAR2, pState   IN VARCHAR2) RETURN  REF_CURSOR_TEST.refcursor;
END;

create or replace PACKAGE BODY REF_CURSOR_TEST AS
FUNCTION GET(
pCountry  IN VARCHAR2,
pState    IN VARCHAR2)
RETURN REF_CURSOR_TEST.refcursor
IS
l_cursor REF_CURSOR_TEST.refcursor;
BEGIN
IF ( pCountry = 'US' ) THEN
OPEN l_cursor FOR
SELECT TO_CHAR(sysdate,'MM-DD-YYYY') CURRENT_DATE ,
d.order_id department_id,
d.order_mode department_name
FROM orders d
WHERE d.customer_id IN (101,102);
ELSE
OPEN l_cursor FOR
SELECT * FROM EMPLOYEES;
END IF;
RETURN l_cursor;
END GET;
END REF_CURSOR_TEST;

BI PublisherでREFカーソルを使用するには、次のようにします。

create SQL dataset with query as  SELECT REF_CURSOR_TEST.GET(:PCNTRY,:PSTATE) AS CURDATA FROM DUAL

- 匿名ブロック/ストアド・プロシージャ
BI Publisherでは、PL/SQL匿名ブロックの実行がサポートされています。DMLまたはDDLのコマンドを作成して一時表を移入し、PL/SQLブロックで計算を実行して結果セットを戻すことができます。BI Publisherでは、コール可能文を使用して匿名ブロックを実行します。

次の要件に注意してください。

- PL/SQLブロックは、REFカーソル型の結果セットを返す必要があります。

- 名前が"xdo_cursor"のout変数を宣言する必要があります。宣言しないと、最初のバインド変数がout変数タイプとして扱われ、REFカーソルとバインドします。

- 名前が"xdo_cursor"のデータ・モデル・パラメータを宣言します。この名前は、プロシージャ/匿名ブロックのout変数タイプ用に予約されています。

例:

DECLARE
type refcursor is REF CURSOR;
xdo_cursor refcursor;
empno number;
BEGIN
UPDATE EMPLOYEES SET COMMISSION_PCT = .28
WHERE EMPLOYEE_ID = :P2;
OPEN :xdo_cursor FOR
SELECT *
FROM EMPLOYEES E
WHERE E.EMPLOYEE_ID = :P2;
COMMIT;
END;

- if-else式を使用すると、条件付き問合せを実行できます。単一のデータ・セットで複数のSQL問合せを定義できますが、式の値に応じて実行時に実行される問合せは1つのみです。式では、検証してブール値を返し、値がtrueの場合、そのセクションのSQL問合せが実行されます。
次の制限に注意してください。

- 式の評価では、構文: $if{、$elseif{、$else{がサポートされています

- 式はtrueまたはfalseを返す必要があります。

- 次の演算子のみサポートされています。
==、<=、>=、< >

Example:
create sql dataset with following query
$if{ (:P_MODE == PRODUCT) }$
SELECT PRODUCT_ID
,PRODUCT_NAME
,CATEGORY_ID
,SUPPLIER_ID
,PRODUCT_STATUS
,LIST_PRICE
FROM PRODUCT_INFORMATION
WHERE ROWNUM < 5
$elsif{(:P_MODE == ORDER )}$
SELECT ORDER_ID
,ORDER_DATE
,ORDER_MODE
,CUSTOMER_ID
,ORDER_TOTAL
,SALES_REP_ID
FROM ORDERS
WHERE ROWNUM < 5
$else{
SELECT PRODUCT_ID
, WAREHOUSE_ID
,QUANTITY_ON_HAND
FROM INVENTORIES
WHERE ROWNUM < 5
}$
$endif$

非標準SQL文を使用してデータ・セットを作成すると、メタデータはデータ・モデル構造のタブに表示されないため、データ構造またはデータ・フィールドを変更できません。クエリー・ビルダーは、このようなタイプの問合せの変更または構築に使用できません。

図2-5に、非標準SQL問合せの例を示します。

図2-5 非標準SQL問合せ

2.3.3 SQLクエリー・ビルダーの使用

コーディングせずにSQL問合せを作成するには、クエリー・ビルダーを使用します。クエリー・ビルダーを使用すると、SQLに関する最小限の知識で、データベース・オブジェクトの検索とフィルタ処理、オブジェクトと列の選択、オブジェクト間の関連の作成、および書式設定された問合せ結果の表示を行うことができます。

この項では、クエリー・ビルダーの使用方法について説明します。この項の内容は次のとおりです。

- 第2.3.3.1項「クエリー・ビルダーの概要」

- 第2.3.3.2項「クエリー・ビルダーのプロセスの理解」

- 第2.3.3.3項「「オブジェクト選択」ペインの使用」

- 第2.3.3.4項「スキーマの選択」

- 第2.3.3.5項「オブジェクトの検索とフィルタの適用」

- 第2.3.3.6項「オブジェクトの選択」

- 第2.3.3.7項「サポートされている列型」

- 第2.3.3.8項「「設計」ペインへのオブジェクトの追加」

- 第2.3.3.9項「「設計」ペインと「結果」ペインのサイズ変更」

- 第2.3.3.10項「「設計」ペインでのオブジェクトの削除または非表示」

- 第2.3.3.11項「問合せ条件の指定」

- 第2.3.3.12項「オブジェクト間の関係の作成」

- 2.3.3.13項「問合せの保存」

- 第2.3.3.14項「保存された問合せの編集」

2.3.3.1 クエリー・ビルダーの概要

「クエリー・ビルダー」ページは、次の2つのセクションに分割されています。

- 「オブジェクト選択」ペインには、問合せの作成に使用できるオブジェクトのリストが表示されます。表示されるのは、現在のスキーマのオブジェクトのみです。

- 設計と出力ペインは、次の4つのタブで構成されています。

- モデル - 「オブジェクト選択」ペインから選択したオブジェクトが表示されます。

- 条件 - 選択した列に条件を適用できます。

- SQL - 問合せが表示されます。

- 結果 - 問合せの結果が表示されます。

図2-6 設計と出力ペイン

2.3.3.2 クエリー・ビルダーのプロセスの理解

問合せを作成するには:

1. 「オブジェクト選択」ペインからオブジェクトを選択します。

2. オブジェクトを「設計」ペインに追加し、列を選択します。

3. (省略可能)オブジェクト間の関係を確立します。

4. すべての重複列に一意の別名を追加します。

5. (省略可能)問合せ条件を作成します。

6. 問合せを実行して結果を表示します。

2.3.3.3 「オブジェクト選択」ペインの使用

「オブジェクト選択」ペインでは、スキーマを選択したり、オブジェクトの検索およびフィルタ処理ができます。

「オブジェクト選択」ペインを非表示にするには、このペインと「設計」ペインの間にあるコントロール・バーを選択します。このバーを再度選択すると、ペインが表示されます。

2.3.3.4 スキーマの選択

「スキーマ」リストには、データソースで使用可能なすべてのスキーマが表示されます。ただし、リスト内にアクセスできないスキーマがある場合があります。

2.3.3.5 オブジェクトの検索とフィルタの適用

「検索」フィールドを使用して、検索文字列を入力します。データソースに100を超える表がある場合は、この「検索」機能を使用して、目的のオブジェクトを検索および選択する必要があります。

2.3.3.6 オブジェクトの選択

「オブジェクト選択」ペインには、選択したスキーマの表、ビューおよびマテリアライズド・ビューがリストされます(Oracleデータベースの場合、シノニムもリストされます)。リストからオブジェクトを選択すると、そのオブジェクトが「設計」ペインに表示されます。「設計」ペインを使用して、選択したオブジェクトを問合せで使用する方法を特定します。

2.3.3.7 サポートされている列型

すべてのタイプの列がオブジェクトとして「設計」ペインに表示されます。列に関する次の制限に注意してください。

- 各問合せで選択できる列の数は60以下です。

- 選択できるのは次の列タイプのみです。

- VARCHAR2、CHAR

- NUMBER

- DATE、TIMESTAMP

注意:

データ型TIMESTAMP WITH LOCAL TIMEZONEは、サポートされていません。

- バイナリ・ラージ・オブジェクト(BLOB)

注意:

BLOBはイメージです。クエリー・ビルダーで問合せを実行すると、BLOBは「結果」ペインに表示されませんが、問合せはデータ・モデル・エディタに保存されるときに正しく作成されます。

- キャラクタ・ラージ・オブジェクト(CLOB)
データ・モデル内でCLOBデータを使用する方法の詳細は、第2.14項「キャラクタ・ラージ・オブジェクト(CLOB)として格納されたデータのデータ・モデル内での使用方法」を参照してください。

2.3.3.8 「設計」ペインへのオブジェクトの追加

「設計」ペインにオブジェクトを追加するには:

1. オブジェクトを選択します。
選択したオブジェクトが「設計」ペインに表示されます。データ型を表すアイコンが列名の横に表示されます。

2. 問合せに含める各列のチェック・ボックスを選択します。
列を選択すると、その列が「条件」タブに表示されます。この「条件」タブの「表示」チェック・ボックスは、問合せ結果に列を含めるかどうかを制御することに注意してください。デフォルトでは、このチェック・ボックスは選択されています。

最初の20列を選択するには、オブジェクトの左上隅にある小さいアイコンをクリックし、すべてチェックを選択します。

3. 問合せを実行して結果を表示するには、「結果」を選択します。

ヒント:

問合せの実行には、[CTRL]キーを押しながら[ENTER]キーを押すことでもできます。

2.3.3.9 「設計」ペインと「結果」ペインのサイズ変更

オブジェクトを選択するときは、「設計」ペインと「結果」ペインの間にある灰色の水平線を選択してドラッグすると、ペインのサイズを変更できます。

2.3.3.10 「設計」ペインでのオブジェクトの削除または非表示

オブジェクトを削除するには:

1. オブジェクトの右上隅にある「削除」をクリックします。

オブジェクト内の列を一時的に非表示にするには:

1. 「列の表示/非表示」をクリックします。

2.3.3.11 問合せ条件の指定

条件を使用すると、作業対象のデータをフィルタ処理して識別できます。オブジェクト内の列を選択するときは、「条件」タブで条件を指定できます。これらの属性を使用して、列別名の変更、列条件の適用、列のソート、または関数の適用を行うことができます。図2-7は、「条件」タブを示しています。

図2-7 「条件」タブ

表2-1に、「条件」タブで使用できる属性の説明を示します。

表2-1 「条件」タブで使用できる属性

条件属性

説明

上矢印および下矢印

問合せ結果内の列の表示順序を制御します。

列

列名を表示します。

別名

列別名を指定します(オプション)。別名とは列名の別称です。別名は、列名をわかりやすくする場合、列名を短くする場合、またはあいまいな参照を防ぐ場合に使用します。別名にはマルチバイト・キャラクタはサポートされないので注意してください。

オブジェクト

オブジェクト名が表示されます。

条件

条件によって、問合せのWHERE句が変更されます。列条件を指定するときは、適切な演算子およびオペランドを含める必要があります。標準のSQL条件はすべてサポートされています。次に例を示します。

>=10

='VA'

IN (SELECT dept_no FROM dept)

BETWEEN SYSDATE AND SYSDATE + 15

ソート・タイプ

ASC(昇順)またはDESC(降順)を選択します。

ソート順序

数値(1、2、3など)を入力して、選択した列の表示順序を指定します。

表示

問合せ結果に列を含める場合は、このチェック・ボックスを選択します。フィルタ処理のためにのみ列を問合せに追加する場合は、「表示」を選択する必要はありません。たとえば、次の問合せを作成する場合について説明します。

SELECT ename FROM emp WHERE deptno = 10

この問合せをクエリー・ビルダーで作成する手順は、次のとおりです。

1. 「オブジェクト」リストからEMPを選択します。

2. 「設計」ペインでenameとdeptnoを選択します。

3. deptno列について「条件」に=10と入力し、「表示」チェック・ボックスを選択解除します。

関数

使用可能な引数関数は次のとおりです。

- 数値列 - COUNT、COUNT DISTINCT、AVG、MAXIMUM、MINIMUM、SUM

- VARCHAR2列、CHAR列 - COUNT、COUNT DISTINCT、INITCAP、LENGTH、LOWER、LTRIM、RTRIM、TRIM、UPPER

- DATE列、TIMESTAMP列: COUNT、COUNT DISTINCT

グループ基準

集合関数を使用するときにグループ化の対象となる列を指定します。対象は出力に含まれる列のみです。

削除

列の選択を解除して、問合せから列を除外します。

列を選択して条件を定義すると、クエリー・ビルダーによってSQLが記述されます。

基になるSQLを表示するには:

1. 「SQL」タブを選択します。

2.3.3.12 オブジェクト間の関係の作成

オブジェクト間の関連は、結合を作成することによって作成できます。結合によって、複数の表、ビューまたはマテリアライズド・ビューの間の関連が識別されます。

2.3.3.12.1 結合条件について

結合問合せを記述する際は、2つのオブジェクト間の関連を示す条件を指定します。この条件は結合条件と呼ばれます。結合条件によって、1つのオブジェクトの行を別のオブジェクトの行とどのように組み合せるかが決定されます。

クエリー・ビルダーでは、内部結合、外部結合、左結合および右結合がサポートされています。内部結合(単純結合とも呼ばれます)は、結合条件を満たす行を戻します。外部結合は、単純結合の結果を拡張します。外部結合は、結合条件を満たすすべての行を戻し、さらに、一方の表に結合条件を満たす行がない場合は、結合条件を満たす一部またはすべての行をもう一方の表から戻します。

2.3.3.12.2 手動によるオブジェクトの結合

「設計」ペインの「結合」列を選択して、結合を手動で作成します。

オブジェクトを手動で結合するには:

1. 「オブジェクト選択」ペインから、結合するオブジェクトを選択します。

2. 結合する列を識別します。
列名に隣接する「結合」列を選択して、結合を作成します。「結合」列はデータ型の右側に表示されます。カーソルを適切な位置に置くと、次のヘルプ・ヒントが表示されます。

結合対象の列を選択するには、ここをクリックしてください

3. 最初のオブジェクトに対して、適切な「結合」列を選択します。
選択すると、「結合」列が選択表示になります。「結合」列の選択を解除するには、「結合」列を再度選択するか、[Esc]を押します。

4. 2番目のオブジェクトに対して、適切な「結合」列を選択します。
結合すると、2つの列が線で結ばれます。例を図2-8に示します。

図2-8 結合された列

5. 問合せに含める列を選択します。結合線にカーソルを置くと、結合した結果のSQL文を表示できます。

6. 「結果」をクリックして問合せを実行します。

2.3.3.13 問合せの保存

問合せの作成後には、「保存」をクリックしてデータ・モデル・エディタに戻ります。この問合せは、「SQL問合せ」ボックスに表示されます。「OK」をクリックするとデータ・セットが保存されます。

図2-9 「SQL問合せ」ボックスに表示された問合せ

2.3.3.14 保存された問合せの編集

クエリー・ビルダーからデータ・モデル・エディタに問合せを保存しておくと、その問合せの編集にクエリー・ビルダーを使用することもできます。

クエリー・ビルダーを使用して問合せを編集するには:

1. SQLデータ・セットを選択します。

2. ツールバーの「選択したデータ・セットの編集」をクリックして「データ・セットの編集」ダイアログを開きます。

3. 「クエリー・ビルダー」をクリックして、クエリー・ビルダーに問合せをロードします。

注意:

問合せが変更されている場合や、問合せの作成にクエリー・ビルダーを使用していない場合には、その問合せを編集するためにクエリー・ビルダーを起動するとエラーが示されることがあります。クエリー・ビルダーで問合せを解析できないときには、テキスト・ボックス内で文を直接編集してください。

4. 問合せを編集して、「保存」をクリックします。

2.3.4 問合せへのバインド変数の追加

基本的な問合せはこの時点で用意できていますが、レポートでは、ユーザーがこの問合せにパラメータを渡して結果を限定できるようにする必要があります。たとえば、従業員のリストで、ユーザーが特定の部門を選択できるようにする必要があります。

変数を追加するには、次のどちらかの方法を使用します。

- クエリー・ビルダーの「条件」タブを使用してバインド変数を追加します。
クエリー・ビルダーの「条件」タブでバインド変数を追加するには:

1. 次の「条件」を列に追加します。

in (:P_DEPTNAME)

このP_DEPTNAMEは、そのパラメータに選択した名前になります。図2-10にこれを示します。

図2-10 クエリー・ビルダーの「条件」タブを使用したバインド変数の追加

- SQL問合せを、テキスト・ボックス内で直接更新します。

重要:

問合せを手動で編集すると、その問合せをクエリー・ビルダーで解析することはできなくなります。それ以降の編集も、手動で実行する必要があります。

テキスト・ボックス内でSQL問合せを直接更新するには:

1. 問合せ内のWHERE句の後ろに、次の行を追加します。

and "COLUMN_NAME" in (:PARAMETER_NAME)

例:

and "DEPARTMENT_NAME" in (:P_DEPTNAME)

このP_DEPTNAMEは、そのパラメータに選択した名前になります。図2-11にこれを示します。

図2-11 生成されたSQL問合せの編集

2. 「保存」をクリックすると、バインド変数構文を使用して入力したパラメータを作成するかどうかを尋ねる画面が表示されます(図2-12を参照)。

図2-12 「パラメータの追加」ダイアログ

3. パラメータを選択して「OK」をクリックすると、パラメータ・エントリが自動的に作成されます。パラメータのプロパティを定義する方法の詳細は、第4章「パラメータと値リストの追加」を参照してください。

2.3.5 SQL問合せへの字句参照の追加

字句参照を使用して、SELECT、FROM、WHERE、GROUP BY、ORDER BYまたはHAVINGの後にくる句を置換できます。実行時にパラメータで複数の値を置換する場合は字句参照を使用します。字句参照がサポートされるのは、Oracleアプリケーションに対する問合せのみです。

SQL問合せの中に字句参照を作成するには、次の構文を使用します。

&parametername

注意:

字句参照を使用すると、フレックスフィールドを問合せに組み込むこともできます。フレックスフィールドの使用方法の詳細は、第6章「フレックスフィールドの追加」を参照してください。

字句パラメータを定義するには:

1. 問合せを作成する前に、問合せの字句参照ごとに、PL/SQLデフォルト・パッケージでパラメータを定義します。データ・エンジンでは、これらの値を使用して字句パラメータを置換します。

2. データ・モデル・エディタの「プロパティ」ページで、「Oracle DBデフォルト・パッケージ」を指定します。

3. データ・モデル・エディタで、「データの前」イベント・トリガーを作成し、このPL/SQLパッケージをコールするように設定します。手順の詳細は、第5.2項「データの前およびデータの後トリガーの追加」を参照してください。

4. 字句参照が含まれるSQL問合せを作成します。

5. SQL問合せを閉じるために「OK」をクリックすると、パラメータを入力するための画面が表示されます。

たとえば、パッケージをemployeeという名前で作成します。employeeパッケージの中で、where_clauseというパラメータを次のように定義します。

Package employee
AS
where_clause varchar2(1000);
.....

Package body employee
AS
.....
where_clause := 'where DEPARTMENT_ID=10';
.....

SQL問合せの中で字句パラメータを参照します。このパラメータが、パッケージ内で定義されたコードで置き換えられます。次に例を示します。

select     "EMPLOYEES"."EMPLOYEE_ID" as "EMPLOYEE_ID",
"EMPLOYEES"."FIRST_NAME" as "FIRST_NAME",
"EMPLOYEES"."LAST_NAME" as "LAST_NAME",
"EMPLOYEES"."SALARY" as "SALARY",
from   "OE"."EMPLOYEES" "EMPLOYEES"
&where_clause

SQLデータ・セットの作成ダイアログ・ボックスの「OK」をクリックすると、字句参照ダイアログ・ボックスが表示されます。これは、SQL問合せ内に入力した字句参照の値を入力するためのものです(図2-13を参照)。字句参照の値を、PL/SQLパッケージ内で定義されているとおりに入力します。

図2-13 字句参照ダイアログ

実行時に、パッケージ内で定義されたwhere_clauseの内容で&where_clauseが置き換えられます。

2.3.6 Oracle BIサーバーに対するSQL問合せの定義

クエリー・ビルダーをOracle BIサーバーに対して起動すると、クエリー・ビルダーには、カタログからのサブジェクト・エリアが表示されます。このサブジェクト・エリアをクエリー・ビルダーの作業領域にドラッグすると、列が表示されます。データ・モデルに入れる列を選択します。

データ・セットをOracle BIサーバーに対して作成するときは、次の点に注意してください。

- SQLデータ・エディタまたはクエリー・ビルダーを使用して、SQL問合せをOracle BIサーバーに対して作成するときは、論理SQLが生成されます。他のデータベース・ソースの場合とは異なり、物理SQLは生成されません。

- 階層列はサポートされません。最も上のレベルが常に返されます。

- サブジェクト・エリアの中では、表間の結合条件がすでに作成されています。したがって、クエリー・ビルダーで結合を作成する必要はありません。クエリー・ビルダーによって主キーが公開されることはありません。
データ・モデル・エディタの「リンクの作成」機能を使用してデータ・セットどうしをリンクできます。第3.5項「要素レベルのリンクの作成」を参照してください。BIサーバーから作成されたデータ・セットについては、要素レベル・リンクは1つのデータ・モデル当たり2つまでという制限があります。

- クエリー・ビルダーの「条件」タブに表示される機能のうち、「ソート順序」と「グループ基準」は、Oracle BIサーバーに対する問合せの場合はサポートされません。「ソート順序」に入力した場合や、「グループ基準」チェック・ボックスを選択した場合も、クエリー・ビルダーによってSQLが作成されてBI Publisherの「SQL問合せ」テキスト・ボックスに出力されますが、「データ・セット」ダイアログを閉じようとすると、問合せは検証不合格となります。
SQL問合せで取り出したデータをグループ化するには、データ・モデル・エディタの「グループ基準」機能をかわりに使用してください。第3.7項「サブグループの作成」を参照してください。

- パラメータをOracle BIサーバーに渡すとともに、「全選択可能」で「NULL値が渡されました」を選択した場合は、問合せの中で確実にnull値の処理を行う必要があります。

Oracle BIサーバーに対するSQL問合せを作成するには:

1. データ・モデル・エディタで、「新規データ・セット」をクリックし、「SQL問合せ」をクリックします。

2. データ・セットの名前を入力します。

3. 「データソース」ドロップダウン・リストで、Oracle BIサーバー接続を選択します(通常は「Oracle BI EE」と表示されます)。

4. 「クエリー・ビルダー」をクリックして「クエリー・ビルダー」ページを開きます。クエリー・ビルダー・ユーティリティの詳細は、第2.3.3項「SQLクエリー・ビルダーの使用」を参照してください。
SQL構文を手動で「SQL問合せ」テキスト・ボックスに入力することもできますが、Oracle BIサーバーで使用される論理SQL構文を使用する必要があります。

5. 「カタログ」ドロップダウン・リストで、サブジェクト・エリアを選択します(図2-14を参照)。このリストに表示されるのは、Oracle BIサーバー内で定義されているサブジェクト・エリアです。

図2-14 クエリー・ビルダーでのサブジェクト・エリアの選択

6. 問合せの表と列を選択します。

7. 「保存」をクリックします。

8. 「OK」をクリックしてデータ・モデル・エディタに戻ります。生成されるSQLは、スター・スキーマに従う論理SQLです。物理SQLではありません。

9. 変更内容をデータ・モデルに保存します。

2.4 OLAPデータソースに対するMDX問合せを使用したデータ・セットの作成

BI Publisherでは、OLAPデータソースに対するマルチディメンション式(MDX)問合せがサポートされます。MDXを使用すると、マルチディメンション・オブジェクト(たとえばEssbaseキューブ)に対して問合せを実行して、キューブのデータが格納されたマルチディメンション・セル・セットを返すことができます。MDX問合せを作成するには、手動でMDX問合せを入力するか、MDXクエリー・ビルダーを使用して問合せを作成します。

2.4.1 MDX問合せを使用したデータ・セットの作成

MDX問合せを使用してデータ・セットを作成するには:

1. ツールバーの「新規データ・セット」をクリックし、「MDX問合せ」を選択します。「新規データ・セット - MDX問合せ」ダイアログが開きます(図2-15を参照)。

図2-15 「新規データ・セット - MDX問合せ」ダイアログ

2. データ・セットの名前を入力します。

3. このデータ・セットのデータソースを選択します。OLAP接続として定義されたデータソースのみがリストに表示されます。
プライベートOLAPデータソース接続を作成した場合は、その接続も「データソース」ドロップダウン・リストに表示されます。プライベート・データソース接続を作成する方法の詳細は、第1.8項「プライベート・データソースの管理」を参照してください。

4. MDX問合せを入力するか、「クエリー・ビルダー」をクリックします。MDXクエリー・ビルダーの使用方法の詳細は、第2.5項「MDXクエリー・ビルダーの使用」を参照してください。

5. 「OK」をクリックして保存します。この問合せは、データ・モデル・エディタによって検証されます。

注意:

OLAPデータソースでは、どのメタデータ属性(列名や表名など)にもU+F900からU+FFFEまでのUnicode文字が使用されていないことを確認してください。このUnicodeの範囲には、半角の日本語カタカナと、全角のASCIIバリアントが含まれています。これに該当する文字を使用すると、BI Publisherレポート用のXMLデータを生成するときにエラーが発生します。

MDX問合せの記述方法の詳細は、『Oracle Essbaseデータベース管理者ガイド』のMDX問合せ記述方法に関する項を参照してください。

2.5 MDXクエリー・ビルダーの使用

MDXクエリー・ビルダーを使用すると、基本的なMDX問合せをコーディング不要で作成できます。MDXクエリー・ビルダーでは、ディメンションを列、行、ページおよび視点の各軸に追加することや、問合せの結果をプレビューできます。

注意:

MDXクエリー・ビルダーで実行できるのは、Essbaseデータソースに対するデータ・セットの作成のみです。その他すべてのOLAPデータソースについては、問合せを手動で作成する必要があります。

2.5.1 MDXクエリー・ビルダーのプロセスの理解

MDXクエリー・ビルダーを使用してMDX問合せを作成するには:

1. ツールバーの「新規データ・セット」をクリックし、次に「MDX問合せ」を選択して「新規データ・セット - MDX問合せ」ダイアログを開きます。

2. データ・セットの名前を入力します。

3. データソースを選択します。

4. MDXクエリー・ビルダーを起動します。

5. 問合せのEssbaseキューブを選択します。

6. ディメンションやメジャーを選択し、「列」、「行」、「スライサ/POV」、「ページ」の各軸にドラッグ・アンド・ドロップします。

7. (省略可能)アクションを使用して問合せに変更を加えます。

8. (省略可能)フィルタを適用します。

9. 問合せのオプションを設定して問合せを保存します。

2.5.2 「キューブの選択」ダイアログの使用

「キューブの選択」ダイアログでは、MDX問合せの作成に使用するEssbaseキューブを選択します。

選択済のMDXデータソース接続によって、どのEssbaseキューブが選択可能になるかが決まります。

2.5.3 ディメンションおよびメジャーの選択

MDX問合せを作成するには、「列」、「行」、「スライサ/POV」、「ページ」の各軸のディメンションを選択します。

Accountディメンションのメンバーは、メンバー名ごとに個別に一覧表示されます。その他すべてのディメンション・メンバーは、世代名によって表現されます(図2-16を参照)。

ディメンションの世代や個々のメジャーを、「Account」ディメンションから「列」、「行」、「スライサ/POV」、「ページ」の各軸にドラッグできます。

図2-16 MDXクエリー・ビルダーに表示されるディメンション

問合せを作成するには、ディメンションのメンバーまたはメジャーを「ディメンション」パネルから次の軸領域のいずれかにドラッグします。

- 列: 問合せのAxis (0)

- 行: 問合せのAxis (1)

- スライサ/POV: スライサ軸を利用すると、問合せの対象をEssbaseキューブの特定スライスにのみ限定できます。これは、問合せのWHERE句(省略可能)を表します。

- 軸: 問合せのAxis (2)

「列」軸と「行」軸ではディメンションのメンバーをネストできますが、「スライサ/POV」軸では1つのディメンションのみを追加できます。

2.5.3.1 「スライサ/POV」軸へのディメンション・メンバーの追加

ディメンションを「スライサ/POV」軸に追加するときは、「メンバーの選択」ダイアログが開きます。この軸に対して選択できるディメンション・メンバーは1つのみです。ディメンションを「メンバーの選択」ダイアログで選択して「OK」をクリックします。

メジャーを「スライサ/POV」軸に追加する場合は、「メンバーの選択」ダイアログは表示されません。

2.5.4 MDX問合せのアクションの実行

MDXクエリー・ビルダーのツールバーには、MDX問合せに変更を加えるための、次のボタンがあります。

- 「行と列の入替え」をクリックすると、行と列の間でディメンションが入れ替わります。

- 「アクション」をクリックすると、次のメニュー項目が表示されて選択できるようになります。

- キューブの選択: 問合せのための別のEssbaseキューブを選択します。

- 別名表の設定: ディメンション表示名に使用する別名表を選択します。別名は表示にのみ使用され、問合せの中では使用されません。

- 自動リフレッシュ: 「列」、「行」、「スライサ/POV」、「ページ」の各軸にディメンション・メンバーが配置されたときに結果を表示し、MDX問合せ構文を自動的にリフレッシュします。

- 結果のクリア: 結果をクリアし、すべての軸でのメンバー選択および問合せに追加されたフィルタを解除します。

- 空白列の表示: データが格納されていない列を表示します。

- 空白行の表示: データが格納されていない行を表示します。

- 問合せの表示: ディメンションを「列」、「行」、「スライサ/POV」、「ページ」の各軸に配置した結果として作成される、MDX問合せ構文を表示します。

2.5.5 MDX問合せのフィルタの適用

MDXクエリー・ビルダーでは、「列」、「行」、「ページ」の各軸のディメンションに対するフィルタを作成して、MDX問合せをさらに絞り込むことができます。

フィルタを作成するには、「列」、「行」または「ページ」軸のディメンションの右にある下向き矢印ボタンをクリックします。そのディメンションが「フィルタ」領域に表示されます。目的のディメンション・メンバーを選択してフィルタを作成します(図2-17を参照)。

図2-17 MDXクエリー・ビルダーのフィルタ

1つの問合せに対して複数のフィルタを作成できますが、「列」、「行」、「ページ」の軸ごとに作成できるフィルタは1つのみです。

2.5.6 MDX問合せのオプションの選択とMDX問合せの保存

問合せの作成が完了したら、「保存」をクリックすると「オプション」ダイアログが表示されます(図2-18を参照)。

図2-18 「オプション」ダイアログ

「オプション」ダイアログでは、「列」、「行」、「ページ」の各軸のディメンションごとに、問合せに組み込むディメンション・プロパティを選択します。デフォルトでは、プロパティは何も選択されません。

ディメンションのプロパティは次のとおりです。

- メンバーの別名: Essbaseアウトラインに一覧表示される、ディメンション・メンバーの別名。

- 祖先名: Essbaseアウトラインに一覧表示される、祖先ディメンション名。

- レベル番号: Essbaseアウトラインに一覧表示される、ディメンション・レベル番号。

- 生成番号: Essbaseアウトラインに一覧表示される、ディメンションの世代番号。

たとえば、「メンバーの別名」プロパティと「レベル番号」プロパティを選択した場合のMDX問合せは、次のようになります。

SELECT
NON EMPTY Hierarchize([Market].Generations(2).Members)
PROPERTIES MEMBER_ALIAS,LEVEL_NUMBER ON Axis(0),
NON EMPTY CROSSJOIN(Hierarchize([Product].Generations(3).Members),
{[Accounts].[Margin],[Accounts].[Sales],[Accounts].[Total_Expenses]})ON Axis(1),
NON EMPTY [Year].Generations(3).Members ON Axis(2) FROM Demo.Basic

Essbaseのディメンション・プロパティの詳細は、『Oracle Essbaseデータベース管理者ガイド』のプロパティの問合せに関する項を参照してください。

MDX問合せのオプションを選択したら、「OK」をクリックして「新規データ・セット - MDX問合せ」ダイアログに戻り、MDX問合せ出力を確認します(図2-19を参照)。

図2-19 MDX問合せの出力

「OK」をクリックしてデータ・モデル・エディタに戻り、変更内容を保存します。

重要:

MDX問合せをBI Publisherに保存した後で変更を加える場合は、構文をMDXクエリー・ビルダーで変更するのではなく、手動で変更することをお薦めします。

2.6 Oracle BI Analysisを使用したデータ・セットの作成

Oracle Business Intelligenceとの統合を有効にしている場合は、Oracle Business Intelligenceプレゼンテーション・カタログにアクセスすると、データソースとして「Oracle BI Analysis」を選択できるようになります。分析は、ビジネス上の疑問に対する回答を得るための、組織のデータに対する問合せです。問合せには、Oracle BIサーバーに発行される、ベースとなるSQL文が含まれています。

分析を作成する方法の詳細は、『Oracle Fusion Middleware Oracle Business Intelligence Publisherユーザーズ・ガイド』を参照してください。

重要:

階層的な列は、BI Publisherのデータ・モデルではサポートされません。

Oracle BI分析を使用してデータ・セットを作成するには:

1. ツールバーの「新規データ・セット」ボタンをクリックし、「Oracle BI Analysis」を選択します。「新規データ・セット - Oracle BI Analysis」ダイアログが開きます。

2. このデータ・セットの名前を入力します。

3. 参照アイコンをクリックして、Oracle BIプレゼンテーション・カタログに接続します(図2-20を参照)。

図2-20 Oracle BIプレゼンテーション・カタログへの接続

4. カタログ接続のダイアログが開いたら、フォルダに移動して、レポートのデータ・セットとして使用するOracle BI分析を選択します。

5. 「タイムアウト」値を秒数単位で入力します(図2-21を参照)。この「タイムアウト」値に指定した時間を経過してもBI Publisherが分析データを取得できない場合、BI Publisherは分析データの取得の試行を停止します。

図2-21 BI Analysisデータ・セットの作成

6. 「OK」をクリックします。

2.6.1 Oracle BI Analysisデータ・セットに関する注意点

パラメータと値リストは、BI分析から継承され、実行時に表示されます。

BI Analysisには、フィルタ変数用に定義されたデフォルト値が必要です。分析にデフォルト値のないプレゼンテーション変数が含まれていると、BI Publisherではデータソースとしてサポートされなくなります。

Oracle BI Analysisデータ・セットに基づいてデータを構造化する必要がある場合は、グループのブレーク、データのリンクおよびグループ・レベル関数はサポートされません。

サポート対象は次のとおりです。

- グローバル・レベル関数

- 要素がNULLの場合の値の設定

- グループ・フィルタ

前述のサポート対象機能の詳細は、第3章「データの構造化」を参照してください。

2.7 ビュー・オブジェクトを使用したデータ・セットの作成

BI Publisherを使用すると、Oracle Application Development Frameworkで作成したカスタム・アプリケーションに接続して、そのアプリケーションのビュー・オブジェクトをレポートのデータソースとして使用できます。

前提条件: BI Publisherのデータ・モデルを、ビュー・オブジェクトを使用して作成するには、あらかじめビュー・オブジェクトをアプリケーション内に作成しておく必要があります。作成するには、『Oracle Fusion Middleware Oracle Business Intelligence Publisher開発者ガイド』の「ビュー・オブジェクトをデータソースとしてBI Publisherで使用可能にするには」の章のガイドラインを参照してください。

ビュー・オブジェクトを使用してデータ・セットを作成するには:

1. 「新規データ・セット」ツールバー・ボタンをクリックして、「ビュー・オブジェクト」を選択します。「新規データ・セット - ビュー・オブジェクト」ダイアログが開きます。

2. このデータ・セットの名前を入力します。

3. リストから「データソース」を選択します。providers.xmlファイルで定義したデータソースが表示されます。

4. アプリケーション・モジュールの完全修飾名を入力します(例: example.apps.pa.entity.applicationModule.AppModuleAM)。

5. 「ビュー・オブジェクトのロード」をクリックします。
BI Publisherは、アプリケーション・モジュールをコールして、ビュー・オブジェクトのリストをロードします。

6. 「ビュー・オブジェクト」を選択します。

7. 定義済のバインド変数が取得されます。パラメータを作成して、このバインド変数にマッピングします。詳細は、第4章「パラメータと値リストの追加」を参照してください。

8. 「OK」をクリックしてデータ・セットを保存します。

2.7.1 ビュー・オブジェクト・データ・セットに関する注意点

ビュー・オブジェクト・データ・セットに基づいたデータを構造化する場合、グループのブレーク、データのリンクおよびグループ・レベル関数はサポートされません。

サポート対象は、要素がNULLの場合の値の設定です。

このサポート対象機能の詳細は、第3章「データの構造化」を参照してください。

2.8 Webサービスを使用したデータ・セットの作成

BI Publisherでは単純および複合的なWebサービス・データソースを使用して有効なXMLデータを返すデータ・セットをサポートしています。

Webサービスのメソッドのパラメータを含めるには、先にパラメータを定義して、そのメソッドをデータソースの設定時に選択できるようにすることをお薦めします。第4章「パラメータと値リストの追加」を参照してください。

複数のパラメータがサポートされています。メソッド名が正しいことと、パラメータの順序がメソッド内での順序と一致することを確認します。Webサービスで2つのパラメータを受け入れるメソッドをコールする場合、メソッド内の2つのパラメータに対して、レポート内で定義した2つのパラメータをマッピングする必要があります。サポートされているパラメータは、文字列や整数などの単純型のパラメータのみです。

重要:

文書またはリテラルのWebサービスのみがサポートされます。

パラメータを指定するには、「パラメータの追加」をクリックし、パラメータをドロップダウン・リストから選択します。

注意:

パラメータは、レポート定義の「パラメータ」セクションで設定する必要があります。詳細は、第4章「パラメータと値リストの追加」を参照してください。

2.8.1 Webサービスを使用したデータ・セットの作成

次の方法でWebサービス・データソースを設定できます。

- 「管理」ページ
Webサービス・データソースへの接続を「管理」ページで設定し、複数のデータ・モデルで使用できます。詳細は、『Oracle Fusion Middleware Oracle Business Intelligence Publisher管理者ガイド』のWebサービスへの接続の設定に関する項を参照してください。

- プライベート・データソースとして
自分のみアクセス可能なプライベート接続を設定することもできます。プライベート・データソース接続の詳細は、第1.8項「プライベート・データソースの管理」を参照してください。

データ・モデルを作成する前に接続を設定する必要があります。

BI Publisherでは単純および複合的なWebサービス・データソースを使用して有効なXMLデータを返すデータ・セットをサポートしています。

- 第2.8.1.1項「単純なWebサービスを使用したデータ・セットの作成」

- 第2.8.1.2項「複合的なWebサービスを使用したデータ・セットの作成」

2.8.1.1 単純なWebサービスを使用したデータ・セットの作成

Webサービスでコールできるメソッドとパラメータがわからない場合は、このURLをブラウザで開いて確認してください。

単純なWebサービスを使用してデータ・セットを作成するには:

1. ツールバーの「新規データ・セット」ボタンをクリックし、「Webサービス」を選択します。「新規データ・セット - Webサービス」ダイアログが開きます(図2-22を参照)。

図2-22 単純なWebサービス接続を使用したデータ・セットの作成

2. データ・セット名を入力します。

3. データソースを選択します。
「WSDL URL」、「Webサービス」および「メソッド」の各フィールドには、Webサービス・データソースから自動的に移入されます。

4. Webサービスの使用可能なメソッドのリストからメソッドを選択します。

5. 「OK」をクリックします。

6. 次のようにして、Webサービス・データ・セットに使用できるようにパラメータを定義します。

- 「データ・モデル」ペインで「パラメータ」を選択し、「新規パラメータの作成」をクリックして次の属性を入力します。

- 名前 - このパラメータの内部的な識別子を入力します(たとえば「Symbol」)。

- データ型 - 「文字列」を選択します。

- デフォルト値 - 必要に応じて、パラメータのデフォルト値を入力します(例 - ORCL)。

- パラメータ・タイプ - 「テキスト」を選択します。

- 行配置 - 行配置の値を選択します。デフォルトは1です。

- 「New_Parameter_1:タイプ: テキスト」リージョンで、次の属性を入力します。

- 表示ラベル - このパラメータに対して表示するラベルを入力します(例: 「Stock Symbol」)。

- テキスト・フィールド・サイズ - テキスト入力フィールドのサイズを文字数単位で入力します。

図2-23 パラメータの作成

- (オプション) 次のパラメータ・オプションを選択します。

- テキスト・フィールドにカンマ区切りの値を含む - このオプションを選択すると、ユーザーはこのパラメータに対してカンマ区切りの複数の値を入力できます。

- 変更時に他のパラメータをリフレッシュ - このパラメータの値に依存する値を持つ他のパラメータをリフレッシュするために、ページの部分的なリフレッシュを実行します。

7. Webサービス・データ・セットに戻り、パラメータを次のとおりに追加します。

- データ・セット名をクリックします。

- ツールバーの「選択したデータ・セットの編集」をクリックして「データ・セットの編集」ダイアログを開きます。

- 「データ・セットの編集」ダイアログで、「パラメータの追加」をクリックします。パラメータが表示されます(図2-24を参照)。

- パラメータの名前を入力し、「OK」をクリックして「データ・セットの編集」ダイアログを閉じます。

- 図2-24 Webサービス・データ・セットへのパラメータの追加

8. 「保存」をクリックします。

2.8.1.2 複合的なWebサービスを使用したデータ・セットの作成

BI Publisherでは複合的なWebサービス・データソースを使用して有効なXMLデータを返すデータ・セットをサポートしています。複合的なWebサービス・タイプは、内部でsoapRequest/soapEnvelopeを使用して、接続先ホストにパラメータ値を渡します。

データ・セットで複合的なWebサービスをデータソースとして使用している場合、データ・モデル・エディタにはWSDL URL、使用可能なWebサービスおよび複合的なWebサービスに関連付けられた操作が表示されます。選択した操作のそれぞれについて、必要な入力パラメータの構造がデータ・モデル・エディタに表示されます。「オプション・パラメータの表示」を選択した場合、オプション・パラメータもすべて表示されます。

Webサービスで使用できるメソッドとパラメータがわからない場合は、このWSDL URLをブラウザで開いて確認します。

複合的なWebサービスをデータソースとして追加するには:

1. データ・セットの情報を次のとおりに入力します。

- データ・セット名を入力します。

- データソースを選択します。「WSDL URL」および「Webサービス」の各フィールドには、複合的なWebサービス・データソースから自動的に移入されます。

- 「メソッド」を選択します。
選択可能なメソッドは、複合的なWebサービス・データソースに基づいて決まります。メソッドを選択すると、「パラメータ」が表示されます。オプション・パラメータを表示するには、「オプション・パラメータの表示」を選択します。

- ResponseData XPath - レポート用のXMLデータの開始位置が、Webサービス・リクエストで生成されたレスポンスXMLの深い位置に埋め込まれている場合は、このフィールドを使用してBI Publisherレポートに使用するデータへのパスを指定します。

2. 次のようにして、Webサービス・データ・セットに使用できるようにパラメータを定義します。

- 「レポート」定義ペインで「パラメータ」を選択し、「新規」をクリックしてパラメータを作成します。

- 次のパラメータ属性を選択します。

- 名前 - パラメータの内部識別子を入力します。

- データ型 - パラメータに適したデータ型を選択します。

- デフォルト値 - 必要に応じて、パラメータのデフォルト値を入力します。

- パラメータ・タイプ - 適切なパラメータ・タイプを選択します。

- 表示ラベル - パラメータに表示するラベルを入力します。

- テキスト・フィールド・サイズ - テキスト入力フィールドのサイズを文字数単位で入力します。

3. Webサービス・データ・セットに戻り、パラメータを追加します。

- Webサービス・データ・セットを選択してから、「選択したデータ・セットの編集」をクリックして「データ・セットの編集」ダイアログを開きます。

- 図2-25に示すとおりにパラメータを選択します。

- 図2-25 複合的なWebサービスのパラメータの入力

4. Webサービスをテストする場合は、第2.15項「データ・モデルのテストとサンプル・データの生成」を参照してください。

2.8.2 Webサービス・データ・セットについての追加情報

Webサービス・データ・セットから得られるメタデータは存在しないため、グループとリンクはサポートされません。

2.9 LDAP問合せを使用したデータ・セットの作成

BI Publisherでは、Lightweight Directory Access Protocol (LDAP)データソースに対する問合せをサポートしています。LDAPディレクトリに格納されているユーザー情報を問い合せてから、データ・モデル・エディタを使用すると、そのユーザー情報をその他のデータソースから取得したデータとリンクできます。

たとえば、データベース・アプリケーションに格納されている従業員の給与情報をリストするレポートを生成するときに、LDAPディレクトリに格納されている従業員の電子メール・アドレスもレポートに含める場合などです。それぞれを対象にした問合せを作成してから、それら2つをデータ・モデル・エディタでリンクすることで単一のレポートに情報を表示できます。図2-26に、LDAP問合せの例を示します。

図2-26 LDAP問合せの例

LDAP問合せを使用してデータ・セットを作成するには:

1. ツールバーの「新規データ・セット」ボタンをクリックし、「LDAP問合せ」を選択します。「新規データ・セット - LDAP問合せ」ダイアログが開きます。

2. このデータ・セットの名前を入力します。

3. このデータ・セットの「データソース」を選択します。LDAP接続として定義されているデータソースのみがリストに表示されます。

4. 「検索ベース」フィールドで、ディレクトリ・ツリー内を検索する開始ポイントを入力します。

注意:

「検索ベース」は、LDAPプロバイダがMicrosoft Active Directoryの場合に必要です。「検索ベース」では、ディレクトリ・ツリー内を検索する開始ポイントを定義します。たとえば、ディレクトリ全体を問い合わせる場合、rootを指定します。

開始ポイントを指定するには、カンマで区切られた各階層のオブジェクトを、階層の一番下のレベルから入力します。たとえば、mycompany.comドメインで「販売」コンテナを検索するには、次のように入力します。

ou=Sales,dc=mycompany,dc=com

5. 「属性」入力ボックスには、LDAPデータソースからフェッチする値を保持する属性を入力します。
次に例を示します。

mail,cn,givenName

6. 問合せにフィルタを適用するには、「フィルタ」入力ボックスに適切な構文を入力します。構文は次のとおりです。

(Operator (Filter)through(Filter))

次に例を示します。

(objectclass=person)

LDAP検索フィルタは、Internet Engineering Task Force (IETF)のRequest for Comments文書2254、『The String Representation of LDAP Search Filters』(RFC 2254)で定義されています。この文書は、IETFのWebサイト(http://www.ietf.org/rfc/rfc2254.txt)から入手できます。

7. この問合せからのデータを他の問合せからのデータにリンクさせるか、出力の構造に変更を加えます。このステップの手順については、第3章「データの構造化」を参照してください。

2.10 XMLファイルを使用したデータ・セットの作成

XMLファイルをデータソースとして使用するには、次のいずれかを実行します。

- 管理者によってデータソースとして設定されたディレクトリに、XMLファイルを置きます。詳細は、『Oracle Fusion Middleware Oracle Business Intelligence Publisher管理者ガイド』のファイル・データソースへの接続の設定に関する項を参照してください。

- XMLファイルをローカル・ディレクトリからデータ・モデルにアップロードします。

重要:

BI Publisherのレイアウト・エディタとインタラクティブ・ビューアを使用するには、XMLファイル・ソースからのサンプル・データがデータ・モデルに保存されている必要があります。

2.10.1 サポートされるXMLファイルについて

BI Publisherのデータ・セット・タイプとしてのXMLファイルのサポートに関するガイドラインは、次のとおりです。

- BI Publisherデータ・エンジンへの入力として使用されるXMLファイルは、UTF-8でエンコードされている必要があります。

- XMLタグ名では、~、!、#、$、%、^、&、*、+、`、|、:、\"、\\、<、>、?、,、/を使用しないでください。データソース・ファイルにこれらの文字が含まれている場合は、データ・モデル・エディタの「構造」タブを使用して、受け入れられるタグ名に変更してください。

- XMLファイルは有効でなければなりません。Oracleは、XMLファイルを検証するための多数のユーティリティと方法を用意しています。

- XMLファイル・データ・セットから得られるメタデータは存在しないため、グループとリンクはサポートされません。

2.10.2 ファイル・ディレクトリ・データソースに格納されたXMLファイルの使用

ファイル・ディレクトリ・データソースにあるXMLファイルを使用してデータ・セットを作成するには:

1. ツールバーの「新規データ・セット」をクリックし、「XMLファイル」を選択します。「新規データ・セット - XMLファイル」ダイアログが開きます(図2-27を参照)。

図2-27 「新規データ・セット - XMLファイル」ダイアログ

2. データ・セットの名前を入力します。

3. 「共有」をクリックして、「データソース」リストを有効にします。これは、デフォルトで選択されているオプションです。

4. XMLファイルが存在する「データソース」を選択します。このリストは、構成済のファイル・データソース接続から移入されます。

5. 「ファイル名」の右の「参照」をクリックし、データソースに接続して、使用可能なディレクトリの一覧から選択します。ファイルを選択します。

6. 「OK」をクリックします。

7. (必須)サンプル・データをデータ・モデルに保存します。第2.15項「データ・モデルのテストとサンプル・データの生成」を参照してください。

2.10.3 ローカルに格納されたXMLファイルのアップロード

ローカルに格納されたXMLファイルを使用してデータ・セットを作成するには:

1. ツールバーの「新規データ・セット」をクリックし、「XMLファイル」を選択します。「新規データ・セット - XMLファイル」ダイアログが開きます(図2-28を参照)。

図2-28 「新規データ・セット - XMLファイル」ダイアログ

2. このデータ・セットの名前を入力します。

3. 「ローカル」を選択します。「アップロード」ボタンが有効になります。

4. 「アップロード」をクリックし、ローカル・ディレクトリにあるXMLファイルを選択してアップロードします。このファイルがすでにデータ・モデルにアップロードされている場合は、「ファイル名」リストから選択できるようになっています。

5. 「アップロード」をクリックします。

6. 「OK」をクリックします。

7. (必須)サンプル・データをデータ・モデルに保存します。第2.15項「データ・モデルのテストとサンプル・データの生成」を参照してください。

2.10.3.1 アップロードしたXMLファイルのリフレッシュと削除

ファイルをアップロードすると、そのファイルはデータ・モデルの「プロパティ」ペインにある「添付ファイル」リージョンに表示されます(図2-29を参照)。

図2-29 「プロパティ」ペインの「添付ファイル」リージョン

「プロパティ」ペインの詳細は、第1.7項「データ・モデルのプロパティの設定」を参照してください。

データ・モデル内のローカル・ファイルをリフレッシュするには:

1. コンポーネント・ペインの「データ・モデル」をクリックして「プロパティ」ページを表示します。

2. このページの「添付」リージョンで、「データ・ファイル」リストからファイルを見つけます。

3. 「リフレッシュ」をクリックします。

4. 「アップロード」ダイアログで、最新バージョンのファイルを参照してアップロードします。このファイルには同じ名前を付ける必要があります。別の名前を付けると古いバージョンは置き換えられません。

5. データ・モデルを保存します。

ローカル・ファイルを削除するには:

1. コンポーネント・ペインの「データ・モデル」をクリックして「プロパティ」ページを表示します。

2. このページの「添付」リージョンで、「データ・ファイル」リストからファイルを見つけます。

3. 「削除」をクリックします。

4. 「OK」をクリックして処理を確認します。

5. データ・モデルを保存します。

2.11 Microsoft Excelファイルを使用したデータ・セットの作成

Microsoft Excelファイルをデータソースとして使用するには、次のいずれかの方法でファイルをBI Publisherに渡します。

- データソースとして管理者が設定したディレクトリにファイルを格納します。『Oracle Fusion Middleware Oracle Business Intelligence Publisher管理者ガイド』のファイル・データソースへの接続の設定に関する項を参照してください。

- ローカル・ディレクトリからデータ・モデルにファイルをアップロードします。

2.11.1 サポートされるExcelファイルについて

BI Publisherのデータ・セット・タイプとしてサポートされるMicrosoft Excelファイルのガイドラインは、次のとおりです。

- Microsoft Excelファイルは、Microsoft Excelを使用してExcel 97-2003のワークブック(*.xls)形式で保存されている必要があります。サード・パーティ製のアプリケーションやライブラリで作成されたファイルは、サポートされません。

- ソースのExcelファイルの中のシートは、単一でも複数でもかまいません。

- 各ワークシートに、1つ以上の表を入れることができます。1つの表とは、1つのシート内の連続した行と列に配置されたデータのブロックです。
それぞれの表について、BI Publisherは、常に最初の行を表のヘッダー行と見なします。

- この表内のデータ型は、数値、テキストまたは日付/時間にできます。

- 単一のワークシート内に複数の表が存在する場合は、それぞれをBI Publisherで認識するために、名前で識別される必要があります。第2.11.2項「シートごとの複数の表にアクセスする際のガイドライン」を参照してください。

- Excelファイル内の表のすべてに名前が付けられていない場合は、最初の表(最も左上に配置された表)のデータのみが認識され、そのデータのみがフェッチされます。

- データ・セットの作成時、BI Publisherは、数値に対して常に小数点以下の末尾のゼロをすべて切り捨てます。最終的なレポートで末尾のゼロを保持するには、そのゼロが表示されるように、テンプレートで書式マスクを適用する必要があります。書式マスクの詳細は、『Oracle Fusion Middleware Oracle Business Intelligence Publisherレポート・デザイナーズ・ガイド』の数値、日付および通貨の書式設定に関する項を参照してください。

- 単一値パラメータはサポートされますが、複数値パラメータはサポートされません。

2.11.2 シートごとの複数の表にアクセスする際のガイドライン

Excelワークシートにデータソースとして含める複数の表が格納されている場合は、Excelで、それぞれの表に名前を定義する必要があります。

重要:

定義する名前は、接頭辞BIP_で始まる必要があります(例: BIP_SALARIES)。

Excelで表の名前を定義するには:

1. Excelで表を挿入します。

2. 次の手順で、表に名前を定義します。
Excel 2003を使用する場合: 表を選択します。「挿入」メニューで、「名前」、「定義」の順にクリックします。接頭辞のBIP_を付けた名前を入力します。

Excel 2007を使用する場合: 表を選択します。「数式」タブの「定義された名前」グループ内で、「名前の定義」をクリックして、「名前」フィールドに名前を入力します。入力した名前が「数式」バーに表示されます。

ヒント:

「定義された名前」とその使用方法の詳細は、次のURLにアクセスしてMicrosoft Excel 2007のドキュメント「数式で名前を定義し使用する」を参照してください。

http://office.microsoft.com/ja-jp/excel-help/define-and-use-names-in-formulas-HA010147120.aspx

図2-30は、Microsoft Excel 2007の「名前の定義」コマンドを使用して、表にBIP_Salariesという名前を付ける方法を示しています。

図2-30 Microsoft Excelの「名前の定義」コマンドの使用方法

2.11.3 ファイル・ディレクトリ・データソースに格納されたMicrosoft Excelファイルの使用

データ・セットにパラメータを含めるには、最初にパラメータを定義して、それらのパラメータをデータ・セットの定義時に選択できるようにしておく必要があります。第4章「パラメータと値リストの追加」を参照してください。

重要:

Excelデータ・セット・タイプでは、パラメータごとに1つの値がサポートされます。複数パラメータの選択はサポートされていません。

ファイル・ディレクトリ・データソースにあるMicrosoft Excelファイルを使用してデータ・セットを作成するには:

1. ツールバーの「新規データ・セット」ボタンをクリックし、「Microsoft Excelファイル」を選択します。「新規データ・セット - Microsoft Excelファイル」ダイアログが開きます。

2. このデータ・セットの名前を入力します。

3. 「共有」をクリックして、「データソース」リストを有効にします。

4. Microsoft Excelファイルが存在するデータソースを選択します。

5. 「ファイル名」フィールドの右にある参照アイコンをクリックして、データソース・ディレクトリ内のMicrosoft Excelファイルを選択します。ファイルを選択します。

6. Excelファイルに複数のシートや表が含まれている場合には、このデータ・セットに適した「シート名」および「表名」を選択します(図2-31を参照)。

図2-31 シート名の選択

7. このデータ・セットにパラメータを追加する場合は、「パラメータの追加」をクリックします。「名前」を入力して、「値」を選択します。「値」リストには、「パラメータ」セクションで定義したパラメータの「名前」が移入されます。単一値パラメータのみがサポートされます。第4章「パラメータと値リストの追加」を参照してください。

8. 「OK」をクリックします。

9. この問合せからのデータを他の問合せからのデータにリンクさせるか、出力の構造に変更を加えます。問合せどうしをリンクさせる方法の詳細は、第3章「データの構造化」を参照してください。

2.11.4 ローカルに格納されたMicrosoft Excelファイルのアップロード

データ・セットにパラメータを含めるには、最初にパラメータを定義して、そのパラメータをデータ・セットの定義時に選択できるようにしてください。第4章「パラメータと値リストの追加」を参照してください。

重要:

Excelデータ・セット・タイプでは、パラメータごとに1つの値がサポートされます。複数パラメータの選択はサポートされていません。

ローカルに格納されたMicrosoft Excelファイルを使用してデータ・セットを作成するには:

1. 「新規データ・セット」ツールバー・ボタンをクリックして、「Microsoft Excelファイル」を選択します。「データ・セットの作成 - Excel」ダイアログが開きます。

2. このデータ・セットの名前を入力します。

3. 「ローカル」を選択して、アップロード・ボタンを有効にします。

4. 「アップロード」アイコンをクリックし、ローカル・ディレクトリのMicrosoft Excelファイルを参照して、アップロードします。このファイルがすでにデータ・モデルにアップロードされている場合は、「ファイル名」リストから選択できます。

5. Excelファイルに複数のシートや表が含まれている場合には、このデータ・セットに適した「シート名」および「表名」を選択します(図2-32を参照)。

図2-32 Excelスプレッドシートからのデータ・セットの作成

6. このデータ・セットにパラメータを追加する場合は、「パラメータの追加」をクリックします。「名前」を入力して、「値」を選択します。「値」リストには、「パラメータ」セクションで定義したパラメータの「名前」が移入されます。単一値パラメータのみがサポートされます。第4章「パラメータと値リストの追加」を参照してください。

7. 「OK」をクリックします。

8. この問合せからのデータを他の問合せからのデータにリンクさせるか、出力の構造に変更を加えます。問合せどうしをリンクさせる方法の詳細は、第3章「データの構造化」を参照してください。

2.11.4.1 アップロードしたExcelファイルのリフレッシュと削除

ファイルをアップロードすると、そのファイルはデータ・モデルの「プロパティ」ペインにある「添付ファイル」リージョンに表示されます(図2-33を参照)。

図2-33 「プロパティ」ペインの「添付ファイル」リージョン

「プロパティ」ペインの詳細は、第1.7項「データ・モデルのプロパティの設定」を参照してください。

データ・モデル内のローカル・ファイルをリフレッシュするには:

1. コンポーネント・ペインで「データ・モデル」をクリックして、「プロパティ」ページを表示します。

2. このページの「添付」リージョンで、「データ・ファイル」リストからファイルを見つけます。

3. 「リフレッシュ」をクリックします。

4. 「アップロード」ダイアログで、最新バージョンのファイルを参照してアップロードします。このファイルには同じ名前を付ける必要があります。別の名前を付けると古いバージョンは置き換えられません。

5. データ・モデルを保存します。

ローカル・ファイルを削除するには:

1. コンポーネント・ペインで「データ・モデル」をクリックして、「プロパティ」ページを表示します。

2. このページの「添付」リージョンで、「データ・ファイル」リストからファイルを見つけます。

3. 「削除」をクリックします。

4. 「OK」をクリックして処理を確認します。

5. データ・モデルを保存します。

2.12 CSVファイルを使用したデータ・セットの作成

CSVファイルをデータソースとして使用するには、次のいずれかを実行します。

- 管理者によってデータソースとして設定されたディレクトリに、CSVファイルを置きます。詳細は、『Oracle Fusion Middleware Oracle Business Intelligence Publisher管理者ガイド』のファイル・データソースへの接続の設定に関する項を参照してください。

- CSVファイルをローカル・ディレクトリからデータ・モデルにアップロードします。

2.12.1 サポートされるCSVファイルについて

BI Publisherのデータ・セット・タイプとしてのCSVファイルのサポートに関するガイドラインは、次のとおりです。

- CSVファイルのデリミタとしてサポートされるのは、カンマ、パイプ、セミコロンおよびタブです。

- CSVファイルの中にヘッダーがある場合は、ヘッダーの名前がXMLタグ名として使用されます。XMLタグ名では、~、!、#、$、%、^、&、*、+、`、|、:、\"、\\、<、>、?、,、/はサポートされません。データソース・ファイルのヘッダー名にこれらの文字が含まれている場合は、データ・モデル・エディタの「構造」タブを使用してタグ名を編集してください。

- CSVデータ・セットでは、データ・モデル・エディタによって割り当てられたデータ型の編集がサポートされます。詳細は、第2.12.3.1項「データ型の編集」を参照してください。データ・セット内の要素のデータ型を更新する場合は、選択したデータ型にファイル内のデータが準拠していることを確認してください。

- BI Publisherデータ・エンジンへの入力として使用されるCSVファイルは、UTF-8でエンコードされている必要があります。また、空の列ヘッダーが含まれていてはなりません。

- グループのブレーク、データのリンク、式およびグループ・レベル関数はサポートされません。

- CSVファイル内のデータ・フィールドの形式は、マッピングされる日付要素については標準ISOデータ書式(例: 2012-01-01T10:30:00-07:00)、マッピングされる数値要素については######.##であることが必要です。

- CSVファイルに対するデータ検証は用意されていません。

2.12.2 ファイル・ディレクトリ・データソースに格納されたCSVファイルの使用

ファイル・ディレクトリ・データソースにあるCSVファイルを使用してデータ・セットを作成するには:

1. データ・モデル・エディタのツールバーの「新規データ・セット」をクリックし、「CSVファイル」を選択します。「新規データ・セット - CSVファイル」ダイアログが開きます(図2-34を参照)。

図2-34 「新規データ・セット - CSVファイル」ダイアログ

2. このデータ・セットの名前を入力します。

3. 「共有」をクリックして、「データソース」リストを有効にします。

4. 「データソース」で、CSVファイルが存在するデータソースを選択します。このリストは、構成済のファイル・データソース接続から移入されます。

5. 「参照」をクリックしてデータソースに接続し、使用可能なディレクトリを参照します。ファイルを選択します。

6. (省略可能)ファイルの最初の行に列名が格納されていることを指定するには、「最初の行は列ヘッダーです」を選択します。このオプションを選択しない場合は、列にはColumn1、Column2のような汎用名が割り当てられます。割り当てられたXMLタグ名および表示名は、データ・モデル・エディタの「構造」タブで編集できます。

7. 「CSVデリミタ」で、ファイルで使用されているデリミタを選択します。デフォルトでは「カンマ(,)」が選択されます。

8. 「OK」をクリックします。

2.12.3 ローカルに格納されたCSVファイルのアップロード

ローカルに格納されたCSVファイルを使用してデータ・セットを作成するには:

1. ツールバーの「新規データ・セット」をクリックし、「CSVファイル」を選択します。「新規データ・セット - CSVファイル」ダイアログが開きます(図2-35を参照)。

図2-35 「新規データ・セット - CSVファイル」ダイアログ

2. このデータ・セットの名前を入力します。

3. 「ローカル」を選択します。「アップロード」ボタンが有効になります。

4. 「アップロード」をクリックし、ローカル・ディレクトリにあるCSVファイルを選択してアップロードします。このファイルがすでにデータ・モデルにアップロードされている場合は、「ファイル名」リストから選択できるようになっています。

5. (省略可能)ファイルの最初の行に列名が格納されていることを指定するには、「最初の行は列ヘッダーです」を選択します。このオプションを選択しない場合は、列にはColumn1、Column2のような汎用名が割り当てられます。割り当てられたXMLタグ名および表示名は、データ・モデル・エディタの「構造」タブで編集できます。

6. 「CSVデリミタ」で、ファイルで使用されているデリミタを選択します。デフォルトでは「カンマ(,)」が選択されます。

7. 「OK」をクリックします。

2.12.3.1 データ型の編集

CSVファイル要素のデータ型を編集するには、データ型アイコンをクリックするか、要素の「プロパティ」ダイアログで更新します。

要素のデータは、割り当てられたデータ型に準拠している必要があります。ユーザー・インタフェースには、データ型を更新するときにデータを検証する機能はありません。データが一致しない場合(たとえば、整数として定義された要素に対して文字列値が存在する場合)は、レイアウト編集ツールで、または実行時にエラーが発生する可能性があります。

データ型を更新できるのは、データソースがCSVファイルの場合のみです。

2.12.3.2 アップロードしたCSVファイルのリフレッシュと削除

ファイルをアップロードすると、そのファイルはデータ・モデルの「プロパティ」ペインにある「添付」リージョンに表示されます(図2-36を参照)。

図2-36 「プロパティ」ペインの「添付ファイル」リージョン

「プロパティ」ペインの詳細は、第1.7項「データ・モデルのプロパティの設定」を参照してください。

データ・モデル内のローカル・ファイルをリフレッシュするには:

1. コンポーネント・ペインの「データ・モデル」をクリックして「プロパティ」ページを表示します。

2. このページの「添付」リージョンで、「データ・ファイル」リストからファイルを見つけます。

3. 「リフレッシュ」をクリックします。

4. 「アップロード」ダイアログで、最新バージョンのファイルを参照してアップロードします。このファイルには同じ名前を付ける必要があります。別の名前を付けると古いバージョンは置き換えられません。

5. データ・モデルを保存します。

ローカル・ファイルを削除するには:

1. コンポーネント・ペインの「データ・モデル」をクリックして「プロパティ」ページを表示します。

2. このページの「添付」リージョンで、「データ・ファイル」リストからファイルを見つけます。

3. 「削除」をクリックします。

4. 「OK」をクリックして処理を確認します。

5. データ・モデルを保存します。

2.13 HTTP XML入力からのデータ・セットの作成

HTTP (XML入力)データ・セット・タイプを使用すると、HTTP GETメソッドでデータを取得して、Web上のRSSフィードおよびXML入力からデータ・モデルを作成できます。

重要:

システムのセキュリティに応じて、外部データソースのフィードにアクセスするために追加の構成が必要になることがあります。RSSフィードがSecure Sockets Layer (SSL)によって保護されている場合は、『Oracle Fusion Middleware Oracle Business Intelligence Publisher管理者ガイド』のSecure Sockets Layer (SSL)通信用にBI Publisherを構成する方法に関する項を参照してください。

データ・セットにパラメータを含めるには、先にパラメータを定義して、そのパラメータをデータ・セットの定義時に選択できるようにすることをお薦めします。第4章「パラメータと値リストの追加」を参照してください。

HTTP XML入力データ・セットから得られるメタデータは存在しないため、グループとリンクはサポートされません。

2.13.1 HTTP XMLデータ・セットからのデータ・セットの作成

次の2つの異なる方法によってHTTP (XML入力)データソースを設定できます。

- 「管理」ページ
HTTPデータソースへの接続を「管理」ページで設定し、複数のデータ・モデルで使用できます。詳細は、『Oracle Fusion Middleware Oracle Business Intelligence Publisher管理者ガイド』のHTTP XML入力への接続の設定に関する項を参照してください。

- プライベート・データソースとして
自分のみアクセス可能なプライベート接続を設定することもできます。プライベート・データソース接続の詳細は、第1.8項「プライベート・データソースの管理」を参照してください。

HTTP XML入力からデータ・セットを作成するには:

1. ツールバーの「新規データ・セット」をクリックし、「HTTP(XML入力)」を選択します。「新規データ・セット - HTTP(XML入力)」ダイアログが開きます(図2-37を参照)。

図2-37 「新規データ・セット - HTTP(XML入力)」ダイアログ

2. このデータ・セットの名前を入力します。

3. データソースを選択します。

4. RSSフィードまたはXML入力のURL接尾辞を入力します。

5. 「メソッド」で「GET」を選択します。

6. パラメータを追加するには、「パラメータの追加」をクリックします。「名前」を入力して、「値」を選択します。「値」リストには、「パラメータ」セクションで定義したパラメータの「名前」が移入されます。第4章「パラメータと値リストの追加」を参照してください。

7. 「OK」をクリックして、データ・セットのダイアログを閉じます。

2.14 キャラクタ・ラージ・オブジェクト(CLOB)として格納されたデータのデータ・モデル内での使用方法

BI Publisherでは、キャラクタ・ラージ・オブジェクト(CLOB)データ型として格納されたデータのデータ・モデル内での使用をサポートしています。この機能によって、別のプロセスで生成してデータベースに保存してあるXMLデータを、BI Publisherデータ・モデルへの入力として使用できます。

クエリー・ビルダーを使用して、SQL問合せで列を取得してから、データ・モデル・エディタを使用して、必要なデータ構造を指定します。データ・モデルの実行時に、データ・エンジンは次のいずれかの形式でデータを構造化します。

- レポートに表示できるXMLタグ名内のプレーンな文字セット(例: 項目の説明)

- 構造化XML

注意:

必ずデータに改行またはキャリッジ・リターンが含まれないようにしてください。データ内の改行およびキャリッジ・リターンは、BI Publisherレポートのレイアウトで予期したように表示されないことがあります。

CLOBとして格納されたデータからデータ・セットを作成するには:

1. ツールバーの「新規データ・セット」をクリックし、「SQL問合せ」を選択します。「新規データ・セット - SQL問合せ」ダイアログが開きます。

2. データ・セットの名前を入力します。

3. このデータ・セットのデフォルト・データソースを使用しない場合は、リストから「データソース」を選択します。

4. SQL問合せを入力するか、「クエリー・ビルダー」を使用してCLOBデータ列を取得する問合せを作成します。クエリー・ビルダー・ユーティリティの詳細は、第2.3.3項「SQLクエリー・ビルダーの使用」を参照してください。図2-38は、列名DESCRIPTIONにCLOBデータが格納されている場合の問合せの例です。

図2-38 問合せの例

5. 問合せの入力後に、「OK」をクリックして保存します。BI Publisherによって、問合せが検証されます。

6. デフォルトでは、データ・モデル・エディタはCLOB列にCLOBデータ型を割り当てます。データ型をXMLに変更するには、データ型アイコンをクリックして「XML」を選択します(図2-39を参照)。

図2-39 XMLへのデータ型の変更

2.14.1 データが返される方法

問合せの実行時、CLOB列に整形式XMLが含まれていると、データ・エンジンはCLOB列のタグ名内に構造化されたXMLデータを返します。

データ型がXMLの場合の出力例:

<DESCRIPTION>要素には、CLOB列内に格納されたXMLデータが含まれています(図2-40を参照)。

図2-40 データ型がXMLの場合のデータ構造例

データ型がCLOBの場合の出力例

CLOBデータ型としてデータが返されるように選択している場合、返されるデータは図2-41に示すように構造化されます。

図2-41 データ型がCLOBの場合のデータ構造の例

2.14.1.1 CLOB列データを使用したデータ・セットの注意点

バースティング問合せでCLOB列を使用する際に特有の注意点は、第7.3項「バースティング定義のデータ・モデルへの追加」を参照してください。

2.14.2 CLOB列に格納されたXHTMLデータの処理

BI Publisherでは、データベースのCLOB列に格納されたXHTML文書形式のデータを取得して、生成されたレポートでマークアップをレンダリングできます。BI Publisherレポート・レンダリング・エンジンでマークアップ・タグを処理できるようにするには、データ・エンジンから渡されたXMLレポート・データ内で、XHTMLデータをCDATAセクション内にラッピングする必要があります。

CDATAセクションでラッピングされたデータをデータベースに格納することをお薦めします。これにより、単純なSELECT文を使用してデータを抽出できます。データがCDATAセクション内にラッピングされていない場合は、そのデータをラッピングするための命令をSQL文に含める必要があります。

次の各項では、それぞれの場合でXHTMLデータを抽出する方法について説明しています。

- CDATA内にラッピングされたXHTMLデータの取得

- 問合せでのCDATA内へのXHTMLデータのラッピング

マークアップをレポート内に表示するには、『Oracle Fusion Middleware Oracle Business Intelligence Publisherレポート・デザイナーズ・ガイド』のレポートでHTML形式のデータをレンダリングする方法に関する項に記載されている構文を使用する必要があります。この項には、サポートされるHTML形式についての説明もあります。レポート内でのHTMLマークアップのレンダリングは、RTFテンプレートに対してのみサポートされます。

2.14.2.1 CDATA内にラッピングされたXHTMLデータの取得

次のデータが、CLOB_DATAというデータベース列に格納されていると仮定します。

<![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>
]]>

次の例に示すような単純なSQL文を使用して列データを取得します。

select CLOB_DATA as "RTECODE"  from MYTABLE

データ・モデル・エディタで、RTECODE列のデータ型をXMLに設定します(図2-42を参照)。

図2-42 データ型をXMLに設定

2.14.2.2 問合せでのCDATA内へのXHTMLデータのラッピング

次のデータが、CLOB_DATAというデータベース列に格納されていると仮定します。

<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>

次の構文をSQL問合せ内で使用して、そのデータを取得し、それをCDATAセクション内にラッピングします。

select '<![CDATA' || '['|| CLOB_DATA || ']' || ']>' as "RTECODE"from MYTABLE

データ・モデル・エディタで、RTECODE列のデータ型をXMLに設定します(図2-42を参照)。

2.15 データ・モデルのテストとサンプル・データの生成

データ・モデル・エディタにはデータ・モデルをテストして出力を表示する機能があり、期待した結果が得られることを確認できます。テストが正常に完了した後で、テスト出力をデータ・モデルのサンプル・データとして保存するかどうかを選択できます。エクスポート機能を使用してサンプル・データをファイルにエクスポートすることもできます。データ・モデルの実行が失敗した場合は、データ・エンジン・ログを表示してください。

データ・モデルをテストするには:

1. データ・モデル・エディタの「データ」タブを選択します(図2-43を参照)。

図2-43 データ・モデル・エディタの「データ」タブを選択

2. 「SQL問合せ」、「Oracle BI Analysis」および「ビュー・オブジェクト」のデータ・セットの場合: 「データ」タブで、返す行の数を選択します(図2-44を参照)。パラメータが含まれている場合は、テスト用に適切な値を入力します。

図2-44 「戻す行数」の選択

3. 「表示」をクリックして、データ・モデルから返されるXMLを表示します。

4. 次のオプションのいずれかを選択してサンプル・データを表示します。

- 「ツリー表示」を使用して、サンプル・データをデータ階層として表示します。これがデフォルトの表示オプションです。

- 「表ビュー」を使用して、サンプル・データを、BI Publisherのレポートと同様の書式設定済の表として表示します。

テスト・データをデータ・モデル用のサンプル・データとして保存するには:

1. データ・モデルの実行が正常に完了したら、「サンプル・データとして保存」をクリックします(図2-45を参照)。サンプル・データがデータ・モデルに保存されます。詳細は、第1.7.2項「データ・モデルへの添付ファイル」を参照してください。

図2-45 サンプル・データとして保存

テスト・データをエクスポートするには:

1. 「SQL問合せ」、「Oracle BI Analysis」および「ビュー・オブジェクト」のデータ・セットの場合: 「データ」タブで、返す行の数を選択します。

2. データ・モデルの実行が正常に完了したら、「エクスポート」をクリックします。ファイルを開く、またはローカル・ディレクトリに保存するための画面が表示されます。

データ・エンジン・ログを表示するには:

1. データ・エンジン・ログの表示をクリックします。ファイルを開く、またはローカル・ディレクトリに保存するための画面が表示されます。データ・エンジン・ログ・ファイルは、XMLファイルです。

2.16 システム変数に格納されたユーザー情報をレポート・データに含める方法

BI Publisherは、現在のユーザーについての情報を格納します。この情報には、レポート・データ・モデルからアクセスできます。このユーザー情報は、表2-2で説明するシステム変数に格納されています。

表2-2 変数に格納されるユーザー情報

システム変数

説明

xdo_user_name

レポートを実行しているユーザーのユーザーID。例: Administrator

xdo_user_roles

レポートを実行しているユーザーに割り当てられたロール。例: XMLP_ADMIN、XMLP_SCHEDULER

xdo_user_report_oracle_lang

ユーザーのアカウント・プリファレンスに基づくレポート言語。例: ZHS

xdo_user_report_locale

ユーザーのアカウント・プリファレンスに基づくレポート・ロケール。例: en-US

xdo_user_ui_oracle_lang

ユーザーのアカウント・プリファレンスに基づくユーザー・インタフェース言語。例: US

xdo_user_ui_locale

ユーザーのアカウント・プリファレンスに基づくユーザー・インタフェース・ロケール。例: en-US

2.16.1 ユーザー・システム変数を要素として追加する方法

ユーザー情報をデータ・モデルに追加するには、パラメータとして変数を定義して、データ・モデルでパラメータ値を要素として定義します。または、単にパラメータとして変数を追加して、そのパラメータ値をレポート内で参照します。

次の問合せがあるとします。

select
:xdo_user_name as USER_ID,
:xdo_user_roles as USER_ROLES,
:xdo_user_report_oracle_lang as REPORT_LANGUAGE,
:xdo_user_report_locale as REPORT_LOCALE,
:xdo_user_ui_oracle_lang as UI_LANGUAGE,
:xdo_user_ui_locale as UI_LOCALE
from dual

次の結果が戻されます。

<?xml version="1.0" encoding="UTF-8"?>
<! - Generated by Oracle BI Publisher - >
<DATA_DS>
<G_1>
<USER_ROLES>XMLP_TEMPLATE_DESIGNER, XMLP_DEVELOPER, XMLP_ANALYZER_EXCEL, XMLP_ADMIN, XMLP_ANALYZER_ONLINE, XMLP_SCHEDULER </USER_ROLES>
<REPORT_LANGUAGE>US</REPORT_LANGUAGE>
<REPORT_LOCALE>en_US</REPORT_LOCALE>
<UI_LANGUAGE>US</UI_LANGUAGE>
<UI_LOCALE>en_US</UI_LOCALE>
<USER_ID>administrator</USER_ID>
</G_1>
</DATA_DS>

2.16.2 使用事例: 返されるデータ・セットのユーザーIDによる制限

次の例では、返されるデータをユーザーIDで制限しています。

select EMPLOYEES.LAST_NAME as LAST_NAME,
EMPLOYEES.PHONE_NUMBER as PHONE_NUMBER,
EMPLOYEES.HIRE_DATE as HIRE_DATE,
:xdo_user_name as USERID
from   HR.EMPLOYEES EMPLOYEES
where lower(EMPLOYEES.LAST_NAME) = :xdo_user_name

lower()関数を使用しているため、xdo_user_nameは必ず小文字の書式になります。BI PublisherはUSERIDを保持しないため、ユーザー名を使用する必要があります。このユーザー名を問合せ内で直接使用するか、参照表に問い合せてユーザーIDを検索します。

2.16.2.1 LDAPユーザー属性値からのバインド変数の作成

LDAPディレクトリに格納されたユーザー属性の値をデータ問合せにバインドするには、BI Publisherに属性名を定義して、必要なバインド変数を作成します。

2.16.2.1.1 前提条件

バインド変数の作成に使用できる属性は、管理者が「セキュリティ構成」ページで定義する必要があります。この属性は、LDAPの「セキュリティ・モデル」定義にある「データ問合せバインド変数の属性名」フィールドで定義します。このフィールドの詳細は、『Oracle Fusion Middleware Oracle Business Intelligence Publisher管理者ガイド』のLDAPサーバーを認識するためのBI Publisherの構成に関する項を参照してください。ユーザーに対して定義された任意の属性を使用できます(例: memberOf、sAMAccountName、primaryGroupID、mail)。

2.16.2.1.2 BI Publisherによるバインド変数の構成方法

LDAPの「セキュリティ・モデル」定義にある「データ問合せバインド変数の属性名」フィールドに入力した属性名は、次のように問合せ内で参照できます。

xdo_<attribute name>

たとえば、サンプル属性のmemberOf、sAMAccountName、primaryGroupID、mailが入力済だと仮定します。これらの属性は、次のバインド変数として問合せ内で使用できます。

xdo_memberof
xdo_SAMACCOUNTNAME
xdo_primaryGroupID
xdo_mail

属性については大文字と小文字が区別されませんが、接頭辞のxdo_は小文字にする必要があります。

これらのバインド変数は、データ・モデル内で次のように使用します。

SELECT
:xdo_user_name AS USER_NAME,
:xdo_user_roles AS USER_ROLES,
:xdo_user_ui_oracle_lang AS USER_UI_LANG,
:xdo_user_report_oracle_lang AS USER_REPORT_LANG,
:xdo_user_ui_locale AS USER_UI_LOCALE,
:xdo_user_report_locale AS USER_REPORT_LOCALE,
:xdo_SAMACCOUNTNAME AS SAMACCOUNTNAME,
:xdo_memberof as MEMBER_OF,
:xdo_primaryGroupID as PRIMARY_GROUP_ID,
:xdo_mail as MAIL
FROM DUAL

LDAPバインド変数は、ユーザーがログインしているLDAPディレクトリに格納された値を返します。

3 データの構造化

この章では、グループ、リンク、グループ・フィルタ、およびグループレベルやグローバルレベルの関数など、BI Publisherのデータ・エンジンによって返されるデータを構造化するための手法について説明します。

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

- 第3.1項「データ・モデルの使用」

- 第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.17項「関数リファレンス」

3.1 データ・モデルの使用

データ・モデルのダイアグラムは、複数のデータ・セットに基づいたレポート用のデータ・セット、ブレーク・グループおよび合計の定義を短時間で簡単に実行するために役立ちます。

3.1.1 マルチパートの関連付けられていないデータ・セットについて

データ・セット(または、問合せ)をリンクしていない場合、データ・エンジンはマルチパートの関連付けられていない問合せデータ・セットを生成します。

たとえば、図3-1に示すデータ・モデルでは、一方の問合せで製品を選択して、もう一方の問合せで顧客を選択しています。製品と顧客の間には、リレーションシップはありません。

図3-1 マルチパートの関連付けられていないデータ・セット

この結果として、データ構造は図3-2のようになります。

図3-2 マルチパートの関連付けられていないデータ・セットのデータ構造

3.1.2 マルチパートの関連付けられたデータ・セットについて

多くの場合、データ・セット(または、問合せ)の一部からフェッチされるデータは、別の部分からフェッチされるデータによって判断されます。通常、これは、マスター/ディテール関係または親子関係と呼ばれ、2つのデータ・セット(または問合せ)間のデータ・リンクで定義されます。マスター/ディテールのデータ・モデルを実行すると、マスター(または親)問合せの行ごとにディテール(または子)問合せが実行され、一致する行のみが取り出されます。

図3-3に示す例では、2つのデータ・セットが要素Customer IDでリンクされています。Ordersデータは、Customersデータ・セットの子を設定します。

図3-3 マルチパートの関連付けられたデータ・セット

これにより、データ構造は図3-4のようになります。

図3-4 マルチパートの関連付けられたデータ・セットのデータ構造

3.1.3 データ・セットの使用についてのガイドライン

データ・モデルの構築の推奨ガイドラインは、次のとおりです。

- データ・モデル内のデータ・セットまたは問合せの数は、できるかぎり少なくしてください。一般的に、データ・セットおよび問合せの数を少なくするほど、データ・モデルの実行が高速になります。複数問合せデータ・モデルのほうが理解しやすいことが多いようですが、単一問合せデータ・モデルのほうが通常は速く実行できます。親子関係のある問合せでは、親ごとに子問合せが実行されることを理解しておく必要があります。

- 複数問合せデータ・モデルは、次の場合にのみ使用してください。

- 直接サポートされていないタイプの問合せ(SQL問合せなど)の関数を実行する場合。

- 複合ビュー(分散問合せ、GROUP BY問合せなど)をサポートする場合。

- ビューがないときやビューが必要なときにビューをシミュレートする場合。

3.2 データ・モデル・エディタの機能

データ・モデル・エディタを使用すると、複数のデータ・セットからのデータを単一のXMLデータ構造に結合できます。複数のデータソースからのデータ・セットは、シーケンシャルXMLとしてマージするか、行レベルでマージすることで、単一の結合された階層XMLを作成できます。データ・モデル・エディタを使用すると、各タイプ(SQL問合せ、OLAP (MDX問合せ)、LDAPおよびMicrosoft Excel)のデータ・セットからのデータを簡単に結合できます。

データ・モデル・エディタがサポートする機能は、次のとおりです。

- グループ・データ - グループは、レポート内の列を編成するために作成します。グループを使用すると、1つの問合せのデータをいくつかのセットに分けることと、問合せのデータをフィルタすることの2つが可能となります。
問合せを作成すると、データ・エンジンはその問合せで選択される列を含むグループを作成します。ユーザーは、グループを作成して、データ・モデル内に現れるデータの階層を変更できます。グループは、主に、一部の列をそれ以外の列とは別に扱う必要があるときに使用します。たとえば、小計を生成する場合やブレークを作成する場合に、グループを作成します。

- データのリンク - 複数のレベルでデータをグループ化するために、データ・セット間のマスター/ディテール・リンクを定義します。

- データの集約 - グループ・レベルの合計と小計を生成します。

- データの変換 - ビジネス用語やレポート要件に適合するように、ソース・データを変換します。

- 計算の作成 - 基のデータソースではレポートに必要なデータ値が得られない場合に、そのデータ値を計算します。

データ・モデル・エディタには、要素レベル、グループ・レベルおよびグローバル・レベルの関数が用意されています。すべてのデータ・セットのタイプですべての関数をサポートするわけではないことに注意してください。制限事項については、使用するデータ・セットのタイプに付記されている「重要なメモ」の項を参照してください。図3-5は、データ・モデル・エディタで使用できる機能とアクションの一部について示しています。

図3-5 データ・モデル・エディタの機能

3.3 インタフェースについて

デフォルトでは、ユーザーが作成したデータ・セットは個別のオブジェクトとして「ダイアグラム」ビューに示されます(図3-6を参照)。

図3-6 「ダイアグラム」ビュー

データ・セットの構造ビルダーには、次の3つのビューがあります。

- ダイアグラム・ビュー - ユーザーのデータ・セットが表示されます。また、リンクやフィルタの作成、式に基づいた要素の追加、集計関数やグローバルレベル関数の追加、要素プロパティの編集および要素の削除をグラフィカルに実行できます(図3-6を参照)。通常、「ダイアグラム」ビューは、データ構造を構築するために使用するビューです。

- 構造ビュー - このビューには、次の2つのモードがあります。
「表ビュー」および「出力」

表ビューでは、表内に要素のプロパティが表示されます。また、XML要素の別名、要素の表示名、ソート順およびNULL値の更新やオプションのリセットを実行できます。図3-7に、「構造」の「表ビュー」を示します。

図3-7 「構造」の「表ビュー」

「出力」ビューには、生成されたXML構造がわかりやすく示されます。「出力」ビューは更新できません。図3-8に、「出力」ビューを示します。

図3-8 「出力」ビュー

- コード・ビュー - このビューには、データ構造ビルダーで作成したデータ構造のコードが表示されます。このコードが、データ・エンジンに読み込まれます。「コード」ビューは更新できません。図3-9に、「コード」ビューを示します。

図3-9 「コード」ビュー

3.4 データ・セット間のリンクの作成

ソース側では、データを1つの結合されたデータ・セットに結合したり構造化できない場合があります。たとえば、データが異種のデータソース(Microsoft SQL ServerとOracleデータベースなど)に存在するときには、ソースではデータを結合できません。BI Publisherデータ・エンジンを使用すると、データソースからデータを抽出した後で、そのデータを結合したり構造化できます。データの取得元が同一のソースだとしても、行数やページ数が数十万におよぶ可能性のある巨大なレポートやドキュメントを作成している場合には、目的のレイアウトと一致するようにデータを構造化することでドキュメント生成が最適化されます。

2つのデータ・セット間にマスター/ディテール(または、親子)関係を定義するためにリンクを作成します。リンクは、要素レベルのリンクまたはグループ・レベルのリンクとして作成できます。結果としての、階層XMLデータは同じになります。要素レベルのリンクとしてリンクを作成することをお薦めします。グループ・レベルのリンクは、以前のバージョンのBI Publisherによるデータ・テンプレートとの下位互換性を維持するために用意されています。

データ・リンク(または親子関係)は、複数の問合せの結果を関連付けます。データ・リンクによって、次のようなリレーションシップを確立できます。

- ある問合せの列と別の問合せの列の間

- ある問合せのグループと別の問合せのグループの間(これは、子問合せで親のデータを知る必要がある場合に役立ちます)

3.4.1 要素レベルのリンクについて

要素レベルのリンクによって、2つのデータ・セット間にバインド(結合)を作成し、それらのデータ・セット間のマスター/ディテール(親子)関係を定義します。データ・セット間にマスター/ディテール関係を定義するには、この方法をお薦めします。データ・セットをリンクする最も簡単な方法は、要素レベルのリンクを作成することです。このリンクには、バインド変数によって2つのデータ・セット間を結合するコードが必要ないためです。

3.4.2 グループレベルのリンクについて

グループレベルのリンクは、データ・セットを階層XMLとして構造化する方法を決定しますが、データ・エンジンがマスター問合せとディテール問合せを実行するために必要な結合情報が欠落しています。グループ・レベルのリンクを定義するときには、2つのデータ・セット間のリンクで一意のバインド変数を通じて問合せを更新する必要もあります。

3.5 要素レベルのリンクの作成

データ・セットをリンクして、2つのデータ・セット間のマスター/ディテール(または親子)関係を定義します。要素レベルのリンクを定義することで、マスターとディテールのデータ・セットに含まれる要素間のバインディングを確立できます。

要素レベルのリンクを定義するには、次のいずれかの手順を実行します。

- 要素のアクション・メニューを開いて、「リンクの作成」をクリックします。

図3-10 要素のアクション・メニューを使用したリンクの作成

「リンクの作成」ダイアログが開き、他のデータ・セットの要素が表示されます。要素を選択し、「OK」をクリックしてリンクを作成します。図3-11に、「リンクの作成」ダイアログを示します。

図3-11 「リンクの作成」ダイアログ

- 別の方法として、親グループの要素をクリックして、その要素を子グループ内の対になる要素にドラッグします(図3-12を参照)。

図3-12 バインド要素のドラッグ・アンド・ドロップ操作によるリンクの作成

- 親データ・セットの要素を子データ・セットの対になる要素にドロップすると、そのデータ・セット間にコネクタが表示されます。カーソルをコネクタにしばらく合せておくと、リンクが表示されます(図3-13を参照)。

図3-13 リンクの表示

3.5.1 要素レベルのリンクの削除

要素のリンクを削除するには:

1. カーソルを要素のコネクタにしばらく合せておくと、リンクされた要素の名前と削除ボタンが表示されます。

2. 「削除」ボタンをクリックします。

または、別の方法として次の手順を実行します。

1. どちらかの要素のアクション・メニューを開いて、「リンクの削除」をクリックします。

3.6 グループレベルのリンクの作成

グループ・レベルのリンクでは、2つのデータ・セット間のマスター/ディテール関係を定義します。次の図は、グループ・レベルのリンクが定義されている2つのデータ・セットを示しています。データ・セットの横に結果のXMLデータ構造が示されます(図3-14を参照)。

図3-14 結果のXMLデータ構造

グループ・レベルのリンクを定義するには:

1. 親グループで、「メニュー」をクリックします(オブジェクトの右上隅)。

2. 「グループ・リンクの作成」をクリックします(図3-15を参照)。

図3-15 グループ・リンクの作成

3. 「グループ・リンクの作成」ダイアログで、子グループを選択して「OK」をクリックします。「リンクの作成」ダイアログを図3-16に示します。

図3-16 「リンクの作成」ダイアログ

4. 「メニュー」をクリックしてから「データ・セットの編集」をクリックして、問合せにバインド変数を追加します。
表3-1に例を示します。

図3-1 例: データ・セットの編集

データ・セット: DEPT

データ・セット: EMP

Select DEPT.DEPTNO as DEPTID,
DEPT.DNAME as DNAME,
DEPT.LOC as LOC
from    OE.DEPT DEPT

Select EMP.EMPNO as EMPNO,
EMP.ENAME as ENAME,
EMP.JOB as JOB,
EMP.MGR as MGR,
EMP.HIREDATE as HIREDATE,
EMP.SAL as SAL,
EMP.COMM as COMM,
EMP.DEPTNO as DEPTNO
from    OE.EMP EMP
where   DEPTNO=:DEPTID

重要:

一意のバインド変数が子問合せに定義されている必要があります。

3.6.1 グループレベルのリンクの削除

グループ・リンクを削除するには:

1. 親グループで、「メニュー」をクリックします(オブジェクトの右上隅)。

2. 「グループ・リンクの削除」をクリックします。

3. 「グループ・リンクの削除」ダイアログで、リストから「子グループ」を選択して「OK」をクリックします。

3.7 サブグループの作成

2つのデータ・セットをリンクして親子構造を作成することに加え、同じデータ・セット内の要素を、その他の要素を基準にしてグループ化することもできます。これは、問合せが返すデータに、ディテール行ごとに繰り返されるヘッダー・データが含まれている場合に役立ちます。サブグループを作成すると、ドキュメント生成の効率が高まるようにXMLデータの形式を整えることができます。

サブグループを作成するには:

1. 要素を選択して、その要素をデータ・セット内の他の要素によってグループ化します。

2. 要素のアクション・メニュー・アイコンをクリックしてメニューを開き、「グループ基準」を選択します(図3-17を参照)。

図3-17 サブグループの作成

これにより、表示されているデータ・セット内に新しいグループが作成されます。次の図は、要素COMPANYを基準にグループ化されているG_3データ・セットを示しています。これによって、G_4という新しいグループが作成されます。このグループには、データ・セット内の他の4つの要素が含まれています。図3-18は、グループ化されたデータ・セットとその構造が「ダイアグラム」ビューに表示される様子を示しています。

図3-18 サブグループのデータ構造

新しく作成したグループに対して、任意のグループ・アクションを実行できます。

サブグループを削除するには:

1. グループのタイトル・バーの「メニュー」をクリックし、「グループ解除」をクリックします。

3.8 親グループと子グループ間での要素の移動

データ・セット内にグループを作成すると、要素のアクション・メニューに新しい2つのオプションが表示されます。このオプションを使用すると、親グループと子グループ間で要素を移動できます。

移動する要素については、その要素のアクション・アイコンをクリックしてメニューを開きます。親グループ内にある要素を子グループに移動する場合は、この要素を子グループに移動を選択します。

子グループにある要素を親グループに移動する場合は、この要素を子グループに移動を選択します。図3-19では、OFFICE_DSC要素のアクション・メニューに、その要素を親グループに移動するためのオプションが表示されています。

図3-19 子グループから親グループへの要素の移動

重要:

要素を移動する前に、他の要素との依存関係について注意してください。

3.9 グループ・レベルの集計要素の作成

データ・モデル・エディタを使用すると、グループ・レベルまたはレポート・レベルでデータを集計できます。たとえば、顧客名を基準に販売高データをグループ化すると、その販売高を集計することで各顧客の販売高の小計を求めることができます。親レベルでのみ子要素の集計を求めることができることに注意してください。

集計関数は、次のとおりです。

- 平均 - 出現するすべての要素の平均を計算します。

- 件数 - 要素の出現数を総計します。

- 最初 - グループ内で最初に出現する要素の値を表示します。

- 最後 - グループ内で最後に出現する要素の値を表示します。

- 最大 - グループ内で出現するすべての要素から最高値を表示します。

- 最小 - グループ内で出現するすべての要素から最低値を表示します。

- サマリー - グループ内で出現するすべての要素の値を合計します。

グループ・レベルの集計要素を作成するには:

1. 要素を親グループの「ここに集計関数をドロップ」フィールドにドラッグします。
図3-20では、SALARY要素に基づいたグループ・レベルの集計関数をG_DEPTに作成しています。

図3-20 グループ・レベルの集計関数の作成

要素をドロップすると、親グループ内に新しい要素が作成されます。デフォルトでは、「件数」関数が適用されています。新しい集計要素の名前の横にあるアイコンによって、関数が示されます。このアイコンにカーソルをしばらく合せていると、関数が表示されます。

図3-21は、デフォルトの「件数」関数が定義された新しい集計要素CS_1を示しています。

図3-21 グループ・レベルの集計関数によって作成された新しい要素

2. 関数を変更するには、関数アイコンをクリックして利用可能な関数のリストを表示して、そのリストから関数を選択します(図3-22を参照)。

図3-22 関数の選択

3. 要素の名前の変更など、要素のプロパティを更新するには、その要素のアクションメニュー・アイコンをクリックします。メニューで、「プロパティ」をクリックします。「プロパティ」ダイアログが表示されます(図3-23を参照)。

図3-23 「プロパティ」ダイアログ

重要:

要素の名前を変更する際には注意が必要です。その要素は、他の要素との依存関係を持つことがあります。

表3-2で説明するプロパティを、必要に応じて設定します。

図3-2 要素のプロパティ

プロパティ

説明

列名

BI Publisherのデータ・モデル・エディタで要素に割り当てた内部名です。この名前は、更新できません。

別名(XMLタグ名)

BI Publisherは、デフォルトのタグ名をXMLデータ・ファイル内の要素に割り当てます。このタグ名は、データ・ファイル内でよりわかりやすい名前に更新できます。

表示名

この「表示名」がレポート・デザイン・ツールに示されます。この名前は、ビジネス・ユーザーにとってわかりやすくなるように更新してください。

関数

目的の関数を選択していないときには、このリストから関数を選択できます。

データ型

BI Publisherは、関数に応じてデフォルトのデータ型(IntegerまたはDouble)を割り当てます。一部の関数には、Floatのオプションも選択できます。

Null時の値

関数から返された値がNULLの場合は、データにNULLが含まれないようにするために、ここにデフォルト値を指定できます。

丸め

デフォルトでは、値は小数第3位に丸められます。必要に応じて、丸めの値を変更できます。

リセットしないでください

デフォルトでは、関数はグループ・レベルでリセットします。たとえば、データ・セットがDEPARTMENT_IDを基準にグループ化されているときに、SALARYに対する合計関数が定義してあると、DEPARTMENT_IDデータのグループごとに合計がリセットされ、その部門にのみSALARYの合計を求めることになります。グローバル・レベルでのみ関数をリセットする必要があり、グループ・レベルではリセットする必要がない場合は、「リセットしないでください」を選択します。これにより、すべての部門のSALARYの合計が求められます。このプロパティは、グループ・レベルの関数専用です。

3.10 グループ・フィルタの作成

フィルタを使用すると、問合せで選択されたレコードを条件に応じて削除することができます。グループに設定できるフィルタには、次の2種類があります。

- 式 - 事前定義済の関数と演算子を使用して式を作成します。

- PL/SQLファンクション - カスタム・フィルタを作成します。

グループ・フィルタを作成するには:

1. 「メニュー」をクリックし、「グループ・フィルタの作成」を選択します。図3-24に示すように、「グループ・フィルタの編集」ダイアログが表示されます。

図3-24 「グループ・フィルタの編集」ダイアログ

2. 「グループ・フィルタ・タイプ」で、「式」またはPL/SQLを選択します。

注意:

PL/SQLフィルタの場合は、最初にデータ・モデルのプロパティで「Oracle DBデフォルト・パッケージ」としてPL/SQLパッケージを指定する必要があります。第1.7項「データ・モデルのプロパティの設定」を参照してください。

3. 次のように、フィルタを入力します。

- 式を入力するには、要素を選択して、その要素を「グループ・フィルタ」定義ボックスに移動するために送りボタンをクリックします。事前定義済の関数と演算子をクリックして、それらを「グループ・フィルタ」ボックスに挿入します。
使用可能な関数の説明は、第3.17項「関数リファレンス」を参照してください。

「式の検証」をクリックして、エントリが有効であることを確認します。

- PL/SQL関数を入力するには、「使用可能」ボックスからPL/SQLパッケージを選択して、その関数を「グループ・フィルタ」ボックスに移動するために送りボタンをクリックします。
デフォルト・パッケージ内のPL/SQL関数は、ブール型を返すものにする必要があります。

グループ・フィルタを追加すると、データ・セット・オブジェクトにはフィルタ・インジケータが表示されます(図3-25を参照)。

図3-25 フィルタ・インジケータ

グループ・フィルタを編集または更新するには:

1. データ・セットの「メニュー」をクリックします。

2. 目的のアクションを選択します。

- グループ・フィルタを編集するには、「グループ・フィルタの編集」を選択して、編集用の「グループ・フィルタ」ダイアログを開きます。

- グループ・フィルタを削除するには、「グループ・フィルタの削除」を選択します。

3.11 要素レベルの関数の実行

次の関数は、要素レベルで実行できます。

- サブグループを作成するために、要素を基準にしたグループ化。詳細は、第3.7項「サブグループの作成」を参照してください。

- データ・セット間での要素レベルのリンクの作成。詳細は、第3.5項「要素レベルのリンクの作成」を参照してください。

- 要素のプロパティの設定。詳細は、第3.12項「要素のプロパティの設定」を参照してください。

3.12 要素のプロパティの設定

個別の要素に対してプロパティを設定できます。これらのプロパティは、「構造」ビューからも編集できます。複数の要素のプロパティを更新する必要がある場合は、「構造」ビューを使用したほうが効率的になります。第3.16項「構造ビューを使用したデータ構造の編集」を参照してください。

要素ダイアログを使用して要素レベルのプロパティを設定するには:

1. 要素のアクション・メニュー・アイコンをクリックします。メニューから、「プロパティ」を選択します。「プロパティ」ダイアログが表示されます(図3-26を参照)。

図3-26 「プロパティ」ダイアログ

2. プロパティを必要に応じて設定します(詳細は、表3-3を参照)。

図3-3 要素のプロパティ

プロパティ

説明

別名

BI Publisherは、デフォルトのタグ名をXMLデータ・ファイル内の要素に割り当てます。このタグ名は、データ・ファイル内でよりわかりやすい名前に更新できます。

表示名

この「表示名」がレポート・デザイン・ツールに示されます。この名前は、ビジネス・ユーザーにとってわかりやすくなるように更新してください。

データ型

BI Publisherは、関数に応じてデフォルトのデータ型(IntegerまたはDouble)を割り当てます。一部の関数には、Floatのオプションも選択できます。

ソート順序

グループ内のXMLデータを、1つ以上の要素でソートできます。たとえば、従業員のデータ・セット内で部門と管理職がグループ化されている場合、部門でXMLデータをソートできます。それぞれの部門内では、管理職によってデータをグループ化またはソートできます。また、それぞれの管理職サブグループ内では、給与によって従業員をソートできます。要素が親グループ内に存在しない場合、「ソート順序」プロパティは使用できません。

Null時の値

関数から返された値がNULLの場合は、データにNULLが含まれないようにするために、ここにデフォルト値を指定できます。

3.13 データのソート

ソートは、親グループのブレーク列に対してのみサポートされます。たとえば、従業員のデータ・セットが部門と管理職でグループ化されている場合は、部門によってXMLデータをソートできます。それぞれの部門内では、管理職によってデータをグループ化およびソートできます。最終的なレポートで、どのようにデータをソートしておく必要があるかがわかっている場合は、データ生成時にソートを指定するとドキュメント生成が最適化されます。

グループにソート順序を適用するには:

1. ソート基準にする要素のアクション・メニュー・アイコンをクリックします。メニューから、「プロパティ」を選択します。

2. 「ソート順序」を選択します。
図3-27は、「ソート順序」リストが表示されたDEPARTMENT_ID要素の「プロパティ」ダイアログを示しています。

図3-27 「ソート順序」リストが表示された「プロパティ」ダイアログ

3.14 グループレベルの関数の実行

この項では、グループ機能の実行方法について説明します。内容は次のとおりです。

- 第3.14.1項「グループのアクション・メニュー」

- 第3.14.2項「データ・セットの編集」

- 第3.14.3項「グループからの要素の削除」

- 第3.14.4項「グループのプロパティの編集」

3.14.1 グループのアクション・メニュー

「メニュー」ボタンがグループ・レベルにあり、このボタンから次の操作を実行できます。

- グループのリンクの作成および削除。詳細は、第3.6項「グループ・レベルのリンクの作成」を参照してください。

- グループ・フィルタの作成、編集および削除。詳細は、第3.10項「グループ・フィルタの作成」を参照してください。

- 式に基づいたグループへの要素の追加。詳細は、第3.15.2項「グループ・レベルまたはグローバル・レベルの要素の式による追加」を参照してください。

- データ・セットの編集。詳細は、第3.14.2項「データ・セットの編集」を参照してください。

- グループからの要素の削除。詳細は、第3.14.3項「グループからの要素の削除」を参照してください。

- グループのプロパティの編集。詳細は、第3.14.4項「グループのプロパティの編集」を参照してください。

グループ・レベルの「メニュー」ボタンを図3-28に示します。

図3-28 グループ・レベルのアクション・メニュー

3.14.2 データ・セットの編集

基になるデータ・セットを編集するには:

1. 「データ・セットの編集」をクリックして、データ・セット・エディタを開きます。

詳細は、第2章「データ・セットの作成」からデータ・セットのタイプに該当する項を参照してください。

3.14.3 グループからの要素の削除

グループから要素を削除するには:

1. 要素の行で、メニューをクリックして、「要素の削除」をクリックします。例を図3-29に示します。

注意:

削除できる要素は、グループ関数(SumやCountなど)として追加した要素か、式として追加した要素のみです。

図3-29 要素の削除

3.14.4 グループのプロパティの編集

グループのプロパティを編集するには:

1. 「メニュー」をクリックし、「プロパティ」を選択します。

2. 「グループ名」を編集して、「OK」をクリックします(図3-30を参照)。

図3-30 グループ名の編集

3.15 グローバルレベルの関数の実行

「グローバル・レベル関数」オブジェクトを使用すると、最上位のレポート・レベルでレポート・データ・セットに要素を追加できます。最上位レベル・データとして、次のタイプの要素を追加できます。

- 集計関数に基づく要素

- 式に基づく要素

- PL/SQL文に基づく要素(Oracle Databaseデータソースの場合)

重要:

小数を返す計算要素と式にはデータ型に「整数」を選択すると、データが切り捨てられなくなります。

「グローバル・レベル関数」オブジェクトを、図3-31に示します。集計関数に基づく要素を追加するには、オブジェクトの「ここに集計関数をドロップ」領域に要素をドラッグします。式またはPL/SQLに基づく要素を追加するには、「メニュー」をクリックし、該当するアクションを選択します。

図3-31 「グローバル・レベル関数」オブジェクト

3.15.1 グローバル・レベル集計関数の追加

グローバル集計関数を追加するには:

1. データ・セットからデータ要素をドラッグして、「グローバル・レベル関数」オブジェクトの「ここに集計関数をドロップ」領域にドロップします。
たとえば、図3-32では、Salary要素に基づくグローバル・レベル集計関数を作成しています。

図3-32 グローバル・レベル集計関数の作成

2. マウスのボタンを放すと、データ・モデル・エディタによって、集計要素にデフォルト名が割り当てられます。また、デフォルト関数として、「件数」が割り当てられます。使用可能な関数は、次のとおりです。

- 件数

- 平均

- 最初

- 最後

- 最大

- 最小

- サマリー

関数を変更するには、新しい要素名の左側にある関数アイコンをクリックして、リストから関数を選択します。

図3-33では、新しいグローバル・レベルの要素CS_1の関数を「件数」から「平均」に変更しています。

図3-33 関数の適用

3. デフォルトの名前を変更するには、要素名の右にあるアクション・アイコンをクリックしてから「プロパティ」をクリックして、「プロパティの編集」ダイアログを開きます。このダイアログで使用できるプロパティの詳細は、第3.12項「要素プロパティの設定」を参照してください。

3.15.2 グループ・レベルまたはグローバル・レベルの要素の式による追加

グループ・レベルまたはグローバル・レベルの要素を式で追加するには:

1. グループ・レベル要素を追加する場合は、「グループ」オブジェクトの「メニュー」をクリックし、「式による要素の追加」を選択します。
グローバル・レベル要素を追加する場合は、「グローバル・レベル関数」オブジェクトの「メニュー」をクリックし、「式による要素の追加」を選択します(図3-34を参照)。

図3-34 式による要素の追加

2. 「式による要素の追加」ダイアログ内のフィールドに入力します(図3-35を参照)。

図3-35 「式による要素の追加」ダイアログ

表3-4 「式による要素の追加」ダイアログのフィールド

フィールド

説明

名前

この要素の名前を入力します。

表示名

この「表示名」がレポート・デザイン・ツールに示されます。ビジネス・ユーザーにわかりやすい名前を入力します。

データ型

データ型のリストから選択します(String、Integer、Double、FloatまたはDate)。

3. 式を入力します。
送り矢印を使用して、式に必要なデータ要素を「使用可能」ボックスから「式」ボックスに移動します。

演算子をクリックして、その演算子を「式」ボックスに挿入するか、関数リストから選択します。

使用可能な関数の説明は、第3.17項「関数リファレンス」を参照してください。

4. 「式の検証」をクリックして、検証します。

3.15.3 PL/SQLによるグローバル・レベル要素の追加

このPL/SQL関数は、VARCHARデータ型を返す必要があります。

PL/SQLでグローバル・レベル要素を追加するには:

1. 「プロパティ」ページで、PL/SQLパッケージをデータ・モデルのプロパティの「Oracle DBデフォルト・パッケージ」として指定します。第1.7項「データ・モデルのプロパティの設定」を参照してください。

2. 「グローバル・レベル関数」オブジェクトの「メニュー」をクリックし、「PL/SQLによる要素の追加」をクリックします。

3. 「PL/SQLによる要素の追加」ダイアログで、フィールドに入力します(図3-36を参照)。フィールドの詳細は、表3-5を参照してください。

図3-36 「PL/SQLによる要素の追加」ダイアログ

表3-5 「PL/SQLによる要素の追加」ダイアログのフィールド

フィールド

説明

名前

この要素の名前を入力します。

表示名

この「表示名」がレポート・デザイン・ツールに示されます。ビジネス・ユーザーにわかりやすい名前を入力します。

データ型

「String」を選択する必要があります。

4. 「使用可能」ボックスからPL/SQLパッケージを選択し、送りボタンをクリックしてその関数を「グループ・フィルタ」ボックスに移動します。

3.16 構造ビューを使用したデータ構造の編集

「構造」ビューを使用すると、データ・モデルの構造を表示確認できます。「データソース」列には、日付要素が階層ツリー形式で表示されます。この階層ツリーは、閉じたり開いたりできます。このビューを使用して、データ・モデル構造の正確さを検証します。「構造」ビューを図3-37に示します。

図3-37 「構造」ビュー

3.16.1 要素名の変更

「構造」ページを使用して、データ・モデル内の要素に対して、ユーザーにとってわかりやすい名前を定義します。XML要素タグの名前(「XML表示」)と、レポート・レイアウト・ツールに表示される名前(「ビジネス名」)のどちらも変更できます。図3-38では、DEPARTMENT_ID要素の名前がDepartment Numberと表示されるように変更しています。

図3-38 要素の表示名の編集

3.16.2 NULL要素に対する値の追加

「構造」では、データ・モデルが要素にNULL値を返した場合に、その要素に使用する値を入力することもできます。

使用する値を、その要素の「Null時の値」フィールドに入力します。

3.17 関数リファレンス

表3-6では、「式による要素の追加」ダイアログと「グループ・フィルタの編集」ダイアログでサポートされている使用可能な関数について説明しています。

表3-6 「式による要素の追加」ダイアログでサポートされる関数

関数

説明

構文

例

IF

論理IF演算子

boolean_exprを評価して、boolean_exprがtrueの場合はtrue_returnを返し、boolean_exprがfalseの場合はfalse_returnを返します。

IF (boolean_expr, true_return, false_return)

IF (G_1.DEPARTMENT_ID == 10, 'PASSED', 'FAIL')は、DEPARTMENT_ID = 10の場合に'PASSED'を返し、それ以外の場合は'FAIL'を返します。

NOT

論理NOT演算子

boolean_exprを評価して、boolean_exprがfalseの場合にtrueを返します。

STRING(NOT(boolean_expr))

STRING(NOT(G_1.JOB_ID == 'MANAGER'))は、JOB_ID = MANAGERの場合に'TRUE'を返し、それ以外の場合は'FALSE'を返します。

AND

論理AND演算子

boolean_expr1とboolean_expr2を評価して、両方のブール式がtrueの場合にtrueを返し、それ以外の場合はfalseを返します。

STRING(AND(boolean_expr1, boolean_expr2, ...))

STRING(AND (G_1.JOB_ID == 'MANAGER', G_1.DEPARTMENT_ID == 10))は、JOB_ID = MANAGERとDEPARTMENT_ID = 10の両方がtrueの場合に'TRUE'を返し、それ以外の場合は'FALSE'を返します。

&&

論理AND演算子

boolean_expr1とboolean_expr2を評価して、両方のブール式がtrueの場合にtrueを返し、それ以外の場合はfalseを返します。

STRING(boolean_expr1 && boolean_expr2)

STRING(G_1.JOB_ID == 'MANAGER' && G_1.DEPARTMENT_ID == 10)

JOB_ID = MANAGERとDEPARTMENT_ID = 10の両方がtrueの場合に'TRUE'が返され、それ以外の場合は'FALSE'が返されます。

||

論理OR演算子

boolean_expr1とboolean_expr2を評価して、両方のブール式がtrueの場合にtrueを返し、それ以外の場合はfalseを返します。

STRING(OR(boolean_expr1, boolean_expr2)

STRING(OR (G_1.JOB_ID == 'MANAGER', G_1.DEPARTMENT_ID == 10))

JOB_ID = MANAGERまたはDEPARTMENT_ID = 10がtrueの場合に'TRUE'が返され、それ以外の場合は'FALSE'が返されます。

MAX

セット内の要素の最大値を戻します。

MAX(expr1, expr2, expr3, ...)

MAX(G1_Salary, 10000)

salaryと10000のうち、大きい方が返されます。

MIN

セット内の要素の最小値を戻します。

MIN(expr1, expr2, expr3, ...)

MIN(G1_Salary,5000)

salaryと5000のうち、小さい方が返されます。

ROUND

数値を、指定の小数点以下桁数で丸めた結果を返します。

ROUND(number[,integer])

integerが省略された場合は、numberの小数点以下が丸められます。

integerが負の場合は、整数部の桁が丸められます。

integerは整数でなければなりません。

ROUND(2.777)

3が返されます。

ROUND(2.777, 2)

2.78が返されます。

FLOOR

n以下の最小整数を返します。

FLOOR(n)

FLOOR(2.777)

2が返されます。

CEILING

n以上の最大整数を返します。

CEILING(n)

CEILING(2.777)

3が返されます。

ABS

nの絶対値を返します。

ABS(n)

ABS(-3)

3が返されます。

AVG

式の平均値を返します。

AVG(expr1, expr2, expr3, ...)

AVG(G_1.SALARY,G_1.COMMISSION_PCT*G_1.SALARY)

SALARYとCOMMISSIONの平均が返されます。

たとえば、SALARY = 14000でCOMMISSION_PCT = .4の場合は、式を評価した結果は9800.0となります。

LENGTH

配列の長さを返します。

LENGTH関数は、入力文字セットの文字数によって長さを計算します。

charがNULLの場合、この関数はNULLを返します。

charが配列の場合、この関数は配列の長さを返します。

LENGTH(expr)

配列の長さを返す例であるLENGTH{1, 2, 4, 4})は4を返します。

文字列の長さを返す例: LENGTH('countries')は9を返します。

SUM

式の値の合計を返します。

SUM(expr1, expr2, ...)

SUM (G_1.SALARY, G_1.COMMISSION_PCT*G_1.SALARY)

salaryとcommissionの合計が返されます。

たとえば、SALARY = 14000でCOMMISSION_PCT =.4の場合は、式を評価した結果は19,600.0となります。

NVL

問合せの結果の中のnull (空白として返される)を文字列で置き換えます。

NVL(expr1, expr2)

expr1がNULLの場合、NVLはexpr2を返します。

expr1がNULLでない場合、NVLはexpr1を返します。

NVL(G_1.COMMISSION_PCT, .3)は、G_1.COMMISSION_PCTがnullのときに.3を返します。

CONCAT

char1とchar2を連結したものを返します。

CONCAT(char1, char2)

CONCAT(CONCAT(First_Name, ' '), Last_Name)

First_Name = JoeでLast_Name = Smithの場合は

Joe Smithが返されます。

STRING

charを文字列データ型として返します。

STRING(expr)

STRING(G1_SALARY)

salary = 4400の場合は

4400が文字列として返されます。

SUBSTRING

文字列から部分文字列を取り出します。

SUBSTRING(string, start_pos, end_pos)

stringは、ソース文字列です。

start_posは取出しを開始する位置です。

end_posは文字列の取出しを終了する位置です(省略可能)。

SUBSTRING('this is a test', 5, 7)は「is」(つまり、文字6から7まで)を返し、SUBSTRING('this is a test', 5)は「is a test」を返します。

INSTR

文字列の中の部分文字列の、最初の文字の位置を返します。

INSTR(string1, string2)

string1は検索対象の文字列です。

string2は、string1内で検索する部分文字列です。

INSTR('this is a test', 'is a')

5が返されます。

DATE

有効なJava日付文字列を、標準書式の日付データ型に変換します。

DATE(char, format_string)

(1) charは任意の有効なJava日付文字列(例: 13-JAN-2013)で、(2) format_stringは入力文字列のJava日付書式(例: dd-MMM-yyyy)です。入力と書式の文字列は、有効なJava日付書式文字列であることが必要です。

DATE(01-Jan-2013,'dd-MMM-yyyy')

2013-01-01T08:00:00.000+00:00が返されます。

FORMAT_DATE

Java日付書式の日付引数を、書式設定済の文字列に変換します。

FORMAT_DATE(date,format_string)

FORMAT_DATE(SYSDATE,'dd-MMM-yyyy')

SYSDATEの値が2013-01-24T16:32:45.000-08:00の場合は、24-Jan-2013が返されます。

FORMAT_NUMBER

数値または数値文字列を、指定された数値書式の文字列に変換します。

FORMAT_NUMBER(number,format_string)

FORMAT_NUMBER(SOME_NUMBER, '$9,999.00')

SOME_NUMBER = 12345.678の場合は、$12,345.68が返されます。

DECODE

式の値を、指定された検索および置換の条件に基づいて別の値で置き換えます。

DECODE(expr, search, result [, search, result]...[, default])

DECODE(PROD_FAMILY_CODE,100,'Colas',200,'Root Beer',300,'Cream Sodas',400,'Fruit Sodas','Other')は、(1) PROD_FAMILY_CODE = 100の場合に'Colas'を返し、(2) PROD_FAMILY_CODE = 200の場合に'Root Beer'を返し、(3) PROD_FAMILY_CODE = 300の場合に'Cream Sodas'を返し、(4) PROD_FAMILY_CODE = 400の場合に'Fruit Sodas'を返し、(5) PROD_FAMILY_CODEの値がそれ以外の場合は'Other'を返します。

REPLACE

文字列内の一連の文字を、別の文字のセットで置き換えます。

REPLACE(expr,string1,string2)

string1は検索する文字列で、string2は置き換える文字列です。

REPLACE(G_1.FIRST_NAME,'B','L')

G_1.FIRST_NAME = Barryの場合は

Larryが返されます。

4 パラメータと値リストの追加

この章では、BI Publisherデータ・モデルにパラメータと値リストを追加する方法について説明します。

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

- 第4.1項「パラメータについて」

- 第4.2項「新規パラメータの追加」

- 第4.3項「値リストについて」

- 第4.4項「値リストの追加」

- 第4.5項「フレックスフィールド・パラメータの追加」

4.1 パラメータについて

データ・モデルにパラメータを追加することで、レポートを表示するときにユーザーがデータをやりとりできるようになります。

BI Publisherでは、次のパラメータ・タイプがサポートされます。

- テキスト - ユーザーはパラメータとして渡すテキスト文字列を入力します。

- メニュー - ユーザーは値リストから選択します。値リストには、指定した固定データを含めることも、定義されたデータソースに対して実行するSQL問合せを使用して作成したリストを含めることもできます。このオプションでは、複数選択、「すべて選択」オプション、およびパラメータをカスケードするための部分的なページ・リフレッシュがサポートされています。
メニュー・タイプのパラメータを作成する場合は、最初に値リストを定義してから、パラメータを定義して、そのパラメータを値リストに関連付けます。第4.4項「値リストの追加」を参照してください。

- 日付 - ユーザーはパラメータとして日付を選択します。データ型も日付である必要があり、形式はJava日付フォーマットである必要があります。

データ・モデルにパラメータが定義されていると、そのパラメータのレポート内での表示方法は、レポート・レベルの設定としてさらに細かく構成できます。レポート・レベルの設定の詳細は、『Oracle Fusion Middleware Oracle Business Intelligence Publisherレポート・デザイナーズ・ガイド』のレポートのパラメータ設定を構成する方法に関する項を参照してください。

パラメータのサポートはデータ・セットのタイプに応じて異なります。SQL問合せのデータ・セットは、利用可能なパラメータ機能の完全なセットをサポートします。その他のタイプのデータ・セットは、これらの機能のすべてまたはサブセットをサポートするか、まったくサポートしないこともあります。表4-1は、それぞれのデータ・セットのタイプに応じたサポートの内容を示しています。

表4-1 データ・セットのタイプに応じたパラメータのサポート

データ・セットのタイプ

パラメータのサポート

複数選択

全選択可能

変更時に他のパラメータをリフレッシュ

SQL問合せ

可

可

可

可

MDX問合せ

不可

不可

不可

不可

Oracle BI Analysis

Oracle BI Analysisから継承

可(Oracle BI Dashboard経由)

可(Oracle BI Dashboard経由)

可(Oracle BI Dashboard経由)

ビュー・オブジェクト

可。ただし、ビュー・オブジェクトがサポートし、そのように設計されている場合。

不可

不可

可(ビュー・オブジェクト・パラメータのみ)

Webサービス

可

不可

不可

不可

LDAP問合せ

可

不可

不可

不可

XMLファイル

不可

不可

不可

不可

Microsoft Excelのファイル

可

不可

不可

不可

CSVファイル

不可

不可

不可

不可

HTTP(XML入力)

可

不可

不可

不可

4.2 新規パラメータの追加

新規パラメータを追加するには:

1. 「データ・モデル」のコンポーネント・ペインで、「パラメータ」をクリックして、「新規パラメータの作成」をクリックします(図4-1を参照)。

図4-1 新規パラメータの作成

2. パラメータの「名前」を入力します。名前はデータ・セット内のこのパラメータへの参照と同じにする必要があります。

注意:

パラメータ名を決定する際は、使用するデータベースの識別子に許容された最大文字数を超過してはいけません。識別子の長さの制限については、使用するデータベースのドキュメントを参照してください。

3. リストから「データ型」を選択します。「日付」データ型は、日付の「パラメータ・タイプ」のみをサポートします。その他のデータ型は、次のメニューまたはテキストの「パラメータ・タイプ」をサポートします。

- 文字列

- 整数

注意:

パラメータ用の整数データ型は、64ビット符号付き整数です。値の範囲は、-9,223,372,036,854,775,808以上、9,223,372,036,854,775,807以下です。

- ブール

- 日付

- 浮動小数値

4. パラメータの「デフォルト値」を入力します。長時間実行される問合せを防止するために、これをお薦めします。デフォルトのパラメータ値は、BI Publisherレイアウト・エディタを使用してレポートのレイアウトを設計する際に、レポート出力をプレビューするためにも使用されます。

5. 「パラメータ・タイプ」を選択します。サポートされているタイプは、次のとおりです。

- テキスト - ユーザーはパラメータとして渡すテキスト・エントリを入力できます。第4.2.1項「テキスト・パラメータの定義」を参照してください。

- メニュー - ユーザーに値リストを提示します。第4.2.2項「メニュー・パラメータの定義」を参照してください。

- 日付 - 日付パラメータを渡します。「データ型」も日付にする必要があります。第4.2.3項「日付パラメータの定義」を参照してください。

注意:

BI Publisherでは、テキスト入力またはメニュー(値リスト)のタイプをサポートしていますが、両方はサポートしていません。そのため、ユーザーがテキスト値を入力することも、値リストのメニューから選択することもできるような複合パラメータを定義できません。

6. 行配置 - この設定では、パラメータを表示する行の数と、各パラメータを配置する行を構成します。たとえば、レポートに6つのパラメータが含まれている場合は、それぞれが先頭行になるように各パラメータを個別の行(1～6)に割り当てることも、それぞれ2つのパラメータを行1、2、3に割り当てることもできます。デフォルトでは、すべてのパラメータが行1に割り当てられます。
行配置は、レポート・レベルでも構成できます。レポート定義では、パラメータに対して追加の表示オプションをサポートしています。詳細は、『Oracle Fusion Middleware Oracle Business Intelligence Publisherレポート・デザイナーズ・ガイド』のレポートのパラメータ設定を構成する方法に関する項を参照してください。

4.2.1 テキスト・パラメータの定義

「テキスト」タイプのパラメータは、テキスト・ボックスを提示して、パラメータとしてデータソースに渡すテキスト・エントリを入力するようにユーザーに求めます。図4-2に、テキスト・パラメータの定義を示します。

図4-2 テキスト・パラメータの定義

テキスト・タイプのパラメータを定義するには:

1. 「パラメータ・タイプ」リストから「テキスト」を選択します。下側のペインに、選択に応じた適切なフィールドが表示されます。

2. 「表示ラベル」を入力します。表示ラベルは、レポートを表示したときにユーザーに表示されるラベルです。たとえば、Departmentなど。

3. 「テキスト・フィールド・サイズ」に整数を入力します。このフィールドでは、テキスト・ボックスにユーザーが入力できる文字の数を決定します。たとえば、25など。

4. 必要に応じて、次の「オプション」を有効にします。

- テキスト・フィールドにカンマ区切りの値を含む - このオプションを選択すると、ユーザーはこのパラメータに対してカンマ区切りの複数の値を入力できます。データソース内のパラメータは、複数の値をサポートするように定義されている必要があります。

- 変更時に他のパラメータをリフレッシュ - このパラメータの値に依存する値を持つ他のパラメータをリフレッシュするために、ページの部分的なリフレッシュを実行します。

図4-3に、レポート利用者に表示されるDepartmentパラメータを示します。

図4-3 レポートに表示された場合のテキスト・タイプ・パラメータ

4.2.2 メニュー・パラメータの定義

メニュー・タイプのパラメータは、ユーザーに値リストを提示します。最初に、値リストを定義しておく必要があります。詳細は、第4.4項「値リストの追加」を参照してください。メニュー・タイプのパラメータは、「文字列」および「整数」のデータ・タイプのみをサポートします。

メニュー・パラメータの定義は、次のオプションを含みます。

図4-4に、メニュー・パラメータの定義を示します。

図4-4 メニュー・タイプ・パラメータの定義

メニュー・タイプのパラメータを定義するには:

1. 「パラメータ・タイプ」リストから「メニュー」を選択します。下側のペインに適切なフィールドが表示されます。「データ型」(「文字列」または「整数」)を選択します。

2. 「表示ラベル」を入力します。表示ラベルは、レポートを表示したときにユーザーに表示されるラベルです。たとえば、Departmentなど。

3. 「リストに表示する値の数」を入力します。このフィールドのエントリよりもリスト内の値の数が多い場合、ユーザーは「検索」をクリックして、表示されていない値を探す必要があります(図4-5を参照)。このフィールドのデフォルトは、100に設定されています。

図4-5 値の数が設定を超えたときに有効にされる「検索」機能

4. このパラメータに定義した「値リスト」を選択します。

5. 必要に応じて、次の「オプション」を有効にします。

- 複数選択 - ユーザーはリストから複数のエントリを選択できます。データソースは、このパラメータに対して複数の値をサポートできる必要があります。複数の選択をサポートするメニュー・パラメータの表示は別のものになります。詳細は、図4-6および図4-7を参照してください。

- 全選択可能 - リストに「すべて」オプションを挿入します。値リストから「すべて」を選択すると、パラメータにNULL値を渡すか、リストのすべての値を渡すかを選択できます。「NULL値が渡されました」または「すべての値が渡されました」を選択します。

注意:

「*」を使用するとNULLを渡すことになるため、データソースでNULLを処理する必要があります。NULLを処理するメソッドは、次のような標準のOracle NVLコマンドです。

where customer_id = nvl(:cstid, customer_id)

このcstidはLOVから渡された値になります。ユーザーが「すべて」を選択するとLOVはNULL値を渡します。

- 変更時に他のパラメータをリフレッシュ - このパラメータの値に依存する値を持つ他のパラメータをリフレッシュするために、ページの部分的なリフレッシュを実行します。

図4-6は、複数選択が無効にされている場合に、レポート利用者に表示されるDepartmentメニュー・タイプのパラメータを示しています。

図4-6 複数選択が無効な場合のDepartmentメニュー・タイプのパラメータ

図4-7は、複数選択が有効にされている場合に、レポート利用者に表示されるDepartmentメニュー・タイプのパラメータを示しています。

図4-7 複数選択が有効な場合のDepartmentメニュー・タイプのパラメータ

4.2.2.1 メニュー・パラメータの表示のカスタマイズ

レポート内でのメニュー・パラメータの表示は、レポート定義でさらにカスタマイズできます。メニュー・タイプのパラメータは、追加の表示オプションをチェック・ボックスまたはラジオ・ボタンの静的リストとしてサポートしています。詳細は、『Oracle Fusion Middleware Oracle Business Intelligence Publisherレポート・デザイナーズ・ガイド』のレポートのパラメータ設定を構成する方法に関する項を参照してください。

4.2.3 日付パラメータの定義

日付タイプのパラメータは、データソースに渡すパラメータとして日付を入力するようにユーザーに求める日付ピッカーを提示します。図4-8に、日付パラメータの定義を示します。

図4-8 日付パラメータの定義

日付タイプのパラメータを定義するには:

1. 「パラメータ・タイプ」リストから「日付」を選択します。下側のペインに、選択に応じた適切なフィールドが表示されます。

2. 「表示ラベル」を入力します。表示ラベルは、レポートを表示したときにユーザーに表示されるラベルです。たとえば、Hire Dateなど。

3. 「テキスト・フィールド・サイズ」に整数を入力します。このフィールドでは、日付エントリ用のテキスト・ボックスにユーザーが入力できる文字数を決定します。たとえば、10など。

4. 「日付書式文字列」を入力します。この書式は、Javaの日付書式にする必要があります(例: MM-dd-yyyy)。

5. 必要に応じて、「開始日」と「終了日」を入力します。ここに入力した各日付によって、日付ピッカーでユーザーに提示する日付の範囲を定義します。たとえば、「開始日」に01-01-1990を入力すると、ユーザーは1990年1月1日より前の日付を日付ピッカーで選択できなくなります。「終了日」を空白のままにすると、将来の日付がすべて有効になります。

図4-9に、レポート利用者に表示されるHire Dateパラメータを示します。

図4-9 Hire Dateパラメータ

4.3 値リストについて

値リストには、レポート利用者がデータソースに渡すパラメータ値を選択できる値のセットを定義します。メニュー・タイプのパラメータを定義すると、ここで定義した値リストは選択メニューを提示することになります。値リストは、メニュー・パラメータを定義する前に定義する必要があります。

次のいずれかの方法で、リストを移入します。

- 固定データ - 値リストを手動で入力します。

- SQL問合せ - SQL問合せを使用してデータベースから値を取得します。

- フレックスフィールド - Oracle E-Business Suite内で定義されたキー・フレックスフィールドから値を取得します。このオプションを使用できるのは、BI PublisherでOracle E-Business Suiteセキュリティ・モデルを使用するときのみです。詳細は、第4.5項「フレックスフィールド・パラメータの追加」を参照してください。

4.4 値リストの追加

値リストを追加するには:

1. 「データ・モデル」のコンポーネント・ペインで、「値リスト」をクリックし、「新規値リストの作成」をクリックします(図4-10を参照)。

図4-10 新規値リストの作成

2. リストの「名前」を入力して、「タイプ」に「SQL問合せ」または「固定データ」を選択します。

4.4.1 SQL問合せからのリストの作成

データ・エンジンは、値リストの問合せから名前(表示名)と値のペアを作成します。値リストのSELECT文では、データ・エンジンによって、最初にリストされる列が(ユーザーに表示される)表示名に使用され、2番目の列がデータ・セットの問合せのパラメータに渡される値に使用されます。

問合せで返される列が1つのみの場合は、その列の値が、ユーザーに表示される値リストの表示名およびパラメータに渡される値の両方として使用されます。

SQL問合せからリストを作成するには:

1. リストから「データソース」を選択します。

2. 問合せの結果をレポート・セッション用にキャッシュする場合は、下側のペインで「結果のキャッシュ」を選択します(推奨)。

3. SQL問合せを入力するか、クエリー・ビルダーを使用します。クエリー・ビルダー・ユーティリティの詳細は、第2.3.3項「SQLクエリー・ビルダーの使用」を参照してください。図4-11に、SQL問合せタイプの値リストを示します。

図4-11 SQL問合せタイプの値リスト

図4-11に示すSQL問合せは、DEPARTMENTS表のDEPARTMENT_NAME列のみを選択しています。この場合、値リストが問合せの結果としてリストに表示され、その同じ値がデータ・セットのパラメータに渡されます。図4-12は、値リストの表示項目とデータ・セットに渡された値を示しています。メニュー項目とP_DEPTに表示されている値はDEPARTMENT_NAMEの値であることに注意してください。

図4-12 同じ値リストの表示名と値を示すサンプル・データ

かわりに、DEPARTMENT_NAMEをリスト表示しているデータセットのパラメータにDEPARTMENT_IDを渡す場合は、SQL問合せを次のように構成します。

Select     "DEPARTMENTS"."DEPARTMENT_NAME" as "DEPARTMENT_NAME",
"DEPARTMENTS"."DEPARTMENT_ID" as "DEPARTMENT_ID"
from    "DEMO"."DEPARTMENTS" "DEPARTMENTS

図4-13は、値リストの表示項目とデータ・セットに渡された値を示しています。メニューにはDEPARTMENT_NAMEがリスト表示され、P_DEPTにはDEPARTMENT_IDの値が表示されていることに注意してください。

図4-13 値リストの表示名と値

4.4.2 固定データ・セットからのリストの作成

固定データ・セットからリストを作成するには:

1. 下側のペインで、「新規値リストの作成」アイコンをクリックして、「ラベル」と「値」のペアを追加します。ラベルはユーザーにリスト表示されます。値はデータ・エンジンに渡されます。

2. これを、必要なラベルと値のペアごとに繰り返します。

図4-14に、固定データ・タイプの値リストを示します。

図4-14 固定データ・タイプの値リスト

4.5 フレックスフィールド・パラメータの追加

BI PublisherでOracle E-Business Suiteセキュリティを使用するように構成済の場合は、作成するレポートでキー・フレックスフィールドをパラメータとして利用できます。データ・モデルを定義するときに、キー・フレックスフィールドをパラメータとして渡すように設定すると、BI Publisherではレポート利用者に対してダイアログが表示され、ここで選択されたフレックスフィールド・セグメントがパラメータとしてレポートに渡されます。これは、レポートをE-Business Suiteのコンカレント・マネージャを通して実行するときにフレックスフィールドが提示される方法に似ています。

フレックスフィールド値リストは、レポート・ビューアでは図4-15のように表示されます。

図4-15 フレックスフィールド値リストの表示

フレックスフィールド値リストはダイアログとして表示され、ここからセグメント値を選択できます(図4-16を参照)。

図4-16 フレックスフィールドのセグメント選択ダイアログ

4.5.1 フレックスフィールドを使用するための前提条件

値リストを定義するときは、「フレックスフィールド」というリスト・タイプが表示されます。フレックスフィールド・タイプの値リストを有効にするには、E-Business Suiteセキュリティを使用するようにBI Publisherが構成されている必要があります。フレックスフィールドがすでにE-Business Suite内で定義されている必要があります。

E-Business Suiteでのフレックスフィールドの詳細は、Oracle E-Business Suiteフレックスフィールド・ガイドを参照してください。BI PublisherのためのE-Business Suiteセキュリティの設定方法の詳細は、『Oracle Fusion Middleware Oracle Business Intelligence Publisher管理者ガイド』のOracle E-Business Suiteとの統合に関する項を参照してください。

4.5.2 フレックスフィールド・パラメータおよび値リストの追加

フレックスフィールド・パラメータを追加するには、次のタスクを実行します。各タスクの詳細は、この後の各項で説明します。

1. フレックスフィールド値リスト(LOV)を追加します。フレックスフィールド・タイプの値リストは、フレックスフィールド・メタデータ定義を取り出して、各セグメントの適切な値をフレックスフィールド値リスト選択ダイアログに表示します。

2. パラメータを追加してフレックスフィールドLOVに関連付けるには、フレックスフィールド値リストをパラメータのソース・メニューとして選択します。

3. フレックスフィールド・コンポーネントをデータ・モデルに追加します。フレックスフィールド・パラメータを使用して、データ・モデル内で定義されたフレックスフィールドに値を渡します。

4. フレックスフィールドをSQL問合せで参照するには、&flexfield_name構文を使用します。実行時に、&flexfield_name参照は字句コードで置き換えられます。この字句コードは、フレックスフィールド・コンポーネント定義の中の値に基づいて作成されます。

4.5.2.1 フレックスフィールド値リストの追加

フレックスフィールド定義から取得される値リストを追加するには:

1. 「データ・モデル」のコンポーネント・ペインで、「値リスト」をクリックし、「新規値リストの作成」をクリックします。

2. 「名前」にリストの名前を入力し、「タイプ」で「フレックスフィールド」を選択します。「タイプ」で「フレックスフィールド」を選択すると、「データソース」オプションは編集不可能になります。フレックスフィールド・タイプの値リストはすべて、Oracle E-Business Suiteをデータソースとして使用します。

3. 下部のペインで、次の項目を入力します。

- アプリケーションの短縮名 - E-Business Suiteアプリケーションの短縮名(例: SQLGL)。

- IDフレックス・コード - このフレックスフィールドに対してキー・フレックスフィールドの登録フォームで定義されたフレックスフィールド・コード(例: GL#)。

- IDフレックス番号 - フレックスフィールド構造情報が格納されているソース列またはパラメータの名前(例: 101、:STRUCT_NUM)。パラメータを使用する場合は、そのパラメータがデータ・モデル内で定義されていることを確認してください。

図4-17に、フレックスフィールド・タイプのLOVの例を示します。

図4-17 フレックスフィールド値リストの定義

4.5.2.2 フレックスフィールド値リストのメニュー・パラメータの追加

フレックスフィールド値リストを表示してユーザーが選択した値を取り込むために、パラメータを定義します。フレックスフィールド・タイプのパラメータ定義には、範囲フレックスフィールドをサポートするために「範囲」という追加フィールドがあります。範囲フレックスフィールドでは、各キー・セグメントの値が1つだけではなく、下限値と上限値がサポートされます。

フレックスフィールド値リストのパラメータを定義するには:

1. 「データ・モデル」のコンポーネント・ペインで、「パラメータ」をクリックし、「新規パラメータの作成」をクリックします。

2. 「パラメータ・タイプ」リストから「メニュー」を選択します。「データ型」(「文字列」または「整数」)を選択します。

3. 「デフォルト値」にフレックスフィールド・パラメータのデフォルト値を入力します。デフォルト値は、レポート定義の中でカスタマイズすることもできます。

4. 「行配置」に入力します。行配置とは、このパラメータをレポート・ビューア内のどの場所に表示するかを決定するものです。行配置は、レポート定義の中でカスタマイズすることもできます。

5. 「表示ラベル」を入力します。表示ラベルは、レポートを表示したときにユーザーに表示されるラベルです。たとえば、Account Fromです。表示ラベルは、レポート定義の中でカスタマイズすることもできます。

6. このパラメータに定義した「値リスト」を選択します。選択した値リストがのタイプがフレックスフィールドである場合は、「範囲」というフィールドも表示されます。フレックスフィールド・セグメント値の範囲を渡すには、第4.5.2.5項「値の範囲を渡す」を参照してください。

7. オプションのうち、「リストに表示する値の数」、「複数選択」、「全選択可能」および「変更時に他のパラメータをリフレッシュ」は、フレックスフィールド・パラメータの場合は無効になります。

図4-18に、フレックスフィールド値リストのパラメータ定義を示します。

図4-18 フレックスフィールド値リストのパラメータの定義

4.5.2.3 データ・モデルで定義されたフレックスフィールドにフレックスフィールド・パラメータを使用して値を渡す

これで、パラメータ値をデータ・モデル内のフレックスフィールド・コンポーネントに渡せるようになりました。第6章「フレックスフィールドの追加」で、フレックスフィールド・コンポーネントの追加について詳しく説明します。ここでは、簡略化した手順を例として示します。

データ・モデル内でフレックスフィールドを定義するには:

1. 「データ・モデル」のコンポーネント・ペインで、「フレックスフィールド」をクリックし、「新規フレックスフィールドの作成」をクリックします。

2. 次の項目を入力します。

- 名前 - フレックスフィールド・コンポーネントの名前を入力します。

- タイプ - リストからフレックスフィールドのタイプを選択します。ここで選択したタイプによって、必要になる追加フィールドが決まります。第6.2.1項「フレックスフィールドの詳細の入力」を参照してください。

- アプリケーションの短縮名 - このフレックスフィールドを所有するOracle Applicationの短縮名を入力します(例 - GL)。

- IDフレックス・コード - このフレックスフィールドに定義したフレックスフィールド・コードを、登録キー・フレックスフィールド形式で入力します(例 - GL#)。

- IDフレックス番号 - フレックスフィールド構造情報を格納しているソース列またはパラメータの名前を入力します。たとえば、101です。パラメータを使用するには、:PARAM_STRUCT_NUMのようにパラメータ名の前にコロンを付けます。

3. ページの下の部分で、選択したフレックスフィールドのタイプの詳細を入力します。パラメータ値を受け取ることになっているフィールドについて、パラメータ名を、先頭にコロンを付けて入力します(たとえば、:P_Acct_List)。
図4-19では、フレックスフィールド・コンポーネントの「タイプ」はWhereと定義されています。パラメータ「:P_Acct_List」が「オペランド1」フィールドに入力されています。実行時に、パラメータP_Acct_Listに対してユーザーが選択した値を使用してwhere句が作成されます。

図4-19 フレックスフィールド・パラメータを使用するフレックスフィールド・コンポーネントの例

4.5.2.4 SQL問合せ内でのフレックスフィールドの参照

最後に、E-Business Suiteデータベースに対するSQL問合せを作成します。第6.2項「キー・フレックスフィールドの追加」の説明に従って字句構文を問合せの中で使用します。図4-20では、&Acct_FlexがSQL問合せのwhere条件内でコールされるフレックスフィールド字句です。

図4-20 SQL問合せ内のフレックスフィールド字句

4.5.2.5 値の範囲を渡す

値の範囲を渡せるようにフレックスフィールド値リストのパラメータを定義するには、2つのメニュー・パラメータを作成し、両方が同じフレックスフィールドLOVを参照するように設定します。実行時に、ユーザーが上限値を値リストから選択し、下限値を同じ値リストから選択します。この2つの値が、オペランドとしてデータ・モデルのフレックスフィールド・コンポーネントに渡されます。

1. フレックスフィールドLOVの1つを作成します。第4.5.2.1項「フレックスフィールド値リストの追加」を参照してください。

2. 範囲上限パラメータを、第4.5.2.2項「フレックスフィールド値リストのメニュー・パラメータの追加」の手順に従って作成します。「範囲」フィールドで「高」を選択すると、このパラメータが上限値であると指定されます。

3. 範囲下限パラメータを、第4.5.2.2項「フレックスフィールド値リストのメニュー・パラメータの追加」の手順に従って作成します。「範囲」フィールドで「低」を選択すると、このパラメータが下限値であると指定されます。どちらのパラメータも、ステップ1で作成したフレックスフィールド値リストを参照します。図4-21に、範囲を定義するパラメータの作成方法を示します。

図4-21 範囲パラメータの定義

4. データ・モデルの中でフレックスフィールドを作成します。第4.5.2.3項「データ・モデルで定義されたフレックスフィールドにフレックスフィールド・パラメータを使用して値を渡す」を参照してください。
ページの下の部分で、選択したフレックスフィールドのタイプの詳細を入力します。先頭にコロンを付けてパラメータを入力します。たとえば、:P_Acct_Listです。

図4-19では、フレックスフィールド・コンポーネントの「タイプ」はWhereと定義されています。パラメータ「:P_FLEX_LOW」と「:P_FLEX_HIGH」が「オペランド1」フィールドと「オペランド2」フィールドに入力されています。実行時に、パラメータP_FLEX_LOWおよびP_FLEX_HIGHに対してユーザーが選択した値を使用してwhere句が作成されます。

図4-22 フレックスフィールド・パラメータを使用するフレックスフィールド・コンポーネントの例

このデータ・モデルが関連付けられたレポートがレポート・ビューアに表示されるときに、2つのフレックスフィールド・パラメータが図4-23のように表示されます。

図4-23 レポート・ビューアに表示されるフレックスフィールド範囲パラメータ

レポート利用者がフレックスフィールドの上限または下限のインジケータ(...)をクリックすると、上限値と下限値の両方を入力できるダイアログが開きます(図4-24を参照)。

図4-24 フレックスフィールド範囲パラメータのダイアログ

レポート・ビューアでの範囲フレックスフィールド・パラメータの表示特性は、E-Business Suiteでの範囲フレックスフィールドの表示によく似ています。

5 イベント・トリガーの追加

BI Publisherデータ・モデルでは、データの前またはデータの後イベント・トリガーおよびスケジュール・トリガーがサポートされます。この章では、データ・モデルにトリガーを定義する方法について説明します。

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

- 第5.1項「トリガーについて」

- 第5.2項「データの前およびデータの後トリガーの追加」

- 第5.3項「スケジュール・トリガーの作成」

5.1トリガーについて

BI Publisherデータ・モデルでは、次のトリガー・タイプがサポートされます。

- データの前 - データ・セットが実行される前に起動します。

- データの後 - データ・エンジンがすべてのデータ・セットを実行し、XMLを生成した後に起動します。

- スケジュール・トリガー - レポート・ジョブを実行するようスケジュールされた日時になると起動します。

イベント・トリガーはイベントをチェックし、イベントが発生するときに、トリガーに関連付けられたコードを実行します。BI Publisherデータ・モデルは、Oracle DatabaseのPL/SQLパッケージに格納されているPL/SQLファンクションを実行する、データの前トリガーとデータの後トリガーをサポートします。パッケージ内にあるPL/SQLファンクションの返すデータ型は必ずブール型になり、そのファンクションは明示的にTRUEまたはFALSEを返す必要があります。

スケジュール・トリガーはスケジュール・ジョブに関連付けられます。これはSQL問合せであり、レポート・ジョブを実行するようスケジュールされた日時になると実行されます。SQLがなんらかのデータを返す場合は、レポート・ジョブが実行されます。SQL問合せがデータを返さない場合、ジョブ・インスタンスはスキップされます。

5.2 データの前およびデータの後トリガーの追加

データの前またはデータの後イベント・トリガーを追加する手順は、次のとおりです。

1. データ・モデルの「プロパティ」ペインで、トリガーの起動時に実行するPL/SQLファンクションのシグネチャを含むOracle DBデフォルト・パッケージを入力します。第1.7項「データ・モデルのプロパティの設定」を参照してください。

2. タスク・ペインで「イベント・トリガー」をクリックします。

3. 「イベント・トリガー」ペインの「新規イベント・トリガーの作成」をクリックします。

4. トリガーの、次の項目を入力します。

- 名前

- タイプ - 「データの前」または「データの後」を選択します。

- 言語 - PL/SQLを選択します。
下部のペインには、手順1でデータ・モデルの「プロパティ」に入力したOracle DBデフォルト・パッケージで使用可能な関数が表示されます。

図5-1は、イベント・トリガーを示しています。

図5-1 イベント・トリガー

5. 「使用可能な関数」ボックスからパッケージを選択し、矢印をクリックして関数を「イベント・トリガー」ボックスに移動します。名前はPL/SQLの<パッケージ名>.<関数名>で表示されます。

重要:

デフォルトのパッケージを定義する場合は、PL/SQLパッケージで、すべてのパラメータをグローバルなPL/SQL変数として定義する必要があります。そうすると、パラメータを明示的にPL/SQL関数トリガーに渡すことも、すべてのパラメータをグローバルなPL/SQL変数として使用することもできます。

5.2.1 実行の順序

同じタイプのトリガーを複数定義する場合、トリガーは表に表示される順(上から下へ)で起動します。

実行順序を変更するには:

1. 「順序変更」の矢印を使用して、トリガーを正しい順序に配置します。

5.3 スケジュール・トリガーの作成

スケジュール・トリガーは、レポート・ジョブの実行がスケジュールされている場合に起動します。スケジュール・トリガーは、SQL問合せのタイプです。レポート・ジョブの実行がスケジュールされている場合、スケジュール・トリガーはトリガーに定義したSQL文を実行します。データが返される場合は、レポート・ジョブが発行されます。トリガーSQL問合せからデータが返されない場合は、レポート・ジョブがスキップされます。

レポート・ジョブに関連付けるスケジュール・トリガーは、カタログ内のどのデータ・モデルに存在してもかまいません。スケジュール・トリガーを実行するために、そのスケジュール・トリガーをレポートのデータ・モデル内に作成する必要はありません。したがって、複数のレポート・ジョブで、スケジュール・トリガーを再利用できます。

スケジュール・トリガーを追加する手順は、次のとおりです。

1. データ・モデル・エディタのタスク・ペインで、「イベント・トリガー」をクリックします。

2. 「イベント・トリガー」ペインで「新規作成」アイコンをクリックします。

3. トリガーの、次の項目を入力します。

- 名前 - トリガーの名前を入力します。

- タイプ - 「スケジュール」を選択します。

- 言語 - デフォルトは「SQL問合せ」です。

4. 下部のペインで、次の項目を入力します。

- オプション - トリガー問合せの結果をキャッシュするには、このボックスを選択します。

- データソース - トリガー問合せのデータソースを選択します。

- SQL問合せ - 問合せをテキスト領域に入力するか、「クエリー・ビルダー」をクリックし、ユーティリティを使用してSQL問合せを作成します。詳細は、第2.3.3項「SQLクエリー・ビルダーの使用」を参照してください。
トリガー問合せの中にパラメータを入れることができます。パラメータを、トリガーと同じデータ・モデルの中で定義します。レポート・ジョブのスケジュールを設定するときにパラメータ値を入力します。

SQL問合せがなんらかの結果を返す場合は、スケジュールされたレポート・ジョブを実行します。図5-2に示すスケジュール・トリガーは、パラメータ値に基づいて在庫レベルを調べるものであり、このパラメータ値は実行時に入力できます。

図5-2 スケジュール・トリガー

レポート・ジョブでのスケジュール・トリガーの実装の詳細は、『Oracle Fusion Middleware Oracle Business Intelligence Publisherユーザーズ・ガイド』のジョブのスケジュールの定義に関する項を参照してください。

6 フレックスフィールドの追加

この章では、BI Publisherデータ・モデルのフレックスフィールドのサポートについて説明します。

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

- 第6.1項「フレックスフィールドについて」

- 第6.2項「キー・フレックスフィールドの追加」

- 第6.3項「付加フレックスフィールドの追加」

6.1 フレックスフィールドについて

フレックスフィールドは、プログラミングせずに組織のビジネス・ニーズに合せてカスタマイズできる柔軟なデータ・フィールドです。Oracleアプリケーション(Oracle E-Business SuiteおよびOracle Fusion Applications)では、キー・フレックスフィールドと付加フレックスフィールドの2種類のフレックスフィールドが使用されています。キー・フレックスフィールドは、部品番号、アカウント番号などのマルチセグメント値を入力するためにカスタマイズできるフィールドです。付加フレックスフィールドは、Oracleアプリケーション製品でフィールドがまだ用意されていない追加情報を入力するためにカスタマイズできるフィールドです。

Oracleアプリケーションからのデータについてのレポートを作成する場合は、データ・モデルのフレックスフィールド・コンポーネントを使用してフレックスフィールド・データを取得します。BI PublisherがOracle Fusion Applicationsと統合されている場合は、キー・フレックスフィールドと付加フレックスフィールドの両方がサポートされます。BI PublisherがOracle E-Business Suiteと統合されている場合は、キー・フレックスフィールドのみがサポートされます。

図6-1 データ・モデルのフレックスフィールド・コンポーネント

レポートにフレックスフィールドを含めるには、アプリケーションにおけるフレックスフィールドを理解する必要があります。Oracle E-Business SuiteまたはOracle Fusion Applicationsのドキュメントを参照してください。

6.1.1 データ・モデルでのフレックスフィールドの使用方法

SQLベースのデータ・モデルでフレックスフィールドを使用するには、次のようにします。

- この章での説明に従って、フレックス不イールド・コンポーネントをデータ・モデルに追加します。

- アプリケーションのデータ表に対してSQL SELECT文を定義します。

- SELECT文の内部で、各フレックスフィールドを字句として定義します。SELECT文にフレックスフィールド関連字句を埋め込むには、&LEXICAL_TAGを使用します。

6.2 キー・フレックスフィールドの追加

キー・フレックスフィールド参照を使用すると、SELECT、FROM、WHERE、ORDER BYまたはHAVINGの後に出現する句を置換できます。フレックスフィールド参照は、実行時にパラメータを複数の値に置換する必要があるときに使用します。データ・モデル・エディタは、次のフレックスフィールド・タイプをサポートしています。

- Where - このタイプの字句は、文のWHEREセクションで使用されます。これは、キー・フレックスフィールド・セグメント・データに基づいてSELECT文がフィルタ処理できるようにWHERE句を変更する際に使用されます。

- Order by - このタイプの字句は、文のORDER BYセクションで使用されます。この字句では、出力結果をフレックス・セグメント値によりソートできるように列の式のリストが戻されます。

- Select - このタイプの字句は、文のSELECTセクションで使用されます。これは、字句定義に基づき、キー・フレックスフィールド(kff)コード組合せ関連データの取得および処理に使用されます。

- Filter - このタイプの字句は、文のWHEREセクションで使用されます。これは、Oracle Enterprise Scheduling Serviceから渡されたフィルタIDに基づいてSELECT文がフィルタ処理できるようにWHERE句を変更するために使用します。

- Segment Metadata - フレックスフィールド関連のメタデータを取得するには、このタイプの字句を使用します。この字句を使用する場合、このメタデータの取得にPL/SQLコードを作成する必要はありません。そのかわり、ダミーSELECT文を定義してから、この字句を使用してメタデータを取得します。この字句は、定数文字列を返します。

データ・モデルのフレックスフィールド・コンポーネントを設定してから、次の構文を使用してSQL問合せでフレックスフィールド字句参照を作成します。

&LEXICAL_TAG ALIAS_NAME

例:

&FLEX_GL_BALANCING alias_gl_balancing

SQL問合せを入力したら、「OK」をクリックします。

キー・フレックスフィールドを追加するには:

1. 次の項目を入力します。

- 字句名 - フレックスフィールド・コンポーネントの名前を入力します。

- フレックスフィールド・タイプ — 「キー・フレックスフィールド」を選択します。

- 字句タイプ — リストからタイプを選択します。ここでの選択によって、必要になる追加フィールドが決まります。第6.2.1項「フレックスフィールドの詳細の入力」を参照してください。

- アプリケーションの短縮名 - このフレックスフィールドを所有するOracle Applicationの短縮名を入力します(例 - GL)。

- フレックスフィールド・コード — このフレックスフィールドに定義されているフレックスフィールド・コードを入力します。Oracle E-Business Suiteでは、このコードは、キー・フレックスフィールドの登録フォームで定義されます(GL#など)。

- IDフレックス番号 - フレックスフィールド構造情報を格納しているソース列またはパラメータの名前を入力します。たとえば、101です。パラメータを使用するには、:PARAM_STRUCT_NUMのようにパラメータ名の前にコロンを付けます。

図6-2 キー・フレックスフィールド

6.2.1 フレックスフィールドの詳細の入力

「詳細」リージョンに、選択した字句タイプに応じて適切なフィールドが表示されます。

キー・フレックスフィールド・タイプ: Segment Metadataのフィールド

表6-1 Segment Metadataの詳細フィールド

フィールド

説明

構造インスタンス番号

フレックスフィールド構造情報が格納されているソース列またはパラメータの名前を入力します。たとえば、101です。パラメータを使用するには、:PARAM_STRUCT_NUMのようにパラメータ名の前にコロンを付けます。

セグメント

(オプション)このデータが要求されるセグメントの識別子。デフォルト値は「ALL」です。構文は、Oracle E-Business Suite開発者ガイドを参照してください。

親セグメントの表示

このボックスを選択すると、依存セグメントの親セグメントが自動的に表示されます。これにより、そのセグメントの属性で表示しないように指定されているセグメントも表示されます。

メタデータ・タイプ

返すメタデータのタイプを選択します。

セグメントの上プロンプト - セグメントの上プロンプト。

セグメントの左プロンプト - セグメントの左プロンプト。

キー・フレックスフィールド・タイプ: Selectのフィールド

表6-2に、Selectフレックスフィールド・タイプの詳細フィールドを示します。

表6-2 Selectの詳細フィールド

フィールド

説明

複数構造インスタンスの有効化

この字句が複数構造をサポートしているかどうかを示します。このボックスを選択することで、潜在的にすべての構造がデータのレポート作成に使用されることを示します。データ・エンジンは、<code_combination_table_alias>.<set_defining_column_name>を使用して構造番号を取得します。

コード組合せ表別名

列名の接頭辞として追加する表別名を指定します。SELECTが別のフレックス表と結合している場合や、自己結合を使用している場合は、TABLEALIASを使用します。

構造インスタンス番号

フレックスフィールド構造情報が格納されているソース列またはパラメータの名前を入力します。たとえば、101です。パラメータを使用するには、:PARAM_STRUCT_NUMのようにパラメータ名の前にコロンを付けます。

セグメント

(オプション)このデータが要求されるセグメントの識別子。デフォルト値は「ALL」です。構文は、Oracle E-Business Suite開発者ガイドを参照してください。

親セグメントの表示

このボックスを選択すると、依存セグメントの親セグメントが自動的に表示されます。これにより、そのセグメントの属性で表示しないように指定されているセグメントも表示されます。

出力タイプ

次のいずれかを選択します。

- 値 - ユーザーに表示されるときのセグメント値。

- 埋込み値 - ユーザーに表示されるときの埋込みセグメント値。Number型の値は左側から空白が埋め込まれます。String型の値は右側に空白が埋め込まれます。

- 説明 - セグメント値の説明。セグメント定義で定義された説明のサイズを超えることはできません。

- 詳細な説明 - セグメント値の説明(実サイズ)。

- セキュリティ - 現在の組合せが現在のユーザーに対してセキュリティ保護されている場合は、Yが返されます。それ以外の場合は、Nが返されます。

キー・フレックスフィールド・タイプ: Whereのフィールド

表6-3に、Whereキー・フレックスフィールド・タイプの詳細フィールドを示します。

表6-3 Whereの詳細フィールド

フィールド

説明

コード組合せ表別名

列名の接頭辞として追加する表別名を指定します。SELECTが別のフレックス表と結合している場合や、自己結合を使用している場合は、TABLEALIASを使用します。

構造インスタンス番号

フレックスフィールド構造情報が格納されているソース列またはパラメータの名前を入力します。たとえば、101です。パラメータを使用するには、:PARAM_STRUCT_NUMのようにパラメータ名の前にコロンを付けます。

セグメント

(オプション)このデータが要求されるセグメントの識別子。デフォルト値は「ALL」です。構文は、Oracle E-Business Suite開発者ガイドを参照してください。

演算子

適切な演算子を選択します。

オペランド1

条件式の右側に使用する値を入力します。

オペランド2

(オプション)BETWEEN演算子の上限値です。

キー・フレックスフィールド・タイプ: Order Byのフィールド

表6-4に、Order byフレックスフィールド・タイプの詳細フィールドを示します。

表6-4 Order Byの詳細フィールド

フィールド

説明

複数構造インスタンスの有効化

この字句が複数構造をサポートしているかどうかを示します。このボックスを選択すると、潜在的にすべての構造がデータ・レポート作成に使用されることになります。データ・エンジンは、<code_combination_table_alias>.<set_defining_column_name>を使用して構造番号を取得します。

構造インスタンス番号

フレックスフィールド構造情報が格納されているソース列またはパラメータの名前を入力します。たとえば、101です。パラメータを使用するには、:PARAM_STRUCT_NUMのようにパラメータ名の前にコロンを付けます。

コード組合せ表別名

列名の接頭辞として追加する表別名を指定します。SELECTが別のフレックス表と結合している場合や、自己結合を使用している場合は、TABLEALIASを使用します。

セグメント

(オプション)このデータが要求されるセグメントの識別子。デフォルト値は「ALL」です。構文は、Oracle E-Business Suite開発者ガイドを参照してください。

親セグメントの表示

このボックスを選択すると、依存セグメントの親セグメントが自動的に表示されます。これにより、そのセグメントの属性で表示しないように指定されているセグメントも表示されます。

キー・フレックスフィールド・タイプ: Filterのフィールド

表6-5に、Filterフレックスフィールド・タイプの詳細フィールドを示します。

表6-5 Filterの詳細フィールド

フィールド

説明

コード組合せ表別名

列名の接頭辞として追加する表別名を指定します。SELECTが別のフレックス表と結合している場合や、自己結合を使用している場合は、TABLEALIASを使用します。

構造インスタンス番号

フレックスフィールド構造情報が格納されているソース列またはパラメータの名前を入力します。たとえば、101です。パラメータを使用するには、:PARAM_STRUCT_NUMのようにパラメータ名の前にコロンを付けます。

6.3 付加フレックスフィールドの追加

付加フレックスフィールドについてのレポート作成は、Oracle Fusion Applicationsでのみサポートされています。

付加フレックスフィールドを追加するには:

1. フレックスフィールドの基本情報を入力します。

- 名前 - フレックスフィールド・コンポーネントの名前を入力します。

- フレックスフィールド・タイプ — 「付加フレックスフィールド」を選択します。

- 字句タイプ — 「Select」のみサポートされています。

- アプリケーションの短縮名 - このフレックスフィールドを所有するOracleアプリケーションの短縮名を入力します(FNDなど)。

- フレックスフィールド・コード — 付加フレックスフィールドの登録フォームでこのフレックスフィールドに定義されたフレックスフィールド・コードを入力します(FND_DFF1など)。

図6-3 付加フレックスフィールドの入力

2. フレックスフィールドの詳細を入力します。

- 表の別名 - 列名の接頭辞として追加する表別名を指定します。SELECTが別のフレックス表と結合している場合や、自己結合を使用している場合は、TABLEALIASを使用します。

- フレックスフィールド使用方法コード - (オプション)このデータが要求されるセグメントの識別子。デフォルト値は「ALL」です。

3. 付加フレックスフィールド定義にパラメータを含める場合は、「パラメータ」リージョンにパラメータを入力できます。
パラメータを入力するには、+をクリックして各パラメータを追加します。パラメータごとに、ラベルおよび値を入力します。ラベルは、付加フレックスフィールド定義でのラベルと完全に一致する必要があります。

図6-4 付加フレックスフィールドの詳細

6.3.1 SQL問合せでの付加フレックスフィールド参照の挿入

SQLデータ・セットを作成する際に、次のようにアンパサンド記号を使用して付加フレックスフィールドを含めます。

&DFF_SELECT

図6-5に例を示します。

図6-5 SQL問合せでの付加フレックスフィールドの参照

「OK」をクリックすると、図6-6に示すように付加フレックスフィールドから返された列がデータ・セットのダイアグラムに表示されます。

図6-6 &DFF_SELECTによって返された列

キー・フレックスフィールドから返される列には、次の制限事項があります。

- 要素のプロパティは無効になっています。

- データ・モデルの「構造」タブでは、「XMLタグ名」、「Null時の値」、「表示名」、「データ型」の各フィールドを編集できません。

- 付加フレックスフィールドの要素のサブグループ化がサポートされていません。

- 要素のリンクがサポートされていません。

7 バースティング定義の追加

この章では、BI Publisherのバースティング・レポートのサポートと、データ・モデルにバースティング定義を設定し、データを分割して複数の受信者にレポートを配信する方法について説明します。

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

- 第7.1項「バースティングについて」

- 第7.2項「バースティング定義とは」

- 第7.3項「バースティング定義のデータ・モデルへの追加」

- 第7.4項「配信XMLの問合せの定義」

- 第7.5項「バースティング問合せにパラメータを渡す方法」

- 第7.6項「CLOB/XMLデータ・セットの分割要素および配信元要素の定義」

- 第7.7項「バースティング定義の使用に向けたレポートの構成」

- 第7.8項「バースティング問合せのサンプル」

- 第7.9項「配信データソースとして使用する表の作成」

7.1 バースティングについて

バースティングとは、データを複数のブロックに分割し、それぞれのブロックのドキュメントを生成して、そのドキュメントを1つ以上の宛先に配信するプロセスです。レポートのデータは、問合せを1回実行し、その後キー値に基づいてデータを分割することにより生成されます。データのブロックごとに個別のドキュメントが生成され、配信されます。

BI Publisherのバースティング機能を使用すると、データ・モデルの要素に基づいて1つのレポートを分割した後、データ・モデルの2番目の要素に基づいてレポートを配信できます。レポートの各分割セグメントには、配信要素に基づいて、異なるテンプレート、出力フォーマット、配信方法およびロケールを適用できます。実装の例は次のとおりです。

- 顧客固有のレイアウトおよび配信設定に基づいた請求書の生成および配信

- 全コスト・センターのマスター・レポートを生成し、個別のコスト・センター・レポートを該当する管理者に分割する会計報告処理

- 1回のデータ抽出を基に電子メールで配信される全従業員の給与明細の生成

7.2 バースティング定義とは

バースティング定義は、データ・モデルのコンポーネントです。データ・モデルのデータ・セットを定義すると、1つ以上のバースティング定義を設定できます。バースティング定義を設定する場合は、次の項目を定義します。

- 分割要素は、データを分割する方法を決定する、データの要素です。たとえば、請求書のバッチを請求書ごとに分割するには、CUSTOMER_IDという要素を使用できます。データ・セットはこの要素によってソートまたはグループ化される必要があります。

- 配信元要素は、書式設定および配信オプションの適用方法を決定するデータの要素です。請求書の例では、通常、各請求書の配信基準が顧客ごとに決定されるため、「配信元」要素をCUSTOMER_IDにすることができます。

- 配信問合せは、BI Publisherに対して配信XMLデータ・ファイルを構成するように定義するSQL問合せです。問合せは書式設定と配信の詳細を返す必要があります。

7.3 バースティング定義のデータ・モデルへの追加

前提条件

- このデータ・モデルのデータ・セットが定義済であること。

- データ・セットは、バースティング定義でデータを分割する要素によって、ソートまたはグループ化されること。

- BI Publisherが配信および書式設定情報を使用できること。情報は実行時に、次に示す方法のいずれかでBI Publisherに提供できます。

- 情報が、BI Publisherが使用できるデータベース表に格納されること(動的な配信定義の場合)。

- 情報が配信SQLでハードコードされていること(静的な配信定義の場合)。

- このデータ・モデルのレポート定義が作成済であり、レポート・データに適用されるレイアウトを含んでいること。

バースティング定義を追加するには:

1. データ・モデル・エディタのコンポーネント・ペインで、「バースティング」をクリックします。

2. 「バースティング定義」表で、「新規バースティングの作成」ボタンをクリックします。

3. このバースティング定義用に、次の項目を入力します。
名前 - たとえば、Burst to File

タイプ - 現在サポートされているタイプは「SQL問合せ」のみ

データソース: 配信情報含むデータソースを選択

図7-1は、バースティング定義を示しています。

図7-1 バースティング定義

4. 下部領域で、このバースティング定義用に次の項目を入力します。
分割 - データ・セットからの要素のうち、どれによってデータを分割するかを選択します。

配信元 - データ・セットからの要素のうち、どれによってデータの書式を設定して配信するかを選択します。

注意:

分割要素と配信元要素が、データベースにCLOBとして格納されるXMLドキュメントに属する場合は、「分割」フィールドと「配信元」フィールドに、完全なXPATHを入力する必要があります。詳細は、第7.6項「CLOB/XMLデータ・セットの分割要素および配信元要素の定義」を参照してください。

SQL問合せ - 問合せを入力して、配信XMLを構成します。バースティング問合せの構成の詳細は、第7.4項「配信XMLの問合せの定義」を参照してください。図7-2に、バースティング問合せの例を示します。

図7-2 バースティング問合せの例

7.4 配信XMLの問合せの定義

バースティング問合せは、BI Publisherにレポートの書式を設定して配信するために必要な情報を提供するように定義するSQL問合せです。BI Publisherは、バースティング問合せの結果を使用して配信XMLを作成します。

BI Publisherのバースティング・エンジンは配信XMLを、各配信元要素のマッピング表として使用します。BI Publisherが必要とする配信XMLの構造を、次に示します。

<ROWSET>
<ROW>
<KEY></KEY>
<TEMPLATE></TEMPLATE>
<LOCALE></LOCALE>
<OUTPUT_FORMAT></OUTPUT_FORMAT>
<DEL_CHANNEL></DEL_CHANNEL>
<TIMEZONE></TIMEZONE>
<CALENDAR></CALENDAR>
<OUTPUT_NAME></OUTPUT_NAME>
<SAVE_OUTPUT></SAVE_OUTPUT>
<PARAMETER1></PARAMETER1>
<PARAMETER2></PARAMETER2>
<PARAMETER3></PARAMETER3>
<PARAMETER4></PARAMETER4>
<PARAMETER5></PARAMETER5>
<PARAMETER6></PARAMETER6>
<PARAMETER7></PARAMETER7>
<PARAMETER8></PARAMETER8>
<PARAMETER9></PARAMETER9>
<PARAMETER10></PARAMETER10>
</ROW>
</ROWSET>

- KEY - 配信キー。配信元要素と一致する必要があります。バースト・エンジンは、このキーを使用して、配信基準をバースト・データの特定のセクションにリンクします。必ずselect文で、KEYの前後に二重引用符を使用します。たとえば、次のようにします。

select d.department_name as "KEY",

- TEMPLATE - 適用するレイアウトの名前。値は、テンプレート・ファイル名(たとえば、invoice.rtfなど)ではなく、レイアウト名(たとえば、Customer Invoice)になります。

- LOCALE - en-USなどのテンプレートのロケール。

- OUTPUT_FORMAT - 出力形式。各タイプの説明は、『Oracle Fusion Middleware Oracle Business Intelligence Publisherレポート・デザイナーズ・ガイド』の出力形式の選択に関する項を参照してください。表7-1に、バースティング問合せに入力する有効値を示します。

表7-1 OUTPUT_FORMATに入力する値

出力形式

バースティング問合せに入力する値

この出力形式を生成できるテンプレートのタイプ

Interactive

該当なし

バースティングではサポートされません

HTML

html

BI Publisher、RTF、XSLスタイルシート(FO)

PDF

pdf

BI Publisher、RTF、PDF、Flash、XSLスタイルシート(FO)

RTF

rtf

BI Publisher、RTF、XSLスタイルシート(FO)

Excel (mhtml)

excel

BI Publisher、RTF、Excel、XSLスタイルシート(FO)

Excel (html)

excel2000

BI Publisher、RTF、Excel、XSLスタイルシート(FO)

Excel (*.xlsx)

xlsx

BI Publisher、RTF、XSLスタイルシート(FO)

PowerPoint (mhtml)

ppt

BI Publisher、RTF、XSLスタイルシート(FO)

PowerPoint (.*pptx)

pptx

BI Publisher、RTF、XSLスタイルシート(FO)

MHTML

mhtml

BI Publisher、RTF、Flash、XSLスタイルシート(FO)

PDF/A

pdfa

BI Publisher、RTF、XSLスタイルシート(FO)

PDF/X

pdfx

BI Publisher、RTF、XSLスタイルシート(FO)

圧縮PDF

pdfz

BI Publisher、RTF、PDF、XSLスタイルシート(FO)

FO形式XML

xslfo

BI Publisher、RTF、XSLスタイルシート(FO)

データ(XML)

xml

BI Publisher、RTF、PDF、Excel、Flash、XSLスタイルシート(FO)、Etext、XSLスタイルシート(HTML XML/テキスト)

データ(CSV)

csv

BI Publisher、RTF、PDF、Excel、Flash、XSLスタイルシート(FO)、XSLスタイルシート(HTML XML/テキスト)、Etext

XML

txml

XSLスタイルシート(HTML XML/テキスト)

テキスト

text

XSLスタイルシート(HTML XML/テキスト)、Etext

Flash

flash

Flash

- SAVE_OUTPUT - 出力を表示したり「レポート・ジョブ履歴」ページからダウンロードすることができるBI Publisherの履歴表に、出力ドキュメントを保存するかどうか示します。
有効な値はtrue(デフォルト)およびfalseです。このプロパティを設定しない場合は、出力が保存されます。

- DEL_CHANNEL - 配信方法。有効な値は次のとおりです。

- EMAIL

- FAX

- FILE

- FTP

- PRINT

- WEBDAV

- CONTENT

- TIMEZONE - レポートに使用するタイムゾーン。値はJava形式(America/Los_Angelesなど)にする必要があります。タイムゾーンが提供されない場合は、システム・デフォルトのタイムゾーンを使用してレポートが生成されます。

- CALENDAR - レポートに使用するカレンダ。有効な値は次のとおりです。

- GREGORIAN

- ARABIC_HIJRAH

- ENGLISH_HIJRAH

- JAPANESE_IMPERIAL

- THAI_BUDDHA

- ROC_OFFICIAL (Taiwan)

提供されない場合は、値GREGORIANが使用されます。

- OUTPUT_NAME - レポート・ジョブ履歴で出力ファイルに割り当てる名前。

- チャネル別の配信パラメータ - パラメータに必要な値は、選択した配信方法によって異なります。方法ごとのパラメータ値のマッピングを、表7-2に示します。すべての配信チャネルが、すべてのパラメータを使用するわけではありません。

表7-2 方法別のパラメータ値のマッピング

デリバリ・チャネル

PARAMETERの値

電子メール

PARAMETER1: 電子メール・アドレス

PARAMETER2: CC

PARAMETER3: 送信元

PARAMETER4: 件名

PARAMETER5:メッセージ本文

PARAMETER6: 添付の値(trueまたはfalse)。出力形式がPDFの場合、PDFを電子メールに添付するには、このパラメータをtrueに設定する必要があります。

PARAMETER7: 返信先

PARAMETER8: Bcc(PARAMETER 9～10は使用しません)

プリンタ

PARAMETER1: プリンタ・グループ

PARAMETER2: プリンタ名またはCUPS上のプリンタのプリンタURI(例: ipp://myserver.com:631/printers/printer1)

PARAMETER3: 印刷部数

PARAMETER4: 面。有効な値は次のとおりです。

- d_single_sidedは片面

- d_double_sided_lは両面/横送り

- d_double_sided_sは回転/縦送り

パラメータを指定しない場合は、片面が使用されます。

PARAMETER5: トレイ。有効な値は次のとおりです。

- t1はトレイ1

- t2はトレイ2

- t3はトレイ3

指定しない場合は、プリンタのデフォルトが使用されます。

PARAMETER6: 印刷範囲。たとえば、3は3ページのみを印刷し、2-5は2ページから5ページまでを印刷します。1,3-5は1ページと、3ページから5ページまでを印刷します。

(PARAMETER 7～10は使用しません)

FAX

PARAMETER1: FAXサーバー名

PARAMETER2: FAX番号

(PARAMETER 3～10は使用しません)

WebDAV

PARAMETER1: サーバー名 P

PARAMETER2: ユーザー名

PARAMETER3: パスワード

PARAMETER4: リモート・ディレクトリ

PARAMETER5: リモート・ファイル名

PARAMETER6: 認可タイプ。値はbasicまたはdigest

(PARAMETER 7～10は使用しません)

ファイル

PARAMETER1: ディレクトリ

PARAMETER2: ファイル名

(PARAMETER 3～10は使用しません)

FTPおよびSFTP

PARAMETER1: サーバー名

PARAMETER2: ユーザー名

PARAMETER3: パスワード

PARAMETER4: リモート・ディレクトリ

PARAMETER5: リモート・ファイル名

PARAMETER6: 保護(この値をtrueに設定するとSecure FTPが有効化されます)

(PARAMETER 7～10は使用しません)

CONTENT

PARAMETER1: サーバー名

PARAMETER2: セキュリティ・グループ

PARAMETER3: 作成者

PARAMETER4: アカウント (オプション)

PARAMETER5: タイトル

PARAMETER6: プライマリ・ファイル (またはファイル名)

PARAMETER7: コンテンツID

PARAMETER8: コメント (オプション)

PARAMETER9: メタデータを含める

7.5 バースティング問合せにパラメータを渡す方法

データ・モデルで定義されるパラメータを使用して、バースティングXMLの要素の値を渡すことができます。たとえば、サブミッション時にテンプレートを選択できる必要がある場合に、データ・モデルでパラメータを定義して、問合せで:parameter_name構文を使用できます。次の例では、このようなパラメータのバースティング問合せでの使用事例を示します。

レポート定義にlayout1、layout2およびlayout3の、3つのレイアウトが含まれているとします。サブミッション時には、使用するレイアウト(またはTEMPLATE、バースティング問合せで定義したとおり)を選択します。データ・モデルで、レイアウト名を使用して値リストを定義します。次の図は、このレイアウトの値リストを使用したデータ・モデルを示しています。

図7-3 値リストの定義

次に、メニュー・タイプのパラメータ(ここでの名前はP1)を作成します。

図7-4 パラメータの定義

次の図に示すように、バースティング問合せで、:P1を使用してTEMPLATEフィールドにパラメータ値を渡します。

図7-5 P1パラメータを受け入れるためのバースティング問合せの更新

7.6 CLOB/XMLデータ・セットの分割要素および配信元要素の定義

バースティング定義に必要な分割要素と配信元要素がデータベースのCLOB列から取得されるデータ・セットに属する場合、BI Publisherは分割リストと配信元リストの要素を提供するために、XMLを解析することができません。したがって、手動でXPathを入力して、取得されたXMLデータ・セットの各要素を見つける必要があります。確実に正しいパスを入力するために、データ・モデル・エディタのXML出力の取得機能を使用して、データ・エンジンにより生成されるXMLを表示します。

たとえば、図7-6に示すサンプルXMLコードは、XMLTEXTと呼ばれるデータベースのCLOB列に格納され、XMLデータ・セットとして抽出されます。

図7-6 CLOBとして格納されたデータのデータ抽出例

この例では、CLOB/XMLデータ・セットの内の要素であるDEPARTMENT_IDに基づいた分割と配信元要素で、バースティング定義を追加します。

バースティング定義を追加する場合、分割リストと配信元リストはXMLTEXT要素の下位の構造を解析できません。したがって、図7-7に示すように、リストにはXMLTEXTノードの下位で使用できる要素が表示されません。

図7-7 最上位ノードのみを表示する分割リスト

DEPARTMENT_ID要素を分割要素として使用するには、図7-8に示すように、XPathを手動でフィールドに入力します。

図7-8 XPathの分割フィールドへの手動入力

7.7 バースティング定義の使用に向けたレポートの構成

バースティング定義は単一のデータ・モデルに複数定義できますが、レポートに対して有効にできるのは1つのみです。

レポート・エディタの「レポート・プロパティ」ダイアログでバースティング定義を使用するために、レポートを有効にします。詳細は、『Oracle Fusion Middleware Oracle Business Intelligence Publisherレポート・デザイナーズ・ガイド』のレポート・プロパティの構成に関する項を参照してください。

バースティング定義を使用するようにレポートを構成したあと、このレポートのジョブをスケジュールするときには、レポートの書式を設定して配信するために、バースティング定義の使用を選択できます。詳細は、『Oracle Fusion Middleware Oracle Business Intelligence Publisherユーザーズ・ガイド』のバースティング・ジョブの作成に関する項を参照してください。

バースティング定義を使用せず、ユーザー自身の出力と宛先を正規にスケジュールされたレポートとして選択することもできます。

7.8 バースティング問合せのサンプル

次の例は、請求書レポートに基づいています。このレポートはCUSTOMER_IDによって、各顧客の個別の電子メール・アドレスに配信されます。

この例では、各顧客の配信プリファレンスと書式設定プリファレンスが、CUSTOMERSというデータベース表に格納されていると仮定します。CUSTOMERS表には、次の列が含まれています。これらの列は、実行時に配信XMLを動的に作成するために取得されます。

- CST_TEMPLATE

- CST_LOCALE

- CST_FORMAT

- CST_EMAIL_ADDRESS

CUSTOMER_IDは、KEYとして使用され、出力ファイル名の定義にも使用されます。

この例の配信データ・セットを生成するSQLコードは、次のとおりです。

select distinct
CUSTOMER_ID as "KEY",
CST_TEMPLATE TEMPLATE,
CST_LOCALE LOCALE,
CST_FORMAT OUTPUT_FORMAT,
CUSTOMER_ID OUTPUT_NAME,
'EMAIL' DEL_CHANNEL,
CST_EMAIL_ADDRESS PARAMETER1,
'accounts.receivable@example.com' PARAMETER2,
'bip-collections@example.com' PARAMETER3,
'Your Invoices' PARAMETER4,
'Hi'||CUST_FIRST_NAME||chr(13)|| 'Please find attached your
invoices.' PARAMETER5,
'true' PARAMETER6,
'donotreply@mycompany.com' PARAMETER7
from CUSTOMERS

7.9 配信データソースとして使用する表の作成

既存のデータソースから配信情報を取得することが困難な場合は、配信XMLを作成する問合せに使用するための表を作成することを検討してください。次に例を示します。

重要:

列の別名をサポートしていないJDBCドライバを使用する場合に、バースティング制御表を定義するときには、列名と制御XMLタグ名を完全に同じにする必要があります。たとえば、KEY列にはKEYという名前を大文字で付ける必要があります。PARAMETER1には、parameter1やparam1などではなく、PARAMETER1という名前を付ける必要があります。

CREATE TABLE "XXX"."DELIVERY_CONTROL"
( "KEY" NUMBER,
"TEMPLATE" VARCHAR2(20 BYTE),
"LOCALE" VARCHAR2(20 BYTE),
"OUTPUT_FORMAT" VARCHAR2(20 BYTE),
"DEL_CHANNEL" VARCHAR2(20 BYTE),
"PARAMETER1" VARCHAR2(100 BYTE),
"PARAMETER2" VARCHAR2(100 BYTE),
"PARAMETER3" VARCHAR2(100 BYTE),
"PARAMETER4" VARCHAR2(100 BYTE),
"PARAMETER5" VARCHAR2(100 BYTE),
"PARAMETER6" VARCHAR2(100 BYTE),
"PARAMETER7" VARCHAR2(100 BYTE),
"PARAMETER8" VARCHAR2(100 BYTE),
"PARAMETER9" VARCHAR2(100 BYTE),
"PARAMETER10" VARCHAR2(100 BYTE),
"OUTPUT_NAME" VARCHAR2(100 BYTE),
"SAVE_OUTPUT" VARCHAR2(4 BYTE),
"TIMEZONE" VARCHAR2(300 BYTE),
"CALENDAR" VARCHAR2(300 BYTE)
) PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 NOCOMPRESS LOGGING
STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)
TABLESPACE "EXAMPLES";

バースティング配信表を作成する際のヒントを次に示します。

- 分割データ・セットにDELIVERY_KEY値が含まれていない場合、ドキュメントは配信されることも生成されることもありません。たとえば、前述の例を使用した場合、IDが123の顧客がバースティング配信表に定義されていないときには、この顧客のドキュメントは生成されません。

- 分割データ・セットで複数のドキュメントを生成したり、複数の宛先に配信できるようにするには、DELIVERY_KEY値を複製して、OUTPUT_FORMATやDEL_CHANNELなどのパラメータのセットを個別に用意します。たとえば、IDが456の顧客が、2つの電子メール・アドレスへの配信を求めているとします。これを実現するには、DELIVERY_KEYとして456を保持し、それぞれが独自の電子メール・アドレスを保持する2つの行を表に挿入します。

8 Oracle WebCenterコンテンツ・サーバーにカスタム・メタデータを追加

Oracle WebCenter Content Serverにレポートを送信する際に、BI Publisherは、ドキュメント・プロファイルで定義したカスタム・メタデータ・フィールドを移入できます。データ・ソースからカスタム・メタデータ・フィールドへフィールドをマッピングするには、データ・モデル・エディタを使用します。

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

- 第8.1項「カスタム・メタデータ・マッピングについて」

- 第8.2項「データ・フィールドから「カスタム・メタデータ」フィールドへのマッピング」

- 第8.3項「未使用のメタデータ・フィールドの削除」

8.1 カスタム・メタデータ・マッピングについて

データ・モデルの「カスタム・メタデータ」コンポーネントを使用すると、データ・モデルからドキュメント・プロファイル・ルールで定義したメタデータ・フィールドにデータ・フィールドをマップできます。このルール(例えば、請求書番号や顧客名など)は、Oracle WebCenter Content Serverで構成されます。

レポートを実行し、Oracle WebCenter Contentサーバーを配信先として選択すると、BI Publisherはドキュメントをコンテント・サーバー上にメタデータとともに生成および保存します。

8.1.1 前提条件

データ・モデル・エディタのこの機能を使用するためには、次の要件を満たす必要があります。

- コンテンツ・サーバーを配信先として構成し、カスタム・メタデータを有効化します。
『Oracle Fusion Middleware Oracle Business Intelligence Publisher管理者ガイド』のコンテンツ・サーバーの追加に関する項を参照してください。

- カスタム・メタデータ・フィールドをデータ・モデルのデータ・セットからデータ・フィールドへマップするには、データ・モデル・エディタで取得できるタイプのデータ構造のデータ・セットを使用する必要があります。たとえば、SQLデータ・セットおよびExcelデータ・セットはサポートされていますが、Webサービス・データ・セットはサポートされていません。

8.2 データ・フィールドから「カスタム・メタデータ」フィールドへのマッピング

カスタム・メタデータをマッピングするには、次の手順に従います。

1. 「データ・モデル」エディタ・タスク・ペインで、「カスタム・メタデータ」をクリックします。

2. Oracle WebCenter Content Serverは、ドキュメント・プロファイルの下にメタデータを保存します。ドキュメント・プロファイルは、さらにルールにネストされています。メタデータ・フィールドをマッピングのために取得するには、まず、「WebCenter server」、「コンテンツ・プロファイル」、「ルール」セットの順で選択します。
「カスタム・メタデータ」ヘッダー・リージョンで、次のように「ルール」を選択します。

- サーバー - コンテンツ・プロファイルが定義された場所のWebコンテンツ・サーバーを選択します。

- コンテンツ・プロファイル — カスタム・メタデータ・フィールドを定義するルールを含むコンテンツ・プロファイルを選択します。

- ルール — メタデータ・フィールドを指定する「ルール」セットを選択します。
「ルール」セットを選択しないと、BI Publisherは「コンテンツ・プロファイル」下のすべての「ルール」に対してメタデータをロードします。

3. 「メタデータのロード」をクリックします。下のペインには、選択したルールで定義したメタデータ・フィールドが表示されます。

4. それぞれのメタデータ・フィールドに、「データ・マッピング」リストから選択したデータ・セットのデータ・フィールドをマップします。「データ・マッピング」リストには、使用するデータ・セットのすべてのデータ・フィールドが表示されます。
メタデータ・フィールドが必要な場合、「必須」列にYが表示されます。

5. メタデータ・フィールドのマッピングが終了したら、「保存」をクリックします。

8.3 未使用のメタデータ・フィールドの削除

BI Publisherは、選択した「ルール」セットで定義したすべてのメタデータ・フィールドをロードします。次のようにして、不要なカスタム・メタデータ・フィールドを削除できます。

1. メタデータ・フィールドを、左側のペインのフィールド名をクリックするか、下に示す図に表示されている表の選択列をクリックして、選択します。

2. 「削除」ボタンをクリックします。

索引
A B C D E F G H I L M N O P Q R S T U V W X

A

ABS, 3.17

「アクション」メニュー

グループ, 3.6

集計要素

グループ・レベル, 3.9

プロパティの設定, 3.9

分析

「Oracle BI Analysis」を参照, 1.4

AVG, 3.17

B

データソースのバックアップ

データ・モデルへの使用, 1.7

バインド変数

追加, 2.3.1, 2.3.4

一括処理

設定, 7.3

バースティング定義

CLOBデータ・セットの定義, 7.6

C

CEILING, 3.17

CLOB

バースティング定義の追加, 7.6

データソースとして使用, 2.14

コード表示, 3.3 CONCAT, 3.17

D

データ・モデル

コンポーネント定義, 1.2

データ・モデル・エディタ

起動, 1.6

データ・セット

作成, 2.1

編集, 2.2

複数問合せのデータ・モデルのガイドライン, 3.1.3

リンク, 3.4

サポートされるタイプ, 2.1

各タイプのサポート対象, 1.4

データソース

サポートされるタイプ, 1.4

「データベース・フェッチ・サイズ」プロパティ, 1.7 DATE, 3.17 「デフォルトのデータソース」プロパティ, 1.7 ダイアグラム表示, 3.3

E

要素のプロパティ

設定, 3.12

要素レベルのリンク, 3.4.1

削除, 3.5.1

要素

名前の変更, 3.16.1

Excelデータソースのファイル

ローカル・ファイルのリフレッシュ, 1.7.2.3

F

フィルタ

グループの作成, 3.10

削除, 3.10

編集, 3.10

変数の検索

ユーザー情報, 2.16

FLOOR, 3.17 FORMAT_DATE, 3.17 FORMAT_NUMBER, 3.17 関数

要素レベル, 3.11

グローバル・レベル, 3.15

参照, 3.17

G

グローバル・レベルの関数, 3.15

グループ・フィルタ

作成, 3.10

削除, 3.10

編集, 3.10

グループ・リンク

アクション・メニュー, 3.6

グループレベルのリンク, 3.4.2

作成, 3.6

削除, 3.6.1

H

HTTP XML入力

データ・セットの作成, 2.13

HTTP XML入力データ・セット

構造化の制限事項, 2.13

I

INSTR, 3.17

L

LDAP

ユーザー属性からのバインド変数の作成, 2.16.2.1

データソースとしての使用, 2.9

LENGTH, 3.17 リンク

データセット間での作成, 3.4

要素レベル, 3.4

グループレベル, 3.4

値リスト

データ・モデルへの追加, 4.4

M

マスター詳細リンク, 3.4

MAX, 3.17

Microsoft Excel

データ・セットの作成, 2.11

システム・ディレクトリのデータソース, 2.11.3

アップロードしたデータソース・ファイルの削除, 2.11.4.1

アップロードしたデータソース・ファイルのリフレッシュ, 2.11.4.1

データソースとして使用するローカル・ファイルのアップロード, 2.11.4

MIN, 3.17 複数問合せのデータ・モデル

使用する場合, 3.1.3

N

NULL要素

値の設定, 3.16.2

NVL, 3.17

O

OLAPデータソース

制限事項, 2.4.1, 2.5

問合せ, 2.4

Oracle BI Analysis

データ・セットの作成, 2.6

データ・セットとしての制限事項, 2.6.1

「Oracle DBデフォルト・パッケージ」プロパティ, 1.7 出力表示, 3.3

P

パラメータ

データ・モデルへの追加, 4.1

日付, 4.2.3

メニュー, 4.2.2

テキスト, 4.2.1

親子グループ

要素の移動, 3.8

親子リンク, 3.4 PL/SQL

要素の追加, 3.15

PL/SQLフィルタ, 3.10 プロパティ

集計要素, 3.9

設定, 1.7

プロパティ・ペイン, 1.6.1

Q

クエリー・ビルダー

結合条件, 2.3.3.12.1

オブジェクトの結合, 2.3.3.12.2

サポートされる列の型, 2.3.3.7

使用, 2.3.3

R

要素の名前変更, 3.16.1

ROUND, 3.17

RSSフィード

データ・セットの作成, 2.13

S

サンプル・データ

データ・モデルへの添付, 1.7.2.1

エクスポート, 2.15

データ・モデル用に作成および保存する方法, 2.15

ソート

グループへの適用, 3.13

サポート, 3.13

SQL問合せ

データ・セットとして定義, 2.3

編集, 2.3.3.14

STRING, 3.17 構造ビュー, 3.3, 3.16 サブグループ

データ・モデルでの作成, 3.7

削除, 3.7

SUBSTRING, 3.17 SUM, 3.17 システム変数

データ・モデルに含める方法, 2.16

T

ツールバー, 1.6.1

U

ユーザーID

データ・モデルに含める方法, 2.16

ユーザー情報

データ・モデルに含める方法, 2.16

ユーザー・プリファレンス

データ・モデルに含める方法, 2.16

ユーザー・ロール

データ・モデルに含める方法, 2.16

V

NULL時の値, 3.16.2

ビュー・オブジェクト

データ・セットの作成, 2.7

データ・セットとしての制限事項, 2.7.1

W

Webサービス

構造化の制限事項, 2.8.2

サポートされている形式, 2.8

X

XML入力

HTTPを通じたデータ・セットの作成, 2.13

XMLファイル

データソースとして使用, 2.10

XML出力

データ・モデル・エディタからの表示, 1.6.1, 1.6.1

XML出力オプション

設定, 1.7.1

XMLタグの表示

大文字または小文字の設定, 1.7.1

オラクル社の法律上の注意点について

コピーライトについて

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）、その他の対策を講じることは使用者の責任となります。このソフトウェアもしくはハードウェアを危険が伴うアプリケーションで使用したことに起因して損害が発生しても、オラクル社およびその関連会社は一切の責任を負いかねます。

第三者のコンテンツ、製品、サービスに対する免責事項

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

ドラフトのアルファ版およびベータ版ドキュメントについて

このドキュメントが試作版の場合:

このドキュメントは試作版であり、デモおよび暫定使用のみを目的としたものです。このソフトウェアを使用するハードウェアに限定するものではありません。オラクル社およびその関連会社は、このドキュメントに関して一切の責任を負わず、いかなる保証もいたしません。また、このドキュメントを使用したことによって損失、費用、あるいは損害が発生しても、一切の責任を負いかねます。