Oracle® Fusion Middleware

Oracle Business Intelligence Enterprise Editionメタデータ・リポジトリ作成者ガイド

11g リリース1(11.1.1)

B63028-07(原本部品番号:E10540-09)

2015年6月

Oracle Business Intelligenceメタデータ・リポジトリの構築方法、データ・ソースの設定と接続方法、物理レイヤー、ビジネス・モデルとマッピング・レイヤー、およびプレゼンテーション・レイヤーの構築方法を説明します。マルチ・ユーザー開発環境の使用方法と、論理SQLリファレンスが含まれています。

Oracle Fusion Middleware Oracle Business Intelligence Enterprise Editionメタデータ・リポジトリ作成者ガイド, 11g リリース1 (11.1.1)

B63028-07

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

原本著者: Stefanie Rhone

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

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

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

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

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 Corporationとの間の契約に別段の定めがある場合を除いて、Oracle Corporationおよびその関連会社は、第三者のコンテンツ、製品、サービスに関して一切の責任を負わず、いかなる保証もいたしません。適用されるお客様とOracle Corporationとの間の契約に定めがある場合を除いて、Oracle Corporationおよびその関連会社は、第三者のコンテンツ、製品、サービスへのアクセスまたは使用によって損失、費用、あるいは損害が発生しても一切の責任を負いかねます。

目次

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

はじめに

- 対象読者

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

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

- 表記規則

Oracle BIメタデータ・リポジトリ作成者のための新機能

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

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

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

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

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

1 メタデータ・リポジトリの作成の概要

- Oracle BIサーバーとOracle BIリポジトリのアーキテクチャについて

- Oracle BIサーバーのアーキテクチャについて

- Oracle BIリポジトリのレイヤーについて

- ビジネス・モデルの計画

- ビジネス・モデルの要件の分析

- ビジネス・モデルのコンテンツの特定

- 論理ファクト表の特定

- 論理ディメンション表の特定

- ディメンションの特定

- 参照表の特定

- 物理レイヤーのデータ・ソース・コンテンツの特定

- リレーショナル・データ・ソースの物理スキーマのタイプについて

- マルチディメンション・データ・ソースのキューブについて

- データ・ソースの表構造の特定

- リポジトリ設計のガイドライン

- リポジトリに関する作業の全般的なヒント

- 物理レイヤーを設計する際のヒント

- ビジネス・モデルとマッピング・レイヤーを設計する際のヒント

- 外部結合のモデリング

- プレゼンテーション・レイヤーを設計する際のヒント

- 他のガイド内の関連トピック

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

2 前提作業

- Oracle BI管理ツールについて

- 管理ツールを開く

- 管理ツールのメイン・ウィンドウについて

- 管理ツールのオプションの設定

- 管理ツールのメニューについて

- 「ファイル」メニュー

- 「編集」メニュー

- 「表示」メニュー

- 「管理」メニュー

- 「ツール」メニュー

- 「図」メニュー

- 「ウィンドウ」メニュー

- 「ヘルプ」メニュー

- 物理図およびビジネス・モデル図の使用

- リポジトリでのオブジェクトの編集、削除および並替え

- リポジトリ・オブジェクトのネーミング要件について

- 「参照」ダイアログを使用したオブジェクトの参照

- リポジトリ・オブジェクトのアイコンの変更

- 管理ツールでのオブジェクトのソート

- Oracle Marketing Segmentationの機能とオプションについて

- Oracle BIサーバーのコマンドライン・ユーティリティについて

- Oracleインスタンスに初期化したシェル・ウィンドウを起動するためのbi-initの実行

- Fusion Middleware ControlおよびNQSConfig.INIのオプションについて

- SampleApp.rpdデモ・リポジトリについて

- オンラインとオフラインのリポジトリ・モードの使用

- オフライン・モードでのリポジトリの編集

- オフライン・モードでリポジトリを開く

- オフラインでの変更の公開

- オンライン・モードでのリポジトリの編集

- リポジトリをオンライン・モードで開く

- オンラインでの変更の公開

- オンライン・モードを使用するためのガイドライン

- オブジェクトのチェックアウト

- 変更のチェックイン

- 読取り専用モードについて

- リポジトリまたはビジネス・モデルの整合性のチェック

- 整合性チェック・マネージャについて

- リポジトリ・オブジェクトの整合性チェック

- validaterpdユーティリティを使用したリポジトリの整合性チェック

- 一般的な整合性チェック・メッセージ

3 マルチユーザー開発環境の設定と使用

- マルチユーザー開発環境について

- マルチユーザー開発プロセスについて

- プロジェクトの設定

- プロジェクトについて

- 「プロジェクト」ダイアログについて

- プロジェクトの作成

- リポジトリ・アップグレード時の古いプロジェクトの変換について

- マルチユーザー開発ディレクトリの設定

- マルチユーザー開発ディレクトリの特定

- マルチユーザー開発ディレクトリへのマスター・リポジトリのコピー

- マルチユーザー開発ディレクトリへのポインタの設定

- マルチユーザー開発環境における変更

- メタデータの変更とテストについて

- プロジェクトを使用したリポジトリへの変更

- リポジトリ・プロジェクトのチェックアウト

- ローカル・プロジェクトの抽出のリフレッシュ

- リポジトリ全体への変更

- マルチユーザー開発のメニュー・オプションについて

- マルチユーザー開発リポジトリ・プロジェクトへの変更の公開

- マルチユーザー開発のマージ・プロセスについて

- マルチユーザー開発のマージと標準のリポジトリ・マージの違い

- ネットワークへの公開

- 変更の公開時に整合性のあるリポジトリを施行

- マルチユーザー開発におけるブランチ化

- ブランチ化について

- Oracle Business Intelligenceでのマルチチーム、マルチリリース・モデルの使用

- RPDブランチの同期

- マルチユーザー開発の履歴の表示と削除

- マルチユーザー開発履歴の表示

- マルチユーザー開発履歴の削除

- マルチユーザー開発オプションの設定

4 リポジトリ開発のためのソース・コントロール管理システムの使用方法

- 管理ツールでのソース・コントロール管理システムの使用方法について

- MDS XMLについて

- ソース・コントロール管理の下でのリポジトリ開発のためのシステムのセットアップ

- SCM構成ファイルの作成

- MDS XMLリポジトリの作成とSCMシステムへのファイルのチェックイン

- 既存のリポジトリ・ファイルをMDS XML形式で保存

- 新しいリポジトリをMDS XML形式で作成

- ソース・コントロール・ファイルにリンクしてリポジトリを変換(小さいリポジトリのみ)

- 日常のリポジトリ開発におけるソース・コントロール管理の使用方法

- ソース・コントロールの下でのリポジトリの更新、保存および変更のチェックイン

- エラーの処理

- ソース・コントロールの下でのリポジトリのテスト

- ソース・コントロール・ログの表示

- MUDでのソース・コントロール管理の使用方法

- MUDマスター・リポジトリとMUDログ・ファイルをソース・コントロール下に置く

- MUDマスターおよびMUDログ・ファイルの新しいバージョンをソース・コントロールにチェックイン

- 更新済のMUDマスター・リポジトリとログ・ファイルを手動でチェックイン

- スクリプトを使用して、更新済のMUDマスター・リポジトリとログ・ファイルをチェックイン

5 メタデータのインポートとデータ・ソースの操作

- メタデータのインポートとデータ・ソースの操作について

- 新しいOracle BIリポジトリの作成

- データ・ソースの事前構成作業の実行

- ODBCデータ・ソース名(DSN)の設定

- Oracle Databaseデータ・ソースの設定

- Oracle 12c Database In-Memoryのデータ・ソース

- Exadataを使用するOracle 12c Databaseのデータ・ソース

- Oracle BIサーバーでサポートされる高度なOracleデータベースの機能

- クライアント・インストールのための追加のOracle Database構成

- Firewallを使用している場合のOracle BIサーバーの構成

- Windows 7 64ビット環境でのOracle Database接続エラーの回避

- Oracle OLAPデータ・ソースの設定

- クライアント・インストールのための追加のOracle OLAP構成

- Oracle TimesTen In-Memory Databaseデータ・ソースの設定

- TimesTenデータ・ソースの構成

- TimesTenデータ・ソースでのシステム・メモリー・リソースの使用の向上

- OPMNがWindows上のTimesTen DLLにアクセスできることを確認する

- Essbaseデータ・ソースの設定

- クライアント・インストールに対する追加のEssbase構成手順

- Cloudera Impalaデータ・ソースの設定

- クライアント・インストールでのWindows ODBCドライバの取得

- Windows ODBCを使用したCloudera Impalaメタデータのインポート

- Apache Hiveデータソースの設定

- クライアント・インストールでのWindows ODBCドライバの取得

- Oracle Business IntelligenceでのApache Hiveの使用上の制限

- Hyperion Financial Managementデータ・ソースの設定

- クライアント・インストールに対する追加のHyperion構成

- SAP/BWデータ・ソースの設定

- Oracle RPASデータ・ソースの設定

- Teradataデータ・ソースの設定

- Teradataデータ・ソースに対する問合せのスプール領域エラーの回避

- Oracle DatabaseおよびTimesTenに対するNUMERICデータ型のサポートの有効化

- Essbase、Hyperion Financial ManagementまたはHyperion Planningデータ・ソースのSSOの構成

- リレーショナル・データ・ソースからのメタデータのインポート

- 「論理モデルへのマップ」画面と「ウェアハウスに公開」画面について

- マルチディメンション・データ・ソースからのメタデータのインポート

- Oracle RPASデータ・ソースからのメタデータのインポートについて

- XMLデータ・ソースからのメタデータのインポート

- データ・ソースとしてのXMLの使用について

- XML Gatewayを使用したXMLデータ・ソースからのメタデータのインポート

- Oracle BIサーバーXML Gatewayによって生成されるXMLドキュメントの例

- HTML表へのアクセス

- XML ODBCを使用したXMLデータ・ソースからのメタデータのインポート

- XML ODBCデータ・ソースの例

- XMLドキュメントの例

- Oracle Business Intelligenceでのスタンバイ・データベースの使用

- Oracle Business Intelligenceでのスタンバイ・データベースの使用について

- スタンバイ・データベース構成のデータベース・オブジェクトの作成

- スタンバイ・データベース構成の接続プールの作成

- スタンバイ・データベース構成でのライトバック・スクリプトの更新

- スタンバイ・データベース構成での使用状況トラッキングの設定

- スタンバイ・データベース構成でのイベント・ポーリングの設定

- スタンバイ・データベース構成でのOracle BIスケジューラの設定

6 ADFデータ・ソースでの作業

- ADFビジネス・コンポーネントとは

- ADFビジネス・コンポーネントを使用した業務レポートについて

- インポート時の動作

- SQL Bypassデータベースの指定について

- ADFデータ・ソースの設定

- WebLogicドメインの作成

- Oracle WebLogic Serverの共有ライブラリとしてのOBIEEBrokerのデプロイ

- JDeveloperからOracle WebLogic ServerへのアプリケーションEARファイルのデプロイ

- WebLogic ServerでのJDBCデータ・ソースの設定

- Oracle WebLogic Serverでのデプロイされたアプリケーションのログ・レベルの設定

- ADFデータ・ソースからのメタデータのインポート

- ADFデータ・ソースからの初期インポートの実行

- 増分インポートを使用したフレックス・オブジェクト変更の伝播

- 論理モデルへのフレックス・オブジェクト変更の自動マッピング

- マッピングの動作のカスタマイズ

- 論理モデルへのフレックス・オブジェクト変更の手動マッピング

- biserverextenderユーティリティを使用したFlexオブジェクト変更の自動マッピング

- Oracle WebLogic ServerにおけるSSLの構成

- Oracle WebLogic Serverにおける一方向SSLの構成

- Oracle WebLogic Serverにおける双方向SSLの構成

- ADFアプリケーションにカスタム・パラメータを渡す機能の有効化

- ADFデータ・ソースからのラベルおよびツールチップの伝播

- ラベルおよびツールチップとは

- UIヒントのセッション変数ネーミング・スキームについて

- プレゼンテーション列に対応する物理列の特定について

- UIヒントを伝播するためのセッション変数の自動初期化

- 分析の作成時にOracle ADFデータ・ソースのUIヒントを使用する例

- 初期化ブロックでのXMLコードの使用によるUIヒントの問合せ

7 データベース・オブジェクトおよび接続プールの設定

- データベース・オブジェクトの設定

- 物理レイヤーのデータベース・タイプについて

- 物理レイヤーにおけるデータベース・オブジェクトの手動作成

- デフォルトで直接データベース・リクエストを許可する状況

- データ・ソースでサポートされるSQL機能の指定

- データベース・プロパティの表示

- 接続プールについて

- 初期化ブロックの接続プールについて

- 接続プールの作成または変更

- 「一般」タブの接続プール・プロパティの設定

- 「一般」タブの共通的な接続プール・プロパティ

- 「一般」タブの多次元接続プールのプロパティ

- 「接続スクリプト」タブの接続プール・プロパティの設定

- 「XML」タブの接続プール・プロパティの設定

- 「ライトバック」タブの接続プール・プロパティの設定

- 「その他」タブの接続プール・プロパティの設定

- 永続接続プールの設定

- バッファ・サイズとトランザクション境界の設定について

- 接続プール・パスワードの変更のためのBIServerT2PProvisioner.jarユーティリティの使用

8 物理表、キューブおよび結合での作業

- 物理レイヤーでの作業について

- 物理図での作業

- 物理レイヤー・フォルダの作成

- 物理レイヤー・カタログおよびスキーマの作成

- カタログの作成

- スキーマの作成

- 変数を使用したカタログまたはスキーマの名前の指定

- 物理レイヤーでの表示フォルダの設定

- 物理表での作業

- 物理レイヤーの表について

- 物理別名表について

- 物理表と物理キューブ表の作成と管理

- 物理表の作成と編集

- 別名表の作成

- 物理表のプロパティの表示

- XMLデータ・ソースの場合の物理表プロパティの設定

- リレーショナル表およびキューブ表の列とキーの作成と管理

- 物理表の列の作成と編集

- 物理表の主キーの指定

- すべてのデータ・ソースの物理列の削除

- 物理列のプロパティの表示

- 物理表または物理列でのデータの表示

- 物理レイヤーのマルチディメンション・ソースでの作業

- 物理キューブ表について

- マルチディメンション・データ・ソースのメジャーについて

- 外部集計されるメジャーについて

- 物理ディメンションおよび物理階層での作業

- 物理ディメンション・オブジェクトでの作業

- 物理階層オブジェクトでの作業

- SAP/BWデータ・ソースのキューブ変数を使用した作業

- 物理キューブ表のメンバーの表示

- Essbaseデータ・ソースでの作業

- Oracle Business IntelligenceでのEssbaseデータ・ソースの使用について

- 増分インポートについて

- Essbase別名表での作業

- 表示に使用する値の指定

- 別名ごとの列の明示的定義

- ユーザー定義属性のモデリング

- ディメンションおよびレベルへのメンバー属性の関連付け

- 代替階層のモデリング

- メジャー階層のモデリング

- 未修飾メンバー名の使用によるパフォーマンスの向上

- Hyperion Financial Managementデータ・ソースおよびHyperion Planningデータ・ソースでの作業

- Hyperion Financial Managementデータ・ソースからのデータのインポート

- Hyperion Planningデータ・ソースからのデータのインポート

- Hyperion Financial Managementデータ・ソースおよびHyperion Planningデータ・ソースへの問合せサポートについて

- Oracle OLAPデータ・ソースでの作業

- Oracle OLAPデータ・ソースからのメタデータのインポートについて

- Oracle OLAPアナリティック・ワークスペース(AW)オブジェクトでの作業

- Oracle OLAPのディメンション、階層およびレベルでの作業

- Oracle OLAPキューブおよび列での作業

- 物理外部キーと結合での作業

- 物理結合について

- 主キーと外部キーの関係について

- 複合結合について

- マルチデータベース結合について

- 断片化されたデータについて

- 物理図を使用した物理結合の定義

- 結合マネージャを使用した物理結合の定義

- 不透明なビューのデプロイ

- 不透明なビューのデプロイについて

- 不透明なビュー・オブジェクトのデプロイ

- Create View SELECT文の使用

- デプロイされたビューのアンデプロイ

- 不透明なビューまたはデプロイされたビューを削除するタイミング

- 不透明なビューを再デプロイするタイミング

- SQL文でのヒントの使用

- Oracleヒントの使用方法

- 索引ヒントについて

- Leadingヒントについて

- ヒントのパフォーマンスに関する考慮事項について

- ヒントの作成

- 物理表と列の行数の表示と更新

9 論理表、論理結合および論理列での作業

- 「ビジネス・モデルとマッピング」レイヤーでの作業について

- ビジネス・モデルとマッピング・レイヤーの作成

- ビジネス・モデルの作成

- ビジネス・モデル・オブジェクトの自動作成

- マルチディメンション・データ・ソースに対するビジネス・モデル・オブジェクトの自動作成

- ビジネス・モデルとサブジェクト・エリアの複製

- ビジネス・モデル図での作業

- 論理表の作成と管理

- 論理表の作成

- 論理表ソースの作成と管理

- 論理表の主キーの指定

- 論理表の外部キーの確認

- 論理結合の定義

- ビジネス・モデル図を使用した論理結合の定義

- 結合マネージャを使用した論理結合の定義

- 結合マネージャを使用した論理結合の作成

- 結合マネージャを使用した論理外部キー結合の作成

- 駆動表の指定

- 結合トリミングを決定する要因

- 論理オブジェクトにマップする物理表の特定

- 論理列の作成と管理

- 論理列の作成

- 別の列に基づいた論理列のソート

- 記述子ID列の割当てによる二重列サポートの有効化

- 派生列の作成

- 複数通貨サポートのための論理列の構成

- メジャー列の集計のデフォルト・レベルの設定

- 論理列へのディメンション固有の集計ルールの設定

- マルチディメンション・データ・ソースへの集計ルールの定義

- ディメンション表の論理レベルとの属性の関連付け

- 論理列の移動またはコピー

- 列でのライトバックの有効化

- ビジネス・モデルとマッピング・レイヤーでの表示フォルダの設定

- ブリッジ表のモデリング

- ブリッジ表とそれに関連する表に対する物理レイヤーでの結合の作成

- 関連するディメンション表の単一ディメンションでのモデリング

- 関連するディメンション表の個別ディメンションでのモデリング

- BLOB(Modeling Binary Large Object)データおよびCLOB(Character Large Object)データ

10 論理ディメンションの操作

- 論理ディメンションの操作について

- レベルベース階層のディメンションの作成と管理

- レベルベース階層について

- レベルベース階層におけるディメンション階層レベルの使用

- レベルベース階層のディメンション、レベル、キーの手動作成

- レベルベース階層のディメンションの作成

- ディメンション内の論理レベルの作成

- 論理列およびその表のディメンション・レベルへの関連付け

- ディメンション・レベルの主キーの特定

- 時間ディメンション内の時系列キーの選択とソート

- 優先ドリル・パスへのディメンション・レベルの追加

- レベルベース階層のディメンションの自動作成

- 論理レベル数の自動設定

- 親子階層のディメンションの作成と管理

- 親子階層について

- 親子階層のレベルと距離について

- 親子関係表について

- 親子階層のディメンションの作成

- 親子関係表の定義

- 親子階層の集計のモデリング

- 親子階層のファクトの格納

- 親子階層の集計

- モデルへの親子関係表の追加

- リレーショナル表をベースとした親子階層の維持

- 時系列データのモデル化

- 時系列関数について

- AGO関数について

- TODATE関数について

- PERIODROLLING関数について

- 論理時間ディメンションの作成

- 「論理ディメンション」ダイアログでの「時間」オプションの選択

- 各レベルに対する時系列キーの設定

- AGO、TODATEおよびPERIODROLLINGのメジャーの作成

11 論理表ソース(マッピング)の管理

- 論理表ソースについて

- 問合せに回答するためにファクト論理表ソースを選択する方法

- 問合せに回答するためにディメンション論理表ソースを選択する方法

- ディメンション論理表ソースのデフォルト選択基準の変更

- 複数ソースのデータの整合性の確認

- 論理表ソースの作成

- 論理表ソースの優先度グループ番号の設定

- 物理から論理表ソースへのマッピングの定義と計算項目の作成

- 論理列とソースのアンマップ

- 論理表ソースのコンテンツの定義

- ディメンション表からファクト表への結合が存在することの確認

- WHERE句フィルタについて

- 論理表ソースの親子設定に関する作業

- 集計対象のファクト・データのソース作成による集計ナビゲーションの設定

- 集計ナビゲーションの断片化の内容の設定

- 単一列の値ベースの述語のための断片化の内容の指定

- 単一列の範囲ベースの述語のための断片化の内容の指定

- 複数列のコンテンツ記述の指定

- 並列コンテンツ記述の指定

- 不均衡な並列コンテンツ記述の指定

- 集計表の断片のための断片化の内容の指定

- 集計表のコンテンツの指定

- ドメインを完全にするための、Select文を使用した物理レイヤー表の定義

- SQL仮想表のコンテンツの指定

- 仮想表の物理結合の作成

12 プレゼンテーション・レイヤーの作成およびメンテナンス

- プレゼンテーション・レイヤーについて

- プレゼンテーション・レイヤーの作成およびカスタマイズ

- サブジェクト・エリアの作成

- 論理的なスターとスノーフレークに基づくサブジェクト・エリアの自動作成

- 不要な列や望ましくない列の削除

- プレゼンテーション列をユーザーにわかりやすい名前に変更

- サブジェクト・エリアでの論理キーのエクスポート

- サブジェクト・エリアでの潜在ファクト列の設定

- プレゼンテーション・レイヤーのメンテナンス

- サブジェクト・エリアでの作業

- プレゼンテーション表とプレゼンテーション列での作業

- プレゼンテーション表の作成および管理

- プレゼンテーション列の作成および管理

- アンサーおよびBIコンポーザでのフォルダのネスト

- プレゼンテーション階層とプレゼンテーション・レベルでの作業

- プレゼンテーション階層の作成および管理

- プレゼンテーション・レイヤーでの複数階層を持つディメンションのモデル化

- プレゼンテーション階層オブジェクトの編集

- プレゼンテーション・レベルの作成および管理

- プレゼンテーション・レイヤー・オブジェクトに対する権限の設定

- プレゼンテーション・レイヤー・オブジェクトの権限レポートの生成

- 「権限」ダイアログでの列のソート

- プレゼンテーション・レイヤー・オブジェクトの別名(シノニム)の作成

- プレゼンテーション・オブジェクトの表示の制御

13 Oracle BIサーバーの問合せ用の集計の作成および永続化

- Oracle Business Intelligenceの集計の永続性について

- 集計の永続性の改善点

- サロゲート・キー

- レベル・キーの自動修正(ハードニング)

- 非バランス型(不規則)およびスキップレベル階層

- 時系列キー

- 重複していない件数メジャー

- 集計の問合せの候補の特定

- 集計の問合せの候補を特定するためのOracle BIサマリー・アドバイザの使用方法

- Oracle BIサマリー・アドバイザについて

- サマリー・アドバイザ統計の収集

- サマリー・アドバイザの推奨の生成と使用方法

- メジャー・サブセットの推奨事項について

- 統計データベースの設定

- S_NQ_SUMMARY_ADVISOR表の列

- 使用状況トラッキングの有効化

- サマリー・アドバイザ・ロギングの有効化

- Oracle BIサマリー・アドバイザ・ウィザードの使用方法

- 統計を生成するためのOracle BIサマリー・アドバイザ統計ジェネレータの使用方法

- nqaggradvisorユーティリティを使用してOracle BIサマリー・アドバイザを実行

- 集計の永続性ウィザードを使用した集計指定の生成

- モデル・チェック・マネージャを使用したモデリングの問題のチェック

- モデル・チェック・マネージャについて

- 管理ツールを使用したモデル・チェック・マネージャの実行

- 「モデル・チェック・マネージャ」ダイアログの使用方法

- validaterpdユーティリティを使用したモデルのチェック

- 集計指定作成の手動での記述

- 作成プロセス時に課される制約

- 集計指定作成を記述する方法

- ディメンション集計表への代理キーの追加

- 集計の作成/準備の構文について

- 集計の作成/準備からの代理キーの出力について

- Oracle BIに対する集計指定の実行

- 集計の永続性のライフ・サイクル・ユースケース

- 可用性の高い集計をリフレッシュするためのダブル・バッファリングの使用方法

- TimesTenソース上の集計の作成

- TimesTenに対するPL/SQLの有効化

- 圧縮表での集計の作成

- TimesTenに対するパフォーマンス強化機能の有効化

- 集計の永続性のトラブルシューティング

- 集計の永続性エラーについて

- 集計の永続性エラーの回避

14 リポジトリ・オブジェクトへのデータ・アクセス・セキュリティの適用

- データ・アクセス・セキュリティについて

- セキュリティ・タスクに関する情報の入手場所

- 行レベル・セキュリティの設定

- リポジトリ内の行レベル・セキュリティ(データ・フィルタ)の設定

- データベース内の行レベル・セキュリティの設定

- オブジェクト権限の設定

- ユーザーおよびアプリケーション・ロールにおける権限の継承について

- 問合せ制限の設定

- 管理ツール内の問合せ制限機能へのアクセス

- 受け取る行数による問合せの制限

- 最大実行時間、および特定の時間帯への限定による問合せの制限

- 直接データベース・リクエストの許可または禁止

- 移入権限の許可または禁止

- オフライン・モードでのデータ・アクセス・セキュリティの適用について

- オフライン・リポジトリ開発のためのプレースホルダ・アプリケーション・ロールの設定

- 管理ツール内のユーザーのリストについて

15 Oracle BIリポジトリの設定の完了

- Oracle Scorecardと戦略管理のためのリポジトリの構成

- コメントおよびステータスのオーバーライドのためのリポジトリの構成

- リポジトリの保存および整合性のチェック

- リポジトリのテストおよび絞込みのためのnqcmdの使用方法

- リポジトリを問合せで使用可能にする

- クライアント・アプリケーション用Oracle BIサーバーへのデータソース接続の作成

- ユーザー・コミュニティへの公開

16 LinuxおよびUNIXでのデータソースの設定

- LinuxおよびUNIXでのデータソースの設定について

- ネイティブ・ゲートウェイを使用したデータソース接続の構成

- OCI接続のトラブルシューティング

- ネイティブ・データベースの行件数の更新について

- LinuxおよびUNIXでのDataDirect Connect ODBCドライバの使用

- DataDirectを使用するOracle Business Intelligenceのアップグレードおよび構成

- DataDirectドライバのアップグレード

- DataDirectドライバの構成

- Microsoft SQL ServerデータベースのためのDataDirect Connect ODBCドライバの構成

- Sybase ASEデータベースのためのDataDirect Connect ODBCドライバの構成

- InformixデータベースのためのDataDirect Connect ODBCドライバの構成

- Cloudera ImpalaデータベースのためのDataDirect Connect ODBCドライバの構成

- Apache HiveデータベースのためのDataDirect Connect ODBCドライバの構成

- ネイティブODBCドライバを使用したデータベース接続の構成

- LinuxおよびUNIXでのOracle TimesTen In-Memory Databaseの設定

- AIX UNIXでのOracle RPAS ODBCデータソースの構成

- LinuxおよびUNIXでのEssbaseデータソースの構成

- IBM z/OSプラットフォームおよびs/390プラットフォームでのDB2 Connectの構成

17 Oracle BIリポジトリ・ファイルの管理

- リポジトリの比較

- 「比較」ダイアログを使用したリポジトリの比較

- comparerpdを使用したリポジトリの比較

- 比較モードをオフにする

- オブジェクトの等化

- オブジェクトの等化について

- 「オブジェクトの等化」ダイアログの使用

- equalizerpdsユーティリティの使用

- TypeNameの値について

- リポジトリのマージ

- 完全なリポジトリ・マージの実行

- 完全なリポジトリ・マージについて

- 共通の親を使用した完全なリポジトリ・マージの実行

- 共通の親を使用しない完全なリポジトリ・マージの実行

- パッチ・マージの実行

- パッチ・マージについて

- リポジトリ・パッチの生成

- リポジトリ・パッチの適用

- リポジトリ・メタデータの問合せおよび管理

- リポジトリの問合せ

- 問合せ結果に対するフィルタの作成

- 関連オブジェクトの問合せ

- Oracle BIリポジトリのパスワードの変更

- 管理ツールを使用したOracle BIリポジトリ・パスワードの変更

- obieerpdpwdchgユーティリティを使用したOracle BIリポジトリ・パスワードの変更

18 「式ビルダー」およびその他のユーティリティの使用

- 「式ビルダー」の使用

- 「式ビルダー」ダイアログについて

- 「式ビルダー」ツールバーについて

- 「カテゴリ」ペインのカテゴリについて

- 式の設定

- 「式ビルダー」内でのナビゲート

- 式の作成

- INDEXCOL変換関数について

- 管理ツール・ユーティリティの使用

- 列または表の置換ウィザードの使用

- 「Oracle BIイベント表」ユーティリティの使用

- 「文字列の外部化」ユーティリティの使用

- 「名前変更ウィザード」の使用

- 「物理レイヤーの更新」ウィザードの使用

- リポジトリ・マッピングのドキュメントの生成

- メタデータ・ディクショナリの生成

- 使用されていない物理オブジェクトの削除

- 集計の保持

- Oracle BIサマリー・アドバイザ・ウィザードの使用方法

- プレゼンテーション・フォルダの変換ユーティリティの使用

- 論理列タイプのリストの生成

- biservergentypexmlユーティリティを使用した論理列タイプのリストの生成

- 論理列タイプのドキュメントの出力サンプル

- 論理列タイプの比較

- 「計算ウィザード」の使用

19 Oracle BI Repositoryでの変数の使用

- リポジトリ変数の操作

- リポジトリ変数について

- 静的リポジトリ関数について

- 動的リポジトリ変数について

- リポジトリ変数の作成

- 式ビルダーでのリポジトリ変数の使用

- セッション変数の操作

- セッション変数について

- システム・セッション変数について

- システム以外のセッション変数について

- セッション変数の作成

- 初期化ブロックの操作

- 変数を含む初期化ブロックの使用について

- 動的リポジトリ変数の初期化

- セッション変数の初期化

- 行単位の初期化について

- 初期化ブロックの作成

- 名前およびスケジュールの初期化ブロックへの割当て

- データソースおよび接続プールの選択およびテスト

- 変数と初期化ブロックとの関連付け

- 実行優先度の確立

- セッション変数初期化ブロックの実行を遅延できないケース

- 初期化ブロックの有効化と無効化

- マルチソース・セッション変数の使用

- マルチソース・セッション変数の作成と使用方法の説明例

A マルチユーザー開発環境のリポジトリ・ライフサイクルの管理

- マルチユーザー開発のデプロイの計画

- ビジネス組織および管理プロセスのベスト・プラクティスについて

- 技術チームのロールと職責について

- マルチユーザー開発のアーキテクチャ

- マルチユーザー開発の概念について

- マルチユーザー開発のスタイルについて

- マルチユーザー開発サンドボックスのアーキテクチャ

- マルチユーザー開発およびライフタイム管理のアーキテクチャ

- マルチユーザー開発環境の概要

- マルチユーザー開発環境のタスク・フローについて

- マルチユーザー開発のプロジェクトについて

- ブランチの作成方法

- メイン・ブランチの作成方法

- サイド・ブランチの作成方法

- 委任管理ブランチの作成方法

- 使用できるマージ・ユーティリティ

- MUDのヒントおよびテスト・プラクティス

- ブランチに関するベスト・プラクティス

- プロジェクトの設定に関するベスト・プラクティス

- 3方向マージに関するベスト・プラクティス

- MUDマージに関するベスト・プラクティス

- 2方向マージに関するベスト・プラクティス

- 本番移行に関するベスト・プラクティス

- アプリケーション・ロールおよびユーザーに関するベスト・プラクティス

- マルチユーザー開発のトラブルシューティング

B MUD事例: Eden Corporation社

- Eden Corporation社の架空の事例について

- フェーズI - マルチユーザー開発(MUD)の初期化

- イニシアティブSの開始

- MUDプロジェクトの設定

- 最初の開発者のチェックアウト

- 2番目の開発者のチェックアウト

- 最初の開発者によるマスターMUDリポジトリへの変更の公開

- 2番目の開発者によるマスターMUDリポジトリへの変更の公開

- MUD管理者のテスト移行アクティビティ

- フェーズIのテスト

- フェーズIの本番への移行

- フェーズIの概要

- フェーズII - ブランチ、修正およびパッチ

- 2番目のブランチの設定

- 開発者のプロジェクトのチェックアウト

- メイン・ブランチのパッチの修正

- フェーズIIブランチの終了およびマージ

- フェーズIIの概要

- フェーズIII - 独立のセマンティック・モデルの開発

- 複数の独立なセマンティック・モデルのセキュリティに関する検討事項

- Salesセマンティック・モデルの開発者のチェックアウト

- HRセマンティック・モデルの開発者が構築するコンテンツ

- フェーズIIIの概要

C 論理SQLリファレンス

- Oracle Business Intelligenceの論理SQLについて

- SQL構文とセマンティクス

- SELECT文の構文と使用上の注意

- SELECT文の基本構文

- 使用上の注意

- サブ問合せのサポート

- SELECTリスト構文

- FROM句の構文

- WHERE句の構文

- GROUP BY句の構文

- ORDER BY句の構文

- SELECT_PHYSICALの構文と使用上の注意

- SELECT_PHYSICAL文の構文

- SELECT_PHYSICAL問合せでサポートされていない集計関数

- SELECT_PHYSICALでサポートされている問合せ

- NATURAL_JOINキーワードの使用方法

- SELECT_PHYSICALの特殊な使用方法

- 返される行の制限とオフセット

- FETCH句とOFFSET句に関する制限事項

- 集計関数を含む問合せのルール

- ベースライン列の集計の計算

- メジャー列の集計の計算

- 表示関数のリセットの動作

- 代替可能な構文

- FILTERを使用した条件集計の計算

- 演算子

- SQL論理演算子

- 数学演算子

- 条件式

- CASE (Switch)

- CASE (If)

- リテラルの表現

- 文字リテラル

- 日時リテラル

- 数値リテラル

- 計算済メンバー

- CALCULATEDMEMBER構文

- CALCULATEDMEMBER式のルール

- 解決順序を使用した式評価順序の制御

- 問合せでの計算済メンバーの例

- 変数

- 集計関数、集計実行関数、時系列関数、およびレポート関数

- 集計関数

- AGGREGATE AT

- AVG

- AVGDISTINCT

- BOTTOMN

- COUNT

- COUNTDISTINCT

- COUNT(*)

- FIRST

- FIRST_PERIOD

- GROUPBYCOLUMN

- GROUPBYLEVEL

- LAST

- LAST_PERIOD

- MAX

- MEDIAN

- MIN

- NTILE

- PERCENTILE

- RANK

- STDDEV

- STDDEV_POP

- SUM

- SUMDISTINCT

- TOPN

- 集計実行関数

- MAVG

- MSUM

- RSUM

- RCOUNT

- RMAX

- RMIN

- 時系列関数

- AGO

- PERIODROLLING

- TODATE

- レポート関数

- REPORT_AGGREGATE

- REPORT_AVG

- REPORT_COUNT

- REPORT_MAX

- REPORT_MIN

- REPORT_SUM

- 文字列関数

- ASCII

- BIT_LENGTH

- CHAR

- CHAR_LENGTH

- CONCAT

- INSERT

- LEFT

- LENGTH

- LOCATE

- LOWER

- OCTET_LENGTH

- POSITION

- REPEAT

- REPLACE

- RIGHT

- SPACE

- SUBSTRING

- TRIMBOTH

- TRIMLEADING

- TRIMTRAILING

- UPPER

- 数学関数

- ABS

- ACOS

- ASIN

- ATAN

- ATAN2

- CEILING

- COS

- COT

- DEGREES

- EXP

- EXTRACTBIT

- FLOOR

- LOG

- LOG10

- MOD

- PI

- POWER

- RADIANs

- RAND

- RANDFROMSEED

- ROUND

- SIGN

- SIN

- SQRT

- TAN

- TRUNCATE

- カレンダ日付/時刻関数

- CURRENT_DATE

- CURRENT_TIME

- CURRENT_TIMESTAMP

- DAY_OF_QUARTER

- DAYNAME

- DAYOFMONTH

- DAYOFWEEK

- DAYOFYEAR

- HOUR

- MINUTE

- MONTH

- MONTH_OF_QUARTER

- MONTHNAME

- NOW

- QUARTER_OF_YEAR

- SECOND

- TIMESTAMPADD

- TIMESTAMPDIFF

- WEEK_OF_QUARTER

- WEEK_OF_YEAR

- YEAR

- 変換関数

- CAST

- CHOOSE

- IFNULL

- INDEXCOL

- 階層レベルの例

- TO_DATETIME

- VALUEOF

- VARIABLE_REPLACE

- 参照関数

- データベース関数

- EVALUATE

- EVALUATE_ANALYTIC

- EVALUATE_AGGR

- EVALUATE_PREDICATE

- 階層ナビゲーション関数

- DEPTH

- IDOF

- ISANCESTOR

- ISCHILD

- ISDESCENDANT

- ISLEAF

- ISPARENT

- ISROOT

- ISSIBLING

- PARENT

- システム関数

- USER

- DATABASE

D マージ・ルール

- マージ・プロセスについて

- 完全なマージのマージ・ルールと動作

- 論理表ソースおよびその他のオブジェクトの特殊なマージ・アルゴリズム

- ベクター・マージ・アルゴリズムを使用するオブジェクトのマージ

- 論理表ソースのマージ

- セキュリティ・フィルタのマージ

- プレゼンテーション列に対して「論理列の使用」プロパティを推論する

- 別名のマージ

- マルチユーザー開発マージのマージ・ルールと動作

- パッチ・マージのマージ・ルールと動作

- パッチ・プロセスを自動化するためのPatchrpdの使用方法

E リポジトリからの不要オブジェクトの削除

- オブジェクト・プルーニング・ユーティリティについて

- オブジェクト・プルーニング・ユーティリティの使用方法

- 入力ファイルの作成

- prunerpdユーティリティの実行

- オブジェクト・プルーニング・ユーティリティの削除ルール

F Oracle BI Enterprise Editionでサポートされているデータ型

- Oracle BI EEでサポートされているデータ型カテゴリ

- テキスト・データ

- 数値データ

- 日時データ

- バイナリ・データ

- NQSGetSQLDataTypesプロシージャを使用したデータ型情報へのアクセス

- Oracle BI EEデータ型の制限事項

- 浮動小数点の制限事項

- その他のOracle BIサーバーの制限事項

- Oracle DatabaseからOracle BI EEデータ型へのマッピング

G データベースとのメタデータ交換による問合せのパフォーマンス向上

- データベースとのメタデータ交換について

- インポート・ファイルの生成

- ジェネレータの実行

- メタデータ入力ファイルについて

- 出力ファイルについて

- ジェネレータのエラーのトラブルシューティング

- メタデータ変換ルールとエラー・メッセージ

- Oracle Databaseの変換ルール

- IBM DB2データベースの変換ルール

- Oracle Business IntelligenceでのOracle Databaseのマテリアライズド・ビューの使用

- マテリアライズド・ビューでのSQLアクセス・アドバイザの使用について

- Oracle Databaseへのメタデータのデプロイ

- Oracle Databaseに対するSQLファイルの実行

- 結合の存在に関する制約の定義

- 問合せワークロードの作成

- マテリアライズド・ビューの作成

- Oracle Business IntelligenceでのIBM DB2 Cube Viewsの使用

- Oracle Business IntelligenceでのIBM DB2 Cube Viewsの使用について

- キューブ・メタデータのデプロイ

- IBM Cube Viewsに対する別名-SQLファイルの実行

- XMLファイルのインポート

- マテリアライズド・クエリー・テーブル(MQT)作成のガイドライン

H ADFマッピングのカスタマイズのためのXMLスキーマ・ファイル

- app_segment_rule.xsd XMLスキーマ・ファイル

- app_segment_rules_*.xmlの例

- mapping_rules.xsd XMLスキーマ・ファイル

- mapping_rules_*.xmlの例

I 管理ツールのキーボード・ショートカット

- メニューのキーボード・ショートカット

- ダイアログのキーボード・ショートカット

- 物理図およびビジネス・モデル図のキーボード・ショートカット

J 管理ツールのユーザー・インタフェースのコンポーネント

- このアイコン参照について

- 物理レイヤーのアイコン

- ビジネス・モデルとマッピング・レイヤーのアイコン

- プレゼンテーション・レイヤーのアイコン

- Identity Managerのアイコン

- 結合マネージャのアイコン

- 変数マネージャのアイコン

- プロジェクト・マネージャのアイコン

用語集

索引

はじめに

Oracle Business Intelligence Foundation Suiteは、レポート作成、非定型の問合せ、OLAP、ダッシュボード、スコアカード、What-If分析など、すべてのエンタープライズ・ビジネス・インテリジェンスのニーズに対応する、完全かつオープンな統合ソリューションです。Oracle Business Intelligence Foundation Suiteには、Oracle Business Intelligence Enterprise Editionが含まれています。

Oracle Business Intelligence Enterprise Edition (Oracle BI EE)は、エンタープライズ・ビジネス・インテリジェンス・ツールおよびインフラストラクチャの包括的なセットであり、これには、スケーラブルで効率的な問合せおよび分析サーバー、非定型の問合せおよび分析ツール、インタラクティブ・ダッシュボード、プロアクティブ・インテリジェンスおよびアラート、エンタープライズ・レポート・エンジンなどが含まれます。

Oracle BI EEの各コンポーネントは、共通のサービス指向アーキテクチャ、データ・アクセス・サービス、分析および計算インフラストラクチャ、メタデータ管理サービス、セマンティック・ビジネス・モデル、セキュリティ・モデルとユーザー・プリファレンス、管理ツールを共有します。Oracle BI EEは、優れたスケーラビリティとパフォーマンスを提供し、データ・ソース固有の最適化されたリクエストの生成、最適化されたデータ・アクセス、高度な計算、インテリジェントなキャッシュ・サービス、およびクラスタリングを実現します。

このガイドでは、Oracle Business Intelligenceメタデータ・リポジトリの構築、データ・ソースの設定とデータ・ソースへの接続、物理レイヤー、ビジネス・モデルとマッピング・レイヤーおよびプレゼンテーション・レイヤーの構築、マルチユーザー開発環境の使用方法、および論理SQLリファレンスについて説明します。

対象読者

このドキュメントは、ビジネス・インテリジェンス・ストラテジスト、メタデータ・プロバイダまたはETL開発者など、Oracle Business Intelligenceの管理ツールを使用してメタデータ・リポジトリを設計および構築するすべてのユーザーを対象としています。

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

オラクル社のアクセシビリティへの取組みの詳細は、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: 1267009.1)をMy Oracle Support(https://support.oracle.com)でアクセスしてください。

表記規則

このドキュメントでは次の表記規則を使用します。

規則

意味

太字

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

イタリック体

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

固定幅フォント

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

Oracle BIメタデータ・リポジトリ作成者のための新機能

この序章では、Oracle Business Intelligence Enterprise Edition 11g リリース1 (11.1.1)におけるメタデータ・リポジトリ機能の変更点について説明します。

以前のリリースからOracle BI EEにアップグレードする場合は、機能、ツールおよび手順が大幅に異なることがあるので、次の情報をよくお読みください。Oracle BI EE 11gへのアップグレードの詳細は、『Oracle Fusion Middleware Oracle Business Intelligenceアップグレード・ガイド』を参照してください。

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

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

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

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

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

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

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

Oracle BI EE 11g リリース1 (11.1.1.9)におけるメタデータ・リポジトリの新機能は、次のとおりです。

- 「マルチユーザー」メニューへの「RPD全体のチェックアウト」オプションの追加

- 集計の永続性の改善

- JSON構文で書かれた初期化ブロック

- 変換キー

- 新しい管理ツールのオプション

- DataDirectドライバをアップグレードするスクリプトの追加

- Cloudera Impalaのサポート

- Hyperion Planningデータ・ソースへのアクセス

- Oracle 12cデータベースのサポートの拡大

「マルチユーザー」メニューへの「RPD全体のチェックアウト」オプションの追加

マルチユーザー開発でプロジェクトではなくリポジトリ全体をチェックアウトする必要がある場合、「RPD全体のチェックアウト」オプションを使用します。詳細は、「マルチユーザー開発環境における変更」を参照してください。

集計の永続性の改善

このリリースでは、次のような集計の永続性の機能強化が行われています。

- Oracle BIサマリー・アドバイザウィザードに、「代理キーの使用」フィールドが含まれるようになりました。これはデフォルトで選択されます。このオプションを選択すると、代理キーのパフォーマンスが改善され、集計の永続性で一意ではないレベル・キーを持つレベルに対して集計を作成できます。

- 集計の永続性は、一意ではないレベル・キーを自動修正、またはハードニングします。

- 集計の永続性は、非バランス型(不規則)またはスキップレベル階層のある論理ディメンションに対する集計を作成します。

- 集計の永続性は、時系列キーのない集計を作成する時間レベルに対して、時系列キーを生成します。時系列キーが生成されると、新しい列が物理ディメンション集計表に追加されて、時系列キーの値を保存します。新しい論理列が、時間ディメンションの論理表内に作成されます。
delete aggregates文が強化され、集計の永続性により時系列キーが生成された論理キーおよび論理列が削除されます。

- 集計の永続性では、個別値で計測される実際の列値を保存します。これにより、重複していない件数メジャーのある集計で、高グレインでのメジャーに対する問合せを処理できるようになりました。集計の永続性ウィザードには「「重複を除いた件数」メジャーをRAW値として永続化」オプションが含まれ、これを選択すると、指定された有効な重複していない件数メジャーのすべてにas_raw_values句が付加されます。

- サマリー・アドバイザ・コマンドライン・ユーティリティ(nqaggradvisor)を使用して、集計の作成で実行する集計指定スクリプトを生成できます。nqaggradvisorユーティリティは、Oracle Business IntelligenceをOracle Exalytics Machine上で実行している場合にのみ使用できます。

詳細は、第13章「Oracle BIサーバーの問合せ用の集計の作成および永続化」を参照してください。

JSON構文で書かれた初期化ブロック

このリリースでは、変数を使用して選択ステップの値をオーバーライドする機能が提供されています。選択手順のオーバーライドで使用する変数では、初期化文字列がJSON構文で書かれている初期化ブロックを使用します。詳細は、「選択手順をオーバーライドする変数で使用される初期化文字列」を参照してください。

変換キー

変換キーがすべてのプレゼンテーション・オブジェクトに追加されました。変換キーは自動的に移入され、デフォルトではプレゼンテーション・オブジェクトの名前と一致します。変換キーは変更できます。プレゼンテーション・レイヤー内で表示名を外部化し、「文字列の外部化」ユーティリティを実行すると、その結果に変換キーが含まれます。詳細は、「「文字列の外部化」ユーティリティの使用」を参照してください。

新しい管理ツールのオプション

新しい管理ツール・オプションが2つ追加されました。「変換キーをプレゼンテーション・ツリーに表示」オプションおよび「プレゼンテーション名の編集」オプションです。詳細は、「管理ツールのオプションの設定」を参照してください。

DataDirectドライバをアップグレードするスクリプトの追加

DataDirectドライバを使用中で、Oracle BI EE 11g リリース11.1.1.9にアップグレードする場合、Oracle BI EE 11.1.1.9で必要なDataDirectドライバにアップグレードするために新しいスクリプトが必要です。このアップグレードは、Oracle BI EEを使用するDataDirectを稼働する各サーバーで実行する必要があります。詳細は、「DataDirectを使用するOracle Business Intelligenceのアップグレードおよび構成」を参照してください。

Cloudera Impalaのサポート

Oracle BI EEでは、Cloudera Impalaがデータベースとしてサポートされるようになりました。Impalaへの接続に必要なDataDirect Connect ODBCドライバが使用できます。詳細は、「Cloudera ImpalaデータベースのためのDataDirect Connect ODBCドライバの構成」および「Cloudera Impalaデータ・ソースの設定」を参照してください。

Hyperion Planningデータ・ソースへのアクセス

Oracle BI EEでは、Hyperion Planningがデータベースとしてサポートされるようになりました。詳細は、「Hyperion Planningデータ・ソースからのデータのインポート」を参照してください。

Oracle 12cデータベースのサポートの拡大

このリリースでサポートしているOracleデータベースは次のとおりです。Oracle 12c Database In-Memory、Exadataを使用するOracle 12c DatabaseおよびOracle 12c Database In-Memory。このリリースでは、Oracle BIサーバーは、圧縮、Exadata Hybrid Columnar Compression (EHCC)およびインメモリーOracleデータベース機能をサポートしています。詳細は、「Oracle Databaseデータ・ソースの設定」を参照してください。

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

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

- 11.1.1.7.0の新機能

- 11.1.1.7.10の新機能

- 11.1.1.7.16の新機能

11.1.1.7.0の新機能

Oracle BI EE 11g リリース1 (11.1.1.7.0)におけるメタデータ・リポジトリの新機能は、次のとおりです。

- コマンドラインからのリポジトリ・パスワードの変更

- マルチユーザー開発環境で一貫性のあるバージョンを施行する新規オプション

- 論理列タイプ情報の生成と比較に使用可能な新規ユーティリティ

- Oracle BIサマリー・アドバイザでのカーディナリティ推定に対する追加のデータベース・サポート

- Oracle BIサマリー・アドバイザのメジャー・サブセットの推奨事項

- モデル・チェック・マネージャの拡張

- Apache Hadoopデータ・ソースへのアクセス

- マルチソース・セッション変数のサポート

- Oracle DatabaseおよびTimesTenに対するNUMERICデータ型のサポート

- biserverextenderユーティリティを使用したFlexオブジェクト変更のマッピング能力

- Oracle BIサーバーとOracle OLAP間のサーブレット通信に対するサポート

コマンドラインからのリポジトリ・パスワードの変更

コマンドラインから、obieerpdpwdchgユーティリティを使用してリポジトリ・パスワードを変更できるようになりました。詳細は、「obieerpdpwdchgユーティリティを使用したOracle BIリポジトリ・パスワードの変更」を参照してください。

マルチユーザー開発環境で一貫性のあるバージョンを施行する新規オプション

マルチユーザー開発オプション・ファイルにオプションを追加して、MUD開発者間での管理ツール、MUDプロトコル、RPDバージョンの整合性を施行することができます。詳細は、「マルチユーザー開発オプションの設定」を参照してください。

論理列タイプ情報の生成と比較に使用可能な新規ユーティリティ

管理ツール・ユーティリティである論理列タイプのドキュメント生成および論理列タイプの比較を使用して、論理列タイプのリストを生成し、それを後続バージョンのリポジトリの論理列タイプと比較できますまた、コマンドライン・ユーティリティbiservergentypexmlを使用して、論理列タイプのリストを生成することもできます。詳細は、「論理列タイプのリストの生成」および「論理列タイプの比較」を参照してください。

Oracle BIサマリー・アドバイザでのカーディナリティ推定に対する追加のデータベース・サポート

サマリー・アドバイザのプロセス中にカーディナリティ推定を使用してパフォーマンスを改善するオプティマイザ推定を優先機能が、Microsoft SQL ServerとIBM DB2に使用できるようになりました。詳細は、「Oracle BIサマリー・アドバイザ・ウィザードの使用方法」を参照してください。

Oracle BIサマリー・アドバイザのメジャー・サブセットの推奨事項

Oracle BIサマリー・アドバイザでは今後、分析済の問合せワークロードに存在しており、集計が作成された場合に問合せワークロードを最適化できる特定のメジャーが含まれている集計のみを対象とすることをお薦めします。詳細は、「メジャー・サブセットの推奨事項について」を参照してください。

モデル・チェック・マネージャの拡張

モデル・チェック・マネージャは、パフォーマンス改善のために、データベースに対してパラレル問合せを実行するようになりました。さらに、validaterpdユーティリティを使用し、-Lオプションを指定して、コマンドラインからモデルをチェックすることもできます。詳細は、「モデル・チェック・マネージャについて」および「検証済ユーティリティを使用したモデルのチェック」を参照してください。

Apache Hadoopデータ・ソースへのアクセス

Oracle BI EEでは、データ・ソースとしてApache Hadoopがサポートされ、データベースとしてApache Hiveがサポートされるようになりました。詳細は、「Apache HiveデータベースのためのDataDirect Connect ODBCドライバの構成」を参照してください。

マルチソース・セッション変数のサポート

Oracle BI EEでは、複数のデータ・ソースから移入可能であり、あらゆるソース・システムの値を保持できるセッション変数をサポートするようになりました。詳細は、「マルチソース・セッション変数の使用」を参照してください。

Oracle DatabaseおよびTimesTenに対するNUMERICデータ型のサポート

構成設定を変更して、Oracle DatabaseおよびTimesTenに対するNUMERICデータ型のサポートを有効にできるようになりました。詳細は、Oracle DatabaseおよびTimesTenに対するNUMERICデータ型のサポートの有効化に関する項を参照してください。

biserverextenderユーティリティを使用したFlexオブジェクト変更のマッピング能力

biserverextenderユーティリティを使用してADFデータ・ソースからFlexオブジェクト変更をインポートし、それを「ビジネス・モデルとマッピング」レイヤーおよび「プレゼンテーション」レイヤーにマップできるようになりました。詳細は、「biserverextenderユーティリティを使用したFlexオブジェクト変更の自動マッピング」を参照してください。

Oracle BIサーバーとOracle OLAP間のサーブレット通信に対するサポート

Oracle BI Serverでは、Oracle OLAPデータ・ソースとの通信に、JavaHostサービスに依存するのではなく、サーブレットを使用できるようになりました。詳細は、「Oracle OLAPデータ・ソースの設定」を参照してください。

11.1.1.7.10の新機能

注意:
Oracle BI EE 11gリリース1 (11.1.1.7.10)に関する情報が適用されるのは、Oracle Fusion Applications 11gリリース8 (11.1.8)をご使用のOracle BI EE 11g リリース1 (11.1.1.7)のお客様のみです。

Oracle BI EE 11g リリース1 (11.1.1.7.10)におけるメタデータ・リポジトリの新機能は、次のとおりです。

- 集計作成用のTimesTenパフォーマンス強化機能

- ADFデータ・ソースからの拡張可能フレックスフィールドのインポート機能

集計作成用のTimesTenパフォーマンス強化機能

opmn.xmlファイルは、ORACLE_BI_AGGR_PARALLEL_INSERT変数とORACLE_BI_AGGR_DIMENSION_TO_FACT_RATIO変数を受け入れるように変更されているため、設定すると、パラレル挿入が有効になります。パラレル挿入では、複数のスレッドを割り当てて単一表への行の挿入に対応します。この拡張により、TimesTenで集計を作成する際のパフォーマンスが向上します。詳細は、「TimesTenに対するパフォーマンス強化機能の有効化」を参照してください。

ADFデータ・ソースからの拡張可能フレックスフィールドのインポート機能

管理ツールのメタデータのインポート・ウィザードの同期機能により、拡張可能フレックスフィールド(EFF)の属性が検出され、Oracle BIリポジトリの物理レイヤーにインポートされるようになりました。詳細は、「増分インポートを使用したフレックス・オブジェクト変更の伝播」を参照してください。

11.1.1.7.16の新機能

注意:
Oracle BI EE 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 EE 11g リリース1 (11.1.1.7.16)におけるメタデータ・リポジトリの新機能はありません。ただし、誤記および記述漏れなどのドキュメントのエラーは、本ガイドで修正されています。

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

この項では、Oracle BI EE 11g リリース 1 (11.1.1.6)の新機能を説明します。内容は次のとおりです。

- 11.1.1.6.2の新機能

- 11.1.1.6.0の新機能

11.1.1.6.2の新機能

Oracle BI EE 11g リリース1 (11.1.1.6.2)におけるメタデータ・リポジトリの新機能は、次のとおりです。

- ネストされたフォルダを作成する方法の改良

- プレゼンテーション・レイヤー・オブジェクトの表示を制御する機能

- 集計の永続性に影響を及ぼすモデリングの問題をチェックする機能

- 集計の作成および削除プロセスの機能強化

- XMLファイルを使用した、ADFデータ・ソースの物理から論理へのマッピングの自動化

- サマリー・アドバイザ・プロセスでのカーディナリティ推定の使用

ネストされたフォルダを作成する方法の改良

「プレゼンテーション表」ダイアログの「子プレゼンテーション表」タブを使用して子プレゼンテーション表を指定して、アンサーおよびBIコンポーザでネストされたフォルダを表示できるようになりました。詳細は、「アンサーおよびBIコンポーザでのフォルダのネスト」を参照してください。

プレゼンテーション・レイヤー・オブジェクトの表示を制御する機能

個々のサブジェクト・エリア、プレゼンテーション表、プレゼンテーション列およびプレゼンテーション階層に対して「オブジェクト非表示の条件」フィールドに式を指定して、アンサーおよびBIコンポーザでそれらのオブジェクトを非表示にすることができるようになりました。詳細は、「プレゼンテーション・オブジェクトの表示の制御」を参照してください。

集計の永続性に影響を及ぼすモデリングの問題をチェックする機能

モデル・チェック・マネージャを使用して、一意でないレベル主キーの特定など、Oracle BIサマリー・アドバイザと集計の永続性エンジンの正常な実行に影響を及ぼす可能性のある問題についてリポジトリ・メタデータをチェックできるようになりました。詳細は、「モデル・チェック・マネージャを使用したモデリングの問題のチェック」を参照してください。

集計の作成および削除プロセスの機能強化

このリリースでは、集計の永続性で次のような機能強化が行われています。

- 一連の集計が作成されるとき、1つの集計の作成が失敗すると、集計の永続性エンジンは、失敗した集計(およびその依存性)の作成をスキップし、すべての変更をロールバックするのではなくリストの次の集計に進むようになりました。

- Delete aggregates文を使用して、孤立ディメンション表(他のどのファクト表にも結合されていないディメンション表)を削除することができるようになりました。

詳細は、第13章「Oracle BIサーバーの問合せ用の集計の作成および永続化」を参照してください。

XMLファイルを使用した、ADFデータ・ソースの物理から論理へのマッピングの自動化

ADFデータ・ソースの場合、メタデータのインポート・ウィザードの「論理モデルへのマップ」画面に表示されるマッピングに対するカスタムのマッピング要件を指定する一連のXMLファイルを作成できます。詳細は、「マッピングの動作のカスタマイズ」を参照してください。

サマリー・アドバイザ・プロセスでのカーディナリティ推定の使用

Oracle BI EE 11gリリース1 (11.1.1.6.2)、バンドル・パッチ1では、サマリー・アドバイザ・プロセスでカーディナリティ推定を使用することにより、オプティマイザ推定を優先を選択してパフォーマンスを改善できます。詳細は、「Oracle BIサマリー・アドバイザ・ウィザードの使用方法」を参照してください。

11.1.1.6.0の新機能

Oracle BI EE 11g リリース1 (11.1.1.6.0)におけるメタデータ・リポジトリの新機能は、次のとおりです。

- 返される行を制限およびオフセットする機能

- Oracle BIサマリー・アドバイザでの問合せ候補の特定

- 管理ツールとサード・パーティのソース・コントロール管理システムとの統合

- MUDマージ・プロセスの簡素化

- 自動化されたリポジトリ・パッチ適用プロセス

- クラスタにおける集計の永続性のサポート

- FIRST_PERIODおよびLAST_PERIOD時系列関数

- 物理図とビジネス・モデル図の印刷機能

返される行を制限およびオフセットする機能

FETCH句を使用すると、SELECT文によって返される行数を制約でき、OFFSET句を使用すると、返される行を指定した数だけオフセットできます。両方の句ともオプションで、組み合せて使用することも、単独で使用することもできます。詳細は、「返される行の制限とオフセット」を参照してください。

Oracle BIサマリー・アドバイザでの問合せ候補の特定

Oracle Exalytics Machine上でOracle Business Intelligenceを実行している場合、Oracle BIサマリー・アドバイザ機能を使用して、問合せのパフォーマンスが向上する集計を特定できます。サマリー・アドバイザは、特定のリソースの制約を満たしつつ、最大の問合せパフォーマンスを得られる問合せパターンに基づいた集計表の最適なリストをインテリジェントにお薦めします。詳細は、「集計の問合せの候補を特定するためのOracle BIサマリー・アドバイザの使用方法」を参照してください。

管理ツールとサード・パーティのソース・コントロール管理システムとの統合

MUD環境を使用するかわりとして、MDS XML形式でリポジトリを保存することを選択でき、管理ツールをサード・パーティのソース・コントロール管理システムと統合できます。詳細は、第4章「リポジトリ開発のためのソース・コントロール管理システムの使用方法」を参照してください。

MUDマージ・プロセスの簡素化

マルチユーザー開発(MUD)環境を使用するリポジトリ開発者は、ローカルの変更をマージしてから、その変更を公開するという2ステップではなく、1つのステップで変更をマージして公開できるようになりました。サブセットのリフレッシュを実行して、マスター・リポジトリで増分ローカル・マージを実行することもできます。詳細は、「マルチユーザー開発リポジトリへの変更の公開」を参照してください。

自動化されたリポジトリ・パッチ適用プロセス

patchrpdコマンドライン・ユーティリティのオプションを使用して、ユーザーの入力を必要とせずに自動化したパッチを適用することが可能になりました。さらに、新しいパッチ固有のルールがパッチ・マージ中に適用されます。詳細は、「パッチ・マージのマージ・ルールと動作」を参照してください。

クラスタにおける集計の永続性のサポート

クラスタ化環境で集計の永続性機能を使用できるようになりました。詳細は、「Oracle BIに対する集計指定の実行」を参照してください。

FIRST_PERIODおよびLAST_PERIOD時系列関数

FIRST_PERIODおよびLAST_PERIODの関数を使用して、プライマリ・レベル・キーではなく、時系列キーを使用して式の最初の値と最後の値を計算できるようになりました。詳細は、「FIRST_PERIOD」および「LAST_PERIOD」を参照してください。

物理図とビジネス・モデル図の印刷機能

「印刷プレビュー」と「印刷」を使用して、管理ツールで、物理図およびビジネス・モデル図を表示および印刷できるようになりました。詳細は、「物理図およびビジネス・モデル図の使用」を参照してください。

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

Oracle BI EE 11g リリース1 (11.1.1.5)におけるメタデータ・リポジトリの新機能は、次のとおりです。

- Oracle OLAPデータ・ソースへのアクセス

- TimesTenデータ・ソースへのアクセス

- ネイティブ接続を使用してSAP/BWデータ・ソースに接続可能

- 新しい図表機能

- リポジトリ内のメタデータ・オブジェクトを検証するための検証ユーティリティ

Oracle OLAPデータ・ソースへのアクセス

Oracle BI EEでは、データ・ソースとしてOracle OLAPがサポートされるようになりました。詳細は、「Oracle OLAPデータ・ソースでの作業」を参照してください。

TimesTenデータ・ソースへのアクセス

Oracle BI EEでは、データ・ソースとしてOracle TimesTen In-Memory Databaseがサポートされるようになりました。詳細は、「Oracle TimesTen In-Memory Databaseデータ・ソースの設定」を参照してください。

ネイティブ接続を使用してSAP/BWデータ・ソースに接続可能

SAP BWネイティブ接続オプションを使用して、BAPI経由でSAP/BWデータ・ソースに接続できるようになりました。詳細は、「SAP/BWデータ・ソースの設定」を参照してください。

新しい図表機能

このリリースでは、物理図およびビジネス・モデル図の機能が強化され、外観が向上しているほか、表オブジェクト内の列を図に表示できるようになりました。また、自動レイアウト、マーキー・ズーム、ズームして合せるなどの図表オプションが新しく追加されています。詳細は、「物理図およびビジネス・モデル図の使用」を参照してください。

リポジトリ内のメタデータ・オブジェクトを検証するための検証ユーティリティ

Oracle BI EEには、メタデータ・オブジェクトを検証するための検証ユーティリティが追加されています。詳細は、「validaterpdユーティリティを使用したリポジトリの整合性チェック」を参照してください。

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

Oracle BI EE 11g リリース1 (11.1.1.3)におけるメタデータ・リポジトリの新機能は、次のとおりです。

- 新しいSampleApp.rpdデモ・リポジトリ

- プレゼンテーション・レイヤー内の階層オブジェクト

- 非バランス型(不規則)およびスキップレベル階層のサポート

- 親子階層のサポート

- 論理スターおよびスノーフレーク向けのサブジェクト・エリアの作成

- 複数通貨のサポート

- XMLパッチ・ファイルの生成と適用

- マルチユーザー開発およびリポジトリ・ライフサイクル管理の強化

- メタデータ・リポジトリ・ファイルの暗号化

- メタデータ・リポジトリ・ファイルの圧縮

- 埋込みデータベース関数

- 時系列計算およびレベル・ベース・メジャー用のSQL関数

- SELECT_PHYSICALのサポート

- 計算済メンバーのサポート

- Essbaseデータ・ソースへのアクセス

- Hyperion Financial Managementデータ・ソースへのアクセス

- ADFビジネス・コンポーネント・データ・ソースへのアクセス

- ODBCを介したOracle RPASデータ・ソースへのアクセス

- OCIを介してOracle Databaseに接続可能

- XMLAオブジェクトのドラッグ・アンド・ドロップのサポート

- Oracle Business Intelligenceでのスタンバイ・データベースの使用のサポート

- 集計の永続性の自動索引作成

- 不要なリポジトリ・オブジェクトを削除するための削除ユーティリティ

- セッション変数初期化ブロックの遅延実行が可能

- 管理ツールの使いやすさの向上

新しいSampleApp.rpdデモ・リポジトリ

このリリースのOracle BI EEには、SampleApp.rpdという新しいデモ・リポジトリが用意されています。このリポジトリでは、様々なタイプのオブジェクトのモデリングに関するベスト・プラクティス情報が提供されます。

SampleApp.rpdの基本的なバージョンであるSampleAppLite.rpdは、デフォルト・リポジトリとして自動的にインストールされます。さらに多くのサンプルや機能が格納されたSampleApp.rpdの完全バージョンは、Oracle Technology Networkで入手できます。詳細は、「SampleApp.rpdデモ・リポジトリについて」を参照してください。

プレゼンテーション・レイヤー内の階層オブジェクト

プレゼンテーション・レイヤーでプレゼンテーション階層およびプレゼンテーション・レベルを定義できるようになりました。これらのオブジェクトによって、Oracle BIアンサーで多次元モデルを明示的に公開できるほか、ユーザーは階層ベースの問合せを作成できます。プレゼンテーション階層によって、メンバーの選択、カスタム・メンバー・グループ、非対称型問合せなどの分析機能が提供されます。詳細は、「プレゼンテーション階層とプレゼンテーション・レベルでの作業」を参照してください。

非バランス型(不規則)およびスキップレベル階層のサポート

Oracle BI EEでは、非バランス型およびスキップレベル階層がサポートされるようになりました。不均衡(不規則)な階層とは、リーフ(子を持たないメンバー)の深さが必ずしも一定ではない階層を指します。スキップレベル階層は、特定の祖先レベルについて値を持たないメンバーがある階層です。詳細は、「レベル・ベース階層について」を参照してください。

親子階層のサポート

Oracle BI EEでは、親子階層がサポートされるようになりました。親子階層(値階層とも呼ばれます)には、すべて同じタイプのメンバーが含まれます。たとえば、組織図には明確な親子階層がありますが、すべてのメンバーが従業員です。詳細は、「親子階層のディメンションの作成と管理」を参照してください。

論理スターおよびスノーフレーク向けのサブジェクト・エリアの作成

ビジネス・モデル内の各論理スターまたは論理スノーフレークについてサブジェクト・エリア(以前はプレゼンテーション・カタログと呼ばれていました)を1つずつ自動的に作成できます。詳細は、「論理的なスターとスノーフレークに基づくサブジェクト・エリアの自動作成」を参照してください。

複数通貨のサポート

Oracle BI EEユーザーが分析およびダッシュボードで通貨列の表示に使用する通貨を選択できるように、論理列を構成できます。詳細は、「複数通貨サポートのための論理列の構成」を参照してください。

XMLパッチ・ファイルの生成と適用

リポジトリに加えられた変更のみを格納したXMLパッチ・ファイルを生成できるようになりました。その後、このパッチをリポジトリの古い(元の)バージョンに適用することで、新しいバージョンを作成できます。これは開発-本番シナリオに非常に役立つほか、Oracle BIアプリケーションのユーザーがリポジトリをアップグレードする際にも使用できます。詳細は、「パッチ・マージの実行」を参照してください。

サポートされているOracle BIサーバー・オペレーティング・システムで、Oracle BIサーバーXMLユーティリティを使用して、Oracle BIリポジトリ・メタデータのXMLベースの汎用表現を作成することもできます。詳細は、Oracle Fusion Middleware Oracle Business Intelligence Enterprise Edition XMLスキーマ・リファレンスのOracle BIサーバーのXML APIに関する項を参照してください。

マルチユーザー開発およびリポジトリ・ライフサイクル管理の強化

マルチユーザー開発およびリポジトリ・ライフサイクル管理の強化された機能および新機能の概要は、次のとおりです。

- MUDプロジェクトに、サブジェクト・エリア(以前はプレゼンテーション・カタログと呼ばれていました)が明示的に含まれるようになりました。オブジェクトのセキュリティ権限によって、チェックアウトされたリポジトリに含まれるプレゼンテーション・オブジェクトが影響を受けることがなくなりました。

- リポジトリ・マージ・ウィザードでオプションを選択するか、MUDオプション・ファイルでオプションを設定することで、マージ中に自動的に整合性をチェックし、等化することができます。

- リポジトリ・マージ・ウィザードの強化された統合によって、シングル・ステップでリポジトリを入力できます。リポジトリを1つずつ選択し、ロードされるまで待つ必要がなくなりました。

- コマンドライン・ユーティリティextractprojectsを使用して、すべてのプラットフォームでオブジェクトを抽出できるようになりました。

- 双方向マージ機能(共通の親を持たない完全マージ)を使用すると、別個のリポジトリをより簡単に統合できます。

メタデータ・リポジトリ・ファイルの暗号化

強力な暗号化アルゴリズムを使用してリポジトリの内容を暗号化するリポジトリ・パスワードがリポジトリで使用されるようになりました。この機能によって、接続プール・オブジェクト内のデータ・ソースの資格証明など、リポジトリ・メタデータの安全性が確保されます。詳細は、Oracle BIリポジトリ・パスワードの変更に関する項を参照してください。

メタデータ・リポジトリ・ファイルの圧縮

ストレージ要件を軽減するために、リポジトリが圧縮形式で保存されるようになりました。そのため、このリリースでは、開いているRPDファイルや保存したRPDファイルのサイズが、以前のリリースのRPDファイルと比べて大幅に小さくなっています。複数のリポジトリの使用と保存の詳細は、「マルチユーザー開発環境について」を参照してください。

埋込みデータベース関数

ユーザーおよび管理者は、Oracle BIアンサーからデータベース関数を直接コールするか、メタデータ・リポジトリ内で論理列(論理表ソース内)を使用して、リクエストを作成できます。これらの関数を使用すると、基礎となるデータベースでカスタムで記述された関数やプロシージャにアクセスできます。サポートされている関数には、EVALUATE、EVALUATE_AGGR、EVALUATE_PREDICATEなどがあります。詳細は、「データベース関数」を参照してください。

さらに、Essbaseユーザーには、評価関数が非常に役立ちます。詳細は、「固有のEssbase関数を活用するEVALUATE_AGGREGATEとEVALUATEの使用例」を参照してください。

時系列計算およびレベル・ベース・メジャー用のSQL関数

次の新規SQL関数および改訂されたSQL関数を使用して、ユーザーは時系列計算およびレベル・ベース・メジャーを作成できます。

- PERIODROLLINGは、現在の時間から数えてx単位時間前に始まり、y単位時間後に終わる期間のメジャーの集計を算出する新しい関数です。

- AGGREGATE ATは、指定されたレベルに基づいて列を集計する新しい関数です。

- AGOは、現在の時間から指定された期間までさかのぼって集計値を算出する時系列集計関数です。このリリースでは、time_level引数はオプションです。その他にも構文が変更されています。この関数は、以前のリリースではPERIODAGOと呼ばれていました。

- TODATEは、指定された期間の始まりから現在表示されている時間までのメジャー属性を集計する時系列集計関数です。このリリースでは、この関数の構文が変更されています。この関数は、以前のリリースではPERIODTODATEと呼ばれていました。

これらの関数の詳細は、「集計関数」を参照してください。時系列関数AGO、TODATEおよびPERIODROLLINGの使用については、「時系列データのモデル化」も参照してください。

SELECT_PHYSICALのサポート

SELECT_PHYSICAL文には、メタデータ・リポジトリの物理レイヤー内のオブジェクトに直接問い合せたり、ビジネス・モデルとマッピング・レイヤーまたはプレゼンテーション・レイヤーに対する問合せ内にそのような文をネストするための機能があります。詳細は、「SELECT_PHYSICALの構文と使用上の注意」を参照してください。

計算済メンバーのサポート

計算済メンバーは、実行時にメジャー値が計算されるユーザー定義のディメンション・メンバーです。計算済メンバーは、同じディメンションの他のメンバーを参照する式を使用してディメンション内で定義できます。詳細は、「計算済メンバー」を参照してください。

Essbaseデータ・ソースへのアクセス

Oracle BI EEでは、データ・ソースとしてEssbaseがサポートされるようになりました。詳細は、「Essbaseデータ・ソースでの作業」を参照してください。

Hyperion Financial Managementデータ・ソースへのアクセス

Oracle BI EEでは、データ・ソースとしてHyperion Financial Managementがサポートされるようになりました。詳細は、「Hyperion Financial Managementデータ・ソースおよびHyperion Planningデータ・ソースでの作業」を参照してください。

ADFビジネス・コンポーネント・データ・ソースへのアクセス

Oracle BI EEでは、データ・ソースとしてADFビジネス・コンポーネントを使用できるようになりました。この機能を使用すると、ユーザーは、ADFフレームワークに基づいて作成されたアプリケーションと業務レポートを統合できます。詳細は、「ADFデータ・ソースでの作業」を参照してください。

ODBCを介したOracle RPASデータ・ソースへのアクセス

Oracle BIサーバーは、RPAS ODBCドライバを使用してOracle Retail Predictive Application Server (RPAS)データ・ソースにアクセスできるようになりました。詳細は、「Oracle RPASデータ・ソースの設定」を参照してください。

OCIを介してOracle Databaseに接続可能

管理者は、Oracle Databaseから物理オブジェクトをインポートする際にネイティブなOracle Call Interface (OCI)を使用できるようになりました。OCIを使用する方がODBC接続を使用するよりも高速なので、管理者は、Oracle Databaseからのインポート時またはOracle Databaseへの接続の設定時には必ずOCIを使用する必要があります。詳細は、「Oracle Databaseデータ・ソースの設定」を参照してください。

XMLAオブジェクトのドラッグ・アンド・ドロップのサポート

XMLAオブジェクトを(XMLAデータベースまたはキューブ表全体を同時に、または1つずつ)論理レイヤーにドラッグ・アンド・ドロップして、一貫性のあるビジネス・モデルを自動的に作成できるようになりました。詳細は、「ビジネス・モデルとマッピング・レイヤーの作成」および「マルチディメンション・データ・ソースに対するビジネス・モデル・オブジェクトの自動作成」を参照してください。

Oracle Business Intelligenceでのスタンバイ・データベースの使用のサポート

Oracle BI EEでスタンバイ・データベースを使用できるようになりました。スタンバイ・データベースは主に、高可用性およびフェイルオーバー機能でプライマリ・データベースのバックアップとして使用されます。詳細は、「Oracle Business Intelligenceでのスタンバイ・データベースの使用」を参照してください。

集計の永続性の自動索引作成

パフォーマンスを向上させるために、Oracle BI EEでは、集計が保持される場合にリレーショナル表で索引および統計が作成されるようになりました。集計の永続性の詳細は、第13章を参照してください。

不要なリポジトリ・オブジェクトを削除するための削除ユーティリティ

Oracle BI EEには、リポジトリから不要なオブジェクトを削除するための削除ユーティリティが追加されています。このユーティリティは特に、付属しているOracle BIアプリケーション・リポジトリに含まれるオブジェクトのサブセットのみを使用する必要があるOracle BIアプリケーションのユーザーに便利です。詳細は、付録E「リポジトリからの不要オブジェクトの削除」を参照してください。

セッション変数初期化ブロックの遅延実行が可能

セッションのログオン時間を短縮し、リソースを節約するために、管理者は、関連するセッション変数がセッション内で実際に使用されるまで、選択したセッション変数初期化ブロックの実行を遅らせることができます。詳細は、「初期化ブロックの作成」を参照してください。

管理ツールの使いやすさの向上

このリリースのOracle BI EEでは、管理ツールの多くの画面、ウィザード、およびユーザー・インタフェースのその他の部分が更新され、簡素化されています。更新されたウィザードには、新規リポジトリの作成ウィザード、集計の永続性ウィザード、マージ・ウィザードなどがあります。このリリースでは、式ビルダーと整合性チェッカの使いやすさも向上しています。

その他の変更点としては、アイコンの更新と改善、結合を作成する際のプロセス・フローの簡素化、「リポジトリの問合せ」機能の向上、リポジトリ・オブジェクトを追加する方法の簡素化などがあります。また、メニュー・オブジェクトへのキーボード・アクセス、ダイアログ・ナビゲーション、および物理図とビジネス・モデル図のナビゲーションを可能にするショートカットも追加されています。

1 メタデータ・リポジトリの作成の概要

この章では、ビジネス・モデルを計画する方法、ビジネス・モデルの物理コンテンツを操作する方法、リポジトリ設計の全般的なガイドラインなど、Oracle Business Intelligenceメタデータ・リポジトリを計画および設計する方法について説明します。

メタデータ・リポジトリを効果的に計画して作成するには、SQL問合せに関する経験があり、レポートと分析に精通している必要があります。また、業界標準のデータ・ウェアハウス・モデリングの実践経験があり、一般的なリレーショナルE-Rモデリングに精通している必要があります。

この章には次のトピックが含まれます:

- Oracle BIサーバーとOracle BIリポジトリのアーキテクチャについて

- ビジネス・モデルの計画

- 物理レイヤーのデータ・ソース・コンテンツの特定

- リポジトリ設計のガイドライン

- 他のガイド内の関連トピック

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

Oracle BIサーバーとOracle BIリポジトリのアーキテクチャについて

Oracle BIサーバーとOracle BIリポジトリのアーキテクチャによって、ユーザーが複雑なフェデレーテッド・データ・ソースに対する単純な論理SQL問合せを送信できる抽象化のレイヤーが提供されます。

この項には次のトピックが含まれます:

- Oracle BIサーバーのアーキテクチャについて

- Oracle BIリポジトリのレイヤーについて

Oracle BIサーバーのアーキテクチャについて

Oracle BIサーバーは、ユーザー・リクエストを処理し、基礎となるデータ・ソースに問い合せるOracle Business Intelligenceコンポーネントです。Oracle BIサーバーは論理データ・モデルを保持し、ODBCを介してそのモデルへのクライアント・アクセスを提供します。

Oracle BIサーバーは、Oracle BIリポジトリ内のメタデータを使用して、次の2つのタスクを実行します。

- 論理SQL問合せを解析し、適切なデータ・ソースに対する対応する物理問合せを作成します。

- 物理結果セットを変換および結合し、最終的な計算を実行します。

Oracle BIサーバーは、ODBC、またはOracle DatabaseのOCIなどのネイティブAPIを介して基礎となるデータ・ソースに接続します。

管理ツール・クライアントは、Oracle BIリポジトリの作成や編集に使用できるWindowsアプリケーションです。管理ツールは、オフライン・モードでリポジトリに直接接続することも、Oracle BIサーバーを経由してリポジトリに接続することもできます。オンライン・モードで使用できるのは一部のオプションのみです。詳細は、「オンラインとオフラインのリポジトリ・モードの使用」を参照してください。

図1-1に、Oracle BIサーバーが問合せクライアント、データ・ソース、Oracle BIリポジトリおよび管理ツールとどのように連携するかを示します。

図1-1 Oracle BIサーバーのアーキテクチャ

例1-1に、Oracle BIサーバーが論理SQL問合せをどのように解析および変換するかを示します。

例1-1 論理リクエストから複雑な物理問合せへの変換

Oracle BIサーバーが次の単純なクライアント・リクエストを受け取るとします。

SELECT
"D0 Time"."T02 Per Name Month" saw_0,
"D4 Product"."P01 Product" saw_1,
"F2 Units"."2-01 Billed Qty (Sum All)" saw_2
FROM "Sample Sales"
ORDER BY saw_0, saw_1

Oracle BIサーバーはその後、次のように論理SQL問合せを高度な物理問合せに変換します。

WITH SAWITH0 AS (
select T986.Per_Name_Month as c1, T879.Prod_Dsc as c2,
sum(T835.Units) as c3, T879.Prod_Key as c4
from
Product T879 /* A05 Product */ ,
Time_Mth T986 /* A08 Time Mth */ ,
FactsRev T835 /* A11 Revenue (Billed Time Join) */
where ( T835.Prod_Key = T879.Prod_Key and T835.Bill_Mth = T986.Row_Wid)
group by T879.Prod_Dsc, T879.Prod_Key, T986.Per_Name_Month
)
select SAWITH0.c1 as c1, SAWITH0.c2 as c2, SAWITH0.c3 as c3
from SAWITH0
order by c1, c2

Oracle BIリポジトリのレイヤーについて

Oracle BIリポジトリには次のレイヤーがあります。

- 物理レイヤー。このレイヤーでは、Oracle BIサーバーが各物理データ・ソースに対するネイティブな問合せを作成するために必要とするオブジェクトとリレーションシップが定義されます。このレイヤーを作成するには、データ・ソースから表、キューブおよびフラット・ファイルをインポートします。
アプリケーションの論理動作を物理モデルから切り離すと、複数の物理ソースを同じ論理オブジェクトにフェデレートできるため、集計ナビゲーションやパーティション化のほか、ディメンションの適合や物理ソース内の変更からの分離が可能になります。また、この切り離しによって、ポータブルなBIアプリケーションの作成も可能になります。

- ビジネス・モデルとマッピング・レイヤー。このレイヤーでは、データのビジネス・モデルまたは論理モデルが定義され、ビジネス・モデルと物理スキーマ間のマッピングが指定されます。このレイヤーによって、ユーザーから見える分析動作が決まり、ユーザーが使用できるオブジェクトおよびリレーションシップのスーパーセットが定義されます。ソース・データ・モデルの複雑さも認識されなくなります。
ビジネス・モデルの各列は、物理レイヤーの1つ以上の列にマップします。実行時に、Oracle BIサーバーがビジネス・モデルに対する論理SQL問合せを評価し、マッピングを使用して、必要な物理問合せを生成するための物理表、ファイルおよびキューブの最適なセットを決定します。多くの場合、マッピングには計算と変換が含まれ、複数の物理表が結合されることがあります。

- プレゼンテーション・レイヤー。このレイヤーは、カスタマイズされた、ロール・ベースのセキュアなビジネス・モデルのビューをユーザーに表示する方法を提供します。また、ビジネス・モデルとマッピング・レイヤーに抽象化のレベルを加え、プレゼンテーション・サービスやその他のクライアントでリクエストを作成するユーザーに表示されるデータのビューを提供します。
1つのビジネス・モデルにマップする複数のサブジェクト・エリアをプレゼンテーション・レイヤーに作成することで、ビジネス・モデルを管理可能な部分に効果的に分割できます。

管理ツールでリポジトリのレイヤーを作成する前に、ユーザーの分析要件に基づいて、ビジネス・モデルとマッピング・レイヤーの大まかな設計を作成しておくことが重要です。作業の指針となる概念設計を作成したら、メタデータ・オブジェクトを作成できます。

通常は、物理レイヤー、ビジネス・モデルとマッピング・レイヤー、プレゼンテーション・レイヤーの順にオブジェクトを作成します。ただし、どの段階でも各レイヤーの作業を行うことができます。3つのレイヤーがすべて完成したら、リポジトリのテストを開始する準備をする際に、セキュリティを設定できます。

図1-2に、論理SQL問合せがどのようにOracle BIリポジトリのレイヤーを通過するかを示します。

図1-2 Oracle BIリポジトリのレイヤーを通過する論理SQL問合せ

1つのOracle BIリポジトリには、エンタープライズ全体の1つの統合モデルではなく、複数の独立セマンティック・モデルを格納できます。セマンティック・モデルは、1つのビジネス・モデル、プレゼンテーション・レイヤーと物理レイヤー内の関連オブジェクト、および変数、初期化ブロック、アプリケーション・ロールのようなその他の関連オブジェクトで構成されます。セマンティック・モデルは、共通エンタープライズ情報モデルとも呼ばれます。

複数のセマンティック・モデルを視覚的に示した図A-4も参照してください。

ビジネス・モデルの計画

ビジネス・モデルの計画は、意志決定支援に使用可能なデータ・モデルを開発する際の最初の手順です。この項で説明するガイドラインに従って計画した後、リポジトリの作成を開始できます。

ビジネス・モデルの要件の分析

最初の作業は、ビジネス・モデルの要件を十分に理解することです。必要な物理レイヤーを決定するにはまず、作成するビジネス・モデルを理解しておく必要があります。

意志決定支援環境では、データ・モデリングの目的は、ビジネス・アナリストによるビジネス構造の理解と同様にビジネス情報を表すモデルを設計することです。適切なモデルを設計すると、アナリストはビジネス上の質問をするのと同様に直感的に問合せを構成できるため、問合せプロセスが自然なプロセスとなります。このモデルは、ビジネス・アナリストが本質的に理解し、有効な質問に正しく回答するものである必要があります。

Oracle BI Publisherなどの視覚的なSQLツールとは異なり、ビジネス・モデルではBIアプリケーションの分析動作を定義します。一方、物理レイヤーでは、ビジネス・モデル・ロジックからマップされた物理問合せをまとめるために使用されるコンポーネントのみが提供されます。

これには、ビジネスを複数のコンポーネントに分割して、次の質問に回答する必要があります。

- アナリストはどのようなビジネス上の質問に回答しようとしていますか。

- ビジネス・パフォーマンスを理解するためにどのようなメジャーが必要ですか。

- ビジネスの運営の基準とするディメンションをすべてあげてください。つまり、測定を分割してレポートのヘッダーとして使用するディメンションをあげてください。

- 各ディメンションに階層要素はありますか。各階層はどのようなリレーションシップによって定義されますか。

これらの質問に回答したら、ビジネス・モデルの要素を特定し、定義できます。

ビジネス・モデルのコンテンツの特定

ビジネス・モデルに含めるコンテンツを決定するにはまず、ユーザーが問い合せる必要がある論理列を特定する必要があります。次に、各列のロールをメジャー列、またはディメンション属性のいずれかとして特定する必要があります。最後に、関連するロール、列間のリレーションシップ、およびロジックに基づいて、論理列をディメンション・モデルに配置します。

ビジネスは関連するディメンション基準によって分析されるため、これらの関連するディメンションからビジネス・モデルを開発します。これらのディメンション・モデルは、Oracle BIサーバーで使用する有効なビジネス・モデルの基盤となります。

すべてのディメンション・モデルがスター・スキーマに基づいて作成されるわけではありませんが、ビジネス・モデル・レイヤーでは単純なスター・スキーマを使用することをお薦めします。つまり、ディメンション・モデルは、様々なディメンション属性に関して表示される測定可能なファクトを表す必要があります。

ビジネス・モデルの要件を分析したら、ビジネス・モデルに含める必要がある具体的な論理表や階層を特定する必要があります。

この項には次のトピックが含まれます:

- 論理ファクト表の特定

- 論理ディメンション表の特定

- ディメンションの特定

- 参照表の特定

論理ファクト表の特定

ビジネス・モデルとマッピング・レイヤーの論理ファクト表には、集計が定義に組み込まれているメジャーが含まれます。論理ファクト表は、表の最下位単位でファクトを定義するリレーショナル・モデルの物理ファクト表とは異なります。

ファクトから集計されるメジャーは、論理ファクト表で定義する必要があります。メジャーは通常、売上額や販売数量のような計算データで、ディメンションに関して指定できます。たとえば、特定の期間における特定の市場での特定の製品の売上合計を求めることができます。

各メジャーには、SUM、AVG、MIN、MAXなどの独自の集計ルールがあります。企業はメジャーの値を比較したり、比較を表す計算を作成することができます。また、特定のディメンションに固有の集計ルールを定義することもできます。Oracle BIサーバーでは、ディメンション固有の複雑な集計ルールを定義できます。

ビジネス・モデルとマッピング・レイヤーの表は、ファクト表またはディメンション表として明示的に指定されるわけではありません。Oracle BIサーバーでは、結合の「1」側の表がディメンション表として扱われ、結合の「多」側の表がファクト表として扱われます。

図1-3は、ビジネス・モデル図におけるファクト表への多対1結合を示しています。この図では、すべての結合は、Fact-Pipeline表から発する(1方向の)矢印を持っており、その表を指す結合はありません。ビジネス・モデルにおけるこの例については、管理ツールでリポジトリを開き、ファクト表を右クリックし、「ビジネス・モデル図」→「図全体」を選択します。

図1-3 ファクト表の結合の図

論理ディメンション表の特定

企業では、ファクトを使用して、時間、製品、市場など、適切に確立されたディメンションによってパフォーマンスを測定します。すべてのディメンションに説明属性のセットがあります。ディメンション表には、ビジネス・エンティティ(顧客名、地域、住所、国など)を説明する属性が格納されています。また、各メンバーを特定する主キーも格納されています。リレーショナル・モデルの物理ファクト表とは異なる論理ファクト表とは違い、論理ディメンション表の動作はリレーショナル・ディメンション表と非常によく似ています。

ディメンション表の属性によって、サービス・リクエストを分類できるなど、数値データにコンテキストが提供されます。このディメンションに保存される属性には、サービス・リクエストの所有者、領域、アカウント、優先度などがあります。

ビジネス・モデルのディメンションは、適合済ディメンションです。つまり、特定のデータ・ソースに特定のCustomer表の5つの異なるインスタンスがある場合でも、ビジネス・モデルの表は1つだけです。これを実現するために、Customerの5つの物理ソース・インスタンスすべてが1つのCustomer論理表にマップされ、必要に応じて論理表ソースで変換が行われます。適合済ディメンションによって、ユーザーには物理レイヤーの複雑さが認識されず、様々な単位の複数のファクト・ソースのデータを結合できます。また、複数のデータ・ソースをフェデレートすることもできます。

ビジネス・モデルのディメンションおよびレベル・キーは、生成された代理キーではなく、ビジネス・キーである必要があります。つまり、「1076823」のような値を持つ「Customer Key」ではなく、「Oracle」のような値を持つ「Customer Name」を使用してください。ビジネス・モデルでビジネス・キーを使用することで、そのディメンションのすべてのソースを、同じ論理キーおよびレベル・キーを持つ同じ論理ディメンション表に適合させることができます。

生成された代理キーは、結合における問合せのパフォーマンスを向上させるうえで役立つため、物理レイヤーに残しておいてもかまいませんが、通常、ビジネス・モデルとマッピング・レイヤーに代理キー列はありません。

ディメンションの特定

ディメンションは、ビジネスを定義するための属性のカテゴリです。一般的な属性としては、期間、製品、市場、顧客、仕入先、プロモーション条件、原材料、製造工場、輸送手段、メディアの種類、時刻などがあります。特定のディメンション内に多数の属性がある場合があります。たとえば、期間ディメンションには、属性として日、週、月、四半期および年を含めることができます。ディメンションに含まれる属性は、ビジネスをどのように分析するかによって決まります。

ディメンションには通常、ディメンション内のメンバー間のトップダウン・リレーションシップのセットである階層が含まれています。階層には、レベル・ベース階層(構造階層)と親子階層(値階層)の2種類があります。レベル・ベース階層は、同じタイプのメンバーが1つのレベルにのみ存在する階層です。一方、親子階層のメンバーはすべて同じタイプです。Oracle Business Intelligenceでは、時系列データをモデリングするための特殊な機能を備えた、時間ディメンションと呼ばれる特殊なタイプのレベル・ベース・ディメンションもサポートされます。

レベル・ベース階層では、下位レベルから上位レベルへとレベルがロールアップされます。たとえば、月を年にロールアップできます。このようなロールアップは階層要素全体で行われ、存在するビジネス・リレーションシップにまたがります。

親子階層では、組織階層ツリーの管理者-従業員リレーションシップなど、実際の同一タイプの異なるメンバー間にビジネス・リレーションシップが存在します。親子階層には、明示的に指定されたレベルはありません。親子階層内の暗黙レベルの数に制限はありません。

階層を定義するには、すべての計算におけるロールアップ集計、およびレポートやダッシュボードにおけるドリルダウン・ナビゲーションを容易にするための「含む」リレーションシップをビジネス(地理、製品、時間など)に定義します。たとえば、月が年にロールアップされ、集計表が月レベルに存在する場合、月レベルのすべてのデータを合計して年のデータを計算することによって、その表を使用して年レベルの質問に回答できます。

ニーズに合せて適切なタイプの階層を使用することが重要です。使用するタイプを決定するには、次の点を検討してください。

- すべて同じタイプのメンバーであるか(従業員、組立品、顧客など)、基本的にレベルに分類される別のタイプのメンバーであるか(年-四半期-月、大陸-国-都道府県、ブランド-ライン-製品など)。

- メンバーの属性セットが同じかどうか。たとえば、Employeesのような親子階層では、すべてのメンバーにHire Date属性があると考えられます。一方、Timeのようなレベル・ベース階層では、DayタイプにはHoliday属性がありますが、Monthタイプにはありません。

- 設計時にレベルが固定されているか(年-四半期-月)、実行時のビジネス・トランザクションによってレベルが増えたり減ったりする可能性があるか。たとえば、現在の最下位の従業員が、新たに最下位となる部下を雇用した場合、レベルが追加される可能性があります。

- 特定の階層タイプを必要とする制約がプライマリ・データ・ソースにあるかどうか。プライマリ・データ・ソースがいずれかの階層タイプでモデリングされている場合、他の要素に関係なく、ビジネス・モデルで同じ階層タイプを使用する必要があります。

詳細は、第10章「論理ディメンションの操作」を参照してください。

複数の階層を持つディメンションについて

ディメンションに複数の階層が含まれる場合があります。たとえば、Timeディメンションには多くの場合、暦年を表す階層と会計年度を表す階層があります。複数の階層を持つディメンションは必ず、同じリーフ表で終わる必要があります。

図1-4に、管理ツールのビジネス・モデルとマッピング・レイヤーに表示された、複数の階層を持つディメンションを示します。

図1-4 複数の階層を持つディメンション

参照表の特定

多言語スキーマから翻訳されたフィールド情報を表示する必要がある場合は、物理レイヤーの参照表に対応する論理参照表を作成します。参照表には、ベース表の行に対応する多言語データが格納されます。特定の論理参照表を使用するには、「論理表」ダイアログの「一般」タブでその表を参照表として指定する必要があります。ローカライズと参照表の詳細は、『Oracle Fusion Middleware Oracle Business Intelligence Enterprise Editionシステム管理者ガイド』のOracle Business Intelligenceのローカライズに関する項を参照してください。

ローカライズに加えて、ある値セットをユーザーに表示し、対応する別の値セットを物理問合せで使用する場合にも、参照表を使用できます。必要に応じて、まったく異なるデータ・ソースで判読可能な値を参照できます。

物理レイヤーのデータ・ソース・コンテンツの特定

ビジネス・モデルの要件を特定したら、物理レイヤーに必要なデータ・ソース・コンテンツを確認できます。常にディメンション化されるビジネス・モデルとマッピング・レイヤーとは異なり、各物理モデルはソースの形状(正規化、キューブなど)を反映します。

この項には次のトピックが含まれます:

- リレーショナル・データ・ソースの物理スキーマのタイプについて

- マルチディメンション・データ・ソースのキューブについて

- データ・ソースの表構造の特定

リレーショナル・データ・ソースの物理スキーマのタイプについて

どの物理ソースのモデルも、ディメンション化された重複するサブセットに分割できるため、Oracle BIリポジトリでは、タイプに関係なく物理スキーマを適切にモデリングできます。

次の4種類の物理スキーマ(モデル)があります。

- スター・スキーマ。スター・スキーマは、複数のディメンション表への外部キー結合関係を持つファクト表がそれぞれ1つずつあるディメンション・スキーマ(スター)のセットです。スターをビジネス・モデルにマップする際にはまず、物理ファクト列を1つ以上の論理ファクト表にマップします。次に、そのスターの物理ファクト表に結合するそれぞれの物理ディメンション表について、物理ディメンション列を適切な適合済論理ディメンション表にマップします。

- スノーフレーク・スキーマ。スノーフレーク・スキーマはスター・スキーマと同様ですが、各ディメンションが、結合された複数の表で構成される点が異なります。スター・スキーマと同様に、まず、物理ファクト列を1つ以上の論理ファクト表にマップします。次に、それぞれのディメンションについて、スノーフレーク化された物理ディメンション表を1つの論理表にマップします。そのためには、複数の論理表ソースを使用するか、結合がある1つの論理表ソースを使用します。

- 正規化スキーマ。正規化スキーマでは、データ保存の冗長性を最小限に抑え、データの更新を最適化するために、データ・エンティティが複数の表に分散されます。正規化スキーマをビジネス・モデルにマップする前に、ファクトとディメンションに関して分散構造を理解しておく必要があります。
構造を分析したら、ファクト列を持つ表を選択し、物理ファクト列を1つ以上の論理ファクト表にマップします。次に、その物理ファクト列のセットに関連するそれぞれのディメンションについて、ディメンション列を含む分散物理表を1つの論理表にマップします。そのためには、スノーフレーク・スキーマと同様に、複数の論理表ソースを使用するか、結合がある1つの論理表ソースを使用します。まず特定のファクト・セットをマップし、次に関連するディメンションをマップした後、次のファクト・セットに進むため、正規化スキーマのマッピングは反復プロセスです。

1つの物理表にファクト列とディメンション列の両方がある場合は、その表が果たす複数の役割を処理するために、物理別名表の作成が必要になることがあります。

- 完全非正規化スキーマ。このタイプのディメンション・スキーマは、ファクトとディメンションを列として1つの表(またはフラット・ファイル)に結合し、他のタイプのスキーマとは異なる方法でマップされます。完全非正規化スキーマを星形のビジネス・モデルにマップする際には、1つの物理ファクト表の物理ファクト列をビジネス・モデル内の複数の論理ファクト表にマップします。次に、物理ディメンション列を適切な適合済論理ディメンション表にマップします。

マルチディメンション・データ・ソースのキューブについて

キューブはメジャーで構成され、ディメンションによって編成されます。すでにディメンション化されているため、各キューブは、ビジネス・モデルの論理ファクト表および論理ディメンション表に簡単にマップします。

メジャーとディメンションに関する次の点に注意してください。

- マルチディメンション・キューブとリレーショナル・ファクト列のメジャーはどちらも、ビジネス・モデルとマッピング・レイヤーの論理メジャーにマップします。ただし、ビジネス・モデルで計算と集計を適用する必要があるリレーショナル・ファクト列とは異なり、マルチディメンション・キューブのメジャーには、計算と集計がすでに組み込まれています。リレーショナル・ソースのようなキューブを処理するのではなく、Oracle BIサーバーは、キューブ内のあらかじめ集計されたデータと強力な計算を利用できます。

- マルチディメンション物理オブジェクトとリレーショナル物理オブジェクトはどちらも、ビジネス・モデルとマッピング・レイヤーの論理ディメンションにマップします。ただし、リレーショナル・ソースとは異なり、マルチディメンション・データ・ソースには、ディメンションおよび階層セマンティックがすでに組み込まれています。Oracle BIサーバーは、インポート時にも問合せ時にも、キューブ内のより完全な階層およびディメンションのサポートを利用できます。

データ・ソースの表構造の特定

管理ツールによって、データ・ソース内の基礎となる物理表に論理表をマップするためのインタフェースが提供されます。表をマップするには、ビジネス・モデルに関連する物理データ・ソースのコンテンツを特定しておく必要があります。これを正しく行うためには、物理データ・ソースの次のコンテンツを特定する必要があります。

- 各表のコンテンツの特定

- 各表の詳細レベルの特定

- 各集計表の表定義の特定。これによって、集計ナビゲーションを設定できます。Oracle BIサーバーでは、次の詳細が必要です。

- 表のグループ化に使用する列(集計レベル)

- 集計のタイプ(SUM、AVG、MIN、MAXまたはCOUNT)

リポジトリで集計ナビゲーションを設定する方法については、第11章を参照してください。

- 各列のコンテンツの特定

- メジャーの計算方法の特定

- データベースに定義されている結合の特定

データに関するこれらの情報を入手するには、データ・ソースが実装されたときに作成されたデータ要素を説明するドキュメントを参照してください。これらの情報を入手するために、各データ・ソースについてDBAと協力することが必要になる場合があります。すべてのデータ要素を完全に理解するには、組織内のデータのユーザー、データの所有者、またはデータを作成するアプリケーションのアプリケーション開発者に質問する必要がある場合もあります。

リポジトリ設計のガイドライン

ビジネス・モデルのニーズを分析し、ビジネスに必要なデータベース・コンテンツを特定したら、リポジトリの設計を行うことができます。この項では、より効率的なリポジトリを実装するために役立つ設計のベスト・プラクティスを紹介します。

通常は、データベースをインポートしてテストするまで、パフォーマンス・チューニングの変更は行わないでください。これらの作業は、リポジトリの設定を完了する最終手順で行います。これらの最終手順の詳細は、第15章を参照してください。

この項には次のトピックが含まれます:

- リポジトリに関する作業の全般的なヒント

- 物理レイヤーを設計する際のヒント

- ビジネス・モデルとマッピング・レイヤーを設計する際のヒント

- プレゼンテーション・レイヤーを設計する際のヒント

リポジトリに関する作業の全般的なヒント

Oracle BIリポジトリを構成する際には、次の設計方針に従うことをお薦めします。

- オンライン・モードで作業する場合、1つの作業が完了するたびに作業の前後にオンライン・リポジトリのバックアップを保存します。必要に応じて、「ファイル」メニューの「名前を付けてコピー」を使用して、変更内容を含むオフライン・コピーを作成してください。

- 管理ツールの物理図を使用して、ソースと結合を確認します。

- データベースとリポジトリのどちらで行レベルのセキュリティ制御を設定するかを決定します。この決定によって、接続プールとキャッシュを共有するかどうかが決まります。また、開発に含める個々のソース・データベースの数が制限される場合があります。詳細は、第14章「リポジトリ・オブジェクトへのデータ・アクセス・セキュリティの適用」を参照してください。

管理ツールのほとんどの図には、作業の実行方法に関する情報を提供するヘルプが用意されています。ヘルプ・トピックにアクセスするには、ダイアログで「ヘルプ」ボタンをクリックするか、一部のメニューから「ヘルプ」を選択します。

物理レイヤーを設計する際のヒント

物理レイヤーには、物理データ・ソースに関する情報が格納されます。物理レイヤーでスキーマを作成する際の最も一般的な方法は、データベースなどのデータ・ソースからメタデータをインポートする方法です。メタデータをインポートすると、インポート・プロセスで収集された情報に基づいて、多くのプロパティが自動的に構成されます。また、データ・ソースのメタデータには存在しない場合がある、物理データ・ソースの他の属性(結合関係など)を定義することもできます。

物理レイヤーには、マルチディメンション、リレーショナル、XMLソースなど、様々なタイプのデータ・ソースを含めることができます。サポートされるデータベースについては、「システム要件と動作要件」を参照してください。

データ・ソースごとに、対応する接続プールが少なくとも1つずつあります。接続プールには、データ・ソースへの接続に使用されるデータ・ソース名(DSN)、許可される接続の数、タイムアウトなど、接続関連の詳細な管理情報が格納されています。詳細は、「接続プールについて」を参照してください。

物理レイヤーを設計する際のヒントは次のとおりです。

- 物理レイヤーでは表の別名を頻繁に使用して、次のような無関係な結合を削除することをお薦めします。

- 別名を使用することによって、複数のディメンションにまたがる物理結合(ディメンション間の循環結合)をすべて削除します。

- 物理表の別名を作成することによって、物理モデルの論理表ソースにおける循環結合(ディメンション間の循環結合)をすべて削除します。
たとえば、出荷先住所の参照に使用できるCustomer表があり、別の結合を使用して請求先住所を参照できるとします。循環結合を避けるには、それぞれの結合で、用途ごとに1つのインスタンスが存在するように物理レイヤーに別名表を作成します。

循環結合を削除しなかった場合、レポート結果が正しくなくなることがあります。さらに、問合せのパフォーマンスが低下する可能性もあります。

- ある論理表ソースでは結合を内部結合にし、別の論理表ソースでは外部結合にする必要がある場合は、別名表を使用して別の物理結合を作成することをお薦めします。

- すぐには使用しないものの、削除はしたくない表を物理レイヤーにインポートできます。ビジネス・モデルとマッピング・レイヤーですぐに使用しない表を特定するには、物理表に別名を割り当ててから、ビジネス・モデル・レイヤーにマップします。

注意:
別名を割り当てた表の名前を表示するには、「ツール」→「オプション」→「一般」で「図の別名に対する元の名前の表示」を選択します。

- 不透明なビュー(1つのSELECT文で構成される物理レイヤー表)を使用するのは、モデリングの問題に対する解決策がそれ以外にない場合のみにしてください。物理表、またはマテリアライズド・ビューを作成することをお薦めします。不透明なビューには、基礎となるデータ・ソースに送信される固定されたSQL文が含まれるため、Oracle BIサーバーは、最適化された独自のSQLを生成できません。

ビジネス・モデルとマッピング・レイヤーを設計する際のヒント

ビジネス・モデルとマッピング・レイヤーでは、ビジネス・モデルによって情報が編成されます。このレイヤーでは事実上、各ビジネス・モデルが別個のアプリケーションとなります。

各ビジネス・モデルで定義された論理スキーマには、論理表を少なくとも2つ含める必要があります。すべての論理表間にリレーションシップを定義する必要があります。ビジネス・モデルのスキーマの詳細は、「Oracle BIリポジトリのレイヤーについて」を参照してください。ビジネス・モデルとマッピング・レイヤーの設定の詳細は、第9章を参照してください。

ビジネス・モデルとマッピング・レイヤーを設計する際のヒントは次のとおりです。

- 可能であれば、論理ディメンション表とファクト表間に1対多の論理結合を持つビジネス・モデルを作成します。各ファクト表がそのディメンションに直接結合される単純なスター・スキーマのようなビジネス・モデルを作成することをお薦めします。

- すべての論理ファクト表を少なくとも1つの論理ディメンション表に結合する必要があります。ソースが完全非正規化表またはフラット・ファイルである場合は、その物理ファクト列を1つ以上の論理ファクト表にマップし、その物理ディメンション列を論理ディメンション表にマップする必要があります。

- すべての論理ディメンション表にディメンション階層が関連付けられている必要があります。シナリオ・ディメンション(実績、予測、計画)のように階層のレベルが1つだけの場合でも、このルールが適用されます。

- レベル・ベース・メジャーを作成する際には、集計内容を使用して、適切なファクト・ソースすべてを階層内の適切なレベルにマップしてください。メジャーの集計内容は、「論理列」ダイアログの「レベル」タブで設定します。これは、マップ先のソース表の単位を指定する際に使用する「論理表ソース」ダイアログの「内容」タブとは異なります。
「論理列」ダイアログの「レベル」タブで集計内容を設定するのは、レベル・ベース・メジャーのみでかまいません。レベル・ベースでないメジャーについては、「論理レベル」フィールドを空白のままにしてください。

- 通常、論理ファクト表にはキーを含めないでください。ただし、キーを必要とする論理SQL問合せをクライアントからOracle BIサーバーに対して送信する必要がある場合は除きます。この場合は、論理ファクト表とプレゼンテーション・レイヤーの両方でキーを公開する必要があります。

- 通常、論理ファクト表内の列はすべて集計メジャーです。ただし、外部クライアントで必要とされるキーや、区切りとして使用されるダミー列は除きます。その他の非集計列は、論理ディメンション表に存在する必要があります。

- 場合によって、1つのビジネス・モデルに複数の論理ファクト表を含めることができます。論理SQL問合せについては、複数の論理ファクト表が1つの表のように動作します。
複数の論理ファクト表を含める理由としては、次のようなものがあります。

- プロジェクトを割り当てます。詳細は、「プロジェクトの設定」を参照してください。

- プレゼンテーション・レイヤーに小さいサブジェクト・エリアを自動的に作成します。詳細は、「論理的なスターとスノーフレークに基づくサブジェクト・エリアの自動作成」を参照してください。

- わかりやすく編成します。

リレーショナル・ファクト表とは異なり、論理ファクト表には様々な単位のメジャーを含めることができます。そのため、単位は、論理ファクト表を分割する理由にはなりません。

- 計算は、次のいずれかの方法で定義できます。

- 集計前に、論理表ソースで定義します。例:

sum(col_A *( col_B))

- 集計後に、他の2つの論理列から派生した論理列で定義します。例:

sum(col A) * sum(col B)

アンサーまたは論理SQL問合せで集計後計算を定義することもできます。

- Oracle Scorecardと戦略管理を使用する予定がある場合は、KPIに使用するOracle BIリポジトリに時間ディメンションを少なくとも1つ実装することをお薦めします。この処理が必要なのは、スコアカードでKPIを使用して、時間の経過に伴う進捗とパフォーマンスを測定するためです。スコアカードでKPIによって使用されるディメンションは、個々のスコアカードによって自動的にインクルードされます。

- 集計ソースは、別個の論理表ソースとして作成する必要があります。ファクト集計については、「論理表ソース」ダイアログの「内容」タブを使用して、適切な論理レベルを各ディメンションに割り当ててください。

- 階層内の各ディメンション・レベルには一意のレベル・キーが必要です。また、各論理ディメンション表には一意の主キーが必要です。このキーは通常、最下位階層レベルのレベル・キーとしても使用されます。

- ビジネス・モデルとマッピング・レイヤーで列の名前を変更すると、「論理列名の使用」プロパティが選択されているプレゼンテーション・レイヤー列について別名(シノニム)が自動的に作成されます。これは、論理列とプレゼンテーション列の名前が同期をとれるように、このオプションを選択したときに「プレゼンテーション・レイヤー」列の名前が自動的に変更されるために起こります。(「論理列名の使用」が選択されていない場合に)「プレゼンテーション・レイヤー」列の名前を直接変更することによっても、別名が作成されます。

- 集計ナビゲーションに関する問題を回避するために、ディメンション階層の各論理レベルについて、「このレベルの要素数」フィールドに適切な値を入力してください。ファクト・ソースは、選択したフィールドの組合せとマップ先のディメンションのレベルに基づいて選択されます。これらの値を調整することによって、Oracle BIサーバーで選択されるファクト・ソースを変更できます。この値を設定する方法の詳細は、「ディメンション内の論理レベルの作成」を参照してください。

外部結合のモデリング

次のガイドラインでは、外部結合のモデリング方法に関するヒントを紹介します。

- 外部結合の性質により、通常、外部結合を使用する問合せには時間がかかります。そのため、外部結合を使用するのは、必要な場合のみにしてください。可能であれば、レポート作成SQLで外部結合を使用しなくて済むように、ETL手法を使用してください。

- 外部結合は常に、ビジネス・モデルとマッピング・レイヤーで定義されます。物理レイヤーの結合では、内部または外部は指定されません。

- 外部結合は、論理表の結合を使用するか、論理表ソースで定義できます。使用する外部結合のタイプは、物理結合がビジネス・モデルの結合と論理表ソースの結合のどちらにマップするかによって決まります。

- 外部結合を定義する必要がある場合は、外部結合を使用するディメンションと外部結合を使用しないディメンションの2つの別個のディメンションを作成してみてください。外部結合を使用するディメンションには、それを明確に特定するような名前を付けて、クライアント・ユーザーができるだけそのディメンションを使用しないようにしてください。

- 複数の外部結合の使用は避けてください。論理外部結合と同じ効果を上げるには、かわりに論理結合を内部結合にし、設計時に分析設計者が対応する分析で「NULL値を含む」オプションを選択することをお薦めします。分析エディタの「NULL値を含む」オプションの詳細は、『Oracle Fusion Middleware Oracle Business Intelligence Enterprise Editionユーザーズ・ガイド』のnullの抑制の理解に関する項を参照してください。

プレゼンテーション・レイヤーを設計する際のヒント

プレゼンテーション・レイヤーでは、ビジネス・モデルのユーザー・ビューを設定します。プレゼンテーション・レイヤーのフォルダや列の名前は、ローカライズされた言語で表示できます。プレゼンテーション・レイヤーは、ユーザー許可の設定に適したレイヤーです。プレゼンテーション・レイヤーにおける作業の詳細は、第12章を参照してください。

このレイヤーでは、次のような作業を行うことができます。

- ビジネス・モデルとマッピング・レイヤーに存在する列の一部のみを表示できます。たとえば、キー列にはビジネス上の意味がないため除外できます。

- ビジネス・モデルとマッピング・レイヤーの表構造とは異なる構造を使用して、列を編成できます。

- ビジネス・モデルとマッピング・レイヤーの列名とは異なる列名を表示できます。

- 権限を設定して、個々のサブジェクト・エリア、表および列へのアクセスをユーザーに許可または禁止できます。

- ODBCベースの問合せおよびレポート・ツールに論理キーをエクスポートできます。

- 1つのビジネス・モデルについて複数のサブジェクト・エリアを作成できます。

- 論理SQL問合せで使用可能なプレゼンテーション・オブジェクトの別名(シノニム)の一覧を作成できます。この機能を使用すると、既存のレポートに影響を与えることなく、プレゼンテーション列の名前を変更できます。

プレゼンテーション・レイヤーを設計する際のヒントは次のとおりです。

- ビジネス・モデルとマッピング・レイヤーとプレゼンテーション・レイヤー間ですべての変更を自動的に同期することはできないため、ビジネス・モデルとマッピング・レイヤーが比較的安定してから、プレゼンテーション・レイヤーにカスタマイズを加えることをお薦めします。

- サブジェクト・エリアを作成する際には、ビジネス・モデル全体をドラッグ・アンド・ドロップする、モデルの増分部分をドラッグ・アンド・ドロップする、論理スターまたはスノーフレークに基づいてサブジェクト・エリアを自動的に作成するなど、様々な方法があります。それぞれの方法については、「サブジェクト・エリアの作成」を参照してください。ビジネス・モデルの特定の部分が変更中でも、増分ドラッグ・アンド・ドロップは正しく機能します。

- メンテナンス性を向上させるために、プレゼンテーション・レイヤーではなく、ビジネス・モデルとマッピング・レイヤーでオブジェクトの名前を変更することをお薦めします。プレゼンテーション・オブジェクトではなく論理オブジェクトにわかりやすい名前を指定することによって、複数のサブジェクト・エリアで名前を再利用できます。また、ビジネス・モデルに変更を組み込むためにサブジェクト・エリアを削除して再作成する必要がある場合でも、名前が保持されます。

- プレゼンテーション階層のメンバーは、プレゼンテーション・レイヤーには表示されません。かわりに、アンサーで階層のメンバーを表示できます。

- 管理ツールを使用してプレゼンテーション・レイヤーのメタデータを更新することで、ネストされたフォルダをアンサーに表示できます。詳細は、「アンサーおよびBIコンポーザでのフォルダのネスト」を参照してください。

- 多数のオブジェクトのデータ・アクセス・セキュリティを設定する際には、個々の列の権限を設定するのではなく、ロールによってオブジェクト権限を設定することを検討してください。詳細は、第14章「リポジトリ・オブジェクトへのデータ・アクセス・セキュリティの適用」を参照してください。

- プレゼンテーション・オブジェクトの権限を設定する際には、NQSConfig.INIファイルでDEFAULT_PRIVILEGES構成設定を設定することによって、デフォルト権限を変更できます。詳細は、『Oracle Fusion Middleware Oracle Business Intelligence Enterprise Editionシステム管理者ガイド』の付録A: NQSConfig.INIファイルの構成設定に関する項を参照してください。

他のガイド内の関連トピック

メタデータ・リポジトリ作成者に関係の深いトピックが他のガイドでも取り上げられています。表1-1にこれらのトピックを掲載し、詳細の参照先を示します。

表1-1 他のガイドで取り上げられているトピック

トピック

詳細の参照先

Oracle Business Intelligenceプロセスの開始と停止

Oracle Fusion Middleware Oracle Business Intelligence Enterprise Editionシステム管理者ガイド

Oracle BIサーバーXML APIを使用したリポジトリの操作

Oracle Fusion Middleware Oracle Business Intelligence Enterprise Edition XMLスキーマ・リファレンス

Oracle BIサーバーWebサービスの使用

Oracle Fusion Middlewareインテグレータ・ガイド for Oracle Business Intelligence Enterprise Edition

問合せキャッシュの設定と管理

Oracle Fusion Middleware Oracle Business Intelligence Enterprise Editionシステム管理者ガイド

Fusion Middleware ControlおよびNQSConfig.INIでのリポジトリ開発に関連する構成設定の管理

Oracle Fusion Middleware Oracle Business Intelligence Enterprise Editionシステム管理者ガイド

ユーザー、グループおよびアプリケーション・ロールの管理

Oracle Fusion Middleware Oracle Business Intelligence Enterprise Editionセキュリティ・ガイド

テスト環境から本番環境への移行

『Oracle Fusion Middleware管理者ガイド』

Oracle BIサーバーのDSNの設定

Oracle Fusion Middlewareインテグレータ・ガイド for Oracle Business Intelligence Enterprise Edition

Oracle Business Intelligenceのデプロイメントのローカライズ

Oracle Fusion Middleware Oracle Business Intelligence Enterprise Editionシステム管理者ガイド

SAシステム・サブジェクト・エリアに関する情報

Oracle Fusion Middleware Oracle Business Intelligence Enterprise Editionジョブ・スケジューリング・ガイド

ロギングの管理

Oracle Fusion Middleware Oracle Business Intelligence Enterprise Editionシステム管理者ガイド

使用状況トラッキングの管理

Oracle Fusion Middleware Oracle Business Intelligence Enterprise Editionシステム管理者ガイド

Oracle WebLogic Serverの管理に関する一般情報

『Oracle Fusion Middleware管理者ガイド』

システム要件と動作要件

ハードウェアとソフトウェアの要件、プラットフォーム、データベースおよびその他の情報の詳細は、システム要件と動作要件のドキュメントを参照してください。いずれのドキュメントも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

2 前提作業

この章では、Oracle BI管理ツールの概要を紹介し、メタデータ・リポジトリを構築する前に必要なその他の概念について説明します。

この章には次のトピックが含まれます:

- Oracle BI管理ツールについて

- Oracle BIサーバーのコマンドライン・ユーティリティについて

- Fusion Middleware ControlおよびNQSConfig.INIのオプションについて

- SampleApp.rpdデモ・リポジトリについて

- オンラインとオフラインのリポジトリ・モードの使用

- リポジトリまたはビジネス・モデルの整合性のチェック

Oracle BI管理ツールについて

Oracle BI管理ツールは、リポジトリの作成と編集で使用できるWindowsアプリケーションです。

この項では、管理ツールのメイン・ウィンドウ、 プリファレンスの設定方法、管理ツールの各種メニューおよびその他の関連情報について説明します。

この項には次のトピックが含まれます:

- 管理ツールを開く

- 管理ツールのメイン・ウィンドウについて

- 管理ツールのオプションの設定

- 管理ツールのメニューについて

- 物理図およびビジネス・モデル図の使用

- リポジトリでのオブジェクトの編集、削除および並替え

- リポジトリ・オブジェクトのネーミング要件について

- 「参照」ダイアログを使用したオブジェクトの参照

- リポジトリ・オブジェクトのアイコンの変更

- 管理ツールでのオブジェクトのソート

- Oracle Marketing Segmentationの機能とオプションについて

管理ツールを開く

管理ツールを開くには、「スタート」→「プログラム」→「Oracle Business Intelligence」→「BI Administration」を選択します。

注意:
リポジトリ・ファイルをダブルクリックして管理ツールを開かないでください。開いた管理ツールのウィンドウがOracleのインスタンスに初期化されず、エラーが発生します。

次の手順で、コマンドラインから管理ツールを起動することもできます。

1. Windowsのエクスプローラで、インストール・タイプに適した場所に移動します。

- クライアント・インストール:

ORACLE_HOME/bifoundation/server/bin

- その他のすべてのインストール:

ORACLE_INSTANCE/bifoundation/OracleBIApplication/coreapplication/setup

2. bi-init.cmd (またはクライアント・インストールの場合はbi-init.bat)をダブルクリックし、ご使用のOracleインスタンスに対して初期化されたコマンド・プロンプトを表示します。

3. コマンド・プロンプトでadmintoolと入力し、[Enter]キーを押します。

管理ツールのメイン・ウィンドウについて

管理ツールのメイン・ウィンドウには、リポジトリの3つのレイヤーである物理レイヤー、ビジネス・モデルとマッピング・レイヤーおよびプレゼンテーション・レイヤーがグラフィカルに表示されます。詳細は、「Oracle BIリポジトリのレイヤーについて」を参照してください。

管理ツールのメイン・ウィンドウには次も表示されます。

- メニュー。詳細は、「管理ツールのメニューについて」を参照してください。

- ツールバー。ファイルを開く操作や保存する操作などのグローバルな機能にアクセスできます。また、物理図やビジネス・モデル図などの機能も用意されています。

- ステータス・バー。現在のダイアログまたは選択したオブジェクトに関するコンテキスト情報、およびその他の有用な情報を表示します。

- タイトル・バー。オンライン・モードでは、接続先のOracle BIサーバーのDSNが表示されます。オフライン・モードでは、次のいずれかが表示されます。

- RPDファイル: 開いているリポジトリの名前(たとえば、SampleAppLite)。

- MDS XMLファイル: 形式およびルート・フォルダの場所(たとえば、MDS XML C:\Root_Folder).

図2-1は、管理ツールのメイン・ウィンドウを示しています。

図2-1 管理ツールのメイン・ウィンドウの例

管理ツールのオプションの設定

「オプション」ダイアログを使用して管理ツールのプリファレンスおよびオプションを設定できます。

管理ツールのオプションを設定する手順は、次のとおりです。

1. 管理ツールで「ツール」を選択し、「オプション」を選択して「オプション」ダイアログを表示します。

2. 「一般」タブで目的のオプションを選択します。
表2-1は「一般」タブのオプションを示しています。

表2-1 「一般」タブのオプション

オプション

選択したときのアクション

サイズ変更時に並べて表示

管理ツールのサイズを変更したときに、リポジトリのレイヤー・ペインが自動的に並んで表示されます。このオプションを選択すると、管理ツールの「ウィンドウ」メニューで「重ねて表示」オプションと「並べて表示」オプションが使用できなくなります。

図の修飾名の表示

物理図とビジネス・モデル図に完全修飾名を表示します。たとえば、このオプションを選択すると、物理図にB02 Marketではなく、"B - Sample Fcst Data"..."B02 Market"と表示されます。

このオプションを選択すると、親データベースやビジネス・モデルの名前を指定してオブジェクトを特定できますが、完全修飾名は長いので、図が読みにくくなる可能性があります。

注意: このオプションを選択していなくても、オブジェクトにカーソルを重ねるか、図でオブジェクトを選択してステータス・バーを確認することで、オブジェクトの完全修飾名を確認できます。

図の別名に対する元の名前の表示

物理図に表示する表名を、別名表の名前ではなく、元の物理表の名前にします。別名表の名前ではなく、元の表を特定する場合は、このオプションを選択します。

計算ウィザードの導入ページの表示

計算ウィザードの導入ページを表示します。この導入ページには、導入ページが今後は表示されないようにするオプションもあります。

計算ウィザードを使用して、既存の2つの列を比較する新しい計算列の作成およびメトリック(NULLとゼロでの除算論理を扱う既存のエラー・トラップなど)の一括(集計)作成が可能です。詳細は、「「計算ウィザード」の使用」を参照してください。

オブジェクトを自動的にチェックアウト

オブジェクトをダブルクリックすると、そのオブジェクトが自動的にチェックアウトされます。このオプションを選択していない場合は、オブジェクトを編集するときに、そのオブジェクトのチェックアウトを要求されます。

このオプションは、管理ツールをオンライン・モードで開いているときにのみ適用できます。詳細は、「オンライン・モードでのリポジトリの編集」を参照してください。

物理ビューで行数の表示

物理レイヤーに物理表と物理列の行数を表示します。この行数は、更新されていないと最初は表示されません。行数を更新するには、「ツール」→「すべての行数の更新」を選択します。物理レイヤーで表または列を右クリックして「行数の更新」を選択しても同様の操作が可能です。

注意: 「物理表」ダイアログの「一般」タブにある「表タイプ」リストでストアド・プロシージャ・コールとなっている項目については行数が表示されません。XML、XMLサーバーおよびマルチディメンション・データ・ソースには行数が存在しません。オンライン・モードで作業しているとき、新しいオブジェクトの行数を更新するには、そのオブジェクトをチェックインする必要があります。

ツール・バーの表示

選択すると、管理ツールのツールバーが表示されます。

ステータス・バーの表示

選択すると、管理ツールのステータス・バーが表示されます。

論理列の移動時にプロンプトを表示

移動した列について、論理表ソースを無視するか、既存の論理表ソースを指定するか、新しい論理表ソースを作成するかを選択できるようにします。

マージ後に使用されていない物理表を削除

使用されていないオブジェクトをリポジトリから削除するユーティリティを実行します。これを実行することで、リポジトリのサイズが小さくなることがあります。

リポジトリからのインポートの許可

選択すると、「ファイル」メニューで「リポジトリからのインポート」オプションを使用できるようになります。

注意: デフォルトでは、「ファイル」メニューの「リポジトリからのインポート」オプションは、無効になっています。このオプションは、将来サポートされない予定です。リポジトリに、インポートするオブジェクトを含むプロジェクトを作成し、その後、リポジトリ・マージを使用してそのプロジェクトを現行のリポジトリに組み込むことをお薦めします。詳細は、「リポジトリのマージ」を参照してください。

論理外部キー結合作成の許可

選択すると、結合マネージャを使用して論理外部キーの結合を作成する機能が得られます。このオプションは以前のリリースとの互換性を維持するために用意されているものであり、一般的には使用はお薦めできません。

Essbaseのドラッグ・アンド・ドロップ・アクションでGen1レベルをスキップ

選択すると、物理レイヤーからビジネス・モデルとマッピング・レイヤーにEssbaseキューブまたはディメンションをドラッグ・アンド・ドロップするときにGen1レベルが除外されます。多くの場合、分析ではGen1レベルを必要としないので、ビジネス・モデルからGen1レベルを除外しても問題はありません。

詳細は、「Essbaseデータ・ソースでの作業」を参照してください。

置換ウィザードで使用できない論理表ソースの非表示

デフォルトの置換ウィザードでは、置換できないものも含め、すべての論理表ソースが表示されます。このオプションを選択すると、使用できない論理表ソースは置換ウィザードの画面に表示されなくなります。列にマッピングされている論理表ソースがリストに表示されない理由の詳細は、「情報」をクリックしてください。

このオプションを選択するとウィザードのページのロードが速くなり、特に大規模なリポジトリで効果的です。

初期化ブロックに最初の接続プールを許可

デフォルトでは、初期化ブロックの接続プールを選択する際、物理レイヤーのデータベース・オブジェクトの下の最初の接続プールは選択可能として表示されません。これにより、問合せに使用する接続プールと同じ接続プールを初期化ブロックで使用できないようになります。初期化ブロックと問合せに同じ接続プールが使用されると、初期化ブロックが実行されている間、常に問合せがブロックされる可能性があります。あるいは、長時間実行される問合せによって、認証に使用される初期化ブロックがブロックされ、ログインの遅延またはハングが発生する可能性もあります。

デフォルトの動作を変更して、初期化ブロックでの最初の接続プールの選択を許可するには、このオプションを選択します。このオプションは最適な選択ではなく、パフォーマンスの問題が発生する可能性のあることに注意してください。

詳細は、「初期化ブロックの接続プールについて」を参照してください。

問合せリポジトリにアップグレードIDを表示

アップグレードIDは、デフォルトでは、「リポジトリの問合せ」ダイアログに表示されません。このオプションを選択すると、アップグレードIDが、リポジトリの問合せ結果の列として表示されます。さらに、アップグレードIDにフィルタを設定して特定の値を検索できます。

このオプションは、ファイル名にアップグレードIDが含まれているMDS XML形式のリポジトリで役立ちます。

BIAPPSの拡張元

構成によって、このオプションは有効になっていない可能性があります。

オンライン・ログインでテナント情報を表示

このオプションは、今後使用するために予約されています。

変換キーをプレゼンテーション・ツリーに表示

デフォルトで、プレゼンテーション・オブジェクトの名前は、管理ツールのメイン・ウィンドウのプレゼンテーション・レイヤーの部分に表示されます。

すべてのプレゼンテーション・オブジェクトに対するトランスレーション・キー値を表示するかわりに、このオプションを選択してください。

プレゼンテーション名の編集

デフォルトでは、プレゼンテーション・オブジェクト名は読取り専用です。

プレゼンテーション・オブジェクトの名前を変更するには、このオプションを選択してください。

ドラッグ・アンド・ドロップ: 階層列のみ表示

Essbaseデータ・ソースでは、このオプションを選択すると、プレゼンテーション列が非表示になり、「アンサー」内の階層列のみが表示されます。

サマリー・アドバイザ・ウィザードでの統計生成の有効化

これを選択すると、「Generate Statistics」オプションに、Oracle BIサマリー・アドバイザ・ウィザードが表示されます。

3. 「リポジトリ」タブでは次のオプションを設定できます。

- 表示フォルダの下にある表とディメンションのみを表示。「物理」および「ビジネス・モデルとマッピング」レイヤーで表示フォルダを作成して、オブジェクトを編成できます。メタデータ上の意味はありません。表示フォルダを作成したら、選択したオブジェクトが、フォルダにはショートカットとして表示され、データベースまたはビジネス・モデル・ツリーにはオブジェクトとして表示されます。オブジェクトを非表示にして、表示フォルダのショートカットのみが表示されるようにできます。
表示フォルダの作成の詳細は、「物理レイヤーでの表示フォルダの設定」および「ビジネス・モデルとマッピング・レイヤーでの表示フォルダの設定」を参照してください。

- レベル・ベースのメジャーの非表示。デフォルトでは、「ビジネス・モデルとマッピング」レイヤーのディメンション階層の各レベルに、そのレベルに割り当てられているディメンション列と、そのレベルで固定されているレベルベース・メジャーの両方が表示されます。レベル・ベース・メジャーは、ディメンション表の一部ではないが、特定のレベルにあるとして明示的に定義されているオブジェクトです。
ディメンション階層でレベルベース・メジャーを非表示にすると、表示の繁雑さを解消できます。なお、論理ファクト表では非表示にしたメジャーも表示できます。

レベル・ベース・メジャーの詳細は、例10-1「レベルベース・メジャーの計算」を参照してください。

- システム・ロギング・レベル。このオプションは、内部BISystemユーザーのデフォルトの問合せロギング・レベルを決定します。BISystemユーザーは、Oracle BIサーバー・システム・プロセスを所有し、ユーザー・インタフェースでは公開されません。
問合せロギング・レベルが0(デフォルト値)の場合はロギングが実行されません。このロギング・レベルを2に設定すると、イベントのポーリングや初期化のブロックなどの内部システム・プロセスに対する問合せロギングが有効になります。

問合せのログと問合せロギング・レベルの詳細は、『Oracle Fusion Middleware Oracle Business Intelligence Enterprise Editionシステム管理者ガイド』の問合せログの管理に関する項を参照してください。

- LDAP:これにより、LDAPを使用して膨大なユーザーを認証する際にパフォーマンスの向上を図ることができます。認証キャッシュを無効にすると、数百件のセッションを認証するときにパフォーマンスが低下する可能性があります。Oracle WebLogicサーバーの埋込みディレクトリ・サーバーに対しては認証キャッシュは使用されません。
認証キャッシュのプロパティには次のものがあります。

- キャッシュ・リフレッシュ間隔。ログオンしたユーザーの認証キャッシュ・エントリをリフレッシュする間隔。

- キャッシュ・エントリ数: 認証キャッシュの最大エントリ数。Oracle BIサーバーの起動時に事前に割り当てられます。ユーザー数がこの限度を超えると、LRUアルゴリズムを使用してキャッシュ・エントリの入替えが行われます。この値に0を指定すると認証キャッシュは無効になります。

LDAPサーバーとの間でセキュアな接続を使用する場合は、これ以外にもLDAPプロパティをいくつか指定する必要があります。具体的には、「LDAPサーバー」ダイアログの「詳細設定」タブで「SSL」を選択した場合は、次の情報を指定します。

- キー・ファイル名。クライアント証明書と認証局(CA)証明書を格納するキー・ファイルの名前。

- 「パスワード」と「パスワードの確認」。キー・ファイルのパスワード。

認証キャッシュのプロパティとキー・ファイルのプロパティは、定義したすべてのLDAPサーバー・オブジェクトで共有されます。

4. 「オブジェクトのソート」タブで、管理ツールにアルファベット順で表示するリポジトリ・オブジェクトを指定します。たとえば、物理レイヤーにデータベース・オブジェクトをアルファベット順で表示するには、「データベース」オプションを選択します。

5. 「ソース・コントロール」タブで、構成ファイルを作成または編集して、ソース・コントロール管理システムと統合できます。また、MDS XMLリポジトリのステータス(「スタンドアロン」または「ソース・コントロールの使用」のいずれか)を表示および編集できます。詳細は、「SCM構成ファイルの作成」を参照してください。

6. 「キャッシュ・マネージャ」タブで、キャッシュ・マネージャに表示する列を選択します。キャッシュ・マネージャでの列の順序を変更するには、列を選択し、「上へ」ボタンと「下へ」ボタンを使用して列の位置を変更します。

7. 「マルチユーザー」タブで、マルチユーザー開発ディレクトリへのパス、およびこの管理ツールのローカル開発者の名前を指定します。詳細は、「マルチユーザー開発ディレクトリへのポインタの設定」を参照してください。

8. 「詳細」タブで、管理ツールに表示されるダイアログのスクロール速度を設定できます。スクロール速度を設定するには、スライダにカーソルを置きます。

9. プリファレンスの設定を終了したら「OK」をクリックします。

管理ツールのメニューについて

管理ツールには、「ファイル」、「編集」、「表示」、「管理」、「ツール」、「図」、「ウィンドウ」および「ヘルプ」の各メニューがあります。次の項では各メニューについて説明します。

「ファイル」メニュー

「ファイル」メニューには、リポジトリを操作する「開く」や「保存」などのオプションや、リポジトリをオンラインモードで開いているときにのみアクティブな「すべてチェックアウト」などのサーバー関連オプションがあります。最近開いたリポジトリのリストも「ファイル」メニューに表示されます。

「ファイル」メニュー にあるオプションは表2-2のとおりです。

表2-2 「ファイル」メニュー・オプション

メニュー・オプション

説明

新規リポジトリ

新規リポジトリの作成ウィザードを開き、現在開いているリポジトリがあればそれを閉じます。現在開いているリポジトリで変更を保存していない場合は、それを保存してから次の操作に進むように要求されます。

詳細は、「新しいOracle BIリポジトリの作成」を参照してください。

開く

次のオプションを提供します。

- オフライン: オフライン・モードでRPDファイルを開くには、このオプションを選択します。

- MDS XML: オフライン・モードでMDS XML形式でリポジトリを開くには、このオプションを選択します。

- オンライン: オンライン・モードでRPDファイルを開くには、このオプションを選択します。

詳細は、「オンラインとオフラインのリポジトリ・モードの使用」および「MDS XMLについて」を参照してください。

マルチユーザー

マルチユーザー開発環境でプロジェクトをチェックアウトするオプションおよびマルチユーザー開発履歴を表示するオプションを提供します。

詳細は、第3章「マルチユーザー開発環境の設定と使用」を参照してください。

ソース・コントロール

ソース・コントロール管理システムと統合されるMDS XML形式のリポジトリに関するオプションを提供します。

詳細は、第4章「リポジトリ開発のためのソース・コントロール管理システムの使用方法」を参照してください。

閉じる

現在開いているリポジトリを閉じます。保存していない変更がある場合は、それを保存するように要求されます。

保存

最新の変更内容を保存します。

名前を付けて保存

次のオプションを提供します。

- リポジトリ: 「名前を付けて保存」ダイアログを開き、リポジトリをRPD形式で保存できます。

- MDS XMLドキュメント: 「フォルダの参照」ダイアログを開き、MDS XML出力のルート・フォルダの場所を指定できます。

管理ツールでは、その新しいリポジトリが引き続き開いた状態になります。

名前を付けてコピー

次のオプションを提供します。

- リポジトリ: 「コピーを別名で保存」ダイアログを開き、リポジトリをRPD形式で別のファイルにコピーできます。

- MDS XMLドキュメント: 「フォルダの参照」ダイアログを開き、MDS XML出力のルート・フォルダの場所を指定できます。

管理ツールでは、その新しいリポジトリではなく、現行のリポジトリが引き続き開いたままとなります。

パスワードの変更

現在開いているリポジトリのリポジトリ・パスワードを変更できます。

詳細は、Oracle BIリポジトリ・パスワードの変更に関する項を参照してください。

印刷プレビュー

物理図およびビジネス・モデル図で使用されます。印刷したときの図の状態のプレビューを提供します。

印刷

物理図およびビジネス・モデル図を印刷します。

メタデータのインポート

インポート・メタデータ・ウィザードを開きます。

詳細は、次の項を参照してください。

- リレーショナル・データ・ソースからのメタデータのインポート

- マルチディメンション・データ・ソースからのメタデータのインポート

- 「ADFデータ・ソースでの作業」

- XMLデータ・ソースからのメタデータのインポート

比較

現在開いているリポジトリと比較するリポジトリの選択を要求し、「リポジトリの比較」ダイアログを開きます。

詳細は、「リポジトリの比較」を参照してください。

比較モードをオフにする

強調表示されている変更済オブジェクトをすべてオフにします。このオプションは、「リポジトリの比較」ダイアログで「マーク」を選択して比較モードをオンにしている場合にのみ使用できます。

マージ

リポジトリ・マージ・ウィザードを開きます。

詳細は、「リポジトリのマージ」を参照してください。

グローバルな整合性のチェック

リポジトリに整合性があるかどうかをチェックし、整合性チェック・マネージャを開きます。

詳細は、「リポジトリまたはビジネス・モデルの整合性のチェック」を参照してください。

すべてチェックアウト

すべてのリポジトリ・オブジェクトをチェックアウトします。このオプションはオンライン・モードでのみ使用できます。

変更のチェックイン

すべてのリポジトリ・オブジェクトをチェックインします。このオプションはオンライン・モードでのみ使用できます。

すべての変更を元に戻す

前回のチェックイン以降に発生したすべての変更をロールバックします。このオプションはオンライン・モードでのみ使用できます。

終了

現在開いているリポジトリを閉じ、さらに管理ツールを閉じます。保存していない変更がある場合は、それを保存するように要求されます。

「編集」メニュー

「編集」メニューでは、リポジトリ・オブジェクトの基本的な編集機能である「切取り」、「コピー」、「貼付け」、「複製」および「削除」を利用できます。また、「プロパティ」を選択して、選択したオブジェクトのプロパティの表示と編集が可能です。

「表示」メニュー

「表示」メニュー・オプションを使用して、リポジトリの3つのレイヤーであるプレゼンテーション・レイヤー、ビジネス・モデルとマッピング・レイヤーおよび物理レイヤーを表示するペインの表示と非表示を切り替えることができます。また、ビジネス・モデル図と物理図の表示も可能です。

「リフレッシュ」を選択するとリポジトリのビューを更新できます。この機能は、オンライン・モードで他のクライアントによる変更を確認する場合に便利です。また、リポジトリのビューが同期しなくなって最近の変更や追加が表示されなくなったときに、これはオンライン・モードとオフライン・モードのどちらでも利用できます。リポジトリのビューをリフレッシュすると、ツリー・ペインで展開していたオブジェクトがすべて閉じるので、繁雑な表示を簡素化できます。

「管理」メニュー

「管理」メニューでは、表2-3に示す管理機能を利用できます。

表2-3 「管理」メニュー・オプション

メニュー・オプション

説明

ジョブ

ジョブ・マネージャを開きます。ジョブ・マネージャはOracle BIスケジューラに対する管理インタフェースです。このオプションは、リポジトリをオンライン・モードで開いているときに利用できます。

詳細は、Oracle Fusion Middleware Oracle Business Intelligence Enterprise Editionジョブ・スケジュール・ガイドのOracle BIスケジューラのジョブ・マネージャの使用に関する項を参照してください。

セッション

セッション・マネージャを開きます。セッション・マネージャでは、リポジトリ変数とセッション変数の現在の値のようなシステム上のアクティビティを監視できます。このオプションは、リポジトリをオンライン・モードで開いているときに利用できます。

詳細は、『Oracle Fusion Middleware Oracle Business Intelligence Enterprise Editionセキュリティ・ガイド』のサーバー・セッションの管理に関する項を参照してください。

キャッシュ

キャッシュ・マネージャを開きます。キャッシュ・マネージャでは、キャッシュの監視と管理が可能です。このオプションは、リポジトリをオンライン・モードで開いていて、キャッシュを有効にしているときに利用できます。

キャッシュを有効にする方法とキャッシュ・マネージャの使用方法の詳細は、『Oracle Fusion Middleware Oracle Business Intelligence Enterprise Editionシステム管理者ガイド』のキャッシュ・マネージャの使用に関する項を参照してください。

クラスタ

クラスタ・マネージャを開きます。クラスタ・マネージャは、クラスタの動作とアクティビティを監視し、管理します。このオプションは、Oracle BIクラスタ・サーバーがインストール済の場合に利用できます。

詳細は、『Oracle Fusion Middleware Oracle Business Intelligence Enterprise Editionシステム管理者ガイド』のクラスタ・マネージャの使用に関する項を参照してください。

アイデンティティ

Identity Managerを開きます。Identity Managerは、データ・アクセスのセキュリティ機能とその他のアイデンティティ関連オプションへのアクセスを提供します。

詳細は、第14章「リポジトリ・オブジェクトへのデータ・アクセス・セキュリティの適用」を参照してください。

結合

結合マネージャを開きます。結合マネージャを使用すると、物理結合と論理結合の両方をリストの形式で操作できます。物理図とビジネス・モデル図のかわりに結合マネージャで結合を操作でき、すべてのタイプの結合を1か所で表示できます。

詳細は、「結合マネージャを使用した物理結合の定義」および「結合マネージャを使用した論理結合の定義」を参照してください。

変数

変数マネージャを開きます。変数マネージャを使用すると、変数と初期化ブロックの作成、編集または削除が可能です。

詳細は、第19章「Oracle BI Repositoryでの変数の使用」を参照してください。

プロジェクト

プロジェクト・マネージャを開きます。プロジェクト・マネージャを使用すると、プロジェクトおよびプロジェクト要素の作成、編集または削除が可能です。プロジェクト要素には、サブジェクト・エリア(以前のプレゼンテーション・カタログ)、論理ファクト表、グループ、ユーザー、変数、初期化ブロックなどがあります。マルチユーザーによる開発期間中はプロジェクトを使用します。

詳細は、「プロジェクトの設定」を参照してください。

マーケティング

Oracle Marketing Segmentation製品に適用します。Oracle Business Intelligenceでの「マーケティング」 オプションの使用の詳細は、Oracle Marketing Segmentationガイドを参照してください。

「ツール」メニュー

「ツール」メニュー・オプションでは表2-4に示す機能を利用できます。

表2-4 「ツール」メニュー・オプション

メニュー・オプション

説明

すべての行数の更新

物理レイヤーでの行数を更新します。

詳細は、「物理表と列の行数の表示と更新」を参照してください。

整合性チェッカの表示

整合性チェック・マネージャを開きます。

詳細は、「リポジトリまたはビジネス・モデルの整合性のチェック」を参照してください。

リポジトリの問合せ

「リポジトリの問合せ」ダイアログを開きます。

詳細は、「リポジトリ・メタデータの照会および管理」を参照してください。

ユーティリティ

「ユーティリティ」ダイアログを開きます。このダイアログでは、管理ツールのユーティリティのリストからユーティリティを選択できます。

詳細は、「管理ツール・ユーティリティの使用」を参照してください。

オプション

「オプション」ダイアログを開きます。このダイアログでは、管理ツールの表示プリファレンスなどの各種オプションをカスタマイズできます。

詳細は、「管理ツールのオプションの設定」を参照してください。

「図」メニュー

「図」メニュー・オプションは、物理図またはビジネス・モデル図で作業しているときに利用できます。このオプションを使用すると、要素の選択、結合の新規作成、表の新規作成および図に対するその他の操作が可能です。これらの各図のツールバー・オプションには、「図」メニューと同等の機能が用意されています。

「ウィンドウ」メニュー

「ウィンドウ」メニュー・オプションでは、開いているレイヤー・ウィンドウを重ねて表示するか、並べて表示するかを選択して、それらを切り替えることができます。

「ヘルプ」メニュー

「ヘルプ」メニューには次のオプションがあります。

- ヘルプ・トピック:管理ツールのヘルプ・システムにアクセスします。

- Oracle BIのWebページ:Oracle Technology Network (OTN)のOracle Business Intelligenceホーム・ページにアクセスします。

- Oracle BI管理ツールのバージョン情報:管理ツールのバージョン情報を取得します。この情報は、サポートおよびトラブルシューティングの際に使用します。ダイアログ・ボックスには、次の情報が含まれます。

- バージョン – 使用しているOracle BI EEのインストールされたバージョン。たとえば、11.1.1.9.0のようになります。

- パッケージ – Oracle BI EEのバージョンに対応するOracleの内部製品ビルド番号。この番号は、製品がオラクル社でコンパイルおよびビルドされた日付および時刻で構成されます。たとえば、140728.1003.000のようになります。

- リポジトリ・バージョン – リポジトリが開いていない場合、表示される数字は現在管理ツールでサポートされているリポジトリのバージョンです。たとえば、347のようになります。新しく作成するリポジトリは、表示されるリポジトリ・バージョンで保存されます。
以前のバージョンの管理ツールで作成したリポジトリを開く場合、最初に表示される数字がリポジトリの作成および保存で使用されたバージョン番号です。2番目の数字は、現在管理ツールでサポートされているリポジトリ・バージョンです。たとえば、326/347のようになります。開いているリポジトリを保存する際に、リポジトリを現在サポートされているバージョンで保存するように選択できます。管理ツールは、現行リリースでサポートされているバージョン番号よりも大きいバージョンのリポジトリを開けません。

- MUDバージョン – Oracle BI EEでサポートされているマルチユーザー・デプロイメント(MUD)環境のバージョン。

物理図およびビジネス・モデル図の使用

管理ツールで物理図およびビジネス・モデル図を使用して、物理表と論理表および結合をグラフィカルに表示できます。表は展開モードまたは縮小モードで表示でき、展開モードでは表の各列が表示され、縮小モードでは表の名前のみが表示されます。この項では、両方の図のレイアウトとナビゲーション機能について説明します。

物理図またはビジネス・モデル図を起動すると、ツールバーのオプションを使用して表のズーム、パン、レイアウトの制御が可能です。表2-5は、利用できるツールバー・オプションを示しています。

表2-5 物理図およびビジネス・モデル図のツールバー・オプション

オプション名

説明

自動レイアウト

自動的に割り当てられている対称的な表レイアウトに戻るには、このオプションを選択します。このレイアウトで個々の表を手動で移動することによって指定したカスタマイズはすべて失われます。

すべて展開

列を表示する展開モードですべての表を表示するには、このオプションを選択します。展開した表は次のように表示されます。

展開した表には、さらに次のオプション機能があります。

- スクロールバーを使用して、すべての列のリストをスクロールできます。

- 列ヘッダーをクリックして、その列を基準としてソートできます。

- 展開表示した表をダブルクリックすると、そのオブジェクトの「プロパティ」ダイアログが開きます。

- 右上隅の「縮小」アイコンをクリックして、個々の表オブジェクトを縮小できます。

- 展開した表のサイズを変更するには、表を選択し、ハンドラにカーソルを合せてクリックし、そのハンドラをドラッグします。

すべて縮小

表名のみを表示する縮小モードですべての表を表示するには、このオプションを選択します。縮小した表は次のように表示されます。

縮小表示した状態で個々の表をダブルクリックすると、その表のみを展開できます。

マーキー・ズーム

特定の領域を選択してズームできるマーキー・ズーム・ツールを使用するには、このオプションを選択します。マーキー・ズーム・ツールを使用するには、ズームする領域でクリックし、そのままドラッグして、ズームする領域を指定します。

ズーム・アウト

図を1段階縮小して表示するには、このオプションを選択します。

ズーム・イン

図を1段階拡大して表示するには、このオプションを選択します。

ウィンドウに合せる

すべてのオブジェクトが図の現在のウィンドウに表示されるように、ウィンドウのサイズに合せてレイアウトを動的に調整するには、このオプションを選択します。

パン

現在のレイアウトをパンできるパン・ツールを使用するには、このオプションを選択します。ビューをクリックし、そのままドラッグします。

図のレイアウトが表示範囲に収まらない場合に、このオプションが特に便利です。

選択

図の中でオブジェクトを選択する機能を有効にするには、このオプションを選択します。結合や展開した表オブジェクトをダブルクリックして「プロパティ」ダイアログにアクセスできるほか、特定の表を選択して新しい場所にドラッグすることもできます。図を閉じた場合や「自動レイアウト」を選択した場合でも、場所の情報は保存されません。

[Shift]キーまたは[Ctrl]キーを使用して複数のオブジェクトを選択できます。選択するすべてのオブジェクトを範囲で指定するには、[Shift]キーを押しながらオブジェクトを選択するか、クリックしてドラッグする操作で範囲を指定します。オブジェクトを個別に選択または選択解除するには、[Ctrl]キーを押しながらオブジェクトを選択します。

新規表

図のビューのままで物理表または論理表を新規作成するには、このオプションを選択します。背景をクリックして新しいオブジェクトの「プロパティ」ダイアログを起動し、必要に応じて詳細を指定します。物理表の場合は、新しい表の作成場所とする親オブジェクトを先に選択する必要があります(スキーマ・オブジェクト、カタログ・オブジェクト、データベース・オブジェクトなど)。

次の項も参照してください。

- 物理表と物理キューブ表の作成と管理

- 論理表の作成

新規結合

図のビューのままで結合を新規作成するには、このオプションを選択します。まず、結合の1番目の表(1対多結合の「多」に相当する表)をクリックします。続いて、結合の相手とする表(1対多結合の「1」に相当する表)にカーソルを移動し、2番目の表をクリックして選択します。必要に応じ、新しいオブジェクトの「プロパティ」ダイアログで詳細を指定します。

物理図およびビジネス・モデル図では、結合は「1」側に矢印がついた直線で表現されています。以前のリリースでは、結合の「多」側に山形記号を使用した直線で表現されていました。

次の項も参照してください。

- 物理図を使用した物理結合の定義

- ビジネス・モデル図を使用した論理結合の定義

物理図とビジネス・モデル図には次の機能もあります。

- 図のツールバーにある、「選択」、「新規表」、「新規結合」などのすべてのオプションは、「図」メニューからでも利用できます。

- 表にマウス・カーソルを移動すると、ステータス・バーにその表の完全修飾名が表示されます。

- 物理図とビジネス・モデル図の両方を同時に開くことができます。

- 個々の表を手動で移動することによってレイアウトで指定したカスタマイズは、図を閉じた場合または「自動レイアウト」を選択した場合にはすべて失われます。

- 「オプション」ダイアログでプリファレンスを設定することで、図に表示される表名を完全修飾名にすることができます。詳細は、「管理ツールのオプションの設定」を参照してください。

- 「ファイル」メニューの「印刷」および「印刷プレビュー」オプションを使用して、図の印刷オプションを管理できます。ツールバーの「印刷」オプションを使用することもできます。

物理図とビジネス・モデル図の使用の詳細は、次の項も参照してください。

- 物理図とビジネス・モデル図のキーボード・ショートカット

- 物理図での作業

- ビジネス・モデル図での作業

リポジトリでのオブジェクトの編集、削除および並替え

この項では、オブジェクトの編集、削除および並替えについて説明します。

- オブジェクトを編集するには、オブジェクトをダブルクリックするか、オブジェクトを右クリックして「プロパティ」を選択します。表示されたダイアログのフィールドに必要な情報を入力します。ダイアログによっては、「編集」をクリックして該当のダイアログを開くことができます。

- オブジェクトを削除するには、オブジェクトを1つ以上選択し、「削除」をクリックするか[Delete]キーを押します。オブジェクトを右クリックして「削除」を選択することでも、同様の操作が可能です。

- オブジェクトを並べ替えるには、オブジェクトを新しい場所にドラッグ・アンド・ドロップします。次の点に注意してください。

- 並替えは、特定のダイアログで特定のオブジェクトについてのみ可能です。

- ダイアログによっては、上矢印または下矢印を使用してオブジェクトを別の場所に移動できます。

- 管理ツールのメイン・ウィンドウでは、オブジェクトをその親までドラッグ・アンド・ドロップすると、そのオブジェクトを複製できます。ビジネス・モデルやサブジェクト・エリアなどの最上位オブジェクトは、空白の領域にドラッグ・アンド・ドロップすることで複製できます。

リポジトリ・オブジェクトのネーミング要件について

すべてのリポジトリ・オブジェクトの名前は次の要件に従う必要があります。

- 名前の文字数は最大で128文字です。

- 名前の先頭と末尾に空白は使用できません。

- 名前には、一重引用符、疑問符およびアスタリスクは使用できません。

リポジトリ・オブジェクトの名前には、マルチバイト・キャラクタを使用できます。

「参照」ダイアログを使用したオブジェクトの参照

「参照」ダイアログは、管理ツールに多くの状況で表示されます。それを使用して、オブジェクトを見つけて選択できます。

「参照」ダイアログには、既存のオブジェクトからの選択を実行するいくつかのダイアログからアクセスできます。

「参照」ダイアログの左ペインでは、特定のオブジェクトのツリー・ビューを参照できます。ここには次の要素があります。

- リポジトリのプレゼンテーション・レイヤー、ビジネス・モデルとマッピング・レイヤーまたは物理レイヤーにあるすべてのオブジェクトのツリー表示

- 左ペインの下部にある、レイヤーを選択できるタブ。実行しているタスクに不適切なオブジェクトが存在するレイヤーのタブは表示されないことがあります。

「参照」ダイアログの右ペインでは、目的のオブジェクトを検索できます。ここには次の要素があります。

- 「問合せ」では、リポジトリにあるオブジェクトを名前とタイプで問い合せできます。「名前」フィールドではワイルドカード文字としてアスタリスク(*)を使用できるので、部分一致による問合せが可能です。

- 「修飾名の表示」オプションを使用すると、オブジェクトの親がどのオブジェクトであるかを確認できます。

- 「表示」では、選択したオブジェクトのプロパティを読取り専用モードで表示できます。

一般的には、「参照」ダイアログの左ペインと右ペインは連動していません。これらのペインは、目的のオブジェクトを探すための代替手段です。

「コンテンツの同期」機能はこの例外で、ここでは問合せ結果リストにあるオブジェクトをツリー・ビューと同期化できます。この機能は、ツリー・ビューにある特定のオブジェクトを探し出す便利なコンテキスト・ツールです。

表2-6は、「参照」ダイアログで実行できるタスクとその説明です。

表2-6 「参照」ダイアログで実行できるタスク

タスク

説明

オブジェクトの問合せ

オブジェクトを問い合せるには、次の手順に従います。

1. 「タイプ」リストでオブジェクトのタイプを選択します。

2. 「名前」フィールドで、オブジェクトの名前または名前の一部とワイルドカード文字(*)を入力します。たとえば、次のように入力します。
- 名前の先頭の文字がQである論理表を検索するには、「タイプ」リストで「論理表」を選択し、「名前」フィールドにQ*と入力します。

- 名前の末尾がdimである論理表を検索するには、「名前」フィールドに*dimと入力します。

3. 「問合せ」をクリックします。
問合せ結果リストに、該当のオブジェクトが表示されます。

オブジェクトの選択

左ペインのツリー・ビューまたは右ペインのフィルタ・ビューで目的のオブジェクトを探し出し、ダブルクリックします。

「参照」ダイアログが閉じ、その前から開いているダイアログに目的のオブジェクトが表示されます。

問合せ結果リストにあるオブジェクトとツリー・ビューの同期

「問合せ」リストでオブジェクトを選択し、「コンテンツの同期」ボタンをクリックします。

選択したオブジェクトが左ペインのツリー・ビューで強調表示されます。

ツリー・ビューの複数箇所に存在するオブジェクトの検索

論理列などのオブジェクトをツリー・ビューで選択し、下向き矢印ボタンをクリックします。

ツリー・ビューの中で別の場所にある同じオブジェクトが強調表示されます。

リポジトリ・オブジェクトのアイコンの変更

管理ツールでは、リポジトリにある特定のオブジェクトを表すアイコンを変更できます。特定のオブジェクトのアイコンを変更しても機能面の変化はなく、アンサーやその他のクライアントからはアイコンの変更は認識できません。この機能は、リポジトリ開発者の便宜のためにオブジェクトを視覚的に区別しやすくすることを目的としたものです。

例:

- リポジトリの管理を容易にするために、ビジネス・モデルとマッピング・レイヤーにあるオブジェクトには専用のアイコンを使用できます。プレゼンテーション・レイヤーではこの機能は利用できません。

- 論理計算であるアイコンには、別のアイコンを使用してマークできます。

- アンサーではネストしたフォルダとして表示される表に対して、プレゼンテーション・レイヤーで視覚的に区別するアイコンを選択できます。

- 特定の機能領域に関係するオブジェクトや特定の論理表ソースからデータを取得するオブジェクトを表すアイコンを論理表で使用できます。

変更できるアイコンは、個々のオブジェクトのもののみです。特定タイプのすべてのオブジェクトでグローバルにアイコンを変更することはできません。

特定のリポジトリ・オブジェクトのアイコンを変更するには:

1. 管理ツールの物理レイヤー、ビジネス・モデルとマッピング・レイヤーまたはプレゼンテーション・レイヤーで、オブジェクト(特定の論理表など)を右クリックします。

2. 「アイコンの設定」を設定します。

3. 「アイコンの選択」ダイアログで、目的のオブジェクトに使用するアイコンを選択して「OK」をクリックします。

管理ツールでのオブジェクトのソート

管理ツールにはオブジェクトのリストを表示するダイアログが多数あります。たとえば、物理列のリストを表示する「物理表」ダイアログ、優先ドリル・パスの論理レベルのリストを表示する「論理レベル」ダイアログ、プレゼンテーション階層のリストを表示する「プレゼンテーション表」ダイアログがあります。

ヘッダーをクリックすると、オブジェクトを昇順または降順でソートできます。ヘッダー名の横には、現在のソート順を表す上向き矢印または下向き矢印のアイコンが表示されます。

各リストには、セッションが異なっても変化しないデフォルトの順序もあります。各セッションでダイアログに初めてリストを表示するときは、このデフォルトの順序で表示されます。昇順または降順を表す矢印アイコンがヘッダーにないときは、デフォルトの順序で表示されています。ヘッダーをクリックするたびにソート順が昇順、降順、デフォルトの順序に循環して切り替わります。昇順または降順がデフォルトの順序になっていることもあります。

リストの中で項目を上下に移動できる機能を持つダイアログもあります。このようなダイアログでは、リストを昇順または降順でソートした状態で「上へ」または「下へ」をクリックすると、 選択した項目が移動し、それによって得られた順序が新しいデフォルトの順序になります。ヘッダーをクリックすると、手動で指定した順序はすべて解除されます。

Oracle Marketing Segmentationの機能とオプションについて

管理ツールの機能とオプションの中には、Oracle Marketing Segmentation製品を所有する組織での使用を目的としたものがあります。これらの機能とオプションの詳細は、Oracle Marketing Segmentationガイドを参照してください。

Oracle Marketing Segmentationの機能については、プレゼンテーション・サービスのヘルプに別途説明があります。

Oracle BIサーバーのコマンドライン・ユーティリティについて

Oracle BIサーバーでは様々なコマンドライン・ユーティリティを使用して、プログラムによるリポジトリ・ファイルの変更、サンプル問合せの実行、不要なリポジトリ・オブジェクトの削除などのタスクを実行できます。

Oracle BIサーバーのコマンドライン・ユーティリティを表2-7に示します。

表2-7 Oracle BIサーバーのコマンドライン・ユーティリティ

ユーティリティ名

説明

詳細の参照先

biserverextender

ADFデータ・ソースからFlexオブジェクト変更をインポートし、それを「ビジネス・モデルとマッピング」レイヤーおよび「プレゼンテーション」レイヤーにマップするために使用します。

biserverextenderユーティリティを使用したFlexオブジェクト変更の自動マッピング

biservergentypexml

型の一致が予想通りになるようにするために、特定のリポジトリと作成された論理列タイプのリスト間での論理列のデータ型の比較に使用します。

「論理列タイプのリストの生成」

「論理列タイプの比較」

XMLユーティリティ(biserverxmlgen、biserverxmlexec、biserverxmlcli)

主に、Oracle BIサーバーのXML APIを利用してメタデータの移行、プログラムによるメタデータの生成と操作、メタデータへのパッチ適用などの機能を実行するために使用します。

このXMLユーティリティには次のものがあります。

- biserverxmlgen: 既存のRPDファイルからXMLを生成します。MDS XML形式でリポジトリを生成するためのオプションも含まれています。

- biserverxmlexec: オフライン・モードでXMLを実行してリポジトリ・ファイルを作成または変更します。MDS XML形式でXMLを実行するためのオプションも含まれています。

- biserverxmlcli: Oracle BIサーバーに対してXMLを実行します。

Oracle Fusion Middleware Oracle Business Intelligence Enterprise Edition XMLスキーマ・リファレンス

comparerpd

2つのリポジトリを比較し、CSV diffファイル、XMLパッチ・ファイルまたはMDS XML diffを生成するために使用されます。

comparerpdを使用したリポジトリの比較

equalizerpds

名前が同一でアップグレードIDが異なるオブジェクトが2つのリポジトリに別々に存在する場合に、それらを等化するために使用します。リポジトリをマージする前にこのユーティリティを実行しておくと、マージによって意図しない名前の変更が発生することを防止できます。

オブジェクトの等化

extractprojects

指定のリポジトリからプロジェクトを抽出するために使用します。

extractprojectsユーティリティを使用したプロジェクトの抽出

mhlconverter

MUD履歴ファイルを.mhl形式から.xml形式に変換し、ソース・コントロール下にチェックインできるようにするために使用されます。

「MUDマスターおよびMUDログ・ファイルの新しいバージョンをソース・コントロールにチェックイン」

nqaggradvisor

集計の作成で使用する集計指定スクリプトを生成する際に、Oracle BI Summary Advisorを呼び出すために使用します。このユーティリティは、Oracle Exalyticsマシン上で稼働するOracle Business Intelligenceでのみ使用できます。

nqaggradvisorユーティリティを使用してOracle BIサマリー・アドバイザを実行

nqcmd

リポジトリに対してテスト問合せを実行するために使用します。Oracle BIサーバーのODBC DSNを使用して接続します。

リポジトリのテストおよび絞込みのためのnqcmdの使用方法

nqlogviewer

問合せログの表示に使用されます。

Oracle Fusion Middleware Oracle Business Intelligence Enterprise Editionシステム管理者ガイド

obieerpdpwdchg

Oracle BIリポジトリ・パスワードの変更に使用します。

「obieerpdpwdchgユーティリティを使用したOracle BIリポジトリ・パスワードの変更」

patchrpd

XMLパッチ・ファイルの適用に使用します。LinuxシステムまたはUNIXシステムでリポジトリ・ファイルにパッチを適用するときに特に便利なユーティリティです。

patchrpdを使用したパッチの適用

prunerpd

データベース、表、列、初期化ブロック、変数などの不要なリポジトリ・オブジェクトをリポジトリ・ファイルから削除するために使用します。

リポジトリからの不要オブジェクトの削除

sametaexport

Oracle Database SQLアクセス・アドバイザまたはIBM DB2 Cube Viewsツールでリレーショナル・データを事前に割り当てて問合せのパフォーマンスを改善するために必要な情報の生成に使用します。

データベースとのメタデータ交換による問合せのパフォーマンス向上

validaterpd

リポジトリの整合性のチェックに使用します。

validaterpdユーティリティを使用したリポジトリの整合性チェック

Oracleインスタンスに初期化したシェル・ウィンドウを起動するためのbi-initの実行

Oracle BIサーバーのコマンドライン・ユーティリティを実行する前に、bi-initを実行して、 Oracleインスタンスに初期化したコマンド・プロンプトまたはシェル・ウィンドウを起動する必要があります。続いて、得られたシェル・ウィンドウで、必要なオプションを指定して目的のコマンドライン・ツールを実行します。

このユーティリティは、LinuxおよびUNIXシステムではbi-init.shと呼ばれ、管理ツールのクライアント・インストールではbi-init.batと呼ばれ、他のすべてのWindowsのインストール・タイプではbi-init.cmdと呼ばれます。

たとえば、Windowsの場合は次のようにします。

1. Windowsのエクスプローラで、インストール・タイプに適した場所に移動します。

- クライアント・インストール:

ORACLE_HOME/bifoundation/server/bin

- その他のすべてのインストール:

ORACLE_INSTANCE/bifoundation/OracleBIApplication/coreapplication/setup

2. bi-init.cmd (またはクライアント・インストールの場合はbi-init.bat)をダブルクリックし、ご使用のOracleインスタンスに対して初期化されたコマンド・プロンプトを表示します。

3. コマンド・プロンプトで、必要なオプションを指定して、実行するコマンドライン・ユーティリティの名前を入力します。たとえば、extractprojectsを実行するには、次のように入力します。

extractprojects -B base_repository_name -O output_repository_name {-I input_project_name} [-P repository_password] [-L]

注意:
クライアント・インストールでは、「スタート」→「プログラム」→「Oracle Business Intelligence Enterprise Edition Plus Client」の適切なオプションを選択してbi-initを起動することもできます。

Fusion Middleware ControlおよびNQSConfig.INIのオプションについて

管理ツールとリポジトリ開発に影響する多数の構成設定は、Fusion Middleware ControlまたはNQSConfig.INI構成ファイルで管理します。リポジトリ開発者は、管理ツールとそのリポジトリで効果的に作業するために、Fusion Middleware ControlとNQSConfig.INIの構成設定に精通している必要があります。

リポジトリ開発に影響する構成設定のうち、多く使用するものとして次のものがあります。

- リポジトリ・ファイル: このオプションはFusion Middleware Controlで設定します。これは現在公開されているリポジトリを制御します。

- RPD更新の無効化: このオプションはFusion Middleware Controlで設定します。これは、オフライン・モードとオンライン・モードの両方で、管理ツールを読取り専用モードで開くかどうかを制御します。

- LOCALE: このオプションはNQSConfig.INIで設定します。これは、サーバーからデータが返されるロケールを指定し、ローカライズした月日名を決定します。

- DATE_TIME_DISPLAY_FORMAT、DATE_DISPLAY_FORMAT、TIME_DISPLAY_FORMAT: これらのオプションはNQSConfig.INIで設定します。日時形式の表示を制御します。

- DEFAULT_PRIVILEGES: このオプションはNQSConfig.INIで設定します。これは、明示的な権限が設定されていないリポジトリ・オブジェクトについてユーザーとアプリケーション・ロールにデフォルトで付与される権限(NONEまたはREAD)を指定します。

Fusion Middleware ControlとNQSConfig.INIの構成設定の詳細は、『Oracle Fusion Middleware Oracle Business Intelligence Enterprise Editionシステム管理者ガイド』を参照してください。

SampleApp.rpdデモ・リポジトリについて

Oracle Business IntelligenceにはSampleApp.rpdというサンプル・リポジトリが用意されており、このガイドで取り上げている様々なタイプのオブジェクトをモデル化するためのベスト・プラクティスを知ることができます。

SampleApp.rpdの基本的なバージョンであるSampleAppLite.rpdは、Oracle BI Enterprise Editionをインストールするときに、デフォルト・リポジトリとして自動的にインストールされます。SampleAppLite.rpdは次のディレクトリにあります。

ORACLE_INSTANCE\bifoundation\OracleBIServerComponent\coreapplication_obisn\repository

SampleApp.rpdの完全バージョンには、さらに多くの例と機能が収録されています。このバージョンは、次のOracle Technology Networkにあります。

http://oracle.com/technetwork/middleware/bi-foundation/obiee-samples-167534.html

SampleAppLite.rpdのデフォルトのパスワードはAdmin123です。セキュリティ上の理由から、管理ツールでSampleAppLite.rpdを初めて開いたときに、このデフォルトのパスワードをただちに変更する必要があります。詳細は、Oracle BIリポジトリ・パスワードの変更に関する項を参照してください。

オンラインとオフラインのリポジトリ・モードの使用

リポジトリは、オンライン・モードとオフライン・モードのどちらの編集でも開くことができます。実行できるタスクは、リポジトリをどのモードで開いたかによって異なります。

リポジトリを開くには、リポジトリ・パスワードを入力する必要があります。このパスワードはリポジトリごとに固有で、リポジトリの暗号化に使用されています。

この項には次のトピックが含まれます:

- オフライン・モードでのリポジトリの編集

- オンライン・モードでのリポジトリの編集

- オブジェクトのチェックアウト

- 変更のチェックイン

- 読取り専用モードについて

オフライン・モードでのリポジトリの編集

Oracle BIサーバーにリポジトリをロードしていない場合、そのリポジトリを表示および変更するには、オフライン・モードを使用します。Oracle BIサーバーにロードしたリポジトリをオフライン・モードで開こうとすると、そのリポジトリは読取り専用モードで開きます。特定のリポジトリをオフライン・モードで同時に編集できるのは、1つの管理ツール・セッションのみです。詳細は、「読取り専用モードについて」を参照してください。

オフライン・モードでリポジトリを開く場合、ユーザー名とパスワードの入力は不要です。リポジトリ・パスワードの入力のみが必要です。

この項には次のトピックが含まれます:

- オフライン・モードでリポジトリを開く

- オフラインでの変更の公開

リポジトリをオフライン・モードで開く

RPD形式のリポジトリをオフライン・モードで開くには、次の手順に従います。

1. 管理ツールで、「ファイル」→「開く」→「オフライン」を選択します。

2. 開くリポジトリに移動して「開く」を選択します。

3. オフラインで開くダイアログで、リポジトリ・パスワードを入力して「OK」をクリックします。
サーバーが稼働中で、開こうとしているリポジトリがロード済である場合、そのリポジトリは読取り専用モードで開きます。ロードした状態になっているリポジトリを編集するには、オンライン・モードで開く必要があります。また、オフライン・モードでリポジトリを開いた後でサーバーを起動すると、そのリポジトリはユーザーが利用できる状態になります。この状態で指定した変更は、サーバーを再起動しないと有効になりません。

管理ツールからオフライン・モードでRPD形式のリポジトリを開くと、開いたリポジトリの名前(たとえば、SampleAppLite)がタイトルバーに表示されます。

また、次のようにしてMDS XML形式のリポジトリをオフライン・モードで開くことができます。

1. 管理ツールで、「ファイル」→「開く」→MDS XMLを選択します。

2. MDS XMLファイルのルート・フォルダの場所を選択し、「OK」をクリックします。

3. 管理ツールでこのMDS XMLリポジトリを初めて開いた場合は、このリポジトリがスタンドアロンMDS XMLリポジトリであるか、ソース・コントロール下に置かれているのかを指定するプロンプトが表示されます。適切なオプションを選択して「OK」をクリックします。

管理ツールでMDS XML形式のリポジトリを開くと、タイトルバーに形式とルート・フォルダの場所(たとえば、MDS XML C:\Root_Folder)が表示されます。

オフラインでの変更の公開

リポジトリにオフライン・モードで行った変更を公開するには、次の手順に従います。

1. Fusion Middleware Controlを使用してリポジトリをアップロードします。このタスクの実行方法の詳細は、『Oracle Fusion Middleware Oracle Business Intelligence Enterprise Editionシステム管理者ガイド』のリポジトリの構成に関する項を参照してください。
MDS XML形式のリポジトリはアップロードできません。MDS XMLリポジトリに行った変更を公開するには、最初にそのリポジトリをRPD形式に変換する必要があります。

2. すべてのOracle BIサーバー・インスタンスを再起動します。他のBIシステム・コンポーネントを再起動する必要はありません。

3. プレゼンテーション・サービスで、「管理」ページから「ファイルとメタデータの再ロード」リンクをクリックします。

オンライン・モードでのリポジトリの編集

Oracle BIサーバーにロードした状態のリポジトリを表示して編集するにはオンライン・モードを使用します。また、リポジトリをオンライン・モードで開くには、Oracle BIサーバーが稼動している必要があります。作業によっては、オフライン・モードでは実行できず、オンライン・モードで実行できるものがあります。オンライン・モードで実行できるタスクは次のとおりです。

- スケジュール設定したジョブの管理

- ユーザー・セッションの管理

- 問合せキャッシュの管理

- クラスタ化したサーバーの管理

- Oracle BIサマリー・アドバイザの使用(Oracle Exalytics Machineのデプロイメントのみ)

この項には次のトピックが含まれます:

- リポジトリをオンライン・モードで開く

- オンラインでの変更の公開

- オンライン・モードを使用するためのガイドライン

リポジトリをオンライン・モードで開く

リポジトリをオンライン・モードで開くには、次の手順に従います。

1. 管理ツールで、「ファイル」→「開く」→「オンライン」を選択して「オンライン・リポジトリを開く」ダイアログを開きます。
コンピュータに構成してあるOracle BIサーバーのDSNがこのダイアログに表示されます。このバージョンのOracle BIサーバーに追加のDSNが構成されていない場合は、インストールの際に構成されたデフォルトのDSNのみが表示されます。

Oracle BIサーバーのODBC DSNを作成する方法の詳細は、『Oracle Fusion Middleware Oracle Business Intelligence Enterprise Editionインテグレーターズ・ガイド』のOracle Business Intelligenceへの他のクライアントの統合に関する項を参照してください。

2. Oracle BIサーバーに現在ロード状態になっているリポジトリのリポジトリ・パスワードを入力します。
Fusion Middleware Controlの「デプロイメント」ページにある「リポジトリ」タブを使用して、現在のリポジトリの名前を確認できます。

3. 有効なユーザー名とパスワードを指定します。
指定する名前のユーザーには、ManageRepositories権限が必要です。詳細は、『Oracle Fusion Middleware Oracle Business Intelligence Enterprise Editionセキュリティ・ガイド』を参照してください。

4. リポジトリで集中的に作業することを想定している場合は(多数のオブジェクトのチェックアウトなど)、「起動時にすべてのオブジェクトをロード」オプションを選択します。これにより、オブジェクトを選択したときではなく、今すぐにすべてのオブジェクトがロードされます。最初の接続に要する時間がわずかに長くなる可能性はありますが、ツリーで項目を開いてチェックアウトすることで作業時間は短縮できます。

5. 適切なDSNを選択して「OK」をクリックします。

管理ツールからオンライン・モードでリポジトリを開くと、タイトルバーには現行のリポジトリの名前ではなく、接続しているOracle BIサーバーのDSNが表示されます。

オンラインでの変更の公開

単一ノード・デプロイメントの場合、オンライン・モードで管理ツールを使用して行った変更は、ただちに使用可能になります。

クラスタ化環境では、変更は、Fusion Middleware Controlの「デプロイメント」ページの「リポジトリ」タブで指定されたリポジトリ公開ディレクトリに公開されます。マスターOracle BIサーバーは、これらの変更を自動的に使用しますが、すべてのスレーブOracle BIサーバーは最新の変更を取得するには再起動する必要があり、その後、「管理」ページの「ファイルとメタデータの再ロード」リンクをクリックすることで、プレゼンテーション・サービスのメタデータを再ロードします。

スレーブOracle BIサーバーは、RollingRestart ODBCプロシージャを使用するか、Fusion Middleware Controlを使用することで再起動できます。

- RollingRestart ODBCプロシージャを使用するには、nqcmdに次のように入力します。

call RollingRestart(timeout);

ここで、timeoutは、各スレーブOracle BIサーバーで、次に移動する前に再起動を待機する秒数です。

例:

call RollingRestart(300);

この例では、システムは各Oracle BIサーバーの再起動を5分間待機します。指定したOracle BIサーバーがそれよりも早く再起動した場合は、ただちに次に移動します。

nqcmdの使用方法の詳細は、「リポジトリのテストおよび絞込みのためのnqcmdの使用方法」を参照してください。

注意:
RollingRestartプロシージャは、マスターOracle BIサーバーに直接実行する必要があります。各Oracle BIサーバーのインストール時に作成されるDSNは、デフォルトでクラスタ化されているため、プロシージャを実行する対象となるマスターOracle BIサーバーに対して手動で非クラスタ化DSNを作成する必要があります。
Oracle BIサーバーのODBC DSNを作成する方法の詳細は、『Oracle Fusion Middleware Oracle Business Intelligence Enterprise Editionインテグレーターズ・ガイド』のOracle Business Intelligenceへの他のクライアントの統合に関する項を参照してください。

さらに、OPMNでコンポーネントの自動再起動が無効化されている場合、RollingRestartは機能しません。詳細は、『Oracle Fusion Middleware Oracle Process Manager and Notification Server管理者ガイド』を参照してください。

- Fusion Middleware Controlを使用してスレーブ・サーバーを再起動するには、オンライン・モードで管理ツールの「クラスタ・マネージャ」を使用して、どのOracle BIサーバーがマスターで、どれがスレーブであるのか判別します。その後、Fusion Middleware Controlの「可用性」ページの「プロセス」タブを使用して、スレーブOracle BIサーバーを再起動します。詳細は、『Oracle Fusion Middleware Oracle Business Intelligence Enterprise Editionシステム管理者ガイド』のFusion Middleware Controlを使用したOracle Business Intelligenceシステム・コンポーネントとJavaコンポーネントの起動と停止に関する項を参照してください。

RollingRestart ODBCプロシージャを使用する場合、またはFusion Middleware ControlでスレーブOracle BIサーバーを再起動する場合は、Fusion Middleware Controlまたは構成ファイルで他の構成変更を行わないことをお薦めします。スレーブ・サーバーのみが再起動されるため、マスターOracle BIサーバーに、スレーブOracle BIサーバーとは異なる構成設定のセットがロードされる状況になる場合があります。これが発生した場合、マスターOracle BIサーバーを再起動します。

オンライン・モードを使用するためのガイドライン

オンライン・モードは、整合性チェックを実行する必要がない小さい変更の場合にのみ使用してください。オンライン・リポジトリ全体に対して整合性チェックを実行すると長時間かかる場合があります。かわりに、整合性チェックを必要とする複雑な変更は、リポジトリのプロジェクト抽出に対してオフライン・モードで実行します。

表2-8は、オンラインおよびオフラインで編集を実行する場合のガイドラインを示しています。

表2-8 オンラインおよびオフラインでのリポジトリの編集のガイドライン

モード

このモードの使用に適した状況

使用例

オンライン

- 実行中のシステム内のものを修正するために必要な小さい変更

- すばやくデプロイする必要がある変更

- プレゼンテーション・レイヤーのメタデータの名前の変更

- プレゼンテーション・レイヤーのメタデータの再編成

- アプリケーション・ロールのロギング・レベルの設定

オフライン

- 整合性チェックを複数回繰り返して実行する必要がある全体規模のデプロイメントまたはカスタマイズ・アクティビティ

- 既存のファクト表またはディメンション表のカスタマイズ

- 新しいファクト表またはディメンション表の追加

また、同時接続するオンライン・ユーザーの数を制限することも必要です。オンライン・モードで作業するユーザーを一度に1人のみに制限することがベスト・プラクティスです。複数のユーザーがそれぞれ別々のオブジェクトをチェックアウトしていても、これらのオブジェクトどうしに依存性があると、変更のチェックインによって競合が発生することがあります。一般的に、1つのビジネス・モデルでオンラインでの変更ができるユーザーは一度に1人のみとします。

一度に複数の同時ユーザーをオンライン・モードにする必要がある場合は、ユーザー数を5人までとします。6人以上のユーザーを必要とする場合は、マルチユーザー開発環境を使用します。詳細は、第3章「マルチユーザー開発環境の設定と使用」を参照してください。

変更を実行しているユーザーが1人のみでも、オンライン・モードでは稼働しているサーバーで作業しているので、オフライン・モードよりはリスクが高くなっていることを認識しておく必要があります。整合性のない変更をチェックインすると、Oracle BIサーバーがシャットダウンすることがあります。オンライン・モードで作業するときは必ず最新のリポジトリをバックアップしておき、必要に応じてその状態に戻せるようにしておきます。「ファイル」→「すべての変更を元に戻す」を選択して、前回のチェックイン以降の変更をすべてロールバックすることもできます。

オブジェクトのチェックアウト

オンライン・モードで開いているリポジトリで作業している場合は、様々な操作を実行しようとすると、オブジェクトのチェックアウトを要求されることがあります。チェックアウトするオブジェクトを選択して「はい」をクリックし、そのオブジェクトをチェックアウトします。

ウィザードでタスクを実行しているときは、操作を完了するためにチェックアウトが必要なオブジェクトのサマリーが「チェックアウト」画面に表示されます。「次へ」をクリックしてオブジェクトをチェックアウトしてタスクを完了します。

変更のチェックイン

オンライン・モードで開いたリポジトリで作業している場合は、リポジトリで実行した変更をチェックインする前に整合性チェックの実行を要求されます。

リポジトリに対する変更を行い、その変更をチェックインせずにリポジトリを閉じようとすると、実行するアクションを選択するように求めるダイアログが自動的に開きます。オブジェクトをそのオブジェクトの親から移動し、親を削除しようとすると、削除を処理するためにこの変更のチェックインを要求されます。

変更を他のアプリケーションでただちに利用できるようにするには「変更のチェックイン」ダイアログを使用します。変更のチェックイン後であれば、Oracle BIサーバーに問い合せるアプリケーションでその変更をただちに認識できます。現在サーバーに問い合せているアプリケーションは、変更された項目に次回アクセスしたときにその変更を認識します。

ただちに変更を利用可能にして、ディスクに保存されるようにするには:

- 管理ツールで、「ファイル」を選択してから「変更のチェックイン」を選択します。

無効な変更が管理ツールで検出されると、問題の性質について警告するメッセージが表示されます。問題を修正して、再度チェックインします。メッセージ行を選択して「移動」をクリックするか、メッセージ行をダブルクリックすると、問題の影響を受けているオブジェクトに直接移動できます。

エラー97005 (トランザクションの失敗)が表示される場合があります。このエラーは、Oracle BIサーバーで変更を受け入れない場合に発生します。通常は、サーバー・ログ・ファイルを確認して問題の原因を判別できます。

変更をディスクに維持するには、それを保存する必要があります。変更を保存するにはその変更のチェックインが必要ですが、変更を保存していなくてもチェックインは可能です。

読取り専用モードについて

読取り/書込みモードでリポジトリを開くことができるコンポーネント(Oracle BIサーバー、またはオフライン・モードでは1つの管理ツール・クライアント)は一度に1つのみです。すでに使用されているリポジトリを別のコンポーネントで開くと、そのリポジトリは読取り専用モードで開きます。

たとえば、Oracle BIサーバーが読取り/書込みモードでリポジトリをロードすると想定します。そのリポジトリにオンライン・モードで接続している管理ツール・クライアントは、その数に関係なく読取り/書込みモードになります。これは、それらがそのOracle BIサーバーを介してリポジトリにアクセスしているためです。しかし、そのリポジトリをオフライン・モードで開いている管理ツール・クライアントは、読取り専用モードになります。これは、そのリポジトリがOracle BIサーバーを介してすでに読取り/書込み用に開いてるためです。

かわりに、管理ツール・クライアントがリポジトリをオフラインで読取り/書込みモードで開いていると想定します。Oracle BIサーバーが起動すると、それは、オフラインまたはオンライン・モードでそのリポジトリに接続している管理ツール・クライアントと同様に、読取り専用モードになります。この状況でサーバーが読取り/書込みモードでリポジトリをロードできるようにするには、最初に、リポジトリをロックしている管理ツール・クライアントを閉じてから、Oracle BIサーバーを再起動する必要があります。

Oracle Business Intelligenceがクラスタ化されていて、スレーブ・サーバーに管理ツールが接続している場合は、その管理ツールでもリポジトリは読取り専用モードで開きます。これは、マスターBIサーバーがリポジトリに対するロックを保持しているために発生します。クラスタ化環境での実行でこのような状況を回避するには、その管理ツールで使用するOracle BIサーバーのODBC DSNが、特定のOracle BIサーバーではなく、クラスタ・コントローラを指すように構成します。

また、Fusion Middleware Controlで構成設定「RPD更新を許可しない」が選択されている場合も、 管理ツールではリポジトリが読取り専用モードで開きます。この構成設定の詳細は、『Oracle Fusion Middleware Oracle Business Intelligence Enterprise Editionシステム管理者ガイド』のFusion Middleware Controlを使用してRPD更新を許可しない方法に関する項を参照してください。

リポジトリまたはビジネス・モデルの整合性のチェック

問合せでリポジトリを使用できるようにするには、リポジトリのメタデータが整合性チェックに合格する必要があります。整合性チェック・マネージャを使用すると、整合性チェックで使用するルールの有効化と無効化、整合性のないオブジェクトの検索と修正、整合性チェックの対象を特定のオブジェクトのみに制限する指定などが可能です。validaterpdユーティリティを使用して、すべてのメタデータ・オブジェクトの妥当性をチェックすることもできます。

注意:
別なツール、モデル・チェック・マネージャにより、Oracle BIサマリー・アドバイザおよび集計の永続性のパフォーマンスと結果に影響を及ぼすモデリングの問題を特定できます。Oracle BIサマリー・アドバイザまたは集計の永続性・ウィザードを実行する前にモデル・チェック・マネージャを実行します。詳細は、「モデル・チェック・マネージャを使用したモデリングの問題のチェック」を参照してください。

この項には次のトピックが含まれます:

- 整合性チェック・マネージャについて

- リポジトリ・オブジェクトの整合性チェック

- validaterpdユーティリティを使用したリポジトリの整合性チェック

- 一般的な整合性チェック・メッセージ

整合性チェック・マネージャについて

整合性チェック・マネージャは、リポジトリの妥当性を確認して実行時にそれをロードできるようにし、問合せの失敗の原因となる構文エラーやセマンティク・エラーを特定します。

さらに、整合性チェックを実行すると、リポジトリ・メタデータが更新される可能性があります。たとえば、整合性チェック時に無効なオブジェクトが削除されます。この動作により、論理表ソースおよび論理列で式およびフィルタが削除されてしまうことがあります。不正な参照は、物理レイヤーでオブジェクトが削除され、ビジネス・モデルおよびマッピング・レイヤー・オブジェクトで参照が正しく考慮されていないときに発生する可能性があります。

リポジトリを保存するたびに、グローバルな整合性をチェックするかどうかを確認するダイアログが表示されます。ここでは次のオプションを指定できます。

- はい。グローバルな整合性をチェックしてから、リポジトリ・ファイルを保存します。

- いいえ。グローバルな整合性をチェックしないで、リポジトリ・ファイルを保存します。

- 取消。グローバルな整合性をチェックせず、リポジトリ・ファイルも保存しません。

整合性チェック・マネージャでは、接続を使用しているメタデータの外部にあるオブジェクトの妥当性はチェックしません。それはメタデータの整合性のみをチェックし、メタデータ外部にある物理オブジェクトへのマッピングはチェックの対象外です。接続が機能していない場合やデータベースでオブジェクトが削除されている場合、整合性チェック・マネージャではこれらのエラーを報告しません。

このルールの1つの例外は、整合性チェック・マネージャにより、管理ツール内に定義されているものの、まだポリシー・ストアに追加されていないアプリケーション・ロールが特定されることです。プレースホルダ・アプリケーション・ロールに関するメッセージは、整合性チェックをオンライン・モードで実行した場合にのみ表示されます。このため、リポジトリに関して返される一連の整合性チェック・メッセージは、リポジトリをオフライン・モードで開いているか、オンライン・モードで開いているかによって異なる場合があります。

参照表を使用して、翻訳されたフィールド名を多言語スキーマで保存する場合、その参照表に対しては整合性チェックのルールが緩和されます。ローカライゼーションと参照表の詳細は、『Oracle Fusion Middleware Oracle Business Intelligence Enterprise Editionシステム管理者ガイド』のOracle Business Intelligenceのローカライズに関する項を参照してください。

整合性チェックでは、次の種類のメッセージが返されます。

- エラー。これらのメッセージは、修正する必要があるエラーを示しています。このメッセージ内の情報を使用して、非一貫性を訂正し、整合性チェッカを再度実行します。エラー・メッセージの例を次に示します。

[38082] Type of Hierarchy '"0RT_C41"..."0RT_C41/MDF_BW_Q02"."Product Hierarchy for Material MARA"' in Cube Table '"0RT_C41"..."0RT_C41/MDF_BW_Q02"' needs to be set.

オブジェクトを無効にしたことで不整合が発生すると、そのオブジェクトを問合せで利用できないようにするかどうかの確認を求めるメッセージが表示されます。

- 警告。これらのメッセージは、エラーである可能性やエラーでない可能性もある状況を示しています。たとえば、循環結合条件を排除するために意図的に無効化されている無効化結合に関する警告メッセージを受け取ることがあります。他のメッセージとしては、一貫性のない値や、デフォルトと一致しない機能表の変更の警告などがあります。警告メッセージの例を次に示します。

[39024] Dimension '"Paint"."MarketDim"' has defined inconsistent values in its levels' property 'Number of elements'.

整合性チェック・マネージャでは、列ヘッダーをクリックすることでメッセージの行をソートできます。また、ステータス・バーには、表示されているすべての行のサマリーが表示されます。

注意:
以前のバージョンのソフトウェアからアップグレードした後でリポジトリの整合性をチェックすると、以前の整合性チェックでは発生しなかったメッセージを受け取ることがあります。多くの場合、これはアップグレード前は検出できなかった不整合を示すもので、エラーが新たに発生したわけではありません。

リポジトリ・オブジェクトの整合性チェック

管理ツールを使用して、次の方法で整合性をチェックできます。

- リポジトリにあるすべてのオブジェクトの整合性をチェックするには、「ファイル」を選択し、「グローバルな整合性のチェック」を選択します。

- 物理データベース、ビジネス・モデル、サブジェクト・エリアなどの特定のリポジトリ・オブジェクトの整合性をチェックするには、そのオブジェクトを右クリックして「整合性のチェック」を選択します。

- 整合性チェック・マネージャをすでに開いている場合は、「全オブジェクトのチェック」をクリックすることでグローバルな整合性をチェックできます。

グローバルな整合性チェックを実行せずに整合性チェック・マネージャを表示するには、「ツール」を選択し、「整合性チェッカの表示」を選択します。現在のセッションで整合性をチェック済であれば、「メッセージ」ペインに前回のチェックで得られたメッセージが表示されます。

リポジトリの整合性をチェックするには:

1. 管理ツールで「ファイル」を選択してから「グローバルな整合性のチェック」を選択します。整合性チェック・マネージャが表示され、現在のリポジトリに関連するすべてのメッセージが一覧表示されます。

注意:
オブジェクトを無効にすることで不整合が発生すると、そのオブジェクトを問合せで使用できないようにするかどうかの確認を求めるダイアログが表示されます。

2. 整合性チェック・マネージャで、表2-9を参照しながら必要な手順を実行します。

表2-9 整合性チェック・マネージャ・オプション

オプション

説明

修飾名の表示

このオプションを選択して、完全修飾名を表の「オブジェクト」列に表示します。

オブジェクト

このオプションをクリックして、チェックされているすべてのオブジェクトを表示します。この一覧には、名前およびタイプが表示されます。

統計

このオプションをクリックして、エラーおよび警告を表示します。これは、数字コードおよび発生件数で表されます(たとえば、「警告38028, 10」)。

名前を付けて保存

このオプションをクリックして、メッセージをテキスト、CSVまたはXMLフォーマットで保存します。

全オブジェクト確認

このオプションをクリックして、整合性を再度チェックし、グローバル・チェックを実行します。または、右上隅の「リフレッシュ」ボタンをクリックして、前回のチェックで不整合として指摘されたオブジェクトのみをチェックします。

編集

列を選択してこのオプションをクリックし、オブジェクトを編集するためのプロパティ・ダイアログを開きます。

移動

1つ以上のオブジェクトを選択してこのオプションをクリックし、リポジトリの管理ツール・ビューのオブジェクトに移動します。選択したオブジェクトは、「物理」レイヤー、「ビジネス・モデルとマッピング」レイヤーまたは「プレゼンテーション」レイヤーにハイライト表示されます。このオプションを選択すると、「リポジトリの問合せ」ダイアログは閉じます。

コピー

1つまたは複数の行を選択してこのオプションをクリックし、メッセージをコピーして、スプレッドシートなどの他のファイルに貼り付けます。列を選択せずにこのオプションをクリックすると、すべてのメッセージがコピーされるので注意してください。

3. 完了後、「閉じる」をクリックします。

リポジトリにある1つのオブジェクトの整合性をチェックするには:

1. 管理ツールでオブジェクトを右クリックして「整合性のチェック」を選択します。
オブジェクトに整合性がないと、整合性チェック・マネージャが表示され、メッセージがリストされます。

2. 整合性チェック・マネージャで、表2-9を参照しながら必要な手順を実行します。

3. 完了後、「閉じる」をクリックします。

validaterpdユーティリティを使用したリポジトリの整合性チェック

Oracle BIサーバーのユーティリティであるvalidaterpdを使用して、リポジトリにあるすべてのメタデータ・オブジェクトの妥当性をチェックできます。このユーティリティを実行すると、管理ツールで整合性チェック・マネージャが実行するチェックと同様の妥当性チェックを実行できます。

validaterpdユーティリティは、WindowsシステムとUNIXシステムの両方で使用できます。validaterpdは、バイナリRPDファイル、Oracle BIサーバーのXML APIに基づくXMLファイル、または一連のMDS XMLドキュメントに対して実行できます。

validaterpdの実行前に、bi-initを実行して、適切に初期設定されたコマンド・プロンプトを起動する必要があります。詳細は、「Oracleインスタンスに初期化したシェル・ウィンドウを起動するためのbi-initの実行」を参照してください。

-Lオプションを指定してvalidaterpdを使用すると、Oracle BIサマリー・アドバイザまたは集計の永続性エンジンの正常な実行に影響を及ぼす可能性のある問題についてリポジトリ・メタデータがチェックされます。-Lオプションを指定したvalidaterpdの使用方法の詳細は、validaterpdユーティリティを使用したモデルのチェックに関する項を参照してください。

構文

validaterpdユーティリティは次のパラメータを取ります。

validaterpd {-R repository_name | -I input_file_pathname |
-D MDS_XML_document_directory} [-P repository_password] {-O output_txt_file_name |
-C output_csv_file_name | -X output_xml_file_name} [-8] [-F fixed_rpd_name] [-S] [-B]

説明:

repository_nameは、妥当性チェックの対象とするバイナリRPDファイルの名前とパスです。

input_file_pathnameは、妥当性チェックの対象とするXML入力ファイルの名前とパスです。

MDS_XML_document_directoryは、入力されたMDS XMLドキュメントの場所です。

repository_passwordは、妥当性チェックの対象とするリポジトリのパスワードです。

repository_password引数はオプションです。パスワード引数を指定しなかった場合、コマンドの実行時にパスワードを入力するように求められます。セキュリティ違反のリスクを最小限に抑えるために、コマンド・ラインまたはスクリプトではパスワード引数を指定しないことをお薦めします。パスワード引数は下位互換性のみを目的としてサポートされており、将来のリリースでは削除される予定です。スクリプトのために、パスワードを標準入力によって渡すことができます。

output_txt_file_nameは、妥当性チェック結果を記録するテキスト・ファイルの名前とパスです。

output_csv_file_nameは、妥当性チェック結果を記録するcsvファイルの名前とパスです。

output_xml_file_nameは、妥当性チェック結果を記録するXMLファイルの名前とパスです。

MDS XMLドキュメントを実行することを指定するには、-Mを指定します。-Dを指定する場合は、-M引数は必要ありません。すべてのオブジェクト定義を含む単一のMDS XMLファイルがある場合は、-Mを指定するだけで済みます。

-8は、出力ファイルのエンコードがUTF-8であることを指定します。

-Fを指定すると、一部の内部検証エラーに対する自動修正を含んだ新規バージョンのリポジトリがRPD形式で作成されます。fixed_rpd_nameは、修正を保存するバイナリRPDファイルの名前とパスです。

-Sを指定すると、サーバー・エラーとナビゲーション・スペースのみがチェックされます。

-Bを指定すると、ビジネス・モデルの可用性のチェックがスキップされます。

例

次の例では、repository.rpdというリポジトリの検証情報を収めたresults.txtという出力ファイルが生成されて、fixed_repository.rpdの修正バージョンが保存されます。

validaterpd -R repository.rpd -O results.txt -F fixed_repository.rpd
Give password: my_rpd_password

次の例では、C:\MDS_dirに置かれているMDS XMLドキュメント内のリポジトリの検証情報を収めたresults.csvという出力ファイルが生成されます。

validaterpd -D C:\MDS_dir -C results.csv
Give password: my_rpd_password

注意:
完全パス名をリポジトリ・ファイル(入力ファイルと出力ファイルの両方)に入力にしてください(これらが異なるディレクトリにある場合)。

一般的な整合性チェック・メッセージ

表2-10は、一般的に表示されるいくつかの整合性チェックの警告とエラーに関する情報を示しています。表2-10は、一部のリストのみを示しており、表示される可能性があるすべての警告とエラーを示しているのではありません。

表2-10 一般的な整合性チェック・メッセージ

検証ルールの例

タイプ

説明

[14031] 論理表FACT_TABLE_NAMEのソースの索引フィルタは、複数のディメンションを参照します。

エラー

特定の論理表に複数のディメンションを参照するWHERE句フィルタを含む論理表ソースがあります。複数のディメンションを含むWHERE句は無効です。

[38126] 'Logical Table' '"Technology - WFA"."Fact WFA WO "'の名前の先頭または末尾にスペースがあります。

エラー

オブジェクト名の先頭または末尾にスペースがあります。

リポジトリ・オブジェクト名の先頭または末尾をスペースにすることはできなくなりました。オブジェクト名の先頭または末尾にスペースがあると、問合せまたはレポートで問題が発生する場合があります。

[38012] 論理列DIM_Start_Date.YEAR_QUARTER_NBRには物理データ型のマッピングがなく、派生列でもありません。

[38001] 論理列DIM_Start_Date.YEAR_QUARTER_NBRに物理データ・ソースのマッピングが含まれていません。

エラー

いずれの論理表ソースにもマップされていない論理列は、論理表ソース・マッピングが無効であり問合せの失敗の原因となるため、整合性エラーとしてレポートされます。

両方の特定の検証ルールは、同じ問題に関連しています。

[39062] レポート問合せに使用されている接続プール'"My_DB".

"My_CP"'が初期化ブロック'Authorization'で使用されています。これは問合せのパフォーマンスに影響する場合があります。

警告

同じ接続プールが問合せと初期化ブロックの両方に使用されていることを示しています。この構成はお薦めしません。そのかわりに、初期化ブロックに専用の接続プールを作成します。そうしないと、問合せのパフォーマンスが低下したり、認証の初期化ブロックを実行できずにユーザー・ログインがハングする可能性があります。

[39028] データベース'MyDB'の機能がデフォルトと一致しません。この結果、問合せ問題が発生する可能性があります。

警告

一部のデータベース機能のデフォルトは、Oracle BI EEのこのリリースで変更されました。機能セットに特定のカスタマイズがなければ、データベース機能を新しいデフォルトにリセットすることをお薦めします。

[39003] 列DIM_Offer_End_Date.CREATE_DTの機能依存結合が見つかりません。

警告

この警告は、特定の列が無効な論理表ソースにマップされていることを示しています。デフォルトの動作が不適切な場合、警告によってこの問題についてリポジトリ開発者に注意しています。

[39059] 論理ディメンション表MY_DIMのレベルDailyに、上位レベルのファクト・ソースMY_FACT_SUM.MTHLY_SUMと結合するソースMY_DIM_DAILYがあります

警告

このファクト論理表ソースにこのディメンションで設定された集計のマス目がありますが、このディメンションの論理表ソースに接続する結合が見つかりませんでした(または潜在的に不正な結合が見つかりました)。

これは、結合が存在しないか、存在しているが高レベルのファクト・ソースと低レベル次元ソースを接続しているため、潜在的に不正であることを意味します。このような結合は、実行すると問合せの回答でダブル・カウントが発生する可能性があるため、潜在的に不正になります。

たとえば、「Select year, yearlySales」という問合せについて考えます。monthTable表とyearlySales表との間にyearIdでの結合が存在していても、この結合により結果が12の倍数(各年の月数)に増加するため、これを使用しないでください。

アップグレード後に39059警告が発生したら、結合が仕様どおりに機能しているか、および結果が不正にダブル・カウントされていないかどうかを確認します。結合が仕様どおりであれば、39059警告は無視してください。

[39055] ファクト表"HR"."FACT - HC Budget"は論理ディメンション"HR"."DIM - HR EmployeeDim"の表と結合していません。これにより、プロジェクトの抽出時に問題が発生します。

警告

この警告は、特定のファクトとディメンション・ソースの間に物理結合があるものの、ファクト表とディメンション表の間に相応の論理結合がないことを示しています。

[39054] ファクト表"Sales - STAR"."Fact - STAR Statistics"は論理ディメンション表"Sales - STAR"."Dim - Plan"と結合していません。これにより、プロジェクトの抽出時に問題が発生します。

警告

この警告は、ファクト表の論理表ソースの集計コンテンツ・フィルタ「Group by Level」が、そのファクト表に結合されていない論理ディメンション表を参照していることを意味します。ファクト表がextract/MUDプロセスで抽出されない場合、結合されていないディメンションは抽出されません。その場合、抽出される論理表ソースの集計コンテンツは、元の論理表ソースと同じにはなりません。

[39057] 論理表ソース""HR"."Dim - Schedule"."SCH_DEFN""には、列マッピングまたは式で使用されていない物理表がマップされています。

警告

この警告は、特定の論理表ソースにマッピングで使用されていない無関係の表が追加されていることを示しています。この状況でエラーが発生することはありません。

3 マルチユーザー開発環境の設定と使用

この章では、プロジェクトの定義、マルチユーザー開発ディレクトリの設定、プロジェクトのチェックアウトとプロジェクトに対する変更の公開、メタデータのマージなど、Oracle Business Intelligenceでマルチユーザー開発環境を設定および使用する方法について説明します。

マルチユーザー開発(MUD)によって、重複するコード・ベースに基づく同時開発のメカニズムが提供されます。Oracle Business Intelligenceでは、リポジトリ開発の組込みバージョニング・システムが用意されているため、複数のユーザーに加えて、メタデータのサブセットを管理するMUD環境が実現します。

次の資料も参照してください。

- マルチユーザー開発環境での作業の詳細は、「マルチユーザー開発環境のリポジトリ・ライフサイクルの管理」を参照してください。

- MDS XML形式でのリポジトリの保存および管理ツールとサード・パーティのソース・コントロール管理システムとの統合の詳細は、第4章「リポジトリ開発のためのソース・コントロール管理システムの使用方法」を参照してください。

この章には次のトピックが含まれます:

- マルチユーザー開発環境について

- プロジェクトの設定

- マルチユーザー開発ディレクトリの設定

- マルチユーザー開発環境における変更

- マルチユーザー開発リポジトリ・プロジェクトへの変更の公開

- マルチユーザー開発におけるブランチ化

- マルチユーザー開発の履歴の表示と削除

- マルチユーザー開発オプションの設定

マルチユーザー開発環境について

Oracle Business Intelligenceでは、マルチユーザー開発によって、エンタープライズ規模のデプロイメントにおけるアプリケーション・メタデータの開発が容易になります。アプリケーション・メタデータは、一元化されたメタデータ・リポジトリ(RPD)ファイルに保存されます。これらのリポジトリの操作には、管理ツールを使用します。MDS XML形式のリポジトリでは、マルチユーザー開発環境を使用しません。

マルチユーザー開発環境を使用する状況の例を次に示します。

- 複数の開発者がメタデータのサブセットで同時に作業し、他の開発者と作業が競合することなく、それらのサブセットをマスター・リポジトリにマージして戻します。たとえば、会社でデータ・ウェアハウスの実装を行った後、管理者は他の機能領域にOracle Business Intelligenceをデプロイできます。

注意:
この章では、「マスター・リポジトリ」はマルチユーザー開発ディレクトリ内のリポジトリのコピーを表します。

- 1人の開発者がすべての開発を管理します。簡易性とパフォーマンスを確保するため、その管理者はマルチユーザー開発環境を使用して、大きいリポジトリのかわりに、より小さい塊でメタデータ・コードを管理できます。

どちらの例でも、管理者は管理ツールでリポジトリ・ファイル内にプロジェクトを作成し、そのリポジトリ・ファイルを共有ネットワーク・ディレクトリ(マルチユーザー開発ディレクトリと呼ばれます)にコピーします。開発者は、プロジェクトをチェックアウトし、変更を加えて、変更内容をマスター・リポジトリにマージできます。開発者が管理ツールを使用してプロジェクトをチェックアウトすると、バックグラウンドでファイルが自動的にコピーされ、上書きされます。そのため、管理者は設定作業を行うことが重要であるとともに、開発者は、表示される管理ツールのメッセージに注意して、チェックアウトとマージおよび公開の手順を慎重に実行することが重要です。

開発者がプロジェクトをチェックアウトしても、リポジトリ・ファイルが自動的にコピーまたは上書きされることはありません。かわりに、プロジェクトのチェックアウト時に、管理ツールによって2つのファイルが新しく作成されます。一方のファイルには元のプロジェクト・データが格納され、もう一方のファイルにはプロジェクトの変更内容が格納されます。

たとえば、リポジトリ開発者がC:\マルチユーザー開発ディレクトリのmaster.rpdからプロジェクトAをチェックアウトした場合、管理ツールによって、プロジェクトAに関連するすべてのメタデータが抽出され、開発者は新しいファイル名を指定してデータを保存するように要求されます。開発者が新しいファイル名(例: Mychanges.rpd)を選択すると、次の2つのファイルが新しく作成されます。

- 開発者が加えた変更が格納されるMyChanges.rpdというファイル

- 元のプロジェクト・データが格納されているoriginalMyChanges.rpdというファイル

originalMyChanges.rpdファイルでは、開発者がMychanges.rpdで行った変更を確認できます。この情報は、マルチユーザー開発のマージ・プロセスで必要です。

注意:
ストレージ要件を軽減するために、Oracle Business Intelligence Enterprise Edition 11g リリース1 (11.1.1)のリポジトリは圧縮形式で保存されます。そのため、このリリースでは、開いているRPDファイルや保存したRPDファイルのサイズが、以前のリリースのRPDファイルと比べて大幅に小さくなっています。

マルチユーザー開発プロセスについて

マルチユーザー開発は、カスタマの技術上およびビジネス上の目的を明確に理解していることが前提条件となります。また、一貫性のあるマージおよび調整の実施など、明確に定義された開発プロセスに従い、それらのプロセスに厳密に準拠する必要があります。

次の手順では、マルチユーザー開発環境をデプロイする際の一般的な手順について説明します。通常、最初の3つの手順は管理者が実行し、残りの手順は1人以上の開発者が実行します。

マルチユーザー開発環境をデプロイするには:

1. プロジェクトを定義して、大量のメタデータを管理可能なコンポーネントに編成します。詳細は、「プロジェクトの作成」を参照してください。次のヒントを考慮してください。

- より小さいRPDを使用して、開発作業とユニット・テストを簡素化し、それに要する時間を短縮します。

- 開発リソースをプロジェクト別に編成して、ワークロードを分散し、不整合と上書きを減らします。

2. マルチユーザー開発ディレクトリとして使用する共有ネットワーク・ディレクトリを設定します。

3. マスター・リポジトリをマルチユーザー開発ディレクトリにコピーします。

4. ローカル開発のために1つ以上のプロジェクトまたはリポジトリ全体を抽出します。

5. リポジトリ・オブジェクトをマージし、競合を解決します。

- 多くの場合、メタデータ・オブジェクトは相関性が高いため、複数の開発者が同じオブジェクトで作業している可能性があります。

- 通常のサブセットのリフレッシュを実行して、自分のローカルの変更を、マスターの最新バージョンとマージできます。マージ・プロセス中に構成の競合が発生した場合、開発者は修正プロセスを実行するように求められます。

6. 変更内容をネットワークに公開します。

- 最終的なサブセットのリフレッシュ(マージ)は、公開手順中に実行されます。多数の開発者が同じオブジェクトで同時に作業できますが、一度に公開できるのは1人だけです。公開手順中は、リポジトリはロックされます。

7. ロギングおよびバックアップ機能を使用して、誤った構成や不適切な構成のポイントを特定します。

- ログ・ファイルでは、マルチ開発アクティビティがコメントとともに追跡されます。

- マスター・リポジトリと開発者リポジトリは、その後の参考のために、また手動ロールバックで使用できるように、自動的にバックアップされます。

プロジェクトの設定

プロジェクトを使用すると、メタデータを集中管理できます。プロジェクトは、関連するメタデータを持つ論理スターのグループとして、個別に定義されたリポジトリ・メタデータのサブセットで構成されます。プロジェクトの特性は次のとおりです。

- 該当するビジネス・モデルの論理ファクト表によって大部分が定義されます。

- 抽出時に、関連する論理ディメンション表およびその他のメタデータを追加します。

- 1対多の論理ファクト表を含む場合があります。

初期のプロジェクトについては、必要な物理表および結合の定義をすべて含むリポジトリで開始することをお薦めします。このリポジトリに、ビジネス・モデルとマッピング・レイヤーのプレースホルダとして論理ファクト表を作成し、プレゼンテーション・レイヤーのプレースホルダとしてサブジェクト・エリアを作成します。ビジネス・モデルとサブジェクト・エリアのメタデータを追加すると、個々のサブジェクト・エリアおよび論理ファクトに基づくプロジェクトを新しく作成できます。

プロジェクトを設定するときは、次のガイドラインに従います。

- マスター・リポジトリにプロジェクトを作成できるのは、一度に1人だけです。

- プロジェクトは、アクティブな開発の対象でなくなった場合以外は削除しないでください。

- プロジェクトを作成するときは、プロジェクト名を慎重に選択します。プロジェクトの名前は変更しないでください。

- プロジェクトからオブジェクトを削除するときは慎重に行い、リポジトリの抽出またはチェックアウトで問題が発生しないようにしてください。

この項には次のトピックが含まれます:

- プロジェクトについて

- プロジェクトの作成

- リポジトリ・アップグレード時の古いプロジェクトの変換について

プロジェクトについて

プロジェクトは、プレゼンテーション・レイヤーのサブジェクト・エリアおよび関連するビジネス・モデルの論理ファクト、ディメンション、グループ、ユーザー、変数および初期化ブロックで構成できます。管理者は、複数の開発者や開発者のグループが担当分野のプロジェクトで作業できるようにプロジェクトを作成できます。

プロジェクトを作成する主な理由は、マルチユーザー開発をサポートすることです。開発プロセスでは、各プロジェクト・グループがメタデータの異なる部分にアクセスできるようにメタデータをプロジェクトに抽出することによって、社内の異なるチーム間で作業(メタデータ)を分割できます。

マルチユーザー開発に加えて、ライセンス上の理由からプロジェクトを作成することもあります。新しいソフトウェア・バージョンをリリースする前に、ライセンスされたアプリケーションに関連するメタデータのみをプロジェクトに抽出し、すべての整合性と完全性が確保されるようにすることができます。そのためには、アプリケーションに関連するファクト表のみを追加します。

プロジェクトの抽出は、ファクト表を中心とします。これによって、プロジェクトの抽出の一貫性が確保され、ライセンスの管理がはるかに容易になります。

「プロジェクト」ダイアログについて

「プロジェクト」ダイアログでは、プロジェクトの作成に使用できるオブジェクトが左ペインに表示されます。右ペインのオブジェクトはすべて、(直接的または間接的に)選択したオブジェクトで、それぞれの追加の一貫性を確保する完全なデータ・セットを表します。たとえば、左側のツリーの最上位ノードからサブジェクト・エリアを選択してプロジェクトに追加した場合、必要に応じて、他のサブジェクト・エリアの基礎となるファクト表が自動的に追加され、抽出の一貫性が確保されます。

次に、「プロジェクト」ダイアログの左ペインについて説明します。

- ビジネス・モデルまたはサブジェクト・エリア別にファクト表をグループ化できるため、必要なファクト表を容易に選択できます。通常は、特定のサブジェクト・エリアで使用されるファクト表に従ってグループ化する方が、プロジェクトのファクト表を選択する際に便利です。ファクト表は複数のサブジェクト・エリアと関連付けられている場合がありますが、1つのビジネス・モデルのみに属します。
サブジェクト・エリア別にファクトをグループ化すると、最上位ノードからサブジェクト・エリアを追加できるように見えますが、実際には、基礎となるファクト表のみが追加されます。サブジェクト・エリアは、プロジェクトに必要な要素を追加しやすくするために選択肢としてのみ表示されます。さらに、抽出の一貫性を確保するために必要な他のオブジェクトも追加されます。実際のサブジェクト・エリアを追加するには、ツリーの下部にある「プレゼンテーション」ノードを使用します。

- ビジネス・モデル別にグループ化した場合、ビジネス・モデルに属するファクトのみが左ペインに表示されます。

- 「プレゼンテーション」ノードには、プレゼンテーション・レイヤー・オブジェクトが表示されます。これらのオブジェクトを操作するには、明示的にプロジェクトに追加する必要があります。自動的には追加されません。
ファクト表に関連しないプレゼンテーション・オブジェクトをプロジェクトに追加した場合、「OK」をクリックすると、警告が表示されます。整合性チェッカでもその不一致が通知されます。

「プロジェクト」ダイアログの右ペインには、ファクト表(「ビジネス・モデル」フォルダ内)、プレゼンテーション・レイヤー・オブジェクト(「プレゼンテーション」フォルダ内)、ユーザー、アプリケーション・ロール、変数および初期化ブロックなど、抽出するように選択したオブジェクトが表示されます。「OK」をクリックすると、それらのオブジェクトが抽出されます。

図3-1に、「プロジェクト」ダイアログを示します。

図3-1 ファクト表がビジネス・モデル別にグループ化された「プロジェクト」ダイアログ

プロジェクトの作成

プロジェクトを作成するときは、通常、サブジェクト・エリアとその選択したサブジェクト・エリアに関連する論理ファクト表のサブセットを選択します。その後、管理ツールによって関連するビジネス・モデルおよび物理レイヤー・オブジェクトが自動的に追加されます。1つのオブジェクトを複数のプロジェクトの一部にできます。かわりに、ビジネス・モデル別にファクトをグループ化することを選択する場合は、特定のビジネス・モデル、または1つのビジネス・モデルの一部である論理ファクト表のセットを選択できます。また、プレゼンテーション・レイヤー・オブジェクトをプロジェクトの一部にする場合は、それらを明示的に追加する必要があります。

プロジェクト定義自体には物理レイヤー・オブジェクトは含まれませんが、プロジェクト定義によってこれらのオブジェクトが抽出および特定されます。

作成されたプロジェクトはメタデータの一部となり、同じマスター・リポジトリで開発作業を実行する必要がある複数の開発者が利用できます。そのように定義されていれば、開発者がプロジェクトをチェックアウトし、新しいリポジトリ・ファイルとして保存した後、プロジェクトは通常、一貫性のあるリポジトリとなります。

マルチユーザー開発環境のプロジェクトを作成するには:

1. 管理ツールで、「ファイル」→「開く」→「オフライン」を選択します。

2. 「開く」ダイアログで、マルチユーザー開発で使用できるようにするリポジトリを選択し、「OK」をクリックします。リポジトリ・パスワードを指定し、「OK」をもう一度クリックします。

3. 「管理」を選択し、「プロジェクト」を選択します。

4. 「プロジェクト・マネージャ」ダイアログの右ペインで右クリックし、「新規プロジェクト」を選択します。
左ペインには、プロジェクトに追加できるオブジェクトが表示されます。右ペインには、プロジェクトの一部として選択したオブジェクトが表示されます。

5. 「プロジェクト」ダイアログで、プロジェクトの名前を入力します。

6. ファクトをビジネス・モデル別にグループ化するか、サブジェクト・エリア別にグループ化するかを選択します。通常は、サブジェクト・エリア別にファクトをグループ化する方が便利です。

7. 次の1つ以上の手順を実行して、ファクト表をプロジェクトに追加します。

- 左ペインで、サブジェクト・エリアまたはビジネス・モデルを選択し、「追加」をクリックします。関連するすべての論理ファクト表が自動的に追加されます。

- 左ペインで、サブジェクト・エリアまたはビジネス・モデルを開き、サブジェクト・エリアに関連する論理ファクト表またはビジネス・モデル内の論理ファクト表を1つ以上選択して、「追加」をクリックします。
プロジェクトは、選択した論理ファクト表を明示的に含み、選択した論理ファクト表に結合されているすべての論理ディメンション表を暗黙的に含む(右ペインに表示されていなくても含まれます)ように定義されます。

左ペインと右ペインに表示されるオブジェクトの詳細は、「「プロジェクト」ダイアログについて」を参照してください。

8. プロジェクトからファクト表を削除するには、右ペインでファクト表を選択し、「削除」をクリックします。また、サブジェクト・エリアまたはビジネス・モデルに関連するすべてのファクト表を削除するには、サブジェクト・エリアまたはビジネス・モデルを選択し、「削除」をクリックします。

9. オプションで、プロジェクトに必要なアプリケーション・ロール、ユーザー、変数、初期化ブロックまたは参照表を追加します。抽出された他のオブジェクトによって直接参照される変数や初期化ブロックのようなオブジェクトは自動的に追加されますが、参照されないオブジェクトをプロジェクトに追加することもできます。例:

- 認証に初期化ブロックを使用する場合は、必要な初期化ブロックを追加します。

- 他のオブジェクトによってまだ参照されていないものの、今後のリポジトリ開発で使用する可能性があるリポジトリ変数などのオブジェクトを追加します。

- データ・アクセス・セキュリティの設定の一環として、現在使用している、または今後使用するユーザーおよびアプリケーション・ロールを追加します。

ヒント: 各オブジェクト・タイプ(変数など)について最上位ノードを追加した後、右ペインで個々のオブジェクトを選択して削除することをお薦めします。

10. 左のペインからプロジェクトに含めるプレゼンテーション・レイヤー・オブジェクトを選択し、「追加」をクリックします。プロジェクトでこれらのオブジェクトを表示するには、それらを追加する必要があります。自動的に追加されません。
右ペインでオブジェクトをダブルクリックするか、オブジェクトを選択し、「削除」をクリックすることによって、特定のプレゼンテーション表または列をプロジェクト定義から削除することもできます。

注意:
プロジェクトの作成後に必要なサブジェクト・エリアのセットが表示されない場合は、プロジェクトを編集して、必要なサブジェクト・エリアを明示的に追加してください。

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

リポジトリ・アップグレード時の古いプロジェクトの変換について

10.1.3.2より前のバージョンのOracle Business Intelligenceからリポジトリをアップグレードすると、プロジェクト定義がアップグレードされます。アップグレード時には、プロジェクト定義、サブジェクト・エリア、ターゲット・レベル、リスト・カタログおよび既存のファクト表が、次のようにして単純なファクト表へと自動的に変換されます。

- 修飾キーを使用して、ターゲット・レベルに関連するプレゼンテーション列を取得します。

- 修飾キーを使用して、リスト・カタログに関連するプレゼンテーション列を取得します。

- サブジェクト・エリアに関連するプレゼンテーション列を取得します。

- すべてのプレゼンテーション列からすべての論理列を取得します。

- プロジェクト内のファクト表からすべての論理列を取得します。

- すべての論理列からファクト表を取得します。

アップグレード後、プロジェクトには単純なファクト表のみが含まれます。セキュリティ・オブジェクトはすべて、元のまま保持されます。

さらに、11g リリース1 (11.1.1)より前のバージョンのリポジトリ内のプロジェクトは、プレゼンテーション・レイヤー・オブジェクトを明示的に含むようにアップグレードされます。以前のリリースでは、プレゼンテーション・レイヤー・オブジェクトは、プロジェクトに含まれているユーザーの権限に基づいて暗黙的に追加されていました。

マルチユーザー開発ディレクトリの設定

マルチユーザー開発に備えて、管理者は次の作業を実行します。

- マルチユーザー開発専用の共有ネットワーク・ディレクトリを特定または作成します。

- すべてのプロジェクトを作成したら、プロジェクトを作成したリポジトリ・ファイルを、マルチユーザー開発のマスター・リポジトリとして使用するマルチユーザー開発ディレクトリにコピーします。

管理者がマルチユーザー開発ディレクトリを特定し、リポジトリ・ファイルをコピーしたら、開発者は、マルチユーザー開発ディレクトリを指すように管理ツールを設定して、プロジェクトをチェックアウトできるようにする必要があります。

この項には次のトピックが含まれます:

- マルチユーザー開発ディレクトリの特定

- マルチユーザー開発ディレクトリへのマスター・リポジトリのコピー

- マルチユーザー開発ディレクトリへのポインタの設定

マルチユーザー開発ディレクトリの特定

すべてのプロジェクトを定義したら、管理者は、すべての開発者がアクセスできる共有ネットワーク・ディレクトリ(マルチユーザー開発ディレクトリと呼ばれます)を特定または作成し、新しいマスター・リポジトリをその場所にアップロードする必要があります。この共有ネットワーク・ディレクトリは、マルチユーザー開発のみに使用します。このディレクトリには通常、複数の開発者が管理する必要があるリポジトリのコピーが格納されます。マルチユーザー開発ディレクトリはWindowsシステム上にある必要があります。

開発者は、各自のコンピュータで管理ツールを設定する際に、マルチユーザー開発ディレクトリへのポインタを作成します。

注意:
管理者は、マルチユーザー開発専用の共有ネットワーク・ディレクトリを別途設定する必要があります。共有ネットワーク・ディレクトリを指定どおりに設定および使用しなかった場合、重要なリポジトリ・ファイルが誤って上書きされたり、リポジトリ・データが失われる可能性があります。

マルチユーザー開発ディレクトリへのマスター・リポジトリのコピー

マルチユーザー開発ディレクトリを特定したら、管理者はマスター・リポジトリ・ファイルをマルチユーザー開発ディレクトリにコピーする必要があります。このマスター・リポジトリのプロジェクトが開発者によって抽出およびダウンロードされ、変更が加えられた後、それらの変更がマスター・リポジトリにマージされます。

リポジトリをマルチユーザー開発ネットワーク・ディレクトリにコピーしたら、マルチユーザー開発環境の準備が整ったことを開発者に通知してください。

リポジトリの開発を開始した後でも、時折、マスター・リポジトリに手動で変更を加えることが必要になることがあります。これを行う具体的な手順は、「マスターMUDリポジトリの手動更新」を参照してください。

マルチユーザー開発ディレクトリへのポインタの設定

プロジェクトをチェックアウトする前に、マルチユーザー開発環境で作業している開発者は、ネットワーク上のマルチユーザー開発ディレクトリを指すように管理ツールのローカル・コピーを設定する必要があります。開発者がマルチユーザー開発ディレクトリのオブジェクトをチェックアウトおよびチェックインするときは、この場所が管理ツールによって使用されます。

注意:
ポインタが設定されるまで、管理ツールでマルチユーザー・オプションを使用することはできません。

最初、ネットワーク・ディレクトリにはマスター・リポジトリが格納されます。この場所のリポジトリは、他の開発者と共有されます。ネットワーク・ディレクトリにはその後、履歴サブセットやリポジトリ・バージョンなど、マルチユーザー開発の履歴ファイルが追加されます。マルチユーザー開発ディレクトリのファイルは手動で削除しないでください。これらのファイルは重要で、システムで使用されます。

ポインタの設定時に、開発者は「氏名」フィールドに入力することもできます。このフィールドはオプションですが、他の開発者がリポジトリをロックしているユーザーを認識できるように、このフィールドに入力することをお薦めします。

マルチユーザー開発ディレクトリへのポインタを設定するには:

1. 管理ツール・メニューから、「Tools」→「オプション」を選択します。

2. 「オプション」ダイアログで、「マルチユーザー」タブをクリックします。

3. 「マルチユーザー」タブで、「マルチユーザー開発ディレクトリ」にネットワーク・ディレクトリへのフルパスを入力します。
または、「参照」をクリックし、マルチユーザー開発ディレクトリを選択して、「OK」をクリックします。

4. 「氏名」フィールドに氏名を入力し、「OK」をクリックします。

マルチユーザー開発環境における変更

チェックアウト、リフレッシュおよび公開時には、マスター・リポジトリのコピーが開発者のローカル・リポジトリ・ディレクトリ(通常、デフォルトではORACLE_INSTANCE\bifoundation\OracleBIServerComponent\coreapplication_obisn\repository)に一時的にコピーされます。プロジェクトまたはリポジトリ全体をチェックアウトし、ローカル・リポジトリ・ファイルで変更を行ったら、各開発者は変更内容をマスター・リポジトリに公開(マージ)するか、変更内容を破棄できます。

この項には次のトピックが含まれます:

- メタデータの変更とテストについて

- プロジェクトを使用したリポジトリへの変更

- リポジトリ全体への変更

- マルチユーザー開発のメニュー・オプションについて

メタデータの変更とテストについて

標準のリポジトリ・ファイルに加えることができる変更のほとんどは、ローカル・リポジトリ・ファイルでもサポートされています。開発者は、新しい論理列や新しい論理表の追加、表定義や論理表ソースの変更などを行うことができます。開発者は、同一のプロジェクトまたはリポジトリ全体についてローカルで同時に作業をしている場合があります。ただし、Oracle Business Intelligenceでは、これらの変更がマスター・リポジトリに及ぼす可能性がある影響を個々の開発者が理解していることを前提としています。たとえば、開発者がローカル・リポジトリでオブジェクトを削除した場合、ローカルで行った変更が警告メッセージなしにマージされると、その変更がマスター・リポジトリに伝播されます。

メタデータの整合性を確保するために、物理列への論理表ソースのマッピングがない場合を除き、物理列を削除しないでください。このため、マルチユーザー開発環境を使用する場合は、論理列および関連する物理列を同時に削除することはできません。まず、論理列を削除し、マージを実行する必要があります。次に、物理列を削除し、もう一度マージを実行することで、オブジェクトを安全に削除できます。

論理列タイプはMUD開発の途上で変更される場合があり、その結果、予期しない論理列タイプが生成されます。このような場合、管理ツールの「論理列タイプ・ドキュメントの生成」ユーティリティまたはbiservergentypexmlを使用して、論理列とそれに対応するタイプのリストを生成できます。「論理列タイプの比較」utilityを後続のMUDバージョンで使用して、論理列タイプが指定したタイプに合致することを確認します。たとえば、リポジトリ・バージョン20に対して論理列タイプのリストを生成し、論理列タイプの比較ユーティリティを使用してそのリストをリポジトリ・バージョン30と比較することができます。詳細は、「論理列タイプのリストの生成」および「論理列タイプの比較」を参照してください。

物理接続設定に対する変更は、マージおよび公開時にマスター・リポジトリに伝播されません。これにより、開発者は、ローカル・テスト・データ・ソースに設定を適用し、他の開発者に影響を与えることなく自分のモデル変更のユニット・テストを実行できます。

物理接続の設定に加えて、セキュリティ設定、およびデータベース機能表の変更はマルチユーザー開発のマージで保持されず、開発者によるマスター・リポジトリ内のパスワードおよびその他の重要なオブジェクトの上書きが防止されます。

ローカル・リポジトリに変更を行った後、開発者はFusion Middleware Controlを使用してリポジトリをアップロードし、編集済のメタデータをテストします。

注意:
メタデータで指定されたDSNは、開発者のワークステーションに存在する必要があります。

プロジェクトを使用したリポジトリへの変更

次の項では、プロジェクトを使用して、マルチユーザー開発環境内で変更をおこなう方法について説明します。

- リポジトリ・プロジェクトのチェックアウト

- ローカル・プロジェクトの抽出のリフレッシュ

リポジトリ・プロジェクトのチェックアウト

マルチユーザー開発のデフォルト・ディレクトリへのポインタを設定したら、開発者はプロジェクトをチェックアウトし、メタデータを変更して、変更したメタデータをテストできます。「ファイル」→「マルチユーザー」サブメニューで「チェックアウト」オプションを使用できるのは、「オプション」ダイアログの「マルチユーザー」タブでマルチユーザー開発ディレクトリが定義されている場合のみです。

この項には次のトピックが含まれます:

- リポジトリ・プロジェクトのチェックアウトについて

- プロジェクトのチェックアウト

- extractprojectsユーティリティを使用したプロジェクトの抽出

リポジトリ・プロジェクトのチェックアウトについて

チェックアウト時には、管理ツールで次の作業が実行されます。

- 開発者のローカル・リポジトリ・ディレクトリに、マスター・リポジトリの一時コピーが作成されます。

注意:
その名前のリポジトリがこの場所にある場合、開発者は既存のリポジトリの上書きを確認するように求められます。開発者が「はい」をクリックすると、既存のローカル・リポジトリがバックグラウンドで即座に上書きされ、新しいリポジトリが保存された後、一時マスター・リポジトリ・ファイルが自動的に削除されます。

- 開発者のローカル・リポジトリ・ディレクトリに、Metadata1.rpdなど、新しいリポジトリ内の選択したプロジェクトのローカル・コピーが保存されます。開発者がローカル・コピーの名前を指定します。開発者は、このファイルでメタデータを変更します。そのセッションでチェックアウトするたびに、番号が増えます。

- 開発者のローカル・リポジトリ・ディレクトリに、新しいリポジトリの2つ目のローカル・コピーが保存され、接頭辞としてoriginalが追加されます(たとえば、originalMetadata1.rpdのようになります)。

- 開発者が新しいリポジトリ・ファイルを保存すると、チェックアウトは完了です。開発者のローカル・リポジトリ・ディレクトリで、マスター・リポジトリの一時コピーが自動的に削除されます。

注意:
開発者がプロジェクトを選択し、ローカル・リポジトリ・ファイルに保存しても、共有ネットワーク・ドライブ上のマスター・リポジトリ内のプロジェクトはロックされません。そのため、物理的には、他のユーザーが同じプロジェクトで作業することが可能です。プロジェクトがチェックアウトされているかどうかを確認するには、共有ネットワーク・ドライブ上のマルチユーザー開発ディレクトリのログ・ファイルを調べる必要があります。

プロジェクトのチェックアウト

この項では、管理ツールを使用してプロジェクトをチェックアウトする方法について説明します。

プロジェクトをチェックアウトするには:

1. 管理ツール・メニューから、「ファイル」→「マルチユーザー」→「チェックアウト」を選択します。

2. マルチユーザー開発ディレクトリにリポジトリが複数ある場合、「マルチユーザー開発チェックアウト」ダイアログが表示されます。適切なリポジトリを選択し、「OK」をクリックします。

マルチユーザー開発ディレクトリにリポジトリが1つしかない場合、このダイアログは表示されません。

3. 抽出元ダイアログで、リポジトリ・パスワードを入力し、「OK」をクリックします。
リポジトリ内にプロジェクトがない場合はメッセージが表示され、リポジトリは開きません。

4. マスター・リポジトリにプロジェクトが複数ある場合、「参照」ダイアログが表示されます。プロジェクトの抽出に含めるプロジェクトを選択し、「OK」をクリックします。
図3-2に、プロジェクトを選択するための「参照」ダイアログを示します。

図3-2 プロジェクトを選択するための「参照」ダイアログ

マスター・リポジトリにプロジェクトが1つしかない場合、そのプロジェクトが自動的に選択され、「参照」ダイアログは表示されません。

5. 「新規サブセット・リポジトリの作成」ダイアログで、新しいリポジトリの名前(Metadata1.rpdなど)を入力し、「保存」をクリックします。
作業用のプロジェクト抽出リポジトリがローカル・コンピュータに保存されます。指定したとおりの名前のリポジトリがオフライン・モードで開きます。ログ・ファイルも作成されます。

注意:
プロジェクト抽出リポジトリの2つ目のコピーが同じ場所に保存されます。このバージョンの名前は、リポジトリの抽出に割り当てた名前の先頭に「original」という単語が追加されたものになります。元のプロジェクト抽出リポジトリは変更しないでください。このリポジトリは、マルチユーザー開発のマージ・プロセスで、変更内容を元のプロジェクトと比較する場合に使用します。

extractprojectsユーティリティを使用したプロジェクトの抽出

Oracle BIサーバーのユーティリティextractprojectsを使用すると、MUD環境のオーバーヘッドなしで特定のリポジトリからプロジェクトを抽出できます。extractprojectsユーティリティは、WindowsシステムとUNIXシステムの両方で使用できます。extractprojectsは、RPD形式のバイナリ・リポジトリでのみ使用できます。

extractprojectsユーティリティでは、指定したプロジェクトのセットを含むRPDファイルが生成されます。元のリポジトリ・ファイルの保存やMUDディレクトリでのチェックアウトとしての抽出の追跡など、管理ツールを使用してプロジェクトをチェックアウトした場合に実行される他の作業は実行されません。

extractprojectsの実行前に、bi-initを実行して、適切に初期化されたコマンド・プロンプトを起動する必要があります。詳細は、「Oracleインスタンスに初期化したシェル・ウィンドウを起動するためのbi-initの実行」を参照してください。

構文

extractprojectsユーティリティは次のパラメータを取ります。

extractprojects -B base_repository_name -O output_repository_name {-I input_project_name} [-P repository_password] [-L] [-E project_list_file_name]

説明:

base_repository_nameは、プロジェクトの抽出元のリポジトリの名前とパスです。

output_repository_nameは、ユーティリティによって生成されたリポジトリの名前とパスです。

input_project_nameは、抽出するプロジェクトの名前です。複数のプロジェクトを入力できます。必ず、各プロジェクト・エントリの先頭に-Iを付けてください(例: -I project1 -I project2)。プロジェクト名にスペースが含まれる場合は、二重引用符で囲んでください(例: "project 1")。

repository_passwordは、プロジェクトの抽出元のリポジトリのパスワードです。

repository_password引数はオプションです。パスワード引数を指定しなかった場合、コマンドの実行時にパスワードを入力するように求められます。セキュリティ違反のリスクを最小限に抑えるために、コマンド・ラインまたはスクリプトではパスワード引数を指定しないことをお薦めします。パスワード引数は下位互換性のみを目的としてサポートされており、将来のリリースでは削除される予定です。スクリプトのために、パスワードを標準入力によって渡すことができます。

- Lを指定すると、ロギングが有効になります。ロギングを有効にすると、ProjExtr.YYYYMMDD.HHMMSS.xmlという形式のログ・ファイルがOracle BIサーバーのロギング・ディレクトリに作成されます。たとえば、次の場所に作成されます。

ORACLE_INSTANCE/diagnostics/logs/OracleBIServerComponent/coreapplication_obisn/ProjExtr.20100616.082904.xml

-Eはオプションの引数であり、リポジトリに含まれているすべてのプロジェクトのリストをファイルに印刷できます。このオプションの後でproject_list_file_nameを指定して、プロジェクト名を格納するファイル名と場所を指定します。-Eは-Bおよび-Pのみとともに使用され、実際にはプロジェクト抽出を実行しません。

-Uおよび-Fは構文リストに表示されますが、社内使用専用です。

例

次の例では、my_repos.rpdからproject1とproject2が抽出され、extract_repos.rpdというリポジトリが新しく作成されます。

extractprojects -B my_repos.rpd -O extract_repos.rpd -I project1 -I project2
Give password: my_rpd_password

注意:
入力ファイルと出力ファイルが別のディレクトリにある場合は必ず、両方のファイルについて、リポジトリ・ファイルへの完全なパス名を指定してください。

ローカル・プロジェクトの抽出のリフレッシュ

「サブセットのリフレッシュ」オプションを使用して、マスター・リポジトリに行った変更で、ローカル・プロジェクトの抽出をリフレッシュします。このオプションでは、最新の変更もローカル・プロジェクトの抽出とマージされます。このタスクは、開発セッションの最後に最終変更を公開する前に、開発中の段階的な手順として実行します。

ローカル・プロジェクトの抽出を頻繁にリフレッシュすることをお薦めします。それにより、マージ中の競合を段階的に特定し処理できます。一度にマージする変更が多すぎる場合、競合に対して適切なマージの決定をすることが難しくなり、エラーが発生しやすくなります。

リポジトリ全体への変更

マルチユーザー開発環境内でリポジトリへの変更をおこなう場合、推奨される方法はプロジェクトの使用です。同時にリポジトリ全体にアクセスして変更をするYou might encounter situations during which you want to make changes that involve you accessing the entire repository at one time.

プロジェクトに関連付けられていないオブジェクトを含むリポジトリ全体にアクセスする場合、「ファイル」→「マルチユーザー」サブメニューの「RPD全体のチェックアウト」オプションを選択します。複数の開発者が同時にリポジトリ全体にアクセスできます。システム・パフォーマンスが低下することがあるため、この方法は必要な場合にのみ使用してください。特に大きなリポジトリのマージの最中に低下します。

マルチユーザー開発のメニュー・オプションについて

ローカル開発者は変更を加え、変更内容をテストして、リポジトリをローカルに保存した後、「ファイル」→「マルチユーザー」サブメニューから次の作業を実行できます。

- 「元との比較」。抽出された作業用のローカル・リポジトリを、抽出された元のリポジトリと比較します。このオプションを選択すると、「リポジトリの比較」ダイアログが開き、抽出された作業用のリポジトリに対してプロジェクトまたはリポジトリ全体のチェックアウト以降に行ったすべての変更が表示されます。

- 「サブセットのリフレッシュ」。マスター・リポジトリに行った変更でのローカル・プロジェクトの抽出をリフレッシュします。マスターの変更が、ローカルで行った変更とマージされます。
マスター・リポジトリに変更を行った場合、古いプロジェクト抽出ファイル(originalfilename.rpd)が、currentfilename.rpdという新しいプロジェクト抽出ファイルに置き換えられます。

- 「ネットワークに公開」。ローカル・プロジェクトの抽出またはリポジトリ全体に行った変更をマスター・リポジトリに公開します。ロックが取得され、公開手順中はマスター・リポジトリがロックされます。変更を公開すると、自動的に「サブセットのリフレッシュ」操作が実行され、ローカルで行った変更が、マスターの追加の変更とマージされます。その後、マージされた変更がマスター・リポジトリに公開され、ロックが解放され、ローカル・リポジトリが閉じられます。

- 「公開を元に戻す」。公開手順中に必須の整合性チェックが施行され、エラーが発生した場合に使用されます。公開中に整合性チェック・エラーを通知された場合、公開手順の一部としてただちにエラーを修正することを選択できます。このプロセス中はマスター・リポジトリがロックされます。後でマスター上のロックを解放して変更を修正する必要がある場合は、「公開を元に戻す」を選択してロックを解放し、最新のサブセット抽出リポジトリに戻ります。

- 「ローカル変更の破棄」。チェックアウトしてから公開するまでの間であればいつでも、変更を破棄できます。このオプションを選択すると、作業内容を保存せずに、作業中のリポジトリが閉じます。

注意:
このオプションを選択した場合、操作を取り消すことはできません。たとえば、確認ダイアログは表示されません。

マルチユーザー開発リポジトリ・プロジェクトへの変更の公開

ローカル・コンピュータでメタデータを変更し、テストした後、開発者はローカルで行った変更をマルチユーザー開発ディレクトリのマスター・リポジトリに公開する必要があります。

Oracle BIリポジトリの開発プロセスでは、3方向のマージを使用して同時開発を管理します。最初にローカル環境でメタデータのマージが実行され、次にマスター・リポジトリとマージされます。3方向のマージでは、次のリポジトリ特性に基づいてローカルの変更が特定されます。

- マスターRPD

- プロジェクト抽出時のベースラインRPDまたはマスターRPDのスナップショット

- ローカルで開発および変更された現在のRPD

変更は、マージと調整によって管理されます。マージ・プロセスのほとんどは自動で、変更内容は競合しません。競合するメタデータ・ソースがある場合、開発者はそれらを特定して解決できます。

また、管理者は複数のリポジトリの変更内容を手動でマージしたり、特定のMUD環境外の様々なリポジトリからオブジェクトをインポートすることもできます。

変更内容は頻繁にマージしてください。マージ・プロセスは非常に複雑で、多数の変更が加えられている場合はプロセスが困難になることがあります。マージ・プロセスでオブジェクトがどのようにマージされるかの詳細は、付録D「マージ・ルール」を参照してください。

定期的にサブセット・リポジトリをリフレッシュし、競合を早期に特定することをお薦めします。サブセットのリフレッシュによって、サブセットがマスターの最新バージョンと再度マージされ、リポジトリが開いたままになり、公開する準備ができるまで変更を続行できるようになります。

この項には次のトピックが含まれます:

- マルチユーザー開発プロセスについて

- ネットワークへの公開

- 変更の公開時に整合性のあるリポジトリを施行

マルチユーザー開発のマージ・プロセスについて

マージ・プロセスには次のファイルが含まれます。

- オリジナルまたは現在(リフレッシュ済)のいずれかのローカル(サブセット)リポジトリ。ローカル・サブセット・リポジトリは、次のいずれかです。

- サブセットのリフレッシュが実行されていない場合、オリジナルの抽出したままのプロジェクトまたはリポジトリ全体の状態が含まれています。このリポジトリの名前は「original」で始まります(originalDevelopment2.rpdなど)。

- サブセットのリフレッシュを実行済である場合、サブセットのリフレッシュ中に行われた最後のマージ以降のプロジェクトまたはリポジトリ全体の状態が含まれています。このリポジトリの名前は「current」で始まります(currentDevelopment2.rpdなど)。

- 変更済ローカル(サブセット)リポジトリ。開発者によって変更された後の、抽出されたプロジェクトが格納されます。このバージョンは、ローカル・サブセット・リポジトリのオリジナルまたは現在のバージョンと同じ場所に保存されます。

- 最新のマスター・リポジトリ。最新のマスターはローカルにコピーされてマージされ、マージ後にマルチユーザー開発ディレクトリに公開されます。このファイルは、このマージの前に他の開発者によって変更されている場合があります。

マージ中には、管理ツールによって、追加されたオブジェクトがあるかどうかがチェックされ、オブジェクトが見つかった場合は警告メッセージが表示されます。この手順では、次の処理が実行されます。

- 追加されたオブジェクトに関する警告。プロジェクトをチェックアウトする開発者は、そのプロジェクトを変更し、再度チェックインすることができます。削除と変更では、プロジェクトの整合性が維持されます。ただし、オブジェクトを追加した場合は、どのプロジェクトにも属さないオブジェクトがリポジトリに挿入される可能性があります。そのため、プロジェクト関連のすべてのオブジェクトがチェックされ、新しいオブジェクトが見つかった場合は警告メッセージが表示されます。

注意:
新しく作成したメタデータをプロジェクトのその後の抽出バージョンに表示するには、マスター・リポジトリのプロジェクト定義に追加する必要があります。たとえば、開発者がプロジェクトをチェックアウトし、新しいオブジェクトを追加して、チェックインした場合、プロジェクト定義に明示的に追加するまで、新しいオブジェクトはプロジェクトの抽出バージョンに表示されません。手順については、「プロジェクトの作成」を参照してください。

- 関連オブジェクトの集約。警告メッセージでは、親オブジェクトのみが報告されます。メッセージをより便利にするために、管理ツールによってすべてのオブジェクトが集約されます。たとえば、開発者が新しいビジネス・モデルを追加した場合、警告メッセージにはビジネス・モデルのみが含まれ、表、列、ディメンションなどの名前は表示されません。

開発者が変更内容をネットワークに公開すると、次の処理が行われます。

- マルチユーザー開発ディレクトリのマスター・リポジトリが、開発者が加えた変更を含むリポジトリで上書きされます。

- master_repository.lckファイルが削除されます。別の開発者が、変更されたプロジェクトをマスター・リポジトリからチェックアウトする、またはリポジトリ全体をチェックアウトすると、最初の開発者が加えた変更が他の開発者に公開されます。

マルチユーザー開発のマージと標準のリポジトリ・マージの違い

マルチユーザー開発の公開プロセスでは、標準のリポジトリ・マージ・プロセスと同じテクノロジが使用されますが、重要な違いがいくつかあります。たとえば、MUDマージの場合は、開発者によるマスター・リポジトリのパスワードやその他の重要オブジェクトの上書きを防止するため、通常、セキュリティ設定とデータ・ソースの変更を保持しないことが望まれます。このため、セキュリティ設定とデータ・ソース接続の変更は、MUDマージでは保持されません。さらに、挿入(作成されたオブジェクト)が自動的に適用されます。

詳細は、「マルチユーザー開発マージのマージ・ルールと動作」を参照してください。

ネットワークへの公開

公開プロセスが開始されると、管理ツールによって、マルチユーザー開発ディレクトリから開発者のコンピュータ上のローカル・リポジトリ・ディレクトリ(通常はORACLE_INSTANCE\bifoundation\OracleBIServerComponent\coreapplication_obisn\repository)にマスター・リポジトリの現在のバージョンが自動的にコピーされ、ローカル・ディレクトリとマルチユーザー開発ディレクトリのログ・ファイルが更新されます。これが必要なのは、開発者がプロジェクトをチェックアウトした後または最後のサブセットのリフレッシュ以降にマルチユーザー開発ディレクトリのマスター・リポジトリが変更されている可能性があるためです。

マスター・リポジトリにローカルで行った変更を公開する手順は、次のとおりです。

1. 管理ツールで、「ファイル」→「マルチユーザー」→「ネットワークに公開」を選択し、変更内容の保存を確認するメッセージが表示されたら、「はい」をクリックします。

2. 「ロック情報」ダイアログで、「コメント」フィールドに変更内容の説明を入力し、「OK」をクリックします。
図3-3に、「ロック情報」ダイアログを示します。

図3-3 「ロック情報」ダイアログ

3. 競合がある場合は、リポジトリ・マージ・ウィザードが開き、「マージ戦略の定義」画面が表示されます。「デシジョン」リストから「現行」または「変更」を選択して、オブジェクトを含めるか除外するかについてマージの決定を行います。デシジョン表でオブジェクトを選択すると、デシジョン表の下の読取り専用テキスト・ボックスに、現在のリポジトリでそのオブジェクトに加えられた変更に関する説明が表示されます。また、「変更統計の表示」をクリックすると、変更の概要を表示できます。マージの決定が完了したら、「終了」をクリックします。
「マージ戦略の定義」画面の詳細は、「完全なリポジトリ・マージの実行」を参照してください。

競合がなくても、リポジトリ間に違いがないことを意味するわけではありません。変更内容を公開する際に開発者が明示的に行う必要がある決定がないことを意味します。MUDのマージで自動的に解決される競合については、「マルチユーザー開発のマージと標準のリポジトリ・マージの違い」を参照してください。

どちらの場合も、マージされた変更内容の詳細が格納されたCSVファイルがローカル・ディレクトリに作成されます。

4. すべての変更内容を確認したら、「保存」をクリックします。
マルチユーザー開発ディレクトリのマスター・リポジトリが、開発者が加えた変更を含むリポジトリのコピーで上書きされます。

変更の公開時に整合性のあるリポジトリを施行

マルチユーザー開発オプション・ファイルでMandatory Consistency CheckオプションをYesに設定することで、ネットワークへの公開手順中に必須の整合性チェックを強制できます。オプション・ファイルの詳細は、「マルチユーザー開発オプションの設定」を参照してください。

このオプションをYesに設定すると、整合性チェッカが公開プロセスの一部として実行されます。指定したリポジトリにエラーがある場合、公開を続行することはできません。

整合性エラーが発生した場合は、メッセージが表示されます。次のいずれかのオプションを選択します。

- はい: 整合性チェック・エラーをただちに修正するにはこのオプションを選択します。このプロセス中はマスター・リポジトリがロックされたままになります。
このオプションを選択してから気持ちが変わった場合(マスターのロックを解除する必要がある場合や変更の修正が予想以上に複雑である場合など)は、「ファイル」→「マルチユーザー」→「公開を元に戻す」を選択します。このオプションで、マスター・リポジトリのロックが解除され、現在マージされているマスター・リポジトリから抽出したままの最新のサブセット・リポジトリに戻ります。

- いいえ: 公開手順を取り消し、整合性チェック・エラーを後で修正するには、このオプションを選択します。マスター・リポジトリはロック解除され、最新のサブセット抽出リポジトリに戻ります。

マルチユーザー開発におけるブランチ化

ブランチ化は、開発のマージ・プロセスをさらに向上させる手段です。ブランチ化によって、重複するリリースがある大規模な管理チームの効率を高めることができます。ただし、管理オーバーヘッドは増大します。

この項には次のトピックが含まれます:

- ブランチ化について

- Oracle Business Intelligenceでのマルチチーム、マルチリリース・モデルの使用

- RPDブランチの同期

ブランチ化について

ブランチ化では、開発者は、他の開発者からコードを分離するためにプライベート・ブランチで作業し、変更内容をメイン・ブランチにマージして戻します。開発チームの規模に応じて、様々な戦略を使用できます。

簡易開発モデルでは、すべての開発が1つのメイン・ブランチで行われます。この戦略の特性は次のとおりです。

- 緊急の修正のみに対応します。

- チェックアウトが最新のコードでない可能性があります。

- メインライン・ブランチの安定性のリスクが伴います。

図3-4に簡易開発モデルを示します。

図3-4 簡易開発モデル

小規模チーム開発モデルでは、1つのDevブランチで開発が行われ、リリース専用のMainブランチが別にあります。この戦略の特性は次のとおりです。

- メインラインは正式なリリース・ブランチです。

- 独立したブランチで開発が行われます。

- 主要マイルストーンで、安定したコードがMainにマージされます。

- ブランチが定期的に同期されます。

図3-5に小規模チーム開発モデルを示します。

図3-5 小規模チーム開発モデル

マルチチーム、マルチリリース・モデルでは、複数のDevブランチで開発が行われ、この場合もリリース専用のMainブランチが別にあります。この戦略の特性は次のとおりです。

- 多様なチームにおける効率化をサポートします。

- 独立したブランチで開発が行われます。

- 主要マイルストーンで、安定したコードがMainにマージされます。

- ブランチが定期的に同期されます。

図3-6に、マルチチーム、マルチリリース・モデルを示します。

図3-6 マルチチーム、マルチリリース・モデル

Oracle Business Intelligenceでのマルチチーム、マルチリリース・モデルの使用

Oracle Business Intelligenceで複雑なブランチ化戦略を使用するには、リポジトリ・ファイルを慎重に編成するとともに、管理ツールでマルチユーザー設定を変更する必要があります。次に、必要な手順の概要を説明します。

マルチチーム、マルチリリース・モデルのブランチ化戦略を使用するには:

1. Mainリポジトリ(マスター・リポジトリ)を作成し、Masterマルチユーザー開発ディレクトリに保存します。

- プロジェクトを明示的に定義する必要があります。

- ブランチ開発者にはMasterディレクトリへのアクセス権を付与しないでください。

2. Mainからブランチ・リポジトリのサブセットを抽出し、Team1およびTeam2マルチユーザー開発ディレクトリとして保存することによって、ブランチ・リポジトリのサブセットを作成します。Main RPDとTeam RPDは、ネットワーク上の別個のディレクトリに保存し、保護する必要があります。

3. 開発者は、個々のTeam RPDからチェックアウト、開発、マージおよび公開を行う必要があります。開発者A1 - A3およびB1 - B3は各自のメタデータ作業を管理し、個々のTeamリポジトリにマージする必要があります。

- チーム1および2は独自のリポジトリを管理し、MainブランチからTeamブランチに定期的に同期する必要があります。

- TeamリポジトリをMainリポジトリにマージし、公開する必要があります。

4. 特定の1つのグループ(リリース管理など)がすべてのプロジェクト定義を管理し、Team RPDからMainへのマージ、公開および同期を実行する必要があります。

RPDブランチの同期

大規模な開発チームについては、最終的なTeamの公開手順を容易にするために、Mainが変更されたときに、定期的なブランチの同期を実行することをお薦めします。管理ツールを使用して、3方向のマージでリポジトリを同期してください。

リポジトリ・ブランチを同期するには:

1. Team開発ブランチからすべての変更内容を公開し、管理ツールでRPDを開きます。これは現行リポジトリです。

2. Mainから新しいBranchサブセットを抽出します。これは変更済リポジトリです。

3. 管理ツールで、「ファイル」を選択し、「マージ」を選択して、前のBranchサブセットのバックアップを参照します。これはオリジナル・リポジトリです。

4. 問題点をすべて解決し、マージを実行します。
「マージ済リポジトリに名前を付けて保存」フィールドで名前を指定したRPDが新しいブランチ開発RPDとなり、その後の同期ではオリジナルと呼ばれます。

マルチユーザー開発の履歴の表示と削除

マルチユーザー開発リポジトリの開発履歴を表示および削除できます。

この項には次のトピックが含まれます:

- マルチユーザー開発履歴の表示

- マルチユーザー開発履歴の削除

マルチユーザー開発履歴の表示

マルチユーザー開発リポジトリの開発履歴を表示できます。管理ツールでマルチユーザー開発履歴を使用できるのは、リポジトリが開いておらず、管理者が共有ネットワーク・ディレクトリを設定している場合のみです。これによって、開いている関連しないリポジトリと一致しない履歴ログをユーザーが開いた場合に生じる可能性がある混乱が回避されます。

マルチユーザー開発履歴を表示するには:

1. 管理ツールを開きます。

2. リポジトリを開かずに、「ファイル」→「マルチユーザー」→「履歴」を選択します。

3. 「マルチユーザー開発履歴」ダイアログで、リポジトリを選択します。
マルチユーザー開発ディレクトリ内のすべてのマスター・リポジトリのリストが表示されます。ディレクトリにマスター・リポジトリが1つしかない場合、そのリポジトリがデフォルトで選択され、リストは表示されません。

4. オフラインで開くダイアログで、リポジトリのパスワードを入力します。マルチユーザー履歴ダイアログが表示されます。
図3-7に、マルチユーザー履歴ダイアログを示します。

図3-7 マルチユーザー履歴ダイアログ

5. マルチユーザー履歴ダイアログで、行を右クリックし、オプションを選択します。表3-1に、マルチユーザー履歴ダイアログのオプションを示します。
ヒント: すべてのリビジョンの詳細を表示するには、行を選択せずに背景を右クリックし、「表示」→「詳細」を選択します。

表3-1 マルチユーザー履歴ダイアログのオプション

アクション

説明

「表示」→「リポジトリ」

リポジトリの選択したマスター・バージョンを読取り専用モードで管理ツールにロードします。

「表示」→「マージする前」→「プロジェクト」

変更済サブセット・リポジトリの選択したバージョンを読取り専用モードで管理ツールにロードします。

「表示」→「競合解決」

選択したバージョンの必要なリポジトリをすべてロードします。また、「マージ」ダイアログが読取り専用モードで開き、そのときに「ローカル変更のマージ」処理で選択したすべての決定が表示されます。競合解決があるバージョンの行をダブルクリックしても、このメニュー項目を選択した場合と同じ処理が実行されます。

注意: このメニュー項目は、競合解決があったバージョンにのみ有効です。

「表示」→「詳細」

選択したバージョンの詳細を含むログを表示します。特定のバージョンが選択されていない場合は、すべてのバージョンの詳細を表示します。

「表示」→「マージする前」→「変更」

選択したバージョンの変更済サブセット・リポジトリを元のサブセット・リポジトリと比較し、選択したバージョンでユーザーが加えたすべての変更を表示します。

「検索」と「再検索」

リストを検索できます。

「すべて選択」

ダイアログに表示されているすべての項目を選択します。

削除

マルチユーザー開発管理者のみが使用できます。

マルチユーザー開発履歴の削除

履歴を削除できるのは、マルチユーザー開発管理者のみです。管理者は、マルチユーザー開発ディレクトリ内の特殊な非表示オプション・ファイルで定義します。詳細は、「マルチユーザー開発オプションの設定」を参照してください。

管理者は、MUD履歴全体を削除することも、最も古い1 - n個のバージョンを削除することもできます。中間の範囲のバージョンを削除することはできません。たとえば、バージョン1とバージョン2がまだある場合、管理者はバージョン3を削除することはできません。管理者がMUD履歴全体を削除した場合、新しく割り当てられるバージョン番号は再びバージョン1から始まります。

開発者がサブセットをチェックアウトした元のMUD履歴バージョンを管理者が削除し、開発者が依然としてそれで作業をしている場合、開発者はMUDディレクトリに公開できなくなります。その結果、すべてのMUD履歴を削除すると、サブセットを現在チェックアウトしている管理者はすべてそれを公開できなくなります。このため、管理者はMUD履歴を消去する前に開発者に通知する必要があります。

マルチユーザー開発オプションの設定

マルチユーザー開発オプション・ファイルを作成して、マルチユーザー開発のオプションを指定できます。オプション・ファイルは、標準のWindows INI形式のテキスト・ファイルです。このファイルの特性は次のとおりです。

- オプション・ファイルは、マルチユーザー開発ディレクトリに格納されている必要があります。このファイルの名前は、対応するマスター・リポジトリと同じですが、.opt拡張子が付きます。たとえば、\\network\MUD\sales.rpdの場合、\\network\MUD\sales.optというオプション・ファイルが作成されます。

- ファイルの「非表示」フラグが有効になっている必要があります。

- 通常、オプション・ファイルはマルチユーザー開発管理者のみが管理する必要があります。そのためには、ファイルの共有権限を変更することをお薦めします。

次に、マルチユーザー開発オプション・ファイルの例を示します。

[Options]
BuildNumber = Yes
Enforce Build Number = 11.1.1.7.0
Enforce MUD Protocol Version Number = 1
Prevent Rpd Upgrade = Yes
Admin = admin1;admin2
Mandatory Consistency Check = Yes
Equalize During Merge = Yes

明示的に設定されないオプションは、デフォルトで無効になっています。オプションを有効にするには、値をYesに設定します。オプションを無効にするには、そのオプションをオプション・ファイルから削除するか、値をNoに設定します。

表3-2に、マルチユーザー開発オプション・ファイルのオプションを示します。

表3-2 マルチユーザー開発オプション・ファイルのオプション

オプション

説明

BuildNumber

Yesに設定すると、管理ツールのビルド・バージョンがMUD履歴に表示されます。

ビルド番号の施行

これを指定すると、指定バージョンの管理ツールと完全に一致するユーザーのみがMUD操作を実行できるようになります。「ヘルプ」メニューを選択し、「バージョン情報」を選択して管理ツールのバージョンを表示します。

このオプションは、「MUDプロトコル・バージョン番号の施行」および「RPDアップグレードの回避」とともに使用できます。

MUD操作に対して管理ツールのバージョン整合性を施行しない場合は、この行を削除します。

MUDプロトコルのバージョン番号の施行

これを指定すると、指定のMUDバージョンと完全に一致するユーザーのみがMUD操作を実行できるようになります。「ヘルプ」メニューを選択し、「バージョン情報」を選択してMUDバージョンを表示します。

このオプションは、「ビルド番号の施行」および「RPDアップグレードの回避」とともに使用できます。

MUD操作に対してMUDのバージョン整合性を施行しない場合は、この行を削除します。

RPDアップグレードの回避

これを指定すると、指定のリポジトリ・バージョンと完全に一致するユーザーのみがMUD操作を実行できるようになります。「ヘルプ」メニューを選択し、「バージョン情報」を選択してリポジトリ・バージョンを表示します。

このオプションは、「ビルド番号の施行」および「MUDプロトコルのバージョン番号」とともに使用できます。

MUD操作に対してリポジトリのバージョン整合性を施行しない場合は、この行を削除します。

Admin

マルチユーザー開発管理者をリストします。管理者がMUD履歴を削除するには、オプション・ファイルで定義されている必要があります。

管理者は、各自のコンピュータ/ネットワーク・ログイン名で定義します。複数の管理者がいる場合は、管理者名をセミコロンで区切ります。たとえば、次のようにします。

Admin=jsmith;mramirez;plafleur

Mandatory Consistency Check

Yesに設定すると、公開手順で整合性チェックが実行されます。指定したリポジトリにエラーがある場合、公開を続行することはできません。

Equalize During Merge

Yesに設定すると、マルチユーザー開発のマージ・プロセスでMUDのマージ中に必須の等化が実行されます。このオプションをYesに設定した場合、マージ・プロセスのパフォーマンスに影響が生じます。

4 リポジトリ開発のためのソース・コントロール管理システムの使用方法

この章では、Oracle BI管理ツールを、Oracle BIリポジトリの開発用のサード・パーティのソース・コントロール管理システムと統合する方法について説明します。

管理ツールは、リポジトリ・メタデータを、単一のバイナリ・リポジトリ・ファイル(RPD)ではなく、MDS XML形式の一連のXMLドキュメントとして保存することで、この統合を実現します。この統合を使用すると、管理ツールを構成して、自身のソース・コントロール管理システムで作業して、そのリポジトリの出力をMDS XMLとして保存できます。

この章には次のトピックが含まれます:

- 管理ツールでのソース・コントロール管理システムの使用方法について

- ソース・コントロール管理の下でのリポジトリ開発のためのシステムのセットアップ

- 日常のリポジトリ開発におけるソース・コントロール管理の使用方法

- MUDでのソース・コントロール管理の使用方法

管理ツールでのソース・コントロール管理システムの使用方法について

リポジトリの開発プロセス中に、管理ツールを、SubversionやRational ClearCaseなどサード・パーティのソース・コントロール管理システムと統合することを選択できます。この機能は、次の統合ポイントを中心としています。

- 一連のMDS XMLドキュメントへのバイナリRPDファイルの変換1つの大きなバイナリ・リポジトリ・ファイルを使用するのではなく、リポジトリをMDS XML形式で保存できます。この形式では、接続プール、物理表、ビジネス・モデルなどの各リポジトリ・オブジェクトは、それ自体のXMLファイルで表されます。それにより、リポジトリを構成する一連のXMLファイルは、ソース・コントロール管理システムで管理できるようになります。

- ソース・コントロール管理(SCM)構成ファイルの設定。管理ツールのSCM構成エディタを使用して、SCMシステムに固有のコマンド(「ファイルの追加」、「削除」、「チェックアウト」など)およびSCMシステムに必要な環境変数を指定できます。

- ソース・コントロール下としてのリポジトリの指定。管理ツールでMDS XMLリポジトリを初めて開いた場合は、このリポジトリがスタンドアロンMDS XMLリポジトリであるか、ソース・コントロール下に置かれているのかを指定するプロンプトが表示されます。管理ツールでこのリポジトリに対してSCM統合を可能にするには「ソース・コントロールの使用」を選択します。

MDS XMLについて

MDS XML形式は、通常、ソース・コントロールの下に置かれているリポジトリに対して使用されます。MDS XMLは、前のリリースでXML形式でOracle BIリポジトリを表すために使用されていたXML形式とは異なります。前のOracle BIサーバーXMLスキーマは、ORACLE_HOME/bifoundation/server/binのxudml1.xsd XMLスキーマ・ファイルに基づいており、1つの大きなXMLファイルでOracle BIリポジトリを表します。対照的に、MDS XMLは、1つのファイルでなく複数のXMLファイルのセットでOracle BIリポジトリを表します。

たとえば、各リポジトリの接続プールは、次のようなXML表現でそれ自体のファイルに格納されます。

<?xml version="1.0" encoding="UTF-8" ?>
<ConnectionPool mdsid="m80ca62c5-0bd5-0000-714b-e31d00000000"
name="SampleApp_Lite_Xml" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://www.oracle.com/obis/repository"
password="94F9321C85340FC48E4D9093AA941FF28844074B88D5AA6364E4815DEED7F9B
8792EF452219C2155DB68F61EE1555B4FA886F77E060E2E17F45AD8D18CAB2E4D3EFA15B75E
30D8B4BFA8C7B2D70552BD" timeout="4294967295" maxConnDiff="10" maxConn="10"
dataSource="VALUEOF(BI_EE_HOME)/sample/SampleAppFiles/Data" type="Default"
reqQualifedTableName="false" isSharedLogin="false"
isConcurrentQueriesInConnection="false" isCloseAfterEveryRequest="true"
xmlRefreshInterval="2147483647" outputType="xml" ignoreFirstLine="false"
bulkInsertBufferSize="0" transactionBoundary="0" xmlaUseSession="false"
multiThreaded="false" supportParams="false" isSiebelJDBSecured="false"
databaseRef="/oracle/bi/server/base/Database/Sample App Lite Data_80ca62c4
-0bcf-0000-714b-e31d00000000.xml#m80ca62c4-0bcf-0000-714b-e31d00000000"
>
<Description>
<![CDATA[
SampleAppLite connection pool to XML datasource. This connection pool points the
database to the location where physical XML files are stored. The location uses
the value of an RPD variable : BI_EE_HOME.
This variable needs to be correctly set in order for the server to connect to the
files.
]]>
</Description>
</ConnectionPool>

SampleAppLiteリポジトリは、次のような構造のMDS XMLファイルを生成します。

管理ツールのリポジトリ・オブジェクトと、XML出力として作成された一連のファイルとの間に、1対1の関係はありません。たとえば、物理列は、管理ツールでは独立したオブジェクトとして表示されますが、MDS XMLでは、それらは物理表オブジェクトの一部とみなされます。

リポジトリ・オブジェクトのMDS XMLスキーマ表現の詳細は、Oracle Fusion Middleware Oracle Business Intelligence Enterprise Edition XMLスキーマ・リファレンスのOracle BIサーバーのMDS XML APIに関する項を参照してください。

ソース・コントロール管理の下でのリポジトリ開発のためのシステムのセットアップ

この項では、SCMシステムに固有のコマンドでSCM構成ファイルを設定する方法と、MDS XMLリポジトリを生成してそれをSCMシステムにチェックインする方法を説明します。

この項には次のトピックが含まれます:

- SCM構成ファイルの作成

- MDS XMLリポジトリの作成とSCMシステムへのファイルのチェックイン

SCM構成ファイルの作成

管理ツールをソース・コントロール管理システムと統合するには、使用している特定のSCMシステムに基づいてXML構成ファイルを作成する必要があります。この構成ファイルには、ファイルの追加、削除、チェックアウトおよび名前変更のためのSCMシステム・コマンドが含まれます。リポジトリ・オブジェクトが作成または更新されるときに、管理ツールによってこれらのコマンドがSCMシステムに発行され、その結果、対応する新しいまたは変更済MDS XMLファイルが作成されます。

注意:
管理ツールによって、変更内容がSCMシステムにコミットされることはありません。リポジトリ開発者は、常にファイルをSCMシステムに直接チェックインする必要があります。このようにして、リポジトリ開発者は、管理ツール環境ではなくSCM環境で競合を表示したり、マージ・デシジョンを指定できます。

SCMシステム用の構成ファイルを作成する手順は、次のとおりです。

1. 管理ツールを開き、「ツール」を選択し、「オプション」を選択します。

2. 「ソース・コントロール」タブを選択します。

3. 「新規」をクリックして、新しい構成ファイルを作成します。「新規構成ファイルの指定」ウィンドウが表示されます。
注意: この手順は、管理ツールで開いているMDS XMLリポジトリがないことを想定しています。MDS XMLリポジトリが開いているときにSCM構成ファイルを作成または編集する場合は、「ソース・コントロールの使用」が選択されており、「新規」または「編集」ボタンが有効になっていることを確認する必要があります。

4. ファイル名を指定して「保存」をクリックします。ファイルには、XMLファイル拡張子が付いている必要があります。

SCM構成ファイルのデフォルトの場所は、ORACLE_INSTANCE/config/OracleBIServerComponent/coreapplication_obisnです。この場所でもテンプレートを使用できますが、このステップ中にテンプレート・ファイルを選択しないでください。かわりに、次のステップでテンプレートをロードできます。

注意:
SCM構成テンプレート・ファイルはscm-conf-ade.template.xmlおよびscm-conf-svn.template.xmlと呼ばれます。示されたORACLE_INSTANCEの場所に加えて、次のOracle Technology Network (OTN)でも入手できます。
http://www.oracle.com/technetwork/middleware/bi-foundation/downloads/obieescmconfigfiles-1568980.zip

5. テンプレート構成ファイルをロードするには、SCM構成エディタで「ロード」をクリックします。次に、テンプレート・ファイル(たとえば、scm-conf-svn.template)を選択し、「開く」をクリックします。
構成ファイル・テンプレート自体を変更する意図がない場合は、「構成エディタで編集」が選択されていないことを確認してください。このオプションが選択されている場合、SCM構成エディタの「構成ファイル」フィールドに表示されているファイル名は、先行ステップで指定したファイル名からテンプレート・ファイル名に変更され、変更内容はデフォルトではそのテンプレート・ファイルに保存されます。

6. SCM構成エディタで、オプションの説明を指定し、「コマンド」サブタブで、使用しているシステム用のコマンドを入力または編集します。長いコマンドの場合、省略記号ボタンをクリックし、「コマンド・エディタ」ウィンドウでコマンドを入力します。
${file}、${filelist}、${from}および${to}トークンを使用して、コマンドを定義します。「ファイルのリスト」オプションを、${filelist}コマンドとともに使用し、動作を設定することもできます。トークンは次のように使用できます。

- ${file}は、一度に1つファイルずつ順番にコマンドを実行する必要があることを指定します。${file}は、「フォルダ追加」および「ファイルの追加」コマンドに必要です。

- ${filelist}の動作は、「ファイルのリスト」が選択されているかどうかに応じて異なります。

- 「ファイルのリスト」を選択しないで${filelist}を使用すると、管理ツールが、指定したコマンド(削除前、削除、チェックアウトなど)に対して、プロセスの起動に対する上限の32K文字まで可能なかぎり多くのファイルをグループ化します。実行は、すべてのファイルが処理されるまで繰り返されます。

- 「ファイルのリスト」を選択して${filelist}を使用すると、管理ツールによって、ファイル・リストを保持する一時ファイルが作成されます。ファイル・リストのフォーマットでは行ごとに1つのファイル名を示します。これは、SCMベンダーで代表的なフォーマットとして使用されています。「ファイルのリスト」は、「削除前」、「削除」、または「チェックアウト」の各コマンドに有効です。この機能によって操作が非常に速くなるため、これをサポートしているSCMシステムでは常に選択するようにしてください。

削除前、削除およびチェックアウトに対しては、${file}または${filelist}のいずれでも使用できます。「ファイルのリスト」は、${filelist}コマンドとともに使用する場合にのみ機能します。

- ${from}と${to}は、「名前の変更」コマンドで元のファイル名および新しいファイル名を指定するために使用されます。
すべてのSCMシステムが、最初からファイルの名前変更操作をサポートしているわけではありません。このような場合、様々なコマンドを連結することで名前変更操作を構築しようと試みるのではなく、「名前の変更」フィールドを空白のままにします。管理ツールで、効率的にこれを実行できます。

注意:
いくつかのSCMシステムには、フォルダを操作するコマンドが含まれていません。このような場合は、「フォルダ追加」を空白のままにします。いつでも必要なときに、管理ツールでフォルダを作成できます。
SCMシステムにフォルダ管理コマンドが組み込まれている場合でも、管理ツールでフォルダは削除されません。必要であれば、SCMシステムで直接フォルダを削除する必要があります。

図4-1は、SCM構成エディタの「コマンド」タブを示しています。

図4-1 SCM構成エディタの「コマンド」タブ

7. 「環境変数」サブタブを選択し、SCMシステムに必要な環境変数を指定します。
環境変数は、オペレーティング・システム変数リストから直接貼り付けるか、クリップボードから貼り付けるか、手動で追加できます。表4-1は、「環境変数」サブタブで環境変数を管理するために使用できるオプションを示しています。

表4-1 SCM構成エディタで環境変数を管理するためのオプション

オプション

説明

環境変数の貼付け

オペレーティング・システムから環境変数を直接貼り付けられるようにします。このオプションをクリックして、ウィンドウを開き、そこでフィルタ基準を入力できます。その後、「OK」をクリックします。すべての環境変数を貼り付けるには、フィルタ・ウィンドウに*を入力します。

クリップボードから貼付け

クリップボードからテキストを直接貼り付けられるようにします。このオプションを使用するには、次の形式でテキストをコピーします。

variable_name1=variable_value1

variable_name2=variable_value2

各環境変数は、それぞれの行に配置する必要があります。

注意: 標準のWindowsコマンドsetは、環境変数に対してこのフォーマットで出力します。

追加

表に行を追加し、手動で環境変数を入力できるようにします。「変数」列に変数名を入力し、「値」列にその定義を入力します。先頭および末尾の空白は切り捨てられます。変数定義で%VAR%を使用すると、前に定義した変数を参照できます。

削除

環境変数表の指定した行を削除します。

セキュリティ・センシティブな環境変数を構成ファイルに格納しないでください。セキュリティ・センシティブな変数がSCMシステムで必要な場合は、セキュリティ・リスクを回避するために、セキュリティ・センシティブな変数がすでに設定されている管理ツールをDOSウィンドウから起動できます。

8. 「環境変数」サブタブで「テスト」をクリックし、「SCM構成のテスト」ウィンドウを開きます。その後、コマンドを入力して、「実行」をクリックし、特定のコマンドをテストします。環境が適切である場合は、コマンドを実行した後に適切な出力が表示されます。

9. 「保存後コメント」サブタブを選択し、管理ツールに変更を保存した後に表示されるテキストを入力します。この機能は、保存後にSCMシステムにファイルを直接チェックインすることを開発者に想起させる手段です。たとえば、保存後コメントは次のようになります。

Files have been synchronized to source control. Remember to check in changes after testing.

10. 「OK」をクリックして構成ファイルを保存するか、テンプレート構成ファイルをロードして変更した場合は「名前を付けて保存」をクリックしてコピーを保存します。

MDS XMLリポジトリの作成とSCMシステムへのファイルのチェックイン

SCMシステムと統合するには、Oracle BIリポジトリをMDS XML形式に変換する必要があります。次のオプションのいずれかを使用して、MDS XMLリポジトリを作成し、それをソース・コントロール・システムにチェックインします。

- 既存のリポジトリ・ファイルをMDS XML形式で保存

- 新しいリポジトリをMDS XML形式で作成

- ソース・コントロール・ファイルにリンクしてリポジトリを変換(小さいリポジトリのみ)

既存のリポジトリ・ファイルをMDS XML形式で保存

既存のリポジトリ・ファイルがある場合、次の手順に従ってそれをMDS XMLに変換します。

既存のリポジトリ・ファイルをMDS XML形式で保存する手順は次のとおりです。

1. 管理ツールで、既存のリポジトリ・ファイル(RPD)をオフライン・モードで開きます。

2. 「ファイル」を選択し、「名前を付けて保存」を選択し、「MDS XMLドキュメント」を選択します。

3. MDS XMLリポジトリ・ファイルのルートの場所を選択し、「OK」をクリックします。

4. ソース・コントロール管理システムで必要な手順を実行し、ファイルを追加してチェックインします。
大部分のSCMシステムに使用可能な一括ファイル・インポート専用のコマンドを使用します。これらのコマンドは、効率的な方法でソース・コントロールにファイルのツリー全体を配信するように最適化されています。たとえば、Subversionでは次のコマンドを使用します。

svn import module_name -m "Initial import"

この項で説明する手順は、初期インポートの推奨方法です。

注意:
biserverxmlgenユーティリティを-Mおよび-Dオプションを指定して使用し、既存のRPDからMDS XMLを生成することもできます。詳細は、『Oracle Fusion Middleware Oracle Business Intelligence Enterprise Edition XMLスキーマ・リファレンス』のコマンドライン・ユーティリティを使用した既存RPDからのMDS XMLの生成に関する項を参照してください。

新しいリポジトリをMDS XML形式で作成

次の手順を使用して、新しいリポジトリをMDS XML形式で作成します。

新しいリポジトリをMDS XML形式で作成する手順は次のとおりです。

1. 管理ツールを開き、「ファイル」を選択し、「新規リポジトリ」を選択して、新規リポジトリの作成ウィザードを開きます。

2. ウィザードで、「MDS XMLドキュメント」オプションを選択します。他のウィザード・ステップを完了します。

3. ソース・コントロール管理システムで必要な手順を実行し、ファイルを追加してチェックインします。大規模なリポジトリの場合、SCMシステム用の一括ファイル・インポート専用のコマンドを使用します。

注意:
新しいMDS XML形式リポジトリを作成して、オブジェクトを追加し、ソース・コントロールへのリンクを選択することはしないでください。この方法は機能せず、SCMコマンドは生成されません。

ソース・コントロール・ファイルにリンクしてリポジトリを変換(小さいリポジトリのみ)

とても小さいリポジトリの場合は、「ソース・コントロール・ファイルへのリンク」メソッドを使用して、バイナリRPDファイルをMDS XML形式に変換できます。

ソース・コントロール・ファイルにリンクしてリポジトリを変換する手順は次のとおりです。

1. SCM構成ファイルを定義済であることを確認します。詳細は、「SCM構成ファイルの作成」を参照してください。

2. MDS XMLリポジトリ用の空のルート・フォルダを作成します。

3. 管理ツールで、既存のRPDファイルをオフライン・モードで開きます。

4. 「ファイル」を選択し、「ソース・コントロール」を選択し、「ソース・コントロール・ファイルへのリンク」を選択します。

5. 作成したルート・フォルダおよび適切なSCM構成ファイルを選択します。
注意: 後で構成ファイルを変更する必要がある場合は、「ツール」→「オプション」→「ソース・コントロール」に移動し、「編集」をクリックして、構成ファイルを変更します。

6. 「保存」をクリックします。MDS XMLリポジトリが作成され、必要なファイルの追加操作がソース・コントロール・システムで実行されます。

7. SCMシステムで変更をコミットします。

注意:
「ソース・コントロール・ファイルへのリンク」メソッドを使用したリポジトリの初期インポートは、リポジトリが非常に小さい場合にのみお薦めします。このメソッドは、大規模なリポジトリ(数万個のファイル)ではとても遅くなります。それは、管理ツールが、一括ファイル・インポート専用コマンドを使用せずに標準のファイルの追加コマンドを使用して一度に1つずつファイルをインポートするためです。
ファイルの追加コマンドを繰り返し起動すると、一時エラーが発生する可能性が高まることがあります。これが発生した場合、すべてのファイルがソース・コントロールに正常にインポートされる前に、数回このプロセスを再起動しなければならないことがあります。

日常のリポジトリ開発におけるソース・コントロール管理の使用方法

この項では、日常のリポジトリ開発中に発生する一般的なシナリオについて説明します。

この項には次のトピックが含まれます:

- ソース・コントロールの下でのリポジトリの更新、保存および変更のチェックイン

- エラーの処理

- ソース・コントロールの下でのリポジトリのテスト

- ソース・コントロール・ログの表示

ソース・コントロールの下でのリポジトリの更新、保存および変更のチェックイン

MDS XMLリポジトリをソース・コントロールの下で設定した後、リポジトリの更新、保存および変更のチェックインを行うには次の手順に従います。

リポジトリの更新、保存、および変更のチェックインを行う手順は次のとおりです。

1. SCMシステムで該当するコマンドを発行することで、ソース・コントロールの下にある作業対象のMDS XMLリポジトリ・ファイルのローカル・コピーを持っていることを確認します。たとえば、Subversionの場合、次の例のテキストに示すようにsvn infoコマンドを発行できます。

C:\myProj\repos>svn info
Path: .
Working Copy Root Path: C:\myProj\repos
URL: file:///C:/SVN/myProj/trunk/sample1
Repository Root: file:///C:/SVN/myProj
Repository UUID: 6b995c92-3ec0-fa4b-9d58-c98e54f41792
Revision: 3
Node Kind: directory
Schedule: normal
Last Changed Author: joe_user
Last Changed Rev: 2
Last Changed Date: 2011-11-19 15:20:42 -0600 (Sat, 19 Nov 2011)

2. 管理ツールで、MDS XMLリポジトリをオフライン・モードで開きます。これを行うには、「ファイル」→「開く」→MDS XMLを選択します。

3. MDS XMLファイルのルート・フォルダの場所を選択し、「OK」をクリックします。

4. 管理ツールでこのMDS XMLリポジトリを初めて開いた場合は、このリポジトリがスタンドアロンMDS XMLリポジトリであるか、ソース・コントロール下に置かれているのかを指定するプロンプトが表示されます。「ソース・コントロールの使用」を選択し、「OK」をクリックします。
この選択は、このリポジトリに対して保存されます。任意のときにこのリポジトリのステータスを表示するには、「ツール」を選択し、「オプション」を選択し、「ソース・コントロール」タブを選択します。

5. リポジトリに変更を加えた後、「ファイル」を選択し、「保存」を選択するか、ツールバーで「保存」をクリックします。管理ツールに変更のリストが表示されます。例:

6. 「はい」をクリックします。管理ツールによって、SCMシステムで必要なコマンドが実行されます。
変更を受け入れると、その後に取り消すことはできません。途中で取り消すと整合性のないリポジトリになります。SCMコマンドが実行されるまで待つ必要があります。

管理ツールがSCMコマンドを発行すると、最適な順序になるようにそれらの並替えが行われる場合があります。

7. SCMシステムに変更を直接チェックインします。

エラーの処理

管理ツールがSCMシステムに変更を配信するときに、ときどき、期限切れラベルやネットワークの問題などのエラーが発生することがあります。エラーが発生した場合は、次の手順を実行します。

エラーを処理する手順は次のとおりです。

1. 管理ツールで、「ファイル」を選択し、「名前を付けて保存」を選択して、リポジトリを一時的な場所にRPD形式またはMDS XML形式で保存します。管理ツールを閉じます。

注意:
バイナリRPDへの保存が、後で再試行するのみでよいネットワーク・エラーなどの一時的な問題に対する最も簡単なオプションです。競合する変更のマージなど問題を修正するためにいくらかの作業が必要な場合は、MDS XMLとして保存する必要があります。

2. 問題を解決するアクションを実行します。たとえば、期限切れラベルをリフレッシュしたり、障害が発生したネットワーク接続をテストおよび表示させます。
期限切れラベルの場合、一時的に保存したMDS XMLリポジトリとリフレッシュ済ラベルのコンテンツをマージすることも必要です。これを行うには、サード・パーティ・マージ・ツールを使用します。

正常にマージ・デシジョンを行えるようにするためのリポジトリ・オブジェクトのMDS XML表現の詳細は、Oracle Fusion Middleware Oracle Business Intelligence Enterprise Edition XMLスキーマ・リファレンスを参照してください。

3. 管理ツールで保存済リポジトリを開きます。

4. 「ファイル」を選択し、「ソース・コントロール」を選択し、「ソース・コントロールへのリンク」を選択します。

5. 「保存」をクリックして、保存済リポジトリからの変更を、ソース・コントロールの下のMDS XMLファイルに保存します。

この手順のステップ4と5により、管理ツールが保存済RPDファイルまたはMDS XMLファイルからメモリー・オブジェクトをロードしたままにしますが、かわりにそれらをソース・コントロールMDS XMLリポジトリに属しているとみなすようになります。「保存」をクリックすると、管理ツールによってそのメモリー・オブジェクトがソース・コントロール・リポジトリに保存されます。

ソース・コントロールの下でのリポジトリのテスト

リポジトリの開発中は、オンライン・モードでテストを実行し、リポジトリを検証する必要があります。Oracle BIリポジトリをRPD形式でOracle BIサーバーにロードした場合にのみ、問合せに使用できるようになります。このため、オンライン・テストを実行する場合は、ときどきデプロイメントMDS XMLリポジトリをRPD形式で保存する必要があります。これを行うには、MDS XMLリポジトリをオフライン・モードで開き、「名前を付けて保存」を選択し、「リポジトリ」を選択します。

リポジトリのアップロードの詳細は、「リポジトリを問合せで使用可能にする」を参照してください。

ソース・コントロール・ログの表示

「ソース・コントロール・ログ」ウィンドウは、管理ツールがSCMシステムに発行するコマンドを表示します。SCM構成エディタの「保存後コメント」タブで指定した保存後テキストがあればそれも表示されます。

デフォルトでは、「ソース・コントロール・ログ」ウィンドウは、SCMコマンドが実行されているときに表示されます。かわりに、「ファイル」を選択し、「ソース・コントロール」を選択し、「ログの表示」を選択して「ソース・コントロール・ログ」ウィンドウを表示できます。

図4-2は「ソース・コントロール・ログ」ウィンドウを示しています。

図4-2 「ソース・コントロール・ログ」ウィンドウ

このダイアログについては、次のオプションを選択できます。

- コマンドの終了時に閉じる: コマンドがエラーを発生させずに完了した場合にログ・ウィンドウが自動的に閉じるようになります。

- エラーが発生したときにダイアログのみ表示: SCMコマンドの実行中は、エラーが発生しないかぎりウィンドウを非表示にします。デフォルトでは、このオプションが選択されていない場合は、「ソース・コントロール・ログ」は、SCMコマンドが実行されているときに自動的に表示されます。

「ソース・コントロール・ログ」に表示されるテキストは、リポジトリを閉じるまで永続します。これは、個別の操作中にダイアログが開いているかどうかに関係なく、すべてのSCMコマンド出力が、ビューに使用できることを意味します。

「ソース・コントロール・ログ」には、32K文字の制限があります。ウィンドウ・バッファがいっぱいになったとき、最も古いコマンドが「ソース・コントロール・ログ」の表示から削除され、最新のコマンド出力を表示する場所が作られます。すべての出力を確認するには、次の場所にある管理ツール・ログに移動します。

ORACLE_INSTANCE/diagnostics/logs/OracleBIServerComponent/coreapplication_obisn/
user_name_NQSAdminTool.log

注意:
SCMコマンドが実行されている間は、SCMコマンドが終了するか、エラーで停止するまで「閉じる」ボタンは無効化されています(「エラーが発生したときにダイアログのみ表示」が選択されていない場合)。

MUDでのソース・コントロール管理の使用方法

マルチユーザー開発環境でソース・コントロール管理を使用できます。この項では、両方のプロセスを一緒に使用する方法の概要について説明します。

たとえば、マルチユーザー開発の対象となっている既存のリポジトリがあり、ソース・コントロール管理を使用する場合は、次の副項で説明する手順に従います。

- MUDマスター・リポジトリとMUDログ・ファイルをソース・コントロール下に置く

- MUDマスターおよびMUDログ・ファイルの新しいバージョンをソース・コントロールにチェックイン

MUDマスター・リポジトリとMUDログ・ファイルをソース・コントロール下に置く

次の手順を使用して、MUDマスター・リポジトリとMUDログ・ファイルをソース・コントロール下に置きます。

MUDマスター・リポジトリとMUDログ・ファイルをソース・コントロール下に置く手順は次のとおりです。

1. マスターMUD RPDを、ファイル・システム上の一連のMDS XMLファイルに変換します。これを行う方法については、「既存のリポジトリ・ファイルをMDS XML形式で保存」を参照してください。

2. mhlconverterコマンドライン・ユーティリティを使用して、MUDログ・ファイル(*.mhl)をXMLファイルに変換します。これを実行するには、次の手順に従います。

1. bi-initを実行して、適切に初期化されたコマンド・プロンプトを起動します。詳細は、「Oracleインスタンスに初期化したシェル・ウィンドウを起動するためのbi-initの実行」を参照してください。

2. コマンド・プロンプトに、mhlconverter、入力MHLファイル名とパス、および出力XMLファイル名とパスを入力します。例:

mhlconverter -I C:\MUD\mud_repository.mhl -O C:\MUD\mud_repository.xml

3. MDS XMLファイルおよびXML形式のMUDログ・ファイルをSCMシステムにチェックインします。

MUDマスターおよびMUDログ・ファイルの新しいバージョンをソース・コントロールにチェックイン

マスターMUDリポジトリの最初のバージョンを作成してチェックインした後、MUDマスター・リポジトリの更新バージョンを継続的にチェックインする必要があります。この項では、この作業を実行するための2つの方法について説明します。

MUDマスターおよびMUDログ・ファイルの新しいバージョンをソース・コントロールにチェックインする手順は次のとおりです。

- 更新済のMUDマスター・リポジトリとログ・ファイルを手動でチェックイン

- スクリプトを使用して、更新済のMUDマスター・リポジトリとログ・ファイルをチェックイン

更新済のMUDマスター・リポジトリとログ・ファイルを手動でチェックイン

マルチユーザー開発プロセスの一環として発生したマスターRPDおよびログ・ファイルへの変更を手動でチェックインするには、次の手順に従います。

更新済のMUDマスター・リポジトリおよびログ・ファイルを手動でチェックインする手順は次のとおりです。

1. 管理ツールでマスターRPDの最新のコピーを開きます。

2. 適切なSCM構成ファイルを作成または選択します。詳細は、「SCM構成ファイルの作成」を参照してください。

3. 「ファイル」を選択し、「ソース・コントロール」を選択し、「ソース・コントロールへのリンク」を選択します。マスターMUDリポジトリのMDS XMLバージョンを含むディレクトリを選択します。
大規模なリポジトリの場合、ソース・コントロールへのリンクの使用はお薦めしません。タイムアウトが発生する可能性があります。大規模なリポジトリがある場合は、「スクリプトを使用して、更新済のMUDマスター・リポジトリとログ・ファイルをチェックイン」で説明されている自動化されたチェックイン方法の使用を検討してください。

4. 「保存」をクリックして、マスターMUDリポジトリからの変更を、ソース・コントロールの下のMDS XMLファイルに保存します。管理ツールは、追加、チェックアウト、変更および削除するファイルを決定し、SCMシステムにコマンドを発行します。

5. 管理ツールを閉じます。

6. 次の手順に従って、MUDログ・ファイルを更新します。

1. SCMシステムで、XML形式のMUDログ・ファイルをチェックアウトします。

2. mhlconverterユーティリティを使用して、XML形式のMUDログ・ファイルを、.mhlバージョンからの最新の変更で上書きします。

3. 最新のXML形式のMUDログ・ファイルをSCMシステムにチェックインします。

7. すべての変更をSCMシステムにチェックインします。

単一のトランザクションに多数の変更が存在するようになることを避けるため、定期的にこの項の手順を実行することをお薦めします。

スクリプトを使用して、更新済のMUDマスター・リポジトリとログ・ファイルをチェックイン

手動での変更のチェックインに代わる方法として、チェックイン・タスクを実行するスクリプトを作成し、それを一定の間隔で実行するようにスケジュールすることができます。

スクリプトを使用して更新済のMUDマスター・リポジトリとログ・ファイルをチェックインする手順は次のとおりです。

1. SCMシステムにチェックインするマスターRPDの最新のコピーを特定します。

2. SCMシステムにチェックイン済のマスターRPDの最新のバージョンを特定します。ソース・コントロール下の最新のXML形式のMUDログ・ファイルを確認することで、このバージョンを特定できます。

注意:
RPD形式のマスター・リポジトリの最新のチェックイン済バージョンがない場合は、-Dオプションを指定してbiserverxmlexecユーティリティを使用し、ソース・コントロールにチェックインされている最新のMDS XMLファイルを読み取り、RPDバージョンを再作成することができます。

3. マスターRPDの最新のコピー(変更されたバージョン)を、最後にチェックインされたバージョン(オリジナルのバージョン)と比較するには、-Mオプションを指定してcomparerpdユーティリティを使用します。MDS XML形式のdiffが生成されます。詳細は、「comparerpdを使用したリポジトリの比較」を参照してください。

4. 次のことを実行するスクリプトを作成します。

1. MDS XML diffディレクトリを読み取って、存在するファイルを特定します。

2. ソース・コントロールでコマンドを発行して、特定されたファイルをチェックアウトするか、新しいファイルを追加します。

3. MDS XML diffディレクトリからソース・コントロール・ディレクトリに、最新バージョンのファイルをコピーします。

4. MDS XML diffディレクトリ内のoracle\bi\server\base\DeletedFiles.txtファイルを読み取って、削除するファイルを特定します。

5. ソース・コントロールでコマンドを発行して、該当するファイルを削除します。

6. MDS XML形式のMUDログ・ファイルをチェックアウトし、mhlconverterユーティリティを実行して最新のMHL形式のログ・ファイルをXML形式に変換し、既存のMDS XML形式のMUDログ・ファイルを新しいファイルで上書きして、それをチェックインします。

7. SCMシステムで、必要なすべてのチェックイン手順を実行します。

5 メタデータのインポートとデータ・ソースの操作

この章では、新しいOracle BIリポジトリを作成し、バックエンド・データ・ソースを設定し、Oracle BI管理ツールのメタデータのインポート・ウィザードを使用してメタデータをインポートする方法について説明します。また、Oracle Business Intelligenceでスタンバイ・データベースを使用する方法についても説明します。

この章には次のトピックが含まれます:

- メタデータのインポートとデータ・ソースの操作について

- 新しいOracle BIリポジトリの作成

- データ・ソースの事前構成作業の実行

- リレーショナル・データ・ソースからのメタデータのインポート

- マルチディメンション・データ・ソースからのメタデータのインポート

- XMLデータ・ソースからのメタデータのインポート

- Oracle Business Intelligenceでのスタンバイ・データベースの使用

メタデータのインポートとデータ・ソースの操作について

Oracle BIリポジトリ・ファイルがまだない場合は、作成する必要があります。その後、データ・ソースからリポジトリの物理レイヤーにメタデータをインポートできます。管理ツールの物理レイヤーでは、Oracle BIサーバーが問合せを送信するデータ・ソース、および物理データベースと複数のデータ・ソース問合せの処理に使用される他のデータ・ソース間のリレーションシップが定義されます。

Oracle BIリポジトリへのメタデータのインポートは、ODBCまたは基礎となるデータ・ソースへのネイティブ・データベース接続を介して行う必要があります。ODBC接続を介してMicrosoft Excelなどのソフトウェアからメタデータをインポートすることもできます。

各データ・ソースからメタデータを直接インポートすると、物理レイヤーの構造をインポートできるため、時間と労力が節減されます。これらのソースのデータは、Oracle BIインタラクティブ・ダッシュボードおよびその他のクライアントで表示できます。メタデータは、サポートされているデータ・ソースからのみインポート可能です。

メタデータをインポートすると、通常は、関連するデータベース・オブジェクトおよび接続プールのプロパティが自動的に設定されます。ただし、データベースや接続プールの設定は調整可能です。詳細は、第7章「データベース・オブジェクトおよび接続プールの設定」を参照してください。

メタデータをインポートするかわりに物理レイヤーを手動で作成することもできますが、多大な労力を要するうえ、エラーが発生しやすくなります。メタデータをインポートすることを強くお薦めします。

新しいOracle BIリポジトリの作成

管理ツールの新規リポジトリの作成ウィザードを使用して、新しいOracle BIリポジトリをバイナリ(RPD)またはMDS XML形式で作成できます。既存のリポジトリがすでにある場合、リポジトリを新しく作成する必要はありません。

既存のリポジトリがある場合は、そのファイル内の既存のデータ・ソース設定を、別のデータ・ソースに接続するためのテンプレートとして使用できます。そのためには、既存のデータ・ソース設定を使用し、データベース・タイプと接続プールの情報のみを変更します。詳細は、「データベース・オブジェクトの設定」および「接続プールの作成または変更」を参照してください。

新しいOracle BIリポジトリを作成する手順は、次のとおりです。

1. 管理ツールで、「ファイル」を選択し、「新規リポジトリ」を選択します。新規リポジトリの作成ウィザードが表示されます。
既存のリポジトリが開いている場合、変更内容を保存するように求められ、既存のリポジトリが閉じます。

2. リポジトリをRPD形式で作成する場合は、「バイナリ」を選択します。リポジトリをMDS XML形式で作成するには、「MDS XMLドキュメント」を選択します。

3. バイナリ・リポジトリの場合、リポジトリの名前を入力します。メタデータ・ディクショナリのURLに関する問題を避けるため、名前は156文字以内にしてください。RPDファイル拡張子を明示的に指定しなかった場合、自動的に追加されます。

4. 「場所」については、そのリポジトリ・タイプに適した手順を実行します。

- バイナリ・リポジトリの場合、RPDファイルの場所を選択します。新しいバイナリ・リポジトリはデフォルトで、ORACLE_INSTANCE\bifoundation\OracleBIServerComponent\coreapplication_obisn\repositoryにあるリポジトリ・サブディレクトリに保存されます。

- MDS XML形式のリポジトリの場合、そのMDS XMLファイルのセットのルート・フォルダの場所を選択します。

5. すぐにメタデータをリポジトリにインポートするには、「メタデータのインポート」について「はい」(デフォルト)を選択します。メタデータをインポートしない場合は、「いいえ」を選択してください。

6. このリポジトリに使用するパスワードを入力し、確認します。5文字より長いパスワードを指定してください。リポジトリ・パスワードを空白にすることはできません。
リポジトリ・パスワードは、リポジトリをオンライン・モードで開くときにもオフライン・モードで開くときにも入力します。このパスワードは、リポジトリの内容を暗号化するために使用されます。

7. 「メタデータのインポート」について「はい」を選択した場合は、「次へ」をクリックします。
インポート画面については、データ・ソース・タイプに応じて次の項を参照してください。

- リレーショナル・データ・ソースからのメタデータのインポート

- マルチディメンション・データ・ソースからのメタデータのインポート

- XMLデータ・ソースからのメタデータのインポート

- ADFデータ・ソースでの作業

情報をリポジトリにインポートする前に、データ・ソースの設定が必要になる場合があります。詳細は、「データ・ソースの事前構成作業の実行」を参照してください。

8. 「メタデータのインポート」について「いいえ」を選択した場合は、「終了」をクリックして空のリポジトリを作成します。

データ・ソースの事前構成作業の実行

データ・ソースからリポジトリ・ファイルに物理オブジェクトをインポートしたり、データ・ソースへの接続プールを設定する前に、構成手順を実行して、Oracle Business Intelligenceからデータ・ソースにアクセスできるようにしておく必要がある場合があります。

多くのデータ・ソースについては、クライアント・コンポーネントをインストールする必要があります。クライアント・コンポーネントは通常、問合せアクセスについてはOracle BIサーバーをホストするコンピュータに、インポートなどのオフライン操作については管理ツールをホストするコンピュータ(異なる場合)にインストールします。場合によっては、JavaHostプロセスが配置されているコンピュータにクライアント・コンポーネントをインストールする必要があります。

注意:
次の関連トピックを参照してください。

- Windows以外のプラットフォームでOracle BIサーバーを実行している場合は、第16章「LinuxおよびUNIXでのデータソースの設定」を参照してください。

- ADFデータ・ソースの設定については、第6章「ADFデータ・ソースでの作業」を参照してください。

- Oracle Business Intelligenceでサポートされるデータ・ソースのバージョンについては、「システム要件と動作要件」を参照してください。

この項には次のトピックが含まれます:

- ODBCデータ・ソース名(DSN)の設定

- Oracle Databaseデータ・ソースの設定

- Oracle OLAPデータ・ソースの設定

- Oracle TimesTen In-Memory Databaseデータ・ソースの設定

- Essbaseデータ・ソースの設定

- Cloudera Impalaデータ・ソースの設定

- Apache Hiveデータソースの設定

- Hyperion Financial Managementデータ・ソースの設定

- SAP/BWデータ・ソースの設定

- Oracle RPASデータ・ソースの設定

- Teradataデータ・ソースの設定

- Oracle DatabaseおよびTimesTenに対するNUMERICデータ型のサポートの有効化

- Essbase、Hyperion Financial ManagementまたはHyperion Planningデータ・ソースのSSOの構成

ODBCデータ・ソース名(DSN)の設定

ODBC接続を介したデータ・ソースからのインポートや、ODBCデータ・ソースへの接続プールの設定を行う前に、クライアント・コンピュータでそのデータ・ソースのODBCデータ・ソース名(DSN)を作成しておく必要があります。データ・ソースからメタデータをインポートする際、メタデータのインポート・ウィザードでこのDSNを参照します。

ODBC DSNは、Windowsシステムでのみインポートに使用できます。

WindowsでODBC DSNを設定するには:

1. Windowsで、「ODBC Data Source Administrator」を検索して開きます。「ODBCデータ ソース アドミニストレータ」ダイアログが表示されます。

2. 「ODBC データ ソース アドミニストレータ」ダイアログで、「システム DSN」タブをクリックし、「追加」をクリックします。

3. 「データ ソースの新規作成」ダイアログで、データ・ソースに適したドライバを選択し、「完了」をクリックします。
残りの構成手順は、構成するデータ・ソースごとに異なります。詳細は、データ・ソースのドキュメントを参照してください。

WindowsシステムのODBC DSNは、初期インポートにも、問合せ実行時のデータ・ソースへのアクセスにも使用されます。UNIXシステムでは、ODBC DSNはデータ・アクセスにのみ使用されます。UNIXでのODBCデータ・ソースの設定については、第16章「LinuxおよびUNIXでのデータソースの設定」を参照してください。

Teradataに固有の追加情報は、「Teradataデータ・ソースの設定」も参照してください。

Oracle Databaseデータ・ソースの設定

Oracle Databaseからメタデータをインポートする場合やOracle Databaseに接続する場合は必ず、OCIを使用する必要があります。スキーマのインポートや、接続プールの設定を行う前に、TNS名のエントリをtnsnames.oraファイルに追加しておく必要があります。詳細は、Oracle Databaseのドキュメントを参照してください。

Oracle Databaseデータ・ソースからメタデータをインポートする場合や接続プールを設定する場合、データ・ソース名として接続文字列全体を入力することも、tnsnames.oraファイルで定義されているネット・サービス名を使用することもできます。ネット・サービス名のみを入力するには、Oracle BIサーバーがそのエントリを特定できるように、Oracle Business Intelligence環境の次の場所でtnsnames.oraファイルを設定する必要があります。

ORACLE_BI_HOME\network\admin

この項には次のトピックが含まれます:

- Oracle 12c Database In-Memoryのデータ・ソース

- Exadataを使用するOracle 12c Databaseのデータ・ソース

- Oracle BIサーバーでサポートされる高度なOracleデータベースの機能

- クライアント・インストールに対する追加のOracle Database構成

- Firewallを使用している場合のOracle BIサーバーの構成

- Windows 7 64ビット環境でのOracle Database接続エラーの回避

関連情報は、「Oracle DatabaseおよびTimesTenに対するNUMERICデータ型のサポートの有効化」を参照してください。

Oracle 12c Database In-Memoryのデータ・ソース

Oracle 12c Database In-Memoryは、高パフォーマンスのインメモリー・データ・マネージャです。これは、インメモリー列ストアを使用します。ここには、メモリー内に存在し、迅速にスキャンできる特殊な列形式で、表のコピーおよびパーティションが格納されています。詳細は、12c リリース1の『Oracle Databaseコンセプト・ガイド』および『Oracle Database管理者ガイド』を参照してください。

すべてのOracle 12c Database In-Memoryデータ・ソースで、Oracle BIサーバーはメモリー内に表を作成します。

Exadataを使用するOracle 12c Databaseのデータ・ソース

Oracle Exadata Database Machineは、Oracle Databaseを稼働するために最適化されたプラットフォームです。Oracle 12c DatabaseおよびOracle 12c Database In-Memoryは共に、Oracle Exadata Database Machineで稼働します。詳細は、Exadata Database Machineに含まれるドキュメントを参照してください。

Exadataを使用するOracle 12c Databaseのデータ・ソースおよびExadataを使用するOracle 12c Database In-Memoryのデータ・ソースで、Oracle BIサーバーはメモリー内に表を作成します。Oracle BIサーバーは、デフォルトでExadataハイブリッド列圧縮(EHCC)を使用します。

Oracle BIサーバーでサポートされる高度なOracleデータベースの機能

「データベース」ダイアログの「一般」タブでメタデータのインポートまたはデータベース・タイプの指定を行うと、データベース・タイプに応じて適切なデフォルト値がデータベース・オブジェクトの機能セットに自動的に移入されます。これらは、Oracle BIサーバーでこのデータ・ソースに対して使用されるSQL機能です。「データベース」ダイアログの「機能」タブで、機能にサポートされていることを示すマーク(チェック)が付けられている場合、通常はOracle BIサーバーによってデータ・ソースに関数または計算がプッシュされパフォーマンスの向上が図られます。関数または機能がデータ・ソースでサポートされていない場合はOracle BIサーバーで計算または処理が実行されます。

Oracleデータベースの本来の機能を有効に活用し、問合せ時間を大きく改善するために、Oracle BIサーバーでは、次のOracleデータベース機能がサポートされるようになりました。

- 圧縮 - 圧縮することで、データベースのサイズが減ります。データを圧縮すると格納に必要なページ数が少なくなるため、問合せでディスクから読み取るページも少なく、その結果、I/Oに過度な負担がかかるワークロードのパフォーマンスを向上させることができます。圧縮は、デフォルトでOracle 11g Database、Oracle 12c DatabaseおよびOracle 12c Database In-Memoryで使用されます。Oracle 11gおよびOracle 12cデータベースで集計を作成する場合、集計表には圧縮がデフォルトで適用されます。
前述のいずれかのOracleデータベースにデータベース・オブジェクトを作成する場合、COMPRESSION_SUPPORTED機能がオブジェクトに自動的に適用されます。

- Exadata Hybrid Columnar Compression (EHCC) – OracleのEHCCは、Exadata上のデータベース機能およびストレージ機能を使用するために最適化されています。また、パフォーマンスが大きく向上する最高レベルのデータ圧縮が可能です。デフォルトでは、Exadataを使用するOracle 11g Database、Exadataを使用するOracle 12c DatabaseおよびExadataを使用するOracle 12c Database In-Memoryで、このタイプの圧縮が使用されます。
前述のいずれかのOracleデータベースにデータベース・オブジェクトを作成する場合、EHCC_SUPPORTED機能がオブジェクトに自動的に適用されます。

デフォルトでは、前述のOracleデータベースのオブジェクトに対して圧縮は解除されています。オブジェクトに圧縮を適用するには、オブジェクトのPERF_PREFER_COMPRESSIONフラグをOnに設定してください。

- インメモリー – インメモリー検索により、データの問合せの所要時間が削減されます。これは、ディスクよりも迅速で、確実なパフォーマンスです。インメモリー機能は、Oracle 12c Database In-MemoryおよびExadataを使用するOracle 12c Database In-Memoryで、メモリー内に表を作成する機能です。これらのデータベースで集計を作成すると、メモリー内でも集計が作成されます。
前述のいずれかのOracleデータベースにデータベース・オブジェクトを作成する場合、INMEMORY_SUPPORTED機能がオブジェクトに自動的に適用されます。

クライアント・インストールに対する追加のOracle Database構成

Oracle Business Intelligence Enterprise Edition Plus Clientインストーラを使用して管理ツールをインストールする場合は、Oracleデータベースのソースからインポートする前に、管理ツールのコンピュータ上にOracleデータベース・クライアントをインストールする必要があります。「管理者」または「ランタイム」のいずれかのクライアント・インストール・オプションを使用します。

32ビットの管理ツールを実行している場合、32ビットのOracleデータベース・クライアントをインストールする必要があります。64ビットの管理ツールを実行している場合、64ビットのOracleデータベース・クライアントをインストールする必要があります。

Oracleデータベース・クライアントをインストールしたら、ORACLE_HOMEという環境変数を作成し、その変数をOracleデータベース・クライアント用のOracleホームに設定します。その後、TNS_ADMINという環境変数を作成し、それをTNSNAMES.ORAファイルの場所(ORACLE_HOME\network\admin)に設定します。

Firewallを使用している場合のOracle BIサーバーの構成

Oracle BI ServerとOracle Databaseの間にファイアウォールがあると、問合せ時間が長くなります。たとえば、単一のnqcmdを使用する場合、問合せは結果を戻すまでに2から3分かかります。または、Presentation Servicesで初期化されたSQL文の実行または検証後は、Answersが応答しません。

問合せ時間を改善するためには、次のようにして、ORACLE_BI_HOME\network\admin内のsqlnet.oraファイルで、BREAK_POLL_SKIPパラメータおよびDISABLE_OOBパラメータを追加します。

BREAK_POLL_SKIP=10000
DISABLE_OOB=ON

この構成は、Oracle BIサーバーでのみ実行する必要があります。この構成は、Oracle Databaseまたはユーザー・クライアント・デスクトップでは必要ありません。

Windows 7 64ビット環境でのOracle Database接続エラーの回避

Windows 7 64ビット・コンピュータでOracle BI EEを実行している場合は、デフォルトの認証サービスがWindowsドメインの資格証明を使用するように設定されていないことを確認する必要があります。ORACLE_BI_HOME\network\admin内のsqlnet.oraファイルをチェックして、AUTHENTICATION_SERVICESパラメータが次のようになっていることを確認してください。

SQLNET.AUTHENTICATION_SERVICES= (NONE)

これ以外の値が設定されている場合は、管理ツールがWindowsドメインの資格証明を使用してログインを試みるため、Oracle Databaseからのインポート時に接続エラーが発生する可能性があります。

Oracle OLAPデータ・ソースの設定

Oracle OLAPデータ・ソースからインポートする前に、データ・ソースが標準形式のアナリティック・ワークスペースであることを確認してください。さらに、オフライン・インポートについてもオンライン・インポートについても、Oracle OLAPデータ・ソースからインポートするには、biadminservlet Javaプロセスが実行中である必要があります。Fusion Middleware Controlを使用してbiadminservlet Javaプロセスのステータスをチェックできます。

管理ツールのクライアント・インストールを使用している場合は、次の各項で追加の構成手順を参照してください。

クライアント・インストールに対する追加のOracle OLAP構成

Oracle Business Intelligence Enterprise Edition Plus Clientインストーラを使用して管理ツールをインストールする場合は、Oracle OLAPのソースからインポートする前に、管理ツールのコンピュータ上にOracleデータベース・クライアントをインストールする必要があります。「管理者」または「ランタイム」のいずれかのクライアント・インストール・オプションを使用します。

32ビットの管理ツールを実行している場合、32ビットのOracleデータベース・クライアントをインストールする必要があります。64ビットの管理ツールを実行している場合、64ビットのOracleデータベース・クライアントをインストールする必要があります。

Oracleデータベース・クライアントをインストールしたら、ORACLE_HOMEという環境変数を作成し、その変数をOracleデータベース・クライアント用のOracleホームに設定します。その後、TNS_ADMINという環境変数を作成し、それをTNSNAMES.ORAファイルの場所(ORACLE_HOME\network\admin)に設定します。

Oracle TimesTen In-Memory Databaseデータ・ソースの設定

Oracle TimesTen In-Memory Databaseは、ODBCインタフェースとJDBCインタフェースの両方をサポートする、高性能なインメモリー・データ・マネージャです。これらの事前構成手順は、TimesTenがすでにインストールされていることを想定しています。詳細は、『Oracle TimesTen In-Memory Databaseインストレーション・ガイド』を参照してください。

注意:
TimesTenソース上に集計を作成する予定である場合は、そのインスタンスに対してPL/SQLが有効化されており、そのPL/SQLの最初の接続属性PLSQLが1に設定されていることも確認する必要があります。PL/SQLは、インストール時に有効にすることも、インストール後にttmodinstallユーティリティを実行して有効にすることもできます。詳細は、『Oracle TimesTen In-Memory Databaseリファレンス』を参照してください。

この項には次のトピックが含まれます:

- TimesTenデータ・ソースの構成

- TimesTenデータ・ソースでのシステム・メモリー・リソースの使用の向上

- OPMNがWindows上のTimesTen DLLにアクセスできることを確認する

関連情報は、「Oracle DatabaseおよびTimesTenに対するNUMERICデータ型のサポートの有効化」を参照してください。

TimesTenデータ・ソースの構成

この項では、Oracle Business Intelligenceのデータ・ソースとしてTimesTenを使用する前に必要なTimesTen構成を説明します。

TimesTenデータ・ソースを設定するには:

1. TimesTenがインストールされているコンピュータで、データ・マネージャDSNを(システムDSNとして)作成します。詳細は、『Oracle TimesTen In-Memory Databaseオペレーション・ガイド』のデータ・マネージャDSNの定義に関する項を参照してください。

2. データ・ソースへの初期接続を実行してTimesTenデータベースをメモリーにロードし、ユーザーを作成して、権限を付与します(この作業をまだ行っていない場合)。詳細は、『Oracle TimesTen In-Memory Databaseオペレーション・ガイド』のアクセス制御の管理に関する項を参照してください。データ・ストアのデフォルト・ユーザーはインスタンス管理者、つまりデータベースをインストールしたオペレーティング・システム・ユーザーです。

3. Oracle BIサーバーを実行しているコンピュータに、TimesTenクライアントをインストールします。詳細は、『Oracle TimesTen In-Memory Databaseインストレーション・ガイド』を参照してください。

4. TimesTenクライアントがインストールされているコンピュータで、クライアントDSNを(システムDSN)として作成します。詳細は、『Oracle TimesTen In-Memory Databaseオペレーション・ガイド』のクライアントDSNの作成に関する項を参照してください。

LinuxまたはUNIXでOracle BIサーバーを実行している場合にこの手順を実行する方法については、「ネイティブODBCドライバを使用したデータベース接続の構成」を参照してください。

TimesTenデータベースがTimesTenクライアントと同じコンピュータにインストールされている場合は、メタデータのインポート・ウィザードでデータ・マネージャDSNまたはクライアントDSNを指定できます。

TimesTenソースからデータをインポートした後、または手動でデータベース・オブジェクトおよび接続プールを設定するときに、「データベース」ダイアログの「一般」タブの「データベース」フィールドにデータベース・タイプとバージョンが正しく設定されていることを確認します。「接続プール」ダイアログの「一般」タブの「呼出しインタフェース」フィールドが正しく設定されていることも確認する必要があります。次の資料も参照してください。

- 物理レイヤーにおけるデータベース・オブジェクトの手動作成

- 「一般」タブの接続プール・プロパティの設定

- 『Oracle Fusion Middleware Oracle Exalytics In-Memory Machineインストレーションおよび管理ガイド』(Oracle Exalytics Machine上のTimesTenソースの設定の具体的な手順)

Oracle Business Intelligenceに対してサポートされるTimesTenのバージョンについては、「システム要件と動作要件」を参照してください。

TimesTenデータ・ソースでのシステム・メモリー・リソースの使用の向上

システム・メモリー・リソースの使用を向上させるために、次のようにTimesTenサーバーの最大接続数を増やすことをお薦めします。

1. TimesTen環境で、編集のためにttendaemon.optionsファイルを開きます。このファイルは次の場所にあります。
install_dir/srv/info

2. 次の行を追加します。

-MaxConnsPerServer number_of_connections

number_of_connectionsを求めるには、次の式を使用します。Oracle BIリポジトリに接続プールごとに接続がM個あり、Oracle BIリポジトリに接続プールがN個あり、Oracle BIサーバーがP台ある場合、必要な接続の総数はM * N * Pとなります。

3. ファイルを保存して閉じます。

4. TimesTenサーバーへの接続に使用しているODBC DSNで、Connectionsパラメータを、ステップ2で入力した値と同じ値に設定します。

- Windowsでは、Windows ODBC データ ソース アドミニストレータからTimesTen ODBCセットアップ・ウィザードを開きます。「接続」パラメータは「最初の接続」タブにあります。

- UNIXでは、odbc.INIファイルを開き、次のようにTimesTen DSNエントリにConnections属性を追加します。

Connections=number_of_connections

5. ttisqlプロセスやOracle BIサーバーなど、TimesTenに接続しているすべてのプロセスを停止します。

6. TimesTenプロセスを停止します。

7. TimesTenプロセスが停止されていることを確認した後、TimesTenプロセスを再開します。

注意:
ロック・タイムアウトを回避するために、デプロイメントに合せて接続のLockWait間隔を調整することもできます。詳細は、『Oracle TimesTen In-Memory Databaseリファレンス』のLockWaitに関する項を参照してください。

OPMNがWindows上のTimesTen DLLにアクセスできることを確認する

OPMNを起動するユーザーが、彼らのオペレーティング・システムのPATH変数にTimesTen DLL ($TIMESTEN_HOME/lib)へのパスを設定していない場合、opmn.xmlファイルの変数としてTimesTen DLLパスを追加する必要があります。

opmn.xmlを更新してWindowsのTimesTen変数を含める手順は、次のとおりです。

1. 編集のためにopmn.xmlを開きます。opmn.xmlは次の場所にあります。

ORACLE_INSTANCE/config/OPMN/opmn/opmn.xml

2. Oracle BIサーバー・プロセスのias-componentタグを探します。例:

<ias-component id="coreapplication_obis1" inherit-environment="true">

3. 次の例のように、Oracle BIサーバーのias-componentタグの下で、必要なTimesTen変数TIMESTEN_DLLを追加し、PATH変数も更新します。例の値を、TimesTenクライアント用の正しいパスに置き換えてください。

<ias-component id="coreapplication_obis1" inherit-environment="true">
<environment>
...
<variable id="TIMESTEN_DLL" value="$TIMESTEN_HOME/lib/libttclient.so" />
<variable id="PATH" value="$TIMESTEN_HOME/lib:$ORACLE_HOME/bifoundation/
server/bin$:$ORACLE_HOME/bifoundation/web/bin$:$ORACLE_HOME/clients/
epm/Essbase/EssbaseRTC/bin$:" append="true" />
...
</environment>

4. ファイルを保存して閉じます。

5. OPMNを再起動します。

6. Oracle BIサーバー・プロセスを実行している各コンピュータで前述の手順を繰り返します。同じコンピュータで複数のOracle BIサーバー・インスタンスを実行している場合は必ず、opmn.xmlで各インスタンスについてias-componentタグを適切に更新してください(例: ias-component id="coreapplication_obis1"、ias-component id="coreapplication_obis2")。

Essbaseデータ・ソースの設定

Oracle BIサーバーは、Essbaseクライアント・ライブラリを使用してEssbaseデータ・ソースに接続します。Essbaseクライアント・ライブラリは、デフォルトでOracle BI Enterprise Editionとともにインストールされます。Oracle BI Enterprise Editionの完全なインストールに対してEssbaseデータ・ソースのアクセスを有効化するために追加の構成は必要ありません。

EPMシステム・インストーラでインストールしたEssbaseに対する共有トークンの使用の認証については、「Essbase、Hyperion Financial ManagementまたはHyperion Planningデータ・ソースのSSOの構成」を参照してください。

クライアント・インストールのための追加のEssbase構成手順

Oracle Business Intelligence Enterprise Edition Plus Clientインストーラを使用して管理ツールをインストールする場合は、Essbaseデータ・ソースからオフライン・モードでメタデータをインポートする前に追加の構成を実行する必要があります。Essbaseクライアント・ライブラリをインストールできない場合、オンライン・インポートをお奨めします。これにより、Oracle BIサーバー上にインストールされたドライバを利用できるようになります。

管理ツールのクライアント・インストールについては、Essbaseデータ・ソースへの接続の設定またはそれからのメタデータのインポートを行う前に、管理ツールのクライアント・コンピュータにEssbaseクライアント・ライブラリがインストールされていることを確認する必要があります。Oracle Business Intelligenceでの使用がサポートされているEssbaseクライアントのバージョンについては、「システム要件と動作要件」を参照してください。

管理ツールのクライアント・コンピュータにEssbaseクライアント・ライブラリがインストールされていることを確認したら、各コンピュータのPATH環境変数にEssbaseクライアント・ドライバの場所(EPM_ORACLE_HOME/products/Essbase/EssbaseClientなど)が追加されていることを確認する必要があります。

ESSBASEPATH環境変数が、コンピュータごとに適切に設定されていることも確認する必要があります。詳細は、Oracle Hyperion Enterprise Performance Management Systemインストレーションおよび構成ガイド(またはクライアント・バージョンの対応するタイトル)を参照してください。

さらに、管理ツールのコンピュータ上でbi-init.batを更新する必要があります。

Essbase環境変数をbi-init.batに追加する手順は、次のとおりです。

1. 編集のためにbi-init.batファイルを開きます。bi-init.batは、次の場所にあります。

ORACLE_INSTANCE\bifoundation\server\bin\

2. Essbaseクライアント・ライブラリのバージョンとインストール場所に応じて、ESSBASEPATH環境変数を設定する行を追加します。例:

set ORACLE_INSTANCE=C:\mw_home\instances\instance1
set ORACLE_BI_APPLICATION=coreapplication
set ESSBASEPATH=C:\products\Essbase\EssbaseClient
call %ORACLE_INSTANCE%\bifoundation\OracleBIApplication\
%ORACLE_BI_APPLICATION%\setup\user.cmd

3. PATH環境変数を設定する行を探し、Essbaseクライアント・バイナリの場所を追加します。例:

set PATH=%ORACLE_HOME%\bifoundation\server\bin;%ORACLE_HOME%\
bifoundation\web\bin;%ORACLE_HOME%\bin;%ESSSBASEPATH%\bin;%PATH%

4. ファイルを保存して閉じます。

注意:
管理ツールのクライアント・インストールを使用してEssbaseデータ・ソースからメタデータをインポートしようとしているときに接続障害が起きた場合は、次のポートがEssbase Serverのコンピュータ上で開いていることを確認してください。

- ポート1423

- ポート範囲32768～33768

Cloudera Impalaデータ・ソースの設定

この項では、Cloudera Impalaデータ・ソースをOracle BIリポジトリで設定する方法について説明します。この節の内容は以下のとおりです。

- クライアント・インストールでのWindows ODBCドライバの取得

- Windows ODBCを使用したCloudera Impalaメタデータのインポート

クライアント・インストールでのWindows ODBCドライバの取得

Oracle Business Intelligence Enterprise Edition Plus Clientインストーラを使用して管理ツールをインストールする場合、Cloudera Impalaメタデータをインポートするために必要なWindows ODBCドライバはインストールされません。必要なドライバを取得するためには、次の手順を実行する必要があります。Oracle Business Intelligenceインストーラを使用して管理ツールをインストールした場合、この手順を実行する必要はありません。

次のようにして、Windows ODBCドライバを取得します。

1. 次の場所にあるClouderaのWebサイトに移動します。
http://www.cloudera.com

2. 「Downloads」リンク、「Impala ODBC Drivers & Connectors」リンクの順にクリックします。

3. 「Download」リストで、使用する管理ツール・プラットフォーム(Windows 32ビットまたはWindows 64ビット)で必要なODBCドライバを特定し、「Download Bits」をクリックしてインストーラをダウンロードします。

4. ODBCドライバ・インストーラを実行して、ドライバをインストールします。

Windows ODBCを使用したCloudera Impalaメタデータのインポート

Cloudera Impalaは、Massively Parallel Processing (MPP) SQL問合せエンジンで、元々、Apache Hadoopで稼働しています。この手順を実行して、Cloudera ImpalaメタデータをOracle BIリポジトリにインポートします。

この手順を実行するためには、Windows ODBCドライバを準備する必要があります。管理ツールをOracle Business Intelligenceインストーラでインストールすると、必要なドライバがインストールされます。Oracle Business Intelligence Enterprise Edition Plus Clientインストーラで管理ツールをインストールした場合、「クライアント・インストールでのWindows ODBCドライバの取得」の手順に従い、必要なWindows ODBCドライバをインストールします。

1. Windowsで、「ODBCデータ ソース アドミニストレータ」を検索して開きます。「ODBCデータ ソース アドミニストレータ」ダイアログが表示されます。

2. 「ODBC データ ソース アドミニストレータ」ダイアログで、「システム DSN」タブをクリックし、「追加」をクリックします。「新しいData Sourceの作成」ダイアログが表示されます。

3. ドライバ・リストから、Cloudera Impalaドライバを検索して選択します。「終了」をクリックします。「Impala DSN設定のCloudera ODBCドライバ」ダイアログが表示されます。

4. 使用するImpalaインスタンスの接続詳細を入力します。次の点に注意してください。

- 「データ ソース名」フィールドに、リポジトリで定義した接続プールに指定されているデータソース名を入力します。

- 「ホスト」フィールドに、完全修飾ホスト名またはIPアドレスを入力します。

- 「ポート」フィールドにポート番号を入力します。デフォルトは、21050です。

- 「データベース」フィールドで、データベースを指定します。通常、この値は「デフォルト」です。

5. Cloudera Impalaドライバでデータ・ソースを設定している場合、「テスト」をクリックします。DataDirect Impalaドライバでデータ・ソースを設定している場合、「テスト接続」をクリックします。「テスト結果」ダイアログが表示されます。

図5-1 Impala DSN設定テスト結果

6. 管理ツールで、「ファイル」を選択し、「メタデータのインポート」を選択します。メタデータのインポート・ウィザードが表示されます。

7. 「データ・ソースの選択」画面で、「接続タイプ」フィールドにODBC 3.5が表示されていることを確認します。次に、作成したImpala DSNを選択し、ユーザー名およびパスワードを入力します。「次」をクリックします。

8. 「メタデータ型の選択」画面で、「次」をクリックしてデフォルト値を受け入れます。

9. 「メタデータ・オブジェクトの選択」画面で、「データソース・ビュー」リストからインポートするImpala表を選択し、>(選択項目をインポート)ボタンをクリックして、それらの表を「リポジトリ・ビュー」リストへ移動します。

10. 「終了」をクリックします。Impalaデータベースが、Oracle BIリポジトリの物理レイヤーに表示されます。

11. 物理レイヤーのリポジトリで、Impalaデータベースをダブルクリックします。「データベース」ダイアログが表示されます。

12. 「データベース・タイプ」フィールドから、「Cloudera Impala.」を選択します。「OK」をクリックします。

13. 「保存」をクリックして、リポジトリを保存します。

14. (オプション)必要に応じて、新しくインポートしたデータを、「ビジネス・モデルとマッピング」レイヤーおよび「プレゼンテーション」レイヤーでモデリングします。

Apache Hiveデータ・ソースの設定

この節の内容は以下のとおりです。

- クライアント・インストールでのWindows ODBCドライバの取得

- Oracle Business IntelligenceでのApache Hiveの使用上の制限

クライアント・インストールでのWindows ODBCドライバの取得

Oracle Business Intelligence Enterprise Edition Plus Clientインストーラを使用して管理ツールをインストールする場合、Apache Hiveメタデータをインポートするために必要なWindows ODBCドライバはインストールされません。

インポートの実行に必要なWindowsドライバを取得するには、My Oracle Support Webサイト、support.oracle.comにログインしてDocID 1520733.1にアクセスします。このDocIDに関連付けられているテクニカル・ノートには、必須のWindowsドライバが、ドライバのインストール手順およびHiveデータ・ソースからのメタデータ・インポートの実行手順とともに含まれています。

Oracle Business IntelligenceでのApache Hiveの使用上の制限

この項では、Oracle Business IntelligenceでHadoopおよびHiveを使用する場合の制限について説明します。この項には次のトピックが含まれます:

- 日付に関するHiveの制限

- Hiveではカウント(個別M)とグループ化Mとの同時使用をサポートしていません

- Hiveではケース・タイプの区別をサポートしていません

- 範囲外の開始位置の値を示すLocate関数に対して例外をスローします

- Hiveは部分文字列を使用する問合せでクラッシュすることがあります

- Hiveでは表の作成をサポートしていません

- Hiveは複数のAND句とOR句を含む長い問合せで失敗することがあります

- サブクエリー式が含まれている問合せは失敗することがあります

- Hiveでは同じSelectリストにある個別MとMをサポートしていません

日付に関するHiveの制限

Hiveには、DateおよびDatetimeのデータ型がありません。日付と日時は、Stringデータ型(HiveのVarcharと同等)を使用してエンコードされます。Hiveでは、日付をyyyy-mm-ddのフォーマットでエンコードする必要があります。日時の値についても同様に、文字列のフォーマットをyyyy-mm-dd hh:mm:ssとする必要があります。Hiveのバックエンドでは、日付列は文字列として入力されますが、リポジトリではそのまま日付または日時として入力する必要があります。その理由として、Oracle Business Intelligenceでは、日付と日時の値に対してのみカレンダ操作が許可されるためです。

Hiveではカウント(個別M)とグループ化Mとの同時使用をサポートしていません

次のフォームの問合せでは、

- SELECT M, COUNT(DISTINCT M) ... FROM ... GROUP BY M ...

Hiveがクラッシュする可能性があります。
このような状況では、COUNT(DISTINCT...)定義における属性が直接問合せの対象となり、その属性が表または外部キーまたはレベル・キーの一部でもある場合があります。

COUNT(DISTINCT X)がGROUP BY Xと同時に使用された場合は常にカウントが1になるため、このケースが多発する可能性はほとんどありません。

このようなエラーを回避するために、COUNT(DISTINCT...)をメジャーで使用するときには、同じレベルに完全属性またはその他の属性を含めないようにしてください。

Hiveではケース・タイプの区別をサポートしていません

Hiveでは、ケース文の各部分のタイプに対して厳密なチェックが要求されます。このため、Hiveでは、次のようなプレゼンテーション問合せは失敗します。

select supplierid, case supplierid when 10 then 'EQUAL TO TEN' when 20 then
'EQUAL TO TWENTY' else 'SOME OTHER VALUE' end as c2 from supplier order by c2
asc, 1 desc

この問合せに対するHiveの完全なエラー・メッセージは次のようになります。

FAILED: Error in semantic analysis: Line 2:32 Argument type mismatch '10':
The expressions after WHEN should have the same type with that after CASE:
"smallint" is expected but "int" is found

範囲外の開始位置の値を示すLocate関数に対して例外をスローします

Locate関数の完全な構文のフォームは次のとおりです。

LOCATE ( charexp1, charexp2, [, startpos] )

ここで、charexp1は、文字列charexp2の中で検索の対象となる文字列です。

オプションのパラメータstartposは、charexp2の中で検索開始を示す文字の位置です。

次の例に示すように、startposの値がcharexp2の長さよりも長い場合、

select locate('c', 'abcde', 9) from employee

Hiveは0を返すのではなく、例外をスローします。

Hiveは部分文字列を使用する問合せでクラッシュすることがあります

開始位置パラメータの値を指定してSubstring関数を使用する問合せでは、次の例に示すように、Hiveがクラッシュすることがあります。

select substring(ProductName, 2) from Products

Hiveでは表の作成をサポートしていません

Apache Hive ODBCドライバは、表の作成に使用するSQLTransactをサポートしていないため、Hiveでは表の作成をサポートしていません。

Hiveは複数のAND句とOR句を含む長い問合せで失敗することがあります

次のWHERE句は、問合せの長さが過剰なためにHiveで失敗する可能性のある条件の例です。

例1

WHERE (Name = 'A' AND Id in (1))
OR (Name = 'B' AND Id in (2))
OR  .......
OR (Name = 'H' AND Id in (8))

例2

WHERE (Id BETWEEN '01' AND '02')
OR (Id BETWEEN '02' AND '03')
OR  .......
OR (Id BETWEEN '07' AND '08'))

一般に、長い問合せはHiveで失敗する可能性がありますが、前述の例に示すように、多くのOR句を使用する条件が指定されていて、それぞれのグループがANDおよびBETWEENの副次句で組み合されている場合に特にその可能性が高くなります。

サブクエリー式が含まれている問合せは失敗することがあります

サブクエリー式が含まれている問合せは、Hiveでは失敗することがあります。サブクエリー式が使用されている場合は、Oracle BIサーバーによって生成された物理問合せで等価条件にデータ型を混成して含めることもできます。等価演算子におけるHiveの問題により、問合せ結果が正しくない場合があります。

たとえば、次の問合せを考えてみます。

select ReorderLevel from Product where ReorderLevel in
(select AVG(DISTINCT ReorderLevel) from Product);

Oracle BIサーバーでは、'ReorderLevel = 15.0'が含まれている次の物理問合せを生成します。ここで、ReorderLevelのデータ型はIntであり、15.0はFloatとして扱われます。

Select T3120.ReorderLevel as c1 from Products T3120
where (T3120.ReorderLevel = 15.0)

これは、次のコマンドを使用して訂正できます。

select ReorderLevel from Product where ReorderLevel in
(select cast(AVG(DISTINCT ReorderLevel) as integer) from Product);

Hiveでは同じSelectリストにある個別MとMをサポートしていません

次のような形の問合せは、Hiveでサポートされていません。

- SELECT DISTINCT M, M  ... FROM TABX

Hyperion Financial Managementデータ・ソースの設定
この項では、データ・ソースとしてHyperion Financial Managementを使用する際の必須の構成手順について説明します。Hyperion Financial Managementに対する共有トークンの使用の認証に必要な構成については、「Essbase、Hyperion Financial ManagementまたはHyperion Planningデータ・ソースのSSOの構成」を参照してください。
Hyperion Financial Managementデータ・ソースからのインポートや、Hyperion Financial Managementデータ・ソースへの接続の設定を行う前に、データ・ソースとして使用するHyperion Financial Managementのバージョンの要件を満たすHyperion Financial Management ADMドライバが、Oracle BI JavaHostプロセスを実行しているシステムにインストールされていることを確認する必要があります。ADMドライバのドライバ・タイプ(ADMネイティブ・ドライバまたはADMシン・クライアント・ドライバ)、インストールおよび構成は、次に示す説明のとおり、Hyperion Financial Managementのリリース番号によって異なります。

- Hyperion Financial Management 11.1.2.1.xの場合:
このバージョンのHyperion Financial Managementでは、ADMネイティブ・ドライバを使用します。Hyperion Financial Managementクライアントをインストールします。これには、Hyperion Financial Management ADMネイティブ・ドライバが含まれます。必ず、クライアント構成ユーティリティのサーバー/クラスタ登録タブで次の手順を実行してください。

- サーバーおよびクラスタの登録領域で、Hyperion Financial ManagementサーバーのIPアドレスまたはホスト名を入力し、1つのサーバーのみを使用するを選択します。

- DCOMの有効化領域で、DCOMの有効化をクリックします。

注意:
Oracle BI EEでHyperion Financial Management 11.1.2.1.xデータ・ソースを使用できるのは、Oracle BI EEがWindowsのみのデプロイで実行されている場合のみです。

- Hyperion Financial Management 11.1.2.2.xの場合:
このバージョンのHyperion Financial Managementでは、ADMネイティブ・ドライバを使用します。Hyperion Financial Management ADMネイティブ・ドライバをインストールします。必ず、Enterprise Performance Managementコンフィギュレータを使用して構成を実行してください。

- 構成では、Hyperion Shared Servicesデータベースの詳細を指定し、FoundationサーバーおよびHyperion Financial Managementサーバーに登録します。

- DCOMユーザー詳細ページで、Hyperion Financial Managementサーバーに接続するためのユーザーとしてドメイン・ユーザーを入力します。

注意:
Oracle BI EEでHyperion Financial Management 11.1.2.2.xデータ・ソースを使用できるのは、Oracle BI EEがWindowsのみのデプロイで実行されている場合のみです。

- Hyperion Financial Management 11.1.2.3.xの場合:
このバージョンのHyperion Financial Managementでは、ADMネイティブ・ドライバまたはADMシン・クライアント・ドライバを使用できます。ADMシン・クライアント・ドライバをインストールおよび構成できるのは、Linuxのみです。

注意:
Oracle BI EEでHyperion Financial Management 11.1.2.3.xデータ・ソースは、Oracle BI EEがWindowsまたはLinuxのデプロイで実行されている場合に使用できます。

Hyperion Financial Management ADMドライバをインストールすると、ADMネイティブ・ドライバおよびADMシン・クライアント・ドライバの両方のドライバがインストールされます。WindowsおよびLinuxの両デプロイで、Enterprise Performance Managementコンフィギュレータを使用して、必ず構成を実行してください。

- Windows構成およびLinux構成では、Hyperion Shared Servicesデータベースの詳細を指定し、FoundationサーバーおよびHyperion Financial Managementサーバーに登録します。

- 構成中は、DCOM構成を必ず有効にしてください。

- Windows用に構成をする場合、DCOMユーザー詳細ページで、Hyperion Financial Managementサーバーに接続するためのユーザーとしてドメイン・ユーザーを入力します。ADMシン・ドライバをLinux用に構成している場合、この手順を実行する必要はありません。

さらに、Oracle BI JavaHostプロセスを実行している各システムでopmn.xmlファイルを編集し、Hyperion Financial Managementに必要な環境変数を追加する必要があります。

オフライン・インポートについてもオンライン・インポートについても、Hyperion Financial Managementデータ・ソースからインポートするには、JavaHostプロセスが実行中である必要があります。管理ツールのクライアント・インストールがある場合、JavaHostの構成手順の詳細は、「クライアント・インストールに対する追加のHyperion構成」も参照してください。

Hyperion Financial Management 11.1.2.1および11.1.2.2の場合:

1. opmn.xmlファイルを開いて編集します。opmn.xmlは次の場所にあります。

ORACLE_INSTANCE/config/OPMN/opmn/opmn.xml

2. JavaHostプロセスのias-componentタグを探します。例:

<ias-component id="coreapplication_obijh1">

3. 次の例を参考に、Hyperion Financial Managementに必要な新規変数をenvironmentタグ内に追加します。インストールに応じて、実際の値を更新してください。

<variable id="HYPERION_HOME" value="C:/oracle/Middleware/EPMSystem11R1"/>
<variable id="EPM_HOME" value="C:/MW_Home/Oracle_BI1/common/jlib/11.1.2.0"/>
<variable id="ADM_HOME" value="C:/MW_Home/Oracle_BI1/common/ADM/11.1.2.0"/>
<variable id="HFM_HOME" value="$HYPERION_
HOME/products/FinancialManagement/Client"/>
<variable id="ADM_ESS_NATIVE_HOME" value="$ADM_HOME/"/>
<variable id="CSS_HOME" value="c:/MW_Home/Oracle_BI1/common/CSS/11.1.2.0"/>

4. PATH変数を更新して、$ADM_HOME/bin$ (システムが32ビットの場合)または$ADM_HOME/bin-64$ (システムが64ビットの場合)と、HYPERION_HOMEのclientサブディレクトリおよびcommonサブディレクトリを追加します。次の例は、システムが32ビットの場合です。

<variable id="PATH" value="C:\oracle\product\10.2.0\db_1\BIN$:
$ADM_HOME/bin$:$HYPERION_HOME/products/FinancialManagement/Common$:
$HYPERION_HOME/products/FinancialManagement/Client$:$ORACLE_HOME/
common/ODBC/Merant/7.1.4/lib$:$ORACLE_HOME/bifoundation/server/bin$:
$ORACLE_HOME/bifoundation/web/bin$:$ORACLE_HOME/common/ODBC/
Merant/7.1.4/lib$:$ORACLE_INSTANCE$:$ORACLE_HOME/lib" append="true"/>

5. data id="start-args"タグを探し、クラスパス属性を更新して、必要なjarファイルの場所を追加します。例:

<data id="start-args" value="-Xmx1024M -Djava.security.manager=default -DXDO_
FONT_DIR=$ORACLE_HOME/common/fonts -Djava.security.policy=$ORACLE_
INSTANCE/config/$COMPONENT_TYPE/$COMPONENT_NAME/java.policy
-Djava.util.logging.config.class=oracle.core.ojdl.logging.Logging
Configuration
-Doracle.core.ojdl.logging.config.file=$ORACLE_INSTANCE/config/$COMPONENT_
TYPE/$COMPONENT_NAME/logging-config.xml -Doracle.home=$ORACLE_HOME
-Doracle.instance=$ORACLE_INSTANCE -Doracle.component.type=$COMPONENT_TYPE
-Doracle.component.name=$COMPONENT_NAME -classpath $COMMON_COMPONENTS_
HOME/modules/oracle.odl_11.1.1/ojdl.jar$:$ORACLE_
HOME/bifoundation/javahost/lib/core/sautils.jar$:$ORACLE_
HOME/bifoundation/javahost/lib/core/mad.jar$:$ORACLE_
HOME/bifoundation/javahost/lib/core/sawconnect.jar$:$ORACLE_
HOME/bifoundation/javahost/lib/core/javahost.jar$:$COMMON_COMPONENTS_
HOME/modules/oracle.xdk_11.1.0/xmlparserv2.jar$:$ORACLE_
HOME/opmn/lib/ons.jar$:$COMMON_COMPONENTS_HOME/modules/oracle.jps_
11.1.1/jps-manifest.jar$:$COMMON_COMPONENTS_HOME/modules/oracle.jps_
11.1.1/jps-api.jar$:$COMMON_COMPONENTS_HOME/modules/oracle.jps_
11.1.1/jps-common.jar$:$COMMON_COMPONENTS_HOME/modules/oracle.jps_
11.1.1/jps-internal.jar$:$COMMON_COMPONENTS_HOME/modules/oracle.nlsrtl_
11.1.0/orai18n.jar$:$COMMON_COMPONENTS_HOME/modules/oracle.nlsrtl_
11.1.0/orai18n-collation.jar$:$COMMON_COMPONENTS_HOME/modules/oracle.nlsrtl_
11.1.0/orai18n-mapping.jar$:$COMMON_COMPONENTS_HOME/modules/oracle.dms_
11.1.1/dms.jar$:$EPM_HOME/epm.jar$:$ADM_HOME/lib/adm.jar$:
$ADM_HOME/lib/ap.jar$:$CSS_HOME/lib/css.jar$:$CSS_HOME/lib/common-model.jar
com.siebel.analytics.javahost.standalone.Main"/>

6. ファイルを保存して閉じます。

7. ORACLE_HOME/bifoundation/javahost/lib/obisintegration/admディレクトリに移動して、admintegration.jarおよびadmimport.jar以外のすべてのjarファイルを削除します。

8. JavaHostプロセスを再開します。

9. Oracle BI JavaHostプロセスを実行している各コンピュータで前述の手順を繰り返します。同じコンピュータで複数のJavaHostインスタンスを実行している場合は必ず、opmn.xmlで各インスタンスについてias-componentタグを適切に更新してください(例: ias-component id="coreapplication_obijh1"、ias-component id="coreapplication_obijh2"など)。
JavaHostがHyperion Financial Managementへのアクセスのシングル・ポイント障害とならないように、複数のJavaHostプロセスを実行します。そのためには、Fusion Middleware Controlを使用してJavaHostプロセスをスケールアウトします。プロセスのスケールアウトの詳細は、『Oracle Fusion Middleware Oracle Business Intelligence Enterprise Editionシステム管理者ガイド』の「デプロイメントのスケーリング」を参照してください。

Hyperion Financial Management 11.1.2.3の場合:

1. opmn.xmlファイルを開いて編集します。opmn.xmlは次の場所にあります。

ORACLE_INSTANCE/config/OPMN/opmn/opmn.xml

2. JavaHostプロセスのias-componentタグを探します。例:

<ias-component id="coreapplication_obijh1">

3. 次の例を参考に、Hyperion Financial Managementに必要な新規変数をenvironmentタグ内に追加します。インストールに応じて、実際の値を更新してください。HYPERION_HOME変数は、ADMネイティブ・ドライバで必要ですが、ADMシン・クライアント・ドライバでは必要ありません。EPM_ORACLE_HOME変数が、ADFシン・クライアント・ドライバを使用するLinuxで必要です。

<variable id="HYPERION_HOME" value="C:/oracle/Middleware/EPMSystem11R1"/>
<variable id="EPM_ORACLE_HOME" value="C:/oracle/Middleware/EPMSystem11R1"/>
<variable id="EPM_ORACLE_INSTANCE" value="C:/oracle/Middleware/user_
projects/epmsystem1"/>
<variable id="ADM_HOME" value="C:/MW_Home/Oracle_BI1/common/ADM/11.1.2.0"/>
<variable id="HFM_HOME" value="$HYPERION_
HOME/products/FinancialManagement/Client"/>
<variable id="ADM_ESS_NATIVE_HOME" value="$ADM_HOME/"/>
<variable id="CSS_HOME" value="c:/MW_Home/Oracle_BI1/common/CSS/11.1.2.0"/>

4. PATH変数を更新して、$ADM_HOME/bin$ (システムが32ビットの場合)または$ADM_HOME/bin-64$ (システムが64ビットの場合)と、HYPERION_HOMEのclientサブディレクトリおよびcommonサブディレクトリを追加します。次の例は、システムが32ビットの場合です。

<variable id="PATH" value="C:\oracle\product\10.2.0\db_1\BIN$:
$ADM_HOME/bin$:$HYPERION_HOME/products/FinancialManagement/Common$:
$HYPERION_HOME/products/FinancialManagement/Client$:$ORACLE_HOME/
common/ODBC/Merant/7.1.4/lib$:$ORACLE_HOME/bifoundation/server/bin$:
$ORACLE_HOME/bifoundation/web/bin$:$ORACLE_HOME/common/ODBC/
Merant/7.1.4/lib$:$ORACLE_INSTANCE$:$ORACLE_HOME/lib" append="true"/>

5. data id="start-args"タグを探し、クラスパス属性を更新して、必要なjarファイルの場所を追加します。Windowsでは、次の開始引数を含めます。

-DEPM_ORACLE_HOME=$J{EPM_ORACLE_HOME} -DEPM_ORACLE_INSTANCE=$J{EPM_ORACLE_INSTANCE}

Linuxでは、次の開始引数を含めます。

-DEPM_ORACLE_HOME=$EPM_ORACLE_HOME -DEPM_ORACLE_INSTANCE=$EPM_ORACLE_INSTANCE

次の例では、Windowsの開始引数が含まれています。

<data id="start-args" value="-Xmx1024M -Djava.security.manager=default -DXDO_
FONT_DIR=$ORACLE_HOME/common/fonts -Djava.security.policy=$ORACLE_
INSTANCE/config/$COMPONENT_TYPE/$COMPONENT_NAME/java.policy
-Djava.util.logging.config.class=oracle.core.ojdl.logging.Logging
Configuration
-Doracle.core.ojdl.logging.config.file=$ORACLE_INSTANCE/config/$COMPONENT_
TYPE/$COMPONENT_NAME/logging-config.xml -Doracle.home=$ORACLE_HOME
-Doracle.instance=$ORACLE_INSTANCE -Doracle.component.type=$COMPONENT_TYPE
-Doracle.component.name=$COMPONENT_NAME -DEPM_ORACLE_HOME=$J
{EPM_ORACLE_HOME} -DEPM_ORACLE_INSTANCE=$J{EPM_ORACLE_INSTANCE}
-classpath $COMMON_COMPONENTS_
HOME/modules/oracle.odl_11.1.1/ojdl.jar$:$ORACLE_
HOME/bifoundation/javahost/lib/core/sautils.jar$:$ORACLE_
HOME/bifoundation/javahost/lib/core/mad.jar$:$ORACLE_
HOME/bifoundation/javahost/lib/core/sawconnect.jar$:$ORACLE_
HOME/bifoundation/javahost/lib/core/javahost.jar$:$COMMON_COMPONENTS_
HOME/modules/oracle.xdk_11.1.0/xmlparserv2.jar$:$ORACLE_
HOME/opmn/lib/ons.jar$:$COMMON_COMPONENTS_HOME/modules/oracle.jps_
11.1.1/jps-manifest.jar$:$COMMON_COMPONENTS_HOME/modules/oracle.jps_
11.1.1/jps-api.jar$:$COMMON_COMPONENTS_HOME/modules/oracle.jps_
11.1.1/jps-common.jar$:$COMMON_COMPONENTS_HOME/modules/oracle.jps_
11.1.1/jps-internal.jar$:$COMMON_COMPONENTS_HOME/modules/oracle.nlsrtl_
11.1.0/orai18n.jar$:$COMMON_COMPONENTS_HOME/modules/oracle.nlsrtl_
11.1.0/orai18n-collation.jar$:$COMMON_COMPONENTS_HOME/modules/oracle.nlsrtl_
11.1.0/orai18n-mapping.jar$:$COMMON_COMPONENTS_HOME/modules/oracle.dms_
11.1.1/dms.jar$:$EPM_HOME/epm.jar$:$ADM_HOME/lib/adm.jar$:
$ADM_HOME/lib/ap.jar$:$CSS_HOME/lib/css.jar$:$CSS_HOME/lib/common-model.jar
com.siebel.analytics.javahost.standalone.Main"/
$EPM_ORACLE_HOME/common/hfm/11.1.2.0/lib/fm-adm-driver.jar$:
$EPM_ORACLE_HOME/common/hfm/11.1.2.0/lib/fm-web-objectmodel.jar$:
$EPM_ORACLE_HOME\common\jlib\11.1.2.0\epm_thrift.jar$:
$EPM_ORACLE_HOME\common\jlib\11.1.2.0\epm_j2se.jar>

6. ファイルを保存して閉じます。

7. ORACLE_HOME/bifoundation/javahost/lib/obisintegration/admディレクトリに移動して、admintegration.jarおよびadmimport.jar以外のすべてのjarファイルを削除します。

8. JavaHostプロセスを再開します。

9. Oracle BI JavaHostプロセスを実行している各コンピュータで前述の手順を繰り返します。同じコンピュータで複数のJavaHostインスタンスを実行している場合は必ず、opmn.xmlで各インスタンスについてias-componentタグを適切に更新してください(例: ias-component id="coreapplication_obijh1"、ias-component id="coreapplication_obijh2"など)。
JavaHostがHyperion Financial Managementへのアクセスのシングル・ポイント障害とならないように、複数のJavaHostプロセスを実行します。そのためには、Fusion Middleware Controlを使用してJavaHostプロセスをスケールアウトします。プロセスのスケールアウトの詳細は、『Oracle Fusion Middleware Oracle Business Intelligence Enterprise Editionシステム管理者ガイド』の「デプロイメントのスケーリング」を参照してください。

クライアント・インストールに対する追加のHyperion構成

Oracle Business Intelligence Enterprise Edition Plus Clientインストーラを使用して管理ツールをインストールする場合は、Hyperion Financial Managementのデータ・ソースからオフライン・インポートを実行する前に追加の構成を実行する必要があります。Hyperion Financial Managementデータ・ソースからオフライン・モードでインポートするには、管理ツールが実行中のJavaHostの場所を指す必要があります。この項の手順は、管理ツールのクライアント・インストールの場合にのみ必要です。

管理ツールが実行中のJavaHostを指すようにする手順は次のとおりです。

1. 管理ツールが開いている場合は閉じます。

2. 管理ツールと同じコンピュータ上で、テキスト・エディタを使用してローカルのNQSConfig.INIファイルを開きます。このファイルは次の場所にあります。

ORACLE_INSTANCE/config/OracleBIServerComponent/coreapplication_obisn

3. ファイルの最下部付近にあるJAVAHOST_HOSTNAME_OR_IP_ADDRESSESパラメータを検索します。完全修飾ホスト名またはIPアドレスとポート番号を使用して、実行中のJavaHostを指すようにこのパラメータを更新します。例:

JAVAHOST_HOSTNAME_OR_IP_ADDRESSES = "myhost.example.com:9810"

Oracle Business Intelligenceの(クライアントではない)フル・インストールでは、この設定はOracle Enterprise Manager Fusion Middleware Controlによって管理されるので、手動では編集できません。

4. ファイルを保存して閉じます。

SAP/BWデータ・ソースの設定

SAP/BWデータ・ソースに接続するには、XMLA接続タイプ、またはSAP BWネイティブ接続タイプ(BAPI)を使用します。プラットフォームによっては、SAP BWネイティブ接続を使用できない場合があります。詳細は、「システム要件と動作要件」を参照してください。

SAP BWネイティブ接続タイプを使用してSAP/BWデータ・ソースに接続するには、まず、次のBristlecone WebサイトからOBIEE BAPI Adapter for SAPをダウンロードする必要があります。

http://www.bristleconelabs.com/edel/downloads.html

次に、ダウンロードに付属しているReadmeに記載された構成手順を実行します。

XMLA経由でSAP/BWに接続する場合、事前構成手順は必要ありません。

Oracle RPASデータ・ソースの設定

Oracle BIサーバーは、ODBC DSNを使用してOracle RPAS (Retail Predictive Application Server)データ・ソースに接続できます。Oracle RPASデータ・ソースを設定するには、まず、Oracle RPAS ODBCドライバをインストールする必要があります。ODBC DSNの設定時には、SQLExtendedFetchオプションを選択し、認証方法リストからDBMSを選択して、ディメンション表の正規化リストからいいえを選択します。詳細は、「Oracle RPASデータ・ソースからのメタデータのインポートについて」を参照してください。

Windowsシステムでは、初期インポートの場合にも、問合せ実行時のデータ・ソースへのアクセスの場合にもOracle RPASデータ・ソースに接続できます。UNIXシステムでは、Oracle RPASデータ・ソースに接続できるのはデータ・アクセスの場合のみです。

AIX UNIXでOracle BIサーバーを実行している場合にOracle RPASデータ・ソースへのODBCアクセスを有効にする方法については、「AIX UNIXでのOracle RPAS ODBCデータ・ソースの構成」を参照してください。

Teradataデータ・ソースの設定

ODBCを使用してTeradataデータ・ソースにアクセスできます。Teradataに対するODBC接続の設定の詳細は、「ODBCデータ・ソース名(DSN)の設定」を参照してください。

最新のTeradata ODBCドライバをインストールし、ODBC DSNを設定した後、Teradataデータ・ソースのlibディレクトリをWindowsシステムのパス環境変数に追加する必要があります。例:

D:\Program Files\NCR\Common Files\Shared ICU Libraries for Teradata\lib

さらに、Oracle BIサーバーを実行している各コンピュータ上のopmn.xmlを手動で編集して、必要なTeradata変数を含める必要があります。

opmn.xmlを更新してWindowsのTeradata変数を含める手順は、次のとおりです。

1. 編集のためにopmn.xmlを開きます。opmn.xmlは次の場所にあります。

ORACLE_INSTANCE/config/OPMN/opmn/opmn.xml

2. Oracle BIサーバー・プロセスのias-componentタグを探します。例:

<ias-component id="coreapplication_obis1" inherit-environment="true">

3. 次の例のように、Oracle BIサーバーのias-componentタグの下で、必要なTeradata変数TERA_HOME、TERAGSS_HOMEおよびTERAICU_HOMEを追加し、PATH変数も更新します。例の値を、Teradataクライアントのインストール場所に置き換えてください。

<ias-component id="coreapplication_obis1" inherit-environment="true">
<environment>
...
<variable id="TERA_HOME" value="C:/Progra~1/Teradata/Client/13.10/
ODBCDR~1" />
<variable id="TERAGSS_HOME" value="C:/Progra~1/Teradata/TERADA~1/nt-i386/
131000~1.02" />
<variable id="TERAICU_HOME" value="C:/Progra~1/Teradata/Client/13.10/
SHARED~1" />
<variable id="PATH" value="$TERA_HOME/lib$:$TERAICU_HOME/lib$:$TERAGSS_
HOME/bin$:$ORACLE_HOME/bifoundation/server/bin$:$ORACLE_HOME/
bifoundation/web/bin$:$ORACLE_HOME/clients/epm/Essbase/EssbaseRTC/
bin$:" append="true" />
...
</environment>

重要:
Teradataクライアントをインストールするときにデフォルトの場所を使用する場合は、PATH変数が、Windowsによって適用される1024文字の制限を超える可能性があります。この問題を回避するには、Teradataクライアントを短いパス名(C:\TDなど)を持つディレクトリにインストールするか、短い8.3ファイル名(C:\Program Files\Teradata\Client\13.10\ODBC Driver for Teradata\BinのかわりにC:\PROGRA~1\Teradata\Client\13.10\ODBCDR~1\Binなど)を使用します。
正しい8.3ファイル名を判別するには、該当するディレクトリからdir /xを実行します。例:

C:\>dir /x
Volume in drive C has no label.
Volume Serial Number is 0000-XXXX
Directory of C:\
08/25/2008  03:36 PM   <DIR>    DATAEX~1    DataExplorer
04/20/2007  01:38 PM   <DIR>                dell
08/28/2010  10:49 AM   <DIR>    DOCUME~1    Documents and Settings
07/28/2008  04:50 PM   <DIR>    ECLIPS~2    EclipseWorkspace
09/07/2007  11:50 AM   <DIR>                Ora92
09/07/2007  11:50 AM   <DIR>                oracle
05/21/2009  05:15 PM   <DIR>                OracleBI
05/21/2009  05:12 PM   <DIR>    ORACLE~1    OracleBIData
03/02/2011  04:51 PM   <DIR>    PROGRA~1    Program Files

4. ファイルを保存して閉じます。

5. OPMNを再起動します。

6. Oracle BIサーバー・プロセスを実行している各コンピュータで前述の手順を繰り返します。同じコンピュータで複数のOracle BIサーバー・インスタンスを実行している場合は必ず、opmn.xmlで各インスタンスについてias-componentタグを適切に更新してください(例: ias-component id="coreapplication_obis1"、ias-component id="coreapplication_obis2")。

Teradataデータ・ソースに対する問合せのスプール領域エラーの回避

状況によっては、Teradataに対する問合せでデータ・ソースからスプール領域不足というエラーを受け取ることがあります。このエラーは、「アンサー」の「フィルタ」ペインで「全選択項目」を選択した結果、DISTINCTの問合せに対して発生することがあります。このエラーを回避するために、これらの問合せに対してDISTINCTではなくGROUP BYを使用するように、Oracle BIサーバーによって必ず問合せがリライトされるようにできます。これを行うには、次の条件が満たされていることを確認します。

- プロジェクション・リストのディメンション列が1つのみ存在し、それが結合式ではなくターゲット列です。

- 「アンサー」からの元の問合せがDISTINCTを要求しており、GROUP BY句が含まれていません。

- FROM表が不透明なビューではなく実物理表です。

- FROM表が導出表ではなくアトミック表です。

- 次の比率が、しきい値未満です:
(計画された列の個別数) / (FROM表の行数)

この比率で使用される値はどちらもリポジトリ・メタデータから取得されます。これらの値を移入するには、次の両方のオブジェクトに対して管理ツールで「行数の更新」をクリックします。

- FROM物理表

- 計画された列の物理列

デフォルトでは、この比率のしきい値は0.15です。しきい値を変更するには、Oracle BIサーバー・コンピュータ上でSA_CHOICES_CNT_SPARSITYという環境変数を作成し、それを新しいしきい値に設定します。

Oracle DatabaseおよびTimesTenに対するNUMERICデータ型のサポートの有効化

Oracle DatabaseおよびTimesTenに対するNUMERICデータ型のサポートを有効にすることができます。NUMERICデータ型のサポートが有効になっていると、Oracle DatabaseおよびTimesTenのデータ・ソースのNUMBER列がOracle Business IntelligenceでNUMERICとして扱われるため、精度が向上します。さらに、Oracle DatabaseおよびTimesTenのデータ・ソースのリテラルが、DOUBLEではなく、NUMERICとしてインスタンス化されます。関連情報については、「数値リテラル」を参照してください。

Oracle DatabaseおよびTimesTenに対するNUMERICデータ型のサポートを有効にする手順は次のとおりです。

1. NQSConfig.INIで、ENABLE_NUMERIC_DATA_TYPEをYESに設定します。手順については、『Oracle Fusion Middleware Oracle Business Intelligence Enterprise Editionシステム管理者ガイド』のENABLE_NUMERIC_DATA_TYPEに関する項を参照してください。

2. 物理レイヤーのデータベース・オブジェクトでNUMERIC_SUPPORTEDデータベース機能を有効にします。データベース機能の設定方法については、「データ・ソースでサポートされるSQL機能の指定」を参照してください。

これらの手順を実行した後、Oracle DatabaseおよびTimesTenからOracle BIリポジトリにインポートされたデータの10進/数値データはNUMERICに設定され、ユーザーが入力した10進/数値SQLはNUMERICとして扱われます。このパラメータがYESに設定されていても、他のデータベース・タイプからインポートされた10進/数値データはDOUBLEとしてマップされます。

この設定を変更する前にインポートされた物理列のデータ型は変更されません。つまり、NUMBERではなくDOUBLEとして宣言されたOracle DatabaseまたはTimesTenの列は、このパラメータの設定に関係なく、Oracle Business IntelligenceにそのままDOUBLEとしてインポートされます。既存のDOUBLE物理列については、必要に応じてデータ型を手動でNUMBERに更新してください。

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

- 数値データ型は、他の数字データ型との間で互いにキャストすることができます。

- 数値データ型のサポートは、Oracle BI ServerのJDBCドライバを通した場合は使用できません。

- 数値データ型を有効にするとパフォーマンスのオーバーヘッドが生じることがありますが、これは数値データのほうがビット数が多いためです。

Essbase、Hyperion Financial ManagementまたはHyperion Planningデータ・ソースのSSOの構成

EPMシステム・インストーラを使用してインストールしたEssbase、Hyperion Financial ManagementまたはHyperion Financial ManagementをOracle BIサーバーのデータソースとして使用し、接続プール内で共有資格証明を構成するかわりに共有トークンを使用して認証する場合は、まずこの項で説明する手順に従って共有トークンの互換性を有効化する必要があります。Oracle Business IntelligenceのユーザーおよびEnterprise Performance Managementのユーザーは、同じアイデンティティ・ストアを使用する必要があることに注意してください。

Oracle Business Intelligenceインストーラを使用してインストールしたEssbaseデータ・ソースのSSOを有効化する場合、追加の手順を実行する必要はありません。 Oracle Business Intelligenceインストーラを使用してインストールしたEssbaseデータ・ソースの場合は、データ・ソース接続プールでSSOを選択するだけです。

『Oracle Fusion Middleware Oracle Business Intelligence Enterprise Editionシステム管理者ガイド』のOracle Business Intelligenceを構成して、Hyperion SSOトークンをEssbase、Hyperion Financial Managemen、Hyperion PlanningおよびEPM Workspaceに関する項を参照してください。 for more information about performing steps to authenticate using a shared token.

リレーショナル・データ・ソースからのメタデータのインポート

サポートされているリレーショナル・データ・ソース・タイプのメタデータをインポートするには、メタデータのインポート・ウィザードで該当する接続タイプを選択します。メタデータをインポートするには、ローカル・コンピュータにすべてのデータベース接続を設定しておく必要があります。オフライン・モードとオンライン・モードのどちらでもメタデータをインポートできます。

他のデータ・ソースからのインポートについては、「マルチディメンション・データ・ソースからのメタデータのインポート」および第6章「ADFデータ・ソースでの作業」を参照してください。

物理表をインポートする際には、作成したビジネス・モデルで使用する可能性があるデータを含む表のみにインポートを制限するよう注意してください。「検索」機能を使用すると、インポートする表を検索して選択することができます。無関係な表やその他のオブジェクトを多数インポートすると、不必要に複雑になるとともに、リポジトリのサイズが大きくなります。

ほとんどのデータ・ソースのメタデータをインポートする際、デフォルトでは、表、主キーおよび外部キーがインポートされます。物理レイヤーにキーが自動的に作成されるように、表とともに主キーと外部キーをインポートすることをお薦めします。キーをインポートしなかった場合、手動でキーを作成する必要があります。このプロセスには時間がかかる可能性があります。

データベース・ビュー、別名、シノニムおよびシステム表をインポートすることもできます。これらのオブジェクトをインポートするのは、Oracle BIサーバーでそれらに対する問合せを生成する場合のみにしてください。

リレーショナル・データ・ソースからメタデータをインポートするには:

1. 管理ツールで、「ファイル」を選択し、「メタデータのインポート」を選択します。メタデータのインポート・ウィザードが表示されます。

注意:
既存のデータベースおよび接続プールをすでに定義している場合は、物理レイヤーの接続プールを右クリックし、「メタデータのインポート」を選択します。メタデータのインポート・ウィザードが開き、情報があらかじめ入力された「データ・ソースの選択」画面が表示されます。

図5-2に、メタデータのインポート・ウィザードを示します。

図5-2 メタデータのインポート・ウィザード: リレーショナル・データ・ソース

2. 「データ・ソースの選択」画面の「接続タイプ」フィールドで、データ・ソースに適した接続のタイプ(ODBC 3.5など)を選択します。
データ・ソースがOracle Databaseの場合は必ず、「OCI 10g/11g」を選択してください。Oracle Databaseへの接続プロトコルとしてOCIを使用すると、パフォーマンスが向上するとともに、ODBC経由では使用できないネイティブなデータベース機能にアクセスできます。

注意:
Oracle Database以外については、日本語の表名や列名など、国際文字を含むスキーマをインポートする際にODBC 3.5またはDB2 CLI (Unicode)を使用することをお薦めします。

「データ・ソースの選択」画面の残りのフィールドやオプションは、選択した接続タイプによって異なります。

- ODBC 2.0およびODBC 3.5データ・ソースについては、「DSN」リストで、スキーマのインポート元のデータ・ソースを選択します。次に、データ・ソースの有効なユーザー名とパスワードを入力します。
Oracle BIサーバー経由でインポートする場合、DSNエントリは、ローカル・コンピュータ上ではなくOracle BIサーバー・コンピュータ上にあります。

- OCI 10g/11gおよびDB2 CLI (Unicode)データ・ソースについては、「データ・ソース名」フィールドにデータ・ソースの名前を入力し、データ・ソースの有効なユーザー名とパスワードを入力します。
Oracle Databaseデータ・ソースについては、データ・ソース名として接続文字列全体またはtnsnames.oraファイル内のネット・サービス名を入力できます。ネット・サービス名を入力する場合は、Oracle Business Intelligence環境のORACLE_HOME/network/adminでtnsnames.oraファイルを設定していることを確認する必要があります。

他のデータ・ソース・タイプについては、別の項で説明します。

- Essbase、XMLA、Oracle OLAP、Hyperion ADMおよびSAP BWネイティブについては、「マルチディメンション・データ・ソースからのメタデータのインポート」を参照してください。この項では、ODBC 3.5を介したOracle RPASデータ・ソースからのインポートについても説明します。

- XMLについては、「XMLデータ・ソースからのメタデータのインポート」を参照してください。

- OracleADF_HTTPについては、第6章「ADFデータ・ソースでの作業」を参照してください。

「データ・ソースの選択」画面で情報を入力し終わったら、「次へ」をクリックします。「メタデータ型の選択」画面が表示されます。

3. インポートするオブジェクトのタイプに対応するオプション(「表」、「キー」、「外部キー」など)を選択します。一部のオプションは自動的に選択されます。デフォルトで選択されるオブジェクト・タイプはデータ・ソースのタイプごとに異なり、データ・ソースの一般的なオブジェクトに基づきます。
結合をインポートするには、「キー」と「外部キー」の両方を選択します。システム表をインポートするには、データ・ソースのシステム権限が必要です。カスタマ・リレーションシップ・マネジメント(CRM)表からインポートするには、「CRM表からのメタデータ」を選択します。

4. 「次へ」をクリックします。「メタデータ・オブジェクトの選択」画面が表示されます。

5. インポートするオブジェクトを「使用可能」リストで選択し、「>」(選択対象をインポート)ボタンまたは「>>」(すべてインポート)ボタンを使用して「選択済」リストに移動します。「<」(選択対象を削除)ボタンおよび「<<」(すべて削除)ボタンを使用して、「選択済」リストから「使用可能」リストにオブジェクトを戻すこともできます。
特定の項目を検索するには、「検索」ボックスにキーワードを入力し、「下方検索」または「上方検索」をクリックします。

すでにインポートされているオブジェクトを含め、すべてのオブジェクトを表示するには、「完全な構造の表示」を選択します。このオプションの選択を解除すると、インポート可能なオブジェクトのみが表示されます。このオプションを選択した場合、すでにインポートされているオブジェクトはグレー表示されます。

6. 「終了」をクリックします。
インポートできなかったオブジェクトがある場合、警告メッセージのリストが表示されます。メッセージが表示されたダイアログで、次の処理を実行できます。

- 特定の用語を検索するには、「検索」、「再検索」の順にクリックします。

- 別のファイルにメッセージを貼り付けることができるようにウィンドウの内容をコピーするには、「コピー」をクリックします。

メタデータをインポートしたら、データベースと接続プールの設定が正しいことを確認してください。インポート時にOracle BIサーバーが正確なデータベース・タイプを特定できず、類似するタイプをデータベース・オブジェクトに割り当てることがまれにあります。このようなオブジェクトの処理の詳細は、「データベース・オブジェクトの設定」および「接続プールの作成または変更」を参照してください。

また、物理列や物理表など、インポートしたデータを物理レイヤーで視覚的に調べて、インポートが正常に完了していることを確認することをお薦めします。

「論理モデルへのマップ」画面と「ウェアハウスに公開」画面について

「論理モデルへのマップ」画面および「ウェアハウスに公開」画面は、ADFデータ・ソースでのみ使用することができます。「論理モデルへのマップ」画面の詳細は、「論理モデルへのフレックス・オブジェクト変更の自動マッピング」を参照してください。

マルチディメンション・データ・ソースからのメタデータのインポート

管理ツールを使用して、マルチディメンション・データ・ソースからOracle BIリポジトリの物理レイヤーにメタデータをインポートできます。マルチディメンション・データ・ソースを使用できることで、Oracle BIサーバーは、Essbase、Oracle OLAP、Hyperion Financial Management、Microsoft Analysis Services、SAP/BW (SAP/ビジネスウェアハウス)などのソースに接続してデータを抽出できます。これらのソースのデータはダッシュボードに表示可能です。

マルチディメンション・データ・ソースとリレーショナル・データ・ソースの設定の主な違いは、物理レイヤーにあります。ビジネス・モデルとプレゼンテーション・レイヤーにおけるマルチディメンション・データ・ソースとリレーショナル・データ・ソースの設定は、ほとんど同じです。

インポート・プロセスでは、マルチディメンション・データ・ソースの各キューブが1つの物理キューブ表として作成されます。Oracle BIサーバーでは、メトリック、ディメンション、階層などのキューブ・メタデータがインポートされます。キューブをインポートしたら、物理キューブ列に正しい集計ルールがあり、階層タイプが正しいことを確認する必要があります。詳細は、「物理階層オブジェクトでの作業」を参照してください。

注意:
マルチディメンション・データ・ソースから物理スキーマを手動で作成すると、多大な労力を要するうえ、エラーが発生しやすくなります。そのため、インポート手法を使用することを強くお薦めします。

ビジネス・モデルで使用しない階層や列は、物理レイヤーから削除することをお薦めします。これによって、管理ツールで不要なオブジェクトを保守する必要がなくなり、パフォーマンスが向上する可能性があります。

マルチディメンション・データ・ソースからメタデータをインポートするには:

1. 管理ツールで、「ファイル」を選択し、「メタデータのインポート」を選択します。メタデータのインポート・ウィザードが表示されます。

注意:
既存のデータベースおよび接続プールをすでに定義している場合は、物理レイヤーの接続プールを右クリックし、「メタデータのインポート」を選択します。メタデータのインポート・ウィザードが開き、情報があらかじめ入力された「データ・ソースの選択」画面が表示されます。この方法を使用して、増分インポートを実行することもできます。

図5-3に、メタデータのインポート・ウィザードを示します。

図5-3 メタデータのインポート・ウィザード: マルチディメンション・データ・ソース

「論理モデルへのマップ」画面および「ウェアハウスに公開」画面は、ADFデータ・ソースでのみ使用可能なことに注意してください。詳細は、「「論理モデルへのマップ」画面と「ウェアハウスに公開」画面について」を参照してください。

2. 「データ・ソースの選択」画面の「接続タイプ」フィールドで、データ・ソースに適した接続のタイプを選択します。
「データ・ソースの選択」画面の残りのフィールドやオプションは、選択した接続タイプによって異なります。表5-1に、マルチディメンション接続タイプを示します。

表5-1 マルチディメンション接続オプション

接続タイプ

説明

ODBC 3.5

ODBC 3.5接続タイプは、Oracle RPASデータ・ソースに使用します。DSNエントリを選択し、選択したデータ・ソースのユーザー名とパスワードを入力します。詳細は、「ODBCデータ・ソース名(DSN)の設定」を参照してください。

Essbase 9+

このオプションは、Essbase 9またはEssbase 11で使用します。「Essbase Server」フィールドに、Essbaseサーバーを実行しているコンピュータのホスト名を入力し、データ・ソースの有効なユーザー名とパスワードを入力します。この情報は、データ・ソース管理者から入手してください。

Essbase Serverがデフォルト以外のポートで実行していたり、Essbase Clusterの一部である場合には、ポート番号をhostname:portのフォーマットで「Essbase Server」フィールドに含める必要があります。

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

- Essbase Clusterからメタデータをインポートできますが、「Essbase Server」フィールドに個別のEssbase Serverのホスト名とポート番号を指定する必要があります。

- Essbaseデータ・ソースからメタデータをインポートする前に、Oracle BIサーバーを実行しているコンピュータにEssbaseクライアント・ライブラリがインストールされていることを確認する必要があります。詳細は、「Essbaseデータ・ソースの設定」を参照してください。

- Essbaseデータ・ソースのデータを物理レイヤーでモデリングする方法については、「Essbaseデータ・ソースでの作業」を参照してください。

XMLA

XMLA接続タイプは、Microsoft Analysis ServicesおよびSAP/BWに使用します。スキーマのインポート元のデータ・ソースのURLを入力します。次に、プロバイダ・タイプ(Analysis Services 2000やSAP/BW 3.5/7.0など)と、データ・ソースの有効なユーザー名およびパスワードを入力します。

「ターゲット・データベース」については、次のいずれかを実行します。

- 「新規」を選択し、新しいデータベース・オブジェクトに使用する名前を入力します。

- 「既存」を選択し、「参照」をクリックして、既存のデータベース・オブジェクトを選択します。

Oracle OLAP

「データ・ソース名」フィールドにデータ・ソースの名前(ネット・サービス名)を入力し、データ・ソースの有効なユーザー名とパスワードを入力します。データ・ソース名は、tnsnames.oraファイルに作成したエントリと同じです。必ず、Oracle Business Intelligence環境のtnsnames.oraファイル内の名前を使用してください。ネット・サービス名のかわりに、接続文字列全体を入力することもできます。

URLの場合は、biadminservletのURLを指定します。このサーブレットは、Oracle OLAPメタデータ・インポートに使用されます。サーブレットの名前はservicesです。たとえば、URLフィールドに次のような文字列を入力します。

http://localhost:9704/biadminservlet/services

これを使用するためには、サーブレットは稼動中である必要があります。インポート・エラーを受信した場合、管理コンソールでサーブレットのステータスをチェックします。管理サーバーの診断ログおよびドメイン・ログを参照することもできます。

Oracle OLAPデータ・ソースのデータを物理レイヤーでモデリングする方法については、「Oracle OLAPデータ・ソースでの作業」を参照してください。

注意: OLAPオプションを使用するOracle Databaseデータ・ソースには、リレーショナル表とマルチディメンショナル表の両方を含めることができます。ただし、管理ツールで同じデータベース・オブジェクトに両方の表タイプを持つことは避けてください。表タイプ別に異なるデータベース機能セットを指定することが必要な場合があるためです。

たとえば、データベース機能GROUP_BY_GROUPING_SETS_SUPPORTEDが有効な場合、Oracle OLAP問合せは失敗します。ただし、Oracle Databaseのリレーショナル表については、この機能を有効にする必要がある場合があります。

リレーショナル表とマルチディメンション表について、2つの異なるデータベース・オブジェクトを作成することをお薦めします。

Hyperion ADM

Hyperion Financial ManagementまたはHyperion PlanningサーバーのURLを指定します。

ADMネイティブ・ドライバを使用するHyperion Financial Management 11.1.2.1および11.1.2.2では、次の形式を使用してドライバおよびアプリケーション名(キューブ名)を含めます。

adm:native:HsvADMDriver:ip_or_host:application_name

例:

adm:native:HsvADMDriver:130.35.40.80:UCFHFM

ADMシン・クライアント・ドライバを使用するHyperion Financial Management 11.1.2.3またはHyperion Planningでは、次の形式を使用してドライバおよびアプリケーション名(キューブ名)を含めます。

adm:thin:com.hyperion.ap.hsp.HspAdmDriver:[ip_or_host]:[port]:[application_name]

例:

adm:thin:com.hyperion.ap.hsp.HspAdmDriver:130.35.40.80:8300:UCFHP

ADMシン・クライアント・ドライバを使用するHyperion Planningでは、次の形式を使用してドライバおよびアプリケーション名(キューブ名)を含めます。

adm:thin:com.hyperion.ap.hsp.HspAdmDriver:[server]%3A[port]:[application_name

例:

adm:thin:com.hyperion.ap.hsp.HspAdmDriver:server_name.example.com%3A8300:PFP_OFP3

また、使用するデータ・ソースについて、プロバイダ・タイプを選択して、有効なユーザー名およびパスワードを入力する必要があります。

JavaHostプロセスを実行して、オフラインおよびオンラインのインポートに対し、Hyperion Financial Managementデータ・ソースまたはHyperion Planningデータ・ソースから、インポートする必要があります。

詳細は、「Hyperion Financial Managementデータ・ソースおよびHyperion Planningデータ・ソースでの作業」を参照してください。

注意: インポート前に、「Hyperion Financial Managementデータ・ソースの設定」に記載されている事前構成手順を必ず実行してください。

SAP BWネイティブ

次の情報を指定します。

- システムIPまたはホスト名: SAPデータ・サーバーのホスト名またはIPアドレス。このフィールドは、SAP/BW接続文字列のパラメータashostに対応します。

- システム番号: SAPシステム番号。これは、Web Application Server (WAS)とも呼ばれるSAPインスタンスに割り当てられた2桁の番号です。このフィールドは、SAP/BW接続文字列のパラメータsysnrに対応します。

- クライアント番号: SAPクライアント番号。これは、SAPでクライアントと呼ばれる自己完結型の単位に割り当てられた3桁の番号です。クライアントは、トレーニング、開発、テスト、本番クライアントなどです。また、大企業の個々の部門を表す場合もあります。このフィールドは、SAP/BW接続文字列のパラメータclientに対応します。

- 言語: データ・ソースへのログイン時に使用されるSAP言語コード(例: 英語の場合はEN、ドイツ語の場合はDE)。このフィールドは、SAP/BW接続文字列のパラメータlangに対応します。

- 追加パラメータ: パラメータ=値という形式の追加接続文字列パラメータ。複数のパラメータを指定する場合はコロンで区切ります。このフィールドはオプションです。

- ユーザー名: データ・ソースの有効なユーザー名。

- パスワード: 対応するユーザー・パスワード。パスワードでは大/小文字が区別されます。

最初の5つのフィールドは、SAP/BW接続文字列の要素を構成します。形式は次のとおりです。

ashost=value:sysnr=value:client=value:lang=value:additional_param=value

例:

ashost=10.30.0.19:sysnr=00:client=100:lang=EN

注意: インポート前に、「SAP/BWデータ・ソースの設定」に記載されている事前構成手順を必ず実行してください。

他のデータ・ソース・タイプについては、別の項で説明します。

- XMLについては、「XMLデータ・ソースからのメタデータのインポート」を参照してください。

- ODBC 2.0、OCI 10g/11gおよびDB2 CLI (Unicode)については、「リレーショナル・データ・ソースからのメタデータのインポート」を参照してください。

- OracleADF_HTTPについては、第6章「ADFデータ・ソースでの作業」を参照してください。

「データ・ソースの選択」画面で情報を入力し終わったら、「次へ」をクリックします。

3. Oracle RPASデータ・ソースの場合のみ、「メタデータ型の選択」画面が表示されます。Oracle RPASについては、「表」、「キー」および「外部キー」を選択してください。次に、「次へ」をクリックします。
詳細は、「Oracle RPASデータ・ソースからのメタデータのインポートについて」を参照してください。

4. 「メタデータ・オブジェクトの選択」画面で、インポートするオブジェクトを「使用可能」リストから選択し、「>」(選択対象をインポート)ボタンまたは「>>」(すべてインポート)ボタンを使用して「選択済」リストに移動します。「<」(選択対象を削除)ボタンおよび「<<」(すべて削除)ボタンを使用して、「選択済」リストから「使用可能」リストにオブジェクトを戻すこともできます。
特定の項目を検索するには、「検索」ボックスにキーワードを入力し、「下方検索」または「上方検索」をクリックします。

すでにインポートされているオブジェクトを含め、すべてのオブジェクトを表示するには、「完全な構造の表示」を選択します。このオプションの選択を解除すると、インポート可能なオブジェクトのみが表示されます。このオプションを選択した場合、すでにインポートされているオブジェクトはグレー表示されます。

Essbaseデータ・ソースの場合、UDA(ユーザー定義属性)をインポートするには、「UDAのインポート」を選択します。

5. 「終了」をクリックします。
インポートできなかったオブジェクトがある場合、警告メッセージのリストが表示されます。メッセージが表示されたダイアログで、次の処理を実行できます。

- 特定の用語を検索するには、「検索」、「再検索」の順にクリックします。

- 別のファイルにメッセージを貼り付けることができるようにウィンドウの内容をコピーするには、「コピー」をクリックします。

メタデータをインポートしたら、データベースと接続プールの設定が正しいことを確認してください。インポート時にOracle BIサーバーが正確なデータベース・タイプを特定できず、類似するタイプをデータベース・オブジェクトに割り当てることがまれにあります。このようなオブジェクトの処理の詳細は、「データベース・オブジェクトの設定」および「接続プールの作成または変更」を参照してください。

また、物理列や階層レベルなど、インポートしたデータを物理レイヤーで視覚的に調べて、インポートが正常に完了していることを確認することをお薦めします。

Essbaseデータ・ソースについては、すべての階層がデフォルトで非バランス型としてインポートされます。物理階層ごとに「階層タイプ」プロパティを確認し、必要に応じて値を変更してください。Essbaseでサポートされている階層タイプは、「非バランス型」、「完全なバランス型」および「値」です。

Oracle RPASデータ・ソースからのメタデータのインポートについて

この項では、管理ツールを使用したOracle RPASからのメタデータのインポートに関する重要な情報を紹介します。

- Oracle RPASスキーマはWindowsでのみインポートできます。

- RPASスキーマをインポートする前に、ODBC DSNセットアップ・ページのディメンション表の正規化フィールドの値をはいに設定する必要があります。理由は次のとおりです。

- この値をはいに設定すると、適切なスキーマ・モデル(スノーフレーク・スキーマ)が使用されて、結合が正しく作成され、データのドリルダウンが可能になります。

- この値をいいえに設定すると、あまり適切でないスキーマ・モデル(スター・スキーマ)が使用されて、すべての表間に結合が作成され、ドリルダウンが正しく機能しなくなります。このように作成された結合の多くは不要で、手動で削除する必要があります。

詳細は、「ODBCデータ・ソース名(DSN)の設定」を参照してください。

- 管理ツールにRPASスキーマをインポートする場合は、データとともに結合をインポートする必要があります。そのためには、メタデータのインポート・ウィザードでメタデータ型として「キー」および「外部キー」を選択します。

- RPASスキーマをインポートしたら、ODBC DSNセットアップ・ページのディメンション表の正規化フィールドの値をいいえに変更してください。Oracle BIサーバーでRPASドライバに対する最適化されたSQLが正しく生成されるようにするには、インポート後にこの設定をいいえに戻す必要があります。
注意: ディメンション表の正規化の設定値をいいえに変更しなかった場合、ほとんどの問合せは失敗し、次のようなエラー・メッセージが表示されます。

[nQSError: 16001] ODBC error state: S0022 code: 0 message: [Oracle Retail][RPAS
ODBC]Column:YEAR_LABEL not found..[nQSError: 16014] SQL statement preparation
failed. Statement execute failed.

- Oracle RPASが唯一のデータ・ソースである場合は、NQSConfig.INIファイルでNULL_VALUES_SORT_FIRSTの値をONに設定する必要があります。NQSConfig.INIでの値の設定の詳細は、『Oracle Fusion Middleware Oracle Business Intelligence Enterprise Editionシステム管理者ガイド』を参照してください。

Oracle RPASデータ・ソースからのメタデータのインポート後に、スキーマのデータベース・オブジェクトが自動的に作成されます。RPASのバージョンによっては、「データ・ソース定義」:「データベース・プロパティ」(「データベース」ダイアログの「一般」タブにあります)を次の理由で調節する必要が生じる場合もあります。

RPASが「データ・ソース定義」の「データベース」フィールドで指定されていて、RPASのバージョンが1.2.2以前である場合、BIサーバーでは、SQLが生成されてデータベースに送信されるときに集計ナビゲーションを実行しますが、これは論理表ソースのナビゲーションで通常に実行される方法とは異なります。生成済SQLで使用される表名は自動的に生成されるため、生成済SQLとデータベース表名との間で不一致が生じます。SQLを実行可能にするには、次のように処理する必要があります。

- メタデータにリストされた表の名前を変更して、生成された名前が正しくなるようにします。

- 生成された名前と同じ名前の表をデータベースに作成します。

データベースに同じ名前の表がなかったり、標準の集計ナビゲーションをOracle Business Intelligence内に入れる場合には、「データ・ソース定義」の「データベース」フィールドをRPASからODBC Basicに変更する必要があります。詳細は、「物理レイヤーでのデータベース・オブジェクトの手動での作成」を参照してください。

XMLデータ・ソースからのメタデータのインポート

この項では、Extensible Markup Language (XML)ドキュメントからメタデータをインポートする方法について説明します。XMLは、Webにおける構造化ドキュメントおよびデータの汎用形式です。それは、構造化データを保存するデータベースとして使用することもできます。

Oracle BIサーバーでは、Oracle BIサーバーXML Gatewayを使用したアクセスと、XML ODBCドライバを使用したアクセスという、2つのXMLアクセス・モードがサポートされます。

この項には次のトピックが含まれます:

- データ・ソースとしてのXMLの使用について

- XML Gatewayを使用したXMLデータ・ソースからのメタデータのインポート

- XML ODBCを使用したXMLデータ・ソースからのメタデータのインポート

- XMLドキュメントの例

データ・ソースとしてのXMLの使用について

Oracle BIサーバーでは、リポジトリの物理レイヤーのデータ・ソースとしてXMLデータ・ソースを使用できます。XMLデータ・ソースへのアクセスに使用する方法に応じて、データ・ソースは次のいずれかのソースを指すURLで表すことができます。

- XMLデータ・アイランドが格納された、インターネット(イントラネットやエクストラネットを含む)上の静的XMLファイルまたはHTMLファイル。例:
tap://216.217.17.176/[DE0A48DE-1C3E-11D4-97C9-00105AA70303].XML

- サーバー・サイトから生成される動的XML。例:
tap://www.aspserver.com/example.asp

- XMLデータ・アイランドが格納された、ローカル・ドライブまたはネットワーク・ドライブ上のXMLファイルまたはHTMLファイル。例:
d:/xmldir/example.xml

d:/htmldir/island.htm

ローカルまたはネットワークXMLファイルのディレクトリ・パスを指定することも、ファイル名でワイルドカードとしてアスタリスク( * )を使用することもできます。ファイル名を指定せずにディレクトリ・パスを指定した場合(例: d:/xmldir)、XML拡張子を持つすべてのファイルがインポートされます。例:

d:/xmldir/

d:/xmldir/exam*.xml

d:/htmldir/exam*.htm

d:/htmldir/exam*.html

- <table>タグと</table>タグのペアで定義された表が格納されたHTMLファイル。HTMLファイルは、インターネット上(イントラネットやエクストラネットなど)にある場合もあれば、ローカル・ドライブまたはネットワーク・ドライブにある場合もあります。詳細は、「HTML表へのアクセス」を参照してください。

URLにリポジトリ変数またはセッション変数を含めると、URLに埋め込まれたユーザーIDおよびパスワードを許可するHTTPデータ・ソースがサポートされます。例:

http://somewebserver/cgi.pl?userid=valueof(session_variable1)&password=
valueof(session_variable2)

この機能を使用して、ランタイム・パラメータによって動的に決定される場所を含むXMLデータ・ソースを作成することもできます。変数の詳細は、第19章を参照してください。

Oracle BIサーバーがローカル以外のファイル(ネットワーク・ファイルやインターネット上のファイルなど)にアクセスする必要がある場合は、それらのリモート・ファイルにアクセスするための十分なネットワーク権限がある、有効なユーザーIDとパスワードを使用してOracle BIサーバーを実行する必要があります。

XML Gatewayを使用したXMLデータ・ソースからのメタデータのインポート

Oracle BIサーバーXML Gatewayを使用すると、メタデータのインポート・プロセスによって、XMLドキュメントが、XMLファイル名の語幹(接尾辞のないファイル名)を表名として使用し、XMLドキュメントの第2レベルの要素を行デリミタとして使用して、表形式にフラット化されます。すべてのリーフ・ノードは、その表に属する列としてインポートされます。リーフ・ノードへの階層アクセス・パスもインポートされます。

Oracle BIサーバーXML Gatewayでは、XMLスキーマに格納されたメタデータ情報が使用されます。XMLスキーマはXMLドキュメント内に含まれているか、XMLドキュメントのルート要素内で参照されます。

使用可能なスキーマがない場合は、すべてのXMLデータがテキスト・データとしてインポートされます。リポジトリの作成時に、物理レイヤーの列のデータ型を変更して、スキーマで定義されている対応する列のデータ型を上書きできます。ゲートウェイによって、入力データが、物理レイヤーで指定した目的の型に変換されます。CAST演算子を使用して、管理ツールのビジネス・モデルとマッピング・レイヤーでテキスト・データ型を他のデータ型にマップすることもできます。

Oracle BIサーバーXML Gatewayでは、次の項目はサポートされません。

- XMLドキュメントに含まれる外部参照の解決(「Oracle BIサーバーXML Gatewayによって生成されるXMLドキュメントの例」のサンプル・ファイルに示されている外部XMLスキーマへの参照を除く)

- Microsoft XMLスキーマに含まれる要素および属性の継承

- 混合コンテンツ・モデルの要素タイプ(<p> hello <b>Joe</b>, how are you doing?</p>のように、要素とCDATAが混在するXML要素など)

Oracle BIサーバーXML Gatewayを使用してXMLデータをインポートするには:

1. 管理ツールで、「ファイル」を選択し、「メタデータのインポート」を選択します。メタデータのインポート・ウィザードが表示されます。

注意:
既存のデータベースおよび接続プールをすでに定義している場合は、物理レイヤーの接続プールを右クリックし、「メタデータのインポート」を選択します。メタデータのインポート・ウィザードが開き、情報があらかじめ入力された「データ・ソースの選択」画面が表示されます。

図5-4に、メタデータのインポート・ウィザードを示します。

図5-4 メタデータのインポート・ウィザード: XMLデータ・ソース

「論理モデルへのマップ」画面および「ウェアハウスに公開」画面は、ADFデータ・ソースでのみ使用可能なことに注意してください。詳細は、「「論理モデルへのマップ」画面と「ウェアハウスに公開」画面について」を参照してください。

2. 「データ・ソースの選択」画面の「接続タイプ」フィールドで「XML」を選択します。続いて、次の値を指定します。

- 「URL」フィールドで、XMLデータ・ソースのURLを指定します。Oracle BIサーバーXML Gatewayでは、前の項で説明したすべてのデータ・ソースがサポートされます。
URLには、リポジトリ変数またはセッション変数を含めることができます。変数の詳細は、第19章を参照してください。

「参照」をクリックすると、「XMLファイルの選択」ダイアログが表示され、ファイルを1つ選択できます。XMLドキュメントの場合、URL内でファイル名を指定する際に拡張子.xmlを付ける必要があります。拡張子を付けなかった場合、ドキュメントはHTMLドキュメントとして処理されます。

- 該当するフィールドに、HTTP基本認証セキュリティ・モードを採用しているHTTPサイトへの接続に使用するユーザー名とパスワードを入力します(オプション)。
HTTP基本認証セキュリティ・モードに加え、Oracle BIサーバーXML Gatewayでは、セキュアHTTPプロトコル、および以前はNTLMまたはWindows NT Challenge/Response認証と呼ばれていた統合Windows認証(Windows 2000の場合)もサポートされます。

「データ・ソースの選択」画面で情報を入力し終わったら、「次へ」をクリックします。「メタデータ型の選択」画面が表示されます。

3. インポートするオブジェクトのタイプに対応するオプション(「表」、「キー」、「外部キー」など)を選択します。最も一般的なオプションは自動的に選択されます。
結合をインポートするには、「キー」と「外部キー」の両方を選択します。システム表をインポートするには、データ・ソースのシステム権限が必要です。

4. 「次へ」をクリックします。「メタデータ・オブジェクトの選択」画面が表示されます。

5. インポートするオブジェクトを「使用可能」リストで選択し、「>」(選択対象をインポート)ボタンまたは「>>」(すべてインポート)ボタンを使用して「選択済」リストに移動します。「<」(選択対象を削除)ボタンおよび「<<」(すべて削除)ボタンを使用して、「選択済」リストから「使用可能」リストにオブジェクトを戻すこともできます。
特定の項目を検索するには、「検索」ボックスにキーワードを入力し、「下方検索」または「上方検索」をクリックします。

すでにインポートされているオブジェクトを含め、すべてのオブジェクトを表示するには、「完全な構造の表示」を選択します。このオプションの選択を解除すると、インポート可能なオブジェクトのみが表示されます。このオプションを選択した場合、すでにインポートされているオブジェクトはグレー表示されます。

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

XMLデータをインポートしたら、接続プールの設定を調整する必要があります。詳細は、「接続プールの作成または変更」を参照してください。少なくとも、次の作業を実行する必要があります。

- 「接続プール」ダイアログの「一般」タブで、接続の名前および説明(オプション)を入力します。

- 「XML」タブをクリックして、URLリフレッシュ間隔や、タイムアウトするまでのURLのロードの待ち時間など、その他の接続プロパティを設定します。
一般に、XMLデータ・ソースはリアルタイムで頻繁に更新されるため、Oracle BIサーバーXML Gatewayデータ・ソースのリフレッシュ間隔を指定できます。デフォルトの問合せのタイムアウト間隔(URLのロードのタイムアウト)は15分です。詳細は、『Oracle Fusion Middleware Oracle Business Intelligence Enterprise Editionシステム管理者ガイド』のXMLデータ・ソースのリフレッシュ間隔に関する項を参照してください。

Oracle BIサーバーXML Gatewayによって生成されるXMLドキュメントの例

例5-1と例5-2に、Oracle BIサーバーXML Gatewayによって生成されるXMLドキュメントのサンプルおよび対応する列を示します。

例5-1 外部ファイルに格納されたXMLスキーマ

次のサンプルXMLデータ・ドキュメント(mytest.xml)は、外部ファイルに格納されたXMLスキーマを参照します。スキーマ・ファイルは、データ・ドキュメントの後に示します。これによって生成される、リポジトリにインポート可能なXMLスキーマ情報は最後に示します。

<?xml version="1.0"?>
<test xmlns="x-schema:mytest_sch.xml">

<row>
<p1>0</p1>
<p2 width="5">
<p3>hi</p3>
<p4>
<p6>xx0</p6>
<p7>yy0</p7>
</p4>
<p5>zz0</p5>
</p2>
</row>

<row>
<p1>1</p1>
<p2 width="6">
<p3>how are you</p3>
<p4>
<p6>xx1</p6>
<p7>yy1</p7>
</p4>
<p5>zz1</p5>
</p2>
</row>

<row>
<p1>a</p1>
<p2 width="7">
<p3>hi</p3>
<p4>
<p6>xx2</p6>
<p7>yy2</p7>
</p4>
<p5>zz2</p5>
</p2>
</row>

<row>
<p1>b</p1>
<p2 width="8">
<p3>how are they</p3>
<p4>
<p6>xx3</p6>
<p7>yy3</p7>
</p4>
<p5>zz2</p5>
</p2>
</row>
</test>

対応するスキーマ・ファイルは次のとおりです。

<Schema xmlns="urn:schemas-microsoft-com:xml-data"
xmlns:dt="urn:schemas-microsoft-com:datatypes">
<ElementType name="test" content="eltOnly" order="many">
<element type="row"/>
</ElementType>
<ElementType name="row" content="eltOnly" order="many">
<element type="p1"/>
<element type="p2"/>
</ElementType>
<ElementType name="p2" content="eltOnly" order="many">
<AttributeType name="width" dt:type="int" />
<attribute type="width" />
<element type="p3"/>
<element type="p4"/>
<element type="p5"/>
</ElementType>
<ElementType name="p4" content="eltOnly" order="many">
<element type="p6"/>
<element type="p7"/>
</ElementType>
<ElementType name="p1" content="textOnly" dt:type="string"/>
<ElementType name="p3" content="textOnly" dt:type="string"/>
<ElementType name="p5" content="textOnly" dt:type="string"/>
<ElementType name="p6" content="textOnly" dt:type="string"/>
<ElementType name="p7" content="textOnly" dt:type="string"/>
</Schema>

前述のXMLデータ・ドキュメント(mytest.xml)から生成される表の名前はmytest、列名はp1、p3、p6、p7、p5およびwidthとなります。

さらに、各列がドキュメントに出現するコンテキストを保持し、XML要素から派生した、異なるコンテキストで出現する同名の列を区別するために、World Wide Web ConsortiumのXPathに関する勧告に基づいて、列の完全修飾名の次のようなリストが生成されます。

//test/row/p1
//test/row/p2/p3
//test/row/p2/p4/p6
//test/row/p2/p4/p7
//test/row/p2/p5
//test/row/p2@width

例5-2 XMLドキュメント内のネストされた表構造

次の例はさらに複雑なサンプルで、XMLドキュメントでネストされた表構造を使用する方法を示します。オプションで、外部スキーマ・ファイルへの参照を省略することもできます。その場合は、すべての要素がVarchar文字型として処理されます。

===Invoice.xml===
<INVOICE>
<CUSTOMER>
<CUST_ID>1</CUST_ID>
<FIRST_NAME>Nancy</FIRST_NAME>
<LAST_NAME>Fuller</LAST_NAME>
<ADDRESS>
<ADD1>507 - 20th Ave. E.,</ADD1>
<ADD2>Apt. 2A</ADD2>
<CITY>Seattle</CITY>
<STATE>WA</STATE>
<ZIP>98122</ZIP>
</ADDRESS>
<PRODUCTS>
<CATEGORY>
<CATEGORY_ID>CAT1</CATEGORY_ID>
<CATEGORY_NAME>NAME1</CATEGORY_NAME>
<ITEMS>
<ITEM>
<ITEM_ID>1</ITEM_ID>
<NAME></NAME>
<PRICE>0.50</PRICE>
<QTY>2000</QTY>
</ITEM>
<ITEM>
<ITEM_ID>2</ITEM_ID>
<NAME>SPRITE</NAME>
<PRICE>0.30</PRICE>
<QTY></QTY>
</ITEM>
</ITEMS>
</CATEGORY>
<CATEGORY>
<CATEGORY_ID>CAT2</CATEGORY_ID>
<CATEGORY_NAME>NAME2</CATEGORY_NAME>
<ITEMS>
<ITEM>
<ITEM_ID>11</ITEM_ID>
<NAME>ACOKE</NAME>
<PRICE>1.50</PRICE>
<QTY>3000</QTY>
</ITEM>
<ITEM>
<ITEM_ID>12</ITEM_ID>
<NAME>SOME SPRITE</NAME>
<PRICE>3.30</PRICE>
<QTY>2000</QTY>
</ITEM>
</ITEMS>
</CATEGORY>
</PRODUCTS>
</CUSTOMER>
<CUSTOMER>
<CUST_ID>2</CUST_ID>
<FIRST_NAME>Andrew</FIRST_NAME>
<LAST_NAME>Carnegie</LAST_NAME>
<ADDRESS>
<ADD1>2955 Campus Dr.</ADD1>
<ADD2>Ste. 300</ADD2>
<CITY>San Mateo</CITY>
<STATE>CA</STATE>
<ZIP>94403</ZIP>
</ADDRESS>
<PRODUCTS>
<CATEGORY>
<CATEGORY_ID>CAT22</CATEGORY_ID>
<CATEGORY_NAME>NAMEA1</CATEGORY_NAME>
<ITEMS>
<ITEM>
<ITEM_ID>122</ITEM_ID>
<NAME>DDDCOKE</NAME>
<PRICE>11.50</PRICE>
<QTY>2</QTY>
</ITEM>
<ITEM>
<ITEM_ID>22</ITEM_ID>
<NAME>PSPRITE</NAME>
<PRICE>9.30</PRICE>
<QTY>1978</QTY>
</ITEM>
</ITEMS>
</CATEGORY>
<CATEGORY>
<CATEGORY_ID>CAT24</CATEGORY_ID>
<CATEGORY_NAME>NAMEA2</CATEGORY_NAME>
<ITEMS>
<ITEM>
<ITEM_ID>19</ITEM_ID>
<NAME>SOME COKE</NAME>
<PRICE>1.58</PRICE>
<QTY>3</QTY>
</ITEM>
<ITEM>
<ITEM_ID>15</ITEM_ID>
<NAME>DIET SPRITE</NAME>
<PRICE>9.30</PRICE>
<QTY>12000</QTY>
</ITEM>
</ITEMS>
</CATEGORY>
</PRODUCTS>
</CUSTOMER>
<CUSTOMER>
<CUST_ID>3</CUST_ID>
<FIRST_NAME>Margaret</FIRST_NAME>
<LAST_NAME>Leverling</LAST_NAME>
<ADDRESS>
<ADD1>722 Moss Bay Blvd.</ADD1>
<ADD2> </ADD2>
<CITY>Kirkland</CITY>
<STATE>WA</STATE>
<ZIP>98033</ZIP>
</ADDRESS>
<PRODUCTS>
<CATEGORY>
<CATEGORY_ID>CAT31</CATEGORY_ID>
<CATEGORY_NAME>NAMEA3</CATEGORY_NAME>
<ITEMS>
<ITEM>
<ITEM_ID>13</ITEM_ID>
<NAME>COKE33</NAME>
<PRICE>30.50</PRICE>
<QTY>20033</QTY>
</ITEM>
<ITEM>
<ITEM_ID>23</ITEM_ID>
<NAME>SPRITE33</NAME>
<PRICE>0.38</PRICE>
<QTY>20099</QTY>
</ITEM>
</ITEMS>
</CATEGORY>
<CATEGORY>
<CATEGORY_ID>CAT288</CATEGORY_ID>
<CATEGORY_NAME>NAME H</CATEGORY_NAME>
<ITEMS>
<ITEM>
<ITEM_ID>19</ITEM_ID>
<NAME>COLA</NAME>
<PRICE>1.0</PRICE>
<QTY>3</QTY>
</ITEM>
<ITEM>
<ITEM_ID>18</ITEM_ID>
<NAME>MY SPRITE</NAME>
<PRICE>8.30</PRICE>
<QTY>123</QTY>
</ITEM>
</ITEMS>
</CATEGORY>
</PRODUCTS>
</CUSTOMER>
</INVOICE>

生成されるXMLスキーマは、次の列名および対応する完全修飾名を持つ1つの表(INVOICE)で構成されます。

列

完全修飾名

ADD1

//INVOICE/CUSTOMER/ADDRESS/ADD1

ADD2

//INVOICE/CUSTOMER/ADDRESS/ADD2

CITY

//INVOICE/CUSTOMER/ADDRESS/CITY

STATE

//INVOICE/CUSTOMER/ADDRESS/STATE

ZIP

//INVOICE/CUSTOMER/ADDRESS/ZIP

CUST_ID

//INVOICE/CUSTOMER/CUST_ID

FIRST_NAME

//INVOICE/CUSTOMER/FIRST_NAME

LAST_NAME

//INVOICE/CUSTOMER/LAST_NAME

CATEGORY_ID

//INVOICE/CUSTOMER/PRODUCTS/CATEGORY/CATEGORY_ID

CATEGORY_NAME

//INVOICE/CUSTOMER/PRODUCTS/CATEGORY/CATEGORY_NAME

ITEM_ID

//INVOICE/CUSTOMER/PRODUCTS/CATEGORY/ITEMS/ITEM/ITEM_ID

NAME

//INVOICE/CUSTOMER/PRODUCTS/CATEGORY/ITEMS/ITEM/NAME

PRICE

//INVOICE/CUSTOMER/PRODUCTS/CATEGORY/ITEMS/ITEM/PRICE

QTY

//INVOICE/CUSTOMER/PRODUCTS/CATEGORY/ITEMS/ITEM/QTY

値を持つタグのみが列として抽出されます。XML問合せではタグの完全修飾名が生成されるため、適切な列が取得されていることを確認できます。

次に、INVOICE表に対するサンプル問合せの結果を示します。

SELECT first_name, last_name, price, qty, name FROM invoice
------------------------------------------------------------
FIRST_NAME  LAST_NAME         PRICE   QTY    NAME
------------------------------------------------------------
Andrew      Carnegie           1.58     3    SOME COKE
Andrew      Carnegie          11.50     2    DDDCOKE
Andrew      Carnegie           9.30   12000  DIET SPRITE
Andrew      Carnegie           9.30    1978  PSPRITE
Margar      Leverling          0.38   20099  SPRITE33
Margar      Leverling          1.0      3    COLA
Margar      Leverling         30.50   20033  COKE33
Margar      Leverling          8.30    123   MY SPRITE
Nancy       Fuller             0.30          SPRITE
Nancy       Fuller             0.50    2000
Nancy       Fuller             1.50    3000  ACOKE
Nancy       Fuller             3.30    2000  SOME SPRITE
------------------------------------------------------------
Row count: 12

HTML表へのアクセス

Oracle BIサーバーXML Gatewayでは、HTMLファイル内の表をデータ・ソースとして使用することもできます。HTMLファイルは、インターネット(イントラネットやエクストラネットを含む)上のファイルを指すURLとして指定することも、ローカル・ドライブまたはネットワーク・ドライブ上のファイルとして指定することもできます。

<table>タグと</table>タグのペアで定義される表がHTML 4.0仕様のネイティブな構成メンバーであっても、Webデザイナは多くの場合、これをデータ構造としてではなく、特定の視覚効果を達成するための一般的なフォーマット方法として使用します。Oracle BIサーバーXML Gatewayは現在、<th>タグと</th>タグのペアで定義された、特定の列ヘッダーを含む表を最も効果的に抽出します。

特定の列ヘッダーを含まない表については、Oracle BIサーバーXML Gatewayは、単純な経験則をいくつか採用して、実際のデータ表であると思われるHTMLファイルの部分をできるだけ正しく特定します。

次に、1つの表を含むサンプルHTMLファイルを示します。

<html>
<body>
<table border=1 cellpadding=2 cellspacing=0>
<tr>
<th colspan=1>Transaction</th>
<th colspan=2>Measurements</th>
</tr>
<tr>
<th>Quality</th>
<th>Count</th>
<th>Percent</th>
</tr>
<tr>
<td>Failed</td>
<td>66,672</td>
<td>4.1%</td>
</tr>
<tr>
<td>Poor</td>
<td>126,304</td>
<td>7.7%</td>
</tr>
<tr>
<td>Warning</td>
<td>355,728</td>
<td>21.6%</td>
</tr>
<tr>
<td>OK</td>
<td>1,095,056</td>
<td>66.6%</td>
</tr>
<tr>
<td colspan=1>Grand Total</td>
<td>1,643,760</td>
<td>100.0%</td>
</tr>
</table>
</body>
</html>

表名はHTMLファイルの名前から派生し、列名は、対応する列のヘッダー(<th>タグと</th>タグのペアで定義されるもの)をアンダースコアで区切って連結することにより形成されます。

サンプル・ファイルの名前を18.htmとすると、表名は18_0となり(そのHTMLファイルの最初の表であるため)、列名および対応する完全修飾名は次のようになります。

列

完全修飾名

Transaction_Quality

\\18_0\Transaction_Quality

Measurements_Count

\\18_0\Measurements_Count

Measurements_Percent

\\18_0\Measurements_Percent

表の列ヘッダーが複数の行に出現する場合は、それらのヘッダー行の対応するフィールド・コンテンツを連結することにより列名が形成されます。

ヘッダー・タグのペアがない表については、Oracle BIサーバーXML Gatewayは、最初の行のフィールド値(<td>タグと</td>タグのペアで区切られたもの)を列名と見なします。列には、出現する順に名前が付けられます(例: c0、c1)。

その他のXMLの例については、「XML ODBCを使用したXMLデータ・ソースからのメタデータのインポート」および「XMLドキュメントの例」を参照してください。

XML ODBCを使用したXMLデータ・ソースからのメタデータのインポート

XML ODBCデータベース・タイプを使用すると、ODBCインタフェースを介してXMLデータ・ソースにアクセスできます。物理表の物理列を表すXML要素のデータ型は、XMLスキーマで定義されたXML要素のデータ型から派生します。適切なXMLスキーマがない場合は、デフォルトの文字列データ型が使用されます。物理レイヤーにおけるデータ型の設定によって、XMLデータ・ソースで定義されたデータ型が上書きされることはありません。XMLスキーマがないXMLデータにアクセスする場合は、CAST演算子を使用して、管理ツールのビジネス・モデルとマッピング・レイヤーでデータ型の変換を実行してください。

ODBCを使用してXMLデータをインポートするには:

1. ODBC経由でXMLデータ・ソースにアクセスするには、まず、XML ODBCドライバのライセンスを入手し、インストールする必要があります。

2. アクセスするXMLデータ・ソースを指すODBC DSNを作成し、XML ODBCデータ・ソース・タイプを選択していることを確認します。

3. 管理ツールで、「ファイル」を選択し、「メタデータのインポート」を選択します。

4. ダイアログの指示に従って、ODBC DSNをリポジトリにインポートします。詳細は、「リレーショナル・データ・ソースからのメタデータのインポート」を参照してください。

注意:
XML ODBCの制限事項により、「メタデータ型の選択」画面で「シノニム」オプションを選択する必要があります。このオプションを選択しなかった場合、表はインポートされません。

XML ODBCデータ・ソースの例

例5-3に、Microsoft ADOの保存ファイル形式によるXML ODBCデータ・ソースの例を示します。データとスキーマの両方を同じドキュメントに含めることができます。

例5-3 XML ODBCの例

<xml xmlns:s='uuid:BDC6E3F0-6DA3-11d1-A2A3-00AA00C14882'
xmlns:dt='uuid:C2F41010-65B3-11d1-A29F-00AA00C14882'
xmlns:rs='urn:schemas-microsoft-com:rowset'
xmlns:z='#RowsetSchema'>
<s:Schema id='RowsetSchema'>
<s:ElementType name='row' content='eltOnly' rs:CommandTimeout='30'
rs:updatable='true'>
<s:AttributeType name='ShipperID' rs:number='1' rs:writeunknown='true'
rs:basecatalog='Paint' rs:basetable='Shippers' rs:basecolumn='ShipperID'>
<s:datatype dt:type='i2' dt:maxLength='2' rs:precision='5'
rs:fixedlength='true' rs:benull='false'/>
</s:AttributeType>
<s:AttributeType name='CompanyName' rs:number='2' rs:writeunknown='true'
rs:basecatalog='Paint' rs:basetable='Shippers' rs:basecolumn='CompanyName'>
<s:datatype dt:type='string' rs:dbtype='str' dt:maxLength='40'
rs:benull='false'/>
</s:AttributeType>
<s:AttributeType name='Phone' rs:number='3' rs:nullable='true'
rs:writeunknown='true' rs:basecatalog='Paint' rs:basetable='Shippers'
rs:basecolumn='Phone'>
<s:datatype dt:type='string' rs:dbtype='str' dt:maxLength='24'
rs:fixedlength='true'/>
</s:AttributeType>
<s:extends type='rs:rowbase'/>
</s:ElementType>
</s:Schema>
<rs:data>
<z:row ShipperID='1' CompanyName='Speedy Express' Phone='(503)
555-9831          '/>
<z:row ShipperID='2' CompanyName='United Package' Phone='(503)
555-3199          '/>
<z:row ShipperID='3' CompanyName='Federal Shipping' Phone='(503)
555-9931          '/>
</rs:data>
</xml>

XMLドキュメントの例

次のXMLドキュメントでは、様々な状況の例を紹介し、Oracle BIサーバーのXMLアクセス方法でそれらの状況がどのように処理されるかを説明します。

- XMLドキュメント83.xmlと8_sch.xml (例5-4および例5-5を参照)は、異なるスコープで同じ要素宣言を使用する方法を示しています。たとえば、<p3>を<p2>内および<p4>内で使用できます。
前述の例の要素<p3>は2つの異なるスコープに出現するため、インポート・プロセスで2回目にこの要素が出現したときに索引番号を追加することによって、各要素に異なる列名が付けられます。この場合、2回目に出現した要素はp3_1となります。さらに他のコンテキストで<p3>が出現する場合は、p3_2、p3_3となります。

- XMLドキュメント83.xmlと84.xml (例5-4および例5-6を参照)は、複数のXMLファイルで同じスキーマ(8_sch.xml)を共有できることを示しています。

- Internet Explorerバージョン5以降では、XMLアイランドと呼ばれる埋込みXMLフラグメントを含むHTMLドキュメントがサポートされます。XMLドキュメントisland2.htm (例5-7を参照)は、複数のXMLデータ・アイランドおよび複数の表を1つのドキュメントから生成できる単純な状況を示しています。XMLアイランドのインスタンスごとに表が1つずつ生成されます。表を区別するために、ドキュメント名に適切な索引が追加されます。island2.htmの場合、island2_0およびisland2_1という2つのXML表が生成されます。

例5-4 83.xml

===83.xml===
<?xml version="1.0"?>
<test xmlns="x-schema:8_sch.xml">|
<row>
<p1>0</p1>
<p2 width="5" height="2">
<p3>hi</p3>
<p4>
<p3>hi</p3>
<p6>xx0</p6>
<p7>yy0</p7>
</p4>
<p5>zz0</p5>
</p2>
</row>

<row>
<p1>1</p1>
<p2 width="6" height="3">
<p3>how are you</p3>
<p4>
<p3>hi</p3>
<p6>xx1</p6>
<p7>yy1</p7>
</p4>
<p5>zz1</p5>
</p2>
</row>
</test>

例5-5 8_sch.xml

===8_sch.xml===
<Schema xmlns="urn:schemas-microsoft-com:xml-data"
xmlns:dt="urn:schemas-microsoft-com:datatypes">
<AttributeType name="height" dt:type="int" />
<ElementType name="test" content="eltOnly" order="many">
<AttributeType name="height" dt:type="int" />
<element type="row"/>
</ElementType>
<ElementType name="row" content="eltOnly" order="many">
<element type="p1"/>
<element type="p2"/>
</ElementType>
<ElementType name="p2" content="eltOnly" order="many">
<AttributeType name="width" dt:type="int" />
<AttributeType name="height" dt:type="int" />
<attribute type="width" />
<attribute type="height" />
<element type="p3"/>
<element type="p4"/>
<element type="p5"/>
</ElementType>
<ElementType name="p4" content="eltOnly" order="many">
<element type="p3"/>
<element type="p6"/>
<element type="p7"/>
</ElementType>
<ElementType name="test0" content="eltOnly" order="many">
<element type="row"/>
</ElementType>
<ElementType name="p1" content="textOnly" dt:type="string"/>
<ElementType name="p3" content="textOnly" dt:type="string"/>
<ElementType name="p5" content="textOnly" dt:type="string"/>
<ElementType name="p6" content="textOnly" dt:type="string"/>
<ElementType name="p7" content="textOnly" dt:type="string"/>
</Schema>

例5-6 84.xml

===84.xml===
<?xml version="1.0"?>
<test0 xmlns="x-schema:8_sch.xml">
<row>
<p1>0</p1>
<p2 width="5" height="2">
<p3>hi</p3>
<p4>
<p3>hi</p3>
<p6>xx0</p6>
<p7>yy0</p7>
</p4>
<p5>zz0</p5>
</p2>
</row>

<row>
<p1>1</p1>
<p2 width="6" height="3">
<p3>how are you</p3>
<p4>
<p3>hi</p3>
<p6>xx1</p6>
<p7>yy1</p7>
</p4>
<p5>zz1</p5>
</p2>
</row>
</test0>

例5-7 Island2.htm

===island2.htm===
<HTML>
<HEAD>
<TITLE>HTML Document with Data Island</TITLE>
</HEAD>
<BODY>
<p>This is an example of an XML data island in I.E. 5</p>
<XML ID="12345">
test>
<row>
<field1>00</field1>
<field2>01</field2>
</row>
<row>
<field1>10</field1>
<field2>11</field2>
</row>
<row>
<field1>20</field1>
<field2>21</field2>
</row>
</test>
</XML>
<p>End of first example.</p>
<XML ID="12346">
<test>
<row>
<field11>00</field11>
<field12>01</field12>
</row>
<row>
<field11>10</field11>
<field12>11</field12>
</row>
<row>
<field11>20</field11>
<field12>21</field12>
</row>
</test>
</XML>
<p>End of second example.</p>
</BODY>
</HTML>

Oracle Business Intelligenceでのスタンバイ・データベースの使用

スタンバイ・データベースは主に、高可用性およびフェイルオーバー機能でプライマリ・データベースのバックアップとして使用されます。スタンバイ・データベース構成では、プライマリ・データベースからセカンダリ・データベースへの定期的にスケジュールされたレプリケーションが実行されます。このレプリケーションの待ち時間は、セカンダリ・データベースからの読取り中にプライマリ・データベースに書込むことによって同期やデータの整合性の問題が発生しないように短くする必要があります。

スタンバイ・データベースは基本的に読取り専用データベースであるため、ビジネス・インテリジェンスの問合せサーバーとして使用することで、プライマリ・データベースのワークロードを解放し、問合せのパフォーマンスを向上させることができます。

次の項では、Oracle Business Intelligenceでスタンバイ・データベースを使用する方法について説明します。

- Oracle Business Intelligenceでのスタンバイ・データベースの使用について

- スタンバイ・データベース構成のデータベース・オブジェクトの作成

- スタンバイ・データベース構成の接続プールの作成

- スタンバイ・データベース構成でのライトバック・スクリプトの更新

- スタンバイ・データベース構成での使用状況トラッキングの設定

- スタンバイ・データベース構成でのイベント・ポーリングの設定

- スタンバイ・データベース構成でのOracle BIスケジューラの設定

Oracle Business Intelligenceでのスタンバイ・データベースの使用について

スタンバイ・データベース構成には2つのデータベースがあります。すべての書込み操作を処理し、データ整合性のための真実のソースとなるプライマリ・データベースと、読取り専用ソースとして公開されるセカンダリ・データベースです。Oracle Business Intelligenceでスタンバイ・データベース構成を使用すると、すべての書込み操作がプライマリ・データベースにオフロードされ、読取り操作がスタンバイ・データベースに送信されます。

プライマリ・ソースにルーティングする必要がある書込み操作には、次のようなものがあります。

- Oracle BIスケジューラのジョブおよびインスタンス・データ

- パフォーマンスを向上させるための一時表

- 集計の継続性のためのライトバック・スクリプト

- 使用状況トラッキング・データ(使用状況トラッキングが有効になっている場合)

- イベント・ポーリング表のデータ(イベント・ポーリング表を使用する場合)

次に、スタンバイ・データベースを使用するようにOracle BIサーバーを構成する方法の概要を示します。

1. スタンバイ・データベース構成のデータベース・オブジェクトを1つ作成します。一時表の作成は無効にしてください。

2. データベース・オブジェクトの接続プールを2つ構成します。

- スタンバイ・データベースを指す読取り専用の接続プール

- 書込み操作に使用するプライマリ・データベースを指す接続プール

3. データベースへの書込みを行う接続スクリプトを更新して、プライマリ・データベースの接続プールを明示的に指定します。

4. 使用状況トラッキングが有効になっている場合、プライマリ接続を使用するように使用状況のトラッキングの構成を更新します。

5. イベント・ポーリング表を使用する場合、プライマリ接続を使用するようにイベント・ポーリング・データベースの構成を更新します。

6. Oracle BIスケジューラがスタンバイ・ソースを使用するように構成されていないことを確認します。

スタンバイ・データベース構成には2つの異なる物理データ・ソースがありますが、物理レイヤーに作成するデータベース・オブジェクトは1つだけです。図5-5に、物理レイヤーにおけるスタンバイ・データベース構成のデータベース・オブジェクトと接続プールを示します。

図5-5 物理レイヤーのスタンバイ・データベース構成

スタンバイ・データベース構成のデータベース・オブジェクトの作成

スタンバイ・データベース構成のデータベース・オブジェクトをリポジトリに作成するには、管理ツールを使用します。データベース・オブジェクトを作成する際には、Oracle BIサーバーがスタンバイ・データベースに一時表を作成しないように、永続接続プールが割り当てられていないことを確認してください。

スタンバイ・データベース構成のデータベース・オブジェクトを作成するには:

1. 管理ツールで、物理レイヤーを右クリックし、「新規データベース」を選択します。

2. データベースの名前を入力し、「データベース」リストでデータベースのタイプを選択します。

3. 「永続化された接続プール」が「未割当て」であることを確認します。

図5-6に、スタンバイ・データベース構成の「データベース」ダイアログを示します。

図5-6 スタンバイ・データベース構成の「データベース」ダイアログ

スタンバイ・データベース構成の接続プールの作成

スタンバイ・データベース構成のデータベース・オブジェクトをリポジトリに作成したら、管理ツールを使用して、2つの接続プールを作成します。スタンバイ・データベースを指す接続プールと、プライマリ・データベースを指す接続プールです。

ほとんどの接続にスタンバイ接続プールが使用されるため、必ず、スタンバイ接続プールが最初に表示されるようにしてください。

注意:
接続プールは、最大接続数に達するまで、表示されている順に使用されます。スタンバイ・データベースのチューニングに合せて最大接続数を設定してください。
最大接続数の設定の詳細は、「接続プールの作成または変更」を参照してください。

スタンバイ・データベース構成のスタンバイ接続プールを作成するには:

1. 管理ツールの物理レイヤーで、スタンバイ・データベース構成のデータベース・オブジェクトを右クリックし、「新規オブジェクト」を選択し、「接続プール」を選択します。

2. 接続プールの名前を入力し、呼出しインタフェースがスタンバイ・データベース・タイプに適していることを確認します。

3. スタンバイ・データベースのデータ・ソース名を入力します。

4. スタンバイ・データベースのユーザー名とパスワードを入力します。

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

図5-7に、スタンバイ接続プールの「接続プール」ダイアログを示します。

図5-7 スタンバイ接続プールの「接続プール」ダイアログ

スタンバイ・データベース構成のプライマリ接続プールを作成するには:

1. 管理ツールの物理レイヤーで、スタンバイ・データベース構成のデータベース・オブジェクトを右クリックし、「新規オブジェクト」を選択し、「接続プール」を選択します。

2. 接続プールの名前を入力し、呼出しインタフェースがプライマリ・データベース・タイプに適していることを確認します。

3. プライマリ・データベースのデータ・ソース名を入力します。

4. プライマリ・データベースのユーザー名とパスワードを入力します。

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

図5-8に、プライマリ接続プールの「接続プール」ダイアログを示します。

図5-8 プライマリ接続プールの「接続プール」ダイアログ

スタンバイ・データベース構成でのライトバック・スクリプトの更新

集計の永続性のためのスクリプトなど、データベースへの書込みを行うスクリプトを使用する場合は、プライマリ接続プールを明示的に参照するようにスクリプトを更新する必要があります。プライマリ接続を介して書き込まれた情報は、(プライマリ・データベースとセカンダリ・データベース間の定期的にスケジュールされたレプリケーションによって)自動的にスタンバイ・データベースに転送され、スタンバイ接続プールを介して使用できるようになります。

次の例は、プライマリ接続プールを明示的に指定する、集計の永続性のためのライトバック・スクリプトを示しています。

create aggregates sc_rev_qty_yr_cat for "DimSnowflakeSales"."SalesFacts"
("Revenue", "QtySold") at levels ("DimSnowflakeSales"."Time"."Year",
"DimSnowflakeSales"."Product"."Category") using connection pool
"StandbyDemo"."Primary Connection" in "StandbyDemo"."My_Schema"

スタンバイ・データベース構成での使用状況トラッキングの設定

Oracle BIサーバーでは、使用状況トラッキング・データの収集がサポートされます。使用状況トラッキングが有効な場合、問合せごとに使用状況トラッキング・データが収集され、統計が使用状況トラッキングのログ・ファイルに書き込まれるか、データベース表に直接挿入されます。

直接挿入を使用して、スタンバイ・データベース構成で使用状況トラッキングを有効にするには、使用状況トラッキング・データの保存に使用する表(通常はS_NQ_ACCT)をプライマリ・データベースに作成する必要があります。その後、管理ツールを使用してリポジトリの物理レイヤーにその表をインポートします。

スタンバイ接続プールとプライマリ接続プールの両方で使用状況トラッキング表のデータベース・オブジェクトが構成されていることを確認する必要があります。その後、使用状況トラッキングのCONNECTION_POOLパラメータがプライマリ・データベースを指していることを確認してください。たとえば、NQSConfig.iniで次のように構成されている必要があります。

CONNECTION_POOL = "StandbyDatabaseConfiguration"."Primary Connection";

使用状況トラッキング・データの表を作成する方法や使用状況トラッキングのパラメータを設定する方法など、使用状況トラッキングの詳細は、『Oracle Fusion Middleware Oracle Business Intelligence Enterprise Editionシステム管理者ガイド』の使用状況トラッキングの管理に関する項を参照してください。

スタンバイ・データベース構成でのイベント・ポーリングの設定

1つ以上の物理表が更新されたことをOracle BIサーバーに通知する方法として、Oracle BIサーバーのイベント・ポーリング表(イベント表)を使用できます。イベント表は、Oracle BIサーバーがアクセス可能なデータベース上の物理表です。通常は管理ツールの物理レイヤーのみに公開され、「物理表」ダイアログでOracle BIサーバーのイベント表として指定されます。

Oracle BIサーバーには、イベント・ポーリング表への書込み権限が必要です。そのため、スタンバイ・データベース構成でイベント・ポーリングを使用する場合は、イベント表のデータベース・オブジェクトがプライマリ接続プールのみを参照するようにする必要があります。

イベント表を設定、アクティブ化および移入する方法など、イベント・ポーリングの詳細は、『Oracle Fusion Middleware Oracle Business Intelligence Enterprise Editionシステム管理者ガイド』のイベント・ポーリング表によるキャッシュ・イベント処理に関する項を参照してください。

スタンバイ・データベース構成でのOracle BIスケジューラの設定

Oracle BIスケジューラは、ジョブ(スクリプト化されたジョブとスクリプト化されていないジョブの両方)の管理とスケジュールを行う拡張可能なアプリケーションおよびサーバーです。スタンバイ・データベース構成でOracle BIスケジューラを使用するには、Oracle BIスケジューラのデータベース・オブジェクトがプライマリ接続プールのみを参照するようにする必要があります。

Oracle BIスケジューラの設定と使用の詳細は、Oracle Fusion Middleware Oracle Business Intelligence Enterprise Editionジョブ・スケジューリング・ガイドのOracle BIスケジューラの構成作業に関する項を参照してください。

6 ADFデータ・ソースでの作業

この章では、Oracle Business Intelligenceで使用するようにOracle ADFビジネス・コンポーネントを設定する方法、およびADFデータ・ソースからメタデータをインポートする方法について説明します。

ADFデータ・ソースに接続することで、Oracle Business Intelligenceユーザーは、ADFフレームワークを使用して作成されたアプリケーションのデータに対して問合せを実行できます。たとえば、Oracle CRMアプリケーションはADFフレームワークを使用して開発されているため、Oracle Business Intelligenceユーザーは、必要なADF Application Programming Interface (API)を実装するADFデータ・ソースを使用してCRMデータに関するレポートを生成できます。

Oracle BIサーバーでADFコンポーネントをデータ・ソースとして使用すると、ユーザーは、ADFフレームワークに基づいて作成されたアプリケーションと業務レポートを簡単に統合できます。

この章には次のトピックが含まれます:

- ADFビジネス・コンポーネントとは

- インポート時の動作

- SQL Bypassデータベースの指定について

- ADFデータ・ソースの設定

- ADFデータ・ソースからのメタデータのインポート

- Oracle WebLogic ServerにおけるSSLの構成

- ADFアプリケーションにカスタム・パラメータを渡す機能の有効化

- ADFデータ・ソースからのラベルおよびツールチップの伝播

ADFビジネス・コンポーネントとは

Oracle Application Development Framework (Oracle ADF)は、J2EEビジネス・サービスを作成し、基礎となるデータベース・オブジェクトを公開するために使用できるオブジェクト・リレーショナル・フレームワークです。このフレームワークによって、アプリケーション開発者が簡単かつ効率的にアプリケーションを作成できる抽象化レイヤーが提供されます。

Oracle ADFを使用してサービス指向のJava EEアプリケーションを作成する際、コア・ビジネス・ロジックを1つ以上のビジネス・サービスとして実装します。これらのバックエンド・サービスは、適切なビジネス・ルールを施行し、かつ必要に応じてビジネス・データの問合せ、挿入、更新および削除を行う手段をクライアントに提供します。ADFビジネス・コンポーネントは、Java EEの設計パターンとベスト・プラクティスを即座に実装できるビルトイン・アプリケーション・オブジェクトです。

ADFモデルは、通常は設計時に構成および定義される、エンティティ・オブジェクトとビュー・オブジェクトと呼ばれるADFビジネス・コンポーネントの構成メンバーを使用して表されます。

- エンティティ・オブジェクト: データベース表内の行を表し、そのデータの変更を簡略化するADFフレームワーク・コンポーネントです。重要なのは、エンティティ・オブジェクトを使用すると、これらの行のドメイン・ビジネス・ロジックをカプセル化できるため、ビジネス・ポリシーおよびビジネス・ルールを一貫して検証できる点です。

- ビュー・オブジェクト: SQL問合せをカプセル化し、その結果の操作を簡略化するADFフレームワーク・コンポーネントです。読取り専用のビュー・オブジェクトに加えて、更新可能な行をサポートするエンティティ・ベースのビュー・オブジェクトがあります。このビュー・オブジェクトは、クライアントが直面している当面のタスクに必要なデータに対してのみ問合せを実行し、ビジネス・ドメイン・レイヤーの1つ以上のエンティティ・オブジェクトと連携して、そのビュー行に加えられた変更を自動的に検証し、保存します。読取り専用のビュー・オブジェクトと同様に、エンティティ・ベースのビュー・オブジェクトはSQL問合せをカプセル化し、ビュー・リンクを使用してマスター/ディテール階層にリンクしたり、アプリケーション・モジュールのデータ・モデルで使用することができます。
ADFを使用して作成されたアプリケーションがデータを取得する際には、ADF APIを使用して、定義されたビュー・オブジェクトに対して問合せを実行します。

ADFモデルには、アプリケーション・モジュールも含まれます。アプリケーション・モジュールは、UIクライアントがアプリケーション・データの操作に使用するトランザクション・コンポーネントです。これによって、エンド・ユーザー・タスクに関連した作業論理ユニットに関連する、更新可能なデータ・モデルやトップレベルのプロシージャおよびファンクション(サービス・メソッド)を定義します。

アプリケーション・モジュールは、複数のビュー・オブジェクトおよびエンティティ・オブジェクトのコンテナとして機能するほか、JDBCデータ・ソースに関連する構成も格納します。

ADFビジネス・コンポーネントを使用した業務レポートについて

Oracle Business IntelligenceとADFビジネス・コンポーネントの統合を使用することで、アプリケーション内のデータに関するレポートを生成できます。たとえば、経費アプリケーションに入力された経費レポート・データに基づいてレポートを生成できます。

そのためには、まず、管理ツールを使用して経費アプリケーションのメタデータをOracle BIリポジトリにインポートし、物理レイヤーからビジネス・モデルとマッピング・レイヤーにデータをマップします。Oracle BIサーバーを再起動し、Oracle BIプレゼンテーション・サービスにメタデータをリロードしたら、Oracle BIアンサーにログインし、列をドラッグ・アンド・ドロップして経費アプリケーションのデータに関するレポートを生成できます。たとえば、列を選択して、カテゴリ別にまとめた経費のレポートを表示できます。

インポート時の動作

インポート時に、必要な物理表および複合結合が自動的に作成されます。インスタンス(ViewObjectおよびViewLink)が、Oracle Business Intelligenceにインポートされます。問合せ実行時、これらのインスタンスから取得された定義を使用してCompositeVOがADFで作成されます。

これらの複合結合はダミー結合であり、Oracle Business Intelligenceでは実行されません。かわりに、それらはADFモデル内のビュー・オブジェクトのペアを接続するViewLinkインスタンスを示します。物理表と複合結合の名前は、それぞれViewObjectインスタンスとViewLinkインスタンスの完全修飾名に対応しています。この規則により、ADFモデルにおけるApplicationModulesの任意のネストが可能になります。

ADFデータ・ソースの「複合結合」ダイアログの「外部式」フィールドには、ビュー・リンクで定義されている結合条件が移入されます。

自動的に生成される結合の名前は、ViewObjectName1_ViewObjectName2(例: AppModuleAM.AP_VO1_AppModuleAM_BU_VO1)のようなネーミング規則に従います。ViewLinkインスタンスの名前は、「複合結合」ダイアログの「ViewLink名」フィールドに表示されます。

複合結合が自動的に作成されるのは、ViewLinkインスタンスが使用可能な場合のみです。ViewLink定義について作成されるわけではありません。ViewLink定義を使用する結合は、手動で作成する必要があります。そのためには、「複合結合」ダイアログの「ViewLink名」フィールドでViewLink定義の名前を指定します。

また、ApplicationModuleでカスタム・プロパティが定義されている場合、Oracle Business Intelligenceにおける異なるApplicationModuleのビュー・オブジェクト間の結合は、ADFからのインポート時に作成されます。次の点に注意してください。

- プロパティ名の形式は、BI_VIEW_LINK_property_nameです。

- プロパティ値のフォーマットはsource_view_object_instance_name、ViewLink_definition_name、destination_view_object_instance_nameです。

必ず、ソースおよび宛先ビュー・オブジェクトの完全修飾ビュー・オブジェクトのインスタンス名とViewLink定義の完全修飾パッケージ名を使用してください。

SQL Bypassデータベースの指定について

Oracle BIサーバーでは実行時にコンポジット・ビュー・オブジェクトを自動的に作成できるため、非定型のBI問合せはADFレイヤーの複数のビュー・オブジェクトを参照できます。パフォーマンスを向上させるため、BI問合せに必要なプロジェクション列、フィルタおよび結合が組み込まれたSQL Bypass問合せが生成されます。

SQL Bypass機能はデータベースに直接問い合せるため、可能な場合は集計やその他の変換がプッシュ・ダウンされ、Oracle Business Intelligenceにストリームされて処理されるデータの量が削減されます。SQL Bypassデータベースを使用すると、Oracle BIサーバーはADFデータ・ソースからビュー・オブジェクト問合せを取得し、集計とともに論理SQL問合せにラップします。その後、集計を含む問合せがデータベースで実行されます。データベースで集計が処理されることで、Oracle Business Intelligenceにストリームされる行が少なくなるため、SQL Bypassデータベースを使用すると、パフォーマンスが大幅に向上する可能性があります。

複数のビュー・オブジェクトが別個のBI物理表としてモデリングされ、ダミー複合結合と接続されます。これらの結合は、単にADFモデルのViewLinkを表し、Oracle BIサーバーによって実行されることはありません。

SQL Bypassデータベースの名前は、ADFデータ・ソースの接続プールで指定できます。SQL Bypassデータベースは、リポジトリの物理レイヤーの物理データベースである必要があります。SQL Bypassデータベースのデータベース・オブジェクトには、ADFアプリケーションを実行するOracle WebLogic Serverで定義されたJDBCデータ・ソースで使用されているデータベースを指す接続情報を含む、有効な接続プールが必要です。

SQL Bypassデータベースには表がなくてもかまいません。有効なデータベース名を指定すると、そのADFデータベースに対するすべての問合せについてSQL Bypass機能が有効になります。

ADFデータ・ソースの設定

この項では、Oracle Business Intelligenceで使用するようにADFビジネス・コンポーネントを構成する方法について説明します。

サポートされるバージョンについては、「システム要件と動作要件」を参照してください。

この項には次のトピックが含まれます:

- WebLogicドメインの作成

- Oracle WebLogic Serverの共有ライブラリとしてのOBIEEBrokerのデプロイ

- JDeveloperからOracle WebLogic ServerへのアプリケーションEARファイルのデプロイ

- WebLogic ServerでのJDBCデータ・ソースの設定

- Oracle WebLogic Serverでのデプロイされたアプリケーションのログ・レベルの設定

WebLogicドメインの作成

WebLogic Server、Oracleアプリケーション・コア(Webapp)およびOracle JRFをサポートする、ADFビジネス・コンポーネントのWebLogicドメインを作成します。

必要なコンポーネントをサポートするWebLogicドメインを作成するには:

1. WebLogic構成ウィザードを起動します。たとえば、Windowsの場合は、MW_HOME\wlserver_10.3\common\bin\config.cmdを実行します。

2. 「新しいWebLogicドメインの作成」を選択し、「次へ」をクリックします。

3. 「ドメイン・ソースの選択」画面で、基本WebLogic Serverドメイン、Oracle JRFおよびOracleアプリケーション・コア(Webapp)が選択されていることを確認します。

4. ウィザードの残りのステップに従って、環境に適した値を入力します。

5. 「構成のサマリー」画面で、「作成」をクリックしてドメインを作成します。

ドメイン・ディレクトリのコマンドライン・スクリプトを使用して、そのドメインのOracle WebLogic Serverを起動および停止できます。たとえば、Windowsの場合は次のコマンドを使用します。

- MW_HOME\user_projects\domains\domain_name\bin\startWebLogic.cmd

- MW_HOME\user_projects\domains\domain_name\bin\stopWebLogic.cmd

Oracle WebLogic Serverの共有ライブラリとしてのOBIEEBrokerのデプロイ

OBIEEBroker共有ライブラリは、Oracle Business Intelligenceのインストールの一部としてインストールされます。OBIEEBrokerライブラリをOracle WebLogic Serverの共有ライブラリとしてデプロイするには、ライブラリをインストールし(その物理ファイルまたはディレクトリをOracle WebLogic Serverに認識させ)、起動します。ライブラリをインストールして起動すると、デプロイされた他のモジュールはライブラリを参照できます。

OBIEEBrokerをOracle WebLogic Serverの共有ライブラリとしてデプロイするには:

1. Oracle WebLogic Serverが実行中であることを確認します。実行中でない場合は、起動してください。たとえば、Windowsの場合は、MW_HOME\user_projects\domains\your_domain\bin\startWebLogic.cmdを実行します。

2. WebLogic Server管理コンソールを開きます。たとえば、Oracle WebLogic Serverがポート7001上でローカルで実行されている場合、http://localhost:7001/consoleに移動します。

3. WebLogicドメインの設定時に作成した資格証明を使用して、WebLogic Server管理コンソールにログインします。

4. 「チェンジ・センター」で、「ロックして編集」をクリックします。

5. ホーム・ページの左ペインで、「デプロイメント」をクリックします。

6. 右ペインで、「インストール」をクリックします。

7. アプリケーション・インストール・アシスタントを使用して、OBIEEBroker EARファイルを探します。このファイルは、次の場所にあります。

ORACLE_HOME\bifoundation\javahost\lib\obisintegration\adf\
oracle.bi.integration.adf.ear

8. 「次へ」をクリックします。

9. 「このデプロイメントをライブラリとしてインストールする」を選択し、「次へ」をクリックします。

10. OBIEEBrokerライブラリをデプロイするサーバーまたはクラスタを選択します。必ず、ライブラリを参照するモジュールまたはアプリケーションがデプロイされているすべてのサーバーおよびクラスタを選択してください。

11. 「次へ」をクリックします。

12. オプションで、デプロイメントに関する設定を更新できます。通常は、デフォルト値で問題ありません。詳細を参照するには、「ヘルプ」をクリックしてください。

13. 「次へ」をクリックし、「終了」をクリックしてインストールを終了します。

14. チェンジ・センターで、変更のアクティブ化をクリックします。

JDeveloperからOracle WebLogic ServerへのアプリケーションEARファイルのデプロイ

JDeveloperからOracle WebLogic ServerにアプリケーションEARファイルをデプロイするには、この項で説明する手順を実行します。この手順を開始する前に、次の条件を満たしていることを確認してください。

- Oracle Business Intelligenceに公開するApplicationModulesとビュー・オブジェクトを含むADFモデル・プロジェクトを作成しています。

- OBIEEBrokerをOracle WebLogic Serverの共有ライブラリとしてデプロイしています。詳細は、「Oracle WebLogic Serverの共有ライブラリとしてのOBIEEBrokerのデプロイ」を参照してください。

- Oracle WebLogic Serverが実行中です。

JDeveloperからOracle WebLogic ServerにアプリケーションEARファイルをデプロイするには:

1. JDeveloperを起動します。たとえば、Windowsの場合は、MW_HOME\jdeveloper\jdev\bin\jdev.exeを実行します。

2. 「ファイル」を選択し、「開く」を選択して、ADFビジネス・コンポーネントが格納されたプロジェクトをJDeveloperで開きます。メッセージが表示されたら、最新バージョンへのプロジェクトの移行を許可します。

3. 次の手順に従って、アプリケーション・モジュールの構成を新しく作成します。

1. モデル・プロジェクトで、アプリケーション・モジュールをダブルクリックし、そのアプリケーション・モジュールの「構成」タブをクリックします。

2. 次の特性を持つ構成を新しく作成します。

- 「接続タイプ」として「JDBCデータソース」を選択します。

- デフォルトのデータソース名(例: java:comp/env/jdbc/ApplicationDBDS)をそのまま使用します。

この後の手順でOracle WebLogic ServerでJDBCデータ・ソースを設定する際に、Oracle WebLogic Serverで必要なJNDI名としてこのデータ・ソース名の一部を使用します。JNDI名は、java:comp/envコンテキスト接頭辞を含まないデータ・ソース名(例: jdbc/ApplicationDBDS)です。

4. 次の手順に従って、ビジネス・コンポーネント・アーカイブ・デプロイメント・プロファイルを作成します。

1. 「プロジェクト」ウィンドウで、モデル・プロジェクトを右クリックし、「新規」を選択します。

2. 左ペインで「一般」の下の「デプロイメント・プロファイル」を選択し、右ペインで「ビジネス・コンポーネント・アーカイブ」を選択して、「OK」をクリックします。

3. デプロイメント・プロファイルの名前(例: MyApplication_Archive)を入力し、「OK」をクリックします。

4. 「デプロイメント」ページで、「OK」をクリックします。

5. 「プロジェクト」ウィンドウで、モデル・プロジェクトを右クリックし、「デプロイ」→デプロイメント・プロファイル名→「デプロイ」を選択するか、「ファイルにデプロイ」を選択してデプロイメント・ウィザードを使用します。
プロジェクトがデプロイされると、モデル・プロジェクトのデプロイ・ディレクトリに2つのjarファイルが作成されます(例: MyApplication_Archive_Common.jarとMyApplication_Archive_MiddleTier.jar)。

6. 次の手順に従って、アプリケーションのWebプロジェクトを新しく作成します。

1. グローバル・アプリケーションを右クリックし、「新規プロジェクト」を選択します。

2. 左ペインで「プロジェクト」を選択し、右ペインで「Webプロジェクト」を選択します。

3. プロジェクト名(例: OBIEEBroker)を入力します。

4. 「Webプロジェクト・プロファイル」ページが表示されるまで、「次へ」をクリックします。

5. 「Java EEコンテキスト・ルート」を、アプリケーションを適切に表す名前(例: MyApplication)に変更します。
この値によって、Oracle Business Intelligenceからアプリケーションに接続する際に使用するURL(例: http://localhost:7001/MyApplication/obieebroker)が決まります。

7. 次の手順に従って、WARデプロイメントのプロファイルの依存性を編集します。

1. 作成したWebプロジェクト(例: OBIEEBroker)を右クリックし、「プロジェクト・プロパティ」を選択します。

2. 左ペインで「デプロイメント」を選択します。次に、右ペインでWARファイルのデプロイメント・プロファイルを開きます。

3. 左ペインで「プロファイルの依存性」を選択します。次に、右ペインで、モデル・プロジェクトの共通および中間層デプロイメント・プロファイルを選択します。
この手順を実行すると、モデル・プロジェクトのビジネス・コンポーネント・アーカイブがWARファイルに含まれるようになります。

8. Webプロジェクトを開き、web.xmlを開きます。次に、ファイルのソース・ビューに移動します。

9. web.xmlのソースで、<web-app>要素内の内容を次の内容に置き換えます。

<context-param>
<description>This holds the Principals (CSV) that a valid end user should
have (at least one) in order to query the ADF layer from BI.</description>
<param-name>oracle.bi.integration.approle.whitelist</param-name>
<param-value>Application_Roles_List</param-value>
</context-param>

<filter>
<filter-name>ServletADFFilter</filter-name>
<filter-class>oracle.adf.share.http.ServletADFFilter</filter-class>
</filter>

<filter-mapping>
<filter-name>ServletADFFilter</filter-name>
<servlet-name>OBIEEBroker</servlet-name>
<dispatcher>FORWARD</dispatcher>
<dispatcher>REQUEST</dispatcher>
</filter-mapping>

<servlet>
<servlet-name>OBIEEBroker</servlet-name>
<servlet-class>oracle.bi.integration.adf.v11g.obieebroker.OBIEEBroker
</servlet-class>
</servlet>

<servlet-mapping>
<servlet-name>OBIEEBroker</servlet-name>
<url-pattern>/obieebroker</url-pattern>
</servlet-mapping>

この手順を実行すると、Oracle Business IntelligenceからアプリケーションへのアクセスにOBIEEBrokerサーブレットが使用されます。

application_roles_listについては、CSV形式でアプリケーション・ロールのリストを指定します。例:

<param-value>FBI_TRANSACTION_ANALYSIS_GENERIC_DUTY, OBIA_ANALYSIS_GENERIC_DUTY,
OBIA_EXTRACT_TRANSFORM_LOAD_DUTY, FUSION_APPS_BI_APPID</param-value>

アプリケーション・ロールのリストを指定した場合は、アプリケーションへのアクセスが許可される前に、ユーザーのアプリケーション・ロールが確認されます。この実行時の確認には、そのWebLogicドメインのdomain_name/config/fmwconfig/system-jazn-data.xmlファイルに次の権限付与が存在している必要があります。

<grant>
<grantee>
<codesource>
<url>file:${domain.home}/servers/${weblogic.Name}/tmp/
_WL_user/oracle.bi.integration.adf/-</url>
</codesource>
</grantee>
<permissions>
<permission>
<class>oracle.security.jps.JpsPermission</class>
<name>IdentityAssertion</name>
<actions>execute</actions>
</permission>
<permission>
<class>oracle.security.jps.JpsPermission</class>
<name>AppSecurityContext.setApplicationID.obi</name>
</permission>
</permissions>
</grant>

OBIEEBrokerサーブレットによるアプリケーション・ロールの確認を実行しない場合は、web.xmlの<context-param>の値としてDISABLE_WHITELIST_ROLE_CHECKを使用します。例:

<param-value>DISABLE_BI_WHITELIST_ROLE_CHECK</param-value>

10. 次の手順に従って、アプリケーションのEARデプロイメント・プロファイルを作成します。

1. グローバル・アプリケーションを右クリックし、「アプリケーションのプロパティ」を選択します。

2. 左ペインで「デプロイメント」を選択し、右ペインで「新規」をクリックして、新しいデプロイメント・プロファイルを作成します。

3. 「アーカイブ・タイプ」として「EARファイル」を選択します。次に、デプロイメント・プロファイルの名前(例: MyApplication)を入力します。
このデプロイメント・プロファイル名は、Oracle WebLogic Serverのデプロイメントのリストに表示される名前として使用されます。

4. 左ペインで「アプリケーション・アセンブリ」を選択します。次に、右ペインで、Webプロジェクトのwebappデプロイメント・プロファイルを選択します。
この手順を実行すると、WebプロジェクトのWarファイルがEARファイルに含まれるようになります。

11. 「アプリケーション・リソース」で、「ディスクリプタ」→「META-INF」→「weblogic-application.xml」を選択します。

12. 左側で、「ライブラリ」タブを選択します。

13. 次の手順に従って、新しい共有ライブラリ参照を2つ作成します。

- 次の特性を持つ、1つ目の共有ライブラリ参照を作成します。

- ライブラリ名: oracle.bi.integration.adf

- 実装バージョン: 11.1.1.2.0

- 次の特性を持つ、2つ目の共有ライブラリ参照を作成します。

- ライブラリ名: oracle.applcore.model

- 実装バージョン: 11.1.1.0.0

この2つの共有ライブラリ参照によって、アプリケーションのweblogic-application.xmlファイルに次のエントリが作成されます。

<library-ref>
<library-name>oracle.bi.integration.adf</library-name>
<implementation-version>11.1.1.2.0</implementation-version>
</library-ref>
<library-ref>
<library-name>oracle.applcore.model</library-name>
<implementation-version>11.1.1.0.0</implementation-version>
</library-ref>

14. グローバル・アプリケーションを右クリックし、「デプロイ」→EARデプロイメント・プロファイル名を選択して、EARファイルをOracle WebLogic Serverにデプロイします。表示されるダイアログで「アプリケーション・サーバーへのデプロイ」を選択し、ウィザードの指示に従います。

15. アプリケーションがデプロイされていることを確認するには、WebLogic Server管理コンソールにログインし、デプロイされたリソースの下の「デプロイメント」をクリックします。リストにアプリケーション(例: obieebroker_app_name)が表示されていることを確認します。

WebLogic ServerでのJDBCデータ・ソースの設定

Oracle WebLogic ServerでアプリケーションのJDBCデータ・ソースを設定する必要があります。

Oracle WebLogic ServerでJDBCデータ・ソースを設定するには:

1. Oracle WebLogic Serverが実行中であることを確認します。実行中でない場合は、起動してください。たとえば、Windowsの場合は、MW_HOME\user_projects\domains\your_domain\bin\startWebLogic.cmdを実行します。

2. WebLogic Server管理コンソールを開きます。たとえば、Oracle WebLogic Serverがポート7001上でローカルで実行されている場合、http://localhost:7001/consoleに移動します。

3. WebLogicドメインの設定時に作成した資格証明を使用して、WebLogic Server管理コンソールにログインします。

4. ホーム・ページで、「JDBC」を選択し、「データ・ソース」を選択します。

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

6. データ・ソースに関する情報を入力します。「名前」および「JNDI名」については、アプリケーションのアプリケーション・モジュールの構成で指定したデータ・ソース名を入力します。ただし、java:comp/envコンテキスト接頭辞は付けません(例: jdbc/ApplicationDBDS)。また、ウィザードを終了する前に、データ・ソースをデプロイするターゲットを必ず選択してください。

7. JDBCデータ・ソースの設定を入力し終わったら、「終了」をクリックします。

Oracle WebLogic Serverでのデプロイされたアプリケーションのログ・レベルの設定

アプリケーションがデプロイされたサーバーのログ・ファイル(server_name-diagnostic.log)には、デプロイされたアプリケーションに関する情報が記録されます。このファイルは、ドメイン内のサーバー固有のディレクトリにあります。たとえば、Windowsの場合、AdminServerのログ・ファイルは次の場所にあります。

MW_HOME\user_projects\domains\your_domain\servers\AdminServer\logs

デプロイされたアプリケーションのログ・レベルを設定するには:

1. 編集のためにOracle WebLogic Serverファイルlogging.xmlを開きます。このファイルは次の場所にあります。

MW_HOME\user_projects\domains\your_domain\config\fmwconfig\servers\server_name

2. <loggers>要素内に、次の子要素を追加します。

<logger name="oracle.bi.integration.adf" level="LOG_LEVEL"/>
<logger name="oracle.bi.integration.adf.v11g.obieebroker" level="LOG_LEVEL"/>

ログ・レベルには、SEVERE、WARNING、INFO、CONFIG、FINE、FINERおよびFINESTがあります。ログ・レベルについては、Oracle WebLogic Serverのドキュメントを参照してください。

3. ファイルを保存して閉じます。

4. Oracle WebLogic Serverを再起動します。

ADFデータ・ソースからのメタデータのインポート

この項では、ADFデータ・ソースの別のインポート・シナリオについて説明します。ADFデータ・ソースからメタデータをインポートする前に、「ADFデータ・ソースの設定」に記載されている手順を実行しておく必要があります。

この項には次のトピックが含まれます:

- ADFデータ・ソースからの初期インポートの実行

- 増分インポートを使用したフレックス・オブジェクト変更の伝播

- 論理モデルへのフレックス・オブジェクト変更の自動マッピング

- biserverextenderユーティリティを使用したFlexオブジェクト変更の自動マッピング

ADFデータ・ソースからの初期インポートの実行

この項では、メタデータのインポート・ウィザードを使用してADFデータ・ソースから初期インポートを実行する方法について説明します。

ADFデータ・ソースからメタデータをインポートするには:

1. 管理ツールで、「ファイル」を選択し、「メタデータのインポート」を選択します。メタデータのインポート・ウィザードが表示されます。

注意:
既存のADFデータ・ソースおよび接続プールをすでに定義している場合は、物理レイヤーの接続プールを右クリックし、「メタデータのインポート」を選択します。メタデータのインポート・ウィザードが開き、情報があらかじめ入力された「データ・ソースの選択」画面が表示されます。

図6-1に、メタデータのインポート・ウィザードを示します。

図6-1 メタデータのインポート・ウィザード: ADFデータ・ソース

2. 「データ・ソースの選択」画面の「接続タイプ」フィールドでOracleADF_HTTPを選択します。続いて、次の値を指定します。

- 「新規接続」を選択します。そのデータ・ソースの接続プールがすでにある場合は、「既存の接続」を選択します。「参照」をクリックして、既存の接続プールを探して選択します。「既存の接続」を選択した場合、「データ・ソース」、「AppModuleの定義」、「AppModuleの構成」および「URL」フィールドには情報を入力しません。「ユーザー名」および「パスワード」フィールドには事前に情報が入力されます。

- 「データ・ソース」フィールドは空白のままにして、アプリケーション・モジュールで構成されているデフォルトのJDBCデータ・ソースを使用します。データ・ソース情報(jdbc/nWindORA05のようなJDBCデータ・ソース名)を入力する必要があるのは、アプリケーション・モジュールで設定されているデータ・ソースとは異なるデータ・ソースを使用する場合のみです。

- 「AppModuleの定義」フィールドには、oracle.apps.fii.receivables.model.RootAppModuleやsnowflakesales.SnowflakeSalesAppなど、接続先のルート・アプリケーション・モジュールの完全修飾Javaパッケージ名を入力します。

- 「AppModuleの構成」フィールドには、RootAppModuleSharedやSnowflakeSalesAppLocalなど、接続で使用する構成の名前を入力します。詳細は、「JDeveloperからOracle WebLogic ServerへのアプリケーションEARファイルのデプロイ」のステップ3を参照してください。

- 「URL」フィールドには、Oracle Business Intelligenceブローカ・サーブレットのURLを次の形式で入力します。

http://host:port/APP_DEPLOYMENT_NAME/obieebroker

例:

http://localhost:7001/MyApp/obieebroker

URLでは大/小文字が区別されます。

- 「ユーザー名」および「パスワード」フィールドには、Oracle ADFアプリケーションの有効なユーザー名とパスワードを入力します。ユーザー名とパスワードは、Oracle WebLogic Serverセキュリティ・レルムで設定され、認証されている必要があります。

「データ・ソースの選択」画面で情報を入力し終わったら、「次へ」をクリックします。「メタデータ・オブジェクトの選択」画面が表示されます。

3. インポートするオブジェクトを「データソース・ビュー」で選択し、「>」(選択対象をインポート)ボタンまたは「>>」(すべてインポート)ボタンを使用して「リポジトリ・ビュー」に移動します。「<」(選択対象を削除)ボタンおよび「<<」(すべて削除)ボタンを使用して、「リポジトリ・ビュー」から「データソース・ビュー」にオブジェクトを戻すこともできます。
特定の項目を検索するには、「検索」ボックスにキーワードを入力し、「下方検索」または「上方検索」をクリックします。

すでにインポートされているオブジェクトを含め、すべてのオブジェクトを表示するには、「完全な構造の表示」を選択します。このオプションの選択を解除すると、インポート可能なオブジェクトのみが表示されます。このオプションを選択した場合、すでにインポートされているオブジェクトはグレー表示されます。

このインポートでデータ・ソースへの新しい接続が作成される場合、「データソース・ビュー」から「リポジトリ・ビュー」リストに項目を移動すると、「接続プール」ダイアログが開き、メタデータのインポート・ウィザードの「データ・ソースの選択」画面で入力した値が表示されます。オプションで、「接続プール」ダイアログの「その他」タブをクリックし、「SQL Bypass Database」フィールドにSQL Bypassデータベースの名前を入力します。次に、「OK」をクリックします。SQL Bypassデータベースを指定しない場合は、「取消」をクリックしてください。

詳細は、「SQL Bypassデータベースの指定について」を参照してください。

4. 「終了」をクリックしてウィザードを閉じるか、「次へ」をクリックして「論理モデルへのマップ」画面に進みます。詳細は、「論理モデルへのフレックス・オブジェクト変更の自動マッピング」を参照してください。

5. インポートが正常に完了したことを確認するには、物理レイヤーのADFデータ・ソースのデータベース・オブジェクトを開きます。次に、物理表を右クリックし、「データの表示」をクリックします。適切なデータが表示されていれば、インポートは正常に完了しています。

増分インポートを使用したフレックス・オブジェクト変更の伝播

ADFアプリケーション内のフレックスフィールドを変更した場合、管理ツールのメタデータのインポート・ウィザードを使用して、Oracle BIリポジトリの物理レイヤーに変更を増分インポートすることができます。

メタデータのインポート・ウィザードには、ADFデータ・ソースの同期機能が含まれており、これにより、オブジェクトに加えられた変更のみをインポートすることができます。同期機能は、新たに結合されたディメンション(KFF)や新規属性(DFFおよびEFF)などの、変更されたオブジェクトを検出し、それらを検索する必要なく、自動的に追加できるようにします。

同期機能により、次のものが検出されます。

- 列内の変更

- 表および列の追加や削除

- キーと外部キーの追加

- 新たに結合された表
既存の表に結合された新しい表がインポートされるのは、「メタデータ・オブジェクトの選択」画面で「欠落した結合オブジェクトを自動的に含める」オプションが選択された場合のみであることに注意してください。

インポート後、ADFデータは、表6-1に示されているようにモデル化されます。

表6-1 Oracle BIリポジトリでADFメタデータがどのようにモデル化されるかを示す説明

ADFメタデータ

インポートされたBIメタデータ

ルート・アプリケーション・モジュール

データベース

ビュー・オブジェクト

物理表

ビュー・オブジェクト属性

物理列

ビュー・オブジェクト・キー

物理キー

ビュー・リンク

物理結合

データが増分インポートされると、属性のプロパティへの変更が検出されて伝播されることに注意してください。たとえば、属性でそのデータ型が変更された場合、その変更は物理レイヤー・オブジェクトに伝播されます。

ADFデータ・ソースのメタデータを増分インポートするには:

1. 管理ツールで、物理レイヤーのADF OLTPソースの接続プールを右クリックし、「メタデータのインポート」を選択します。
メタデータのインポート・ウィザードが表示されます。手順3の「メタデータ・オブジェクトの選択」から開始されます。

図6-2に、メタデータのインポート・ウィザードの「メタデータ・オブジェクトの選択」画面を示します。

図6-2 「メタデータ・オブジェクトの選択」画面: ADFデータ・ソース

2. 「同期化」をクリックして、インポートする最新の変更をすべて見つけて、自動的に選択します。「同期化」ボタンは、画面の右上隅(「リポジトリ・ビュー」の上)にあります。

3. 選択されたメタデータを確認して、新しい属性を見つけます。

4. 「終了」をクリックしてウィザードを閉じるか、「次へ」をクリックして「論理モデルへのマップ」画面に進みます。詳細は、「論理モデルへのフレックス・オブジェクト変更の自動マッピング」を参照してください。

論理モデルへのフレックス・オブジェクト変更の自動マッピング

ADFアプリケーション内のフレックスフィールドへの変更をインポートした後、管理ツールのメタデータのインポート・ウィザードの「論理モデルへのマップ」画面を使用して、「ビジネス・モデルとマッピング」レイヤーおよび「プレゼンテーション」レイヤーに変更を自動的に伝播することができます。

必要な場合は、この手順で、論理表の名前を変更したり、ビュー・オブジェクトを複数の表に分割したり、複数のビュー・オブジェクトを単一の論理表に結合したりすることで、デフォルトのマッピングの動作をオーバーライドできます。

XMLファイルを使用して、この画面に表示されるマッピングの動作を自動化する方法については、「マッピングの動作のカスタマイズ」も参照してください。

フレックス・オブジェクトの変更を論理モデルに自動的にマップするには:

1. 管理ツールで、物理レイヤーのADF OLTPソースの接続プールを右クリックし、「メタデータのインポート」を選択します。

2. 「メタデータ・オブジェクトの選択」画面での入力を完了し、「次へ」をクリックします。この画面の詳細は、「増分インポートを使用したフレックス・オブジェクト変更の伝播」を参照してください。

3. 「論理モデルへのマップ」画面の「表のマッピング」グリッドと「列マッピング」グリッドには、デフォルトのドラッグ・アンド・ドロップの結果が表示されます。デフォルトの動作のままにすることも、ニーズに合せて動作をカスタマイズすることもできます。たとえば、「ビジネス・モデルとマッピング」レイヤーの表と列の名前を変更したり、既存の論理表にマップしたり、論理列を複数のソース列にマップしたりすることができます。
「列マッピング」グリッドには、通常の列に加えて別名列も表示されるので、別名列を含むカスタマイズ済マッピングを処理することができます。「表のマッピング」グリッドにより、単一の物理表を複数の論理表に、およびその逆にマップすることが可能になります。

「表のマッピング」グリッドには、「VOタイプ」列が含まれています。オプションには、「標準」、「ETLのみ」および「問合せのみ」があります。「ETLのみ」のビュー・オブジェクトは、ETLマッピングの拡張のためにのみ存在し、問合せには使用されません。このタイプのインポート済ビュー・オブジェクトを参照する論理表ソースは、「ビジネス・モデルとマッピング」レイヤーでは無効としてマークされます。「問合せのみ」のビュー・オブジェクトは、問合せでのみ使用され、データ・ウェアハウスへの拡張のためにBI拡張機能に渡されることはありません。

「表のマッピング」グリッドには、「階層」列も含まれています。階層型のオブジェクトの場合は、このオプションを選択します。

インポート済の表が、「論理モデルへのマップ」の手順で作成される新しいビジネス・モデルにマップされる場合は、「論理結合の作成」を選択します。つまり、インポート済の論理結合がまだ存在していないときは、このオプションを選択します。必要な論理結合がすでにあるビジネス・モデルに対しては、このオプションを選択しないでください。選択すると、誤って複数の論理結合が作成されてしまいます。

図6-3に、「論理モデルへのマップ」画面を示します。

図6-3 メタデータのインポート・ウィザードの「論理モデルへのマップ」画面

4. 「終了」をクリックして、ウィザードを閉じます。

マッピングの動作のカスタマイズ

「論理モデルへのマップ」画面に表示されるマッピングに対するカスタムのマッピング要件を指定する一連のXMLファイルを作成できます。管理ツールは、それらのXMLファイルを読み取り、指定されたロジックに従ってKFF、DFFおよびEFFセグメントを自動的にマップします。各XMLファイルには、ファイルの適用先のアプリケーションを指定する、appName属性を持つトップレベルの要素があります。

XMLスキーマ・ファイルapp_segment_rule.xsdおよびmapping_rules.xsd内のロジックに従ってXMLファイルを作成する必要があります。これらのファイルは次の場所にあります。

ORACLE_HOME\bifoundation\javahost\lib\obisintegration\biextender

このディレクトリ内の、接頭辞がmapping_rulesおよびapp_segment_rulesであるすべてのXMLファイルは、管理ツールによって、ADFデータ・ソースに対して解析されます。

このディレクトリ内の既存のapp_segment_rules_*.xmlおよびmapping_rules_*.xmlをサンプルとして使用することができます。

app_segment_rule.xsdおよびmapping_rules.xsd XMLスキーマ・ファイルの詳細は、付録H「ADFマッピングのカスタマイズのためのXMLスキーマ・ファイル」を参照してください。

論理モデルへのフレックス・オブジェクト変更の手動マッピング

メタデータのインポート・ウィザードの論理マッピングの手順をスキップし、かわりに「ビジネス・モデルとマッピング」レイヤーおよび「プレゼンテーション」レイヤーに物理オブジェクトをドラッグ・アンド・ドロップすることができます。管理ツールでは、ADFデータ・ソースの増分ドラッグ・アンド・ドロップがサポートされています。これにより、物理データベースおよびスキーマ・オブジェクトを既存のビジネス・モデルにドラッグ・アンド・ドロップすることができ、その結果、増分変更に対してのみ更新を行うことが可能になります。

以前のリリースでは、ドラッグ・アンド・ドロップされたすべての物理オブジェクトに対して新しい論理オブジェクトが作成されていたことに注意してください。現行ロジックには、たとえば論理ディメンションおよび階層の自動作成を可能にするなどの、データ・ソース固有のデフォルト・ルールが含まれています。

biserverextenderユーティリティを使用したFlexオブジェクト変更の自動マッピング

biserverextenderユーティリティを使用してADFソースからFlexオブジェクト変更をインポートし、それを「ビジネス・モデルとマッピング」レイヤーおよび「プレゼンテーション」レイヤーにマップできます。この機能は管理ツールを必要としないため、管理ツールを使用できないLinuxシステムおよびUNIXシステムでFlexオブジェクト変更をマップする場合に特に便利です。

biserverextenderユーティリティを使用するには、既存のADFデータ・ソースの接続プールが含まれているXMLパラメータ・ファイルを先に作成しておく必要があります。biserverextenderユーティリティでは、既存のADF接続プール名をパラメータ・ファイルから取得し、ADFデータ・ソースを同期化し、ソース内のデプロイ済オブジェクトを更新し、さらに、次のディレクトリにあるデフォルト・ルール・ファイルに基づいて物理メタデータを「ビジネス・モデルとマッピング」レイヤーおよび「プレゼンテーション」レイヤーにマップします。

ORACLE_HOME/bifoundation/javahost/lib/obisintegration/biextender

ルール・ファイルの詳細は、「マッピングの動作のカスタマイズ」を参照してください。

構文

biserverextender -R base_repository_name [-P repository_password]
-O output_repository_name -I input_XML_file [-S]

説明:

-R base_repository_nameは、Flexオブジェクト変更のインポートおよびマップ先であるリポジトリの名前とパスです。

-P repository_passwordは、ベース・リポジトリに対するOracle BIのリポジトリ・パスワードです。

repository_password引数はオプションです。パスワード引数を指定しなかった場合、コマンドの実行時にパスワードを入力するように求められます。セキュリティ違反のリスクを最小限に抑えるために、コマンド・ラインまたはスクリプトではパスワード引数を指定しないことをお薦めします。パスワード引数のサポートは下位互換性の保持を目的としており、将来のリリースでは削除される予定です。スクリプトのために、パスワードを標準入力によって渡すことができます。

-O output_repository_nameは、ユーティリティによって生成されたリポジトリの名前とパスです。

-I input_XML_fileは、ADFデータ・ソースの接続プールの完全修飾名が含まれている入力XMLパラメータ・ファイルの名前とパスです。

-Sはオプションです。-Sを指定しない場合は、ADFソースのDFF、KFFおよびEFFオブジェクトからの変更のみが、Oracle BIリポジトリに対して同期化されます。-Sを指定した場合は、ADFソースのデータベース・プロパティに基づいてすべてのDFF、KFFおよびEFFオブジェクトがADFソースから再インポートされ、Oracle BIリポジトリが再同期化されます。

-Sにより、app_segment_rules.xml rulesファイルの次の変更も取り込まれます。

- 新しいマッピング・ルールのセグメント

- 新しい別名表の作成

- 新しい「ADF VO To Be Exposed」サブジェクト・エリアまたはプレゼンテーション表

例

biserverextender -R /scratch/my_repos.rpd -O /scratch/my_repos_modelled.rpd
-I /scratch/ADFSource.xml -S
Give password: password

XMLパラメータ・ファイル のサンプル

<BIExtenderParameters>
<ConnectionDetails>
<ConnectionPool>
<ConnectionPoolName>"oracle.apps.fscm.model.analytics.applicationModule.Fscm
TopModelAM_FscmTopModelAMLocal"."Connection Pool"</ConnectionPoolName>
</ConnectionPool>
</ConnectionDetails>
</BIExtenderParameters>

Oracle WebLogic ServerにおけるSSLの構成

この項では、一方向および双方向SSLの構成方法について説明します。内容は次のとおりです。

- Oracle WebLogic Serverにおける一方向SSLの構成

- Oracle WebLogic Serverにおける双方向SSLの構成

Oracle WebLogic Serverにおける一方向SSLの構成

一方向SSLは、Oracle Business IntelligenceとOracle WebLogic Server間の通信を適切に保護するために必要です。

Oracle WebLogic Serverで一方向SSLを構成する手順は次のとおりです。

1. WebLogic Server管理コンソールのホームページから、「環境」ヘッダー下で「サーバー」をクリックします。

2. サーバー表で、管理するサーバーの名前を選択します。さらに、「構成」タブの「一般」サブタブで「SSLリスニング・ポート有効」を選択します。

3. 管理ツールを使用して「物理」レイヤーで適切な接続プール・オブジェクトを更新して、URLでhttps:// instead of http://が使用されるようにします。また、SSLポートを使用するポート番号を更新します(デフォルトでは7002)。

Oracle WebLogic Serverにおける双方向SSLの構成

オプションとして、双方向SSLを設定して、Oracle Business IntelligenceとOracle WebLogic Server間の通信を保護できます。

双方向SSLを設定してテストする手順は次のとおりです。

1. クライアント証明書がまだ設定されていない場合は、Oracle BIサーバーにクライアント証明書を作成します。詳細は、『Oracle Fusion Middleware Oracle Business Intelligence Enterprise Editionセキュリティ・ガイド』のOracle Business Intelligenceでの証明書とキーの作成に関する項を参照してください。

2. SSL接続を受け入れて相互SSLを実行するようにADF Oracle WebLogic Serverを変更します。これを行うには、Oracle WebLogic Serverの管理コンソールで次の手順を実行します。

1. 管理コンソールにログインし、「環境」ヘッダー下の「サーバー」をクリックして、サーバー名(例: AdminServer)をクリックします。

2. 「チェンジ・センター」で、「ロックして編集」をクリックして構成の変更を有効にします。

3. 「一般」タブで「SSLリスニング・ポート有効」を選択して、「SSLリスニング・ポート」番号を記録します。次に、「保存」をクリックします。

4. 「SSL」タブを選択し、「詳細設定」を選択します。双方向クライアント証明書の動作に対して、クライアント証明書のリクエストと施行を選択します。次に、「保存」をクリックします。

5. 「キーストア」タブを選択して、使用している信頼キーストアを記録します。たとえば、Demo信頼キーストアが使用されている場合は、その場所とファイル名を記録します。

6. 「変更のアクティブ化」をクリックします。

3. Oracle BIサーバーのクライアント証明書の認証局(CA)がADF Oracle WebLogic Serverによって信頼されていることを確認します。これを実行するには、次の手順に従います。

1. Oracle BIサーバーのコンピュータで、クライアント証明書のCAファイルを検索します。手順1で参照した指示を使用してファイルが生成されている場合、そのファイルは「cacert.pem」であり、次の場所にあります。

ORACLE_HOME/user_projects/domains/bifoundation_domain/config/fmwconfig
/biinstances/coreapplication/ssl

このファイルを既知の場所にコピーします。

2. ADF Oracle WebLogic Serverのコンピュータでコマンド・ウィンドウを開いて、信頼キーストアの場所に移動します。この値は手順2で記録しています。例:

/scratch/user_name/view_storage/user_name_fmw/fmwtools/mw_home/wlserver_10.3/server/lib

前の手順で保存したクライアントCAファイル(たとえば、cacert.pem)をこの場所にコピーします。

3. JDKキーツール・ユーティリティを使用してクライアントCAをADFの信頼キーストアにインポートし、それを信頼CAにします。次のコマンドを使用します。

keytool -import -file client_CA_file -keystore keystore_file -keystorepass keystore_password

例:

/scratch/my_name/view_storage/my_name_fmw/jdk6/bin/keytool -import -file
~/Downloads/SSL/cacert.pem -keystore DemoTrust.jks -keystorepass
DemoTrustKeyStorePassPhrase

4. ADF Oracle WebLogic Serverを再起動します。

4. Oracle BIリポジトリの「物理」レイヤーを次のように更新します。

1. 管理ツールで、「物理」レイヤーで最初のADF接続プール・オブジェクトを開いて、「その他」タブを選択します。

2. 「URL」フィールドを、httpsプロトコルとステップ2でメモしておいたSSLポートを使用するように更新して、「OK」をクリックします。

3. ADF接続プール・オブジェクトを追加するたびに、前の2つの手順を繰り返します。

4. リポジトリを保存して、Oracle BIサーバーを再起動します。

5. SSLを使用するようにOracle BI ServerのODBC DSNを構成します。たとえば、Windowsの場合は次のようにします。

1. 「ODBC Data Source Administrator」を開いて、「System DSN」タブを選択します。

2. Oracle BIサーバーのDSNをダブルクリックします。このDSNは「coreapplication_OH」で始まります。

3. 「SSLの使用」を選択します。

4. 「次へ」をクリックし、再度「次へ」をクリックして「終了」をクリックします。

6. 選択したOracle BI Serverクライアント(nqcmdなど)を使用して、ADFに対して問合せを実行します。これで、Oracle BI Serverが相互SSL/クライアント証明書を使用してADF Oracle WebLogic Serverと通信するようになります。

ADFアプリケーションにカスタム・パラメータを渡す機能の有効化

一部のADFアプリケーションには、EFFECTIVE_DATEやTREE_VERSIONなど、ApplicationModuleで定義されたカスタム・プロパティがあります。これらのカスタム・プロパティをアプリケーション問合せに含めると、Oracle BIサーバーからADFアプリケーションにカスタム・プロパティが渡されます。この機能を有効にするには、管理ツールを使用して、カスタム・プロパティを静的リポジトリ変数として登録する必要があります。

この機能を使用して、すべてのカスタム・プロパティをADFアプリケーションに渡せるわけではありません。EFFECTIVE_DATEやTREE_VERSIONなどの特定のカスタム・プロパティのみがサポートされています。

カスタム・プロパティを登録するには:

1. 管理ツールでリポジトリを開きます。

2. 「管理」を選択し、「変数」を選択します。

3. 「アクション」→「新規」→「リポジトリ」→「変数」を選択します。

4. 「名前」フィールドにADF_PARAM_LISTと入力します。変数の名前としてカスタム・プロパティの名前を入力しないでください。

5. 「タイプ」が「静的」であることを確認します。

6. 「デフォルトのイニシャライザ」フィールドに、カスタム・プロパティの名前を文字列として入力します。カスタム・プロパティが複数ある場合は、カンマ区切りリストとして入力してください。例:
'PARAM_EFFECTIVE_DATE'

'PARAM_EFFECTIVE_DATE, ApplicationIdBind, KeyFlexfieldCodeBind'

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

8. リポジトリを保存して閉じます。

カスタム・プロパティをリポジトリ変数として登録したら、それらの変数を問合せに含めることができます。例:

set variable PARAM_EFFECTIVE_DATE=2001-01-01 : SELECT c1 FROM t1;

または

set variable ApplicationIdBind = '0', KeyFlexfieldCodeBind = 'KFF1' :
select_physical ApplicationID, KeyFlexfieldCode, DataSecurityObjectName,
SegmentLabelCode from adfdb..."AppModule.KFFHierFilterVO1";

タイプPARAM_EFFECTIVE_DATEのカスタム・プロパティを含める場合、プロパティ値の日付書式はyyyy-mm-ddという書式である必要があります。

ADFデータ・ソースからのラベルおよびツールチップの伝播

ラベルやツールチップなど、ユーザー・インタフェース・ヒントをADFデータ・ソースから伝播して、ユーザーが分析を処理する際に表示できます。(ユーザーのロケールに基づいて)翻訳されたラベルやツールチップがADFデータ・ソース内にある場合、データ・ソースに問い合せて、翻訳されたデータにアクセスできます。分析を作成する際に使用するようにプレゼンテーション列を構成するには、管理ツールを使用します。

この項には次のトピックが含まれます:

- ラベルおよびツールチップとは

- UIヒントのセッション変数ネーミング・スキームについて

- プレゼンテーション列に対応する物理列の特定について

- UIヒントを伝播するためのセッション変数の自動初期化

- 分析の作成時にOracle ADFデータ・ソースのUIヒントを使用する例

- 初期化ブロックでのXMLコードの使用によるUIヒントの問合せ

ラベルおよびツールチップとは

ラベルは、プロンプトや表ヘッダーで使用され、データ項目の値の前に表示されます。ツールチップは、ユーザーが項目の上にマウス・ポインタを移動したときに表示されるテキストです。ビュー・オブジェクトの各属性には、ラベルとツールチップが関連付けられています。ビュー・オブジェクトは、開発者がSQL問合せの結果を簡単に操作できるようにするためのOracle Application Development Frameworkコンポーネントです。UIヒントを伝播すると、管理ツールのプレゼンテーション列でラベルとツールチップをそれぞれカスタム表示名およびカスタム説明として使用できます。

図6-4に、Oracle JDeveloperの「属性の編集」ダイアログの「ラベル・テキスト」および「ツールチップ・テキスト」オプションを示します。

図6-4 ラベルおよびツールチップ・オプションに関連するJDeveloperの「属性の編集」ダイアログ

UIヒントのセッション変数ネーミング・スキームについて

セッション変数名は、Oracle WebLogic ServerでOracle BI Enterprise Editionブローカ・サーブレットによって次の形式で生成されます。

ADF_UI Hint Type_Database Name_View Object Name_Attribute's Name

説明:

UI Hint Typeは、セッション変数が表すUIヒントのタイプに応じて、LABELまたはTOOLTIPです。

Database Nameは、XML問合せのADFQuery要素の「database」属性の値です。一重引用符(')、二重引用符(")、スペースなどの特殊文字はアンダースコア文字に置き換えられます。

View Object Nameは、属性が属するビュー・オブジェクトの名前です。Oracle ADFでは、名前に特殊文字およびスペースを使用することは禁止されています。

Attribute's Nameは、セッション変数が表す属性の名前です。Oracle ADFでは、名前に特殊文字およびスペースを使用することは禁止されています。

セッション変数名はすべて大文字です。たとえば、例6-3のXML問合せでは、次の名前を持つ4つのセッション変数が生成されます。

ADF_LABEL_MY_ORCLADF_EMPLOYEESVIEW_FIRSTNAME

ADF_TOOLTIP_MY_ORCLADF_EMPLOYEESVIEW_FIRSTNAME

ADF_LABEL_MY_ORCLADF_EMPLOYEESVIEW_LASTNAME

ADF_TOOLTIP_MY_ORCLADF_EMPLOYEESVIEW_LASTNAME

プレゼンテーション列に対応する物理列の特定について

セッション変数のネーミング・スキームで必要な場合、各プレゼンテーション列が物理列にマップしている必要があります。プレゼンテーション・レイヤー・オブジェクトについて「表示名の外部化」→「ADFラベルの生成」または「記述子の外部化」→「ADFツールチップの生成」を選択すると、次のルールを使用して物理列が検索されます。

1. プレゼンテーション列を調べ、その論理列を確認します。論理列が既存の論理列から派生している場合、物理列は見つかりません。

2. 論理列のデフォルトの集計ルールが「なし」または「合計」以外の場合、物理列は見つかりません。「合計」以外の集計ルールにADF UIヒントを使用しても、意味的に有効ではありません。

3. 複数の論理表ソースによって、1つの論理列が複数の物理列にマップされている場合があります。無効になっていない論理表ソースのみが検索されます。

4. 非トリビアルな式(物理列名だけでないもの)を使用して、論理列をマップする論理表ソースを検索しないでください。論理表ソースが検索されない場合、物理列は見つかりません。

5. 論理表ソースの残りの順序付きリストから、最初の論理表ソースによってマップされている物理列を調べます。物理列はビュー・オブジェクト属性にマップされている必要があります。つまり、物理列は、タイプOracleADF11gの物理データベースの一部である必要があります。

- この条件を満たす場合、UIヒントを取得するための物理列が見つかります。

- この条件を満たさない場合、ビュー・オブジェクト属性にマップされている物理列が見つかるまで、引き続き、次の論理表ソースによってマップされている物理列を調べます。
すべての論理表ソースを検索しても条件を満たさなかった場合、物理列は見つかりません。

これらのルールを使用して、UIヒントを取得するための物理列が見つかると、事前に決定されたネーミング・スキームに基づく名前を持つセッション変数がカスタム表示名またはカスタム説明に移入されます。詳細は、「UIヒントのセッション変数ネーミング・スキームについて」を参照してください。

これらのルールを使用して、UIヒントを取得するための物理列が見つからなかった場合、「ADFラベルの生成」および「ADFツールチップの生成」オプションは、無効になった状態で右クリック・メニューに表示されます。

これらのルールを使用して見つかった物理列を使用するかわりに、初期化ブロックでXMLコードを使用して、独自のセッション変数をADF UIヒントで初期化することもできます。その場合、「カスタム表示名」および「カスタム説明」フィールドにこれらのセッション変数を手動で入力する必要があります。詳細は、「初期化ブロックでのXMLコードの使用によるUIヒントの問合せ」を参照してください。

UIヒントを伝播するためのセッション変数の自動初期化

「表示名の外部化」→「ADFラベルの生成」および「記述子の外部化」→「ADFツールチップの生成」オプションを使用してOracle ADFのUIヒントのセッション変数名が正常に生成されると、Oracle BIプレゼンテーション・サービスがセッション中に問合せを実行したときに、セッション変数が作成され、初期化されます。パフォーマンス上の理由から、セッションのログオン段階では、変数の作成と初期化は行われません。かわりに、「遅延実行の許可」機能を使用して、セッション内で特定の問合せで必要になったときに、変数が作成され、初期化されます。

プレゼンテーション・サービスがODBC経由でカスタム表示名およびカスタム説明を問い合せると、Oracle BIサーバーによって、関連するセッション変数が作成されているかどうかがチェックされます。それらが作成されていなければ、Oracle BIサーバーによって適切なXML問合せが動的に生成されて(「初期化ブロックでのXMLコードの使用によるUIヒントの問合せ」を参照)、Oracle ADFデータ・ソースのUIヒントが問い合されます。そのUIヒントを使用して、セッション変数が作成され、初期化されます。最適化として、Oracle BIサーバーはビュー・オブジェクトごとにUIヒントを問い合せます。つまり、Oracle BIサーバーがビュー・オブジェクトの属性のUIヒントを必要とする場合、そのビュー・オブジェクトの下にある全属性のUIヒントに対して問合せが行われ、セッション変数を通して伝播されます。

分析の作成時にOracle ADFデータ・ソースのUIヒントを使用する例

次の例では、分析の作成時にOracle ADFデータ・ソースのUIヒントを使用する方法について説明します。

次の前提条件を満たしている必要があります。

- Oracle ADFデータ・ソースでUIヒントが構成されています。

- 管理ツールでOracle ADFデータ・ソースの作業用リポジトリが構成されています。

分析の作成時にOracle ADFデータ・ソースのUIヒントを使用するには:

1. 「LastName」というプレゼンテーション列がリポジトリに含まれているとします。また、「プレゼンテーション列」ダイアログの「一般」タブで、「カスタム表示名」および「カスタム説明」フィールドは選択されていません。
プレゼンテーション・レイヤーの列を右クリックし、まず「表示名の外部化」→「ADFラベルの生成」を選択し、次に「記述子の外部化」→「ADFツールチップの生成」を選択して、「カスタム表示名」および「カスタム説明」フィールドに移入する文字列を生成します。

プレゼンテーション表の右クリック・メニューからこれらのオプションを使用して、その表のすべての列について文字列を生成することもできます。

2. UIヒントを表示します。

1. Oracle Business Intelligenceにサイン・インします。

2. UIヒントを取得したサブジェクト・エリアを使用して、新しい分析を作成します。

3. 「サブジェクト・エリア」ペインで、Employeeフォルダを開いて、Oracle ADFデータ・ソースから伝播されたUIヒントを表示します。
LastName列は、「Last Name」(Oracle ADFデータ・ソースのラベル値)と表示されます。その列の上にマウス・ポインタを移動すると、「This is the employee's last name」(Oracle ADFデータ・ソースのツールチップ値)というヒントが表示されます。

分析の作成については、『Oracle Fusion Middleware Oracle Business Intelligence Enterprise Editionユーザーズ・ガイド』を参照してください。

初期化ブロックでのXMLコードの使用によるUIヒントの問合せ

前の項で説明した自動化されたシステムを使用する方法とは別に、初期化ブロックでSQL文のかわりに専用のXMLコードを使用して、1つのリポジトリおよびサブジェクト・エリア内で、UIヒントをデータ・ソースに問い合せることもできます。mode、databaseおよびlocaleという3つの属性を持つADFQuery要素を使用します。この要素には、ゼロ個以上の子要素が必要です。要素の構文は次のとおりです。

<?xml version="1.0" encoding="iso-8859-1" standalone="yes"?>
<ADFQuery mode="mode" database="database_name"
locale="VALUEOF(NQ_SESSION.WEBLANGUAGE)">
<ViewObject><![CDATA[view_object_name]]></ViewObject>
<Attribute>
<ViewObject><![CDATA[attribute_view_object_name]]></ViewObject>
<Name><![CDATA[attribute_name]]></Name>
</Attribute>
</ADFQuery>

説明:

modeは、問い合せる内容を指定します。

- 属性のラベルを問い合せる場合はlabel

- 属性のツールチップを問い合せる場合はtooltip

- 属性のラベルとツールチップを問い合せる場合はui_hints

database_nameは、Oracle ADFデータ・ソースの属性に対応する物理列が含まれている、管理ツールの物理データベース・オブジェクトの名前を指定します。

view_object_nameは、ビュー・オブジェクトの名前を指定して、その中のすべての属性のUIヒントを取得します。

attribute_view_object_nameは、属性が含まれているビュー・オブジェクトの名前を指定します。

attribute_nameは、関連付けられたビュー・オブジェクトに属する属性の名前を指定して、その属性のUIヒントを取得します。

例6-1 すべてのビュー・オブジェクトのラベルの問合せ

すべてのビュー・オブジェクトのすべての属性のUIヒントを問い合せる場合、ADFQuery要素に子要素を含めないでください。たとえば、My_orclADF物理データベース・オブジェクト下のすべてのビュー・オブジェクトのすべての属性のラベルを問い合せるには、次のXMLコードを使用します。

<?xml version="1.0" encoding="iso-8859-1" standalone="yes"?>
<ADFQuery mode="label" database="My_orclADF"
locale="VALUEOF(NQ_SESSION.WEBLANGUAGE)">
</ADFQuery>

例6-2 特定のビュー・オブジェクトのツールチップの問合せ

特定のビュー・オブジェクトのすべての属性のUIヒントを問い合せる場合、ViewObjectという子要素をゼロ個以上ADFQuery要素に含めることができます。各ViewObject要素に、ビュー・オブジェクトの名前を含むテキスト・コンテンツがあります。ViewObject要素は、すべての属性のUIヒントの問合せ元のビュー・オブジェクトを指定するために使用します。たとえば、My_orclADF物理データベース・オブジェクト下のEmployeesViewおよびCustomersViewというビュー・オブジェクトのすべての属性のツールチップを問い合せるには、次のXMLコードを使用します。

<?xml version="1.0" encoding="iso-8859-1" standalone="yes"?>
<ADFQuery mode="tooltip" database="My_orclADF"
locale="VALUEOF(NQ_SESSION.WEBLANGUAGE)">
<ViewObject><![CDATA[EmployeesView]]></ViewObject>
<ViewObject><![CDATA[CustomersView]]></ViewObject>
</ADFQuery>

例6-3 特定の属性のUIヒントの問合せ

Attributeという子要素をゼロ個以上ADFQuery要素に含めることができます。各Attribute要素に、ViewObjectおよびNameという2つの必須の子要素があります。Attribute要素は、UIヒントの問合せ元の属性を指定するために使用します。ViewObject子要素には、ビュー・オブジェクトの名前を含むテキスト・コンテンツがあります。この要素は、属性が属するビュー・オブジェクトを指定します。Name子要素には、属性の名前を含むテキスト・コンテンツがあります。たとえば、My_orclADF物理データベース・オブジェクト下のEmployeesViewビュー・オブジェクトのFirstnameおよびLastnameという属性のラベルとツールチップを問い合せるには、次のXMLコードを使用します。

<?xml version="1.0" encoding="iso-8859-1" standalone="yes"?>
<ADFQuery mode="ui_hints" database="My_orclADF"
locale="VALUEOF(NQ_SESSION.WEBLANGUAGE)">
<Attribute>
<ViewObject><![CDATA[EmployeesView]]></ViewObject>
<Name><![CDATA[Firstname]]></Name>
</Attribute>
<Attribute>
<ViewObject><![CDATA[EmployeesView]]></ViewObject>
<Name><![CDATA[Lastname]]></Name>
</Attribute>
</ADFQuery>

初期化ブロックを構成したら、該当するプレゼンテーション列について「カスタム表示名」および「カスタム説明」テキスト・フィールドにセッション変数名を手動で入力する必要があります。

「分析の作成時にOracle ADFデータ・ソースのUIヒントを使用する例」の手順に従います。ただし、最初の手順を次の手順に置き換えてください。

1. 管理ツールでセッション初期化ブロックを作成します。

1. セッション変数初期化ブロック・データ・ソースダイアログで、初期化文字列を入力します。
この例では、初期化ブロックは、EmployeesViewというビュー・オブジェクトのすべての属性のラベルとツールチップを問い合せます。図6-5に、適切なOracle ADF UIヒントの問合せを含むセッション変数初期化ブロックの設定を示します。"My_orclADF"."Connection Pool"は、Oracle ADFデータ・ソースの接続プールです。

図6-5 Oracle ADF UIヒントの問合せを含むセッション変数初期化ブロック・データ・ソースの設定

2. 「セッション変数初期化ブロック」ダイアログで、変数ターゲットとして「行単位の初期化」を選択します。

3. 「テスト」をクリックして、Oracle ADFデータ・ソースに対する問合せをテストします。
結果ウィンドウの最初の列には、ネーミング・スキームを使用して生成されたセッション変数名が表示されます。2番目の列には、Oracle ADFデータ・ソースのラベル値およびツールチップ値が表示されます。

ネーミング・スキームについては、「UIヒントのセッション変数ネーミング・スキームについて」を参照してください。

2. プレゼンテーション列のカスタム表示名と説明を構成します。
EmployeesViewビュー・オブジェクトのUIヒントを使用できるプレゼンテーション表を検索するために、この例では、管理ツールの「リポジトリの問合せ」機能を使用します。

1. 物理表(EmployeesViewなど)を右クリックし、メニューから「問合せ関連オブジェクト」→「プレゼンテーション」→「プレゼンテーション表」を選択します。
「問合せ関連オブジェクト」ダイアログに、関連するすべてのプレゼンテーション表が表示されます。

この例では、Employeeプレゼンテーション表の列のカスタム表示名とカスタム説明を設定します。

図6-6 「問合せ関連オブジェクト」機能を使用した、関連するプレゼンテーション表の検索

2. 必要なプレゼンテーション表を選択し、「移動」をクリックします。
選択したプレゼンテーション表が表示されます。

3. プレゼンテーション表を開いて、プレゼンテーション列を表示します。

4. LastNameプレゼンテーション列をダブルクリックして、「プレゼンテーション列」ダイアログを表示します。

5. 「カスタム表示名」を選択し、次のような値を入力します。

VALUEOF(NQ_SESSION.ADF_LABEL_MY_ORCLADF_EMPLOYEESVIEW_LASTNAME)

6. 「カスタム説明」を選択し、次のような値を入力します。

VALUEOF(NQ_SESSION.ADF_TOOLTIP_MY_ORCLADF_EMPLOYEESVIEW_LASTNAME)

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

8. 変更内容をリポジトリに保存し、Oracle BIサーバーを再起動します。

7 データベース・オブジェクトおよび接続プールの設定

この章では、物理レイヤーのデータベースおよび接続プール・オブジェクトのプロパティについて説明します。

通常、データベース・オブジェクトおよび接続プールのプロパティは、データ・ソースからメタデータをインポートしたときに自動的に設定されます。ただし、状況によっては、データベースや接続プールの設定の調整、データベース・オブジェクトや接続プールの手動作成が必要になることがあります。

この章には、次の項が含まれています。

- データベース・オブジェクトの設定

- 接続プールについて

- 接続プールの作成または変更

- 永続接続プールの設定

- 接続プール・パスワードの変更のためのBIServerT2PProvisioner.jarユーティリティの使用

データベース・オブジェクトの設定

データ・ソースからメタデータをインポートすると、スキーマのデータベース・オブジェクトが自動的に作成されますが、データベース・プロパティの調整または表示が必要になる場合があります。さらに、使用状況トラッキングの構成、Oracle Scorecardと戦略管理の設定、集計の永続性ターゲットの構成などの特定の状況では、手動によるデータベース・オブジェクトと接続プールの作成が必要になる場合もあります。

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

次の項では、物理レイヤーのデータベース・オブジェクトのプロパティを作成、編集または表示する方法を説明します。

- 物理レイヤーのデータベース・タイプについて

- 物理レイヤーにおけるデータベース・オブジェクトの手動作成

- データ・ソースでサポートされるSQL機能の指定

- データベース・プロパティの表示

物理レイヤーのデータベース・タイプについて

物理スキーマを物理レイヤーにインポートすると、通常はデータベース・タイプが自動的に割り当てられます。データベース・タイプの自動割当ての補足情報は次のとおりです。

- リレーショナル・データ・ソース。インポート・プロセス時に、ODBCドライバの一部はOracle BIサーバーにデータベース・タイプを割り当てます。ただし、サーバーでこのデータベース・タイプを判別できない場合は、類似のODBCタイプがデータベース・オブジェクトに割り当てられます。このODBCタイプをデータベース・リストの最も近似するエントリに置き換えます。

- マルチディメンション・データ・ソース。現在使用可能で、サポートされるXMLA準拠データ・ソースは、Microsoft Analysis ServicesおよびSAP/BWのみです。マルチディメンション・データ・ソースからメタデータをインポートした後は、データベース・オブジェクトを確認して、必要に応じて適切なデータベース・タイプおよびバージョンに更新します。

物理レイヤーにおけるデータベース・オブジェクトの手動作成

データベース・オブジェクトを手動で作成する場合、関連付けられている接続プールを手動で設定することも必要です。

マルチディメンション・データ・ソースで、リポジトリの物理レイヤーに物理スキーマを作成する場合は、物理レイヤーの各キューブ、またはデータ・ソース内の同一カタログ(データベース)に属するキューブのセットに1つずつデータベースを作成する必要があります。1つの物理データベースで複数のキューブを保持できます。ただし、これらのキューブのすべてがデータ・ソースの同一カタログに属している必要があります。

注意:
物理スキーマのインポートを強くお薦めします。

データベース・オブジェクトを作成するには:

1. 管理ツールで、物理レイヤーの「新規データベース」を右クリックして選択します。
右クリックの際は、選択されているオブジェクトがないことを確認してください。

2. 「データベース」ダイアログの「一般」タブで、表7-1をガイドとして使用してフィールドに入力します。

表7-1 「データベース」ダイアログの「一般」タブのオプション

オプション

説明

データ・ソース定義: データベース

使用データベースのデータベース・タイプ。

「機能」タブを使用して指定データベース・タイプでサポートされるSQL機能を調べる方法については、「データ・ソースでサポートされるSQL機能の指定」を参照してください。

データ・ソース定義: CRMメタデータ表

このプロパティは、リレーショナル・データ・ソース、およびレガシーのSiebel Systemsソースでのみ使用できます。

選択されている場合、Siebel CRM表の物理表と列の定義がSiebelメタデータ・ディクショナリから派生したものであることを示します。

データ・ソース定義: 仮想プライベート・データベース

物理データベース・ソースを仮想プライベート・データベース(VPD)と見なします。VPDを使用すると、ユーザーの権限資格証明によって返されるデータ結果が決まります。このため、これらのソースの特定が重要になります。これらのデータ結果は、キャッシュで使用される問合せの結果セットの有効性に影響します。詳細は、『Oracle Fusion Middleware Oracle Business Intelligence Enterprise Editionシステム管理者ガイド』のパフォーマンス・チューニングおよび問合せキャッシュの管理に関する項を参照してください。

対応する接続プールで SSOに対して構成されたEssbase、Hyperion Financial ManagementまたはHyperion Planningデータ・ソースについては、常にこのオプションを選択します。

注意: このオプションを選択する場合は、「セッション変数」ダイアログの「セキュリティ・センシティブ」オプションも選択する必要があります。詳細は、「セッション変数の作成」を参照してください。

永続化された接続プール

永続接続プールを使用するには、事前に一時表を設定しておく必要があります。詳細は、「永続接続プールの設定」を参照してください。

デフォルトで問合せの移入を許可

選択すると、すべてのユーザーがPOPULATE SQLを実行できます。全員ではなく大半のユーザーにPOPULATE SQLの実行を許可する必要がある場合は、このオプションを選択してから特定のユーザーおよびグループの問合せを制限します。詳細は、「問合せ制限の設定」を参照してください。

デフォルトで直接データベース・リクエストを許可

選択すると、すべてのユーザーが物理問合せを実行できます。Oracle BIサーバーによって、基礎を構成するデータベースに未処理のユーザー入力による物理SQLが直接送信されます。返される結果セットは、Oracle BIプレゼンテーション・サービスでのレンダリング、さらにチャート化、ダッシュボードでのレンダリング、およびOracle BIリクエストとしての処理が可能です。

全員ではなく大半のユーザーに物理問合せの実行を許可するには、このオプションを選択してから特定のユーザーおよびグループの問合せを制限します。詳細は、「問合せ制限の設定」を参照してください。

注意: このオプションの構成が不適切であると、機密性の高いデータが予定外のユーザーに公開される場合があります。詳細は、「デフォルトで直接データベース・リクエストを許可する状況」を参照してください。

物理SQL実行の詳細は、『Oracle Fusion Middleware Oracle Business Intelligence Enterprise Editionユーザーズ・ガイド』の直接データベース・リクエストの使用に関する項を参照してください。

デフォルトで直接データベース・リクエストを許可する状況

プロパティ「デフォルトで直接データベース・リクエストを許可」を設定すると、すべてのユーザーが物理問合せを実行できます。構成が不適切であると、機密性の高いデータが予定外のユーザーに公開される場合があります。このデータベース・プロパティを設定する際は、次のガイドラインを使用します。

- Oracle BIサーバーは、Oracle BIサーバー、Oracle BIプレゼンテーション・サービス、またはOracle BIスケジューラが実行されているコンピュータからの接続リクエストのみを受け入れるように構成する必要があります。この制限事項は、Oracle BIプレゼンテーション・サービスのIPアドレスを使用してTCP/IPレベルで設定する必要があります。これにより、Oracle BIプレゼンテーション・サービスからのTCP/IP接続のみが許可されます。

- このコンピュータにリモート・ログインすることにより、ユーザーがnqcmd (SQLスクリプトを実行するユーティリティ)を実行できないようにするには、Oracle BI Presentation Servicesがインストールされているコンピュータに次の手段でアクセスを拒否する必要があります。

- TELNET

- リモート・シェル

- リモート・デスクトップ

- 遠隔会議ソフトウェア(Windows NetMeetingなど)

必要に応じて、管理者権限の例外を作成する必要があります。

- 次のタスクの実行は、管理者権限が付与されたユーザーにのみ実行を許可する必要があります。

- TELNET経由による、Oracle BIサーバーおよびOracle BIプレゼンテーション・サービスのコンピュータにおけるキャッシュ・シードのためのnqcmdの実行などのタスクの実行。

- 「アンサー」の高度なSQLページへのアクセスによるリクエストの作成。詳細は、『Oracle Fusion Middleware Oracle Business Intelligence Enterprise Editionユーザーズ・ガイド』を参照してください。

- Oracle BIプレゼンテーション・サービス上でグループ/ユーザーベースの権限を設定して、直接データベース・リクエストの編集(事前構成でOracle BIプレゼンテーション・サービス管理者によるアクセスを許可)、および実行(事前構成ですべてのユーザーによるアクセスを許可しない)のアクセスを制御します。詳細は、『Oracle Fusion Middleware Oracle Business Intelligence Enterprise Editionセキュリティ・ガイド』を参照してください。

データ・ソースでサポートされるSQL機能の指定

「データベース」ダイアログの「一般」タブでメタデータのインポートまたはデータベース・タイプの指定を行うと、データベース・タイプに応じて適切なデフォルト値がデータベース・オブジェクトの機能セットに自動的に移入されます。これらは、Oracle BIサーバーでこのデータ・ソースに対して使用されるSQL機能です。

「データベース」ダイアログの「機能」タブで、機能にサポートされていることを示すマーク(チェック)が付けられている場合、通常はOracle BIサーバーによってデータ・ソースに関数または計算がプッシュされパフォーマンスの向上が図られます。関数または機能がデータ・ソースでサポートされていない場合はOracle BIサーバーで計算または処理が実行されます。

「機能」タブのサポートされる機能のリストは、ORACLE_INSTANCE\config\OracleBIServerComponent\coreapplication_obisnにあるDBFeatures.INIファイルで定義された機能のデフォルトを使用しています。このファイルを直接編集することはできませんが、このファイルを参照して、データ・ソース・タイプのそれぞれでサポートされる機能を比較することは有益です。

データ・ソースの問合せ機能は調整可能です。たとえば、新バージョンのデータ・ソースで機能サポートが更新されていても、その内容がOracle BIサーバーのデフォルトに反映されていない場合があります。このような場合は「機能」タブの設定を更新して、新バージョンのデータ・ソースで実際にサポートされている機能を反映させることができます。また、データ・ソースで特定の機能(左外部結合の問合せなど)がサポートされ、その問合せがOracle BIサーバーから特定のデータ・ソースに送信されることを禁じる必要がある場合は、「機能」タブでそのデフォルト設定を変更できます。3つ目の例は、関数の実行方法が異なるフェデレーテッド・データ・ソースがある状況です。問合せ結果の整合性を保持するため、関数を適宜無効化してOracle BIサーバーで実行される計算の整合性を確保することなどができます。

注意:
「機能」タブでサポートされる機能のセットを変更する際は特に注意が必要です。データ・ソースがサポートしていないSQL機能を有効にすると、問合せでエラーや予期せぬ結果が返される場合があります。サポートされるSQL機能を無効にすると、サーバーからデータ・ソースに発行されるSQLの効率が下がります。
ほとんどの場合は、デフォルト値を保持することをお薦めします。「機能」タブで、特定の機能のデフォルト値を変更して、その機能をサポート対象であると指定する場合は、その機能が実際にデータ・ソースでサポートされていることを確認する必要があります。

データ・ソースでサポートされるSQL機能を指定するには:

1. 管理ツールの物理レイヤーでSQL機能を指定するデータベースをダブルクリックします。

2. 「データベース」ダイアログで「機能」タブをクリックします。

3. 「機能」タブで、表7-2の情報を利用して、SQL機能それぞれのプロパティを指定します。

表7-2 「データベース」ダイアログの「機能」タブのオプション

オプション

説明

機能

COUNT_DISTINCT_SUPPORTEDのような、データベース機能の名前。

値

特定の機能の現在値を表示します。選択されている場合はその機能がデータ・ソースでサポートされていること、およびその関数または機能がOracle BIサーバーではなくデータ・ソースで実行されることを示します。

一部の機能では、選択されているかどうかではなく、「値」列にデフォルト値が表示されます。たとえば、MAX_ENTRIES_PER_IN_LISTの場合はこの列に10が表示されます。

デフォルトの選択とデフォルト値を保持することを強くお薦めします。

デフォルト

特定の機能のデフォルト値を表示します。この列に表示されるデフォルトは、ファイルDBFeatures.INIで指定されます。

検索

リスト内の機能の検索に役立つ文字列を入力できます。

再検索

このオプションは、「検索」をクリックした後に使用可能になります。同じ文字列で複数回の検索の実行を可能にします。

DBMSの問合せ

このボタンは、Oracle BIサーバーに機能デフォルト・セットがないデータ・ソースのインストール時および問合せ時にのみ使用されます。このタイプのデータ・ソースの機能表エントリに関する問合せを可能にすることで、サポートされるSQL機能の確認を可能にします。この問合せ結果に基づいて、「機能」タブに表示されるエントリの変更が可能になります。

XMLまたはマルチディメンション・データ・ソースを使用している場合はこのボタンは使用可能になりません。

注意: 「DBMSの問合せ」機能の使用には細心の注意が必要です。機能問合せの結果がデータ・ソースで実際にサポートされるSQL機能を正確に反映しているとは限りません。この機能を使用する際は、「機能」タブに表示されるサポートされる機能のリストがデータ・ソースで実際にサポートされる機能と一致していることを検証する必要があります。詳細は、使用するデータ・ソースのドキュメントを参照してください。

デフォルトにリセット

このボタンは、ファイルDBFeatures.INIから、このデータ・ソース・タイプのデフォルト値をリストアします。

注意:
OPTIMIZE_MDX_FILTER_QUALIFICATION機能は変更しないでください。このパラメータは、将来のリリース用に予約されています。

データベース・プロパティの表示

「データベース・プロパティ」タブは、一部のデータ・ソースに対して、「物理」レイヤーのメタデータを拡張する汎用メカニズムとして使用されます。たとえば、Oracle ADFデータ・ソースについては、Oracle ADF BIのビュー・オブジェクトから管理ツールに渡されるカスタム・データベース・プロパティを表示できます。カスタム・プロパティを表示するには、「データベース・プロパティ」タブをクリックします。通常、これらのプロパティを作成または編集する必要はありません。

表7-3は、カスタム・プロパティの例を示しています。

表7-3 「データベース・プロパティ」タブのカスタム・プロパティの例

カテゴリ

キー名

値

説明

FscmTopModelAM.AccountBIAM

BIObject_FLEX_TREE_VS_COST_CENTER_LABEL_VI

Dim - Cost Center

FLEX_TREE_VS_COST_CENTER_LABEL_VIビュー・オブジェクトは、Dim - Cost Center論理ディメンションにマップする必要があります。

FscmTopModelAM.AccountBIAM

BIFlexfieldViewUsage

FLEX_BI_AcctKff_VI

FLEX_BI_AcctKff_VIは、FscmTopModelAM.AccountBIAMに対するCCIDビュー・オブジェクトです。

FscmTopModelAM.AccountBIAM

EnforceCustomDataType_FscmTopModelAM.AccountBIAM

"Segment 1":"VARCHAR"; "Segment ID":"DOUBLE"

FscmTopModelAM.AccountBIAMビュー・オブジェクトについては、いくつかの物理列のデータ型をプロパティで渡される値でオーバーライドする必要があります。

接続プールについて

接続プールは物理レイヤーのオブジェクトで、データ・ソースへのアクセスを記述します。接続プールには、Oracle BIサーバーとデータ・ソース間の接続の詳細が格納されます。

管理ツールの物理レイヤーには、データベースごとに1つ以上の接続プールが格納されています。接続プールは、データ・ソースのスキーマをインポートして物理レイヤーを作成するときに自動的に作成されます。1つのデータベースに対して複数の接続プールを構成できます。接続プールを使用すると、複数の同時データ・ソース・リクエスト(問合せ)で単一のデータベース接続の共有が可能になり、データベースへの接続のオーバーヘッドを軽減できます。

注意:
初期化ブロックには専用接続プールを作成することをお薦めします。詳細は、「初期化ブロックの接続プールについて」を参照してください。

接続プールのそれぞれに、許容される最大同時接続数を指定する必要があります。この制限値に達すると、接続リクエストは、接続に空きができるまで待機します。

許容される同時接続数が増えると、接続プールからのアクセス先になる基礎データベースの負荷が増加する可能性があります。テストを実行しDBAと協議して、接続プールで指定した接続数をデータ・ソースで処理できることを確認してください。また、データ・ソースに接続数に基づくチャージバック・システムがある場合、同時接続数を制限してチャージバック・コストを低く保持することが必要な場合もあります。

データベース・リソースに関連して見込まれる負荷およびコストに加えて、Oracle BIサーバーではサーバーの起動時に接続のそれぞれに共有メモリーが割り当てられます。これによって接続数が上昇し、Oracle BIサーバーのメモリー使用量が増加します。

初期化ブロックの接続プールについて

初期化ブロックには専用接続プールを作成することをお薦めします。この接続プールは問合せに使用しないでください。

また、初期化ブロックのタイプごとに接続プールを分離することもお薦めします。このようにすることで、認証およびログイン固有の初期化ブロックでログイン・プロセスの速度が低下しないことが保証されます。次のタイプには独立した接続プールを設定する必要があります。

- 言語、外部化文字列、グループ割当てなどの認証およびログイン固有の初期化ブロック。

- セッション変数を設定するすべての初期化ブロック。

- リポジトリ変数を設定するすべての初期化ブロック。これらの初期化ブロックは常に管理者権限を持つ資格証明を使用して実行する必要があります。
これらの初期化ブロックの数、スケジュールされたリフレッシュ率、およびその実行のスケジュール時点は把握しておく必要があります。このシナリオでリソースに対する影響の極端な状況を考えてみましょう。たとえば、リフレッシュ率を分単位で設定し、同時にリフレッシュされる初期化ブロックが15を超えており、これらのシナリオのいずれかが最もユーザー・アクセスが多い時間フレームに発生するとします。

初期化ブロックは、ブロック別にOracle BIサーバーの変数の最大数が割り当てられるように設計する必要があります。たとえば、5つの変数がある場合、効率的でリソース集中度を低くするには、5つの変数のすべてが格納される単一の初期化ブロックを構成します。初期化ブロック1つを使用した場合、初期化文字列を使用し、バック・エンド表に対するコール1回だけで値が解決されます。変数ごとに1つずつ、合計5つの初期化ブロックを構成した場合は、バック・エンド表に対するコールが5回発生して割当てが実行されることになります。

Oracle BIサーバーの起動中に、初期化ブロックが特定の接続プールに対して失敗した場合、その接続プールを使用する初期化ブロックはそれ以上処理されません。そのかわり、接続プールはブラックリストに記載され、その接続プールの後続の初期化ブロックはスキップされます。この動作により、共有プールに多くの関連する初期化ブロックまたは変数がある場合でもOracle BIサーバーが適切なタイミングで開始します。

この場合、サーバー・ログに次のようなメッセージが表示されます。

[OracleBIServerComponent] [ERROR:1] [43143] Blacklisted connection pool
name_of_connection_pool

このエラーが表示された場合は、特定の接続プールの初期化ブロックを確認し、それらのブロックが正しいことを確認します。

これらのオブジェクトの詳細は、「初期化ブロックの操作」を参照してください。

接続プールの作成または変更

通常、データベース・オブジェクトと接続プールは、リレーショナルとマルチディメンションのいずれのデータ・ソースの場合も物理スキーマのインポート時に自動的に作成されます。物理スキーマをインポートしなかった場合は、接続プールの作成前にデータベース・オブジェクトを作成する必要があります。接続プールは、管理ツールの物理レイヤーで作成および変更します。

既存のデータベースおよび接続プールをすでに定義している場合は、物理レイヤーで接続プールを右クリックして「メタデータのインポート」を選択すると、そのデータ・ソースのメタデータをインポートできます。「メタデータのインポート」ウィザード画面が表示され、「データ・ソースの選択」画面の情報がすでに入力されています。インポート・ウィザードの詳細は、第5章「メタデータのインポートとデータ・ソースの操作」を参照してください。

本番移行などのプロセスにおける接続プールの変更を自動化するには、Oracle BIサーバーXML APIの使用を検討してください。詳細は、Oracle Fusion Middleware Oracle Business Intelligence Enterprise Edition XMLスキーマ・リファレンスのOracle BIサーバーのXML APIに関する項を参照してください。

接続プールを作成または変更するには:

1. 管理ツールの物理レイヤーで、データベースを右クリックし、「新規オブジェクト」、「接続プール」を選択します。また、既存の接続プールをダブルクリックする方法もあります。

2. 必要に応じてプロパティを指定または調整して「OK」をクリックします。

次の各項では、「接続プール」ダイアログの各タブでのプロパティの設定方法を説明します。

- 「一般」タブの接続プール・プロパティの設定

- 「接続スクリプト」タブの接続プール・プロパティの設定

- 「XML」タブの接続プール・プロパティの設定

- 「ライトバック」タブの接続プール・プロパティの設定

- 「その他」タブの接続プール・プロパティの設定

「一般」タブの接続プール・プロパティの設定

ここでは、「接続プール」ダイアログの「一般」タブのプロパティについて説明します。「一般」タブはすべてのデータ・ソースで使用することができます。

接続プールの一般プロパティを設定するには:

- 「接続プール」ダイアログの「一般」タブをクリックし、表7-4および表7-5の情報を参照してフィールドに入力します。

「一般」タブにリストされるプロパティは、データ・ソース・タイプによって異なります。たとえば、XMLAデータ・ソースには「URL」の接続プロパティがありますが、リレーショナルおよびXMLのデータ・ソースにはオプション「完全修飾表名が必要」があります。

この項には次のトピックが含まれます:

- 「一般」タブの共通的な接続プール・プロパティ

- 「一般」タブの多次元接続プールのプロパティ

「一般」タブの共通的な接続プール・プロパティ

ここでは、「一般」タブに表示される接続プール・プロパティのうち、ほとんどのデータ・ソース・タイプで共通するプロパティについて説明します。

図7-1は、OCIデータ・ソースの 「接続プール」ダイアログの「一般」タブを示しています。

図7-1 「接続プール」ダイアログの「一般」タブ: OCIデータ・ソース

表7-4は、「接続プール」ダイアログの「一般」タブの、各種のデータ・ソース・タイプで共通的なプロパティを説明しています。

表7-4 「一般」タブの接続プール・プロパティ: 共通的なプロパティ

プロパティ

説明

名前

接続プールの名前。インポート時に作成された接続プールには名前が自動的に割り当てられます。

権限

このオプションを使用して、接続プールにアクセスする権限を個別のユーザーまたはアプリケーション・ロールに割り当てます。たとえば、特権ユーザー・グループに独自の接続プールを設定することなどができます。

これは、データ・アクセスのセキュリティ保護を目的とする機能ではありません。たとえば、接続プール権限では、キャッシュ・エントリの保護は行われません。

Oracle Business Intelligenceのデータ・アクセス・セキュリティの詳細は、第14章を参照してください。

呼出しインタフェース

データ・ソースへのアクセスに使用されるApplication Programming Interface (API)を特定します。ネイティブAPIを使用してアクセスできるデータベースもあれば、ODBCを使用するデータベース、またいずれの方法も使用できるデータベースもあります。呼出しインタフェースがXMLの場合は、「XML」タブが使用できますが、XMLデータ・ソースに適用されないオプションは使用できません。

最大接続数

接続プールで許容される接続の最大数。デフォルトは10です。この値は、データベースの種類およびモデル、データベースが実行されるコンピュータのハードウェア構成、およびアクセスを要求する同時使用ユーザー数から決定する必要があります。

Microsoft Analysis Servicesデータ・ソースの場合、接続プールの「最大接続数」の設定(デフォルトは10)がAnalysis Servicesで構成されたXMLA MaxThreadsPerClientの設定(デフォルトは4)より大きい場合に503 Service Not Availableエラーが発生することがあります。このエラーを回避するには、msmdpump.iniファイルのMaxThreadsPerClientの設定を大きくするか、リポジトリ接続プールの「最大接続数」を小さくします。

関連情報については、「TimesTenデータ・ソースでのシステム・メモリー・リソースの使用の向上」も参照してください。

注意: 「Oracle BIインタラクティブ・ダッシュボード」ページを使用するデプロイメントでは、この値を同時ユーザー数にダッシュボード上のリクエスト数を乗じた数の10 - 20%と見積もることを検討してください。この数値は使用率に応じて調整できます。リポジトリ内の全接続の合計数を800未満にする必要があります。初期化ブロック専用の接続プールに必要な最大接続数を見積もるには、初期化ブロック実行時に同時ログオンするユーザー数を使用することをお薦めします。

完全修飾表名が必要

このオプションは、データベースまたはデータベース構成で完全修飾表名が要求される場合に選択します。一部のデータ・ソース・タイプではこのオプションを使用できません。

このオプションを選択すると、接続プールから送信されるすべてのリクエストで、基礎となるデータベースへの問合せに完全修飾名が使用されます。完全修飾名は、リポジトリ内の物理オブジェクト名に従います。物理メタデータのインポート元であった表自体に対する問合せを実行する場合は、このオプションを安全に選択できます。ある物理データベースから、データベースとスキーマ名が異なる別の物理データベースにリポジトリを移行している場合は、移行後の新しいデータベースで完全修飾名が無効になります。このような状況ではこのオプションの選択を解除しておくと、新しいデータベース・オブジェクトに対する問合せを正常に実行できます。

完全修飾名によって問合せが必要なデータベース内の必要な表にダイレクトされることが保証されるため、データ・ソースによっては完全修飾名の使用で安全度が向上する場合があります。たとえば、RDBMSでマスター・データベースの概念がサポートされる場合、Customerという名前の表に対する問合せは、まず、マスター・データベース内で、次に指定データベース内でその表を検索します。マスター・データベースにCustomerという名の表が存在する場合はその表で問合せが実行され、指定されたデータベースのCustomerという名の表では実行されません。

Oracle Databaseを使用し、表を格納するスキーマの所有者でないユーザーを使用してデータベースにアクセスしている場合は、このオプションを選択することが必要な場合もあります。問合せ内で表名が完全修飾されていないと、Oracle DatabaseがSQLで表名を解釈する際に問合せの実行者が所有者であると想定されます。これによって不適切な修飾名が発生する場合があります。

たとえば、ユーザーSAMPLEがCUSTOMERという名の表を作成した場合、完全修飾表名はSAMPLE.CUSTOMERになります。ユーザーSAMPLEが問合せで表CUSTOMERを参照すると、Oracle Databaseでは、完全修飾表名がSAMPLE.CUSTOMERであると見なされ、このアクセスは正常に実行されます。しかし、ユーザーJANEDOEが問合せで表CUSTOMERを参照した場合は、Oracle Databaseによって完全修飾表名がJANEDOE.CUSTOMERであると見なされ「表またはビューが見つかりません」というエラーが発生する可能性があります。JANEDOEからのアクセスを実行可能にするには、接続プールで「完全修飾表名が必要」を選択して、Oracle BIサーバーがすべての問合せでSAMPLE.CUSTOMERを指定できるようにする必要があります。

データソース名

接続プールの接続先および物理問合せの送信先にするデータ・ソースの名前。このフィールドに入力する値は、選択した呼出しインタフェースによって決まります。

- 呼出しインタフェースがOCIの場合は、ORACLE_HOME/network/adminのOracle Business Intelligence環境内で設定したtnsnames.oraファイルから、完全接続文字列またはネットサービス名を入力します。

- データベースごとにネイティブ・インタフェースを使用している場合は、そのシステムのデータベース名を入力します。

- 呼出しインタフェースがODBCの場合、ソース名フィールドにはローカル・コンピュータ上のODBCに定義されたすべてのユーザーとシステムDSNが記載されたリストが表示されます。接続先のデータ・ソースに適切なものを選択します。

Microsoft SQL Serverを使用している場合は、ODBCデータ・ソース名または完全な接続文字列を入力します。完全な接続文字列の構文は次のとおりです。

Driver={Driver Name};Address=Host Name;Database=Database Name

この場合、Driver NameはMicrosoft SQL ServerのODBCドライブ名です。このドライバ名はodbcinst.iniに存在している必要があり、環境変数ODBCINSTは、odbcinst.iniを指すように設定する必要があります。

共有ログオン

接続プールを使用して基礎となるデータベースにアクセスして問合せを実行するすべてのユーザーに同一のユーザー名とパスワードを使用させる場合は、このオプションを選択します。

このオプションを選択すると、ユーザーがDSN(またはユーザー構成)でデータベース・ユーザー名とパスワードを指定した場合でも、接続プールをデータベースへの接続に使用するすべての接続で、接続プールで指定されたユーザー名とパスワードが使用されます。

このオプションの選択を解除すると、接続プールを介する接続には、DSNまたはユーザー・プロファイルで指定されたデータベース・ユーザーIDとパスワードが使用されます。

接続プーリングの有効化

選択すると、指定した期間だけその後の問合せリクエストに備えて単一のデータベース接続を開いたままに保持できます。接続プールでは、問合せごとに新規の接続を開始/終了するオーバーヘッドを省くことができます。このオプションの選択を解除した場合は、データベースに送信される問合せごとに新たな接続が開始されます。

タイムアウト

問合せの完了後に、データベースへの接続を開いた状態で保持する時間量および増分単位(分など)を指定します。この期間内は、新たなリクエストで新たな接続が開かれるのではなく、この接続が使用されます(最大接続数で指定された数値以内)。この時間は接続リクエストの完了ごとにリセットされます。

ADFデータ・ソースを使用し、呼出しインタフェースがOracleADF_HTTPで、問合せモードがSQLBypassである場合、Timeoutは接続が取り消されるまでの最大実行時間を指定します。

マルチスレッド接続の使用

このオプションを選択すると、Oracle BIサーバーはアイドル状態の物理問合せ(スレッド)を終了します。選択を解除すると、1つのスレッドが1つのデータベース接続に結合されます(スレッド数=最大接続数)。スレッドは、アイドルであってもメモリーを消費します。

NQSConfig.iniのServerセクションのパラメータDB_GATEWAY_THREAD_RANGEは、Oracle BIサーバーがアイドル・スレッドを終了する時点を設定します。範囲の下限の数値は、Oracle BIサーバーがアクションを実行することなく開いた状態で保持されるスレッド数です。開いたスレッドの数が範囲の下限を超えると、Oracle BIサーバーはアイドル・スレッドを終了します。たとえば、DB_GATEWAY_THREAD_RANGEが40 - 200に設定され、75スレッドが開かれている場合、Oracle BIサーバーはアイドル状態であるすべてのスレッドを終了します。

サポートされているパラメータ

このオプションの選択が解除され、データベース機能表でパラメータがサポートされていると、特殊なコード実行され、Oracle BIサーバーではデータベースに対してパラメータを使用したフィルタ(または計算)のプッシュが可能になります。Oracle BIサーバーは、追加のSQLPrepareコールをデータベースに送信することによってゲートウェイ/アダプタ・レイヤー内のパラメータ・サポートをシミュレートして、これを実行します。

分離レベル

ODBCおよびDB2ゲートウェイ専用。この値によって、バックエンド・データベースに対する接続それぞれのトランザクション分離レベルが設定されます。分離レベルの設定によって接続から発行されるすべての文のデフォルトのトランザクション・ロック動作が制御されます。一度に設定できるオプションは1つのみです。その接続に対する設定は、明示的に変更されるまで存続します。

次のオプションがあります。

内容を保証しない読取り。内容を保証しない読取りを実装します(分離レベル0のロック)。これは、最も制限の少ない分離レベルです。このオプションを設定すると、未コミットのデータや内容を保証しないデータを読み取り、データの値を変更して、トランザクションの終了前にデータ・セットで行を表示したり非表示にしたりすることができます。

内容が保証されないデータとは、クリーンにしないと問合せで正しい結果が得られないデータです(例: 重複レコード、不整合があるネーミング規則によるレコード、互換性のないデータ型のレコード)。

コミットされた読取り。内容を保証しない読取りを回避するため、データの読取り中に共有ロックが保持されるように指定します。ただし、トランザクションの終了前のデータ変更が可能であるため、反復不可能な読取りや仮データが発生します。

反復可能読取り。問合せで使用されるすべてのデータにロックを設定して、他のユーザーによるデータの更新を防止します。ただし、別のユーザーによるデータ・セットへの新規の仮行の挿入が可能で、現行トランザクションの後続の読取りに包含されることがあります。

シリアライズ可能。データ・セットに対して範囲ロックを設定して、トランザクションが完了するまで他のユーザーによる更新およびデータ・セットへの行の挿入が防止されます。これは4種の分離レベルのうち、最も制限が厳しいレベルです。同時実行性が低下するため、このオプションは必要な場合のみ使用してください。

「一般」タブの多次元接続プールのプロパティ

ここでは、「一般」タブに表示される接続プール・プロパティのうち、マルチディメンション・データ・ソースに固有のプロパティについて説明します。

図7-2は、Essbaseデータ・ソースの「接続プール」ダイアログの「一般」タブを示しています。

図7-2 「接続プール」ダイアログの「一般」タブ: Essbaseデータ・ソース

表7-5は、「接続プール」ダイアログの「一般」タブのプロパティのうち、マルチディメンション・データ・ソースに固有のプロパティを説明しています。一部のプロパティは特定タイプのマルチディメンション・データ・ソースでのみ表示されます。

表7-5 「一般」タブの接続プール・プロパティ: マルチディメンション・データ・ソースのプロパティ

プロパティ

説明

URL

このプロパティはXMLAデータ・ソースのみに表示されます。XMLAプロバイダに接続するURLを指定します。このURLは、キューブをホストするコンピュータのXMLA仮想ディレクトリをポイントします。仮想ディレクトリは、msxisapi.dll (Microsoft XML for Analysis SDKインストールに含まれる)と関連付ける必要があります。このURLはたとえば次のようになります。

http://SDCDL360i101/xmla/msxisap.dll

Essbase Server

このプロパティはEssbaseデータ・ソースでのみ表示されます。Essbase Serverを実行しているコンピュータの名前を指定します。

Essbase Serverがデフォルト以外のポートで実行していたり、Essbase Clusterの一部である場合には、ポート番号をhostname:portのフォーマットで「Essbase Server」フィールドに含める必要があります。

注意: Essbase Clusterからメタデータをインポートできますが、「Essbase Server」フィールドに個別のEssbase Serverのホスト名とポート番号を指定する必要があります。

SSO

このプロパティはEssbase、Hyperion Financial ManagementおよびHyperion Planningのデータ・ソースでのみ表示されます。

接続プールの一連の共有資格証明のかわりに共有トークンを使用してEssbase、Hyperion Financial ManagementまたはHyperion Planningに対して認証を行う場合は、このオプションを選択します。

このオプションを選択する場合、対応するデータベース・オブジェクトで「仮想プライベート・データベース」を選択して、キャッシュ・エントリを保護することも必要です。詳細は、表7-1を参照してください。

EPMシステム・インストーラを使用してインストールされたEssbase、Hyperion Financial ManagementおよびHyperion Planningデータ・ソースについては、このオプションを選択する前に事前構成が必要です。詳細は、「Essbase、Hyperion Financial ManagementまたはHyperion Planningデータ・ソースのSSOの構成」を参照してください。

データ・ソース情報: データ・ソース

マルチディメンション・データ・ソースへの接続に使用されるベンダー固有の情報を指定します。仕様が一様ではないため、設定手順については、マルチディメンション・データ・ソース管理者に問い合せてください。たとえば、XML for Analysis SDKのv1.0を使用している場合は、この値がProvider-MSOLAP;Data Source-localになります。v1.1を使用している場合は、Local Analysis Serverになります。

データ・ソース情報: カタログ

データ・ソースからデータをインポートした場合は、使用可能なカタログのリストを指定します。キューブ表は接続プールで使用するカタログに対応します。

システムIPまたはホスト名

このプロパティはSAP/BWデータ・ソースでのみ表示されます。SAPデータ・サーバーのホスト名またはIPアドレスを指定します。このフィールドは、SAP/BW接続文字列のパラメータashostに対応します。

システム番号

このプロパティはSAP/BWデータ・ソースでのみ表示されます。SAPシステムの番号を指定します。これは、Web Application ServerすなわちWASとも呼ばれるSAPインスタンスに割り当てられる2桁の番号です。このフィールドはSAP/BW接続文字列のパラメータsysnrに対応します。

クライアント番号

このプロパティはSAP/BWデータ・ソースでのみ表示されます。SAPクライアントの番号を指定します。これは、SAPのクライアントと呼ばれる内蔵型ユニットに割り当てられる3桁の番号です。クライアントは、トレーニング、開発、テスト、本番のクライアントなどにすることができ、また、大企業の各部署を表すこともできます。このフィールドはSAP/BW接続文字列のパラメータclientに対応します。

言語

このプロパティはSAP/BWデータ・ソースでのみ表示されます。データ・ソースへのログイン時に使用されるSAPの言語コードを指定します(英語はEN、ドイツ語はDEなど)。このフィールドはSAP/BW接続文字列のパラメータlangに対応します。

追加パラメータ

このプロパティはSAP/BWデータ・ソースでのみ表示されます。オプションでパラメータ=値の形式で追加の接続文字列パラメータを指定できます。複数のパラメータの場合はコロンで区切ります。

セッションの使用

問合せが共通セッションを介するかどうかを制御するオプションです。このオプションを有効化する必要があるかどうかの判定については、マルチディメンション・データ・ソース管理者に問い合せてください。デフォルトはOff(選択解除)です。

「接続スクリプト」タブでの接続プール・プロパティの設定

ここでは、「接続プール」ダイアログの「接続スクリプト」タブのプロパティについて説明します。「接続スクリプト」タブは、ODBC、OCI、 Oracle OLAP、ADF、およびDB2のデータ・ソースで使用できます。

接続スクリプトを作成して、接続の確立前、問合せの実行前、問合せの実行後、または接続の切断後に実行するように設定できます。たとえば、接続時にユーザー名と接続時間を表に挿入する接続スクリプトを作成することなどができます。

接続スクリプトには、たとえば引用識別子をオンにするコマンドなど、データベースで受け入れられる任意のコマンドを組み込むことができます。メインフレーム環境では、スクリプトを使用してDB2への接続時にRACFなどのメインフレームのセキュリティ・パッケージへのセキュリティ・イグジットを強制するセカンダリ権限IDを設定することなどができます。これによって、メインフレーム環境のセキュリティの一元的な管理が可能になります。

接続スクリプトは、データ・ソースに直接送信されるため、スクリプトではOracle BIサーバーの論理SQLではなくネイティブSQLまたはデータ・ソースで認識されるその他の言語を使用する必要があります。

データ・ソースの接続スクリプトを作成するには:

- 「接続プール」ダイアログの「接続スクリプト」タブをクリックし、表7-6の情報を参照してフィールドに入力します。
接続スクリプトを新規に入力するには、適切なスクリプト・タイプの横にある「新規」をクリックします。次に、スクリプトのSQL文を入力するか、貼り付けて「OK」をクリックします。

省略記号ボタンをクリックして「物理SQL」ウィンドウを起動して、既存のスクリプトを編集することもできます。既存スクリプトを並べ替えるには、上矢印および下矢印ボタンを使用します。

スクリプトを削除するには、「削除」をクリックします。

図7-3は、「接続プール」ダイアログの「接続スクリプト」タブを示しています。

図7-3 「接続プール」ダイアログの「接続スクリプト」タブ

表7-6は、「接続プール」ダイアログの「接続スクリプト」タブのプロパティを説明しています。

表7-6 「接続スクリプト」タブの接続プール・プロパティ

プロパティ

説明

接続時に実行

接続の確立前に実行されるSQL問合せが格納されます。

問合せ前に実行

問合せの実行前に実行されるSQL問合せが格納されます。

問合せ後に実行

問合せの実行後に実行されるSQL問合せが格納されます。

切断時に実行

接続の切断後に実行されるSQL問合せが格納されます。

「XML」タブの接続プール・プロパティの設定

ここでは、「接続プール」ダイアログの「XML」タブのプロパティについて説明します。詳細は、表7-7を参照してください。「XML」タブはXMLおよびXMLサーバーのデータ・ソースでのみ使用できます。

注意:
「接続プール」ダイアログの「XML」タブは、「物理表」ダイアログの「XML」タブと同じ機能が提示されます。ただし、「物理表」ダイアログの「XML」タブのプロパティのほうが、「接続プール」ダイアログの対応設定より優先されます。

XMLデータ・ソースの接続プール・プロパティを設定するには:

- 「接続プール」ダイアログの「XML」タブをクリックし、表7-7の情報を参照してフィールドに入力します。

図7-4は、「接続プール」ダイアログの「XML」タブを示しています。

図7-4 「接続プール」ダイアログの「XML」タブ

表7-7は、「接続プール」ダイアログの「XML」タブのプロパティを説明しています。

表7-7 「XML」タブの接続プール・プロパティ

プロパティ

説明

接続方法:

検索スクリプト

このプロパティは、XMLサーバー・データ・ソースでのみ表示されます。「参照」をクリックして、適切な検索スクリプトを見つけます。

接続プロパティ:

URLリフレッシュ間隔

このプロパティはXMLデータ・ソースに使用されますが、XMLサーバー・データ・ソースには使用できません。リフレッシュ間隔は、データベース表のキャッシュ永続期間の設定に似ています。URLリフレッシュ間隔では期間が設定され、この期間を経過すると、キャッシュ内の結果を使用するのではなく、XMLデータ・ソースに対する直接問合せが再度実行されます。デフォルトの設定は無限で、XMLデータ・ソースのリフレッシュは行われません。

データ・ソースへのアクセスに使用するURLを指定した場合は、URLリフレッシュ間隔を設定します。

- リストから値(「無限」、「日」、「時間」、「分」または秒)を選択します。

- 間隔の数値部分とする整数値を指定します。

接続プロパティ:

URLのロードのタイムアウト

問合せのタイムアウトの間隔。デフォルトは15分です。

データ・ソースへのアクセスに使用するURLを指定した場合は、「URLのロードのタイムアウト」を次のように設定します。

- リストから値(「無限」、「日」、「時間」、「分」または秒)を選択します。

- 間隔の数値部分とする整数値を指定します。

接続プロパティ:

最大接続数

接続の最大数。デフォルトは10です。

問合せ入力補足:

ヘッダー・ファイル/トレーラ・ファイル

このプロパティは、XMLサーバー・データ・ソースでのみ表示されます。「参照」をクリックして、ヘッダー・ファイルとトレーラ・ファイルを見つけます。

問合せ出力フォーマット

XMLデータ・ソースでは、「XML」のみを選択します。

XMLサーバー・データ・ソースでは、その他の出力フォーマットを使用できます。

「ライトバック」タブの接続プール・プロパティの設定

ここでは、「接続プール」ダイアログの「ライトバック」タブのプロパティについて説明します。「ライトバック」タブは、ODBC、OCI、 Oracle OLAP、ADF、およびDB2のデータ・ソースで使用できます。

データ・ソースのライトバック・プロパティを設定するには:

- 「接続プール」ダイアログの「ライトバック」タブをクリックし、表7-8の情報を参照してフィールドに入力します。

図7-3は、「接続プール」ダイアログの「ライトバック」タブを示しています。

図7-5 「接続プール」ダイアログの「ライトバック」タブ

表7-8は、「接続プール」ダイアログの「ライトバック」タブのプロパティを説明しています。

表7-8 「ライトバック」タブの接続プール・プロパティ

プロパティ

説明

一時表:

接頭辞

Oracle BIサーバーで一時表を作成する際の一時表名の最初の2文字です。デフォルト値はTTです。

一時表:

所有者

SQL文で一時表名の修飾に使用される表の所有者名。たとえば、表owner.tablenameのように作成されます。空白にすると書込み可能接続プールで指定されたユーザー名が表名に使用され、「一般」タブの「共有ログオン」フィールドも設定されます。

一時表:

データベース名

一時表が作成されるデータベース。このプロパティは、IBM OS/390にのみ適用されます。これは、IBM OS/390ではデータベース名修飾子をCREATE TABLE文に組み込む必要があるためです。空白にした場合は、ユーザーに表作成権限がないシステム・データベースが、OS/390でターゲット・データベースのデフォルトとして設定される場合があります。

一時表:

表領域名

一時表が作成される表領域。このプロパティは、OS/390にのみ適用されます。これは、OS/390では表領域名修飾子をCREATE TABLE文に組み込む必要があるためです。空白にした場合は、ユーザーに表作成権限がないシステム・データベースが、OS/390でターゲット・データベースのデフォルトとして設定される場合があります。

一括挿入:

バッファ・サイズ[KB]

データベース表への1回あたりのデータ挿入のバイト数の制限に使用されます。パフォーマンスを最適化するには、このパラメータの設定を128にすることをお薦めします。

詳細は、「バッファ・サイズとトランザクション境界の設定について」を参照してください。

一括挿入:

トランザクション境界

データベース表への挿入1回あたりのバッチ・サイズを制御します。パフォーマンスを最適化するには、このパラメータの設定を1000にすることをお薦めします。

詳細は、「バッファ・サイズとトランザクション境界の設定について」を参照してください。

Unicodeデータベース・タイプ

このオプションは、UnicodeデータベースでNCHARなどの明示的なUnicodeデータ型の列を操作する際に選択します。これによって、バインディングが適正で、データが正しく挿入されることが保証されます。データベース・ベンダーが異なると、提供される文字データ型およびUnicodeサポートのレベルも異なります。このオプションを設定する状況の判定には、次の一般ガイドラインを使用します。

- CHARデータ型でUnicodeがサポートされ、独立したNCHARデータ型がないデータベースの場合はこのオプションを選択しません。

- NCHARデータ型が使用可能なデータベースでは、このオプションを選択することをお薦めします。

- CHARおよびNCHARのデータ型でUnicodeをサポートするように構成されているデータベースの場合、このオプションの選択は任意です。

注意: 単一の非UnicodeデータベースにUnicodeと非Unicodeのデータ型を共存させることはできません。たとえば、単一の非Unicodeデータベース環境でCHARとNCHARのデータ型を混成することはサポートされません。

「その他」タブでの接続プール・プロパティの設定

ここでは、「接続プール」ダイアログの「その他」タブのプロパティについて説明します。「その他」タブは、ADFデータ・ソースでのみ使用することができます。

ADFデータ・ソースのアプリケーション・プロパティを設定するには:

- 「接続プール」ダイアログの「その他」タブをクリックし、表7-9の情報を参照してフィールドに入力します。

図7-6は、「接続プール」ダイアログの「その他」タブを示しています。

図7-6 「接続プール」ダイアログの「その他」タブ

表7-9は、「接続プール」ダイアログの「その他」タブのプロパティを説明しています。

表7-9 「その他」タブの接続プール・プロパティ

プロパティ

説明

AppModuleの定義

接続先のルート・アプリケーション・モジュールの完全修飾Javaパッケージ名(例: oracle.apps.fii.receivables.model.RootAppModule)。

AppModuleの構成

接続で使用されるアプリケーション構成を決定します(例: RootAppModuleShared)。

URL

Oracle Business Intelligenceブローカ・サーブレットへのURL。形式は次のとおりです。

http://host:port/APP_DEPLOYMENT_NAME/obieebroker

例:

http://localhost:7001/SnowflakeSalesApp/obieebroker

URLでは大/小文字が区別されます。

SQL Bypass Database

(オプション) SQL Bypassデータベースの名前。SQL Bypassデータベースは、リポジトリの物理レイヤーにある物理データベースである必要があります。SQL Bypassデータベースのデータベース・オブジェクトには、WebLogicサーバーで定義されたJDBCデータベースで使用されるデータベースと同じデータベースをポイントする接続情報とともに有効な接続プールを設定する必要があります。

SQL Bypassデータベースに表を設定する必要はありません。有効なデータベース名が指定されると、すべての問合せに対してSQL Bypass機能が有効化されます。

SQL Bypass機能はデータベースに直接問い合せます。これにより、集計およびその他の変換が可能なかぎりプッシュ・ダウンされ、Oracle Business Intelligenceでストリーミングおよび使用されるデータ量を減少できます。詳細は、「SQL Bypassデータベースの指定について」を参照してください。

永続接続プールの設定

永続接続プールはデータベース・プロパティの1つで、特殊なタイプの問合せで使用されます(通常は、マーケティング問合せのサポートに使用されます)。問合せの機能の中にデータベースでサポートできないものが含まれる場合があるため、一部の問合せでは含まれる論理問合せのすべてをトランザクション・データベースに送信できるとは限りません。この問題は、データベース内に物理表を一時的に作成し、Oracle BIサーバー問合せをリライトして新しい一時物理表を参照させることによって解決できる可能性があります。

永続接続プールは、次の状況で使用できます。

- ストアド・プロシージャの移入。論理SQL結果セットの管理表へのリライトに使用されます。通常はOracleのSiebel Marketing Serverで、セグメンテーション・キャッシュ結果セットの書込みに使用されます。

- 汎化サブ問合せの実行。非機能サブ問合せを一時表に格納してから、この表に対して元のサブ問合せの結果をリライトします。Oracle BIサーバーとデータベース間のデータの移動を減少し、無制限のINリスト値をサポートします。また、パフォーマンスの向上にも有益です。
これらの状況では、論理SQL問合せを発行するユーザーにターゲット・データベースに対する移入権限が付与されている必要があります。

永続接続プール機能は、ライトバック機能を持つ接続プールを指定して、このタイプの問合せを処理します。単一データベース内の1つの接続プールを永続接続プールとして割り当てます。この機能を有効にする場合は、接続プールで指定されたユーザー名に、データベースでDDL(データ定義言語)およびDML(データ操作言語)を作成する権限が付与されている必要があります。

永続接続プールを割り当てるには:

1. 管理ツールの物理レイヤーで、永続接続プールを割り当てるデータベース・オブジェクトをダブルクリックします。

2. 「データベース」ダイアログで「一般」タブをクリックします。

3. 「永続接続プール」領域で、「設定」をクリックします。
接続プールが1つのみの場合は、それが「永続接続プール」フィールドに表示されます。

4. 複数の接続プールが存在する場合は、「参照」ダイアログで適切な接続プールを選択し、「OK」をクリックします。
選択した接続プールの名前が「永続接続プール」フィールドに表示されます。

5. (オプション) ライトバック・プロパティを設定するには、「接続プール」タブをクリックします。

6. 接続プールのリストで、接続プールをダブルクリックします。

7. 「接続プール」ダイアログで、「ライトバック」タブをクリックします。

8. 表7-8をガイドにしてフィールドに入力します。詳細は、「バッファ・サイズとトランザクション境界の設定について」を参照してください。

9. 「OK」をクリックします。再度「OK」をクリックして、永続接続プールを保存します。

永続接続プールを削除するには:

1. 管理ツールの物理レイヤーで、削除する永続接続プールが含まれるデータベース・オブジェクトをダブルクリックします。

2. 「データベース」ダイアログで「一般」タブをクリックします。

3. 「永続接続プール」領域で、「クリア」をクリックします。
「永続接続プール」フィールドのデータベース名が「未割当て」に置き換わります。

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

バッファ・サイズとトランザクション境界の設定について

結果セットの各行のサイズが1KBで、バッファ・サイズが20KBの場合、配列サイズは20KBです。120行存在する場合は、それぞれバッチ・サイズが20行に制限された6つのバッチが存在します。

「トランザクション境界」を3に設定した場合、サーバーは2回コミットします。1度目は行60の後(3 * 20)にサーバーがコミットします。2度目は行120の後にサーバーがコミットします。サーバーのコミット時に障害が発生した場合は、現在トランザクションのみがロールバックされます。たとえば、2回のコミットがあり、最初のコミットは正常に実行され、2回目のコミットが失敗した場合、サーバーでは2回目のコミットのみがロールバックされます。

最適なパフォーマンスを得るには、バッファ・サイズを128に、トランザクション境界を1000に設定することを検討してください。

接続プール・パスワードの変更のためのBIServerT2PProvisioner.jarユーティリティの使用

Oracle BIリポジトリをテストから本番に移動(T2P)するときに、多くの場合、データ・ソースに対する接続プール情報を変更する必要があります。一般的に、テスト環境の接続情報は本番環境での接続情報とは異なるからです。

接続プール・パスワードは暗号化され、暗号化されたリポジトリ・ファイル内に保存されます。このため、プレーン・テキスト・パスワードはOracle BIリポジトリに適用される前に、最初に暗号化される必要があります。

BIServerT2PProvisioner.jarユーティリティを使用して、リポジトリ内の接続プール・パスワードをプログラムで変更して暗号化できますこのユーティリティはRPDフォーマットのリポジトリでしか動作しないことに注意してください。MDS XMLフォーマットのリポジトリでは使用できません。また、ユーティリティにはJDK 1.6が必要です。

接続プール・パスワードの変更にBIServerT2PProvisioner.jarユーティリティを使用するには、次の手順を実行します。

1. bi-initを実行して、Oracleインスタンスに初期化されているコマンド・プロンプトまたはシェル・ウィンドウを起動します。bi-initは、次の場所にあります。

ORACLE_INSTANCE/bifoundation/OracleBIApplication/coreapplication/setup

詳細は、「Oracleインスタンスに初期化したシェル・ウィンドウを起動するためのbi-initの実行」を参照してください。

2. BIServerT2PProvisioner.jarを-generateオプションを指定して実行し、次のように、新しいパスワードを入力できるテンプレート・ファイルを生成します。

java -jar ORACLE_HOME/bifoundation/server/bin/BIServerT2PProvisioner.jar -generate repository_name -output password_file

説明:

repository_nameは、パスワードを変更する接続プールを含むOracle BIリポジトリの名前とパスです。

password_fileは出力パスワード・テキスト・ファイルの名前とパスです。このファイルには指定したリポジトリからの接続プールの名前が含まれています。

次に、プロンプトが表示されたらリポジトリのパスワードを入力します。

例:

java -jar BIServerT2PProvisioner.jar -generate original.rpd –output
inputpasswords.txt
Enter the repository password: My_Password

3. パスワード･ファイルを編集して、<Change Password>を接続プールごとの更新されたパスワードで置き換えます。サンプルのパスワード・ファイルは次のとおりです。

"SQLDB_UsageTracking"."UTCP" = <Change Password>
"SQLDB_Data"."Db Authentication Pool" = <Change Password>

ヒント: 必ず等号の右側のテキストだけを編集してください。等号の左側のテキストを変更すると、接続プール名の構文が正しくなくなります。

編集を完了したら、パスワード・ファイルを保存して閉じます。

4. 次に示すように、Run BIServerT2PProvisioner.jarを-passwordsオプションを指定して実行します。

java -jar BIServerT2PProvisioner.jar -passwords password_file
-input input_repository -output output_repository

説明:

password_fileは接続プールとその対応する変更されたパスワードを指定するテキスト・ファイルの名前とパスです。

input_repositoryは、変更されたパスワードを適用するOracle BIリポジトリの名前とパスです。

output_repositoryは、変更されたパスワードを含む出力リポジトリの名前とパスです。

次に、プロンプトが表示されたらリポジトリのパスワードを入力します。

例:

java -jar BIServerT2PProvisioner.jar -passwords inputpasswords.txt -input
original.rpd -output updated.rpd
Enter the repository password: My_Password

5. システムでクリアテキスト・パスワードを使用可能にしておくことは推奨されません。そのかわりに、入力パスワード・ファイルを完全に削除するか、表示できないように暗号化します。

8 物理表、キューブおよび結合での作業

この章では、Oracle BIリポジトリの物理レイヤー内のオブジェクトでの作業方法について説明し、物理レイヤー内のOracle Essbase、Hyperion Financial ManagementおよびOracle OLAPの表現について説明します。不透明なビュー、ヒント、行数、物理レイヤー・フォルダなどの他の物理レイヤーの概念、および物理図の使用方法についても説明します。

この章には次のトピックが含まれます:

- 物理レイヤーでの作業について

- 物理図での作業

- 物理レイヤー・フォルダの作成

- 物理表での作業

- 物理レイヤーのマルチディメンション・ソースでの作業

- Essbaseデータ・ソースでの作業

- Hyperion Financial Managementデータ・ソースおよびHyperion Planningデータ・ソースでの作業

- Oracle OLAPデータ・ソースでの作業

- 物理外部キーと結合での作業

- 不透明なビューのデプロイ

- SQL文でのヒントの使用

- 物理表と列の行数の表示と更新

物理レイヤーでの作業について

Oracle BIリポジトリの物理レイヤーには、バックエンド・データ・ソースからの物理データ構成体を表すオブジェクトが含まれます。物理レイヤーでは、物理問合せの記述にOracle BIサーバーで使用できるオブジェクトと関係が定義されます。このレイヤーによってデータ・ソースの依存性がカプセル化され、移植とフェデレーションが可能になります。

リポジトリ・モデルの各データ・ソースには通常、対応する専用の物理モデルが物理レイヤーにあります。物理レイヤーの最上位レベルのオブジェクトがデータベースで、データベースのタイプによって、物理モデルに適用される機能とルールが決まります。たとえば、Oracle 11gなどのリレーショナル・データベースには、物理表や結合などのオブジェクトが含まれます。一方、Essbase 9などのマルチディメンション・ソースには、キューブ表と物理階層が含まれます。このため、この章の一部の項の内容が、特定のデータベース・タイプにのみ適用される場合があります。

物理レイヤーの物理表、キューブ、結合などのオブジェクトは通常、データ・ソースからメタデータをインポートすると自動的に作成されます。これらのオブジェクトをインポートしたら、データ・ソースにはない追加結合パスの作成、別のロールで機能する必要がある物理表の別名表の作成、マルチディメンション・データ・ソースからの物理階層のプロパティの調整などのタスクを実行できます。

物理図での作業

管理ツールの右ペインでの物理レイヤー・オブジェクトを使用した作業の他に、物理図ビューを開いて、表と結合のグラフィカル・モデルにアクセスすることもできます。

注意:
物理図は通常、マルチディメンション・ソースではなく、リレーショナル・ソースおよびXMLソースで使用されます。マルチディメンション・ソースの物理図ビューには、キューブ表を非正規化表で表したものが表示されますが、マルチディメンション物理モデルでは主に、ディメンション、階層および列を使用して物理ツリーで作業を行います。

物理図にアクセスするには、物理レイヤー・ツリー・ビュー(物理データベースや表など)のオブジェクトを右クリックし、「物理図」を選択します。その後、次のオプションのいずれかを選択します。

- 選択されたオブジェクトのみ。選択したオブジェクトのみを表示します。結合は、選択したオブジェクト間に存在する場合にのみ表示されます。

- オブジェクトと直接結合。選択したオブジェクトと、それらのオブジェクトに結合している表を表示します。

- オブジェクトとすべての結合。選択したオブジェクトと、それらのオブジェクトに結合パスによって直接的または間接的に関連しているすべてのオブジェクトを表示します。スキーマ内のすべてのオブジェクトが関連している場合は、このオプションを使用することによって、1つの表のみを選択した場合でも、すべての表が図に表示されます。

物理図には、物理表と結合のみが表示されることに注意してください。接続プール、物理階層、レベルなど、物理レイヤーのその他のオブジェクトは表示されません。

図8-1は、物理図を示しています。

図8-1 物理図

ツリー・ビュー内の1つ以上のオブジェクトを選択して、ツールバーの「物理図」ボタンをクリックすることによって、物理図を開くこともできます。

選択したオブジェクトのみが表示されます。結合は、選択したオブジェクト間に存在する場合にのみ表示されます。結合は、結合の「1」側に矢印が付いた線で表されます。

モデルの論理対物理マッピングをよりよく理解できるように、ビジネス・モデルとマッピング・レイヤー・ツリー・ビューで1つ以上のビジネス・モデル、論理表または論理表ソースを選択して、ツールバーの「物理図」ボタンをクリックすることによって、特定の論理オブジェクトに関連付けられている物理オブジェクトを表示できます。選択したオブジェクトに関連する物理オブジェクトのみが表示されます。論理オブジェクトを右クリックして、「物理図」サブメニューから「ビジネス・モデル内のオブジェクトと直接結合」を選択することによっても、同じ情報を表示することができます。他のいずれかの物理図表示オプションを選択することもできます。

物理図に表を追加するには、「物理図」ウィンドウを開いたままにし、追加する表を1つ以上右クリックします。その後、「物理図」を選択し、表示オプションのいずれかを選択します。

追加オプションは、物理図に表示されているグラフィカル表および結合の右クリック・メニューから選択できます。たとえば、オブジェクトの削除やオブジェクトのプロパティの表示、または右クリック・オプションの「直接結合の追加」、「選択内容全体に結合された表の追加」および「すべての結合の追加」を使用して、関連するオブジェクトの追加を実行できます。また、「ツリー表示での検索」を選択して、右ペインの物理レイヤー・ツリー・ビュー内で特定のオブジェクトを検索したり、オンライン・モードのオブジェクトをチェックアウトしたりできます。

物理図ビュー内のオブジェクトを右クリックして、「非表示」を選択し、図で特定のオブジェクトを非表示にすることもできます。ただし、この効果は一時的で、永続するものではありません。

「ファイル」メニューの「印刷」および「印刷プレビュー」オプションを使用して、物理図の印刷オプションを管理します。ツールバーの「印刷」オプションを使用することもできます。

次の項も参照してください。

- 物理図およびビジネス・モデル図の使用(ズーム、パンおよび表のレイアウトの制御の詳細)

- 物理図を使用した物理結合の定義(物理結合の定義の詳細)

物理レイヤー・フォルダの作成

この項には次のトピックが含まれます:

- 物理レイヤー・カタログおよびスキーマの作成

- 変数を使用したカタログまたはスキーマの名前の指定

- 物理レイヤーでの表示フォルダの設定

物理レイヤー・カタログおよびスキーマの作成

カタログは、様々なスキーマをグループ化するためのオプションの方法です。1つのカタログには、物理データベース・オブジェクトのスキーマ(メタデータ)がすべて含まれます。1つのスキーマには、特定のユーザーまたはアプリケーションに関するメタデータ情報のみが含まれます。データ・ソースが構造化されている方法に従って、物理レイヤーをモデリングします。

次のことに注意してください。

- 物理カタログ・オブジェクトまたは物理スキーマ・オブジェクトを作成するには、物理データベース・オブジェクトを作成しておく必要があります。

- 特定のタイプのグループ化を実装した後に、それを変更することはできません。たとえば、データベース、スキーマ、表の順に実装する場合、後でカタログを追加することはできません。

カタログの作成

大きなリポジトリの物理レイヤーでは、管理者は1つ以上の物理スキーマが含まれる物理カタログを作成できます。

カタログを作成するには:

1. 管理ツールの物理レイヤーで、物理データベースを右クリックして、「新規オブジェクト」を選択し、「物理カタログ」を選択します。

2. 「物理カタログ」ダイアログで、カタログの名前を入力します。

3. カタログの説明を入力して、「OK」をクリックします。

スキーマの作成

スキーマ・オブジェクトには、物理スキーマの表と列が含まれます。スキーマ・オブジェクトは、管理ツールの物理レイヤーで、オプションになっています。

スキーマを作成するには:

1. 管理ツールの物理レイヤーで、物理データベースまたは物理カタログを右クリックして、「新規オブジェクト」を選択し、「物理スキーマ」を選択します。

2. 「物理スキーマ」ダイアログで、名前を入力します。

3. スキーマの説明を入力して、「OK」をクリックします。

変数を使用したカタログまたはスキーマの名前の指定

変数を使用してカタログ・オブジェクトとスキーマ・オブジェクトの名前を指定できます。たとえば、複数のクライアントのデータがあり、クライアントごとに個別のカタログにデータを格納できるようにデータ・ソースを構造化したとします。この場合、たとえばClientという名前のセッション変数を初期化して、ユーザーがOracle BIサーバーにサインオンしたときにカタログ・オブジェクトの名前を動的に設定するために使用できます。

使用するセッション変数は、「物理カタログ」または「物理スキーマ」ダイアログで指定します。

注意:
「動的名前」タブは、少なくとも1つのセッション変数を定義しないかぎり、アクティブになりません。

使用するセッション変数を「動的名前」タブで指定するには:

1. 「動的名前」タブの「名前」列で、使用するセッション変数の名前をクリックします。変数の初期値(存在する場合)が、「デフォルトのイニシャライザ」列に表示されます。

2. 強調表示された変数を選択するには、「選択」をクリックします。
動的名前フィールドに、変数の名前が表示され、「選択」ボタンが「クリア」ボタンに切り替わります。

セッション変数の割当てを「動的名前」タブで削除するには:

- 「クリア」をクリックして、動的名前としての変数の割当てを削除します。
割り当てられていない値が動的名前フィールドに表示され、「クリア」ボタンが「選択」ボタンに切り替わります。

「動的名前」タブで列エントリをソートするには:

- 「名前」または「デフォルトのイニシャライザ」列ヘッダーをクリックして列のエントリをソートします。列ヘッダーをクリックすることにより、列タイプに従って、列のエントリの順序が昇順と降順で切り替わります。

物理レイヤーでの表示フォルダの設定

物理レイヤーで表示フォルダを作成して、表オブジェクトを編成することができます。表示フォルダが問合せ処理に影響を与えることはありません。表示フォルダを作成したら、選択した表が、表示フォルダにはショートカットとして表示され、物理レイヤー・ツリーにはオブジェクトとして表示されます。表示フォルダのショートカットのみが表示されるようにオブジェクトを非表示にできます。これらのオブジェクトを非表示にする方法の詳細は、「システム管理ツールのオプションの設定」の「オプション」ダイアログの「リポジトリ」タブに関する情報を参照してください。

注意:
表示フォルダ内の表を削除すると、そのオブジェクトへのショートカットのみが削除されます。表示フォルダ内の列を削除した場合は、その列が実際に削除されます。

物理表示フォルダを設定するには:

1. 管理ツールの物理レイヤーで、物理データベースを右クリックして、「新規オブジェクト」を選択し、「物理表示フォルダ」を選択します。

2. 「物理表示フォルダ」ダイアログで、フォルダの名前を入力します。

3. 表示フォルダに表を追加するには、「追加」をクリックします。「参照」ダイアログで、フォルダに追加するファクト表または物理表を選択し、「選択」をクリックします。
または、ダイアログを閉じてから、1つ以上の物理表を表示フォルダにドラッグできます。

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

物理表での作業

ここでは、Oracle BIリポジトリの物理レイヤーで物理表オブジェクトを使用して作業する方法を説明します。

リレーショナル・データ・ソースからの物理表とマルチディメンション・データ・ソースからの物理キューブ表の両方で、「物理表」表タイプが使用されます。この項で説明するタスクの多くが、リレーショナル・データ・ソースとマルチディメンション・データ・ソースに適用されます。マルチディメンション・データ・ソースに固有の追加情報は、「物理レイヤーのマルチディメンション・ソースでの作業」も参照してください。

この項には次のトピックが含まれます:

- 物理レイヤーの表について

- 物理別名表について

- 物理表と物理キューブ表の作成と管理

- リレーショナル表およびキューブ表の列とキーの作成と管理

- 物理表または物理列でのデータの表示

物理レイヤーの表について

物理表は、Oracle BIリポジトリの物理レイヤーにあるオブジェクトの1つで、データ・ソースの表に対応しています。物理表のメタデータは通常、データ・ソースからインポートされます。このメタデータによって、Oracle BIサーバーでは、SQLリクエストを使用してデータ・ソース表にアクセスできるようになります。

物理表を削除すると、依存オブジェクト(列、キー、外部キーなど)がすべて削除されます。物理キューブ表を削除すると、階層も削除されます。物理表に別名が存在する場合、削除は失敗します。

データ・ソース表を物理レイヤーにインポートできることに加えて、「物理表」ダイアログの「表タイプ」フィールドで値を使用することによって、物理レイヤーに仮想物理表を作成することができます。仮想表を作成すると、Oracle BIサーバーおよび基礎となるデータ・ソースで、詳細な問合せリクエストを実行するための適切なメタデータを使用できるようになります。

物理表は、ストアド・プロシージャまたはSELECT文に格納できます。SELECT文から作成した仮想物理表も不透明なビューの1つです。不透明なビューを定義してデータ・ソースにデプロイすると、デプロイされたビューを作成できます。詳細は、「不透明なビューのデプロイ」を参照してください。

「物理表」ダイアログの「一般」タブの「表タイプ」リストを使用して、物理表オブジェクトのタイプを指定します。表8-1は、指定できるオブジェクト・タイプについて説明しています。

表8-1 物理表の表タイプ

表タイプ

説明

物理表

物理表オブジェクトがデータ・ソース表を表すことを指定します。この表タイプは、リレーショナル物理表とマルチディメンション・キューブ表の両方で使用されます。

ストアド・プロシージャ

物理表オブジェクトがストアド・プロシージャであることを指定します。このオプションを選択した場合、テキスト・ボックスにストアド・プロシージャを入力します。この表に対するリクエストによって、指定したストアド・プロシージャがコールされるようになります。

ストアド・プロシージャがデータ・ソース固有である場合は、「データベース固有のSQLの使用」を選択します。このオプションを選択すると、「データベース」列に、サポートされるデータ・ソースがブランド別に表示されます。デフォルト値はrootです。左側のデータベース・タイプを選択して、右側に対応する文字列を入力することにより、データ・ソース固有の初期化文字列を入力できます。問合せ対象のデータベース・タイプに対応するデータベース固有の文字列が定義されていない場合は、デフォルトのオプションの初期化文字列が実行されます。

Oracle Database内のストアド・プロシージャからは通常、結果セットが返されることはありません。このため、これらのストアド・プロシージャをOracle Business Intelligence内で初期化することはできません。プロシージャをOracleファンクションとしてリライトし、管理ツールの初期化ブロックのSELECT文でそれを使用して「セッション変数」ダイアログで適切なOracle BIサーバー・セッション変数に関連付ける必要があります。

次の例は、USER、GROUPおよびDISPLAYNAME変数に関連付けられたGET_ROLESファンクションを使用したSQL初期化文字列を示しています。このファンクションは、パラメータとしてユーザーIDを取得し、セミコロンで区切られたグループ名リストを返します。

SELECT user_id, get_roles(user_id), first_name || ' ' || last_name
FROM csx_security_table
WHERE user_id = ':USER' and password = ':PASSWORD'

選択

物理表オブジェクトがSELECT文であることを指定します。このオプションを選択した場合、テキスト・フィールドにSELECT文を入力し、表の列を手動で作成する必要があります。それぞれの列名は、SELECT文で指定したものと一致する必要があります。集計やCASE文などのSQL拡張機能の場合には列の別名が必要です。

この表に対するリクエストによって、SELECT文が実行されます。

データ・ソース固有のSELECT文の場合は、「データベース固有のSQLの使用」を選択します。このオプションを選択すると、「データベース」列に、サポートされるデータ・ソースがブランド別に表示されます。デフォルト値はrootです。左側のデータベース・タイプを選択して、右側に対応する文字列を入力することにより、データ・ソース固有の初期化文字列を入力できます。問合せ対象のデータベース・タイプに対応するデータベース固有の文字列が定義されていない場合は、デフォルトのオプションの初期化文字列が実行されます。

物理SQLを使用して不透明ビューをデプロイする場合、VALUELISTOF関数を使用します。

このタイプの表は、不透明なビューとも呼ばれます。詳細は、「不透明なビューのデプロイ」を参照してください。

物理別名表について

別名表(別名)は、別の物理表をソース(オリジナル表)として参照する物理表です。別名表を使用すると、既存の表を毎回インポートする必要なく何度も再利用できるようになるため、別名表が物理レイヤーの設計上の重要な部分になる場合があります。

別名表を作成する主な理由は2つあります。

- 1つのデータ・ソース表が、複数のセマンティック・ロールで機能する必要がある場合に、それぞれのキー、名前または結合が異なる複数の表を設定するため。この場合の別名表の設定は、三角結合または循環結合を回避するための1つの方法です。
たとえば、ファクト表の発注日と発送日が両方とも時間ディメンション・データ・ソース表の同じ列をポイントしているのに、別々にラベル付けされ、結合が1つの別名表として各ロールが表されるようにこのディメンション表に別名を付ける場合があります。これらの別個のロールはビジネス・モデルに適用されるため、「発注日」と「発送日」は2つの異なる論理ディメンションの一部になります。1つの論理問合せに両方の列が含まれる場合に、物理問合せでは両方が含まれるようにSQL文で別名が使用されます。

別名を使用すると、データ・ソース表が、ファクト表、および別のファクト表に結合している(通常、ファン・トラップと呼ばれる)ディメンション表の両方のロールとして機能できるようになります。

- 物理表名に、ベスト・プラクティスのネーミング規則を含めるため。たとえば、別名表の名前に表タイプ(ファクト、ディメンション、ブリッジなど)を接頭辞として付け、元の物理表名を変更せずにおくことができます。組織によっては、すべての物理表に別名表を作成して、ベスト・プラクティスのネーミング規則を施行するところもあります。この場合、すべてのマッピングと結合は、オリジナル表ではなく、別名表に基づいています。

別名表名は、SQL問合せに出現します。意味のある表名を指定するために別名表を使用すると、これらの表を参照するSQL問合せで読取りがより簡単になります。例:

WITH
SAWITH0 AS (select sum(T835.Dollars) as c1
from
FactsRevT835/*AllRevenue(Billed Time Join)*/)
select distinct 0 as c1,
D1.c1 as c2
from
SAWITH0 D1
order by c1

この問合せでは、意味のある別名表名「A11 Revenue (Billed Time Join)」が簡単なオリジナル物理表名「FACTSREV」に適用されています。この場合、別名表名によって、SQL問合せでの出現時にその都度果たしていたロールに関する情報が提供されます。

別名表に、オリジナル表とは異なるキャッシュ・プロパティを設定できます。別名表に異なるキャッシュ・プロパティを設定するには、別名表の「物理表」ダイアログでオプション「ソース表キャッシュ・プロパティの上書き」を選択します。別名表で、列を追加、削除または変更することはできません。列は自動的に同期化されるため、手動の操作は必要ありません。

同期化によって、オリジナル表とそれに関連する別名表が必ず同じ列定義を持つようになります。たとえば、オリジナル表で1つの列を削除すると、その列は別名表から自動的に削除されます。

すべての別名表を先に削除しないかぎり、オリジナル表を削除することはできません。または、オリジナル表とその別名表をすべて選択して、同時に削除することができます。

変更後のオリジナル表が現在のオリジナル表のスーパーセットになる場合は、別名表のオリジナル表を変更できます。ただし、オリジナル表を変更することによって使用中の列が削除された場合は、この変更の結果、リポジトリの整合性がなくなります。これを実行しようとすると、問題が発生する可能性があることを知らせ、このアクションのキャンセルを求める警告メッセージが表示されます。整合性チェックによって、孤立した別名が特定されます。

オンライン・モードで物理表または物理列を編集した場合は、別名の表および列をすべてチェックアウトする必要があります。オンライン・チェックアウトの動作では、次の規則が使用されます。

- オリジナルの表または列をチェックアウトすると、その別名の表および列もすべてチェックアウトされます。

- 別名の表または列をチェックアウトすると、そのオリジナルの表および列もチェックアウトされます。

- チェックアウト・オプションは、オンラインのリポジトリ(読取り専用ではない場合)と、オリジナルおよび別名の表と列すべてに使用できます。

別名表では、そのオリジナル表からプロパティがいくつか継承されます。プロキシ設定されたプロパティは、常にオリジナル表と同じ値で、変更することはできません。つまり、プロキシ設定されたプロパティは、別名表のダイアログではグレー表示されるプロパティです。オリジナル表でプロキシ設定されたプロパティの値が変更された場合は、同じ変更が別名表で適用されます。

プロキシ設定されるプロパティのリストは次のとおりです。

- キャッシュ可能(継承されたプロパティをオーバーライドできます)

- キャッシュ失効なしおよびキャッシュ永続時間(継承された値をオーバーライドできます)

- 行数

- 最終更新

- 表タイプ

- 外部データベースに関する指定

プロキシ設定されないプロパティのリストは次のとおりです。

- 名前

- 説明

- 表示フォルダのコンテナ

- 外部キー

- 列

注意:
別名表とオリジナル表で列が共有されることはありません。別名表とオリジナル表には、互いに別名の明らかに異なる列が含まれます。

- 表のキー

- 複合結合

- ソース接続プール

- ポーリング頻度

- すべてのXML属性

物理表と物理キューブ表の作成と管理

管理ツールの物理レイヤーで物理表および物理キューブ表を作成または編集するには、「物理表」ダイアログの「一般」タブを使用します。

この項には次のトピックが含まれます:

- 物理表の作成と編集

- 別名表の作成

- 物理表のプロパティの表示

- XMLデータ・ソースの場合の物理表プロパティの設定

物理表の作成と編集

ここでは、リレーショナル物理表と物理キューブ表も含めて、表の一般的なプロパティを作成または編集する方法を説明します。

物理表の作成または表の一般的なプロパティの編集を実行するには:

1. 管理ツールの物理レイヤーで、次のいずれかの手順を実行します。

- 物理表を作成するには、物理データベースまたは物理カタログを右クリックして、「新規オブジェクト」を選択し、「物理表」を選択します。
データベース・オブジェクトに物理スキーマが定義されている場合は、物理スキーマを右クリックして、「新しい物理表」を選択します。

- マルチディメンション・データ・ソース用の物理キューブ表を作成するには、物理データベースを右クリックして、「新規オブジェクト」を選択し、「キューブ表」を選択します。

注意:
キューブ表は、手動で作成するのではなく、インポートすることを強くお薦めします。

- 既存の物理表を編集するには、物理レイヤーで物理表オブジェクトをダブルクリックします。

2. 表8-2をガイドとして使用して、「物理表」ダイアログのフィールドに入力します。

表8-2 物理表の一般的なプロパティ

プロパティ

説明

名前

物理表の名前。

表タイプ

物理表の値: 物理表、ストアド・プロシージャまたは選択。

物理キューブ表の値: 物理表または選択。

詳細は、表8-1を参照してください。

動的名前の使用

カタログおよびスキーマ・オブジェクトと同様に、セッション変数を使用して物理表名を指定する場合はこのオプションを選択します。「物理表」の表タイプを選択した場合、このオプションは、マルチディメンション以外のデータ・ソース表に使用できます。

マルチテナント実装があり、顧客ごとに異なる物理表名を定義する場合に、このオプションを選択することがあります。別の例として、ETLサイクルで異なる時間に有効になるプライマリ表とシャドウ表から選択する場合があります。両方の場合で、セッション変数を割り当てて、適切な表を動的に選択できます。

デフォルトの初期化文字列/データベース固有のSQLの使用

マルチディメンション以外のデータ・ソース表(別名表ではない)の場合に、このオプションは、表タイプに「ストアド・プロシージャ」または「選択」を選択すると表示されます。マルチディメンション・データ・ソース表の場合は、表タイプに「選択」を選択すると表示されます。

このオプションを選択すると、データ・ソースを指定して、SQL文を入力できます。

詳細は、表8-1を参照してください。

キャッシュ可能

Oracle BIサーバー問合せキャッシュに表を含める場合に、このオプションを選択します。通常、リアルタイムでアクセスする必要がない表の場合に、このオプションを選択します。

このオプションを選択すると、「キャッシュ永続時間」の設定がアクティブになります。

ほかにも問合せキャッシュの動作に影響を与える構成設定があります。詳細は、『Oracle Fusion Middleware Oracle Business Intelligence Enterprise Editionシステム管理者ガイド』の問合せキャッシュの構成に関する項を参照してください。

キャッシュ失効なし

このオプションを選択すると、キャッシュ・エントリが自動的に失効することがなくなります。これは、ユーザーが実行する可能性のある多数の問合せにとって1つの表が重要な場合に役立ちます。たとえば、問合せのほとんどに1つのアカウント・オブジェクトへの参照がある場合、それを無期限にキャッシュされたままにすると、パフォーマンスが低下するのではなく実際にはパフォーマンスが向上します。

このオプションを選択することによって、あるエントリが常にキャッシュに保持されるというわけではありません。手動による消去、LRU(最低使用頻度)置換、メタデータ変更、キャッシュ・ポーリング表の使用など他の無効化技術によってエントリがキャッシュから削除される可能性があります。

キャッシュ永続時間

問合せキャッシュに表エントリが永続する必要がある時間、つまり、キャッシュの有効期限。

キャッシュ永続時間の設定は、OLTPデータ・ソースおよび頻繁に更新されるその他のデータ・ソースの場合に有用です。たとえば、特定のダッシュボードに対して基礎となる物理表を毎日リフレッシュする場合にこのオプションを設定できます。

永続時間が異なる複数の物理表を参照する問合せの場合、この問合せのキャッシュ・エントリは、問合せで参照される表のうち、永続時間が最も短く設定されている表の永続時間だけ存続します。これによって、後続の問合せで、失効したキャッシュ・エントリからキャッシュ・ヒットが取得されることはなくなります。

詳細は、『Oracle Fusion Middleware Oracle Business Intelligence Enterprise Editionシステム管理者ガイド』のイベント・ポーリング表に関する問題のトラブルシューティングに関する項を参照してください。

外部名

マルチディメンション・データ・ソースの物理キューブ表に適用されます。外部名は、物理SQL問合せでキューブ表の参照時に使用されます。この値は、データ・ソースで定義されている外部名を反映する必要があります。

表示列

Essbaseデータ・ソースの場合のみ。詳細は、「Essbaseデータ・ソースでの作業」を参照してください。

ヒント

一部のデータ・ソースにのみ指定できます。詳細は、「SQL文でのヒントの使用」を参照してください。

別名表の作成

別名表を作成するには、既存の物理表を右クリックして、「新規オブジェクト」を選択し、「別名」を選択します。不透明なビューおよびストアド・プロシージャで別名を作成することもできます。

表8-3は、別名表に固有のプロパティを説明しています。物理表と別名表の両方で使用される他の表プロパティの詳細は、表8-2を参照してください。

表8-3 物理別名表に固有のプロパティ

プロパティ

説明

ソース表

別名表に適用されます。「選択」をクリックして、別名表を作成するオリジナル物理表を選択します。

ソース表キャッシュ・プロパティの上書き

別名表に適用されます。このフィールドをクリックして、キャッシュ可能プロパティを有効にします。該当するキャッシュ可能オプションを選択または選択解除できます。

物理表のプロパティの表示

物理表の「プロパティ」タブには、一部のデータ・ソースに対して物理レイヤーのメタデータを拡張する汎用メカニズムとして使用される名前と値のペアが表示されます。通常、値はデータ・ソースから渡されますが、必要に応じて値を編集できます。

詳細は、「物理列のプロパティの表示」を参照してください。

XMLデータ・ソースの場合の物理表プロパティの設定

XMLデータ・ソースのプロパティを設定または編集するには、「XML」タブを使用します。「物理表」ダイアログの「XML」タブには、「接続プール」ダイアログの「XML」タブと同じ機能が用意されています。ただし、「物理表」ダイアログでのプロパティの設定が、「接続プール」ダイアログの対応する設定より優先されます。詳細は、「「XML」タブの接続プール・プロパティの設定」を参照してください。

リレーショナル表およびキューブ表の列とキーの作成と管理

管理ツールの物理レイヤーの物理表および物理キューブ表にはそれぞれ、1つ以上の物理列が含まれます。「物理表」ダイアログの「列」、「キー」および「外部キー」タブを使用して、表に関連付けられている列、キーおよび外部キーの表示、新規作成および既存のものの編集を実行できます。

次のリストでは、これらのタブに表示されるボタンを説明しています。

- 新規。タブに対応するダイアログを開くことによって、オブジェクトを新規作成できます。

- 編集。オブジェクトを1つ選択して「編集」をクリックすると、タブに対応するダイアログが表示されます。このダイアログで、対象のオブジェクトのプロパティを編集できます。

- 削除。選択したオブジェクトが削除されます。

この項には次のトピックが含まれます:

- 物理表の列の作成と編集

- 物理表の主キーの指定

- すべてのデータ・ソースの物理列の削除

- 物理列のプロパティの表示

物理表の列の作成と編集

列をインポートした場合、その列のプロパティは自動的に設定されます。次のリストでは、物理レイヤーにインポートされた列のNULL値可能な値とデータ型の値に関する情報を示しています。

- NULL値可能。列に対してNULL値が許可されているかどうかを示します。基礎となる表にNULL値が存在している可能性がある場合は、このオプションを選択する必要があります。これにより、特定の機能および外部結合に必要なNull値をユーザーに返すことができます。一般的に、物理列のNULL値不可の値をNULL値可能な値に変更しても問題はありません。

- タイプ。列のデータ型が示されます。データ型の変更は慎重に行ってください。基礎となるデータ・ソースで値に正しくないデータ型を設定すると、予期しない結果をまねくおそれがあります。データ型の不一致がある場合は、リポジトリで修正するか、データ型が不一致となっている列を再インポートします。
列を再インポートした場合、再マップした列を参照する論理列ソースを再マップする必要があります。ビジネス・モデルの論理列のデータ型は、その物理列ソースのデータ型と一致する必要があります。Oracle BIサーバーからこれらの論理列のデータ型がクライアント・アプリケーションに渡されます。

Longvarcharおよびlongvarbinaryデータ型は、デバッグを目的とした使用状況トラッキング表への完全な論理SQL文の記述に対応しています。これらのデータ型は、汎用目的の問合せには対応しておらず、プレゼンテーション・サービスに表示することはできません。これらのデータ型の列にアクセスするには、直接SQLユーティリティを使用します。

特に指定されている場合を除いて、物理キューブ列の特性と動作は、その他の物理列のものと同じです。

注意:
オリジナル物理表で列を作成、変更または削除すると、そのすべての別名表の同じ列が作成、変更または削除されます。

物理列を作成または編集するには:

1. 管理ツールの物理レイヤーで、次のいずれかの手順を実行します。

- 物理列を作成するには、物理表を右クリックして、「新規オブジェクト」を選択し、「物理列」を選択します。

- マルチディメンション・データ・ソース用の物理キューブ列を作成するには、物理キューブ表を右クリックして、「新規オブジェクト」を選択し、「物理キューブ列」を選択します。

- 既存の物理列を編集するには、物理レイヤーで物理列オブジェクトをダブルクリックします。

2. 「物理列」ダイアログで、物理列の名前を入力します。
XMLデータ・ソースの場合、このフィールドによって、XML文書に列の未修飾名(属性)が格納および表示されます。

3. 「タイプ」フィールドで、物理列のデータ型を選択します。

4. 必要に応じて、データ型の長さを指定します。
マルチディメンション・データ・ソースでは、VARCHARを選択した場合、「長さ」フィールドに値を入力する必要があります。

5. 列でNULL値を許可する場合は、「NULL値可能」オプションを選択します。

6. 「外部名」フィールドに、外部名を入力します。

- 複数の階層で同一名(STATEなど)を使用する場合は、必須です。

- XML文書の場合はオプションです。「外部名」フィールドによって、列の完全修飾名(属性)が格納および表示されます。

7. (マルチディメンション・データ・ソースでは)物理キューブ列がメジャーの場合、「集計ロール」リストで、適切な値を選択します。
デフォルトで、新規物理キューブ列はメジャーとして作成されます。この動作の変更の詳細は、「物理レイヤーのマルチディメンション・ソースでの作業」を参照してください。

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

物理表の主キーの指定

物理表の主キーを定義する列を指定するには、「物理キー」ダイアログを使用します。

物理表の主キーを指定するには:

1. 管理ツールの物理レイヤーで、物理表を右クリックして、「プロパティ」を選択します。

2. 「物理表」ダイアログで、「キー」タブをクリックします。

3. 「キー」タブで、「新規」をクリックします。

4. 「物理キー」ダイアログで、キーの名前を入力します。

5. 物理表の主キーを定義する列を選択します。

6. (オプション)キーの説明を入力します。

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

すべてのデータ・ソースの物理列の削除

物理列を削除すると、次のことが起こります。

- マルチディメンション・データ・ソース。あるレベルのプロパティまたはキーの列を削除すると、関連付けが削除され、列が親キューブ表の下のメジャーに変わります。

- 別名表。オリジナル物理表の列を削除すると、そのすべての別名表の同じ列が削除されます。

物理列のプロパティの表示

物理列の「プロパティ」タブには、一部のデータ・ソースに対して物理レイヤーのメタデータを拡張する汎用メカニズムとして使用される名前と値のペアが表示されます。通常、値はデータ・ソースから渡されますが、必要に応じて値を編集できます。

物理表または物理列のデータの表示

オブジェクトを右クリックして、「データの表示」を選択することによって、物理表のデータまたは個々の物理列を表示できます。オンライン編集モードでは、このオプションを使用するには、変更をチェックインしておく必要があります。

「データの表示」は、物理キューブ表または物理キューブ列には使用できません。詳細は、「物理キューブ表のメンバーの表示」を参照してください。

「データの表示」機能では、行数が発行されるため、行数がサポートされていないデータにこの機能は使用できません。詳細は、「物理表と列の行数の表示と更新」を参照してください。

注意:
接続プールのユーザー名とパスワードを:USERと:PASSWORDに設定している場合、「データの表示」は、オンライン・モードでは機能しません。オフライン・モードの場合、変数の値の設定ダイアログが表示されるので、:USERと:PASSWORDを表示プロセスの一環として移入できます。

物理レイヤーのマルチディメンション・ソースでの作業

ここでは、マルチディメンション・データ・ソースの物理キューブ表、ディメンションおよび階層に関する情報を示します。

- 物理キューブ表について

- マルチディメンション・データ・ソースのメジャーについて

- 物理ディメンションおよび物理階層での作業

- SAP/BWデータ・ソースのキューブ変数を使用した作業

- 物理キューブ表のメンバーの表示

物理キューブ表について

マルチディメンション・データ・ソースからの各キューブは、物理表の一種である物理キューブ表として構造化されます。キューブには、物理キューブ列やキー(オプション)および外部キー(オプション)など表のすべての機能があります。階層やレベルなどのキューブ固有のメタデータもあります。

物理スキーマをインポートすると、Oracle BIサーバーでは、メトリック、階層およびレベルを含めて、キューブのメタデータがインポートされます。物理レイヤーで階層オブジェクトを展開すると、階層のレベルが明らかになります。物理キューブ表ダイアログの「階層」タブには、キューブ内のディメンション階層がリストされます。

データ・ソースのマルチディメンション・カタログには、それぞれ複数のキューブを格納できます。これらの1つ以上のキューブのメタデータをOracle BIリポジトリにインポートできます。キューブ表を手動で作成することもできますが、キューブ表のメタデータとコンポーネントをインポートすることをお薦めします。

キューブを手動で作成する場合は、各キューブに階層を一度に1つずつ作成し、次の階層を作成する前にその階層をテストする必要があります。たとえば、時間階層とメジャーを作成して、それをテストします。その階層が適切な場合は、地理階層を作成して、それをテストします。これは、各キューブを適切に設定し、設定エラーの識別を簡単にすることに役立ちます。

マルチディメンション・データ・ソースのメジャーについて

物理キューブ列の集計ルールは、必ずメジャーが適切になるように、慎重に選択する必要があります。集計ルールを適切に設定すると、パフォーマンスが向上する可能性があります。

キューブのメタデータのインポート後は常に集計ルールを確認します。通常、キューブのメタデータをインポートした場合、集計ルールは正しく割り当てられます。ただし、メジャーが、計算されたメジャーの場合、集計ルールは「なし」とレポートされます。このため、キューブのインポート後はすべてのメジャーの集計ルールを調査して、集計ルールが正しく割り当てられていることを確認する必要があります。

値が「なし」の集計ルールがすべてのメジャーに割り当てられた場合は、マルチディメンション・データ・ソース管理者に問い合せて、集計ルールの値が正しいことを確認します。集計ルールを変更する必要がある場合は、「物理キューブ列」ダイアログでこれを実行できます。

適切な集計ルールを割り当てるには、次のガイドラインを使用します。

- データベースに対して生成された物理問合せでSUM(revenue)などの集計関数を送信する必要がある場合は、この関数を集計ルールとして設定します。この設定によって、Oracle BIサーバーでは通常、問合せでデータベースに集計が送信されますが、場合によっては、サーバー自体で集計が実行されることもあります。

- 対象のメジャーのデータを問合せまたはOracle BIサーバーで集計できない場合は、外部集計ルールを使用します。Oracle BIサーバーで簡単な集計ルール(比率の計算、統合、割当てなど)でレプリケートできるものより複雑な計算がデータ・ソース内でメジャーによって使用される場合にこの設定を選択することが重要です。このオプションは、キューブで事前集計結果の完全なセットが保持される場合に便利です。

外部集計されるメジャーについて

マルチディメンション・データ・ソースでは、キューブによっては、非常に複雑なマルチレベル・ベースのメジャーが含まれるものがあります。外部集計の集計ルールを割り当てると、Oracle BIサーバーでは、内部集計メカニズムが使用されずに、事前集計されたメジャーが使用されます。これらのメジャーには、インポートされたときに集計値「なし」が割り当てられます。

次に、事前集計されたメジャーを使用した作業においてのいくつかのガイドラインを示します。

- 外部集計は、これらの複雑な計算をサポートするマルチディメンション・データ・ソース(Essbase、Hyperion Financial Management、Microsoft Analysis Services、SAP/BWなど)にのみ適用されます。

- マルチディメンション以外のデータ・ソースのメジャーに外部集計を割り当てることはできません。必要な集計ルールがOracle BIサーバーでサポートされており、リレーショナル・データ・ソースにマップできる場合、複雑ではなないため、外部集計は必要ありません。

- 論理メジャーごとに1つの集計ルールのみを割り当てられます。このため、1つの論理列で、マルチディメンション以外のソースへのマッピング用の複雑ではない集計ルールと、マルチディメンション・ソースへのマッピング用の複雑な集計ルールをフェデレートすることはできません。かわりに、ソースごとに論理メジャーを1つずつ作成し、作成したこれら2つのメジャーから導出する3つ目の論理メジャーを作成する必要があります。

- マルチディメンション以外のデータ・ソースからの複雑でないメジャーとマルチディメンション・データ・ソースからの複雑でないメジャーをOracle BIサーバーを使用して集計する場合は、これらのメジャーを複合することができます。

物理ディメンションおよび物理階層での作業

ほとんどのディメンションおよび階層が、手動で作成されるのではなく、マルチディメンション・データ・ソースから物理レイヤーにインポートされます。特定の階層がインポートされないと、その階層に関連付けられている列もインポートされません。ユーザーが、インポートされない列にアクセスする必要がある場合は、まずこれらの列を手動で作成することによって物理レイヤーに追加し、階層のレベルに関連付けます。

階層の各レベルにはレベル・キーがあります。階層のレベルに関連付けられた(追加された)最初のキューブ列がレベル・キーです。これは、キューブのデータ・ソース定義に一致する必要があります。最初に選択した列が階層のレベルに関連付けられると、その列のアイコンがキー・アイコンに変わります。

Oracle Business Intelligenceでは、すべてのマルチディメンション・データ・ソースについて非バランス型階層がサポートされます。通常、階層タイプを変更することによって、物理レイヤーに非バランス型階層を構成できます。

管理ツールの物理レイヤーで物理ディメンション・オブジェクトおよび物理階層オブジェクトをダブルクリックすることによって、物理ディメンションおよび物理階層のプロパティを表示したり編集したりできます。「キューブ表」ダイアログの「ディメンション」タブと「階層」タブからこれらのオブジェクトを表示および編集することもできます。

この項には次のトピックが含まれます:

- 物理ディメンション・オブジェクトでの作業

- 物理階層オブジェクトでの作業

物理ディメンション・オブジェクトでの作業

「物理ディメンション」ダイアログでは、ディメンションの名前と説明を表示および編集できます。対象のディメンションに対する階層の追加、削除または編集、およびディメンションのプロパティを表す列の追加、削除または編集も実行できます。

物理階層オブジェクトでの作業

階層に追加する列を選択する場合、最高レベルから始めて階層順に選択することをお薦めします。複数の列を選択して、それらを階層に同時に追加した場合、選択した列グループの順序は同じままです。階層に列を追加した後に、「参照」ダイアログで列の順序を変更できます。

「物理階層」ダイアログでは、階層の名前と説明を表示、編集できるとともに、表8-4で説明しているプロパティも表示、編集できます。レベルベースの階層の場合は、レベルの追加、削除、編集または並替えを実行できます。値ベースの階層の場合、列を追加、削除または編集するには、「列」タブをクリックします。キー列を指定するには、列名をダブルクリックします。

「物理レベル」ダイアログでは、レベルの名前、外部名および説明を表示、編集できます。対象のレベルに対して列を追加、削除または編集することもできます。1つの列をレベル・キーとして指定するには、列名をダブルクリックします。

階層タイプは、必ず適切に設定されるように常にインポート後に確認します。このパラメータがインポート時にどのように設定されるかは、データ・ソースによって異なります。たとえば、Essbase階層はすべて最初に「非バランス型」に設定されます。階層ごとに階層タイプを確認して、必要に応じて階層タイプを変更します。

通常、インポート時にデフォルトで常に「値」に設定されるHyperion Financial Management階層は除いて、親子(値)階層の階層タイプは常に手動で設定する必要があります。階層タイプを確認し、必要に応じて階層タイプを「値」に変更します。親子(値)階層は、ビジネス・トランザクション、つまりキューブのリフレッシュによってレベル数が変わる可能性のある階層です。

親子階層の場合、メタデータをビジネス・モデルとマッピング・レイヤーにドラッグする前に、物理階層タイプを手動で「値」に設定しておく必要があります。ビジネス・モデルとマッピング・レイヤーでの階層タイプは、物理階層の設定に基づいて自動的に設定されます。その他すべてのタイプについては、論理モデルを再構築する必要なく、後で階層タイプを決定できます。

対応する論理ディメンションのプロパティが、問合せが機能するにあたって適切であることも確認する必要があります。詳細は、第10章「論理ディメンションの操作」を参照してください。

SAP/BWデータ・ソースの場合、すべての階層がインポート時に完全なバランス型階層にデフォルト設定されます。2つのレベルによる階層の階層タイプ(通常は特徴的なプライマリ階層に対応する)は、変更できません。SAP/BWマルチレベル(外部)階層すべてを確認して、親子階層かどうかを判別し、必要に応じて「値」に設定します。

表8-4 「物理階層」ダイアログのオプション

プロパティ

説明

外部名

物理MDX問合せで階層の参照時に使用される物理名。この値は、データ・ソースで定義されている外部名を反映する必要があります。

ディメンション名

(ディメンション固有の名前)階層が属しているディメンション。

ディメンション・タイプ

対象の階層が、時間ディメンション、メジャー・ディメンション、それともその他のタイプのディメンションに属しているのかを識別します。

階層タイプ

次のように、階層タイプを識別します。

- 完全なバランス型: 非バランス型およびスキップの特徴を持たないレベルベースの階層。ビジネス・モデルとマッピング・レイヤーのレベルベースの階層に対応します。

- 非バランス型: 不規則とも呼ばれます。リーフ(子のないメンバー)の深さが必ずしも同一ではない階層です。ビジネス・モデルとマッピング・レイヤーの「不規則」オプションが選択されたレベルベースの階層に対応します。

- 不規則バランス型: スキップとも呼ばれます。特定の祖先レベルの値がないメンバーが含まれる階層です。ビジネス・モデルとマッピング・レイヤーの「スキップ・レベル」オプションが選択されたレベルベースの階層に対応します。

- ネットワーク: この階層タイプは使用されていません。

- 値: 親子とも呼ばれます。すべてのメンバーのタイプが同一である階層です。これは、同一タイプのメンバーが単一レベルの階層にのみ出現するレベルベースの階層と対照的です。ビジネス・モデルとマッピング・レイヤーの親子階層に対応します。

注意: 非バランス型とスキップレベルの両方の特徴があるレベルベースの階層の場合は、「非バランス型」または「不規則バランス型」のいずれかを物理階層タイプとして選択します。その上で、ビジネス・モデルとマッピング・レイヤーの、対応する論理ディメンションに、「不規則」と「スキップ・レベル」の両方を選択します。

デフォルトのメンバー・タイプALL

このオプションは使用されていません。

パフォーマンスを上げるために未修飾のメンバー名を使用

指定の階層で、各メンバー名(別名も含めて)が一意であるため、Oracle BIサーバーで特定のMDX構文を利用してパフォーマンスを最適化できる場合にこのオプションを選択します。

階層でのキューブ列の追加または削除

階層のインポート後に、列の追加または削除が必要な場合があります。階層からキューブ列を削除すると、階層からは削除されますが、キューブ表には残り、他のレベルへの追加対象として選択できます。

既存の階層でキューブ列を追加または削除するには:

1. 管理ツールの物理レイヤーで、変更する物理階層をダブルクリックします。「物理階層」ダイアログが表示されます。

2. レベルベースの階層の場合は、列を追加または削除するレベルをダブルクリックします。「物理レベル」ダイアログで、列を追加、削除または編集できます。作業が完了したら、「物理レベル」ダイアログの「OK」をクリックします。

3. 値ベースの階層の場合は、「列」タブをクリックします。列の追加、削除または編集と、メンバー・キーおよび親キーの列の指定ができます。

4. 「階層」ダイアログの「OK」をクリックします。

SAP/BWデータ・ソースのキューブ変数を使用した作業

SAP/BWデータ・ソースでは、キューブ変数が問合せのパラメータ化の手段として使用されます。キューブ変数オブジェクトは、SAP/BWデータ・ソースのQuerycubes/Bex問合せからメタデータがインポートされるときに、物理レイヤーにインポートされます。通常、データ・ソースのBex問合せとの同期を保持するため、および主要な特性値のオーバーライドを指定するため以外に、これらのオブジェクトを直接編集することはありません。

「キューブ表」ダイアログの「キューブ変数」タブには、指定したキューブ表のキューブ変数が、キューブ変数キャプションとともに表示されます。キューブ変数をダブルクリックして詳細情報を表示するか、「追加」ボタンをクリックして、新しいキューブ変数を定義します。

表8-5は、SAP/BWデータ・ソースのキューブ変数のプロパティを説明しています。詳細は、SAP/BWのドキュメントを参照してください。

表8-5 キューブ変数のプロパティ

プロパティ

説明

名前

キューブ変数の名前。

キャプション

キューブ変数に関連付けられている説明(ラベルまたはキャプション)で、主に表示を目的として使用されます。

変数タイプ

キューブ変数のタイプ。変数タイプには、次のものがあります。

- SAP_VAR_TYPE_MEMBER: MEMBER_UNIQUE_NAMESに対する選択のプレースホルダ。

- SAP_VAR_TYPE_HIERARCHY: HIERARCHY_UNIQUE_NAMEのプレースホルダ。

- SAP_VAR_TYPE_NUMERIC: 式内の数値のプレースホルダ。

選択タイプ

タイプがSAP_VAR_TYPE_MEMBERのキューブ変数の場合の、キューブ変数の選択タイプ。

選択タイプには次のものがあります。

- SAP_VAR_SEL_TYPE_VALUE: 1つの値に置換される変数。タイプがNUMERICのキューブ変数には、この選択タイプが必要です。

- SAP_VAR_SEL_TYPE_INTERVAL: 間隔のプレースホルダ。

- SAP_VAR_SEL_TYPE_COMPLEX: 複合選択のプレースホルダ。

エントリ・タイプ

変数の置換がオプションか必須かを示します。エントリ・タイプには次のものがあります。

- SAP_VAR_INPUT_TYPE_OPTIONAL: 対象の変数については値の指定はオプションです。

- SAP_VAR_INPUT_TYPE_MANDATORY: 対象の変数に値を指定する必要があります。

- SAP_VAR_INPUT_TYPE_MANDATORY_NOT_INITIAL: この変数に値を指定する必要があります。初期フィールドは有効なエントリではありません。

参照ディメンション

この列には、パラメータ・タイプがSAP_VAR_TYPE_HIERARCHYのDIMENSION_UNIQUE_NAMEが指定されます。

参照階層

この列には、変数タイプがSAP_VAR_TYPE_MEMBERのHIERARCHY_UNIQUE_NAMEが指定されます。

デフォルト下限

このプロパティには、変数のデフォルト値またはゼロが指定されます。

デフォルト上限

このプロパティには、変数のデフォルト値またはゼロが指定されます。このプロパティは、選択タイプがSAP_VAR_SEL_TYPE_INTERVALまたはSAP_VAR_SEL_TYPE_SELECTIONの変数に対してのみ重要です。

デフォルト下限オーバーライド

「デフォルト下限」がゼロの場合に、このフィールドにキューブ変数のデフォルト値が指定されます。

デフォルト値が指定されない必須変数の場合には、このプロパティに値を指定する必要があります。

デフォルト上限オーバーライド

「デフォルト上限」がゼロの場合にこのフィールドにキューブ変数のデフォルト値を指定します。

デフォルト値が指定されない必須変数の場合には、このプロパティに値を指定する必要があります。

物理キューブ表のメンバーの表示

リポジトリの物理レイヤーで階層またはレベルのメンバーを表示できます。メンバーを表示するには、リポジトリをオンライン・モードで開いておく必要があります。階層のレベル別メンバーのリストは、接続プールが適切に設定されているかどうかの判断に役立ちます。開始点(開始メンバーまたは開始行を指定するオプション)と返す行数(「表示」オプション)を指定することによって、データの戻りにかかる時間と返されたデータのサイズを軽減できます。

メンバーを表示するには:

1. 管理ツールをオンライン・モードで開きます。

2. 物理レイヤーで、階層またはレベルを右クリックします。

3. 「メンバーの表示」を選択します。
ウィンドウが開き、階層内のメンバー数とレベルのリストが示されます。返されたデータをすべて表示するために、ウィンドウと列の最大化が必要な場合があります。

4. 「問合せ」をクリックして、結果を表示します。

5. 完了後、「閉じる」をクリックします。

Essbaseデータ・ソースでの作業

ここでは、Oracle BIリポジトリの物理レイヤーで、デフォルトでEssbaseデータがモデリングされる方法について説明します。また、他の方法でEssbaseデータをモデリングするために実行できるタスクについても説明します。

この項には次のトピックが含まれます:

- Oracle Business IntelligenceでのEssbaseデータ・ソースの使用について

- Essbase別名表での作業

- ユーザー定義属性のモデリング

- ディメンションおよびレベルへのメンバー属性の関連付け

- 代替階層のモデリング

- メジャー階層のモデリング

- 未修飾メンバー名の使用によるパフォーマンスの向上

Oracle Business IntelligenceでのEssbaseデータ・ソースの使用について

Essbaseデータ・ソースからメタデータをインポートすると、Oracle Business Intelligenceの論理モデルをサポートする方法で、キューブ・メタデータが物理レイヤーにマップされます。別名など、ディメンションのすべてのメンバーに適用されるメタデータは、デフォルトでディメンションのプロパティとしてモデリングされます。アウトライン・ソートやMemnor情報などのレベル・ベースのプロパティは、ディメンションの個別の物理キューブ列としてマップされます。

次の物理列タイプがEssbaseメタデータに使用されます。

- メンバーの別名: 「別名」列であることを示します。

- UDA: 列がユーザー定義属性(UDA)であることを示します。

- アウトライン・ソート: memnorタイプの列を示し、論理レイヤーのアウトライン・ソートに使用されます。各ディメンションの最低レベルでインポートされます。

- 属性: 列が属性タイプであることを示します。属性ディメンションに使用されます。

- その他: リストされているもの以外のタイプまたは不明なタイプです。

- 祖先参照: ディメンションの祖先を参照します。

- メンバー・キー: 列がメンバー・キーであることを示します。

- リーフ: 列が階層の最低メンバーであることを示します。

- ルート: 列が階層のルート・メンバーであることを示します。

- 親参照: ディメンションの親を参照します。

「アウトライン・ソート」、「祖先参照」、「メンバー・キー」、「リーフ」、「ルート」および「親参照」の各列タイプは、システムで内部で使用され、変更することはできません。

図8-2は、物理レイヤーにインポートされたEssbaseデータを示しています。

図8-2 物理レイヤーでモデリングされたEssbaseデータ

物理レイヤーには、特定のタイプのメタデータをモデリングする方法を制御できるように様々なオプションが用意されています。ユーザー・ベースの要件に最適なオプションを選択します。たとえば、多くのタイプのEssbaseメタデータが、物理レイヤーではデフォルトでディメンション・プロパティとしてモデリングされます。

または、以前のリリースのOracle Business Intelligenceでサポートされている属性スタイルのレポート作成機能を使いやすくするために、物理レイヤーでEssbaseメタデータをフラット化することも選択できます。

次のリストは、これらのモデリング・オプションのいくつかを要約しています。

- 別名。別名は、デフォルトでディメンション・プロパティとしてモデリングされますが、「別名表の列の作成」機能を使用して別名をフラット化することもできます。詳細は、「Essbase別名表での作業」を参照してください。

- UDA。UDAは、デフォルトでディメンション・プロパティとしてモデリングされますが、「UDAの列の作成」機能を使用してUDAをフラット化することもできます。詳細は、「ユーザー定義属性のモデリング」を参照してください。

- 代替階層。代替階層は、デフォルトで個別階層としてモデリングされますが、「単一階層のビューに変換」機能を使用して単一階層として代替階層を表示することもできます。詳細は、「代替階層のモデリング」を参照してください。

- メジャー階層。デフォルトで、メジャーはすべてのメジャーを表す単一メジャー列としてインポートされますが、「メジャー・ディメンションをフラット・メジャーに変換します」機能を使用して各メジャーを個々の列として表示することもできます。詳細は、「メジャー階層のモデリング」を参照してください。

Oracle Business IntelligenceでのEssbaseデータ・ソースの使用に関する次の追加情報に留意してください。

- 置換変数。Essbase置換変数は自動的に取得されて、対応するOracle BIサーバーのリポジトリ変数に移入されます。Essbase変数のスコープに応じて、Oracle BIサーバー変数のネーミング規則が次のようになります。
サーバー・インスタンスのスコープ: server_name:var_name

アプリケーションのスコープ: server_name:app_name:var_name

キューブのスコープ: server_name:app_name:cube_name:var_name

Essbase変数に対して、リポジトリで単一初期化ブロックも作成されます。Essbase変数の予期される更新サイクルを反映するように、初期化ブロックで適切なリフレッシュ間隔を設定します。

- Essbase生成。Essbase生成は、物理レベル・オブジェクトにマップされます。

- 時系列関数。Oracle BIサーバーの時系列関数AGO、TODATEおよびPERIODROLLINGがEssbaseに送信され、Essbaseサーバーのネイティブ機能が利用されます。

- データベース関数。データベースSQLファンクションのEVALUATEおよびEVALUATE_AGGREGATEを使用して、Essbaseデータ・ソース固有のファンクションを利用できます。詳細は、「固有のEssbase関数を活用するEVALUATE_AGGREGATEとEVALUATEの使用例」を参照してください。
EVALUATE_PREDICATEは、Essbaseデータ・ソースとの併用はサポートしていません。

- Gen1レベル。デフォルトで、Gen1レベルは、物理レイヤーからビジネス・モデルとマッピング・レイヤーにEssbaseキューブまたはディメンションをドラッグ・アンド・ドロップするときに追加されます。ただし、通常、Gen1レベルは分析に必要ないため、ビジネス・モデルにEssbaseオブジェクトをドラッグ・アンド・ドロップするときにGen1レベルの除外を選択できます。これを実行するには、「オプション」ダイアログの「一般」タブで「Essbaseのドラッグ・アンド・ドロップ・アクションでGen1レベルをスキップ」を選択します。詳細は、「管理ツールのオプションの設定」を参照してください。

- 階層タイプ。Essbaseデータ・ソースの場合、デフォルトですべての階層が「非バランス型」としてインポートされます。各物理階層の「階層タイプ」プロパティを確認して、必要に応じて値を変更します。Essbaseでサポートされる階層タイプは、「非バランス型」、「完全なバランス型」および「値」です。

増分インポートについて

Essbaseメタデータの増分インポートを選択できます。つまり、最初のインポートを実行し、再度インポートすることができます。データ・ソースの情報が変更された場合や最初のインポートにメタデータのサブセットのみが含まれていた場合に、増分インポートが必要になる可能性があります。増分インポートについて、次の点に留意してください。

- 物理レイヤーにすでに存在するメタデータを再インポートする場合は、物理オブジェクトが上書きされることを警告するメッセージが表示されます。

- ソース内のデータを削除した場合に、メタデータの再インポートによって物理レイヤーで削除が自動的に実行されることはありません。対応する物理オブジェクトを手動で削除する必要があります。

- ソース内のオブジェクトの名前を変更した場合、名前が変更されたオブジェクトは新規オブジェクトとしてインポートされます。この場合、前のオブジェクトと新規オブジェクト(名前変更されたオブジェクト)が両方とも物理レイヤーに表示されます。

- 通常、別名列を表示用に指定するなど、物理レイヤーのデータに実行したカスタマイズは、増分インポートの後にも維持されます。インポートしたビューをデフォルトに戻すには、既存の物理レイヤー・オブジェクトを削除してから、メタデータを再インポートする必要があります。

Essbase別名表での作業

Essbaseキューブでは、メンバーまたは共有メンバーの代替名である別名の概念がサポートされます。たとえば、メンバー名が製品コード(100)で、製品名のデフォルトの別名(Cola)とそのほかに長い名前の別名(Cherry Cola)を持つ場合があります。通常、ユーザーが自分の言語でメンバー名を表示できるように、メンバーにはユーザーの言語ごとに異なる別名があります。

Essbaseキューブでは、別名は、特定の別名セットをメンバー名にマップする別名表に格納されます。通常、キューブごとにデフォルトの別名表が設定されます。

この項には次のトピックが含まれます:

- 表示に使用する値の指定

- 別名ごとの列の明示的定義

表示に使用する値の指定

EssbaseからOracle BIリポジトリにメタデータをインポートする場合、物理レイヤーのEssbaseキューブ表オブジェクトには、メンバー名、デフォルトの別名、その他の別名など、メンバーについて表示する値を指定するプロパティが含まれます。デフォルトで、列には、デフォルトの別名が表示されます。

メンバーについて表示する値を変更するには:

1. 管理ツールの物理レイヤーで、Essbaseキューブ表をダブルクリックします。

2. 「キューブ表」ダイアログの「一般」タブで、「表示列」に適切な値を選択します。「メンバー名」を選択することも、「別名」を選択してリストから別名表名を選択することも、「変数」を選択して有効な表示列名が含まれている変数を選択することもできます。

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

別名ごとの列の明示的定義

別名は、インポート後に物理レイヤーでディメンション・プロパティとしてモデリングされます。レポート作成を目的として属性をフラット化したり、翻訳用に文字列を外部化したりなど、複数の別名を使用して作業する場合は、別名ごとに列を明示的に定義することができます。キューブ、ディメンションまたは階層レベルで別名列を定義できます。

別名ごとに列を明示的に定義するには:

1. 管理ツールの物理レイヤーで、別名列を定義するキューブ表、物理ディメンションまたは物理階層を右クリックします。

2. 「別名表の列の作成」を選択します。サブリストから、列を作成する別名表を選択します。
「フェッチ」ボタンは使用しないことに注意してください。

3. 「作成」をクリックします。

4. 新規別名列をビジネス・モデルとマッピング・レイヤーの適切な場所にドラッグします。

別名列に基づいて翻訳用に文字列を外部化する操作の詳細は、『Oracle Fusion Middleware Oracle Business Intelligence Enterprise Editionシステム管理者ガイド』のOracle Business Intelligenceのローカライズに関する項を参照してください。

ユーザー定義属性のモデリング

Essbaseでは、ユーザー定義属性(UDA)の概念がサポートされます。UDAは基本的に、ディメンションのいずれのメンバーとも関連付けることができる任意のテキスト文字列です。1つのメンバーに複数の文字列を関連付けることができます。

メタデータのインポートウィザードで、UDAをインポートするかどうかを選択できます。UDAをインポートすることを選択した場合、リポジトリの物理レイヤーで、デフォルトで各UDAがディメンション・プロパティとしてモデリングされます。

各UDAを個別の物理列としてモデリングすることも選択できます。これを実行するには、次のいずれかのタスクを実行します。

- 1つのキューブ内のすべてのUDAを個別の物理列としてモデリングするには、「UDAの列の作成」を選択します。キューブ内のすべてのUDAが個別の物理列としてモデリングされます。

- 1つのディメンション内のすべてのUDAを個別の物理列としてモデリングするには、対象のディメンション・オブジェクトを右クリックして、「UDAの列の作成」を選択し、「すべてのUDA」を選択します。ディメンション内のすべてのUDAが個別の物理列としてモデリングされます。

- ディメンション内の特定のUDAを各レベルで個別の物理列としてモデリングするには、対象のディメンション・オブジェクトを右クリックして、「UDAの列の作成」を選択し、モデリングする特定のUDAを選択します。選択したUDAがモデルごとに個別の物理列としてモデリングされます。

ディメンションおよびレベルへのメンバー属性の関連付け

インポート・プロセスで、メンバー属性が、対応するディメンションとレベルに自動的に関連付けられるわけではありません。関連付けを手動で作成するには、メンバー属性を適切な論理表にマップします。つまり、列を物理レイヤーの属性ディメンションから、ビジネス・モデルとマッピング・レイヤーの適切な論理表にドラッグ・アンド・ドロップします。

代替階層のモデリング

デフォルトで、代替階層は、物理レイヤーで個別の階層としてモデリングされます。代替階層を個別の階層として表示することも(複数階層のビュー)、単一階層として表示することもできます。

代替階層を単一階層として表示するには、代替階層が含まれるディメンション・オブジェクトを右クリックして、「単一階層のビューに変換」を選択します。複数階層のビューに戻すには、ディメンション・オブジェクトを再度右クリックして、「複数階層のビューに変換」を選択します。

たとえば、図8-3は、代替階層の複数階層のビューを示しています。

図8-3 複数階層のビューで表示されたEssbase代替階層

図8-4は、同じ代替階層の単一階層のビューを示しています。

図8-4 単一階層のビューで表示されたEssbase代替階層

メジャー階層のモデリング

デフォルトで、メジャーはメジャー階層としてインポートされます。つまり、キューブには、すべてのメジャーを表す単一のメジャー列が含まれます。

または、メジャー階層をフラット化して、各メジャーを個々の列で表示することもできます。これを実行するには、キューブ・オブジェクトを右クリックして、「メジャー・ディメンションをフラット・メジャーに変換します」を選択します。

未修飾メンバー名の使用によるパフォーマンスの向上

メンバー名(別名も含む)が指定した階層で一意である場合、Oracle BIサーバーでは、特定のMDX構文を利用して、パフォーマンスを最適化できます。この機能を有効にするには、「階層」ダイアログの「パフォーマンスを上げるために未修飾のメンバー名を使用」を選択します。

インポート・プロセスでは、指定の階層に対してメンバー名が一意であることを識別できません。このため、一意性を確認するのは、管理者の仕事です。階層で一意なメンバーがないのに一意なメンバーがあると指定されると、問合せエラーが発生します。

注意:
Oracle BIサーバーでEssbaseに対して正しくない問合せが生成されていることがわかった場合、指定の階層に重複したメンバー名がないかどうか確認します。重複したメンバー名があった場合、オプション「パフォーマンスを上げるために未修飾のメンバー名を使用」がその階層に対して選択解除になっていることを確認するか、次の手順を実行します。

1. Essbaseアウトラインから、問題の原因となっているメンバーの名前に接頭辞または接尾辞を追加してメンバー名を一意にすることによって、問題となっている各メンバー変数を更新します。

2. 参照がSQL内のデータに対して行われている場合は、必要に応じてSQLを更新します。

3. Essbaseアウトラインのデータとメンバーをリロードします。

Hyperion Financial Managementデータ・ソースおよびHyperion Planningデータ・ソースでの作業

この節の内容は以下のとおりです。

- Hyperion Financial Managementデータ・ソースからのデータのインポート

- Hyperion Planningデータ・ソースからのデータのインポート

- Hyperion Financial Managementデータ・ソースおよびHyperion Planningデータ・ソースへの問合せサポートについて

Hyperion Financial Managementデータ・ソースからのデータのインポート

Hyperion Financial Managementデータ・ソースからデータをインポートすると、メジャーとディメンションの両方が物理レイヤーにインポートされます。Hyperion Financial Managementハイパーキューブ・モデルは、次のように物理レイヤーで公開されます。

- Hyperion Financial Managementにはメジャーが1つのみ存在し、このメジャーはValueと呼ばれます。このメジャーは、物理レイヤーで単一ファクト列としてモデリングされ、ここでもValueと呼ばれます。

- メジャー列のValue - データ・タイプDOUBLEが、Hyperion Financial Managementへインポートされます。

- Valueメジャーには、CellText、CurrencyTypeおよびAttributeの3つのベース・プロパティがあります。これらのプロパティはすべて、追加ファクト列として表されます。

- Attributeプロパティには、さらにIsReadOnlyなどのサブプロパティがあります。これらのプロパティも追加列として公開されます。

図8-5は、物理レイヤーでのHyperion Financial Managementデータのモデリングを示しています。

図8-5 物理レイヤーのHyperion Financial Managementメタデータ

Hyperion Financial Managementのディメンションはすべて、物理レイヤーでは親子階層としてモデリングされます。共有メンバー、代替階層および非バランス型階層がサポートされています。

ディメンション・メンバーのプロパティは、列(Name、Description、ShortNameなど)として公開されます。Sort Orderと呼ばれる追加列もディメンションごとに表示されます。この列には、Hyperion Financial Managementデータ・ソースから取得されたカスタム・ソートに関する情報が含まれます。

Hyperion Financial Managementの各ディメンションには、対応するポイント・オブ・ビュー(POV)値があり、この値は、ユーザーごとにカスタマイズされた情報を提供します。このPOV値は、「ディメンション」ダイアログの「階層」タブの「デフォルトのメンバー」として公開されます。「デフォルトのメンバー」フィールドは、インポート時に移入されますが、ユーザー・ベースの要件に応じて、デフォルト値の更新が必要な場合があります。

注意:
Hyperion Financial Managementの階層に「デフォルトのメンバー・タイプALL」オプションを選択しないでください。

Hyperion Planningデータ・ソースからのデータのインポート

Hyperion Planningデータ・ソースからデータのインポートおよび問合せを行うには、先に、Hyperion Planning 11.1.2.4以降とOracle Enterprise Performance Management Financial Planning AnalyticsがHyperion Planning Serverにインストールされていることを確認する必要があります。

Hyperion Planningデータ・ソースからデータをインポートすると、メジャーとディメンションの両方が物理レイヤーにインポートされます。Hyperion Planningモデルは、次のように物理レイヤーで公開されます。

- インポート済のHyperion Planningデータ・ソースには、複数のValue列が含まれ、異なるデータ・タイプのメジャーをサポートできます。

- Hyperion Financial Management固有のいくつかのメジャーは、Hyperion Planningデータ・ソースにインポートされません。

- Attributeプロパティには、さらにIsReadOnlyなどのサブプロパティがあります。これらのプロパティも追加列として公開されます。

図8-6は、物理レイヤーでのHyperion Planningデータのモデリングを示しています。

図8-6 物理レイヤーのHyperion Planningメタデータ

Hyperion Planningのディメンションはすべて、物理レイヤーでは親子階層としてモデリングされます。共有メンバー、代替階層および非バランス型階層がサポートされています。

ディメンション・メンバーのプロパティは、列(Name、Description、ShortNameなど)として公開されます。Sort Orderと呼ばれる追加列もディメンションごとに表示されます。この列には、Hyperion Planningデータ・ソースから取得されたカスタム・ソートに関する情報が含まれます。

Hyperion Planningの各ディメンションには、対応するポイント・オブ・ビュー(POV)値があり、この値は、ユーザーごとにカスタマイズされた情報を提供します。このPOV値は、「ディメンション」ダイアログの「階層」タブの「デフォルトのメンバー」として公開されます。「デフォルトのメンバー」フィールドは、インポート時に移入されますが、ユーザー・ベースの要件に応じて、デフォルト値の更新が必要な場合があります。

注意:
Hyperion Planningの階層に「デフォルトのメンバー・タイプALL」オプションを選択しないでください。

Hyperion Financial Managementデータ・ソースおよびHyperion Planningデータ・ソースへの問合せサポートについて

Hyperion Financial Managementデータ・ソースおよびHyperion Planningデータ・ソースに対しては、メンバー問合せ(ディメンション参照)とデータ問合せ(メジャー分析)が両方ともサポートされます。

大部分の論理SQL関数は、Oracle BIサーバー内で実行されます。ただし、Hyperion Financial ManagementおよびHyperion Planningに固有の次のファンクションにアクセスするには、EVALUATE_PREDICATEを使用します。

- PeriodOffset (オフセットによる前回または将来の期間へのアクセスに使用されます)

- Hyperion Financial Managementに固有のNA抑制ファンクション(SuppressDerived、SuppressInvalidIntersection、SuppressNoAccess、SuppressZero、SuppressError)

- Baseファンクション(指定した祖先メンバーの下のリーフ・メンバーを返します)

- CommonChildren

- ユーザー定義ファンクション

構文と使用方法の詳細は、「EVALUATE_PREDICATE」を参照してください。

前のリリースでは、手動でSuppressMissing関数をEVALUATE_PREDICATEに追加して欠落したセルを抑止していました。現行リリースのOracle BI EEでは、PERF_PREFER_SUPPRESS_EMPTY_TUPLESデータベース機能がサポートされています。このデータベース機能により、Oracle BI EEはSuppressMissing関数をHyperion Financial Managementデータ問合せまたはHyperion Planningデータ問合せに挿入して、欠落したセルを抑止します。ERF_PREFER_SUPPRESS_EMPTY_TUPLESで、空のセル値を持つ空のタプルを削除するかどうかを制御します。このデータベース機能によって、最終結果セットでnullの抑制の動作が変更されることはありません。

時系列関数に対しては、ネイティブ・サポートはありません。時系列関数は、データ・モデリングを通してのみサポートされます。

Oracle OLAPデータ・ソースでの作業

Oracle Databaseには、埋込みのフル機能オンライン分析処理サーバーを提供するOLAPオプションが用意されています。OLAPオプションは、次のような役割で使用されます。

- SQLベースのビジネス・インテリジェンス・ツールおよびアプリケーションに対するサマリー管理ソリューション

- SQLベースのビジネス・インテリジェンス・ツールに詳細な分析コンテンツを提供する計算エンジン

- ディメンション指向のビジネス・インテリジェンス・ツールおよびアプリケーションにサービスを提供するフル機能のマルチディメンション・サーバー

Oracle Business Intelligenceでは、Oracle OLAPはデータ・ソースとしてサポートされます。Oracle OLAPソースからメタデータをインポートすると、管理ツールの物理レイヤーにOracle OLAPオブジェクトが表示されます。この項では、物理レイヤーのOracle OLAPオブジェクトに関する情報を示します。

この項には次のトピックが含まれます:

- Oracle OLAPデータ・ソースからのメタデータのインポートについて

- Oracle OLAPアナリティック・ワークスペース(AW)オブジェクトでの作業

- Oracle OLAPのディメンション、階層およびレベルでの作業

- Oracle OLAPキューブおよび列での作業

Oracle OLAPデータ・ソースからのメタデータのインポートについて

この項では、管理ツールを使用したOracle OLAPからのメタデータのインポートに関する次のような情報を提供します。

- 複数言語のメタデータが格納されているOracle OLAPキューブの場合、デフォルトの言語のみがインポートされます。

- 少なくとも1つの階層が含まれるディメンションのみがインポートされます。

- 複数の階層が含まれる単一の問合せはサポートされていません。問合せに、指定されたディメンションの複数階層からの列が含まれる場合は、Oracle BIサーバーからエラーが返されます。

- Oracle OLAPメジャーに対する、ビジネス・モデルとマッピング・レイヤーのデフォルトの集計ルールは、外部集計です。外部集計ルールとは、Oracle BIサーバーで、特定のメジャーに対して基礎となる集計ルールが認識されないため、内部的に計算されないということです。かわりに、Oracle BIサーバーから常に、基礎となるマルチディメンション・データ・ソースに集計の問合せが送信されます。
場合によっては、メジャーの集計ルールを外部集計以外のものに設定することがあります。たとえば、複数のデータ・ソースをフェデレートしている場合や、Oracle OLAPでレベルごとには表されていないディメンション属性に沿ってより高レベルの集計を実行する必要がある場合です。両方の場合とも、基礎となるデータ・ソースのルールに一致するようにデフォルトの集計ルールを変更できます。このような場合でも集計は、可能なかぎりOracle OLAPデータ・ソースで実行されます。

Oracle Business IntelligenceでサポートされるOracle OLAPのバージョンについての最新情報は、「システム要件と動作要件」を参照してください。

Oracle OLAPアナリティック・ワークスペース(AW)オブジェクトでの作業

Oracle OLAPアナリティック・ワークスペース(AW)オブジェクトを管理ツールの物理レイヤーに表示できます。これらのオブジェクトは、Oracle OLAPメタデータのアナリティック・ワークスペース・オブジェクトに対応しており、物理カタログ・オブジェクトおよび物理スキーマ・オブジェクトに似ています。アナリティック・ワークスペースは、関連キューブを格納するためのコンテナです。アナリティック・ワークスペースのコンテキスト内に、ディメンション、キューブおよびその他のディメンション・オブジェクトを作成します。

Oracle OLAPアナリティック・ワークスペース・オブジェクトには、「名前」、「 説明」および「動的名前」のプロパティがあります。「動的名前」タブを使用して、アナリティック・ワークスペース・オブジェクトの名前を指定する変数を指定できます。「動的名前」タブは、少なくとも1つのセッション変数が定義されていないと、アクティブにはなりません。詳細は、「変数を使用したカタログまたはスキーマの名前の指定」を参照してください。

Oracle OLAPのディメンション、階層およびレベルでの作業

Oracle OLAPのディメンションは、データを識別してカテゴリ分けする一意の値のリストです。これらのディメンションによって、キューブのエッジおよびキューブ内のメジャーのエッジが形成されます。レポートでは、ディメンションの値(またはディメンションの値の説明属性)によって、行と列のラベルが指定されます。Oracle OLAPのディメンションには、次の3種類があります。

- レベルベースのディメンション。レベルベースのディメンションのメンバーは基本的に"月"や"年"などのタイプに基づいてレベルにグループ分けされます。ほとんどのディメンションがレベルベースです。

- 値ベースのディメンション。これらのディメンションは、メンバー間で親子の関係がありますが、メンバーはすべて同一タイプ(従業員やアカウントなど)のため、これらの関係によって意味のあるレベルが形成されることはありません。

- リスト・ディメンションまたはフラット・ディメンション。これらのディメンションには、レベルも階層もありません。

注意:
Oracle Business Intelligenceでは、階層のないディメンション(フラット・ディメンション)はサポートされません。Oracle OLAPデータ・ソースからフラット・ディメンションをインポートすると、エラーが発生します。フラット・ディメンションを使用している場合は、Oracle Business Intelligenceにインポートする前に、データ・ソースでフラット・ディメンションを単一レベル階層に置換します。

「Oracle OLAPディメンション」ダイアログの「一般」タブでは、次のディメンション・プロパティとともに、ディメンションの名前と説明を表示、編集できます。

- 時間。対象のディメンションが時間ディメンションであることを示します。

- 不規則。ベースが異なるメンバーが1つ以上属しているため、不規則なベース・レベルが作成されている階層が対象のディメンションに含まれることを示します。

- スキップ・レベル。このディメンションに、階層に穴を作成して2つ以上高いレベルの親を持つメンバーが1つ以上属している階層が含まれていることを示します。スキップレベル階層の例としては、少なくとも1つの都市がその親として国を持つ(アメリカ合衆国におけるワシントン市など)都市-州-国という階層があげられます。

- 外部名。物理SQL問合せでディメンションの参照時に使用される物理名。この値は、データ・ソースで定義されている外部名を反映する必要があります。

- キャッシュのプロパティ。対象のディメンションをOracle BIサーバーの問合せキャッシュに含める場合は、「キャッシュ可能」を選択します。キャッシュ・エントリが失効しないことを指定するには、「キャッシュ失効なし」を選択します。または、「キャッシュ永続時間」を選択して、問合せキャッシュでエントリが保持される期間を指定する値を入力することもできます。問合せで永続時間が異なる複数の物理オブジェクトが参照されている場合は、その問合せのキャッシュ・エントリは、問合せで参照される表の中で永続時間が最も短く設定されているものの永続時間だけ保持されます。これによって、後続の問合せで失効したキャッシュ・エントリからキャッシュ・ヒットが取得されることはなくなります。

「Oracle OLAPディメンション」ダイアログの「列」タブおよび「階層」タブには、対象のディメンションに属するディメンション・メンバーと階層がリストされます。「列」タブでは、列の追加または削除と、特定の列の編集ができます。「階層」タブでは、階層の追加、削除または編集を実行できます。入力(キー)ボタンを使用して、ディメンションにデフォルトの階層を選択することもできます。

ディメンションには、1つ以上の階層を格納できます。ほとんどの階層がレベルベースで、1つ以上の集計レベルで構成されています。多対1関係でメンバーは次に高いレベルにロールアップし、これらのメンバーはまた次に高いレベルにロールアップし、続けて最上位レベルまでにロールアップします。不規則階層およびスキップレベル階層もサポートされています。

ディメンションには、値ベースの階層も格納できます。値ベースの階層は、レベルをサポートしない親子階層です。たとえば、従業員ディメンションは、各従業員の上司を識別する親子関係を持つ場合があります。ただし、第1レベル、第2レベル、第3レベルなどの上司を一緒にグループ化するレベルは、分析上意味がない場合があります。

値ベースの階層の場合、ルート・メンバー物理キューブ列に対してデフォルトでNULL値可能オプションが選択されています。このオプションは、値ベースの階層のルート・メンバーが適切に機能するために選択する必要があります。

通常、1つのディメンションに対する複数の階層は、ベースレベルのディメンション・メンバーを共有して、別個の階層に分岐します。これらの階層ですべて同一のベース・メンバーが使用され、同一の集計演算子が使用される場合は、これらの階層で最上位レベルを共有できます。それ以外の場合は、別個の集計値を格納するために、別個の最上位レベルが必要です。

「Oracle OLAP階層」ダイアログで、階層の名前、外部名および説明を表示および編集できます。レベルベースの階層の場合は、レベルの追加、削除、編集または並替えを実行できます。値ベースの階層の場合、列を追加、削除または編集できます。キー列を指定するには、列名をダブルクリックします。

「Oracle OLAPレベル」ダイアログでは、レベルの名前、外部名および説明を表示、編集できます。レベルに対して列の追加、削除または編集を実行することもできます。ある列をレベル・キーとして指定するには、列名をダブルクリックします。

Oracle OLAPキューブおよび列での作業

Oracle OLAPキューブは、ディメンションがまったく同じになっているメジャーを識別して、その上でデータのロード、集計、格納および問合せのすべての段階で一緒に処理される候補となる情報オブジェクトです。キューブによって、ビジネス・メジャーの形状が定義されます。キューブは、一連の順序付け済ディメンションによって定義されます。ディメンションによってキューブのエッジが形成され、メジャーがキューブ本体のセルになります。

Oracle OLAPキューブには、他のキューブと同様のプロパティがあります。「Oracle OLAPキューブ」ダイアログの「一般」タブでは、キューブの次のプロパティとともに、キューブの名前と説明を表示、編集できます。

- 外部名。物理SQL問合せでキューブの参照時に使用される物理名。この値は、データ・ソースで定義されている外部名を反映する必要があります。

- 密度および実体化。スパースで完全に実体化されているOracle OLAP 10gキューブの場合、問合せを最適化するためにこれらのプロパティに値を指定します。「密度」オプションを「スパース」に設定し、「実体化」オプションを「完全な実体化」に設定すると、Oracle BIサーバーでは、空のセルをスキップするためにループ句が生成されます。「密度」オプションを空白のままにすると、Oracle BIサーバーではデータがスパースであると見なされます。
これらのオプションを設定する場合、データ・ソースの実際のプロパティを反映するように設定する必要があります。これがデータ・ソースにも当てはまらないかぎり、データをスパースおよび完全な実体化と指定しないでください。

これらの値をOracle OLAP 11gキューブに設定する必要はありません。これらのオブジェクトについては、最適化が自動的に行われます。

- キャッシュのプロパティ。対象のキューブをOracle BIサーバーの問合せキャッシュに含める場合は、「キャッシュ可能」を選択します。キャッシュ・エントリが失効しないことを指定するには、「キャッシュ失効なし」を選択します。または、「キャッシュ永続時間」を選択して、問合せキャッシュでエントリが保持される期間を指定する値を入力することもできます。問合せで永続時間が異なる複数の物理オブジェクトが参照されている場合は、その問合せのキャッシュ・エントリは、問合せで参照される表の中で永続時間が最も短く設定されているものの永続時間だけ保持されます。これによって、後続の問合せで失効したキャッシュ・エントリからキャッシュ・ヒットが取得されることはなくなります。

「Oracle OLAPキューブ」ダイアログの「列」タブには、キューブに属している列がリストされます。列の追加または削除と、特定の列の編集ができます。

Oracle OLAP列は、メジャー、計算されたメジャー、属性またはレベル・キーのいずれかになります。Oracle OLAP列には、他の物理列と同じプロパティがあります。「タイプ」、「長さ」、「NULL値可能」などの物理列プロパティの詳細は、「物理表の列の作成と編集」を参照してください。

物理外部キーと結合での作業

物理図または結合マネージャを使用して物理外部キーおよび複合結合を作成できます。マルチディメンション・データ・ソースに結合を作成することはありません。

この項には次のトピックが含まれます:

- 物理結合について

- 物理図を使用した物理結合の定義

- 結合マネージャを使用した物理結合の定義

物理結合について

有効な物理結合はすべて、管理ツールの物理レイヤーで構成します。

物理スキーマにキーをインポートすると、主キーと外部キーの結合が自動的に定義されます。各データ・ソース内またはデータ・ソース間のその他の結合は、物理レイヤーで表間の関係を表現するように明示的に定義する必要があります。

インポートしたキーと外部キーとの結合をメタデータで使用する必要はありません。参照整合性制約を施行するよう定義されている結合によって、問合せで正しくない結合が指定されることになる場合があります。たとえば、1つの多目的参照表と複数のその他の表との結合によって、SQL問合せで不要なまたは無効な循環結合がOracle BIサーバーから発行されることになる場合があります。

この項には次のトピックが含まれます:

- 主キーと外部キーの関係について

- 複合結合について

- マルチデータベース結合について

- 断片化されたデータについて

主キーと外部キーの関係について

主キーと外部キーの関係によって、2つの表の1対多関係が定義されます。外部キーは、別の表内の主キー列を参照する、ある表内の1つまたは一連の列です。主キーは、一意の各値が表の単一行を識別する1つまたは一連の列として定義されます。

同じ表をポイントする外部キー列が1つの表に複数ある場合が次の2通りあります。

- 外部表の主キーが連結されている場合、つまり一連の列で構成されている場合。これは、偶然複数の列を使用するようになった2つの表間の単一結合です。

- 外部表が複数のロールで機能する必要があるので、外部表に別名を作成した場合。この場合、外部キーそれぞれが、ロールを担っているどちらか一方の別名で主キーに結合します。詳細は、「物理別名表について」を参照してください。

主キーと外部キーの指定は、物理図で実行することも、「物理表」ダイアログの「キー」タブおよび「外部キー」タブを使用して実行することもできます。詳細は、「物理図を使用した物理結合の定義」および「リレーショナル表およびキューブ表の列とキーの作成と管理」を参照してください。

複合結合について

リポジトリの物理レイヤーでは、複合結合は、非外部キー列と主キー列の結合です。つまり、物理複合結合は、キー列の関係ではなく式を使用する結合です。物理レイヤーで複合結合を作成する場合、結合に式を指定します。

ほとんどのデータ・ソースについて、パフォーマンスのためには外部キー結合をお薦めします。複合結合は通常、結合の形成にキー列関係が使用されないため、それほど高性能ではありません。例外がADFデータ・ソースで、ここでは、ADFモデルでビュー・オブジェクトのペアを接続するViewLinkインスタンスを指定するためにのみ物理複合結合が使用されます。

マルチデータベース結合について

マルチデータベース結合は、別のメタデータ・データベース・オブジェクトの下の表に結合する、あるメタデータ・データベース・オブジェクトの下の表として定義されます。別のデータベースからデータを結合するにはマルチデータベース結合を指定する必要があります。マルチデータベース結合の指定には、物理図を使用します。詳細は、「物理図を使用した物理結合の定義」を参照してください。

マルチデータベース結合は、ほとんどのタイプのデータベースの表間に作成することができ、Oracle BIサーバー内で実行されます。Oracle OLAPデータ・ソースの表にマルチデータベース結合を作成することはできません。

Oracle BIサーバーには、マルチデータベース結合のパフォーマンス最適化のための戦略がいくつかありますが、これらの結合は同じデータベース内の表間の結合よりはるかに非効率です。このため、可能なかぎりマルチデータベース結合は避けます。

断片化されたデータについて

断片化されたデータとは、複数の表に分割されている単一ドメインからのデータです。たとえば、データ・ソースで、姓の頭文字がA - Mの顧客の売上データを1つの表に保存し、N - Zの顧客の売上データを別の表に保存する場合があります。断片化された表を使用する場合、各断片とそれに関連するすべての表との間のすべての結合条件を定義する必要があります。図8-7は、断片化された売上表と、それと同じように断片化されている(A - MとN - Z)断片化された顧客表との物理結合を示しています。

図8-7 断片化された表の例

場合によっては、断片化されたファクト表と断片化されたディメンション表があり、断片が複数の値にわたっていることがあります。このような場合、図8-7で作成した結合に加えて、図8-8に示すような、顧客A - Fと顧客G - Zから、売上A - Mに対して1対多の結合を定義する必要があります。

図8-8 断片化された表の結合例

注意:
必要でない場合は結合条件を追加しないようにします(たとえば、図8-7の売上A - Mと顧客N - Z)。必要以上の結合条件が、パフォーマンスの低下をまねくおそれがあります。

物理図を使用した物理結合の定義

表が同一のデータ・ソースにあるかどうかにかかわらず、表間に外部キーと複合結合を定義できます。結合の作成に物理図を使用する場合、選択したオブジェクト・タイプと結合式に基づいて、作成する結合のタイプが管理ツールによって決定されます。

作成する結合のタイプを管理ツールで自動的に決定されないようにするには、結合マネージャを使用して、結合を明示的に作成します。詳細は、「結合マネージャを使用した物理結合の定義」を参照してください。

物理図を使用して物理外部キー結合または複合結合を定義するには:

1. 管理ツールの物理レイヤーで、1つ以上の表を選択し、右クリックメニューからいずれかの物理図コマンドを選択します。

2. 管理ツールのツール・バーの「新規結合」ボタンをクリックします。

3. 物理図で、結合の1つ目の表(1対多結合の多を表す表)を左クリックして選択します。

4. 結合対象の表(1対多結合の1を表す表)にカーソルを移動し、2つ目の表を左クリックして選択します。
「物理外部キー」ダイアログが表示されます。物理外部キー結合がデフォルトの結合タイプですが、結合の情報によっては、結合を定義して「OK」をクリックした後に、オブジェクト・タイプが複合結合に変わる場合があります。

5. 左の表と右の表から結合する列を選択します。
「式」ペインにSQL結合条件が表示されます。

このダイアログに駆動表オプションが表示されますが、このオプションは選択できません。Oracle BIサーバーでは、ビジネス・モデルとマッピング・レイヤーにのみ駆動表が実装されるためです。駆動表の詳細は、「駆動表の指定」を参照してください。

6. 複合結合の場合、結合の各側にオプションでカーディナリティを設定することができます(N、0,1、1、不明など)。
カーディナリティを不明に設定する場合、結合の一方の側にのみ「不明」を選択します。たとえば、不明対1の選択は、不明対不明に相当し、この結合のダイアログを次回開いたときは不明対不明と表示されます。

7. 必要に応じて、データベース・ヒントを指定します。詳細は、「SQL文でのヒントの使用」を参照してください。

8. ADF ViewObjectまたはViewLinkインスタンスに複合結合を作成する場合は、「ViewLink名」フィールドにViewLinkインスタンス名またはViewLink定義名を指定します。

9. 式ビルダーを開くには、「式」ペインの右にあるボタンをクリックします。「式」ペインに式が表示されます。
ViewObjectまたはViewLinkインスタンスのデフォルトの結合式は任意で、意味はありません。

10. 「OK」をクリックして選択内容を適用します。
物理図で、結合は、選択した2つの表の間の線で表され、結合の「1」側が矢印になっています。図8-9は、物理図での結合を示しています。

図8-9 物理図内の結合

結合マネージャを使用した物理結合の定義

結合マネージャを使用して、結合関係を表示したり、物理外部キー結合および複合結合を作成したりできます。

結合マネージャを使用して物理外部キー結合または複合結合を定義するには:

1. 管理ツールのツールバーで、「管理」を選択し、「結合」を選択します。

2. 「結合マネージャ」ダイアログで、次のいずれかのタスクを実行します。

- 「アクション」→「新規」→「複合結合」を選択します。
「複合結合」ダイアログが表示されます。

- 「アクション」→「新規」→「物理外部キー」を選択します。その後、「参照」ダイアログで、表をダブルクリックします。

3. 「複合結合」ダイアログまたは「物理外部キー」ダイアログで、結合の名前を入力します。

4. ダイアログの左側にある「表」フィールドの「参照」ボタンをクリックして、外部キーで参照する表を探します。

5. 左の表から、キーで参照する列を選択します。

6. 右の表から、外部キー列を構成する列を選択します。

7. 複合結合の場合、結合の各側にオプションでカーディナリティを設定することができます(N、0,1、1、不明など)。
カーディナリティを不明に設定する場合、結合の一方の側にのみ「不明」を選択します。たとえば、不明対1の選択は、不明対不明に相当し、この結合のダイアログを次回開いたときは不明対不明と表示されます。

8. 必要に応じて、データベース・ヒントを指定します。詳細は、「SQL文でのヒントの使用」を参照してください。

9. ADF ViewObjectまたはViewLinkインスタンスに複合結合を作成する場合は、「ViewLink名」フィールドにViewLinkインスタンス名またはViewLink定義名を指定します。

10. 式ビルダーを開くには、「式」ペインの右にあるボタンをクリックします。「式」ペインに式が表示されます。
ViewObjectまたはViewLinkインスタンスのデフォルトの結合式は任意で、意味はありません。

11. 「OK」をクリックして保存します。

不透明なビューのデプロイ

不透明なビューとは、SELECT文で構成されている物理レイヤーの表です。新しい表が必要な場合、物理表またはマテリアライズド・ビューを作成する必要があります。不透明なビューは、他にソリューションがない場合にのみ使用してください。マテリアライズド・ビューの詳細は、付録G「データベースとのメタデータ交換による問合せのパフォーマンス向上」を参照してください。

この項には次のトピックが含まれます:

- 不透明なビューのデプロイについて

- 不透明なビュー・オブジェクトのデプロイ

- デプロイされたビューのアンデプロイ

- 不透明なビューまたはデプロイされたビューを削除するタイミング

- 不透明なビューを再デプロイするタイミング

不透明なビューのデプロイについて

リポジトリでは、不透明なビューは、データ・ソースのビュー表として表示されますが、不透明なビューはデプロイされるまで実際には存在しません。「ビューのデプロイ」ユーティリティを使用して、データ・ソースに不透明なビューをデプロイします。デプロイ後、不透明なビューはデプロイされたビューと呼ばれます。不透明なビューは、デプロイせずに使用できますが、Oracle BIサーバーで不透明なビューが検出されると、より複雑な問合せの生成が必要になります。

注意:
XLSデータ・ソースや非リレーショナル・データ・ソースなどのデータ・ソースでは、不透明なビューはサポートされておらず、ビューをデプロイするためのユーティリティも実行できません。

特定のデータ・ソースで不透明なビューがサポートされていることを確認するには、「データベース」ダイアログの「機能」タブで、CREATE_VIEW_SUPPORTED SQL機能が選択されていることを確かめます。この手順については、「データ・ソースでサポートされるSQL機能の指定」を参照してください。

不透明なビュー・オブジェクトのデプロイ

オフライン・モードで、「ビューのデプロイ」ユーティリティは、ODBCおよびDB2 CLIデータ・ソースで、データ・ソースからのインポート時に使用できます。Oracleのネイティブ(クライアント)ドライバも、オフライン・モードでのビューのデプロイに対応しています。オンライン・モードでは、ビューのデプロイは、サポートされているデータ・ソースで、サーバーを通したインポートを使用して実行できます(クライアント上での設定は無視されます)。

Create View SELECT文の使用

リポジトリの物理レイヤーで不透明なビューをデプロイするためのSQL文は、サポートされているデータ・ソースで使用できます。不透明なビューをサポートするデータ・ソースを判別するには、システム管理者に問い合せるか、データ・ソースのドキュメントを参照してください。

定義には、リポジトリ変数のみを使用します。ビュー定義にセッション変数が含まれていると、エラーが生成されます。

構文

CREATE VIEW view_name AS select_statement,

説明:

- select_statementは、不透明なビュー・オブジェクトでユーザーが入力したSQL文です。SQL文が無効な場合、create view文はビューのデプロイ時に失敗します。

- view_nameは、schema.viewnameとviewnameのいずれかの形式です。接続プールの設定によって、スキーマ名が追加されるかどうかが決まります。

SELECT文で行単位の初期化変数を参照するには、VALUELISTOF関数を使用します。たとえば、変数LIST_OF_USERS内のユーザー名に割り当てられた顧客を取得するためには、次の構文を使用します。

RW.CUSTOMERS.USER_NAME in (VALUELISTOF(NQ_SESSION.LIST_OF_USERS))

リストに表示されている指定された値のみでフィルタをするには、ValueNameofを使用して、次の例のようにします。最初の値は「0」であることに留意してください。「1」ではありません。

RW.CUSTOMERS.USER_NAME in '(ValueNameOf(0,NQ_SESSION.LIST_OF_USERS))

不透明ビュー・オブジェクトの場合、右クリック・メニューには、「ビューのデプロイ」オプションが含まれます。「ビューのデプロイ」を選択すると、Create View SQL文が実行され、デプロイされたビュー・オブジェクトの作成が試行されます。ビューのデプロイを開始する方法と各方法の結果について、次にまとめます。

- 1つの不透明ビュー・オブジェクトを右クリックします。「ビューのデプロイ」を選択すると、Create View SQL文が実行され、不透明ビュー・オブジェクトのデプロイされたビューの作成が試行されます。

- 複数のオブジェクトを右クリックします。選択したオブジェクトのうち少なくとも1つが不透明ビュー・オブジェクトの場合、右クリック・メニューには「ビューのデプロイ」オプションが含まれます。「ビューのデプロイ」を選択すると、Create View SQL文が実行され、修飾オブジェクトのデプロイされたビューの作成が試行されます。

- 物理スキーマまたは物理カタログを右クリックします。対象のスキーマまたはカタログに不透明ビュー・オブジェクトが存在する場合、右クリック・メニューには「ビューのデプロイ」オプションが含まれます。「ビューのデプロイ」を選択すると、すべての修飾オブジェクトに対するCreate View SQL文が実行され、選択したスキーマまたはカタログに含まれる修飾オブジェクトのデプロイされたビューの作成が試行されます。

デプロイ時に名前がビューに割り当てられます。事前割当ての名前を変更する場合、新しい名前は英数字で18文字以下にする必要があります。これらのガイドラインに従わないと、オブジェクト名は、次の名前変換アルゴリズムを使用して有効な名前に自動的に変換されます。

1. 英数字以外の文字はすべて削除されます。

2. ステップ1の後に16文字以上ある場合は、最初の16文字が保持されます。

3. 対応するコンテキストで名前を一意にするために、00 - 99の2桁の数字が名前に追加されます。

デプロイメント・プロセスが完了すると、次のことが起こります。

- 正常にデプロイされたビューとデプロイに失敗したビューがリストで表示されます。

- 失敗したデプロイメントの場合、リストに簡単な理由が表示されます。

- デプロイメントが正常に実行された場合、不透明ビューのオブジェクト・タイプが「選択」から「なし」に変わり、デプロイされたビューは通常の表として扱われます。
オブジェクト・タイプを「選択」に戻すと、関連付けられている不透明ビューがデータ・ソースから削除されるか、エラー・メッセージが表示されます。デプロイされたビューの削除の詳細は、「不透明ビューまたはデプロイされたビューを削除するタイミング」を参照してください。

- 正常にデプロイされたビューについては、管理ツールの「ビュー」アイコンが、「デプロイされたビュー」アイコンに変わります。

不透明ビューをデプロイするには:

1. 管理ツールの物理レイヤーで、デプロイする不透明ビューを右クリックします。

2. 右クリック・メニューで、「ビューのデプロイ」を選択します。

3. 「ビューのデプロイメント - ビューのデプロイ」ダイアログで、次の手順を実行します。

1. 「新規表名」列で、デプロイされたビューの新しい名前を必要に応じて変更します。
変更がネーミング・ルールに準拠していない場合は、別の名前が割り当てられ、ダイアログが再度表示されて、その名前を受け入れることも変更することもできます。このアクションは、すべての名前が検証に合格するまで繰り返されます。

2. 1つまたは複数のビューをデプロイしない場合は、該当する行をクリアします。

4. 物理データベースに接続プールが複数定義されている場合は、「接続プールの選択」ダイアログで接続プールを選択し、「選択」をクリックします。
SQL文(CREATE VIEW)が実行され、「ビューのデプロイメント・メッセージ」ダイアログが表示されます。

5. 「ビューのデプロイメント・メッセージ」ダイアログでは、「検索」および「再検索」を使用したビューの検索やコンテンツのコピーを実行します。

6. 終了したら、「OK」をクリックします。

デプロイされたビューのアンデプロイ

デプロイされたビューに対して「ビューのアンデプロイ」ユーティリティを実行すると、ビューは削除され、ビュー表は元のSELECT文が指定された不透明なビューに戻ります。

デプロイされたビューをアンデプロイするには:

1. 管理ツールの物理レイヤーで、物理データベース、カタログ、スキーマまたは表を右クリックします。
選択したオブジェクトに関連するデプロイされたビューが存在する場合は、右クリック・メニューに「ビューのアンデプロイ」オプションが含まれます。

2. 「ビューのアンデプロイ」を選択します。
アンデプロイされるビューのリストが表示されます。

3. 1つまたは複数のビューをアンデプロイしない場合は、該当する行をクリアします。

4. 「ビューのデプロイメント - ビューのアンデプロイ」ダイアログで、「OK」をクリックしてビューを削除します。
アンデプロイが正常に完了したかどうかを示すメッセージが表示されます。

5. 「ビューのデプロイメント・メッセージ」ダイアログでは、「検索」および「再検索」を使用したアンデプロイされたビューの検索やコンテンツのコピーを実行します。

6. 終了したら、「OK」をクリックします。

不透明なビューまたはデプロイされたビューを削除するタイミング

リポジトリの不透明なビュー・オブジェクトまたはデプロイされたビュー・オブジェクトを削除するには次のガイドラインに従います。

- リポジトリのデプロイされていない不透明なビューの削除。デプロイされていない不透明なビューは、リポジトリから削除できます。

- デプロイされたビューの削除。不透明なビューをデプロイすると、物理的にデータ・ソースとリポジトリの両方にビュー表が作成されます。このため、ビューを削除する前にそのビューをアンデプロイする必要があります。管理ツールの「ビューのアンデプロイ」ユーティリティを使用します。このユーティリティにより、不透明なビューがバックエンド・データ・ソースから削除され、「表タイプ」が「なし」から「選択」に変わり、リポジトリの物理レイヤーのオブジェクトのSELECT文がリストアされます。

注意:
データ・ソースのビュー表を手動で削除しないでください。この表を削除すると、Oracle BIサーバーで、そのビュー・オブジェクトを問い合せることができなくなります。ビューをアンデプロイすると、データ・ソースからそのビューが自動的に削除されます。

不透明なビューを再デプロイするタイミング

不透明なビューを削除した後、その再デプロイを選択します。管理ツールでは、初めてのデプロイと再デプロイは区別されません。不透明なビューを再度デプロイする前に、デプロイされたビューを削除する必要があります。不透明なビューを再デプロイする前にデプロイされたビューを削除しないと、デプロイ操作は失敗し、データ・ソースからエラー・メッセージが返されます。

SQL文でのヒントの使用

ヒントとは、SQL文内に配置されるインストラクションで、データ・ソース問合せオプティマイザに、その文を実行するための最も効率的な方法を指示します。ヒントは、オプティマイザの実行計画より優先されるため、ヒントを使用して、より効率的な計画を使用するようオプティマイザに強制することにより、パフォーマンスを向上させることができます。ヒントは、Oracle Databaseデータ・ソースでのみサポートされています。

管理ツールを使用すると、オンライン・モードとオフライン・モードの両方でヒントをリポジトリに追加でき、問合せのパフォーマンスを最適化することができます。リポジトリにヒントを追加するときに、ヒントを物理レイヤー・オブジェクトに関連付けます。ヒントに関連付けられたオブジェクトに対して問合せが実行されると、Oracle BIサーバーによってヒントがSQL文に挿入されます。

表8-6は、ヒントを関連付けることができる物理オブジェクトを示しています。また、対象の物理オブジェクトに対応する管理ツールのダイアログも示しています。これらのダイアログそれぞれに、「ヒント」フィールドが含まれており、このフィールドに、リポジトリに追加するヒントを入力できます。

表8-6 ヒントを受け入れる物理レイヤー・オブジェクト

データベース・オブジェクト

ダイアログ

複合結合

複合結合

物理外部キー

物理外部キー

物理表

物理表 - 「一般」タブ

ヒントは、「表タイプ」が「物理表」に設定されている場合にのみサポートされます。その他の表については、ヒントのテキストは無視されます。表タイプが「選択」の物理表の場合、「デフォルトの初期化文字列」フィールドに入力するSQL文の一部としてヒントのテキストを入力できます。

Oracleヒントの使用方法

ここでは、Oracle BIサーバーでのOracleヒントの使用例をいくつか示します。Oracleヒントの詳細は、使用しているバージョンのOracle Databaseの『Oracle Database SQL言語リファレンス』を参照してください。

索引ヒントについて

索引ヒントは、オプティマイザに、表ではなく指定した索引をスキャンするよう指示します。例8-1で、索引ヒントの使用方法について説明します。

例8-1 索引ヒント

ORDER_ITEMS表に対する問合せが遅いことに気付きました。問合せオプティマイザの実行計画を確認して、FAST_INDEX索引が使用されていないことがわかりました。ORDER_ITEMS表ではなく、FAST_INDEX索引をスキャンするようオプティマイザに強制する索引ヒントを作成します。この索引ヒントの構文は、index(table_name, index_name)です。このヒントをリポジトリに追加するには、管理ツールの「物理表」ダイアログに移動し、「ヒント」フィールドに次のテキストを入力します。

index(ORDER_ITEMS, FAST_INDEX)

Leadingヒントについて

Leadingヒントは、指定した表で問合せの結合順序を構築するようオプティマイザを強制します。Leadingヒントの構文はleading(table_name)です。Products表とSalesファクト表との間に外部キー結合を作成し、Products表で結合を開始するようオプティマイザを強制する場合は、管理ツールの「物理外部キー」ダイアログに移動して、「ヒント」フィールドに次のテキストを入力します。

leading(Products)

ヒントのパフォーマンスに関する考慮事項について

十分に調査され、計画されたヒントは、問合せのパフォーマンスを大きく向上することができます。ただし、ヒントは、実行計画が不十分であると、パフォーマンスに負の影響を与えることもあります。ヒントを作成して問合せのパフォーマンスを最適化するには、次のガイドラインに従ってください。

- ヒントをリポジトリに追加するのは、次の方法でパフォーマンスの向上を試みた後のみです。

- Oracle Databaseに物理索引(またはその他の物理変更)を追加します。

- サーバー内でモデリングの変更を行います。

- 頻繁に問合せが実行される物理表オブジェクトと物理結合オブジェクトには、ヒントを作成しないようにします。ヒントに関連付けられている物理オブジェクトを削除または名前変更した場合は、それに応じてヒントも変更する必要があります。

ヒントの作成

次の手順では、管理ツールを使用してリポジトリにヒントを追加する方法を説明しています。

ヒントを作成するには:

1. 管理ツールで、次のいずれかのダイアログに移動します。

- 物理表—「一般」タブ

- 物理外部キー

- 複合結合

2. 「ヒント」フィールドにヒントのテキストを入力して、「OK」をクリックします。
使用できるOracleヒントとヒント構文の説明については、使用しているバージョンのOracle Databaseの『Oracle Database SQL言語リファレンス』を参照してください。

注意:
ヒントには、SQLコメント・マーカー(/*または--)を使用しますが、ヒントのテキストの入力時にSQLコメント・マーカーを入力しないでください。ヒントの実行時に、Oracle BIサーバーによってコメント・マーカーが挿入されます。

物理表と列の行数の表示と更新

行数をリクエストすると、管理ツールでは、すべてのまたは選択した表と列について、データ・ソースから行数が取得され(列の場合は個別の値が取得されます)、これらの値がリポジトリに格納されます。このプロセスにかかる時間は、取得する行数の数によって異なります。

すべての行数の更新時には、行数が取得および格納されている間に「行数の更新中」ウィンドウが表示されます。「取消」をクリックすると、インプロセス表(およびその列)の取得後に取得プロセスが停止します。行数には、取消し操作の前に値が取得されたすべての表と列が含まれます。

大きなリポジトリのすべての行数を更新する場合、完了に長時間かかることがあります。このように、選択した表と列の数のみ更新するとよい場合があります。

次の場合、行数は使用できません。

- ストアド・プロシージャ・オブジェクト・タイプ。

- XMLデータ・ソースおよびXMLサーバー・データ・ソース。

- マルチディメンション・データ・ソース。

- COUNTDISTINCTファンクションをサポートしていないデータ・ソース。たとえば、Microsoft AccessやMicrosoft Excel、およびCOUNT_STAR_SUPPORTEDがデータベース機能表で無効になっているデータ・ソース。

- オンライン・モードでは、「行数の更新」は、セッション変数:USERおよび:PASSWORDがユーザーの名前とパスワードとして設定されている接続プールでは機能しません。
オフライン・モードでは、変数の値の設定ダイアログが表示されるため、セッション変数:USERおよび:PASSWORDを移入できます。

- オンライン・モードでは、物理表または物理列をインポートまたは手動作成した場合、これらの新しいオブジェクトは、チェックインするまでOracle BIサーバーでは認識されません。このため、「行数の更新」は、これらのオブジェクトをチェックインするまでメニューで選択できません。

物理レイヤーで行数を表示するには:

1. 管理ツールで、「ツール」を選択し、「オプション」を選択します。

2. 「オプション」ダイアログの「一般」タブで、「物理ビューで行数の表示」を選択し、「OK」をクリックします。

物理レイヤーで選択した行数を更新示するには:

1. 管理ツールの物理レイヤーで、1つの表または列を右クリックします。複数のオブジェクトを選択して右クリックすることもできます。

2. ショートカット・メニューで、「行数の更新」を選択します。

物理レイヤーですべての行数を更新するには:

1. 管理ツールで、「ツール」を選択してから、「すべての行数の更新」を選択します。リポジトリがオンライン・モードで開いている場合は、「オブジェクトのチェックアウト」ウィンドウが開きます。

2. 「はい」をクリックして、オブジェクトをチェックアウトします。
前回の更新以降に変更されている行数がリフレッシュされます。

9 論理表、論理結合および論理列での作業

この章では、論理表、結合、列など、Oracle BIリポジトリの「ビジネス・モデルとマッピング」レイヤー内のオブジェクトでの作業方法について説明します。表示フォルダ、ブリッジ表、ビジネス・モデル図などの「ビジネス・モデルとマッピング」レイヤーの概念、および列でライトバックを有効にする方法についても説明します。

この章には、次の項が含まれています。

- 「ビジネス・モデルとマッピング」レイヤーでの作業について

- ビジネス・モデルとマッピング・レイヤーの作成

- ビジネス・モデル図での作業

- 論理表の作成と管理

- 論理結合の定義

- 論理列の作成と管理

- 列でのライトバックの有効化

- ビジネス・モデルとマッピング・レイヤーでの表示フォルダの設定

- ブリッジ表のモデリング

- BLOB(Modeling Binary Large Object)データおよびCLOB(Character Large Object)データ

「ビジネス・モデルとマッピング」レイヤーでの作業について

Oracle BIリポジトリのビジネス・モデルとマッピング・レイヤーによって、データのビジネス・モデルつまり論理モデルが定義され、ビジネス・モデルと物理レイヤー・スキーマ間のマッピングが指定されます。ビジネス・モデルには、物理レイヤーのオブジェクトとは異なり、常にディメンションがあり、データ・ソースの編成が反映されます。ビジネス・モデルとマッピング・レイヤーには、1つ以上のビジネス・モデルを含めることができます。それぞれのビジネス・モデルには、論理表、論理列および論理結合が含まれます。

キーの概念など、論理表と物理表のオブジェクトでは似通った用語が使用されますが、ビジネス・モデルとマッピング・レイヤーの論理表および論理結合には、リレーショナル・モデルのものとは異なる独自のルール・セットがあります。たとえば、論理ファクト表にはキーが必要ではなく、論理結合が、可能な多くの物理結合を表す場合があります。

ビジネス・モデルとマッピング・レイヤーの論理表、結合、マッピングおよびその他のオブジェクトは通常、物理レイヤーから特定のビジネス・モデルにオブジェクトをドラッグ・アンド・ドロップしたときに自動的に作成されます。これらのオブジェクトが作成されたら、追加の論理結合の作成、列での計算や変換の実行、ディメンション表およびファクト表に対するキーの追加や削除などのタスクを実行できます。

ビジネス・モデルとマッピング・レイヤーの作成

物理レイヤーの要素をすべて作成したら、物理レイヤーからビジネス・モデルとマッピング・レイヤーに表または列をドラッグして、メタデータに論理オブジェクトを作成できます。

この項には次のトピックが含まれます:

- ビジネス・モデルの作成

- ビジネス・モデル・オブジェクトの自動作成

- ビジネス・モデルとサブジェクト・エリアの複製

ビジネス・モデルの作成

管理ツールのビジネス・モデルとマッピング・レイヤーには、1つ以上のビジネス・モデルを含めることができます。各ビジネス・モデルには、ビジネス・モデル定義とビジネス・モデルの論理表から物理表へのマッピングを含めることができます。

リポジトリでの作業をオフライン・モードで行う場合、ときどきリポジトリを保存することを忘れないでください。ビジネス・モデル間で一貫性がない場合でも、オフライン・モードでリポジトリを保存できます。

ビジネス・モデルを作成するには:

1. 管理ツールで、任意の既存オブジェクトの下のビジネス・モデルとマッピング・レイヤーで右クリックします。

2. ショートカット・メニューから新規ビジネス・モデルオプションを選択します。

3. ビジネス・モデルの名前を指定します。

4. 新規ビジネス・モデルは、デフォルトで無効になっています。対応するプレゼンテーション・レイヤーを問合せに使用できるようにするには、「無効」を選択解除します。

注意:
このオプションを選択解除するには、ビジネス・モデルの一貫性を確保しておく必要があります。

5. オプションで、ビジネス・モデルの説明を入力します。

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

ビジネス・モデルを作成したら、物理レイヤーからオブジェクトをドラッグ・アンド・ドロップすることによってビジネス・モデル・オブジェクトを作成できます。詳細は、次の項を参照してください。

ビジネス・モデル・オブジェクトの自動作成

ビジネス・モデルとマッピング・レイヤーのオブジェクトを物理レイヤーのソースに自動的にマップするには、物理レイヤーのオブジェクトを論理レイヤーの特定のビジネス・モデルにドラッグ・アンド・ドロップします。物理表をビジネス・モデルとマッピング・レイヤーにドラッグすると、対応する論理表が作成されます。表内の物理列ごとに、対応する論理列が作成されます。一度に複数の表をドラッグすると、物理結合ごとに論理結合が作成されますが、これは、初めて表を新規ビジネス・モデルにドラッグしたときのみです。

マルチディメンション・データ・ソースに対するビジネス・モデル・オブジェクトの自動作成

マルチディメンション・データ・ソースに対するビジネス・モデルとマッピング・レイヤーでのオブジェクトの設定は、リレーショナル・データ・ソースに対する論理レイヤー・オブジェクトの設定と似ています。ビジネス・モデル・レイヤーを作成するには、物理レイヤー・キューブを論理レイヤーにドラッグ・アンド・ドロップします。Oracle Business Intelligenceによって、メトリック、属性およびディメンションが保持され、完全に構成された一貫性のあるビジネス・モデルが自動的に作成されます。

注意:
Essbaseデータ・ソースの場合は、Essbaseキューブごとに個別のビジネス・モデルを作成することをお薦めします。これを実行するには、各キューブを1つずつビジネス・モデルとマッピング・レイヤーにドラッグします。

ビジネス・モデルとサブジェクト・エリアの複製

この機能を使用すると、ビジネス・モデルとそれに対応するサブジェクト・エリア(またはサブジェクト・エリアとそれに対応するビジネス・モデル)の選択、コピーの作成および作成したコピーへの新しい名前の割当てを実行できます。別名はコピーされないことに注意してください。

ビジネス・モデルとサブジェクト・エリアをコピーするには:

1. 次のいずれかの手順を実行します。

- 管理ツールのビジネス・モデルとマッピング・レイヤーで、ビジネス・モデルを右クリックして、「サブジェクト・エリアで複製」を選択します。

- 管理ツールのプレゼンテーション・レイヤーで、サブジェクト・エリアを右クリックして、「ビジネス・モデルで複製」を選択します。

2. 「ビジネス・モデルとサブジェクト・エリアのコピー」ダイアログで、コピー対象のビジネス・モデルと対応するサブジェクト・エリアを選択します。

3. 該当する名前フィールドでビジネス・モデルとサブジェクト・エリアに新しい名前を指定し、「OK」をクリックします。
コピーしたビジネス・モデルがビジネス・モデルとマッピング・レイヤーに表示され、コピーしたサブジェクト・エリアがプレゼンテーション・レイヤーに表示されます。

ビジネス・モデル図での作業

管理ツールの中央ペインでのビジネス・モデルとマッピング・レイヤーを使用した作業のほかに、ビジネス・モデル図を開いて、論理表と論理結合のグラフィカル・モデルを表示することもできます。

ビジネス・モデル図にアクセスするには、「ビジネス・モデルとマッピング」レイヤー(ディメンションやファクト表など)のオブジェクトを右クリックし、「ビジネス・モデル図」を選択します。その後、次のオプションのいずれかを選択します。

- 図全体。ビジネス・モデル内のすべての論理表と結合を表示します。

- 選択された表のみ。選択した論理表のみを表示します。論理結合は、選択したオブジェクト間に論理結合が存在する場合のみ表示されます。このオプションは、1つ以上の論理表を選択した場合にのみ指定できます。

- 選択された表と直接結合。選択した論理表と、それらの表に結合している論理表を表示します。このオプションは、1つ以上の論理表を選択した場合にのみ指定できます。

- 選択されたファクト表とディメンション。選択した論理表とそれらに関連付けられている論理ディメンションを表示します。このオプションは、選択対象に1つ以上のファクト表が含まれる場合にのみ指定できます。

ビジネス・モデル図には、論理表と結合のみが表示されることに注意してください。ビジネス・モデル、ディメンション、階層など、ビジネス・モデルとマッピング・レイヤーのその他のオブジェクトは表示されません。結合は、結合の「1」側に矢印が付いた直線で表されます。

図9-1 ビジネス・モデル図

ビジネス・モデル図に表を追加するには、「ビジネス・モデル図」ウィンドウを開いたままにし、追加する表を1つ以上右クリックします。その後、「ビジネス・モデル図」を選択し、表示オプションのいずれかを選択します。

ビジネス・モデル図に表示されているグラフィカル表および結合の右クリック・メニューから追加オプションを選択できます。たとえば、オブジェクトの削除やオブジェクトのプロパティの表示、または右クリック・オプションの「直接結合の追加」、「選択内容全体に結合された表の追加」および「すべての結合の追加」を使用して、関連するオブジェクトの追加を実行できます。また、「ツリー表示での検索」を選択して、中央ペインのビジネス・モデルとマッピング・レイヤー・ビュー内で特定のオブジェクトを検索したり、オンライン・モードのオブジェクトをチェックアウトしたりできます。

ビジネス・モデル図ビュー内のオブジェクトを右クリックして、「非表示」を選択し、図で特定のオブジェクトを非表示にすることもできます。ただし、この効果は一時的で、永続するものではありません。

「ファイル」メニューの「印刷」および「印刷プレビュー」オプションを使用して、ビジネス・モデル図の印刷オプションを管理します。ツールバーの「印刷」オプションを使用することもできます。

次の項も参照してください。

- 物理図およびビジネス・モデル図の使用(ズーム、パンおよび表のレイアウトの制御の詳細)

- ビジネス・モデル図を使用した論理結合の定義(論理結合の定義の詳細)

論理表の作成と管理

論理表は、ビジネス・モデルとマッピング・レイヤーに存在します。各ビジネス・モデルで定義される論理スキーマには、少なくとも2つの論理表を含める必要があり、それらの論理表間の関係を定義する必要があります。

各論理表には、1つ以上の論理列と、論理表に関連付けられている1つ以上の論理表ソースが含まれます。論理表名の変更、論理表ソースの並替え、および論理キーである主キーと外部キーの構成を実行できます。

この項には次のトピックが含まれます:

- 論理表の作成

- 論理表の主キーの指定

- 論理表の外部キーの確認

論理表の作成

通常、物理レイヤーから物理表をビジネス・モデルとマッピング・レイヤー内のビジネス・モデルにドラッグ・アンド・ドロップすることによって論理表を作成します。物理スキーマに表が存在しない場合は、論理表を手動で作成する必要があります。

ドラッグ・アンド・ドロップ操作では通常、ビジネス・モデルとマッピング・レイヤーで最も速くオブジェクトを作成できます。物理レイヤーから物理テーブルをビジネス・モデルとマッピング・レイヤーにドラッグ・アンド・ドロップすると、表に属している列がコピーされます。ビジネス・モデルとマッピング・レイヤーにオブジェクトをドラッグ・アンド・ドロップした後は、物理レイヤーのオブジェクトに影響を及ぼさずに、必要な方法でオブジェクトを変更できます。

物理表を(キーと外部キーの関係が定義された状態で)ビジネス・モデルにドラッグすると、物理レイヤーのキーと結合をミラー化した論理キーと結合が作成されます。これは、ドラッグした表に外部キーが定義された表が含まれる場合にのみ実行されます。また、表を新規作成した場合や、物理レイヤーからビジネス・モデルとマッピング・レイヤーに追加の表を続けてドラッグした場合は、新規作成したまたは新規にドラッグした表と前にドラッグした表との論理マッピングを手動で作成する必要があります。

結合の詳細は、「結合マネージャを使用した論理結合の定義」および「ビジネス・モデル図を使用した論理結合の定義」を参照してください。

ドラッグ・アンド・ドロップで論理表を作成するには:

1. 管理ツールで、物理レイヤーの表オブジェクトを1つ以上選択します。
物理レイヤーからのキーと結合を保持する場合は、外部キーが定義された表を含める必要があります。

2. 表オブジェクトをビジネス・モデルとマッピング・レイヤーのビジネス・モデルにドラッグ・アンド・ドロップします。
物理レイヤーからの表オブジェクトをドロップすると、表オブジェクトが、物理ソース・マッピングを含めて、ビジネス・モデルとマッピング・レイヤーに自動的に作成されます。

論理表を手動で作成するには:

1. 管理ツールのビジネス・モデルとマッピング・レイヤーで、表を作成するビジネス・モデルを右クリックして、「新規オブジェクト」→「論理表」を選択します。
「論理表」ダイアログが表示されます。

2. 「一般」タブで、論理表の名前を入力します。

3. これが参照表である場合は、オプションの「参照表」を選択します。参照表には、ベース表の行に対応する多言語データが格納されます。ローカライゼーションと参照表の詳細は、『Oracle Fusion Middleware Oracle Business Intelligence Enterprise Editionのためのシステム管理者ガイド』のOracle Business Intelligenceのローカライゼーションに関する項を参照してください。

4. オプションで、表の説明を入力します。

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

論理表を手動で作成した後は、すべてのキーと結合を手動で作成する必要があります。

論理表ソースの作成と管理

新規論理表ソースの追加、既存の表ソースの編集または削除、表ソースへのマッピングの作成または変更、および論理表ソースの使用時と内容の集計方法の定義を実行できます。これらのタスクの実行手順については、第11章「論理表ソース(マッピング)の管理」を参照してください。

論理表の主キーの指定

ビジネス・モデルとマッピング・レイヤーで表を作成したら、ディメンション表ごとに主キーを指定します。論理ディメンション表には、論理主キーを指定する必要があります。論理キーは、1つ以上の論理列で構成できます。

注意:
論理ファクト表には論理キーを指定しないことをお薦めします。

論理表の主キーを指定するには:

1. 管理ツールのビジネス・モデルとマッピング・レイヤーで、表をダブルクリックします。

2. 「論理表」ダイアログで、「キー」タブを選択して、「新規」をクリックします。

3. 「論理キー」ダイアログで、キーの名前を入力して、論理表のキーを定義する列を選択します。

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

論理表の外部キーの確認

論理表で外部キー結合を使用しないことをお薦めします。これらの結合を作成する必要がある場合は、まず、「オプション」ダイアログでオプションの「論理外部キー結合作成の許可」を有効にする必要があります。詳細は、「結合マネージャを使用した論理外部キー結合の作成」を参照してください。

「論理表」ダイアログの「外部キー」タブは、以前のリリースのOracle Business Intelligenceで使用していた可能性のある論理外部キーを確認するためのものです。

論理結合の定義

論理表間の関係は、論理結合によって表されます。論理結合は、物理的な結合ではなく概念上の結合です。つまり、特定のキーまたは列を結合しません。1つの論理結合が可能な多くの物理結合に対応する場合があります。

論理結合の重要なプロパティの1つがカーディナリティです。カーディナリティは、ある表内の行が結合先の表の行とどのように関連するかを表します。1対多のカーディナリティは、最初の論理ディメンション表の各行に対応する行が、2つ目の論理表には0個、1個または多数あることを意味します。管理ツールでは、ある表が、その他の論理表に対応しているすべての論理結合において多の側である場合、その表は論理ファクト表と見なされます。

Oracle BIサーバーで必要なメタデータによってビジネス・モデルに対する論理リクエストが物理データ・ソースに対するSQL問合せに変換されるように、論理表結合を指定する必要があります。論理結合情報によって、Oracle BIサーバーに、論理表間の多対1関係の情報が提供されます。この論理結合情報は、Oracle BIサーバーで基礎となるデータベースに対する問合せが生成されるときに使用されます。

次の両方が当てはまる場合、ビジネス・モデルとマッピング・レイヤーで論理結合を作成する必要はありません。

- 必要な物理表すべてをビジネス・モデルとマッピング・レイヤーに同時にドラッグ・アンド・ドロップすることによって論理表を作成する場合

- 論理結合が物理レイヤーの結合と同じである場合

ただし、多くの場合、ビジネス・モデルとマッピング・レイヤーでいくつかの論理結合を作成する必要があると思われます。これは、非常に単純なモデルの場合を除いて、すべての物理表を同時にドラッグ・アンド・ドロップすることはまれなためです。

結合マネージャまたはビジネス・モデル図を使用して、論理結合を作成できます。物理レイヤーで複合結合を作成する場合は、式、および結合を作成する特定の列を指定できます。ビジネス・モデルとマッピング・レイヤーで論理結合を作成する場合は、式も結合を作成する列も指定できません。物理レイヤーに結合が存在するからといって、ビジネス・モデルとマッピング・レイヤーに一致する結合が必要なわけではありません。

注意:
論理表には外部キーを指定しないことをお薦めします。ただし、「オプション」ダイアログで「論理外部キー結合作成の許可」を選択した場合は、下位互換性のために、結合マネージャを使用して、論理外部キー結合を作成できます。
ファクト表の論理キーは、属性表に結合されるキー列で構成する必要があります。Oracle BIサーバーが、特定のサード・パーティの問合せとレポート作成ツール用のODBCデータ・ソースとして使用される場合は、論理外部キー結合が必要なことがあります。

この項には次のトピックが含まれます:

- ビジネス・モデル図を使用した論理結合の定義

- 結合マネージャを使用した論理結合の定義

- 駆動表の指定

- 結合トリミングを決定する要因

- 論理オブジェクトにマップする物理表の特定

ビジネス・モデル図を使用した論理結合の定義

ビジネス・モデル図には、論理表とそれらの表の間に定義されている結合が表示されます。ビジネス・モデル図を使用して、表の間に論理結合を定義できます。

ビジネス・モデル図を使用して論理結合を定義するには:

1. 管理ツールで、ビジネス・モデルを右クリックして、「ビジネス・モデル図」を選択し、「図全体」を選択します。

2. 管理ツールのツール・バーの「新規結合」ボタンをクリックします。

3. ビジネス・モデル図で、結合の1つ目の表(1対多結合の多を表す表)を左クリックして選択します。

4. 結合対象の表(1対多結合の1を表す表)にカーソルを移動し、2つ目の表を左クリックして選択します。
「論理結合」ダイアログが表示されます。

5. (オプション)キーに駆動表を指定するには、「駆動表」リストから表を選択し、適切なカーディナリティを指定します。
このオプションは、一方の表が非常に小さく、他方の表が非常に大きな場合に、Oracle BIサーバーでマルチデータベースの内部結合を処理する方法の最適化に有用です。マルチデータベース結合を実行しないかぎり、駆動表は選択しないでください。駆動表の詳細は、「駆動表の指定」を参照してください。

注意:
駆動表を指定するかどうかの決断には、十分な注意を払ってください。駆動表は、まれな状況で、駆動表が非常に小さい(1,000行未満)場合にのみ問合せの最適化に使用します。駆動表を間違って選択すると、重大なパフォーマンス低下をまねくおそれがあります。

6. 「タイプ」リストから結合タイプを選択するか、デフォルト値をそのまま使用します。

7. 結合の両側に「カーディナリティ」を設定するか、デフォルト値をそのまま使用します。

8. 「OK」をクリックして、作業を保存します。
ビジネス・モデル図で、結合は、選択した2つの表の間の線で表され、結合の「1」側が矢印になっています。図9-2は、ビジネス・モデル図での結合を示しています。

図9-2 ビジネス・モデル図内の結合

結合マネージャを使用した論理結合の定義

結合マネージャを使用して、論理結合の関係の表示と論理結合の作成を実行できます。また、お薦めできませんが、「オプション」ダイアログで「論理外部キー結合作成の許可」を選択した場合は、結合マネージャを使用して、論理外部キー結合を作成できます。

この項には次のトピックが含まれます:

- 結合マネージャを使用した論理結合の作成

- 結合マネージャを使用した論理外部キー結合の作成

結合マネージャを使用した論理結合の作成

ビジネス・モデルとマッピング・レイヤーでは、論理外部キー結合よりも論理結合をお薦めします。

結合マネージャを使用して論理結合を作成するには:

1. 管理ツールで、「管理」を選択して、「結合」を選択します。
「結合マネージャ」ダイアログが表示されます。

2. 「アクション」→「新規」→「論理結合」を選択します。
「論理結合」ダイアログが表示されます。

3. 論理結合の名前を入力します。

4. ダイアログの右側と左側にある「表」リストで、論理結合で参照する表を選択します。

5. (オプション)キーに駆動表を指定するには、駆動リストから表を選択し、適切なカーディナリティを指定します。
このオプションは、一方の表が非常に小さく、他方の表が非常に大きな場合に、Oracle BIサーバーでマルチデータベースの内部結合を処理する方法の最適化に有用です。マルチデータベース結合を実行しないかぎり、駆動表は選択しないでください。駆動表の詳細は、「駆動表の指定」を参照してください。

注意:
駆動表を指定するかどうかの決断には、十分な注意を払ってください。駆動表は、まれな状況で、駆動表が非常に小さい(1,000行未満)場合にのみ問合せの最適化に使用します。駆動表を間違って選択すると、重大なパフォーマンス低下をまねくおそれがあります。

6. 「タイプ」リストから結合タイプを選択するか、デフォルト値をそのまま使用します。

7. 結合の両側に「カーディナリティ」を設定するか、デフォルト値をそのまま使用します。

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

結合マネージャを使用した論理外部キー結合の作成

特定のサード・パーティの問合せおよびレポート作成ツールのODBCデータ・ソースとしてOracle BIサーバーを使用する予定の場合に、論理外部キー結合が必要なことがあります。通常は、論理外部キーは作成してはいけません。この機能は、管理ツールで前のリリースとの互換性を確保するために提供されています。

結合マネージャを使用して論理外部キー結合を作成するには:

1. 管理ツールで、「ツール」を選択し、「オプション」を選択します。

2. 「オプション」ダイアログの「一般」タブで、「論理外部キー結合の許可」を選択します。

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

4. 「管理」を選択し、「結合」を選択して結合マネージャを表示します。

5. 「アクション」→「新規」→「論理外部キー」を選択します。

6. 「参照」ダイアログで、表をダブルクリックして、「論理外部キー」ダイアログを表示します。

7. 外部キーの名前を入力します。

8. ダイアログの左側にある「表」リストで、外部キーで参照する表を選択します。

9. 左の表から、外部キーで参照する列を選択します。

10. 右の表から、外部キー列を構成する列を選択します。

11. (オプション)キーに駆動表を指定するには、駆動リストから表を選択し、適切なカーディナリティを指定します。
このオプションは、一方の表が非常に小さく、他方の表が非常に大きな場合に、Oracle BIサーバーでマルチデータベースの内部結合を処理する方法の最適化に有用です。マルチデータベース結合を実行しないかぎり、駆動表は選択しないでください。駆動表の詳細は、「駆動表の指定」を参照してください。

注意:
駆動表を指定するかどうかの決断には、十分な注意を払ってください。駆動表は、まれな状況で、駆動表が非常に小さい(1,000行未満)場合にのみ問合せの最適化に使用します。駆動表を間違って選択すると、重大なパフォーマンス低下をまねくおそれがあります。

12. 「タイプ」リストから結合タイプを選択するか、デフォルト値をそのまま使用します。

13. 結合の両側に「カーディナリティ」を設定するか、デフォルト値をそのまま使用します。

14. 結合の式を入力するか、「式ビルダー」ボタンをクリックして、式ビルダーで式を定義します。

15. 「OK」をクリックして、作業を保存します。

駆動表の指定

「論理結合」ウィンドウから論理結合に駆動表を指定できます。駆動表は、一方の表が非常に小さく、他方の表が非常に大きな場合に、Oracle BIサーバーでクロスデータベース結合を処理する方法の最適化に有用です。駆動表の指定は、駆動表から選択された行数が結合先の表の行数よりはるかに少ない場合にのみ、問合せの最適化に使用できます。

注意:
問題が発生しないように、駆動表は、非常に小さい、つまり1,000行未満の場合にのみ指定します。

駆動表を指定した場合、Oracle BIサーバーでは、問合せ計画で駆動表の使用によって問合せ処理が最適化されると判断された場合に駆動表が使用されます。小さな表(駆動表)がスキャンされ、パラメータ化された問合せが大きな表に発行されて一致する行が選択されます。その後で、その他の表が、その他の駆動表を含めて、一緒に結合されます。

注意:
駆動表から行が多数選択された場合、駆動表の指定によって重大なパフォーマンス低下をまねくおそれがあり、MAX_QUERIES_PER_DRIVE_JOINの制限値を超えた場合は、問合せが終了します。

通常、駆動表は、内部結合に使用でき、駆動表が左外部結合の左の表である場合、または右外部結合の右の表である場合は、外部結合に使用できます。駆動表は、完全外部結合には使用されません。駆動表を指定する手順については、「論理結合の定義」を参照してください。

駆動表のパフォーマンスを制御およびチューニングする機能として、データベース機能表に2つのエントリがあります。

- MAX_PARAMETERS_PER_DRIVE_JOIN
これは、パフォーマンス・チューニング・パラメータです。通常、値が大きいほど、生成の必要があるパラメータ化問合せの数が少なくなります。値が大きすぎると、バックエンド・データベース制限によりパラメータ化問合せが失敗します。値を0 (ゼロ)に設定すると、駆動表結合がオフになります。

- MAX_QUERIES_PER_DRIVE_JOIN
これは、リソース集中型の駆動表結合を防ぐために使用します。パラメータ化問合せの数がこの値を超えると、問合せが終了し、エラー・メッセージがユーザーに返されます。

結合トリミングを決定する要因

物理問合せからトリミング可能な結合を決定する際に、Oracle BIサーバーでは、この項で説明する要因が考慮されます。次の結合トリミングのルールが、論理表ソース内の表に対して施行されます。

- 結合の外部性(内部、左外部、右外部、または完全外部)。

- 結合カーディナリティ({0..1、1、N、不明}対{0..1、1、N、不明}。たとえば、0..1対Nはゼロまたは1対複数の結合を表します)。結合の少なくとも片側には、不明カーディナリティを除き、9つの結合カーディナリティの組合せがあります。

- 論理表ソースにWHERE句のフィルタが含まれているかどうか。

- 物理結合が複合結合または外部キー結合であるかどうか。

Oracle BIサーバーで結合をトリミングする場合、次の基準が満たされている必要があります。

- トリミングされた表は、列の予測されるリストやWHERE句の中など、問合せ内のどの場所でも参照の対象にできません。

- トリミングされた表によって結果セットのカーディナリティが変更されることがあってはいけません。結合を削除することによって選択した行数が変更される可能性がある場合、Oracle BIサーバーでは結合をトリミングしません。
次の条件のいずれかがtrueである場合、結合には、結果セットの行数を変更する可能性があるものと見なされます。次の条件のいずれでもtrueである場合、結合は問合せからトリミングされません。

- この結合は完全外部結合です(内部結合、左外部結合、および右外部結合のみがトリミングの候補です)。

- いずれかの側で結合カーディナリティが不明です。

- トリミングされる表が結合の複数の側にあります(つまり、マスター/詳細の関係にある詳細表をトリミングすることはできません)。

- トリミングされる表のカーディナリティが0..1であり、結合が内部結合です。カーディナリティ0..1は、表内に一致する行が存在する場合と、存在しない場合があることを意味します。そのため、一方の側に0..1のカーディナリティが設定されている結合は、実質的にフィルタのように機能します。したがって、その結合をトリミングする場合は、選択した行数を変更する必要があります。

- トリミングされる表が、左外部結合の左側、または右外部結合の右側にあります(つまり、行を維持する表ではトリミングは行われません)。このルールでは、DISTINCT句が問合せに追加される属性のみを選択する問合せに対して、例外が1つあります。DISTINCT句であるため、行を維持する表をトリミングしてもNull指定の表から返される行数に影響はありません。そのため、属性に対する個別の問合せの特殊なケースでは、外部結合の行を維持する表をトリミングすることができます。

表9-1に、Oracle BIサーバーで問合せから結合をトリミングできる例を示します。

表9-1 結合トリミングの例

シナリオ

結果

従業員 内部結合 部門

部門は内部結合の「1」の側にあるため、トリミングできます。

従業員は内部結合の複数の側にあるため、トリミングできません。

従業員 左外部結合 部門

部門は結合の「1」の側にあり、左外部結合(つまり、Nullを指定する表)の右側にあるため、トリミングできます。

従業員は結合の複数の側にあり、左外部結合(つまり、行を維持する表)の左側にあるため、トリミングできません。

従業員 右外部結合 部門

部門は右外部結合(つまり、行を維持する表)の右側にあるため、トリミングできません。

従業員は結合の複数の側にあるため、トリミングできません。

従業員 内部結合 従業員情報

両方の表が内部結合の「1」の側にあるため、いずれの側でもトリミングできます。

従業員 左外部結合 従業員情報

従業員情報は結合の「1」の側にあり、左外部結合(つまり、Nullを指定する表)の右側にあるため、トリミングできます。

従業員は左外部結合(つまり、行を維持する表)の左側にあるため、トリミングできません。

従業員 右外部結合 従業員情報

従業員情報は右外部結合(つまり、行を維持する表)の右側にあるため、トリミングできません。

従業員は結合の「1」の側にあり、右外部結合(つまり、Nullを指定する表)の左側にあるため、トリミングできます。

従業員 内部結合 部門

部門は内部結合の0..1の側にあるため、トリミングできません。

従業員は内部結合の複数の側にあるため、トリミングできません。

従業員 左外部結合 部門

部門は外部結合の0..1の側にあり、左外部結合(つまり、Nullを指定する表)の右側にあるため、トリミングできます。

Oracle BI Serverでは、外部結合の0..1の側にあるNullを指定する表のトリミングが許可されますが、この場合は、問合せから部門をトリミングしても従業員表から選択した行数が変更されないためです。

従業員は外部結合の複数の側にあるため、トリミングできません。

従業員 完全外部結合 部門

結合が完全外部結合であるため、いずれの側もトリミングできません。

従業員 複数対複数 プロジェクト

結合が複数対複数であるため、いずれの側もトリミングできません。

従業員 不明 部門

結合のカーディナリティが不明であるため、いずれの側もトリミングできません。

論理オブジェクトにマップする物理表の特定

物理図には、選択した論理オブジェクトにマップする物理表と、各表間の物理結合が示されます。

結合オプションの1つである「ビジネス・モデル内のオブジェクトと直接結合」は、論理レイヤーに特有のオプションです。このオプションによって、次の両方の条件を満たす表の物理図が作成されます。

- 選択されたオブジェクト内の表、および直接結合する表

- ビジネス・モデル内でマップされている(ビジネス・モデルの論理表ソースに存在する)表

論理オブジェクトの物理図を開くには:

1. 管理ツールのビジネス・モデルとマッピング・レイヤーで、ビジネス・モデル、論理表または論理表ソースを右クリックします。

2. 「物理図」を選択して、いずれかの結合オプションを選択します。

3. 1対多などの関係線をより明確に表示するには、任意のオブジェクトをクリックしてドラッグします。

論理列の作成と管理

多くの論理列は、物理レイヤーからビジネス・モデルとマッピング・レイヤーに表をドラッグすることによって自動的に作成されます。その他の論理列は、特に他の論理列に基づいた計算が含まれる論理列は、後で作成することができます。

論理列は、属している論理表から展開されるツリー構造で表示されます。論理列が主キー列の場合または主キーに関与している場合、その論理列はキー・アイコンが付いて表示されます。論理列に集計ルールが設定されている場合は、ルール・アイコンが付いて表示されます。ビジネス・モデルとマッピング・レイヤーで論理列を並べ替えることもできます。

この項には次のトピックが含まれます:

- 論理列の作成

- 別の列に基づいた論理列のソート

- 記述子ID列の割当てによる二重列サポートの有効化

- 派生列の作成

- メジャー列の集計のデフォルト・レベルの設定

- ディメンション表の論理レベルとの属性の関連付け

- 論理列の移動またはコピー

論理列の作成

次の手順では、ビジネス・モデルとマッピング・レイヤーで論理列を作成する方法を説明しています。

論理列を作成するには:

1. ビジネス・モデルとマッピング・レイヤーで、論理表を右クリックします。

2. ショートカット・メニューから「新規オブジェクト」を選択して、「論理列」を選択します。

3. 「一般」タブで、論理列の名前を入力します。
ビジネス・モデルの名前および関連付けられている論理表が「表に所属」フィールドに表示されます。

4. 「書込み可能」を選択して、この列のライトバックを有効にします。詳細は、「列でのライトバックの有効化」を参照してください。

5. オプションで、列のソート順序の基礎にする別の列を割り当てることができます。詳細は、「別の列に基づいた論理列のソート」を参照してください。

6. オプションで、対象の列の記述子ID列を割り当てることができます。詳細は、「記述子ID列の割当てによる二重列サポートの有効化」を参照してください。

7. オプションで、「列ソース」タブで、対象の論理列が他の論理列から派生されることを指定できます。詳細は、「派生列の作成」を参照してください。

8. オプションで、「集計」タブで列集計を設定できます。詳細は、「メジャー列の集計のデフォルト・レベルの設定」を参照してください。

9. オプションで、「レベル」タブで、属性を論理レベルに関連付けることができます。メジャーは、複数のディメンションからのレベルと関連付けることができ、常に指定されたレベルに集計されます。詳細は、「ディメンション表の論理レベルとの属性の関連付け」を参照してください。

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

別の列に基づいた論理列のソート

論理列には、ソートの基礎とする別の列を指定できます。これによって、辞書式順序で値を並べることが適切でない場合に列のソート順序を変更できます。辞書式順序のソートでは、結果が辞書のようなアルファベット順に配置されます。このタイプのソートでは、数字が別のグループに分けられるのではなく、アルファベットのスペル順で並べられます。

たとえば、月をソートする場合(MONTH_NAMEなどの列を使用して)、辞書式順序では、2月、1月、3月などという順序で結果が返されます。ところが、月は時間的順序でソートする必要があります。このため、表には、値がそれぞれ1 (1月)、2 (2月)、3 (3月)である月のキー(MONTH_KEYなど)が必要です。必要なソートを実行するには、MONTH_NAME列の「ソート順列」フィールドをMONTH_KEYに設定します。そうすれば、MONTH_NAMEによる並替えのリクエストから、1月、2月、3月の順序で値が返されます。

物理レイヤーからキューブをドラッグ・アンド・ドロップすることによってビジネス・モデルが作成される場合、Essbaseデータ・ソースに対してソート列が自動的に定義されます。

列のソート順序の基礎とする別の列を割り当てるには:

1. 「論理列」ダイアログの「一般」タブで、「ソート順列」フィールドの横の「設定」をクリックします。

2. 「参照」ダイアログで、列を選択します。

3. 列の詳細を表示するには、「表示」をクリックして、対象の列の「論理列」ダイアログを開き、「取消」をクリックします。
このダイアログで変更を加えることができます。変更を加えた場合は、「取消」ではなく、「OK」をクリックして、変更を確定します。

4. 「参照」ダイアログで、「OK」をクリックします。

記述子ID列の割当てによる二重列サポートの有効化

多言語列がルックアップ関数をベースとしている場合、翻訳されていないルックアップ・キー列を、翻訳された列の記述子ID列として指定することが一般的です。記述子ID列を割り当てることで、二重列のサポートが有効になります。この機能は言語依存フィルタの定義に役立ちます。たとえば、「アンサー」では、ユーザーに表示列が表示されますが、問合せでは非表示の記述子ID列にフィルタが適用されます。

詳細は、『Oracle Fusion Middleware Oracle Business Intelligence Enterprise Editionシステム管理者ガイド』の多言語データのサポートに関する項を参照してください。

二重列は、空間列のモデリングなど、他の目的にも使用されます。

表示列に記述子ID列を割り当てるには:

1. 「論理列」ダイアログの「一般」タブで、「記述子ID列」フィールドの横の「設定」をクリックします。

2. 「参照」ダイアログで、キー列を選択します。

3. 列の詳細を表示するには、「表示」をクリックして、対象の列の「論理列」ダイアログを開き、「取消」をクリックします。
このダイアログで変更を加えることができます。変更を加えた場合は、「取消」ではなく、「OK」をクリックして、変更を確定します。

4. 「参照」ダイアログで、「OK」をクリックします。

派生列の作成

集計後の計算をメジャーに適用する手段として他の論理列から列を派生する場合があります。これを実行するには、「論理列」ダイアログの「列ソース」タブで派生列式を指定します。

「計算ウィザード」を使用して一連の派生列を作成することもできます。詳細は、「「計算ウィザード」の使用」を参照してください。

NQSConfig.INIで、パラメータPREVENT_DIVIDE_BY_ZEROがYESに設定されている場合、Oracle BIサーバーでは、「アンサー」列計算の場合でも、ゼロ除算の状況でエラーが防止されます。Oracle BIサーバーでは、物理SQLの記述時にnullif()または同様の関数を使用してゼロ除算阻止式が作成されます。このため、PREVENT_DIVIDE_BY_ZEROがYES(デフォルト値)に設定されているかぎり、ゼロ除算のエラーを防止するためにCASE文を使用する必要はありません。NQSConfig.INI設定の詳細は、『Oracle Fusion Middleware Oracle Business Intelligence Enterprise Editionシステム管理者ガイド』を参照してください。

計算に事前集計を適用することもできます。詳細は、「物理から論理表ソースへのマッピングの定義と計算項目の作成」を参照してください。

派生列を指定するには:

1. 「論理列」ダイアログで、「列ソース」タブを選択します。

2. 「式を使用して既存の列から派生」オプションを選択します。

3. 「式ビルダー」ボタンをクリックして、式ビルダーを開きます。

4. 式ビルダーの「派生論理列」ダイアログで、論理列の派生元の式を指定します。

注意:
パフォーマンスを最適化するために、式ビルダーでは集計を定義しないでください。かわりに、「論理列」ダイアログの「集計」タブを使用します。詳細は、「メジャー列の集計のデフォルト・レベルの設定」を参照してください。

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

式ビルダーを使用して、参照関数を作成することにより、多言語データベース・スキーマからデータを表示することができます。詳細は、『Oracle Fusion Middleware Oracle Business Intelligence Enterprise Editionシステム管理者ガイド』の多言語データのサポートに関する項を参照してください。

複数通貨サポートのための論理列の構成

Oracle Business Intelligenceユーザーが分析やダッシュボードで通貨列を表示する通貨を選択できるように、論理列を構成できます。すべてのユーザーで通貨オプションの同一の静的リストが表示されるようにこの機能を設定することも、指定する論理SQL文に基づいて変化する通貨オプションの動的リストを提供することもできます。

複数通貨サポートのために論理列を構成するには:

1. PREFERRED_CURRENCYという名前のセッション変数を、この変数で使用する初期化ブロックとともに作成します。このセッション変数を作成するときは、「ユーザーによる値の設定を可能にする」を選択する必要があります。Oracle BIプレゼンテーション・サービスの式でセッション変数を使用する場合は、それらの名前の先頭にNQ_SESSIONを付ける必要があることに注意してください。
セッション変数および初期化ブロックの設定の詳細は、「セッション変数の作成」および「初期化ブロックの作成」を参照してください。

2. 通貨値を表示する論理列を編集して、PREFERRED_CURRENCYセッション変数を使用して適切な変換ファクタが使用されるようにします。これを実行するには、ビジネス・モデルとマッピング・レイヤーで該当する論理列をダブルクリックして、「列ソース」タブを選択し、PREFERRED_CURRENCY変数を使用する派生式を作成します。
たとえば、次の論理列式では、NQ_SESSION.PREFERRED_CURRENCY変数を使用して、複数の通貨列が切り替わります。各通貨列には変換された適切な値が含まれるよう設定されています。

INDEXCOL( CASE VALUEOF(NQ_SESSION.PREFERRED_CURRENCY) WHEN 'gc1' THEN 0
WHEN 'gc2' THEN 1 WHEN 'orgc' THEN 2 WHEN 'lc1' THEN 3 ELSE 4 END,
"Paint"."Sales Facts"."USDCurrency",
"Paint"."Sales Facts"."DEMCurrency" ,
"Paint"."Sales Facts"."EuroCurrency" ,
"Paint"."Sales Facts"."JapCurrency" ,
"Paint"."Sales Facts"."USDCurrency" )

3. 通貨オプションの動的リストを提供する場合は、ユーザー設定の通貨に対して表示するエントリを指定する表をデータ・ソースに作成します。この表には、次の列が必要です。

- 最初の列には、セッション変数PREFERRED_CURRENCYの設定に使用する変数が含まれます。この列の各値は、通貨を一意に識別する文字列(たとえば、gc2)です。

- 2つ目の列には、ファイルcurrencies.xmlからの通貨タグが含まれます。各タグのdisplayMessageの値は、「通貨」ボックスと通貨プロンプト(たとえば、int:euro-1)の移入に使用されます。currencies.xmlファイルは、ORACLE_HOME\bifoundation\web\displayにあります。

- オプションで、プレゼンテーション変数currency.userPreferenceを設定するために使用する値を含む3番目の列を指定できます。この列の各値は、通貨を識別する文字列(たとえば、Global Currency 2)です。この列を省略した場合、currencies.xmlファイルの対応する通貨タグのdisplayMessage属性の値が使用されます。

表9-2は、ユーザー設定の通貨エントリが含まれる表のサンプルを示しています。

表9-2 ユーザー設定の通貨を動的に表示する表のサンプル

UserPreference

CurrencyTag

UserPreferenceName

char

char

char

orgc1

loc:en-BZ

Org currency

gc2

int:euro-1

Global currency 2

lc1

int:DEM

Ledger currency

gc1

int:USD

Global Currency 1

Oracle BIプレゼンテーション・サービスでこの機能を有効にするには、追加の構成が必要です。Oracle BIプレゼンテーション・サービスの構成に関する詳細は、『Oracle Fusion Middleware Oracle Business Intelligence Enterprise Editionシステム管理者ガイド』のユーザー定義の通貨オプションの定義に関する項を参照してください。

メジャー列の集計のデフォルト・レベルの設定

メジャーであるマップ済論理列に、集計ルールを指定する必要があります。集計は、集計COUNTおよびCOUNTDISTINCTを除いて、メジャー列でのみ実行する必要があります。メジャー列は、論理ファクト表にのみ指定できます。

オプションで、対象の論理列に関連付けられている別のディメンションに別の集計ルールを選択できます。たとえば、1つのディメンションに沿って集計列に問合せが実行された場合、1つのタイプの集計ルールを使用できる一方で、別のディメンションに沿って別の集計ルールを使用することもできます。

デフォルトの集計ルールが「個別のカウント」の場合、オプションで、特定の論理表ソースにオーバーライド集計式を指定できます。たとえば、なんらかの集計レベルがすでに含まれている別の集計表ソースに問合せを実行する場合に、オーバーライド集計式を指定できます。オーバーライドを指定しないと、デフォルトのルールが使用されます。

集計ルールEvaluate_Aggrを選択して、問合せでデータ・ソースのカスタム・ファンクションをコールできるように指定できます。この機能およびその他の集計ルールの詳細は、付録Cを参照してください。また、マルチディメンション・ソースに集計を設定する手順の詳細は、「マルチディメンション・データ・ソースへの集計ルールの定義」を参照してください。

デフォルトで、データはスパースであると見なされます。ただし、まれな場合に、論理表ソースのデータ密度が高いことがあります。論理表ソースは、関連付けられているディメンション・レベルの組合せごとに行が存在する場合に密度が高いデータが含まれると見なされます。メジャー列に集計ルールを設定するときは、マッピング先のすべての論理表ソースのデータ密度が高い場合にのみデータ密度が高いと見なすことができます。

注意:
「アンサー」では、Oracle BIリポジトリの列のデフォルトの集計ルール・セットをオーバーライドできます。詳細は、『Oracle Fusion Middleware Oracle Business Intelligence Enterprise Editionユーザーズ・ガイド』の集計ルールと機能に関する項を参照してください。

メジャー列にデフォルトの集計ルールを指定するには:

1. ビジネス・モデルとマッピング・レイヤーで、論理列をダブルクリックします。

2. 「論理列」ダイアログで、「集計」タブをクリックします。

3. 「集計」タブで、次のいずれかのオプションを選択します。

- すべてのディメンションで加算性が同一のメジャーの場合(つまり、完全加算メジャーまたは非加算メジャーの場合)、「デフォルトの集計ルール」リストからいずれかの集計関数を選択します。
問合せでユーザーまたはアプリケーションから列がリクエストされたときに、オーバーライド集計式が指定されていないかぎり、選択したファンクションが常に適用されます。

デフォルトの集計ルールとして「個別のカウント」を選択した場合、特定の論理表ソースにオーバーライド集計式を指定できます。このオプションは、1つの論理列に複数の論理表ソースがマップされており、ソースごとに異なる集計ルールを適用する場合に選択します。

「追加」ボタンをクリックして、個々の集計ルールを指定する論理表ソースを選択します。「参照」ダイアログで、追加する論理表ソースを選択して「OK」をクリックします。選択した論理表ソースの「式」リストで、使用する集計ルールを選択します。

- メジャーの加算性がディメンションごとに異なる場合(つまり、準加算メジャーの場合)、「ディメンションに基づく」を選択します。たとえば、時間以外のすべてのディメンションで合計を算出するインベントリ単位にこのオプションを選択します。この機能の詳細は、「論理列へのディメンション固有の集計ルールの設定」を参照してください。
「追加」ボタンをクリックして、集計ルールを指定する追加のディメンションを選択します。「参照」ダイアログで、追加するディメンションを選択して、「OK」をクリックします。選択したディメンションの「式」リストで、使用する集計ルールを選択するか、「式ビルダー」ボタンをクリックし、式ビルダーを使用して集計ルールを作成します。

「ディメンションに基づく」を選択すると、「データの密度が高い」オプションが表示されます。この列のマップ先の論理表ソースがすべて密度が高い場合はこのオプションを選択します。

注意:
「データの密度が高い」を選択することは、対象の列のマップ先のすべてのソースで、ソースが表しているディメンション・レベルの組合せごとに行があることを示しています。対象の列で使用されるいずれかの表ソースに密度の高いデータが含まれない場合にこのオプションを選択すると、正しくない結果が返されます。

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

論理列へのディメンション固有の集計ルールの設定

大多数のメジャーで、各ディメンションに同一の集計ルールが設定されます。ただし、メジャーによっては、ディメンションごとに異なる集計ルールが設定される場合があります。たとえば、預金残高は、時間に沿って平均値が求められる場合もあれば、個々の口座に沿って合計値が求められる場合もあります。Oracle BIサーバーを使用すると、ディメンション固有の集計ルールを構成できます。指定した1つのディメンションに1つの集計ルールを指定し、他のディメンションには適用する他のルールを指定することができます。

ディメンション固有の集計を設定するには、ビジネス・モデルとマッピング・レイヤーでディメンションを構成する必要があります。集計ナビゲーションの設定の詳細は、第11章を参照してください。

単一の論理列にディメンション固有の集計ルールを指定するには:

1. ビジネス・モデルとマッピング・レイヤーで、論理列をダブルクリックします。

2. 「論理列」ダイアログで、「集計」タブをクリックします。

3. 「集計」タブで、「ディメンションに基づく」を選択します。

4. 「参照」ダイアログで、集計の基準として使用するディメンションを選択して、「OK」をクリックします。

5. 「集計」タブで、「式」リストからルールを選択します。
指定したディメンションにルールを選択した後、「その他」というラベルが付いたディメンションを使用して、残りのディメンションに集計ルールを設定します。

6. より複雑な式を作成する必要がある場合は、「式」列の右にある「式ビルダー」ボタンをクリックして、式ビルダーを開きます。

7. ディメンションが複数ある場合は、「上へ」または「下へ」をクリックして、ディメンション固有のルールの実行順序を変更できます。
メジャーの計算時に、集計ルールは、このダイアログで指定されている順序(上から下)で適用されます。

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

複数の論理ファクト列にディメンション固有の集計ルールを指定するには:

1. ビジネス・モデルとマッピング・レイヤーで、複数の論理ファクト列を選択します。

2. 右クリックして、「集計の設定」を選択します。
「集計の設定」メニュー・アイテムを表示するには、複数の列を選択する必要があります。また、選択した列のうちの1つまたは複数が派生列の場合、「集計の設定」は表示されません。

3. 「集計」ダイアログで、「すべての列が同じ」を選択または選択解除します。
このオプションは、デフォルトで選択されています。選択されていると、選択したすべての列に適用される集計ルールを設定できます。このオプションの選択を解除すると、選択した列ごとに個別の集計ルールを設定できます。

4. 「集計」タブで、「ディメンションに基づく」を選択します。

5. 「参照」ダイアログで、集計の基準として使用するディメンションを選択して、「OK」をクリックします。
1つのディメンションにルールを選択した後、「その他」というラベルが付いたエントリに入っているその他のディメンションに集計ルールを指定します。

6. 「式」列の右にある「式ビルダー」ボタンをクリックします。

7. 式ビルダーの「集計」タブで、「式」リストから、対象のディメンションに沿って実行する集計を選択します。

8. ディメンション固有のルールの実行順序を変更するには、「上へ」または「下へ」をクリックして、「OK」をクリックします。
メジャーの計算時に、集計ルールは、このダイアログで指定されている順序(上から下)で適用されます。

マルチディメンション・データ・ソースへの集計ルールの定義

ここでは、Essbase、Oracle OLAP、およびMicrosoft Analysis ServicesやSAP/BWなどその他のマルチディメンション・データ・ソースをソースとする論理メジャーに集計ルールを定義するためのベスト・プラクティスを説明します。

デフォルトでは、Essbaseなどのマルチディメンション・キューブを物理レイヤーにインポートした場合、Oracle Business Intelligenceではデータ・ソース内に設定されている集計ルールを読み取ることができません。このため、メジャーは、外部集計のデフォルトの集計ルールを使用して自動的にインポートされます。このルールは、マルチディメンション・データ・ソースの場合にのみ使用できることに注意してください。

外部集計とは、Oracle BIサーバーで、特定のメジャーについて基礎となる集計ルールが認識されず、内部で計算されないことを意味します。かわりに、Oracle BIサーバーから常に、基礎となるマルチディメンション・データ・ソースに集計の問合せが送信されます。

基礎となるデータ・ソースは非常に効率的であるため、集計ルールをデータ・ソースにプッシュ・ダウンすることによって、Oracle BIサーバーから、処理でさらにオーバーヘッドを追加することなく結果を返すことができるようになります。ただし、「物理」レイヤーおよび「ビジネス・モデルとマッピング」レイヤーの両方で、データ・ソースに定義されている対応する集計ルールとともに、Oracle Business Intelligenceでメジャーごとに集計ルールを更新することをお薦めします。これによって、Oracle BIサーバーで必要に応じて追加の計算を実行できるようになります。Oracle BIサーバーから最適化された問合せが可能なかぎり引き続きプッシュ・ダウンされるため、問合せのパフォーマンスに影響はありません。

注意:
Oracle BIサーバーで、特定の問合せに対して追加の集計を実行する必要があり、集計ルールが外部集計のデフォルト値に設定されている場合、Oracle BIサーバーから次のエラーが返されます。
外部問合せブロック内で外部集計が検出されました。

このエラーは、Oracle BIサーバーで、基礎となるデータ・ソースの集計ルールを読み取れなかったために発生します。これらの問合せに対して正しい結果が返されるようにするには、基礎となるデータ・ソースに設定されている集計ルールに一致するように、Oracle BIリポジトリに設定されている集計ルールを変更する必要があります。

Oracle Business Intelligenceで定義されている集計ルールが、基礎となるデータ・ソースのルールと一致することが必要です。また、図9-3に示しているように、物理レイヤーおよびビジネス・モデルとマッピング・レイヤーの両方に適切な集計ルールを設定する必要もあります。

図9-3 マルチディメンション・ソースに対する物理レイヤーおよびビジネス・モデルとマッピング・レイヤーでの集計ルールの設定

Oracle BIサーバー内に対応するファンクションがないカスタムの集計の場合、物理メジャー列とそれに対応する論理メジャー列の両方について集計を外部集計のままにすることをお薦めします。

注意:
Oracle OLAPデータ・ソースの場合、Oracle OLAP列に物理レイヤー集計ルールを明示的に設定することはありません。このため、ビジネス・モデルとマッピング・レイヤーのOracle OLAP列にのみ集計ルールを設定する必要があります。
また、問合せでOracle OLAPデータ・ソース内に存在しない集計がリクエストされたときに、集計ルールが外部集計に設定されている場合、Oracle BIサーバーからエラーが返されます。このエラーを回避するには、ビジネス・モデルとマッピング・レイヤーのOracle OLAP列に集計ルールを明示的に設定する必要があります。

Oracle OLAP列の集計ルールを外部集計以外のものに明示的に設定しないと、Oracle BIプレゼンテーション・サービスのカスタム・グループからのリクエストが失敗します。これは、カスタム・グループは常に、データ・ソースには存在しない集計をリクエストするためです。

ディメンション表の論理レベルとの属性の関連付け

「レベル」タブでディメンション・レベルを選択することによって、属性を論理レベルに関連付けることができます。メジャーは、複数のディメンションからのレベルと関連付けることができ、常に指定されたレベルに集計されます。

ディメンションは、「ディメンション」リストに表示されます。対象の属性が論理レベルに関連付けられている場合、レベルは「レベル」リストに表示されます。

特定のディメンションのレベルにメジャーを関連付ける別の方法として、ビジネス・モデルとマッピング・レイヤーでディメンション・ツリーを展開し、ターゲットのレベルに列をドラッグ・アンド・ドロップできます。レベルベースのメジャーの詳細は、例10-1を参照してください。

ディメンションの論理レベルにメジャーを関連付けるには:

1. 管理ツールのビジネス・モデルとマッピング・レイヤーで、論理列をダブルクリックします。

2. 「論理列」ダイアログで、「レベル」タブをクリックします。

3. 「レベル」タブで、論理レベルの選択元のディメンションの「論理レベル」フィールドをクリックします。
「レベル」タブのレベルのリストでは、列ヘッダーをクリックすることによって、行をソートできます(昇順と降順を切り替えることができます)。

4. 「論理レベル」リストで、レベルを選択します。

5. この処理を繰り返して、対象のメジャーを他のディメンションの他の論理ベルに関連付けます。

ディメンションとメジャーの関連付けを削除するには:

1. 管理ツールのビジネス・モデルとマッピング・レイヤーで、論理列をダブルクリックします。

2. 「論理列」ダイアログで、「レベル」タブをクリックします。

3. 「レベル」タブで、削除する関連付けの行を選択して、「削除」をクリックします。

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

論理列の移動またはコピー

デフォルトで、論理列をある表から別の表にドラッグ・アンド・ドロップすると、その論理列が移動されます。同じ名前の列がすでに存在する場合は、新しい列の名前が変更されます(たとえば、mycolumn#1)。

「オプション」ダイアログの「論理列の移動時にプロンプトを表示」オプションを選択して、論理列をドラッグ・アンド・ドロップしたときに「移動列のソース」ダイアログが表示されるようにすることもできます。このダイアログでは、ドラッグ・アンド・ドロップの動作に関するオプションを選択できます。

「論理列の移動時にプロンプトを表示」オプションを選択する方法の詳細は、「管理ツールのオプションの設定」を参照してください。

「移動列のソース」ダイアログを使用して論理列を移動またはコピーするには:

1. 「ビジネス・モデルとマッピング」レイヤーで、論理列を別の論理表にドラッグ・アンド・ドロップします。複数の列を選択して移動できます。

2. 「移動列のソース」ダイアログの「アクション」領域で、アクションを選択します。

3. 「無視」を選択した場合、ターゲットの表のSourcesフォルダに論理ソースは追加されません。

4. 「新規作成」を選択した場合、ターゲットの表のSourcesフォルダに、論理列に関連付けられた論理ソースのコピーが作成されます。

5. 「既存のものを使用」を選択した場合、「既存のものを使用」リストで、ターゲットの表のSourcesフォルダから論理ソースを選択する必要があります。
移動またはコピーした列は、この論理ソースに関連付けられます。

列でのライトバックの有効化

Oracle BIプレゼンテーション・サービスでユーザーが列データを更新してデータ・ソースに変更をライトバックできるように、個々の論理列を構成できます。特定の列でのライトバックを有効にするには、対象の論理列の「書込み可能」オプションを選択して、対応するプレゼンテーション列の「読取り/書込み」権限を有効にする必要があります。対応する物理表のキャッシュを無効にする必要もあります。

Oracle BIプレゼンテーション・サービスでライトバックを有効にするには、追加タスクを実行する必要があります。詳細は、『Oracle Fusion Middleware Oracle Business Intelligence Enterprise Editionシステム管理者ガイド』の分析とダッシュボードでのライトバック用の構成に関する項を参照してください。

特定の列のライトバックを有効にするには:

1. 管理ツールの物理レイヤーで、ライトバックを有効にする列が含まれる物理表をダブルクリックします。

2. 「物理表」ダイアログの「一般」タブで、「キャッシュ可能」が選択されていないことを確認します。このオプションの選択を解除することによって、Oracle BIプレゼンテーション・サービスのユーザーが更新内容を即座に表示できるようになります。

3. ビジネス・モデルとマッピング・レイヤーで、対応する論理列をダブルクリックします。「論理列」ダイアログが開きます。
図9-4は、「論理列」ダイアログを示しています。

図9-4 「書込み可能」オプションが選択された状態の「論理列」ダイアログ

4. 「書込み可能」を選択して、「OK」をクリックします。

5. プレゼンテーション・レイヤーで、ライトバックを有効にした論理列に対応する列をダブルクリックします。「プレゼンテーション列」ダイアログが開きます。

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

7. 該当するユーザーとアプリケーション・ロールの「読取り/書込み」権限を選択します。
図9-5は「権限」ダイアログを示しています。

図9-5 「読取り/書込み」オプションが選択されているプレゼンテーション・レイヤーの列の「権限」ダイアログ

8. 「権限」ダイアログの「OK」をクリックします。

9. 「プレゼンテーション列」ダイアログの「OK」をクリックします。

ビジネス・モデルとマッピング・レイヤーでの表示フォルダの設定

ビジネス・モデルとマッピング・レイヤーで表示フォルダを作成して、オブジェクトを編成することができます。表示フォルダが問合せ処理に影響を与えることはありません。表示フォルダを作成すると、選択した表とディメンションが、表示フォルダにはショートカットとして表示され、ビジネス・モデル・ツリーにはオブジェクトとして表示されます。オブジェクトを非表示にして、表示フォルダのショートカットのみが表示されるようにすることができます。これらのオブジェクトを非表示にする方法の詳細は、「システム管理ツールのオプションの設定」の「オプション」ダイアログの「リポジトリ」タブに関する情報を参照してください。

注意:
表示フォルダ内の表を削除すると、そのオブジェクトへのショートカットのみが削除されます。表示フォルダ内の列を削除した場合は、その列が実際に削除されます。

論理表示フォルダを設定するには:

1. 管理ツールのビジネス・モデルとマッピング・レイヤーで、ビジネス・モデルを右クリックして、「新規オブジェクト」を選択し、「論理表示フォルダ」を選択します。

2. 「論理表示フォルダ」ダイアログの「表」タブで、フォルダの名前を入力します。

3. 表示フォルダに表を追加するには、「追加」をクリックします。「参照」ダイアログで、フォルダに追加するファクト表またはディメンション表を選択し、「選択」をクリックします。
または、ダイアログを閉じてから、1つ以上の論理表を表示フォルダにドラッグできます。

4. 表示フォルダにディメンションを追加するには、「ディメンション」タブをクリックして、「追加」をクリックします。「参照」ダイアログで、表示フォルダに追加するディメンションを選択して、「選択」をクリックします。
または、ダイアログを閉じてから、1つ以上のディメンションを表示フォルダにドラッグできます。

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

ブリッジ表のモデリング

ブリッジ表では、表間の多対多の関係を解決できます。たとえば、「従業員」表に従業員に関する情報を格納して、従業員が担当している業務に関する情報を「業務」表に格納するとします。ただし、組織の従業員が複数の業務を担当している場合や、同じ業務を複数の従業員が担当している場合があります。このような状況では、「従業員」表と「業務」表の関係が多対多になります。

この多対多の関係を解決するには、「割当て」というブリッジ表(中間表)を作成します。「割当て」表の各行は一意で、1つの業務を担当する1人の従業員を表します。従業員が複数の業務を担当している場合、「割当て」表にはその従業員について複数の行が設定されます。1つの業務を複数の従業員が担当している場合、「割当て」表にはその業務について複数の行が設定されます。「割当て」表の主キーはコンポジット・キーで、従業員IDが含まれる列と業務IDが含まれる列で構成されます。

「割当て」表は、「業務」表と「従業員」表の間のブリッジ表として機能するため、「割当て」表を使用すると、従業員と業務の多対多の関係を次のように解決できます。

- 従業員と割当ての1対多の関係

- 割当てと業務の1対多の関係

図9-6は、前述のブリッジ表の例とそれに関連するディメンション表の物理レイヤーを示しています。

図9-6 ブリッジ表の例とそれに関連する表を示した物理レイヤー

問合せ処理を効率的にするために、ブリッジ表に追加列として重みファクタを含めて、このファクタがETLプロセス中に計算されるようにする必要があります。

次の各項では、物理レイヤーおよびビジネス・モデルとマッピング・レイヤーでブリッジ表をモデリングする方法を説明します。

- ブリッジ表とそれに関連する表に対する物理レイヤーでの結合の作成

- 関連するディメンション表の単一ディメンションでのモデリング

- 関連するディメンション表の個別ディメンションでのモデリング

ブリッジ表とそれに関連するディメンション表に対する物理レイヤーでの結合の作成

物理レイヤーでブリッジ表をモデリングするには、対象のブリッジ表とその関連ディメンション表との間に結合を作成します。

ブリッジ表とそれに関連する表に物理結合を作成するには:

1. 管理ツールの物理レイヤーで、ファクト表、ブリッジ表および関連するディメンション表を選択します。オブジェクトを右クリックして、「物理図」を選択し、「選択されたオブジェクトのみ」を選択します。

2. 物理図を表示したまま、ツールバーの「新規結合」をクリックします。ブリッジ表を選択して、ディメンション表を1つ選択します。

3. 「物理外部キー」ダイアログの「OK」をクリックします。

4. その他の関連ディメンション表について、手順2と3を繰り返します。

5. 必ず、関連ディメンション表の1つがファクト表に結合されるようにします。
図9-7は、物理図での物理表の例の間の結合を示しています。

図9-7 物理図での表例の間の結合

関連するディメンション表の単一ディメンションでのモデリング

ビジネス・モデルとマッピング・レイヤーでは、ブリッジ表に関連付けられている2つのディメンション表を単一ディメンションでモデリングするか、または2つの個別のディメンションでモデリングするかを選択できます。関連ディメンション表を単一ディメンションでモデリングするには、ブリッジ表と他方のディメンション表にマップする2つ目の論理表ソースを作成し、他方のディメンション表から列を追加します。

2つの個別の論理表ソースを設定することによって問合せがより効率的になります。これは、この設定によって、単一のディメンション表に対する問合せにブリッジ表が関係しなくなるためです。

ブリッジ表に関連付けられているディメンション表を単一ディメンションでモデリングするには:

1. ブリッジ表、およびファクト表に結合されていない関連ディメンション表以外のオブジェクトを物理レイヤーからビジネス・モデルとマッピング・レイヤーにドラッグします。前述の例では、「割当て」表と「従業員」表以外のすべてのオブジェクトをドラッグします。

2. ビジネス・モデルとマッピング・レイヤーで、ファクト表に結合されているディメンション表(前述の例では「業務」表)を右クリックして、「新規オブジェクト」を選択し、「論理表ソース」を選択します。

3. 「論理表ソース」ダイアログで、新しいブリッジ表ソースの名前を入力します。ブリッジ表の名前をソースの名前として使用することをお薦めします(前述の例では「割当て」)。

4. 「論理表ソース」ダイアログの右上隅にある「追加」ボタンをクリックします。「名前」リストからブリッジ表(前述の例では「割当て」)を選択し、「選択」をクリックします。

5. 「追加」ボタンを再度クリックして、ファクト表に結合されていない関連ディメンション表(前述の例では「従業員」)を選択し、「選択」をクリックします。

6. 「論理表ソース」ダイアログの「OK」をクリックします。
図9-8は、ブリッジ表ソースの「論理表ソース」ダイアログを示しています。

図9-8 ブリッジ表ソースの「論理表ソース」ダイアログ

7. ファクト表に結合されていないディメンション表(前述の例では「従業員」表)の列を、物理レイヤーから、作成したばかりの論理表ソースにドラッグします。

これで、ブリッジ表ソースを伴うものも含め、論理表に基づいてディメンションを作成することができるようになりました。

関連するディメンション表の個別ディメンションでのモデリング

1つのブリッジ表に関連付けられている2つのディメンション表を単一のディメンションでモデリングする処理の代替として、それらのディメンション表を個別のディメンションでモデリングすることができます。これを実行するには、ファクト表と、ファクト表に物理的には結合されていないディメンション表との間に論理結合を作成して、他の表マッピングを追加するようにその同じディメンション表の論理表ソースを変更します。

ブリッジ表に関連付けられているディメンション表を個別ディメンションでモデリングするには:

1. 物理レイヤーからビジネス・モデルとマッピング・レイヤーにオブジェクトをドラッグします。ディメンション表を個別ディメンションでモデリングするため、ブリッジ表に関連付けられているディメンション表を両方ともドラッグします。ブリッジ表オブジェクトをドラッグ・アンド・ドロップする必要はありません。

2. ビジネス・モデルとマッピング・レイヤーで、ファクト表、およびブリッジ表に関連付けられている2つのディメンション表(前述の例では、「ファクト」、「従業員」および「業務」)を選択します。それらのオブジェクトを右クリックして、「ビジネス・モデル図」を選択し、「選択された表のみ」を選択します。

3. ビジネス・モデル図を表示したまま、ツールバーの「新規結合」をクリックします。ファクト表を選択して、現在ファクト表に結合されてないディメンション表を選択します。

4. 「論理結合」ダイアログの「OK」をクリックします。
図9-9は、ビジネス・モデル図での論理表の例の間の結合を示しています。

図9-9 ビジネス・モデル図での表例の間の結合

5. 論理結合を作成した論理表の論理表ソースをダブルクリックします(前述の例では、「従業員」)。

6. 「論理表ソース」ダイアログの右上隅にある「追加」ボタンをクリックします。「名前」リストからブリッジ表(前述の例では「割当て」)を選択し、「選択」をクリックします。

7. 「追加」ボタンを再度クリックして、もう1つの関連ディメンション表(前述の例では「業務」)を選択し、「選択」をクリックします。

8. 「論理表ソース」ダイアログの「OK」をクリックします。
図9-10は、変更したディメンション表ソースの「論理表ソース」ダイアログを示しています。

図9-10 ディメンション表ソースの「論理表ソース」ダイアログ

これで、ブリッジ表に関連付けられている両方の論理表を含め、論理表に基づいてディメンションを作成することができるようになりました。

BLOB(Modeling Binary Large Object)データおよびCLOB(Character Large Object)データ

この項では、Oracle BIリポジトリで、バイナリ・ラージ・オブジェクト(BLOB)データとキャラクタ・ラージ・オブジェクト(CLOB)データをモデリングする方法について説明します。CLOBデータは、任意の文字セットによるラージ・プレーン・テキストのドキュメントです。BLOBデータの例として、イメージ、オーディオ、ビデオがあります。

BLOBデータとCLOBデータをモデリングする手順は次のとおりです。

1. BLOBデータまたはCLOBデータが含まれている物理表を、メタデータのインポート・ウィザードを使用してデータ・ソースからインポートします。インポート後のBLOB列とCLOB列のデフォルトのデータ型は、LongVarBinaryです。インポート後に、BLOB列またはCLOB列に対して「物理列」ダイアログを開き、「長さ」フィールドを必要な長さに変更します。ただし、Oracle BIサーバーの現在のMaxFieldSizeの限度である32KBを超えないようにします。この32KBの限度は、Microsoft Internet Explorerブラウザの制限でもあります。

2. 必要に応じて、物理結合を構成します。たとえば、employeesという表が1つあり、Employee_Imagesというもう1つの表があって、この表にはemployeeidおよびemployee_imageという2つの列(BLOB列)があり、ここではemployeeidが主キーであるとします。この状況で、employees表とEmployee_Images表との物理結合を作成します。

3. BLOB列またはCLOB列を「ビジネス・モデルとマッピング」レイヤーにドラッグします。たとえば、前の手順で説明した状況では、employee_image物理列をemployee論理表ソースにドラッグします。これにより、論理列Employee_Imageが生成されます。

4. Oracle BIサーバーで、結果の論理列にグループ化または順序基準が生成されないようにするために、論理列に対して物理参照を構成します。次に例を示します。

lookup(DENSE "MYDB"."MySchema"."EMPLOYEE_IMAGES"."EMPLOYEE_IMAGE",
"MYDB"."MySchema"."Employees"."EmployeeID")

5. 論理BLOB列または論理CLOB列に対する「論理列」ダイアログの「一般」タブで、必要に応じて「記述子ID列」を構成します。例で使用している列Employee_Imageの場合、EmployeeIDを使用するように「記述子ID列」を構成します。こうすることにより、プレゼンテーション・サービスでは、フィルタを生成する際にEmployee_ImageのかわりにEmployeeIDが使用されます。

6. もう一度、論理BLOB列または論理CLOB列に対する「論理列」ダイアログの「一般」タブで、必要に応じて「ソート順列」を構成します。例で使用している列Employee_Imageの場合、employeeIDを使用するように「ソート順列」を構成します。これにより、Oracle BIサーバーでは、順序基準句にEmployee_Imageが含まれているときにEmployeeIDによりソートされます。

7. 変更を保存します。

10 論理ディメンションの操作

この章では、Oracle BIリポジトリの「ビジネス・モデルとマッピング」レイヤー内の論理ディメンション・オブジェクトでの作業方法について説明します。

この章には次のトピックが含まれます:

- 論理ディメンションの操作について

- レベルベース階層のディメンションの作成と管理

- 親子階層のディメンションの作成と管理

- 時系列データのモデル化

論理ディメンションの操作について

ビジネス・モデルとマッピング・レイヤーにおいて、ディメンション・オブジェクトは論理列(属性)の階層構造を表します。1つ以上の論理ディメンション表を、1つのディメンション・オブジェクトに関連付けることができます。一般的なディメンションには、期間、製品、市場、顧客、仕入先、プロモーション条件、原材料、製造工場、輸送手段、メディアの種類、時刻などがあります。ディメンションは、ビジネス・モデルとマッピング(論理)レイヤーおよびプレゼンテーション・レイヤー内に存在することに注意してください。

各ディメンションで、階層の構造に論理列を編成します。この構造は、ビジネスに必要とされている組織のルールとレポート作成ニーズを表します。これは、データのより詳細なビューを取得するために、ディメンション間のドリル操作にOracle BIサーバーで使用されるメタデータも提供します。

論理ディメンションには、レベル・ベースの階層(構造階層)を持つディメンションと親子階層(値階層)を持つディメンションの2種類があります。レベル・ベース階層は、いくつかのタイプのメンバーが含まれており、同じタイプのメンバーが1つのレベルにのみ存在する階層です。親子階層では、メンバーはすべて同じタイプを持ちます。Oracle Business Intelligenceでは、時系列データをモデリングするための特殊な機能を備えた、時間ディメンションと呼ばれる特殊なタイプのレベル・ベース・ディメンションもサポートされます。

マルチディメンション・データソース用のディメンションはソース内で定義されているため、他のデータソース内のディメンションと比較して必要な作業量は少なくて済みます。たとえば、ディメンション・レベル・キーは作成しません。ディメンションは特定のマルチディメンション・データソース固有のものであり(複数のマルチディメンション・データソースで使用することはできません)、個別に作成して操作することもできません。また、データソース内の各キューブは、ビジネス・モデルとマッピング・レイヤー内に1つ以上のディメンションと1つのメジャーを持つ必要があります。

特定の論理ディメンションをベースとするプレゼンテーション階層オブジェクトを作成することによって、Oracle BIアンサーのユーザーにディメンションを提示することができます。プレゼンテーション・レイヤーに階層を作成することにより、ユーザーは階層ベースの問合せを作成することができます。詳細は、「プレゼンテーション階層とプレゼンテーション・レベルでの作業」を参照してください。

また、プレゼンテーション・レイヤーのサブジェクト・エリアに各階層レベルの1つ以上の列を追加することによって、ディメンション階層を提示することもできます。Oracle BIアンサーは、これらの階層列のドリルダウンをサポートしています。

レベルベース階層のディメンションの作成と管理

各ビジネス・モデルは1つ以上のディメンションを持つことができ、各ディメンションは1つ以上の論理レベルを持つことができ、各論理レベルには1つ以上の属性(列)を関連付けることができます。

次の各項では、ディメンションの作成方法について説明します。

- レベルベース階層について

- レベルベース階層のディメンション、レベル、キーの手動作成

- レベルベース階層のディメンションの自動作成

- 論理レベル数の自動設定

レベルベース階層について

ディメンションには2つ以上の論理レベルが含まれます。論理レベルを作成する際の推奨順序は、まず総計レベルを作成し、次に子レベルを作成し、一番下のレベルまでこれを繰り返すというものです。ディメンションの構成要素を次に示します。

- 総計レベル。ディメンションの総計を表す特別なレベルです。各ディメンションが持つことのできる総計レベルは1つのみです。総計レベルにはディメンションの属性は含まれず、レベル・キーはありません。ただし、総計レベルにはメジャーを関連付けることができます。それらのメジャーの集計レベルは、常にディメンションの総計になります。

- レベル。総計レベルを除くすべてのレベルは、1つ以上の列を持つ必要があります。ただし、表のすべての列を論理レベルに明示的に関連付ける必要はありません。論理レベルに関連付けられていない列は、ディメンション表に対応するディメンションの一番下のレベルに自動的に関連付けられます。同じディメンション表内のすべての論理列は、同じディメンションに関連付けられる必要があります。
ディメンションに配置できるレベルの数には、制限はありません。レベルの合計数そのものが、問合せのパフォーマンスを左右する決定的な要因となるわけではありません。ただし、非常に複雑なSQL問合せでは、ディメンション内に2つか3つのレベルがあっただけでも、パフォーマンスに影響を及ぼす可能性があることに注意してください。

- 階層。各ディメンションには1つ以上の階層が含まれます。すべての階層に共通リーフ・レベルが必要です。
たとえば、時間ディメンションには会計上の階層とカレンダ上の階層が含まれることがあり、それらは共有の日のレベルを持つことがあります。日には会計年度とカレンダ年の2つの親があり、それらはいずれも全ルート・レベルの子となります。

ビジネス・モデルとマッピング・レイヤーの論理階層は、プレゼンテーション・レイヤーの階層と異なり、独立したメタデータ・オブジェクトとして定義されません。この論理階層はレベル間の関連を通じて暗黙に存在します。

ヒント:
1つのレベルで非常に多くのメンバーが指定されるのを避けるために、階層に中間レベルを設定することをお薦めします。たとえば、500車種のモデルに関するデータを追跡する自動車会社に対してProductディメンションを作成する場合、500車種のモデル全部をAutomobilesの直下に置くのではなく、グレインのより細かい階層レベル(ミニバン、サブコンパクト、中型セダンなど)を作成する場合があります。この方法に従うと、問合せパフォーマンスが向上し、読取りとナビゲーションの容易なレポートやダイヤグラムを作成することができます。

- レベル・キー。それぞれの論理レベル(総計レベルとして定義される最上位のレベルを除く)には、レベル・キーを構成する1つ以上の属性が存在する必要があります。レベル・キーは、各論理レベルの一意の要素を定義します。ディメンション表の論理キーは、ディメンションの一番下のレベルに関連付けられる必要があり、そのレベルのレベル・キーになる必要があります。
論理レベルは複数のレベル・キーを持つことができます。その場合、そのレベルの主キーを指定してください。特定のレベルに集計コンテンツを持つすべてのディメンション・ソースには、そのレベルの主キーとなる列が含まれている必要があります。それぞれの論理レベルは1つのレベル・キーを持つ必要があります。このレベル・キーは、Oracle BIプレゼンテーション・サービスのユーザーがクリックしてドリル・ダウンするときに表示されます。これは、そのレベルの主キーであってもなくても構いません。表示するレベル・キーを設定するには、「レベル・キー」ダイアログで「表示に使用」オプションを選択します。

Monthなどのレベル・キー(そのドメインにJanuary、Februaryなどの値が含まれている)を使用する際は気をつけてください。この場合、値は毎年繰り返されるため特定の月で一意ではありません。Monthをレベル・キーとして定義するには、上位レベル(たとえばYear)の属性を含める必要があります。Yearを追加するには、このダイアログで「追加」をクリックし、表示されるダイアログで論理列を選択します。

より上位のレベルの属性を含めることによって、レベル・キーを確実に一意のものにしておかないと、問合せで予期しない結果が返されることがあります。たとえば、Oracle BIサーバーで、複数の物理問合せからの結果セットを結合する必要がある場合、結果に含まれていると予期される行がいくつか削除されている可能性があります。それは、それらの行がレベル・キー定義に照らして一意であると見なされないためです。

レベル・キーは、生成された代理キー(time_key='1023793'など)ではなく、意味のあるビジネス・キー(Month_name='2010 July'など)にする必要があります。代理キーは、ソース表の1つのインスタンスにのみ適用される物理アーティファクトであるためです。対照的に、ビジネス名は、その論理列のどの物理インスタンスにもマップできます。たとえば、month_nameは、詳細な表、集計スターからの集計表およびフェデレーテッド・スプレッドシートの列にマップできます。物理レイヤーでは、依然として結合で代理キーが使用されます。そのため、ビジネス・モデルでビジネス・キーを使用しても、パフォーマンスまたは柔軟性の低下はありません。

- 時間ディメンションおよび時系列キー。ディメンションを時間ディメンションとして指定することができます。時間ディメンションでは、少なくとも1つのレベルに時系列キーが存在する必要があります。時間ディメンションを設定および使用する際に従う必要があるガイドラインのリストを次に示します。

- 時間ディメンションでは、少なくとも1つのレベルに時系列キーが存在する必要があります。詳細は、「時間ディメンションでの時系列キーの選択とソート」を参照してください。

- AGO関数、TODATE関数およびPERIODROLLING関数を使用するすべての時系列メジャーは、時間レベル上にある必要があります。派生論理列として、AGO、TODATEおよびPERIODROLLINGの集計が作成されます。詳細は、「時系列関数について」を参照してください。

- AGO、TODATEおよびPERIODROLLING機能は、断片化されたディメンション論理表ソース、または同じ時間ディメンションでフラグメント化されたファクト・ソースのいずれに対してもサポートされていません。ファクト・ソースは、他のディメンションで断片化できます。詳細は、「時系列関数について」を参照してください。

- 不均衡(不規則)階層。不均衡(不規則)な階層とは、リーフ(子を持たないメンバー)の深さが必ずしも一定ではない階層を指します。たとえば、現在の月は日レベルでデータを持ち、前月は月レベルでデータを持ち、過去5年間は四半期レベルでデータを持つよう選択できます。
ユーザー・アプリケーションは、ISLEAF関数を使用することによって、特定のメンバーからのドリルダウンが可能かどうかを判断できます。詳細は「ISLEAF」を参照してください。

データ・ソース内の存在しないメンバーについては、そのメンバーの値としてnull値が実装されます。すべての計算では、null値はその親の中の個別の子として扱われます。レベルベースのメジャーおよび集計計算では、存在しないすべてのノードがグループ化されます。

不均衡階層は、必ずしも親子階層と同じではないことに注意してください。親子階層はその性質上不均衡になりますが、レベルベース階層も不均衡になることがあります。

- スキップレベル階層。スキップレベル階層とは、特定の祖先レベルに値を持たないメンバーが存在する階層を指します。たとえば、Country-State-City-Districtの階層において、'Washington, D.C.'というCityはStateに所属しません。この場合、Countryレベル(USA)からCityレベル(Washington, D.C.)以降にドリルダウンします。
問合せでは、スキップしたレベルは表示されず、計算にも影響を与えません。階層でソートする場合、これらのメンバーは直近の祖先の下に出現します。

データ・ソース内の特定のレベルにおいて存在しないメンバーについては、そのメンバーの値としてnull値が実装されます。すべての計算では、null値はその親の中の個別の子として扱われます。レベルベースのメジャーおよび集計計算では、スキップされたすべてのノードがグループ化されます。

図10-1は、不均衡とスキップレベルの両方の特徴を持つ階層を示しています。たとえば、A-Brand 4、B-LOB 3およびType 5は不均衡なブランチであり、A-Brand 2とType 3の間やB-LOB 2とProduct 6などの間には、スキップが存在します。

図10-1 不均衡とスキップレベルの両方の特徴を持つ階層

レベルベース階層におけるディメンション階層レベルの使用

ディメンション階層レベルを使用して、次の操作を実行できます。

- 集計ナビゲーションを設定する

- レベルベース・メジャーの計算を構成する(例10-1を参照)

- Oracle BIプレゼンテーション・サービスのユーザーがデータ要求をドリルダウンするときにどの属性が表示されるかを決定する

レベルベース階層のディメンション、レベル、キーの手動作成

レベルベース階層のディメンション階層レベルを作成および管理するには、次の各項で説明するタスクを実行します。

- レベルベース階層のディメンションの作成

- ディメンション内の論理レベルの作成

- 論理列およびその表のディメンション・レベルへの関連付け

- ディメンション・レベルの主キーの特定

- 時間ディメンション内の時系列キーの選択とソート

- 優先ドリル・パスへのディメンション・レベルの追加

レベルベース階層のディメンションの作成

ディメンションを作成した後、1つ以上の論理ディメンション表内の属性(列)、および論理ファクト表内のレベルベース・メジャーに、各ディメンションを関連付けることができます。論理列をディメンション・レベルに関連付けると、それらの列が存在する表が「ディメンション」ダイアログの「表」タブに表示されます。

レベルベース階層のディメンションを作成するには:

1. 管理ツールのビジネス・モデルとマッピング・レイヤーでビジネス・モデルを右クリックし、「新規オブジェクト」→「論理ディメンション」→「レベル・ベースの階層を持つディメンション」を選択します。
このオプションを選択できるのは、ディメンションが関連付けられていないディメンション表が1つ以上存在する場合のみであることに注意してください。

2. 「論理ディメンション」ダイアログの「一般」タブで、ディメンションの名前を入力します。
「デフォルトのルート・レベル」フィールドは、論理列をディメンション・レベルに関連付けると自動的に設定されます。

3. ディメンションが時間ディメンションである場合は、「時間」を選択します。

4. ディメンションが不均衡ディメンションである場合は、「不規則」を選択します。

5. ディメンションがスキップレベル・ディメンションである場合は、「スキップ・レベル」を選択します。

注意:
物理レイヤーに設定されている物理階層タイプと、ビジネス・モデルとマッピング・レイヤーで選択するディメンション・プロパティを一致させることを、ベスト・プラクティスとしてお薦めします。詳細は、「物理階層オブジェクトでの作業」を参照してください。
また、問合せが動作するためには、不規則なディメンションやスキップ・レベルのディメンションのプロパティが正しく設定されていることを確認する必要があります。

6. (オプション)ディメンションの説明を入力します。

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

ディメンション内の論理レベルの作成

ディメンション内に論理レベルを作成するときには、レベルのタイプを特定し子レベルを定義することによって階層も作成します。マルチディメンション・データソースの階層作成の詳細は、「マルチディメンション・データ・ソースに対するビジネス・モデル・オブジェクトの自動作成」を参照してください。

ディメンション内の論理レベルに対して全般的なプロパティを定義するには:

1. 管理ツールのビジネス・モデルとマッピング・レイヤーでディメンションを右クリックし、「新規オブジェクト」→「論理レベル」を選択します。

2. 「論理レベル」ダイアログの「一般」タブで、論理レベルの名前を入力します。

3. 「このレベルの要素数」で、この論理レベルに存在する要素数を指定します。このレベルが総計レベルである場合は、このフィールドは空白のままにします。その場合、システムによってデフォルト値1が設定されます。
この数は必ずしも正確である必要はありませんが、論理レベル間の数の比率は正確である必要があります。リレーショナル・ソースの場合、レベル・キーの行数を取得し、その数を要素数として使用することができます。多次元ソースの場合、そのレベルのメンバー数を使用することができます。

Oracle BIサーバーは、使用する集計ソースを選択する際にこの数を使用します。たとえば、集計ナビゲーションが使用される場合、異なるグレインに複数のファクト・ソースが存在します。Oracle BIサーバーは、それぞれの修飾ソースの合計行数を推測する方法として、その修飾ソースの各レベルの要素数を乗算します。次にOracle BIサーバーは、各ソースの結果を比較し、要素数の合計が最も少ないソースを選択して、問合せに回答します。要素数の合計が最も少ないソースが最も高速であると想定されます。

4. 必要に応じて、次のいずれかのオプションを選択します。

- 論理レベルが総計レベルの場合、「総計レベル」を選択します。1つのディメンションには、総計レベルは1つしか存在できません。

- 特定のレベルのメジャー値がその親レベルの完全な集計メジャーを構成する場合は、「上位レベルの集計へのロールアップをサポート」を選択します。

5. 子の論理レベルを定義するには、「追加」をクリックします。

6. 「参照」ダイアログで、子の論理レベルを選択し、「OK」をクリックします。
「子レベル」ペインに子レベルが表示されます。

7. 以前に定義した子レベルを削除するには、「子レベル」ペインで対象のレベルを選択し、「削除」をクリックします。
対象の子レベルとそのすべての子孫レベルが、「子レベル」ペインから削除されます。

8. (オプション)論理レベルの説明を入力します。

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

論理列およびその表のディメンション・レベルへの関連付け

ディメンション内にすべての論理レベルを作成した後、総計レベルを除くすべての論理レベルに対して、ディメンション表から1つ以上の列をドラッグ・アンド・ドロップする必要があります。ディメンションに最初に列をドラッグするとき、そのディメンションに論理表が関連付けられます。また、これによってディメンションの該当のレベルに論理列が関連付けられます。論理列に関連付けられる論理レベルを変更するには、ある論理レベルから別の論理レベルに列をドラッグします。

ディメンション表の論理キーを構成する論理列は、ディメンションの最下位のレベルに関連付ける必要があります。

ディメンションのレベルに論理列を関連付けると、「ディメンション」ダイアログの「表」タブに、それらの列が存在する表が表示されます。

時間ディメンションの場合、ソース表内の時間に関連するすべての列を時間ディメンション内で定義するようにしてください。たとえば、時間に関連する論理表にMonth Name列およびMonth Code列が含まれている場合、ディメンション内の適切なレベルに両方の列をドラッグする必要があります。図10-2は、論理列を論理レベルに関連付ける方法について示しています。

図10-2 論理列の論理レベルへの関連付け

ディメンションに関連付けられている表を検証するには:

1. 管理ツールのビジネス・モデルとマッピング・レイヤーで、ディメンションをダブルクリックします。

2. 「ディメンション」ダイアログで「表」タブをクリックします。
表のリストには、ディメンションに関連付けられている表が含まれています。この表のリストには、論理ディメンション表が1つのみ含まれ、論理ファクト表が1つ以上含まれます(レベルベース・メジャーを作成した場合)。

3. 「OK」または「取消」をクリックし、「ディメンション」ダイアログを閉じます。

例10-1および例10-2は、レベルベース・ディメンション階層の様々なレベルにメジャーを関連付ける方法について示しています。

例10-1 レベルベース・メジャーの計算

レベルベース・メジャーとは、集計の特定のレベルにおいて値が常に計算される列です。たとえば、ある企業が国、地域および都市に基づいて収益を測定するとします。その場合、CountryRevenue、RegionRevenueおよびCityRevenueを測定する列を設定することができます。

プレゼンテーション階層を含む問合せにレベル・ベースのメジャーの列が含まれており、問合せグレインがその列固有の集計レベルよりも上位の場合、問合せの結果としてnullが返されます。リクエストに通常の列のみが含まれていて、階層列が含まれていない場合は、レベル・ベースのメジャーはnullに置換されません。

メジャーAllProductRevenueは、総計レベルのレベルベース・メジャーの例です。レベルベース・メジャーでは、1回の問合せで複数の集計レベルのデータを返すことができます。また、これらはシェア・メジャーを作成する際にも便利です。シェア・メジャーは、なんらかのメジャーをレベルベース・メジャーで除算してパーセントを算出することにより計算します。たとえば、営業担当者の売上を地域の売上で除算することによって、その地域で各営業担当者が貢献した売上の比率を計算することができます。

これらの計算を設定するには、Grandtotal、Country、RegionおよびCityのレベルを含むリポジトリ内にディメンション階層を構築する必要があります。この階層には、CountryとRegionの間に1対多の関係を定義し、RegionとCityの間に1対多の関係を定義するメタデータが含まれます。各国には多くの地域がありますが、各地域は1つの国の中にあります。同様に、各地域には多くの都市がありますが、各都市は1つの地域の中にあります。

次に、3つの論理列(CountryRevenue、RegionRevenueおよびCityRevenue)を作成する必要があります。これらの各列は、そのソースとして論理列Revenueを使用します。Revenue列にはデフォルトの集計ルールSUMがあり、基礎となるデータベース内にソースがあります。

次に、CountryRevenue列、RegionRevenue列およびCityRevenue列を、それぞれCountryレベル、RegionレベルおよびCityレベルにドラッグします。これらの列のいずれかを要求する問合せでは、そのレベルで集計された売上が返されます。

図10-3は、この例におけるビジネス・モデルとマッピング・レイヤー内のビジネス・モデルの様子を示しています。

図10-3 ビジネス・モデルとマッピング・レイヤー内のビジネス・モデルの例

Geographyディメンションでは、CountryRevenue列およびRegionRevenue列はCountryレベルおよびRegionレベルの属性です。Sales Facts表では、Revenue列にデフォルトの集計ルールSUMがあり、物理的な詳細データまたは物理的な集計データにマップされています。CountryRevenue列およびRegionRevenue列では、ソースとしてRevenue列を使用しています。

例10-2 総計ディメンションの階層

TotalProducts (総計レベル)、Brands、Productsのレベルを持つ製品ディメンション階層を使用する場合を考えます。また、Revenueという名前の列が、デフォルトの集計ルールSumとともに定義されるとします。この場合、Revenueをソースとして使用する論理列AllProductRevenueを作成することができます。ここで、AllProductRevenueを総計レベルにドラッグします。この列を含む問合せは、すべての製品の総売上を返します。BrandsまたはProductsのいかなる制約にも関係なく値が返されます。他の表内の列に制約がある場合、総計は問合せのスコープに制限されます。たとえば、問合せのスコープが1999年および2000年のデータを要求する場合、製品売上の総計は、1999年および2000年のすべての製品の売上となります。

A、B、Cの3つの製品があり、それぞれの売上の合計が100、200、300である場合、製品売上の総計は600です(各製品の売上の合計)。この例で説明しているリポジトリを設定している場合の問合せとその結果を示します。

SELECT product, productrevenue, allproductrevenue
FROM sales_subject_area
WHERE product IN 'A' or 'B'

結果は次のとおりです。

PRODUCT  PRODUCTREVENUE  ALLPRODUCTREVENUE
A        100             600
B        200             600

この例では、AllProductRevenue列は、問合せで制約が設定された製品に関係なく、常に600の値を返します。

ディメンション・レベルの主キーの特定

レベルの主キーを特定するには、「論理レベル」ダイアログの「キー」タブを使用します。

ディメンション・レベルの主キーを指定するには:

1. 管理ツールのビジネス・モデルとマッピング・レイヤーで、ディメンションを展開し、ディメンションの最上位のレベル(総計レベル)を展開します。

2. 総計レベルの下の論理レベルをダブルクリックします。

3. 「論理レベル」ダイアログで「キー」タブをクリックします。

4. 「キー」タブで、「主キー」のリストからレベル・キーを選択します。
レベル・キーが1つしかない場合は、それがデフォルトで主キーとなります。

5. リストに列を追加するには、次の手順を実行します。

1. 「論理レベル」ダイアログで「新規」をクリックします。

2. 「論理レベル・キー」ダイアログで、キーの名前を入力します。

3. 「論理レベル・キー」ダイアログで、列を選択するか、または「追加」をクリックします。

4. 「追加」をクリックした場合は、「参照」ダイアログで列を選択し、「OK」をクリックします。
選択した列が「論理レベル・キー」ダイアログの「列」リストに表示され、自動的に選択されます。

注意:
LOOKUP関数の結果として導出された論理列を、主論理キーとして使用することはできません。この制限が存在する理由は、LOOKUPの操作は集計が計算された後に適用されますが、レベル・キー列は集計が計算される前に利用可能である必要があるためです(レベル・キー列は集計計算の粒度を定義するため)。
LOOKUP関数の結果として導出された論理列は、2次論理レベル・キーとして使用できます。

6. 時間ディメンション内のレベルである場合は、時系列キーを選択し、名前によってキーをソートすることができます。

7. (オプション)キーの説明を入力し、「OK」をクリックします。

8. ステップ2 - ステップ7を繰り返し、他の論理レベルに主キーを追加します。

9. 「論理レベル」ダイアログで「OK」をクリックします。

時間ディメンション内の時系列キーの選択とソート

時間ディメンションでは、少なくとも1つのレベルに時系列キーが存在する必要があります。任意のレベルで1つ以上の時系列キーを選択し、レベル内でキーをソートすることができますが、使用されるのは最初の時系列キーのみです。

時間ディメンション内で時系列キーを選択しソートするには:

1. 管理ツールのビジネス・モデルとマッピング・レイヤーで、時間ディメンションを展開し、ディメンションの最上位のレベル(総計レベル)を展開します。

注意:
ディメンションが時間ディメンションとして認識されるためには、「ディメンション」ダイアログの「一般」タブで「時間」を選択する必要があります。

2. 総計レベルの下の論理レベルをダブルクリックします。

3. 「論理レベル」ダイアログで「キー」タブをクリックします。

4. 時系列キーを選択するには、「キー」タブで「時系列キー」オプションを選択します。このオプションを表示させるには、右にスクロールする必要があります。

5. 時系列キーをソートするには、「キー」タブで時系列キーを選択して、「編集」をクリックします。

6. 「時系列キー」ダイアログで、時系列キーの列を選択し、「上へ」または「下へ」をクリックして列の順序を入れ替え、「OK」をクリックします。

優先ドリル・パスへのディメンション・レベルの追加

「優先ドリル・パス」タブでは、Oracle BIプレゼンテーション・サービスのユーザーがデータ要求をドリル・ダウンする際に使用するドリル・パスを特定します。このタブは、ディメンション・レベル階層によって定義される通常のドリル・パスの外部にあるドリル・パスを指定する場合にのみ使用します。このドリル・パスはほとんどの場合、あるディメンションから別のディメンションにドリルするのに使用されます。ドリル・パスから論理レベルを削除したり、ドリル・パス内の論理レベルを並べ替えることができます。

優先ドリル・パスにディメンション・レベルを追加するには:

1. 「追加」をクリックして「参照」ダイアログを開き、ドリル・パスに含める論理レベルを選択します。現在のディメンションまたは他のディメンションから論理レベルを選択することができます。

2. 「OK」をクリックし、「レベル」ダイアログに戻ります。
「名前」ペインにレベルの名前が追加されます。

レベルベース階層のディメンションの自動作成

論理ディメンション表にディメンションが存在しない場合、その表から論理ディメンションを自動的に設定することができます。ディメンションを自動的に作成する際には、管理ツールは論理表ソースとそれらのソース内の列マッピングを調べ、論理表ソース内の物理表の間の結合を使用して、論理レベルおよびレベル・キーを決定します。したがって、ディメンション表にすべての論理表ソースが定義された後は、この方法でディメンションを作成するのが最良です。

次のルールが適用されます。

- 「ディメンションの作成」が利用できるのは、選択されている論理表がディメンション表であり(1:Nの論理結合によって定義)、この表にディメンションが関連付けられていない場合のみです。

- 自動的に作成されたディメンションでは、論理表と同じ名前が使用され、接尾辞としてDimが付加されます。たとえば、表の名前がPeriodsである場合、ディメンションの名前は「Periods Dim」となります。

- 総計レベルには、自動的に「logical_table_name Total」という名前が付けられます。たとえば、Periods Dim表の総計レベルは「Periods Total」となります。

- ソース内に複数の表が存在する場合、ソース内の表の間の結合関係によって、最下位のレベルの属性が含まれる物理表が決定されます。階層内の最下位レベルは、「logical_table_name Detail」という名前になります。たとえば、periods表の最下位レベルは「Periods Detail」となります。

- ディメンション表の論理キーは、階層の最下位レベルにマップされ、レベル・キーとして指定されます。この論理列は、ディメンション・ソース内の最下位レベルの表のキー列にマップされます。

- ソース内に2つ以上の物理表が存在する場合、それらの表のキーにマップされる列は、追加の論理レベルとなります。これらの追加のレベルの名前には、それらのキー列の論理列の名前が使用されます。

- 結合の順序によって、論理レベルの階層内の配置が決定されます。これらの新しい論理レベルのレベル・キーは、ソース内の表のキーにマップされる論理列として設定されます。

- 複数の論理表ソースが存在する場合、ツールは属性マッピングおよび物理結合を使用して、物理ソース内の表の階層順序を決定します。たとえば、3つのソース(A、B、C)があり、それぞれに1つの物理表と、10個、15個、3個の属性の属性マッピングが含まれているとします(他の論理列から作成された列は数えません)。この表のディメンションを自動作成した際の結果を次に示します。

- 管理ツールによって、4つの論理レベルが含まれ、総計と詳細レベルを計算するディメンションが作成されます。

- ソースB内の表のキー(このキーはマップされている列数が最も多く、論理表キーの列マッピングが含まれています)は、詳細レベルのレベル・キーになります。

- 詳細レベルの親は、ソースA内の物理表のキーにマップされる論理列の名前を持つ論理レベルになります。

- AとBの両方にマップされるすべての属性は、レベルAに関連付けられます。

- レベルAの親は、ソースC内の物理表のキーにマップされる論理列の名前を持つ論理レベルになります。

- AとCの両方にマップされるすべての列は、レベルCに関連付けられます。

- 物理ソース内の表結合は、階層の分割を生じさせるパターンを持つ可能性があります。たとえば、Product表がFlavor表およびSubtype表に結合しているとします。これにより、productの詳細レベルには、flavorレベルとsubtypeレベルの2つの親が生じる可能性があります。

- 次の場合、ディメンションの自動作成はできません。

- 結合とレベルを持つディメンションがすでに作成されている場合、右クリック・メニューに「ディメンションの作成」は表示されません。

- 表が他の表とまだ結合されていない場合、その表はファクト表と見なされるため、このオプションは利用できません。

- スノーフレーク・スキーマにおいて、ソースが1つのみの表を使用してディメンションを自動作成すると、子表が自動的に階層内に組み込まれます。子表は、総計レベルと詳細レベルの間の中間のレベルを形成します。ディメンション表に複数の子表が存在する場合、階層は分割階層になります。

ディメンションを自動作成するには:

1. 管理ツールでリポジトリを開きます。

2. ビジネス・モデルとマッピング・レイヤーで、ディメンションに関連付けられていない論理ディメンション表を右クリックします。

3. 右クリック・メニューから論理ディメンションを作成を選択し、「レベル・ベースの階層を持つディメンション」または「親子階層を持つディメンション」を選択します。
ビジネス・モデルとマッピング・レイヤーに新しいディメンションが表示されます。

論理レベル数の自動設定

レベル評価を使用することによって、1つ以上のディメンション階層に自動的にレベル数を設定することができます。レベル数は、最適な問合せ計画を決定するために問合せエンジンによって利用され、システムの全体的な性能が最適化されます。

リポジトリはオンライン・モードで開く必要があります。また、問合せでビジネス・モデルが利用可能である必要があります。これらを満たしている場合、ビジネス・モデルとマッピング・レイヤーにおいて次の論理レイヤー要素を選択して、レベル評価コマンドを実行できます。

- ビジネス・モデル。問合せで利用可能である必要があります。このオブジェクトを選択すると、管理ツールはビジネス・モデル内のすべてのオブジェクトのチェックアウトを試みます。

- ディメンション。ディメンションの整合性チェックを実行し、ディメンションが論理的に健全であるかどうかを確認します。

- ビジネス・モデルとディメンションの組合せ。複数のディメンションと複数のビジネス・モデルを個別に選択できます。

レベル評価コマンドを実行すると、次に説明するように、レベル数に対する整合性チェックが起動されます。

- レベル・キーが有効であるかチェックします。レベル内の列は参照整合性を持ちます。

- 親子関係をチェックします。親のレベル数が子のレベル数よりも大きい場合、エラーが返されます。

- 評価されたすべての数、およびエラーまたは整合性に関する警告がリストされた実行レポートが生成されます。

- 問合せおよびエラーは、Oracle BIサーバー上のnqquery.logに記録されます。
これらの情報をログ・ファイルに記録するには、ログ・レベルを4以上に設定します。ログの詳細は、『Oracle Fusion Middleware Oracle Business Intelligence Enterprise Editionシステム管理者ガイド』のOracle Business Intelligenceの問題の診断と解決に関する項を参照してください。

論理レベル数を自動設定するには:

1. 管理ツールで、リポジトリをオンライン・モードで開きます。

2. 1つ以上のビジネス・モデルおよびディメンション・オブジェクトを右クリックし、「レベル評価」を選択します。

3. 「オブジェクトのチェックアウト」ダイアログで「はい」をクリックし、リスト内に表示されているオブジェクトをチェックアウトします。
レベル評価を実行するにはアイテムをチェックアウトする必要があるため、「いいえ」をクリックすると操作は中断されます。

管理ツールダイアログに、ディメンション・レベル数のリスト、およびエラーまたは警告メッセージが表示されます。

オブジェクトをチェックインするときに、リポジトリのグローバル整合性をチェックすることができます。

親子階層のディメンションの作成と管理

親子階層とは、タイプがすべて同じメンバーの階層のことです。これは、同一タイプのメンバーが単一レベルの階層にのみ出現するレベルベースの階層と対照的です。

この項には次のトピックが含まれます:

- 親子階層について

- 親子階層のディメンションの作成

- 親子関係表の定義

- 親子階層の集計のモデリング

- モデルへの親子関係表の追加

- リレーショナル表をベースとした親子階層の維持

親子階層について

現実世界で最も一般的な親子階層の例として、組織の階層図があげられます。組織の階層図には次のすべての条件が当てはまります。

- 組織内の各個人は従業員です。

- 各従業員は、1人のマネージャの直属となります(最上位のマネージャを除く)。

- 組織階層には多くのレベルがあります。

これらの条件は、親子階層の基本機能を示しています。それらの機能とは次のとおりです。

- 親子階層は1つの論理表(Employees表など)をベースとします。

- 表の各行には2つの識別キーが含まれます。1つはメンバー自身を識別するキー、もう1つはそのメンバーの"親"を識別するキーです(たとえば、Emp_IDとMgr_ID)。

図10-4は、複数レベルの親子階層の例を示しています。

図10-4 複数レベルの親子階層

次の表は、Employees表の行とキー値によってこの親子階層を表す様子を示しています。

Emp_ID

Mgr_ID

Andrew

null

Barbara

Andrew

Carlos

Andrew

Dawn

Barbara

Emre

Barbara

特定の論理ディメンションをベースとするプレゼンテーション階層を作成することによって、Oracle BIアンサーのユーザーに親子階層の論理ディメンションを提示することができます。プレゼンテーション・レイヤーに階層を作成することにより、ユーザーは階層ベースの問合せを作成することができます。詳細は、「プレゼンテーション階層とプレゼンテーション・レベルでの作業」を参照してください。

この項には次のトピックが含まれます:

- 親子階層のレベルと距離について

- 親子関係表について

親子階層のレベルと距離について

レベルベース階層の状況とは異なり、親子階層のすべてのディメンション・メンバーは、単一の論理列に含まれます。親子階層では、メンバーの親は同じ論理列の、親キーが指す別の行にあります。これは、メンバーの親が同じ行の別の論理列にあるレベルベース階層とは異なります。つまり、親子階層のナビゲーションはデータ値に従い、レベルベース階層のナビゲーションはメタデータ構造に従います。

レベルベース階層では、各レベルは名前が付けられ、分析に役立つとみなされる実際の言葉の属性またはカテゴリに対応する、階層の位置を占めます。設計時にレベルの数が固定されるレベルベース階層とは異なり、親子階層の深さには制限がなく、深さは新しいデータに応じて実行時に変更できます。

すべてのOracle BIサーバー親子階層には、2つのシステム生成エンティティ(「合計」と「詳細」)があり、それらは、論理ディメンションが作成されるときに親子階層ごとに自動的に定義されます。「詳細」エンティティには、すべての階層メンバーが含まれます。

これら2つのシステム生成エンティティは、親子階層内の祖先と子孫の間にある暗黙のメンバー間レベルとは異なるものです。この項では、これらの暗黙のレベルは親子階層レベルと呼びます。

レベルと緊密に関連付けられているのは、親子階層内の距離という概念です。別のメンバーからあるメンバーまでの距離が、そのメンバーから祖先または子孫までの親子階層レベルの数です。たとえば、メンバーからその親までの距離は常に1であり、図10-4のAndrewからEmreまでの距離は2です。

親子関係表について

リレーショナル表では、親子階層内の異なるメンバー間の関係は、関連付けられているベース表内の識別キーによって暗黙に定義されます。

ただし、リレーショナル表に定義されたOracle BIサーバーの各親子階層では、個別の親子関係表内にメンバー間の関係を明示的に定義する必要があります。

親子関係表には次の4つの列を含める必要があります。

- メンバーを識別する列

- メンバーの祖先を識別する列

注意:
この祖先は、そのメンバーの親の場合もあれば、より上位の祖先の場合もあります。

- 親子階層におけるメンバーから祖先までのレベルの数を指定する"distance"列。

- メンバーがリーフ・メンバーであるかどうかを指定する"leaf"列(1=はい、0=いいえ)

列名はユーザーが定義することができます。列のデータ型は、次の条件を満たす必要があります。

- メンバーを識別する列および祖先を識別する列は、階層メンバーが含まれる論理表内の関連する列と同じデータ型を持つ。
表10-1に示す例では、可読性を考慮してテキスト文字列を使用しています。ただし通常は、member_keyおよびancestor_keyには整数の代理キーを使用します(それらがソースのディメンション表に存在する場合)。

- "distance"列と"leaf"列はINTEGER列です。

親子関係表内の行については、次の条件に注意してください。

- 各メンバーは、距離が0の自身を指し示す行を持つ必要があります。

- 各メンバーは、それぞれの祖先を指し示す行を持つ必要があります。ルート・メンバーの場合、これは親の値と距離の値がnullである終了行です。

表10-1は親子関係表の例を示しています。各行は、図10-4に示す従業員のメンバー間の関係を表しています。

表10-1 親子関係表の例

Member_Key

Ancestor_Key

Distance

Isleaf

Andrew

Andrew

0

0

Barbara

Barbara

0

0

Carlos

Carlos

0

0

Dawn

Dawn

0

0

Emre

Emre

0

0

Andrew

null

null

0

Barbara

Andrew

1

0

Carlos

Andrew

1

1

Dawn

Barbara

1

1

Dawn

Andrew

2

1

Emre

Barbara

1

1

Emre

Andrew

2

1

通常は、親子階層を定義する場合に起動できるウィザードを使用して、スクリプトを生成して親子関係表を作成および移入します。スクリプトの作成およびロードについては次の点に注意してください。

- 作成スクリプトは1回のみ実行し、データ・ソース内に親子関係表を作成します。

- ディメンション表内のデータに変更があった場合は、毎回ロード・スクリプトを実行する必要があります。このため、ロード・スクリプトは通常はETL処理時に呼び出します。ロード・スクリプトは親子関係表全体を再ロードします。インクリメンタル処理ではありません。

ウィザードを使用しない場合は、親子関係表を手動で作成し、その表を親子階層に関連付ける前に物理レイヤーにインポートする必要があります。またこの場合、親子階層内のメンバー間の関係を記述するのに必要なデータを表に移入するのもユーザーの役割です。

親子階層のディメンションの作成

親子階層で定義する必要のある主要な要素として、メンバーの識別列とメンバーの親の識別列があります。この基本原則は、階層の派生元となるデータ・ソースにかかわらず、すべての親子階層に当てはまります。

リレーショナル表に基づく親子階層には、親子関係表が付属している必要があります。詳細は、「親子関係表について」を参照してください。

親子階層のディメンションを作成するには:

1. 管理ツールのビジネス・モデルとマッピング・レイヤーで、次のいずれかの手順を実行します。

- ビジネス・モデルを右クリックし、「新規オブジェクト」→「論理ディメンション」→「親子階層を持つディメンション」を選択します。このオプションは、ビジネス・モデル内にディメンションが関連付けられていない論理ディメンション表が1つ以上ある場合にのみ選択できることに注意してください。

- ディメンションが関連付けられていないディメンション表を右クリックし、論理ディメンションの作成→「親子階層を持つディメンション」を選択します。

2. 「論理ディメンション」ダイアログの「一般」タブで、ディメンションの名前を入力します。

3. 「メンバー・キー」フィールドの横の「参照」をクリックします。
「参照」ウィンドウに、ビジネス・モデル内の論理ディメンション表とその主キーが表示されます。

4. 親子階層のメンバー・キーを選択し、「OK」をクリックします。

5. 「親キー」フィールドの横の「参照」をクリックします。
「参照」ウィンドウに、ステップ4で選択した論理表の主キー以外の列が表示されます。

6. 親子階層の親キーとなる列を選択し、「OK」をクリックします。

7. ステップ4で選択した論理表がリレーショナル表ソースに基づいていない場合は、「OK」をクリックしてディメンションの作成プロセスを終了します。
ステップ4で選択した論理表がリレーショナル表ソースに基づいている場合は、ディメンション定義プロセスを続行して、階層の親子関係表を設定する必要があります。詳細は、「親子関係表の定義」を参照してください。

親子関係表の定義

親子階層がリレーショナル表に基づく場合、親子関係表を定義する必要があります。詳細は、「親子関係表について」を参照してください。

親子関係表を作成するときには、次のいずれかのオプションを選択する必要があります。

- 以前に作成した親子関係表を選択します。

- ウィザードを使用して、親子関係表の作成とデータ移入を行うスクリプトを生成します。

親子関係表を定義するには:

1. 「論理ディメンション」ダイアログで「親子設定」をクリックします。
「親子関係表の設定」ウィンドウが表示されます。論理表および論理表ソースの値が設定されています。

図10-5に「親子関係表の設定」ダイアログを示します。

図10-5 「親子関係表の設定」ダイアログ

2. 階層の親子関係表を手動で定義するか、定義を実行するウィザードを起動します(後者をお薦めします)。

- 手動プロセスを開始するには、ステップ3に進みます。

- ウィザードを起動するには、ステップ7に進みます。

3. 「親子関係表の選択」ボタンをクリックし、親子階層の親子関係表を手動で定義するプロセスを開始します。

4. 親子階層の親子関係表の役割を果たす物理表を選択します。この表は、この時点で物理レイヤーに存在している必要があります。
親子関係表には、階層用に選択した論理表の中でメンバー間の関係がどのように導出されるかを示す列が4つ以上存在している必要があります。詳細は、「親子関係表について」を参照してください。

5. 次のように、物理的な親子関係表の4つの列を「親子表の列詳細」エリア内のフィールドにマップします。

- 「メンバー・キー」列を選択します。

- 「親キー」列を選択します。

- 「関係性」列を選択します。

- 「リーフ・ノード識別子」列を選択します。

6. 「OK」をクリックし、再度「OK」をクリックして、親子関係表の手動定義プロセスを終了します。

7. 「親子関係表の作成」ボタンをクリックしてウィザードを起動します。

親子関係表の生成ウィザードでは、親子関係表の作成とデータ移入を行うためのSQLスクリプトが生成されます。ウィザードの終了時にOracle BIサーバーによって、ウィザード・セッションの中で選択されたディレクトリにスクリプトが格納されます。スクリプトを実行すると、メタデータ・リポジトリで利用可能な親子関係表が作成されます。

このウィザードには次の3つの主要なウィンドウがあります。

- スクリプトの場所

- 親子関係表の詳細

- スクリプトのプレビュー

8. 「親子関係表の生成」の「スクリプトの場所」画面で、親子表を生成するためのDDLスクリプトの「名前」を入力し、生成スクリプトが格納される「場所」を選択します。

9. 「親子表を移入するためのDDLスクリプト」の「名前」を入力し、移入スクリプトが格納される「場所」を選択します。

10. 「次へ」をクリックします。

11. 「親子関係表の詳細」画面で、親子関係表の「名前」を入力します。

12. 「カタログ/スキーマ」フィールドの横の「参照」をクリックし、親子関係表のカタログまたはスキーマを選択します。

13. 「次へ」をクリックします。

14. 「スクリプトのプレビュー」ウィンドウで、2つのスクリプトを参照することができます。

15. 「終了」をクリックします。

16. 「親子関係表の設定」ウィンドウで「OK」をクリックします。

17. 「論理ディメンション」ウィンドウで「OK」をクリックします。

18. 親子関係表の生成ウィザードを使用して作成スクリプトおよびロード・スクリプトを生成した場合は、スクリプトを実行して、データ・ソース内に親子関係表を作成しデータをロードします。

親子階層の集計のモデリング

レベル・ベース階層のファクト表には通常、単一レベルの階層のファクトのみが含まれています。上位レベルのディメンション・メンバーのファクトを計算するには、下位レベルのファクト表から、または上位レベルのサマリー表からファクトを集計します。

その一方で、親子階層では、次に関連する追加の決定を行うためにデータ・モデラーが必要です。

- ファクト表でのベース・ファクトの格納方法

- 親子階層の上位メンバーのファクトを取得するための、ベース・ファクトの集計方法

この項では親子階層のファクトの格納および集計方法について説明しており、次の内容で構成されています。

- 親子階層のファクトの格納

- 親子階層の集計

親子階層のファクトの格納

親子階層のファクト表にベース・ファクトを格納する場合、次の2つのオプションがあります。

- 親子階層のリーフ・メンバーのみのファクトを格納します。

- 親子階層でリーフ以外のメンバーを含むすべてのレベルのメンバーのファクトを格納します。

親子階層の非リーフ・メンバーのファクトをリーフ・メンバーのファクトから完全に派生させることができる場合は、最初のオプションが適しています。たとえば、親子製品階層を使用していて、その中で実際の製品メンバーが階層のリーフ・メンバーとしてのみ表示される場合は、収益ファクト表にその製品階層のリーフ・メンバーの収益ファクトのみを記録するのが合理的です。製品階層の非リーフ・メンバー(製品カテゴリなど)の収益の数字を完全に派生させるには、階層の最下位にあるリーフ製品メンバーのファクトを集計します。

例10-3に、親子階層のリーフ・メンバーのファクトのみが格納される場合のデータの例を示します。

例10-3 リーフ・メンバーのみのファクトの格納

次の表では、ディメンション表PRODUCT_DIMのデータの例を示しています。

MemberKey

名前

ParentKey

P1

Product1

C1

P2

Product2

C1

C1

Category1

C2

C2

Category2

C3

C3

Category3

-

次の表では、ファクト表REVENUE_FACTSのデータの例を示しています。

ProductKey

YearKey

Revenue

P1

2011

100,000

P1

2012

105,000

P2

2011

75,000

P2

2012

80,000

親子階層の任意のレベルのメンバーに対するファクトが格納される2番目のオプションは、非リーフ・メンバーのファクトがリーフ・メンバーのファクトから完全に派生していない場合に必要です。好例として、営業員の上司であるマネージャも営業員であるような営業員階層があります。マネージャも含めて、個人の営業員にそれぞれ異なる収益の数字を指定し、それをファクト表に格納できます。

例10-4では、この状況のデータの例を示しています。

例10-4 リーフ・メンバーと非リーフ・メンバー両方のファクトの格納

次の表では、ディメンション表SALES_REP_DIMのデータの例を示しています。

MemberKey

名前

ParentKey

101

Phillip

201

102

Vivian

201

201

Jacob

301

202

Audrey

301

301

Ryan

-

次の表では、ファクト表REVENUE_FACTSのデータの例を示しています。

SalesRepKey

YearKey

Revenue

101

2012

1,200,000

102

2012

1,100,000

201

2012

250,000

202

2012

1,400,000

リーフ・メンバーと非リーフ・メンバー両方のファクトの格納が適切である別のケースとして、親子階層の集計ルールが複雑である場合や、問合せ時点での階層の集計が消耗的であり、問合せレスポンス時間が非常に長い場合などがあります。この場合、ファクト表には、リーフ・メンバーに対して格納されたファクトに加えて、非リーフ・メンバーに対して事前集計されたファクトも格納されます。

親子階層の集計

ファクト表に含まれているのがリーフ・メンバーと非リーフ・メンバー両方のデータであるか、またはリーフ・メンバーのみのデータであるかに関係なく、データ・モデラーは、親子階層の上位レベルの集計済ファクトを計算するために、格納済ファクトの集計方法を決定する必要があります。データ・モデラーは、メジャーに対して適切な集計機能を選択するだけでなく、上位メンバーの値を計算するために、下位メンバーに記録されたファクト値をロールアップするかどうか決定する必要があります。親子階層の下位メンバーのファクトをロールアップすることが合理的である場合もあります。また、事前集計されたファクト表や、各メンバーのコントリビューションを個別に示すためのメジャーのように、親子階層の下位メンバーのファクトをロールアップすることが不適切な場合もあります。

親子階層の下位メンバーのファクトのロールアップ 。ファクト表に親子階層のリーフ・メンバーのファクトのみが格納されている場合、またはファクト表に各メンバーの個別コントリビューションのみが記録されている場合は、親子階層の上位メンバーに対して適切な集計済ファクトを取得するために、ファクト表に格納された値のロールアップが必要になります。親子階層に沿ったファクトのロールアップは、親子関係表を使用してファクト表をディメンション表に結合することで実行できます。詳細は、モデルへの親子関係表の追加を参照してください。

例10-3の製品収益ファクト表など、リーフ・メンバーのみのファクトを格納したファクト表の場合、このモデリング手法によって、リーフ・レベルのメンバーの全ファクトを適切に要約した集計値が計算されます。

例10-4の営業員収益ファクト表など、リーフ・メンバーと非リーフ・メンバー両方の個別コントリビューションを格納したファクト表の場合、この手法によって、メンバーと、そのメンバー下の全メンバーの個別コントリビューションを要約した階層集計が計算されます。

個別コントリビューション・メジャーのモデリング 。複数メンバーの個別コントリビューションをロールアップした要約済の階層をレポートするだけでなく、各メンバーの個別コントリビューションをレポートできるようにするために、データ・モデラーは2つの別個のファクト論理表ソースを作成する必要があります。1つのファクト論理表ソースでは、ベース・ファクト表と親子関係表をマップします。これは、階層集計メジャーの論理表ソースです。もう1つのファクト論理表ソースでは、ファクト表の別名のみがマップされます。このファクト表の別名は、親子関係表を通して間接的に結合するのではなく、ディメンション表と直接結合する必要があります。これは、個別コントリビューション・メジャーの論理表ソースです。

事前集計済メジャーのモデリング 。ファクト表のなかには、親子階層の全メンバーに対して移入される事前集計済データが含まれているものがあります。たとえば、ルート・メンバーのファクト値が、そのすべての子孫メンバーのデータの集計とともに移入される場合があります。誤った結果が生じるのを避けるため、問合せではこのディメンションのメンバーを集計しないようにすることが重要です。

こうした種類の親子階層を正しくモデル化するには、IsAncestorやIsDescendantなどの階層フィルタ関数をサポートするため、親子関係表を作成する必要があります。ただし、親子関係表を通じて結合することなく、親子ディメンション表を直接結合することができます。これにより、すべての子孫をたどることはせずに、事前集計されたメンバー値が返されるようになります。

注意:
"self"行のみが含まれるように親子関係表スクリプトを修正することは避けてください。そのような変更を行うと、IsAncestor関数およびIsDescendant関数が正しく動作しなくなります。

この種類のディメンションの集計を正しく行うには、最初に、親子階層が集計される際に総計としてどのようなデータが必要かを特定する必要があります。たとえば、階層に1つのルート・メンバーが含まれており、このルート・メンバーにおいて事前集計された値を表示するとします。この場合、親子階層の合計レベルにマップされた追加のファクト論理表ソースを最初に作成します。次に、論理表ソースにおいてルート・メンバーのみを選択するWHERE句フィルタを作成します。

このモデルを採用した場合、親子階層の合計レベルの問合せでは、Oracle BIサーバーは集計論理表ソースを選択し、ルート・メンバーのWHERE句フィルタを適用します。詳細レベルの問合せでは、Oracle BIサーバーは詳細表ソースを選択し、事前集計されたメンバー値を返します。いずれの場合でも、各レベルに事前集計されたソースが存在するため、集計ルールがどのように設定されているかは関係ありません。

このアプローチは、問合せが親子階層の合計レベルまたは詳細レベルのいずれかである場合にのみ動作することに注意してください。ただし、親子ディメンションの一意ではない属性によってグループ化された問合せの場合、集計は正しくない可能性があります。たとえば、EmployeeディメンションにLocation属性があり、問合せがEmployee.Locationでグループ化される場合、ある従業員は同じ場所の別の従業員の部下であることが一般的であるため、二重のカウントが生じることになります。このため、ファクト表に事前集計されたメンバー値が含まれている場合は、親子ディメンションの一意ではない属性でグループ化することは避けてください。こうした属性によるグループ化が避けられない場合は、個別のディメンションとしてモデル化する必要があります。

モデルへの親子関係表の追加

下位メンバーからのファクトをロールアップして集計する必要のあるファクト表のメジャーについては、親子関係表が含まれるように物理レイヤーの結合を編集する必要があります。また、適切な論理表ソースにその親子関係表を追加する必要があります。

注意:
親子階層または個別コントリビューション・メジャーに対して事前集計されたデータが含まれているファクト表については、親子関係表を通して結合するのではなく、親子ディメンション表をファクト表と直接結合する必要があります。
これにより、すべての子孫をロールアップするのではなく、事前集計値または個別コントリビューション値が返されるようになります。また、事前集計されたデータがすべてのメンバーに対して移入される状況では、重複カウントを防ぐために親子階層表を論理表ソースに追加しないでください。詳細は、「事前集計済メジャーのモデリング」を参照してください。

親子関係表をモデルに追加するには:

1. 管理ツールのリポジトリの物理レイヤーで物理図を開き、親子関係表とそれに関連するディメンション表およびファクト表を表示します。これを行うには、該当する物理表を右クリックし、「物理図」→「選択されたオブジェクトのみ」を選択します。

2. ディメンション表から各ファクト表への直接結合を削除します。

3. 次に示すように、親子関係表を経由して各ファクト表からディメンション表への結合を作成します。

1. 祖先キーを使用して、親子関係表からディメンション表への結合を作成します。

2. メンバー・キーを使用して、ファクト表から親子関係表への結合を作成します。

図10-6は、ディメンション表からファクト表への親子関係表を通じた結合を示しています。

図10-6 親子関係表を通じた物理レイヤーの結合

4. ビジネス・モデルとマッピング・レイヤーで、親子階層で使用している論理ファクト表の論理表ソースをダブルクリックします。

5. 「論理表ソース」ダイアログの「一般」タブで、「追加」ボタンをクリックします。

6. 物理レイヤー内で親子関係表を見つけ、「選択」をクリックします。

7. 「論理表ソース」ダイアログで「OK」をクリックします。

リレーショナル表をベースとした親子階層の維持

親子階層がリレーショナル表に基づく場合、親子関係表のデータは、ディメンション内のメンバー間関係を正確に反映する必要があります。

親子関係表の作成とデータ移入のためのスクリプトを手動で作成したか、親子関係表の生成ウィザードを使用してスクリプトを作成しました。それらのスクリプトを実行する必要があります。また、階層内の親子関係の整合性を保つために、必要に応じて何度でもスクリプトを適合させる必要があります。通常は、移入スクリプトをETLプロセスに追加して、ディメンション表が更新されたらそのスクリプトも実行されるようにします。

時系列データのモデル化

時系列関数によって期間ごとのビジネス・パフォーマンスを比較することができ、複数の期間にまたがるデータを分析することが可能になります。たとえば、時系列関数を使用して、現在の売上を1年前や1か月前などの売上と比較することができます。

SQLには時間による比較を直接行うための方法がないため、Oracle BIリポジトリ内で時系列データをモデル化する必要があります。最初に、データ・ウェアハウス内の期間表に基づいて時間ディメンションを設定します。次に、この時間ディメンションを活用するメジャーを定義することによって、AGO、TODATE、PERIODROLLINGの関数が使用できるようになります。問合せ時には、時間オフセットの処理を可能なかぎりデータベースにまかせる、高度に最適化されたSQLがOracle BIサーバーによって生成され、最良のパフォーマンスと機能が実現されます。

この項には次のトピックが含まれます:

- 時系列関数について

- 論理時間ディメンションの作成

- AGO、TODATEおよびPERIODROLLINGのメジャーの作成

時系列関数について

時系列関数は、時系列的なディメンションを操作します。特定のディメンションでこれらの関数を使用するには、そのディメンションを時間ディメンションとして指定し、1つ以上のキーを1つ以上のレベルで時系列キーとして設定する必要があります。これらのキーは、ディメンション・レベル内のメンバーの時系列の順序を特定します。

時系列関数には、AGO、TODATEおよびPERIODROLLINGがあります。これらの関数を使用することによって、物理表に別名を付けて論理的にモデル化することなく、時系列計算を行う論理関数を式ビルダーを使用して呼び出すことができます。時系列関数では、SQLの標準の日付操作関数ではなく、データ・ウェアハウス内のカレンダ表に基づいて、AGO関数、TODATE関数およびPERIODROLLING関数を計算します。

図10-7は、時系列関数を使用して導出されたいくつかのメジャーを含むレポートを示しています。

図10-7 時系列関数を使用して導出されたメジャーの例

時間問合せでは様々なグレインが使用できます。次に例を示します。

- 問合せグレイン。要求の中で最も小さな時間グレインです。図10-7のレポートの例では、問合せグレインは月です。

- 時系列グレイン。AGO関数およびTODATE関数で集計またはオフセットを要求するグレインです。図10-7のレポートの例では、時系列グレインは四半期です。時系列問合せは、時系列グレインが問合せグレインと同じか、またはそれより長い場合にのみ有効です。PERIODROLLING関数は時系列グレインを持たず、関数の開始期間と終了期間はユーザーが指定します。

- 記憶域グレイン。図10-7のレポートの例は、毎日または毎月の売上から計算されます。ソースのグレインは記憶域グレインと呼ばれます。問合せが動作するためには、このレベルに時系列キーを定義する必要があります。ただし、問合せグレインにも時系列キーを定義することによって、一般的に大きなパフォーマンスの向上が得られます。

時系列データに対する問合せが問合せキャッシュにヒットするためには、これらが正確に一致している必要があることに注意してください。Oracle BIサーバーの問合せキャッシュの詳細は、『Oracle Fusion Middleware Oracle Business Intelligence Enterprise Editionシステム管理者ガイド』を参照してください。

次の項では、時系列変換の関数を説明しています。

- AGO関数について

- TODATE関数について

- PERIODROLLING関数について

AGO関数について

AGO関数は、過去のデータを表示するために時間ディメンションをオフセットさせます。この関数は比較を行う際に便利です(「ドル」と「1四半期前のドル」の比較など)。2008/08の月における"Dollars Qago"は、2008/05の月における"Dollars"と同じであることに注意してください。

図10-8は、DollarsおよびDollars Qagoのメジャーの値の例を示しています。

図10-8 DollarsおよびDollars Qagoのメジャーの例

図10-8の例では、Dollars QagoのメジャーはDollarsのメジャーから導出されています。

式ビルダーでは、AGO関数には次のテンプレートがあります。

Ago(<<Measure>>, <<Level>>, <<Number of Periods>>)

<<Measure>>は、導出元となる論理メジャーの列を表します。この例では、既存の論理ファクト表からメジャー"Dollars"を選択します。

<<Level>>は、オプションで使用する時系列グレインです。この例では、時間ディメンションから"Quarter"を選択します。

<<Number of Periods>>はオフセットのサイズ(<<Level>>引数で指定されるグレインが単位)です。たとえば、<<Level>>がQuarterで、<<Number of Periods>>が2の場合、この関数は2四半期前のドルを表示します。

この関数テンプレートを使用することによって、次のような1四半期前のメジャーの式を作成することができます。

Ago("Sales"."Base Measures"."Dollars" , "Sales"."Time MonthDim"."Quarter" , 1)

<<Level>>パラメータはオプションです。AGO関数で時系列グレインを指定しない場合、問合せグレインが時系列グレインとして使用されます。

たとえば、Dollars_AgoをAgo(Dollars, 1)として定義したとします。この場合、次の論理問合せを実行できます。

SELECT Month, Dollars, Dollars_Ago

この結果は、Dollars_AgoをAgo(Dollars, Month, 1)として定義した場合と同じです。また、次の論理問合せを実行することもできます。

SELECT Quarter, Dollars, Dollars_Ago

この結果は、Dollars_AgoをAgo(Dollars, Quarter, 1)として定義した場合と同じです。

AGO関数の構文の詳細は、「AGO」を参照してください。

TODATE関数について

TODATE関数は、時系列グレインの開始期間から現在表示されている問合せグレインの期間までのメジャーを合計します。たとえば、図10-9はDollars QTDメジャーを使用したレポートを示しています。このメジャーは、Dollarsメジャーの「現時点までの四半期」バージョンです。

図10-9 DollarsおよびDollars QTDのメジャーの例

図10-9の例では、2008/05の月のDollars QTDは、2008/04と2008/05のドル建ての合計金額です。つまり、Dollars QTDは、現在の時系列グレインの期間(四半期)の、すべての問合せグレイン期間(月)の値の合計です。次の四半期には別の加算が始まります。

図10-9の例では、Dollars QTDのメジャーはDollarsのメジャーから導出されています。

式ビルダーでは、TODATE関数には次のテンプレートがあります。

ToDate(<<Measure>>, <<Level>>)

<<Measure>>は、導出元となる論理メジャーの列を表します。この例では、既存の論理ファクト表からメジャー"Dollars"を選択します。

<<Level>>は、使用する時系列グレインです。この例では、時間ディメンションから"Quarter"を選択します。

この関数テンプレートを使用することによって、次のようなメジャーの式を作成することができます。

ToDate("Sales"."Base Measures"."Dollars" , "Sales"."Time MonthDim"."Quarter" )

問合せグレインは実行時に問合せ自体に指定されることに注意してください。たとえば、このメジャーは日付グレインにおけるその時点までの四半期を表示しますが、加算は四半期の最後まで続きます。

TODATE関数の構文の詳細は、「TODATE」を参照してください。

PERIODROLLING関数について

PERIODROLLING関数では、固定の時系列グレインの中で集計を実行するのではなく、一連の問合せグレインの期間を指定することによって集計を実行します。この関数の最も一般的な使用方法は、移動平均を作成することです(13週間の移動平均など)。

この関数には時系列グレインがないため、移動シーケンスの長さは問合せグレインによって決定されることに注意してください。たとえば、ドルの3期間の移動平均は、問合せグレインが月である場合は過去3か月の平均になり、問合せグレインが年である場合は過去3年の平均になります。

この項では、PERIODROLLING関数を使用して、2つのメジャーを構築する方法について説明します。それらのメジャーは、ドルの3期間の移動合計、およびドルの3期間の移動平均です。図10-10は、これら2つのメジャーを使用したレポートを示しています。

図10-10 ドル、ドルの3期間の移動合計、ドルの3期間の移動平均のメジャーの例

図10-10の例では、ドルの3期間の移動合計のメジャー、およびドルの3期間の移動平均のメジャーはドルのメジャーから導出されています。

式ビルダーでは、PERIODROLLING関数には次のテンプレートがあります。

PeriodRolling(<<Measure>>, <<Starting Period Offset>>, <<Ending Period Offset>>)

<<Measure>>は、導出元となる論理メジャーの列を表します。ドルの3期間の移動合計のメジャーを作成するには、既存の論理ファクト表からメジャー"Dollars"を選択します。

<<Starting Period Offset>>および<<Ending Period Offset>>は、移動集計の最初の期間および最後の期間を指定します。この整数は、表示されている期間からの相対的な期間の数です。図10-10の例では、問合せグレインは月であり、3か月の移動合計は2期間前から始まっており、現在の期間も含まれています。つまり、2008/07の月では、移動合計には2008/05、2008/06および2008/07が含まれます。したがって、ドルの3期間の移動合計のメジャーを作成するには、これらのオフセットは-2と0になります。

この関数テンプレートを使用することによって、次のようなメジャーの式を作成することができます。

PeriodRolling("Sales"."Base Measures"."Dollars" , -2, 0)

図10-10の例には3か月の移動平均も表示されています。このメジャーを計算するには、前に作成した移動合計を3で割って、3期間の移動平均を算出します。なぜ3で割るかというと、移動合計の<<Starting Period Offset>>と<<Ending Period Offset>>のフィールドが-2と0であるからです。

3か月の移動平均の式は次のとおりです。

PeriodRolling("Sales"."Base Measures"."Dollars" , -2, 0) /3

移動平均を作成するのにAVG関数を使用するのは、通常は誤りです。AVGは、記憶域グレインでアクセスされるデータベース行の平均を計算しますが、ここで必要なのは、問合せグレインにおける移動期間の数が分母になる平均です。

PERIODROLLING関数には、オプションの4番目の階層引数があります。この引数では、yr、mon、dayなど、時間ウィンドウの計算に使用する時間ディメンション内の階層の名前を指定します。このオプションは、時間ディメンション内に複数の階層がある場合、または複数の時間ディメンションを区別する場合に便利です。階層引数の詳細、およびこの関数の構文の詳細は、「PERIODROLLING」を参照してください。

論理時間ディメンションの作成

通常のディメンションのモデル化と比較すると、時間ディメンションではさらに2つの手順が必要になります。1つは「論理ディメンション」ダイアログで「時間」オプションを選択することであり、もう1つはすべてのディメンション階層のすべてのレベルに時系列キーを割り当てることです。

時系列データをモデル化する際には、次のガイドラインに従います。

- 時系列関数の使用が意味を持つのは、データ・ソースに履歴が含まれている場合のみです。通常、履歴が含まれるリレーショナル・データベースでは、明示的な時間ディメンション表を持つスター・スキーマまたはスノーフレーク・スキーマを使用します。正規化された履歴データベースは非常にまれですが、それでもスノーフレークに似たスキーマ状のレベルを持つ時間階層が含まれることになります。単純な日付フィールドは適切ではありません。

- Oracle Business Intelligenceでは、時間ディメンションの物理表(または正規化された表のセット)は、関連する物理ファクト表から分離している必要があります。
ただし、どちらかと言えば一般的なソース・スキーマ・パターンは、時間ディメンション列がファクトおよび他のディメンションと同じ表にある完全非正規化関係表またはフラット・ファイルです。これは、時間ディメンションとみなすことはできません。それは、時間ディメンション表はファクト表と結合されているためです。この場合、ソースのモデルを変更できないときは、個別物理時間ディメンション表として機能する時間列を含む物理表の不透明なビューを作成することをお薦めします。この不透明なビューの時間ディメンションは、その後、ファクトを含む物理表に結合する必要があります。

- 物理レイヤーでは、時間ディメンション表(正規化/スノーフレークの場合は最下位の表)は、介在する表を使用せずに直接ファクト表と結合する必要があります。この結合は外部キー結合である必要があります。

- 時間ディメンションを含む物理モデル内の表は、最も詳細なレベルを除き、他のデータ・ソースと結合させることはできません。

- メンバーの値(たとえばリレーショナル・ソース内の行)は、すべての期間、すべての階層レベルにおいて物理的に存在する必要があります。シーケンス内にスキップがあってはいけません。これは、すべての期間においてファクト・データが存在するかどうかとは関係ないことに注意してください。完全である必要があるのは、ディメンション・データのみです。

- "month"、"half"、"year"など、メンバー間の距離のそれぞれの単位は、個別の階層レベルでモデル化する必要があります。

「論理ディメンション」ダイアログでの「時間」オプションの選択

「論理ディメンション」ダイアログの「一般」タブで「時間」オプションを選択すると、このディメンションで時系列関数が有効になります。時系列関数AGO、TODATEおよびPERIODROLLINGで時間ディメンションとして使用できるのは、「時間」オプションが選択された論理ディメンションのみです。

図10-11は、「論理ディメンション」ダイアログの「時間」オプションを示しています。

図10-11 「論理ディメンション」ダイアログの「時間」オプション

各レベルに対する時系列キーの設定

各ディメンション階層のすべてのレベルに時系列キーを割り当てます。時系列キーは、標準のSQL ORDER BY句と同等である必要があります。時系列キーのORDER BY句は、そのキーによって表される時間ディメンション・メンバーの現実的な時系列順序を反映している必要があります。たとえば、時間ディメンション・メンバーがJan-3-2013、Jan-4-2013、Jan-5-2013である場合、同じ順序で次の時系列キー、1、5、9をこれらのメンバーに割り当てることができます。ただし、2、1、3などの時系列キーを割り当てると、その結果はJan-4-2013、Jan-3-2013、Jan-5-2013となって、時系列順序として正しくありません。

Oracle BIサーバーは、時系列キーを使用して、「1月+ 2か月= 3月」など数学的に正しい時系列予測を作成します。すべてのレベル(「合計」レベルを除く)に対して時系列キーを設定し、十分なパフォーマンスを保ってすべてのレベルに対して時系列操作を実行できるようにする必要があります。これにより、何会計月前、何カレンダ年前、何日前など、すべての時間ディメンション階層のすべてのレベルに対してAGO、TODATEまたはPERIODROLLING関数を使用できます。

理論上は、「論理ディメンション」の最下位レベル・キーのみが時系列であれば、時系列関数は正しく処理を実行します。ただし、実際には、これはパフォーマンスの問題を起こします。それは、物理問合せで最も小さいグレインの使用を強制するので、桁違いに多数の行の結合が実行されるためです(たとえば、「年前」に対して「日」のグレインで365回行を結合する)。

あらゆるレベル・キーと同様に、キーはそのレベルにおいて一意であるようにしてください。たとえば、"1月"などのシンプルな月名が含まれている列は、年の名前が含まれている列と連結しないかぎり、一意にはなりません。

図10-12は、「論理レベル」ダイアログで時系列キーを指定する方法を示しています。

図10-12 「論理レベル」ダイアログでの時系列キーの指定

AGO、TODATEおよびPERIODROLLINGのメジャーの作成

ベース・メジャーから派生した式を作成することによって、時系列メジャーを構築することができます。これを行うには、新しい論理列を作成して「式を使用して既存の列から派生」を選択し、式ビルダーを開いて適切な時系列関数を構築します。

時系列関数をモデル化する際には、次のガイドラインに従います。

- 時系列関数は、断片化形式のフェデレーションを使用するメジャーから派生できません。このルールによって、1つのソースのいくつかの時間ディメンション行を別のソースのファクト行のいくつかに結合する必要性など、問合せ生成と結果のマージにおけるいくつかの複雑な境界条件とクロスソースの仮定を回避できます。メンテナンスを軽減し、正確さを高めるために、1つの基準となるメジャーを作成し、それから時系列メジャーのファミリを派生させることをお薦めします。たとえば、基準となるメジャーから始めて、月前、年前、過去1か月間などのバリエーションを定義します。これを行うには、「式を使用して既存の列から派生」を選択し、式で基準となるメジャーを参照します。

例10-5は、AGOメジャーを構築する方法を示しています。他の時系列関数(TODATEおよびPERIODROLLING)の構文の詳細は、付録C「論理SQLリファレンス」を参照してください。

例10-5 AGOメジャーの作成

この例では、Sampleappデモンストレーション・リポジトリにAGOメジャーの派生を作成する方法について説明します。

1. ビジネス・モデルとマッピング・レイヤーで、新しい論理列を作成します。列の名前は2-04 Billed Qty (Mago)とします。

2. 「列ソース」タブで「式を使用して既存の列から派生」を選択し、「式ビルダー」ボタンをクリックします。

3. 式ビルダーで、Ago関数を選択し、引数のテンプレートを作成します。これを行うには、「カテゴリ」ペインで「関数」を選択し、「関数」ペインで「時系列関数」を選択し、「時系列関数」ペインで「Ago」を選択します。
図10-13は、式ビルダーにおけるAGO関数を示しています。

図10-13 式ビルダーにおけるAGO関数

4. 1番目の引数であるMeasureを選択し、選択ペインを使用して、この列の派生元となるベース・メジャーを選択します。この例では、"Sample Sales"."F0 Rev Base Measures"."2-01 Billed Qty (Sum All)"を選択します。

5. 2番目の引数であるLevelを選択し、選択ペインを使用してagoのオフセットの単位を選択します。時間ディメンション内に構築された時系列キーを利用できるようにするため、この単位は時間ディメンションのレベルとして定義する必要があります。この例では、「カテゴリ」ペインで「時間ディメンション」を選択し、「時間ディメンション」ペインでHO Timeを選択し、HO Timeペインで「月」を選択します。
図10-14は、式ビルダーの月のレベルを示しています。

図10-14 式ビルダーにおけるレベル引数の選択

6. 3番目の引数であるNumber of Periodsを選択し、このメジャーで使用するオフセットのサイズを入力します。この例では、1を入力します。

7. 「式ビルダー」ダイアログで「OK」をクリックし、「論理列」ダイアログで「OK」をクリックします。

11 論理表ソース(マッピング)の管理

この章では、Oracle BIリポジトリの「ビジネス・モデルとマッピング」レイヤー内の論理表ソース・オブジェクトとそれらのマッピングの作業方法について説明します。

この章には次のトピックが含まれます:

- 論理表ソースについて

- 論理表ソースの作成

- 論理表ソースの優先度グループ番号の設定

- 物理から論理表ソースへのマッピングの定義と計算項目の作成

- 論理表ソースのコンテンツの定義

- 論理表ソースの親子設定に関する作業

- 集計対象のファクト・データのソース作成による集計ナビゲーションの設定

- 集計ナビゲーションの断片化の内容の設定

論理表ソースについて

論理表ソースは、1つの論理表から1つ以上の物理表へのマッピングを定義します。物理レイヤーとビジネス・モデルとマッピング・レイヤーとの間で発生する変換を指定したり、集計ナビゲーションや断片化を可能にしたりする場合にも、物理から論理へのマッピングが使用されることもあります。

論理表ソースは、「ビジネス・モデルとマッピング」レイヤーのペインと、「論理表」ダイアログの「ソース」タブから表示できます。

論理表には、多数の物理表ソースがあることがあります。1つの論理列が、列にマップされた集計表(問合せがその列に対する該当するレベルの集計を要求している場合)など複数の物理表の多数の物理列にマップされていることがあります。

この項には次のトピックが含まれます:

- 問合せに回答するためにファクト論理表ソースを選択する方法

- 問合せに回答するためにディメンション論理表ソースを選択する方法

- 複数ソースのデータの整合性の確認

問合せに回答するためにファクト論理表ソースを選択する方法

システムでは、問合せに回答するためのファクト論理表ソースの選択で、次の基準が使用されます。これらの基準は、優先度の高いものから低いものへという順番で記載されています。

1. 論理表ソースの優先度グループ。論理表ソースは、優先度の高いものから順番に使用されます。これは、より優先度の高いソースがより詳細なグレイン・レベルにある場合でも当てはまります。数値が低いほど優先度が高くなることに注意してください。詳細は、「論理表ソースの優先度グループ番号の設定」を参照してください。

2. 論理表ソースのグレイン。優先度グループ番号が同じである場合、論理表ソースは、グレイン・レベルの高いものから順番に使用されます。

3. このレベルの要素数。グレインの比較ができない場合は、「このレベルの要素数」フィールドに指定されている数値が考慮されます。
たとえば、LTS1(year, city)とLTS2(month, state)という、グレインの比較ができない2つの論理表ソースがあるとします。10年、100市、120か月および9都道府県という要素がある場合、LTS1の最悪ケース・サイズは10 x 100 = 1000、LTS2の最悪ケース・サイズは120 x 9 = 1080となります。要素数の合計が最も少ないソースが最も高速であると想定されるため、このシナリオでは、LTS1が選択されます。

このフィールドの詳細は、「ディメンション内の論理レベルの作成」を参照してください。

4. リストされている最初の論理表ソース。他のすべての基準が等しい場合、「ビジネス・モデルとマッピング」レイヤーに示されているように、リストされている最初の論理表ソースが選択されます。

問合せ内のすべての列は、これらの予期されるパフォーマンス要因に基づいて単一の論理表ソースから提供されるものであることに注意してください。問合せでは、複数の論理表ソース間での負荷分散は行われません。

問合せに回答するためにディメンション論理表ソースを選択する方法

適切なファクト論理表ソースが選択された後、システムは、問合せに回答するための最適なディメンション論理表ソースを選択します。

システムでは、ディメンション論理表ソースの選択で、次の基準が使用されます。これらの基準は、優先度の高いものから低いものへという順番で記載されています。

1. 論理表ソースの優先度グループ。ファクト論理表ソースと同様に、優先度の高いディメンション論理表ソースが優先度の低いディメンション論理表ソースよりも先に使用されます。数値が低いほど優先度が高くなることに注意してください。

2. 低い結合コスト。優先度グループのメンバーが同じである場合、結合コストの最も低いディメンション論理表ソースが、結合コストの高いディメンション論理表ソースよりも先に選択されます。

3. 上位レベル。優先度グループと結合コストが同じである場合は、上位レベルの論理表ソースが選択されますが、その理由は、論理表ソースでは結合する行数の低減が要求される可能性があるためです。

ディメンション論理表ソースのデフォルト選択基準の変更

オプションとして論理表ソースのデフォルトの選択基準を変更して、上位レベルの論理表ソースを検討する前に、ファクト論理表ソースと同じレベルにあるディメンション論理表ソースを優先させることができます。これを行うには、セッション変数DIMENSION_LTS_JOIN_RESTRICTIONSをPREFER_SAME_LEVELに設定します

ファクト論理表ソースと同じレベルに適切なディメンション論理表ソースが存在しない場合は、ファクトに結合可能な最上位のディメンション論理表ソースが選択されます。これらの要因は、優先度グループと結合コストの後にのみ検討されます。

セッション変数DIMENSION_LTS_JOIN_RESTRICTIONSのPREFER_SAME_LEVEL値によって、問合せに回答するためにディメンション論理表ソースを選択する際の基準が次のように設定されます。

1. 論理表ソースの優先度グループ

2. 低い結合コスト

3. ファクト論理表ソースと同じレベル

4. ファクト論理表ソースと同じレベルに他の論理表ソースがない場合、その他のディメンション論理表ソースよりも上位である

DIMENSION_LTS_JOIN_RESTRICTIONSがNONEに設定されている場合(デフォルト値)、ファクトと同じレベルに別の結合可能なディメンション論理表ソースが存在する場合であっても、ファクト論理表ソースを上位のディメンション論理表ソースに結合することができます。

複数ソースのデータの整合性の確認

ソース内のデータの整合性を確認することが重要です。たとえば、時間ディメンションに対する年レベルの論理表ソースと月レベルの論理表ソースは同じ期間をカバーしている必要があります。

ソース内のデータに関する整合性の問題は、null抑止をオーバーライドする問合せを発行したときに(つまり、回答に分析を作成して「NULL値を含む」を選択したときに)、顕在化することがあります。たとえば、集計表によっては、nullファクト値に対応するディメンション・レコードが含まれていないことがあります。たとえば、売上のなかった年度を含まない年次売上集計表などが考えられます。つまり、結果に含まれるnull値に対して、年次ディメンションのすべての年度が存在している必要があります。

分析でのnull抑止のオーバーライドの詳細は、『Oracle Fusion Middleware Oracle Business Intelligence Enterprise Editionユーザーズ・ガイド』のNull抑止に関する項を参照してください。

論理表ソースの作成

物理レイヤーからのドラッグ・アンド・ドロップによって論理表と列を作成すると、論理表ソースは自動的に生成されます。手動で論理表を作成する場合は、ソースも手動で作成する必要があります。

複数の物理表を情報のソースにする場合も、新しい論理表ソースを追加します。たとえば、売上に関する情報は多くの表に含まれていることがあります。売上情報の取得元として、それぞれに独自の注文システムを持つ3つの異なるビジネス・ユニットが存在するかもしれません。また別の例では、注文システムまたは財務システムから定期的に売上情報をまとめて、その表をより高次のレポートで使用するかもしれません。

論理表ソースの全般的なプロパティを定義するには、「論理表ソース」ダイアログの「一般」タブを使用します。

論理表ソースを作成するには:

1. 管理ツールのビジネス・モデルとマッピング・レイヤーで論理表を右クリックし、「新規オブジェクト」→「論理表ソース」を選択します。

2. 「論理表ソース」ダイアログの「一般」タブで、論理表ソースの名前を入力します。

3. 「無効」を選択してこの論理表ソースを非アクティブにするか、選択を解除したままにしてこの論理表ソースをアクティブにします。

4. 「マップされていない表を許可」を選択し、論理列にマップされていない物理表をこの論理表ソースに含められるようにします。このオプションは、「A > B > C」構成のスノーフレーク物理表に便利です。その構成では、論理表は、AとCの列にのみマップされていますが、AとCの間の結合パスにBがあるため、それを論理表ソースに含める必要があります。

5. 「追加」ボタンをクリックします。「参照」ダイアログで、結合を参照したり、論理表ソースの表を選択したりすることができます。論理表ソース内に複数の表がある場合は、それらすべての表の間に結合が定義されている必要があります。

6. 結合を参照するには、「参照」ダイアログで「表示」をクリックします。「物理表」ダイアログで結合を確認したら、「取消」をクリックします。

7. 表ソースに表を追加するには、「名前」リストで目的の表を選択し、「選択」をクリックします。

8. オプションで、「優先度グループ」フィールドに、この論理表ソースの優先度グループ番号を入力します。詳細は、「論理表ソースの優先度グループ番号の設定」を参照してください。

9. 「論理表ソース」ダイアログで「列マッピング」タブをクリックし、各フィールドに入力します。詳細は、「物理から論理表ソースへのマッピングと計算項目の作成」を参照してください。

10. 「論理表」ダイアログで「コンテンツ」タブをクリックし、各フィールドに入力します。詳細は、「論理表ソースのコンテンツの定義」を参照してください。

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

論理表ソースの優先度グループ番号の設定

問合せで要求された列のセットを満たす論理表ソースが複数存在する場合、問合せでどの論理表ソースが使用されるかを決定するために、優先度グループ番号を設定することができます。

たとえば、データ・ウェアハウスとOLTPソースのいずれでも実現可能なユーザー問合せが存在するとします。業務系システムへのアクセスはコストが高く、データ・ウェアハウスへのアクセスはコストが低い場合がよくあります。この場合、データ・ウェアハウスに高い優先度を割り当てることによって、すべての問合せは可能なかぎりデータ・ウェアハウスによって実現されるようにすることができます。

特定の論理表ソースに優先度グループを割り当てても、必ずしもそのソースによって問合せが実現されるとは限らないことに注意してください。優先度グループの割当ては、特定の問合せで選択される論理表ソースを決定する際にOracle BIサーバーが使用する多くの要素の1つでしかありません。ただし、論理表ソースの優先度は最も重要なメトリックであり、他のコスト・メトリックの前に考慮されます。

優先度グループ番号を割り当てるには、論理表ソースを数値でランク付けします(0が最も優先度の高いソースです)。複数のソースに同じ番号を割り当てることができます。たとえば、2つの論理表ソースに優先度グループ0を割り当て、別の2つの論理表ソースに優先度グループ1を割り当てることができます(以下同様)。2つの優先度グループ(0と1)しか必要ない場合がよくあります。

優先度グループの割当てはオプションです。デフォルトでは、すべての論理表ソースに優先度0が設定されます。

問合せの実行時に、論理表ソースの通常の優先度ランキングを逆にしたい場合があります。これを行うには、セッション変数およびリクエスト変数と、論理表ソースの優先度グループの組合せを使用します。この機能によって、ユーザーの好みに応じて実行時にソースを動的に選択する方法が提供されます。

この動的な選択を実現するには、最初にリポジトリ内にREVERSIBLE_LTS_PRIORITY_SA_VECセッション変数を作成する必要があります。この変数は、行単位のセッション初期化ブロックを使用する文字列ベクトル・セッション変数として作成します。REVERSIBLE_LTS_PRIORITY_SA_VECには、論理表ソースの優先度ランキングの反転をユーザーに許可するサブジェクト・エリアのリストを設定します。優先度ランキングの反転を有効にするには、この変数を定義する必要があります。

優先度ランキングの反転を許可する一連のサブジェクト・エリアを定義すると、ユーザーは問合せにリクエスト変数REVERSE_LTS_PRIORITYを含めることによって、論理表ソースの優先度ランキングを反転させることができます。このリクエスト変数に1を設定すると論理表ソースの優先度は逆になり、0を設定すると通常の優先度のままになります。

問合せの実行時にリクエスト変数を使用する以外の別の方法として、論理表ソースの優先度を永続的に反転させるサブジェクト・エリアのセットをあらかじめ定義しておくという方法があります。これを行うには、リポジトリ内にセッション変数REVERSED_LTS_PRIORITY_SA_VECを作成します。この変数は、行単位のセッション初期化ブロックを使用する文字列ベクトル・セッション変数として作成します。REVERSED_LTS_PRIORITY_SA_VECには、論理表ソースの優先度を永続的に逆にするサブジェクト・エリアのリストを設定します。

管理ツールでセッション変数を定義する方法の詳細は、「セッション変数の作成」を参照してください。

REVERSIBLE_LTS_PRIORITY_SA_VECの例

SUBJECT_AREA_NAMEとREVERSIBLEの2つの列を持つSA_TABLEという名前の表を作成します。この表には、次に示すように、サブジェクト・エリアの名前をその反転値(1または0)にマッピングする行を格納しておきます。

SUBJECT_AREA_NAME

REVERSIBLE

my_sa_1

1

my_sa_2

0

次に、行単位のセッション初期化ブロックを持つ、REVERSIBLE_LTS_PRIORITY_SA_VECという名前の文字列ベクトル・セッション変数を作成します。この初期化ブロックの初期化文字列は次のようになります。

SELECT 'REVERSIBLE_LTS_PRIORITY_SA_VEC', SUBJECT_AREA_NAME FROM SA_TABLE
WHERE REVERSIBLE=1

図11-1は、この例における「セッション変数初期化ブロック」ダイアログを示しています。

図11-1 REVERSIBLE_LTS_PRIORITY_SA_VECの例における「セッション変数初期化ブロック」ダイアログ

物理から論理表ソースへのマッピングの定義と計算項目の作成

論理列を物理列にマップするには、「論理表ソース」ダイアログの「列マッピング」タブを使用します。物理から論理へのマッピングは、物理レイヤーと、ビジネス・モデルとマッピング・レイヤーの間の変換を指定するのにも使用されます。この変換は、整数データ型を文字に変更するような単純なものから、数式を使用して単位人口あたりの売上の比率を算出するような複雑なものまで利用できます。これらの変換を適用することは、通常「計算項目の作成」と呼ばれます。

論理列のデータ型は、その列の論理表ソースへのマッピングによって決定されます。たとえばある論理列が、null値不可のVARCHAR(50)のデータ型を持つ1つの物理ソースと、null値可能なVARCHAR(20)のデータ型を持つ別の物理ソースにマッピングされている場合、この論理列のデータ型はnull値可能なVARCHAR(50)になります。この最終的な型はプロモートされた型と呼ばれます。論理表ソースのマッピングを管理するルールによって、物理ソースをプロモート不可能なデータ型にマップすることはできません(INTとVARCHARのマッピングなど)。

論理列を物理列にマッピングするには:

1. 管理ツールのビジネス・モデルとマッピング・レイヤーで、論理表ソースをダブルクリックします。

2. 「論理表ソース」ダイアログで「列マッピング」タブをクリックします。

3. 「列マッピング」タブで、すべてのコンテンツが表示されるようにダイアログを最大化または拡大します(図11-2を参照)。
「列マッピング」タブの「論理列から物理列へのマッピング」エリアでは、列の見出しをクリックすることによって列をソートすることができます(昇順、降順、元の順序の復元を切り替えることができます)。

図11-2 「論理表ソース」ダイアログの「列マッピング」タブ

4. 「物理表」列で、マップする列を含む表を選択します。
「物理表」列内のセルを選択すると、リストが表示されます。ここには、この論理表ソース内に現在含まれている表のリストが表示されます。

5. 「式」列で、各論理列に対応する物理列を選択します。
「式」列内のセルを選択すると、リストが表示されます。ここには、この論理表ソース内に現在含まれている物理列のリストが表示されます。

6. 式ビルダーを開くには、「式ビルダー」ボタンをクリックします。
物理式の作成に使用されるすべての列は、論理表ソース内に含まれる表の中にある必要があります。ソースに含まれていない表内の列を含む式は作成できません。

式ビルダーを使用して計算項目を作成することができます。計算項目内の数式は、事前集計を実際に適用したものです。たとえば、units_sold列およびunit_weight列を使用したメジャー"tons sold"を作成するには、事前集計の数式(fact.units_sold*product.unit_weight)を適用し、メジャー・オブジェクト内に集計ルールSUMを適用します。別の例として、アンサーや他のクライアントに高速に表示するために、CASTを使用してTIMESTAMP型の列をDATE型の列に変換するという使用法があります(例: CAST("DB"."."TABLE"."COL" AS DATE))。

物理データの変換を実行する式を作成することによって、ソースを適合させることもできます。たとえば、CAST関数を使用して文字データ型の列を整数データ型に変換することによって、別の論理表ソースからのデータを一致させることができます。他の例として、CONCATENATEまたは数学関数を使用して、物理データに対して同様の変換を実行する方法があります。

集計後に必要な計算は、「派生列の作成」を参照してください。

7. 列マッピングを削除するには、「削除」ボタンをクリックします。「削除」ボタンを見つけるには、右にスクロールしなければならない場合があります。

8. 該当する列のマップが終わったら、「OK」をクリックします。

論理列とソースのアンマップ

「論理列」ダイアログの「列ソース」タブには、論理列に関する情報があります。列のデータの導出元となる論理表ソースを編集したり、ソースからアンマップしたりすることができます。

論理列とソースをアンマップするには:

1. 管理ツールのビジネス・モデルとマッピング・レイヤーで、論理列をダブルクリックします。

2. 「論理列」ダイアログで「列ソース」タブをクリックします。

3. 「論理表ソース」のリストでソースを選択し、「アンマップ」をクリックします。

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

論理表ソースのコンテンツの定義

ソースを正しく使用するには、Oracle BIサーバーはビジネス・モデルの観点で各ソースに何が含まれているかを知る必要があります。したがって、ファクト表の各論理表ソースの集計内容を定義する必要があります。集計内容のルールは、このファクト表内に格納されているデータの粒度のレベルを定義します。このファクト論理表に関連する各ディメンションに対して粒度のレベルを定義します(関連するすべてのディメンションが定義されるようにします)。詳細は、「集計対象のファクト・データのソース作成による集計ナビゲーションの設定」を参照してください。

論理表のソースが断片のセットである場合、すべての断片を同じ列のセットにマップする必要はありません。ただし、列のマップの方法に応じて、サーバーは異なる回答を返します。

- 論理表のすべての断片が同じ列のセットにマップされている場合、断片化されたソースのセットは、その論理表の論理表ソースの全体的なユニバースであると見なされます。これは、断片のセットに基づいてメジャーの集計が計算されることを意味します。

- マップされた列のセットが断片間で異なる場合は、Oracle BIサーバーは、断片がすべて揃ってなく(いくつかの断片が欠けているため)、集計ロールアップの計算を行うことは不適切であると想定します。この場合、メジャー集計としてサーバーからNULLが返されます。

注意:
すべての断片を同じ列のセットにマップすることをお薦めします。

「論理表ソース」ダイアログの「コンテンツ」タブを使用して、すべての集計表のコンテンツの定義、ソースの断片化された表の定義、およびWHERE句(返される行数を制限する場合)を定義します。詳細は、「集計ナビゲーションの断片化の内容の設定」を参照してください。

ディメンション表からファクト表への結合が存在することの確認

このソース・コンテンツ情報は、Oracle BIサーバーに対して、適切な物理集計ファクト表に問合せを送信するために知る必要のある情報を伝えます(適切な物理集計ディメンション表内の値に結合され、その値によって制約される)。物理レイヤーの集計ファクト表と集計ディメンション表の間に結合が存在することを確認してください。

結合を確認するための推奨方法の1つに、ファクト論理表を選択し、ビジネス・モデル図(「選択された表と直接結合」)を開くという方法があります。この図には、このファクト論理表に直接結合されているディメンション論理表のみが表示されます。論理ファクトおよびディメンション・ソース内で同じ物理表が使用されている場合は、ディメンション表は表示されません。

図11-3は、ビジネス・モデル図(「選択された表と直接結合」)のビューに「Fact - Assess」ファクト論理表が表示される様子を示しています。

図11-3 ファクト表の直接結合のビジネス・モデル図

表11-1は、図11-3に示されている「Fact - Assess」ファクト表に直接結合されている各ディメンション表の論理レベルのリストです。

表11-1 「コンテンツ」タブに表示されるディメンションおよび論理レベル

ディメンション

論理レベル

Account Geography

Postal Code Detail

Person Geography

Postal Code Detail

Time

Day Detail

Account Organization

Account Detail

Opportunity

Opty Detail

Primary Visibility Organization

Detail

Employee

Detail

Assessment

Detail

Contact (W_PERSON_D)

Detail

FINS Time

Day

Positions

Details

論理表ソースのコンテンツ定義を作成するには:

1. 管理ツールのビジネス・モデルとマッピング・レイヤーで、論理表ソースをダブルクリックします。

2. 「論理表ソース」ダイアログで「コンテンツ」タブをクリックし、表11-2に基づいて次の手順を実行します。

3. 論理ソースが集計表であり、論理ディメンションを定義している場合は、「集計の内容、グループ化」のリストから「論理レベル」を選択します。次に、「論理レベル」のリストから、論理ファクト表の結合先となる各論理ディメンション表の適切なレベルを選択します。
総計レベルを指定している場合を除き、すべてのディメンションに論理レベルを指定する必要があります。レベルが指定されていないディメンションは、最も詳細なレベルであると解釈されます。

注意:
論理レベルまたは列ごとに集計コンテンツを指定するオプションもありますが、論理レベルのみを使用することをお薦めします。列ごとにコンテンツを定義する必要がある場合は、次の操作を実行します。

1. 「集計の内容、グループ化」のリストから「列」を選択します。

2. 「表」ペインで、ソースの集計レベルを定義する各論理ディメンション表を選択します。

3. 「列」ペインで、集計のグループ化の方法を定義する各ディメンションの論理列を選択します。
使用可能な論理列が複数ある場合は、ソースの物理表のキーにマップされる列を選択します。たとえば、Regionの論理レベルでデータが集計される場合は、Region表のキーにマップされる論理列を選択します。

1つのビジネス・モデル内では、論理レベルによる集計と列による集計を混在させないようにしてください。

4. ソースの断片化された表の定義を指定するには、「断片化の内容」ボックスを使用して、ソースが集計の特定のレベルのデータの部分を表す場合にソースに含まれる値の範囲を記述します。
ボックスに計算式を直接入力することも、ボックスの右にある「式ビルダー」ボタンをクリックすることもできます。「断片化の内容」の「式ビルダー」で、既存の論理列に関するコンテンツを指定できます。詳細は、「集計ナビゲーションの断片化の内容の設定」を参照してください。

5. 「このソースはこのレベルの他のソースと組み合せる必要がある」を選択します。
このオプションは、同じ集計レベルに複数のソースがある場合にのみ有効です。たとえば、ある論理表ソースは名字がA - Mで始まる人のレコードを指し示し、別の論理表ソースは名字がN - Zで始まる人のレコードを指し示す場合がこれに該当します。

6. (オプション)結果表でソースによって使用される行数を制限するには、「このWHERE句フィルタを使用して、返される行を制限します(WHEREを除く)」というラベルのボックスにWHERE句フィルタを指定します。WHERE句を直接入力するか、「式ビルダー」ボタンをクリックして、「式ビルダー」を開き、WHERE句を作成して「OK」をクリックできます。
詳細は「WHERE句フィルタについて」を参照してください。

7. ソースの値が一意である場合は、「個別値の選択」オプションを選択します。

表11-2 「論理表ソース」の「コンテンツ」タブのオプション

オプション

説明

集計の内容、グループ化

コンテンツの集計方法です。

「詳細」ボタン

「詳細」をクリックすると次のオプションが表示されます。

- コピー。(ファクト表のみで利用可能)集計コンテンツをWindowsのクリップボードにコピーします。Dimension.Level情報をテキスト・エディタに貼り付けたり、これを使用して文書内の検索や文書への追加を行うことができます。
式が空の場合、「コピー」は使用できないことに注意してください。

- コピー元。(ファクト表およびディメンション表にのみ使用可能)集計内容を、同じビジネス・モデルの別の論理表ソースからコピーします。集計内容のコピー元のソースを指定する必要があります。(複数のビジネス・モデルが表示されますが、現在のビジネス・モデルの論理表ソースのみが選択可能です。)

- レベルの取得。(ファクト表のみで利用可能)集計コンテンツを変更します。ファクト表のソースとディメンション表のソースの間に結合が存在しない場合(たとえば両方のソース内に同じ物理表がある場合)、管理ツールによって決定される集計コンテンツには、このディメンションの集計コンテンツは含まれません。

- レベルのチェック。(ファクト表にのみ使用可能)論理ファクト表ソース(ディメンション表ソースではない)の集計内容をチェックします。返される情報は、ディメンション表ソースの表とファクト表ソースの表との間における物理結合、および論理レベルと論理キーを持つ階層およびディメンションの存在に応じて異なります。(ファクト・ソースとディメンション・ソースに同じ表が存在しており、それらのソースの表の間に物理結合がない場合は、「レベルのチェック」には、このディメンションの集計内容は含まれません。)

断片化の内容

データ・ソースの内容のビジネス・モデルの観点からの説明です。同じレベルの集計の情報がデータの値に応じて複数の表に分割される場合、データは断片化します。一般的な状況として、期間によってデータが断片化することがあります。詳細は、「集計ナビゲーションの断片化の内容の設定」を参照してください。

このソースはこのレベルの他のソースと組み合せる必要がある

同じレベルの集計のデータ・ソースに重複する情報が含まれない場合、このオプションを選択します。この場合、集約のこのレベルにおける完全な情報を得るには、すべてのソースが結合される必要があります。

個別値の選択

ソースの値が一意である場合に使用します。

WHERE句フィルタについて

WHERE句フィルタは、論理表ソース内で参照される物理表を制約するのに使用されます。集計ソースに制約がない場合は、WHERE句フィルタは空のままにします。

各論理表ソースには、集計レベルの単一の交差のデータが含まれている必要があります。たとえば、BrandとManufacturerの両方のレベルに販売データを持つようなソースは作成したくない場合があります。物理表内の複数のレベルにデータが含まれている場合は、適切なWHERE句制約を追加して、単一のレベルになるように値をフィルタ処理します。

WHERE句フィルタのすべての制約は、ソース内の物理表に対して作成されます。

論理表ソースの親子設定に関する作業

論理表が、リレーショナル表をベースとする親子階層を持つディメンションの一部である場合があります。この場合、この論理表には、物理ソースと、親子階層で必要となる親子関係表のソースの両方が含まれます。親子関係表は、親子階層のメンバー間の関係を明示的に定義します。

通常、親子関係表の論理表ソースは、親子表の生成ウィザードによって作成されたスクリプトを実行すると自動的に作成されます。このウィザードには「親子表の設定」ダイアログからアクセスします(ディメンション・オブジェクトで利用可能です)。

注意:
親子表の生成ウィザードの機能は、「論理表ソース」ダイアログからは利用できません。親子関係表を生成するためのスクリプトを作成するには、ディメンション・オブジェクトに移動する必要があります。

親子関係表ソースの詳細は、「論理表ソース」ダイアログの「親子設定」タブで確認できます。このタブには次の情報が表示されます。

- 親子表: ソースのベースとなっている親子関係表の名前が表示されます。

- メンバー・キー: 親子関係表内でメンバーを特定する列の名前です。

- 親キー: 親子関係表内でメンバーの祖先を特定する列の名前です。

- 関係性: 親子関係表内で、メンバーから祖先までの親子階層のレベル数を指定する列の名前です。

- リーフ・ノード識別子: 親子関係表内でメンバーがリーフ・メンバーであるかどうかを識別する列の名前です(1=はい、0=いいえ)。

親子関係表の詳細は、「親子階層のディメンションの作成」を参照してください。

集計対象のファクト・データのソース作成による集計ナビゲーションの設定

集計表には、ディメンション属性のセットに対して集計される、あらかじめ計算されたメジャーからの結果が格納されます。集計表の各列には、特定のレベルのセットのデータが含まれます。たとえば、月間売上表には、各月の各店舗での各製品の収益の合計があらかじめ計算されて含まれます。このメタデータは、「論理表ソース」ダイアログの「コンテンツ」タブで構成します。

集計ファクト表の論理表ソースを作成するには、対応する論理ディメンション表ソースを同じ集計レベルに作成する必要があります。

集計の各レベルに1つ以上の論理ディメンション表ソースが必要になります。各レベルにソースがすでに存在する場合は、新しいソースを作成する必要はありません。

たとえば、製品ごと、店舗ごと、月ごとの売上の事前計算された合計を格納する月次販売ファクト表があるとします。次の3つの別のディメンション表ソースが必要になります(この例で参照される各論理ディメンション表に1つずつ)。

- 次のコンテンツの指定のいずれかを満たす製品論理表のソース:

- 論理レベルによる: ProductDimension.ProductLevel

- 列による: Product.Product_Name

- 次のコンテンツの指定のいずれかを満たす店舗論理表のソース:

- 論理レベルによる: StoreDimension.StoreLevel

- 列による: Store.Store_Name

- 次のコンテンツの指定のいずれかを満たす時間論理表のソース:

- 論理レベルによる: TimeDimension.MonthLevel

- 列による: Time.Month

問合せの実行時には、Oracle BIサーバーは最初に、問合せに回答するのに十分な詳細を持つソースがどれであるかを判断します。Oracle BIサーバーはこれらのソースから、問合せに回答するのに最も集計の度合いが高いソースを選択します(それが最も高速であると想定されるため)。最も集計の度合いの高いソースは、要素の乗数が最も小さいソースです。各レベルの要素数の指定の詳細は、「ディメンション内の論理レベルの作成」を参照してください。

集計ナビゲーションの断片化の内容の設定

指定されたレベルのデータのセット全体が論理表ソースに含まれていない場合、実際に含まれているセットの一部(断片)を指定する必要があります。「論理表ソース」ダイアログの「コンテンツ」タブの「断片化の内容」ボックスに、論理列に基づくコンテンツの説明を入力します。

この項の例では、ソースの断片化の内容を指定する際のテクニックおよびルールを示しています。

この項には次のトピックが含まれます:

- 単一列の値ベースの述語のための断片化の内容の指定

- 単一列の範囲ベースの述語のための断片化の内容の指定

- 集計表の断片のための断片化の内容の指定

単一列の値ベースの述語のための断片化の内容の指定

IN述語は、1つの等価述語、またはOR結合で区切られた複数の等価述語で置き換えることができます。

断片1:

logicalColumn IN <valueList_1>

断片n:

logicalColumn IN <valueListN>

単一列の範囲ベースの述語のための断片化の内容の指定

断片1:

logicalColumn >= valueof(START_VALUE) AND logicalColumn < valueof(MID_VALUE_1)

断片2:

logicalColumn >= valueof(MID_VALUE_1) AND logicalColumn < valueof(MID_VALUE_2)

断片n:

logicalColumn >= valueof(MID_VALUEN-1) AND logicalColumn < valueof(END_VALUE)

開始点、中間点、終了点は注意深く選択してください。

注意:
>=述語および<述語を使用して、断片の内容の記述が重ならないようにしてください。各断片では、上限値は<として表す必要があります。<=を使用するとエラーが発生します。同様に、BETWEEN述語を使用して断片の範囲の内容を記述することはできません。

ここで参照されるvalueofはリポジトリ変数の値です。式の中でリポジトリ変数を使用する場合、次の構文は断片2に対して動作しないことに注意してください。

logicalColumn >= valueof(MID_VALUE_1)+1 AND logicalColumn < valueof(MID_VALUE_2)

valueof(MID_VALUE1)+1のかわりに別のリポジトリ変数を使用します。

同じ変数(たとえばvalueof(MID_VALUE1))が両方の断片の内容に含まれている必要はありません。別の変数を設定し、次の形式の文を作成することができます。

断片1:

logicalColumn >= valueof(START_VALUE) AND logicalColumn < valueof(MID_VALUE_1)

断片2:

logicalColumn >= valueof(MID_VALUE_2) AND logicalColumn < valueof(MID_VALUE_3)

変数の詳細は、第19章を参照してください。

複数列のコンテンツ記述の指定

各コンテンツ・フィルタには、異なる列に任意の数の述語を含めることができます。各列の述語は値ベース、範囲ベースのいずれでも構いません。

断片1:

<logicalColumn1 predicate> AND <logicalColumn2 predicate > ... AND <logicalColumnM predicate>

断片n:

<logicalColumn1 predicate> AND <logicalColumn2 predicate > ... AND <logicalColumnM predicate>

すべての断片が同じM列に述語を持つのが理想的です。論理列に述語制約がない場合、Oracle BIサーバーは断片にその列のすべての値のデータが含まれていると想定します。OR述語の使用における例外については、「並列コンテンツ記述の指定」を参照してください。

並列コンテンツ記述の指定

残念ながら、前述のテクニックでは日付を扱うのに十分ではありません。なぜなら、論理列の中に複数の階層関係があるからです(年→年月→日、月→年月→日など)。たとえば、年と月など、異なる時点によって示される断片を考えます。履歴断片の選択のみを可能にするのであれば、年にさかのぼって制約を適用することで十分です。これは、次の例に示すように、並列のORテクニックによってサポートされます。この例では、スナップショットの月は1999年4月1日午前12:00であると想定しています。

断片1(履歴):

EnterpriseModel.Period."Day" < VALUEOF("Snapshot Date") OR
EnterpriseModel.Period.MonthCode < VALUEOF("Snapshot Year Month") OR
EnterpriseModel.Period."Year" < VALUEOF("Snapshot Year") OR
EnterpriseModel.Period."Year" = VALUEOF("Snapshot Year") AND
EnterpriseModel.Period."Month in Year" < VALUEOF("Snapshot Month") OR
EnterpriseModel.Period."Year" = VALUEOF("Snapshot Year") AND
EnterpriseModel.Period."Monthname" IN ('Mar', 'Feb', 'Jan')

断片2(現在):

EnterpriseModel.Period."Day" >= VALUEOF("Snapshot Date") OR
EnterpriseModel.Period.MonthCode >= VALUEOF("Snapshot Year Month") OR
EnterpriseModel.Period."Year" > VALUEOF("Snapshot Year") OR
EnterpriseModel.Period."Year" = VALUEOF("Snapshot Year") AND
EnterpriseModel.Period."Month in Year" >= VALUEOF("Snapshot Month") OR
EnterpriseModel.Period."Year" = VALUEOF("Snapshot Year") AND
EnterpriseModel.Period."Monthname" IN ('Dec', 'Nov', 'Oct', 'Sep', 'Aug', 'Jul',
'Jun', '', 'Apr')

論理モデルにおいて日付レベルの詳細が不要な場合は、前出の例のEnterpriseModel.Period."Day"の述語を省略します。

並列コンテンツ記述トラックをサポートするために、OR結合が使用されていることに注目してください。

並列コンテンツ記述の例

この項では、例と以降の説明を関連付けるために、例の中にTrack nというラベルが記載されています。実際の断片化の内容の文には、これらのラベルは含めないでください。

例11-1 断片1(履歴)

Track 1  EnterpriseModel.Period."Day" < VALUEOF("Snapshot Date") OR
Track 2  EnterpriseModel.Period.MonthCode < VALUEOF("Snapshot Year Month") OR
Track 3  EnterpriseModel.Period."Year" < VALUEOF("Snapshot Year") OR
Track 4  EnterpriseModel.Period."Year" = VALUEOF("Snapshot Year") AND
EnterpriseModel.Period."Month in Year" < VALUEOF("Snapshot Month") OR
Track 5  EnterpriseModel.Period."Year" = VALUEOF("Snapshot Year") AND
EnterpriseModel.Period."Monthname" IN ('Mar', 'Feb', 'Jan')

たとえば、EnterpriseModel.Period."Day"の最初のトラックについて考えてみましょう。この履歴の断片では、<述語は、Oracle BIサーバーに対して、スナップショットの日付の前の日を制約するすべての問合せは履歴の断片内にあるということを通知します。反対に、日付の現在の断片内の>=述語は、現在の断片の中にスナップショットの日付の前のデータが含まれていないことを通知します。

2番目のトラックのMonthCode(たとえば199912)は日付と似ています。月には重なる部分が存在しないため(スナップショットの日付は4月1日であるため)、このトラックでは<述語および>=述語を使用します。覚えておくべき重要なルールとして、追加されたそれぞれの並列トラックは異なる列セットを参照する必要があるという点があげられます。共通の列を使用することは可能ですが、列セット全体は一意である必要があります。Oracle BIサーバーは、この列セットを使用して最も適切なトラックを選択します。

3番目のトラックのYear(履歴の断片内では<、現在の断片内では>)は、Oracle BIサーバーに対して、年を制約する問合せに対する最適な(単一の)断片選択が可能であることを通知します。たとえば、「Year IN (1997, 1998)」の論理問合せは履歴の断片にのみヒットします。同様に、「Year = 2000」の問合せは現在の断片にのみヒットします。ただし、1999年にヒットする問合せは、このトラックに記述されているコンテンツでは回答できず、以降のトラックに追加の情報がないかぎり両方の断片にヒットします。

4番目のトラックは、Year (month integer)の形式で年と月の断片セットを記述しています。以前に説明した、複数列コンテンツ記述のテクニックに注目してください。また、これらの2つの列にはあいまいさや重なりがないため、<述語と>=述語を使用していることに注目してください。

5番目のトラックは、年と月の名前によって断片化の内容を記述しています。このトラックでは、値ベースのIN述語のテクニックを使用しています。

参考までに、スナップショットの日付がある月の特定の日付となる場合を考えます。したがってこの場合、複数列のコンテンツの年と月のみの記述は特定のスナップショットの月において重なります。このあいまいさを指定するには、<=述語と>=述語を使用します。

断片1(履歴):

EnterpriseModel.Period."Day" < VALUEOF("Snapshot Date") OR
EnterpriseModel.Period.MonthCode <= VALUEOF("Snapshot Year Month") OR
EnterpriseModel.Period."Year" < VALUEOF("Snapshot Year") OR
EnterpriseModel.Period."Year" = VALUEOF("Snapshot Year") AND
EnterpriseModel.Period."Month in Year" <= VALUEOF("Snapshot Month") OR
EnterpriseModel.Period."Year" = VALUEOF("Snapshot Year") AND
EnterpriseModel.Period."Monthname" IN ('Apr', 'Mar', 'Feb', 'Jan')

断片2(現在):

EnterpriseModel.Period."Day" >= VALUEOF("Snapshot Date") OR
EnterpriseModel.Period.MonthCode >= VALUEOF("Snapshot Year Month") OR
EnterpriseModel.Period."Year" > VALUEOF("Snapshot Year") OR
EnterpriseModel.Period."Year" = VALUEOF("Snapshot Year") AND
EnterpriseModel.Period."Month in Year" >= VALUEOF("Snapshot Month") OR
EnterpriseModel.Period."Year" = VALUEOF("Snapshot Year") AND
EnterpriseModel.Period."Monthname" IN ('Dec', 'Nov', 'Oct', 'Sep', 'Aug', 'Jul',
'Jun', '', 'Apr')

不均衡な並列コンテンツ記述の指定

注文入力アプリケーションでは、通常、履歴の断片と現在の断片の間の時間ベースの断片化では不十分です。たとえば、レコードがスナップショットの日付の前にデータベースに入力された履歴レコードであったとしても、それらのレコードは揮発性である場合があります。

次の例では、未処理の注文は、その注文の発送が行われるかキャンセルされるまで、アプリケーションによって直接更新されることがあると想定します。ただし、注文の発送が行われた後にその注文に対して行われる変更は、個別の返品トランザクションの入力のみです。

次のコンテンツの記述には2つの並列トラックがあります。最初のトラックでは、前の項で説明した、複数列の並列トラックのテクニックが使用されています。ShippedまたはCanceledの注文状態の複数列コンテンツの記述の中で、カッコによって並列カレンダの記述がネストしていることに注目してください。

2番目の並列トラックは現在の断片の中にのみ存在し、すべての未処理レコードが現在の断片の中のみにあることを指定しています。

断片1(履歴):

Marketing."Order Status"."Order Status" IN ('Shipped', 'Canceled') AND
Marketing.Calendar."Calendar Date" <= VALUEOF("Snapshot Date") OR
Marketing.Calendar."Year" <= VALUEOF("Snapshot Year") OR
Marketing.Calendar."Year Month" <= VALUEOF("Snapshot Year Month")

断片2(現在):

Marketing."Order Status"."Order Status" IN ('Shipped', 'Canceled') AND
Marketing.Calendar."Calendar Date" > VALUEOF("Snapshot Date") OR
Marketing.Calendar."Year" >= VALUEOF("Snapshot Year") OR
Marketing.Calendar."Year Month" >= VALUEOF("Snapshot Year Month") OR
Marketing."Order Status"."Order Status" = 'Open'

並列トラックが存在する場合の重なり合いは許容されるため、2つの断片内で年と月が重なり合っても問題は生じません。このルールは、少なくとも1つのトラックに重なり合いが生じない必要があるというものです。他のトラックには重なり合いがあっても構いません。

集計表の断片のための断片化の内容の指定

集計の特定のレベルの情報が複数の物理表に格納されている場合があります。特定のレベルの個々のソースにドメインの一部または断片の情報が含まれている場合、Oracle BIサーバーは、問合せで適切なソースを選択するためにソースのコンテンツを知る必要があります。

たとえば、すべての店舗でのソフト・ドリンクの売上を追跡するデータベースがあるとします。データの詳細レベルは店舗レベルです。図11-4に示すように、CokeとPepsiの売上の集計情報が都市レベルで格納されますが、7-Upや他のソーダの売上に関する集計情報はありません。

図11-4 集計情報

このタイプの構成の目的は、集計表を最大限に活用することです。問合せでCokeとPepsiの売上額を求める場合、データは集計表から返されます。問合せですべてのソフト・ドリンクの売上額を求める場合、CokeとPepsiに関しては集計表が使用され、他のブランドに関しては詳細データが使用されます。

Oracle BIサーバーは、このタイプの部分集計ナビゲーションを扱います。ドメインが複数の断片に及んでいる問合せで集計断片が使用されるようにリポジトリを構成するには、集計データの各レベルのドメイン全体を定義する必要があります。これは、集約の度合いの低い物理ソースをベースとして集計断片を構成する必要がある場合でも同様です。

この項には次のトピックが含まれます:

- 集計表のコンテンツの指定

- ドメインを完全にするための、Select文を使用した物理レイヤー表の定義

- SQL仮想表のコンテンツの指定

- 仮想表の物理結合の作成

集計表のコンテンツの指定

論理表ソースのマッピング内に集計表ナビゲーションを構成します。ソフト・ドリンクの例では、集計表には都市レベルのCokeおよびPepsiの売上データが含まれています。この集計コンテンツの指定(「論理表ソース」ウィンドウの「コンテンツ」タブ)は次のようになります。

論理レベルでのグループ化:

GeographyDim. CityLevel, ProductDim.ProductLevel

この断片化の内容の指定は次のようになります(これも「論理表ソース」ダイアログの「コンテンツ」タブにあります)。

SoftDrinks.Products.Product IN ('Coke', 'Pepsi')

このコンテンツの指定は、Oracle BIサーバーに対して、2つの製品の都市および製品のレベルのデータがソース表に格納されていることを通知します。また、このソースはこのレベルにおけるデータの断片であるため、「論理表ソース」ダイアログの「コンテンツ」タブで「このソースはこのレベルの他のソースと組み合せる必要がある」を選択して、このソースを他のソースと同じレベルで組み合せることを指示する必要があります。

ドメインを完全にするための、Select文を使用した物理レイヤー表の定義

ドメインの残りの部分のデータ(他の種類のソーダ)は、すべて店舗レベルで格納されています。集計レベルでドメイン全体を定義するには(この例では都市および製品)、このレベルにおけるドメインの残りの部分が格納されているソースが必要になります。店舗レベルのデータは都市レベルのデータよりも下位にある(より詳細である)ため、ある都市のすべての店舗の製品売上データを加算することによって、店舗および製品の詳細から都市および製品レベルの詳細を計算することが可能です。これは、店舗および製品レベルの表を含む問合せを通じて実行できます。

これを行う方法の1つとして、物理レイヤー内に店舗レベルの計算を返すSelect文を使用する表を定義するという方法があります。この表を定義するには、SELECT文による問合せの対象となる物理スキーマ・オブジェクトを右クリックし、新しい物理表を選択します。「表タイプ」のリストから「選択」を選択し、「デフォルトの初期化文字列」ボックスにSQL文を入力します。

このSQL文では、他の集計表のレベルでドメインを完全にする仮想表を定義する必要があります。この場合、既存の集計表が1つ存在し、その中には都市ごとのCokeとPepsiのデータが格納されています。したがって、このSQL文は、CokeとPepsiのデータを除くすべてのデータを都市レベルで返す必要があります。

SQL仮想表のコンテンツの指定

次に、ドメインの残りの部分を都市および製品レベルでカバーする売上列の新しい論理表ソースを作成します。このソースには、前の項で作成した仮想表が含まれます。この仮想表の中でDollars論理列をUSDollars物理列にマップします。

このソースの集計コンテンツの指定は次のようになります(「論理表ソース」ダイアログの「コンテンツ」タブ内)。

論理レベルでのグループ化:

GeographyDim.CityLevel, ProductDim.ProductLevel

これは、Oracle BIサーバーに対して、このソースには都市および製品レベルのデータがあることを通知します。

断片化の内容の指定は次のようになります。

SoftDrinks.Products.Product = '7-Up'

またこれは、ドメインを完全にするために都市および製品レベルのCokeとPepsiのデータを格納する表と組み合されるため、「論理表ソース」ダイアログの「コンテンツ」タブ内のオプションを選択して、このソースが他のソースと同じレベルで組み合されることを指定します。

仮想表の物理結合の作成

仮想表に適切な物理結合を構築します。図11-5でCityProductSales2がCities表およびProducts表と結合されていることに注目してください。

図11-5 物理結合の例

この例では、ソーダの売上のドメイン全体が2つのソースによって構成されています。ドメインは多くのソースを持つことができます。これらすべてのソースは、「各レベルには、組み合せることによってそのレベルの値のドメイン全体が構成されるソースが含まれていなければならない」というルールに従う必要があります。各レベルに完全なドメインを設定することは、Coke、Pepsiおよび7-Upを求める問合せで7-Upが欠落しないようにするのに役立ちます。またこれは、事前に計算され集計表に格納されている情報を要求する問合せにおいて、その問合せではこの集計表に含まれない他の情報も要求する場合であっても、該当する情報は必ずその集計表から取得されるようにするのに役立ちます。

12 プレゼンテーション・レイヤーの作成およびメンテナンス

この章では、Oracle BI管理ツールを使用してOracle BIリポジトリのプレゼンテーション・レイヤーでオブジェクトを作成、編集および維持する方法について説明します。

この章には次のトピックが含まれます:

- プレゼンテーション・レイヤーについて

- プレゼンテーション・レイヤーの作成およびカスタマイズ

- サブジェクト・エリアでの作業

- プレゼンテーション表とプレゼンテーション列での作業

- プレゼンテーション階層とプレゼンテーション・レベルでの作業

- プレゼンテーション・レイヤー・オブジェクトに対する権限の設定

- プレゼンテーション・レイヤー・オブジェクトの別名(シノニム)の作成

- プレゼンテーション・オブジェクトの表示の制御

プレゼンテーション・レイヤーについて

プレゼンテーション・レイヤーは、カスタマイズしたセキュアでロールベースのビューでユーザーがビジネス・モデルを表示できるようにします。ロールベースのビューは、オブジェクトのセキュリティを実現するほか、ビジネス・モデルの複雑さを部分的に隠す方法も提供します。また、潜在ファクト列の機能など、メタデータ・モデルの機能をプレゼンテーション・レイヤーで利用することもできます。

プレゼンテーション・レイヤーのビューをサブジェクト・エリアといいます(以前はプレゼンテーション・カタログと呼ばれていました)。ビジネス・モデルと同じ内容のサブジェクト・エリアとすることができるほか、より小型でロール・ベースのサブジェクト・エリアとして、1つのサブジェクトのみの表示や特定のビジネス・ロールのみのサポートを可能にすることもできます。ユーザーにとって意味のある方法でコンテンツを表示するサブジェクト・エリアを作成するようにします。

プレゼンテーション・レイヤーでは、Oracle BIサーバーをODBCデータ・ソースとして使用するクライアント・ツールに対するカタログとしてサブジェクト・エリアが表示されます。サブジェクト・エリアには、プレゼンテーション表、プレゼンテーション列、プレゼンテーション階層およびプレゼンテーション・レベルが表示されています。

アンサーなどのクライアントからの論理SQLリクエストがプレゼンテーション表とプレゼンテーション列を問い合せていても、エンティティ、リレーションシップ、結合などの実際の論理はビジネス・モデルとマッピング・レイヤーにあります。プレゼンテーション・レイヤーの主要機能は、ユーザーの様々なグループにカスタム名、ディクショナリ・エントリ、編成およびセキュリティを提供することです。

プレゼンテーション・レイヤーの作成およびカスタマイズ

ビジネス・モデルとマッピング・レイヤーを作成済であれば、管理ツールでビジネス・モデル全体をプレゼンテーション・レイヤーにドラッグ・アンド・ドロップして、サブジェクト・エリアを作成できます。また、サブジェクト・エリアと他のプレゼンテーション・レイヤー・オブジェクトを手動で作成することもできます。

この項には次のトピックが含まれます:

- サブジェクト・エリアの作成

- 不要な列や望ましくない列の削除

- プレゼンテーション列をユーザーにわかりやすい名前に変更

- サブジェクト・エリアでの論理キーのエクスポート

- サブジェクト・エリアでの潜在ファクト列の設定

- プレゼンテーション・レイヤーのメンテナンス

サブジェクト・エリアの作成

プレゼンテーション・レイヤーではいくつかの方法でサブジェクト・エリアを作成できます。推奨の方法は、ビジネス・モデルとマッピング・レイヤーからプレゼンテーション・レイヤーにビジネス・モデルをドラッグ・アンド・ドロップし、ユーザーに表示する内容に基づいてプレゼンテーション・レイヤーを変更することです。プレゼンテーション表どうしでの列の移動やユーザーに表示する必要のない列の削除が可能なほか、1つのプレゼンテーション表にすべてのデータを表示することもできます。メジャーの編成と分類がユーザーにとって意味のあるものになるようにプレゼンテーション表を作成できます。

既存のサブジェクト・エリアとそれに対応するビジネス・モデルを複製することもできます。詳細は、「ビジネス・モデルとサブジェクト・エリアの複製」を参照してください。

各サブジェクト・エリアには1つのビジネス・モデルのコンテンツのみを表示できますが、1つのビジネス・モデルには複数のサブジェクト・エリアを作成できます。大規模なビジネス・モデルでは、ユーザーがコンテンツを効率的に利用できるようにするためにこの処置が必要になります。Oracle BIアンサーのユーザーは、対応するビジネス・モデルが同じである複数のサブジェクト・エリアにわたる問合せを作成できます。

1つのビジネス・モデルから複数のサブジェクト・エリアを作成する方法は数多くあります。その1つとして、目的のビジネス・モデルをプレゼンテーション・レイヤーに複数回ドラッグし、得られた各サブジェクト・エリアのプロパティやオブジェクトを必要に応じて編集する方法があります。

たとえば、GeographyおよびProductsディメンションを含むABCというビジネス・モデルがある場合、それをプレゼンテーション・レイヤーに2回ドラッグできます。デフォルト名ABCおよびABC#1を持つ2つのサブジェクト・エリアが作成されます。その後、そのサブジェクト・エリアを次のように編集できます。

- ABCサブジェクト・エリアの名前をDEFに変更し、Geographyプレゼンテーション階層を削除します。

- ABC#1サブジェクト・エリアの名前をXYZに変更し、Productsプレゼンテーション階層を削除します。

これで、Oracle BIアンサーのユーザーは、Products階層を持つDEFサブジェクト・エリアと、Geography階層を持つXYZサブジェクト・エリアの両方にわたる問合せを実行できるようになります。

注意:
通常、1つのサブジェクト・エリアを問い合せる際、そのサブジェクト・エリアで公開されるすべての列は、同じサブジェクト・エリアで公開されるすべてのディメンションと互換性があります。ただし、複数のサブジェクト・エリアの列とディメンションを結合する場合は、互いに互換性のない列とディメンションの組合せが含まれないようにする必要があります。
たとえば、あるサブジェクト・エリアの列は、プロジェクトによって次元化されない可能性があります。別のサブジェクト・エリアのプロジェクト・ディメンションの列が、プロジェクト別に次元化されていない列とともにリクエストに追加された場合、問合せが結果を返すのに失敗するか、Oracle BIサーバーのエラー「リクエストされた詳細レベルXXXXにはファクト表が存在しません。」が発生する可能性があります。

論理的なスターとスノーフレークに基づくサブジェクト・エリアの自動作成

ビジネス・モデルにある論理スターごとまたは論理スノーフレークごとに自動的にサブジェクト・エリアを1つ作成できます。論理スターも論理スノーフレークも、複数のディメンション表に接続して集中管理されるファクト表で構成されています。この機能を利用することでも、1つのビジネス・モデルから複数のサブジェクト・エリアを作成できます。

論理スターまたは論理スノーフレークを構成するファクト表ごとにサブジェクト・エリアを作成するには、ビジネス・モデルを右クリックして「Logical StarsとSnowflakes向けのサブジェクト・エリアの作成」を選択します。新しいサブジェクト・エリアが自動的に作成され、それぞれにはファクト表とそれが関連付けられているディメンション表のみが納められています。このオプションは、論理スターまたは論理スノーフレークを持つあらゆるビジネス・モデルで利用できます。

たとえば、9つのファクト表を持つSampleAppビジネス・モデルでこのオプションを選択すると、各ファクト表に対応するサブジェクト・エリアが9つ作成され、それぞれに1つのファクト表とそれに関連付けられたディメンション表が納められています。サブジェクト・エリアは参照表についても作成されます。図12-1は、論理的なファクト表とディメンション表がプレゼンテーション・レイヤーでモデル化されている様子を示しています。

図12-1 SampleAppの論理スターと論理スノーフレークについてのサブジェクト・エリアの作成

不要な列や望ましくない列の削除

カスタム・プレゼンテーション・レイヤーを使用する重要な理由として、スキーマの使用と理解をできるかぎり容易にすることがあります。したがって、ユーザーにとって意味のない列は表示できないようにします。プレゼンテーション・レイヤーから除外することが必要な列として、たとえば次のようなものがあります。

- ビジネス上の意味がないキー列

- ユーザーが見る必要のない列(テキストによる説明が表示される場合のコードなど)

- ユーザーには表示する権限がない列

プレゼンテーション列をユーザーにわかりやすい名前に変更

デフォルトでは、プレゼンテーション列の名前は、ビジネス・モデルとマッピング・レイヤーの中でそれが対応する論理列の名前と同じになっています。効率的なメンテナンスを目指す意味で、プレゼンテーション列の名前とそのソースである論理列の名前は同期した状態に維持することをお薦めします。これを実現するには、「プレゼンテーション列」ダイアログで「論理列名の使用」を選択しておきます。

場合によっては、これとは異なるプレゼンテーション列名をユーザーに表示する必要性があることも考えられます。その場合は、「プレゼンテーション列」ダイアログでプレゼンテーション列の名前を変更します。

プレゼンテーション列の名前を変更すると、変更前の名前について自動的に別名が作成されるので、古い名前との互換性を維持できます。別名の詳細は、「プレゼンテーション・レイヤー・オブジェクトの別名(シノニム)の作成」を参照してください。

プレゼンテーション・レイヤー・オブジェクトの名前を、同じタイプのオブジェクトに別名としてすでに使用されているものに変更することはできません。

サブジェクト・エリアでの論理キーのエクスポート

プレゼンテーション・レイヤーのサブジェクト・エリアごとに、そのサブジェクト・エリアにアクセスするツールに、任意の論理キーをキー列としてエクスポートするかどうかを指定できます。Oracle BIプレゼンテーション・サービスのユーザーにとって論理キーのエクスポートは無関係ですが、問合せやレポート作成のツールの中にはこれによって利点が得られるものがあります。論理キーをエクスポートする場合は、表のフォルダに論理列が存在することを確認します。そのような場合は、ビジネス・モデル側で論理キーと外部キーの結合を使用する必要があります。

「サブジェクト・エリア」ダイアログで「論理キーのエクスポート」オプションを選択すると、プレゼンテーション・レイヤーの中でビジネス・モデルとマッピング・レイヤーのキー列となっているすべての列が、ODBCクライアントに対するキー列として表示されます。このオプションはデフォルトで選択された状態になっています。ほとんどの場合はこのオプションを選択しておく必要があります。

注意:
Microsoft Accessのようにパラメータ化SQL問合せを発行するツールを使用している場合は「論理キーのエクスポート」オプションは選択しないでください。パラメータ化問合せを発行できなくなります。

サブジェクト・エリアでの潜在ファクト列の設定

プレゼンテーション・レイヤーのサブジェクト・エリアごとに1つの潜在ファクト列を設定できます。潜在ファクト列は、2つ以上のディメンション表の列を含みメジャーを含まない場合、問合せに追加されます。この列は、結果には表示されません。これは、使用可能な代替またはコンテキストが複数存在する場合にディメンション表間のデフォルトの結合パスを指定するために使用されます。

プレゼンテーション・レイヤーのメンテナンス

ビジネス・モデルとマッピング・レイヤーとプレゼンテーション・レイヤーとの間ですべての変更を自動的に同期化する手段は存在しません。たとえば、既存の論理表に論理列を追加した場合や既存の列を編集した場合は、対応するプレゼンテーション・レイヤー・オブジェクトを手動で更新する必要があります。

一方、管理ツールでは、プレゼンテーション列名を、それに対応する論理列名に自動的に同期化できます。この機能を活用するには、「プレゼンテーション列」ダイアログで「論理列名の使用」を選択していることを確認します。

論理表に多量の変更が発生している場合やビジネス・モデル全体にも変更がある場合は、対応するプレゼンテーション表またはサブジェクト・エリアを削除し、更新した論理オブジェクトをプレゼンテーション・レイヤーにドラッグ・アンド・ドロップする方法が最も簡単です。この理由から、ビジネス・モデルとマッピング・レイヤーがある程度安定するまで待ったうえで、プレゼンテーション・レイヤーをカスタマイズすることをお薦めします。

サブジェクト・エリアでの作業

プレゼンテーション・レイヤーでは、サブジェクト・エリアによって、ビジネス・モデルの様々なビューを様々なセットのユーザーに表示できます。サブジェクト・エリアには、1つのビジネス・モデルからのコンテンツを移入する必要があります。複数のビジネス・モデルにわたることはできません。

多くの場合、論理レイヤーからビジネス・モデルをドラッグ・アンド・ドロップすることで、サブジェクト・エリアを自動的に作成できます。

サブジェクト・エリアのプロパティを編集するには

1. プレゼンテーション・レイヤーでサブジェクト・エリアをダブルクリックします。「サブジェクト・エリア」ダイアログが表示されます。

2. 「一般」タブでサブジェクト・エリアの名前を変更できます。プレゼンテーション・オブジェクトの名前を変更すると自動的に別名が作成されるので、元の名前を使用した問合せも問題なく実行できます。
また、サブジェクト・エリアの名前をその子プレゼンテーション表と同じものにすることはできません。たとえば、Customerという表を持つサブジェクト・エリアにCustomerという名前を付けることはできません。

注意:
サブジェクト領域の名前を編集するには、「プレゼンテーション名の編集」管理ツール・オプションを有効にする必要があります。

3. このサブジェクト・エリアに権限を設定するには、「権限」をクリックします。詳細は、「プレゼンテーション・レイヤー・オブジェクトに対する権限の設定」を参照してください。

4. 「カスタム表示名」を選択して、セッション変数に基づいた名前を動的に表示し、「変換キー」フィールドを編集します。「カスタム説明」を選択して、セッション変数に基づいたカスタム説明を動的に表示します。
これらのオプションは、通常はローカライゼーションの目的で使用されます。プレゼンテーション・レイヤー内で文字列を外部化し、「文字列の外部化」ユーティリティを実行すると、その結果にはセッション変数の情報および変換キーが含まれます。

ローカライゼーションの詳細は、『Oracle Fusion Middleware Oracle Business Intelligence Enterprise Editionシステム管理者ガイド』のOracle Business Intelligenceのローカライゼーションに関する項を参照してください。

5. 「ビジネス・モデル」リストには、このサブジェクト・エリアのビジネス・モデルが表示されます。

6. 他のアプリケーションに論理キーを公開するには、「論理キーのエクスポート」を選択します。
ほとんどの状況でこのオプションを選択する必要があります。多くのクライアント・ツールではキー列とそれ以外の列を区別するので、「論理キーのエクスポート」オプションを選択することで、クライアント・ツールからキー列のメタデータにアクセスできます。ただし、Oracle BIサーバーではリポジトリで定義された結合を使用するので、クライアント・ツールで問合せに追加した結合条件はすべて無視されます。

注意:
Microsoft Accessのように、パラメータ化SQL問合せを発行するツールを使用する場合は、「論理キーのエクスポート」オプションを選択しないでください。このオプションを選択していると、論理キーをエクスポートしない場合にはそのツールでパラメータ化問合せを発行できなくなります。

7. オプションで、「潜在ファクト列」を設定できます。この列は、2つ以上のディメンション表の列を含みメジャーを含まない場合、問合せに追加されます。この列は、結果には表示されません。これは、使用可能な代替またはコンテキストが複数存在する場合にディメンション表間のデフォルトの結合パスを指定するために使用されます。

8. オプションで、「オブジェクト非表示の条件」フィールドにこのサブジェクト領域をアンサーおよびBIコンポーザの「サブジェクト領域ツリー」で表示するかどうかを制御する式を指定できます。オブジェクトを表示するには、このフィールドを空白のまま(デフォルト)にします。詳細は、「プレゼンテーション・オブジェクトの表示の制御」を参照してください。

9. 必要に応じて説明を入力します。この説明は、Oracle BIアンサーでサブジェクト・エリアのマウスオーバー・ツールチップに表示されます。

10. 「プレゼンテーション表」タブで、このサブジェクト・エリアのプレゼンテーション表について、追加、削除、編集または並替えが可能です。

11. このサブジェクト・エリアの別名を指定または削除するには「別名」タブを使用します。別名の詳細は、「プレゼンテーション・レイヤー・オブジェクトの別名(シノニム)の作成」を参照してください。

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

プレゼンテーション表とプレゼンテーション列での作業

Oracle BIアンサーでは、プレゼンテーション表とプレゼンテーション列がそれぞれフォルダと列として表示されます。ユーザーがそれぞれのビジネス・ニーズに基づいて問合せを作成できるように、プレゼンテーション表とプレゼンテーション列をカスタマイズできます。

この項には次のトピックが含まれます:

- プレゼンテーション表の作成および管理

- プレゼンテーション列の作成および管理

- アンサーおよびBIコンポーザでのフォルダのネスト

プレゼンテーション表の作成および管理

プレゼンテーション表を使用して、ユーザー・コミュニティにとって意味のあるカテゴリに列を分類できます。プレゼンテーション表には、1つ以上の論理表にある列を納めることができます。プレゼンテーション表の名前とオブジェクト・プロパティは、これらの論理表のプロパティとは無関係です。

多くの場合、論理レイヤーから論理表をドラッグ・アンド・ドロップすることでプレゼンテーション表を自動的に作成できます。

プレゼンテーション表のプロパティを編集するには

1. プレゼンテーション・レイヤーでプレゼンテーション表をダブルクリックします。「プレゼンテーション表」ダイアログが表示されます。

2. 「一般」タブで、プレゼンテーション表の名前を変更できます。プレゼンテーション・オブジェクトの名前を変更すると自動的に別名が作成されるので、元の名前を使用した問合せも問題なく実行できます。
また、プレゼンテーション表には、その親サブジェクト・エリアと同じ名前を付けることはできません。たとえば、Customerという名前のサブジェクト・エリアにCustomerという名前の表は作成できません。

注意:
プレゼンテーション表の名前を編集するには、「プレゼンテーション名の編集」管理ツール・オプションを有効にする必要があります。

3. このプレゼンテーション表に権限を設定するには、「許可」をクリックします。詳細は、「プレゼンテーション・レイヤー・オブジェクトに対する権限の設定」を参照してください。

4. 「カスタム表示名」を選択して、セッション変数に基づいた名前を動的に表示し、「変換キー」フィールドを編集します。「カスタム説明」を選択して、セッション変数に基づいたカスタム説明を表示します。
これらのオプションは、ローカライゼーションの目的で使用します。プレゼンテーション・レイヤー内で文字列を外部化し、「文字列の外部化」ユーティリティを実行すると、その結果にはセッション変数の情報および変換キーが含まれます。

ローカライゼーションの詳細は、『Oracle Fusion Middleware Oracle Business Intelligence Enterprise Editionシステム管理者ガイド』のOracle Business Intelligenceのローカライゼーションに関する項を参照してください。

5. オプションで、「オブジェクト非表示の条件」フィールドにこのプレゼンテーション表をアンサーおよびBIコンポーザの「サブジェクト領域ツリー」で表示するかどうかを制御する式を指定できます。オブジェクトを表示するには、このフィールドを空白のまま(デフォルト)にします。詳細は、「プレゼンテーション・オブジェクトの表示の制御」を参照してください。

6. 「列」タブで、このプレゼンテーション表のプレゼンテーション列の追加、削除、編集または並替えができます。

7. 階層タブで、このプレゼンテーション表のプレゼンテーション階層の追加、削除、編集または並替えができます。

8. 「別名」タブで、このプレゼンテーション表の別名を指定または削除できます。別名の詳細は、「プレゼンテーション・レイヤー・オブジェクトの別名(シノニム)の作成」を参照してください。

9. 「子プレゼンテーション表」タブを使用して、アンサーおよびBIコンポーザでネストされたフォルダとして表示するプレゼンテーション表を指定します。詳細は、「アンサーおよびBIコンポーザでのフォルダのネスト」を参照してください。

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

サブジェクト・エリアで表の並替えまたはすべての表のソートを実行するには

1. プレゼンテーション・レイヤーでサブジェクト・エリアをダブルクリックします。

2. 「サブジェクト・エリア」ダイアログでI「プレゼンテーション表」タブをクリックします。

3. 表を移動するには、並べ替える表を「名前」リストから選択します。その表をドラッグ・アンド・ドロップしてその位置を変更するか、「上へ」ボタンと「下へ」ボタンをクリックします。

4. すべての表をアルファベット順にソートするには、「名前」列ヘッダーをクリックします。クリックするたびに、ソート順がアルファベットの昇順と降順で交互に切り替わります。

プレゼンテーション列の作成および管理

デフォルトでは、プレゼンテーション列の名前は、ビジネス・モデルとマッピング・レイヤーの論理列名と同じです。「プレゼンテーション列」ダイアログで「論理列名の使用」オプションと「カスタム表示名」オプションの両方を選択解除すると、論理列名とは異なる名前を表示できます。

ユーザーにとって使いやすい編成とするために、ビジネス・モデルとマッピング・レイヤーにある1つの論理表の列を複数のプレゼンテーション表にドラッグ・アンド・ドロップできます。これにより、ユーザーにとって意味のあるカテゴリを作成できます。たとえば、ボリューム・メジャーを含むクラス、シェア・メジャーを含むクラス、1年前のメジャーを含むクラスなど、様々なメジャーのクラスを持つ複数のプレゼンテーション表を作成できます。

注意:
プレゼンテーション表に列をドラッグするときは、それと同じ名前の列や同じ名前の別名がプレゼンテーション表に存在しないことを確認します。

多くの場合、論理レイヤーから論理列をドラッグ・アンド・ドロップすることでプレゼンテーション列を自動的に作成できます。

プレゼンテーション列のプロパティを編集するには

1. プレゼンテーション・レイヤーでプレゼンテーション列をダブルクリックして「プレゼンテーション列」ダイアログを表示します。

2. 「一般」タブで、論理列名とは異なる名前を指定するために「論理列名の使用」を選択解除し、列の名前を入力します。プレゼンテーション・オブジェクトの名前を変更すると自動的に別名が作成されるので、元の名前を使用した問合せも問題なく実行できます。

注意:
プレゼンテーション列の名前を編集するには、「プレゼンテーション名の編集」管理ツール・オプションを有効にする必要があります。

3. このプレゼンテーション列に権限を設定するには、「権限」をクリックします。詳細は、「プレゼンテーション・レイヤー・オブジェクトに対する権限の設定」を参照してください。

4. 「カスタム表示名」または「カスタム説明」を選択し、セッション変数に基づいたカスタム名または、セッション変数に基づいたカスタム説明を動的に表示します。
「論理列名の使用」の選択を解除して、 「カスタム表示名」を選択すると、「変換キー」フィールドを編集できるようになります。

「カスタム表示名」、「カスタム説明」および「変換キー」は、通常はローカライゼーションの目的で使用されます。プレゼンテーション・レイヤー内で文字列を外部化し、「文字列の外部化」ユーティリティを実行すると、その結果にはセッション変数の情報および変換キーが含まれます。

ローカライゼーションの詳細は、『Oracle Fusion Middleware Oracle Business Intelligence Enterprise Editionシステム管理者ガイド』のOracle Business Intelligenceのローカライゼーションに関する項を参照してください。

注意:
「カスタム表示名」フィールドと「カスタム説明」フィールドを使用して、ADFデータ・ソースからUIヒント(ラベルとツールチップ)をOracle BIアンサーに伝播して表示することもできます。ADFデータ・ソースのUIヒントを設定する方法の詳細は、「ADFデータ・ソースからのラベルおよびツールチップの伝播」を参照してください。

5. 「論理列」フィールドには、このプレゼンテーション列の論理列の名前が表示されます。論理列オブジェクトを変更するには「編集」をクリックします。

6. オプションで、「オブジェクト非表示の条件」フィールドにこのプレゼンテーション列をアンサーおよびBIコンポーザの「サブジェクト領域ツリー」で表示するかどうかを制御する式を指定できます。オブジェクトを表示するには、このフィールドを空白のまま(デフォルト)にします。詳細は、「プレゼンテーション・オブジェクトの表示の制御」を参照してください。

7. このプレゼンテーション列の別名を指定または削除するには「別名」タブを使用します。別名の詳細は、「プレゼンテーション・レイヤー・オブジェクトの別名(シノニム)の作成」を参照してください。

プレゼンテーション列を並べ替えるには

1. プレゼンテーション・レイヤーでプレゼンテーション表を右クリックして「プロパティ」を選択します。

2. 「列」タブをクリックします。

3. 並べ替える列を選択します。

4. その列をドラッグ・アンド・ドロップして位置を変更するか、「上へ」ボタンと 「下へ」ボタンをクリックします。

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

アンサーおよびBIコンポーザでのフォルダのネスト

「プレゼンテーション表」ダイアログの「子プレゼンテーション表」タブを使用して、子プレゼンテーション表を指定できます。アンサーおよびBIコンポーザでネストされたフォルダを表示する子プレゼンテーション表を指定します。この方法を使用してネストの複数のレイヤーを追加できます。

図12-2に、指定の子プレゼンテーション表がアンサーでどのようにネストされて表示されるかを示します。

図12-2 アンサーでのネストされたフォルダの表示

フォルダはネストされているように表示されるだけであることに注意してください。これらのフォルダは、ドリルダウンの観点からは、実際にはネストされておらず、オブジェクトの修飾名は同じままです。さらに、管理ツールのプレゼンテーション・レイヤーでは、ネストは表示されません。ネストは、アンサーおよびBIコンポーザにのみ表示されます。この機能は、プレゼンテーション表でのみ機能し、他のプレゼンテーション・レイヤー・オブジェクトでは機能しません。

整合性チェックを実行すると、整合性チェック・マネージャにより、親子プレゼンテーション表の割当てにおける循環が検出されます。また、親プレゼンテーション表を持たない子プレゼンテーション表を含むプロジェクト定義を検出して報告します。

以前のリリースでは、リポジトリ開発者は、プレゼンテーション表名の先頭にハイフンを追加することで、またはプレゼンテーション表の説明の先頭に矢印(->)を追加することで1レベルのネストを作成することが可能でした。この方法は、このリリースでは非推奨となっており、今後のリリースでは削除される予定です。

以前に、プレゼンテーション表名の先頭にハイフンを付けるか、プレゼンテーション表の説明の先頭に矢印を付けてネストを作成した場合は、プレゼンテーション・フォルダの変換・ユーティリティを実行して、メタデータを新しい構造に変換することをお薦めします。詳細は、「プレゼンテーション・フォルダの変換・ユーティリティの使用方法」を参照してください。

プレゼンテーション階層とプレゼンテーション・レベルでの作業

プレゼンテーション階層とプレゼンテーション・レベルは、Oracle BIアンサーでマルチディメンション・モデルを公開するための明示的な方法を提供します。プレゼンテーション・レイヤーでプレゼンテーション階層とプレゼンテーション・レベルを定義しておくと、Oracle BIアンサーのナビゲーション・ペインにロールアップ情報が表示されるので、ユーザーは重要なコンテキスト情報を得ることができます。

プレゼンテーション階層のメンバーは、プレゼンテーション・レイヤーには表示されません。かわりに、アンサーで階層のメンバーを表示できます。

最も重要なことは、ユーザーがこれらのオブジェクトを使用して階層ベースの問合せを作成できる点にあります。プレゼンテーション階層は、メンバーの選択、カスタム・メンバー・グループ、非対称問合せなどの分析機能を提供します。

また、他のプレゼンテーション・レイヤー・オブジェクト同様に、ローカライゼーション情報を提供し、プレゼンテーション階層とプレゼンテーション・レベルにファイングレインなアクセス制御を適用できます。

以前のリリースのリポジトリがある場合は、Oracle BIリポジトリ・アップグレード・プロセスを実行しても、プレゼンテーション階層がプレゼンテーション・レイヤーに自動的には表示されません。ビジネス・モデルとマッピング・レイヤーから論理ディメンションを適切なプレゼンテーション表にドラッグすることにより、これらのオブジェクトを手動で作成する必要があります。

この項には次のトピックが含まれます:

- プレゼンテーション階層の作成および管理

- プレゼンテーション・レベルの作成および管理

プレゼンテーション階層の作成および管理

プレゼンテーション階層を作成するには、論理ディメンション階層をビジネス・モデルとマッピング・レイヤーからプレゼンテーション・レイヤーの表にドラッグします。プレゼンテーション階層オブジェクトは、論理ディメンションが表のピア・オブジェクトであるビジネス・モデルとマッピング・レイヤーとは異なり、プレゼンテーション表内にある必要があります。プレゼンテーション階層は、Oracle BIアンサーでそれらに関連付けられた表内にも表示され、概念的に単純なモデルを提供します。

論理ディメンションがビジネス・モデルとマッピング・レイヤーの中で複数の論理表にわたっている場合は、個別の論理表をプレゼンテーション・レイヤーの中で単独のプレゼンテーション表としてモデル化する方法が最良です。

プレゼンテーション階層はいくつかの方法で作成できます。

- ビジネス・モデル全体をプレゼンテーション・レイヤーにドラッグすると、他のプレゼンテーション・オブジェクトと並んで、プレゼンテーション階層と構成レベルが自動的に表示されます。

- 論理ディメンション表をプレゼンテーション・レイヤーにドラッグすると、プレゼンテーション階層とこれらのディメンションに基づくレベルが自動的に作成されます。

- 個々の論理ディメンションを適切なプレゼンテーション表にドラッグして、その表の中に対応するプレゼンテーション階層を作成することもできます。

- 管理ツールで扱う他の大半のオブジェクト同様に、プレゼンテーション表を右クリックして「新規オブジェクト」→「プレゼンテーション階層」を選択し、オブジェクトを手動で定義できます。

ビジネス・モデルとマッピング・レイヤーから個々の論理レベルをプレゼンテーション表にドラッグして、論理ディメンション階層のサブセットであるプレゼンテーション階層を作成することもできます。

たとえば、All Markets、Total US、Region、District、MarketおよびMarket Keyの各レベルを持つディメンションがあるとします。この論理ディメンション全体を、対応するプレゼンテーション表にドラッグ・アンド・ドロップすると、次のようになります。

一方、同じプレゼンテーション表にRegionレベルをドラッグ・アンド・ドロップすると次のようになります。

プレゼンテーション・レイヤーでの複数階層を持つディメンションのモデル化

複数の論理階層を持つ論理ディメンションの場合、複数の独立したプレゼンテーション階層が作成されます。たとえば、次に示す論理ディメンションProductは、CategoryとCountryという2つの階層を持っています。

ビジネス・モデルとマッピング・レイヤーでは、この論理ディメンションが、複数階層を含む単一のディメンション・オブジェクトとしてモデル化されます。対照的に、プレゼンテーション・レイヤーでは、このディメンションは2つの個別のオブジェクトとしてモデル化されます。次のように、1つはCategoryレベルを通るドリル・パスを表示し、もう1つはCountryレベルを通るドリス・パスを表示します。

プレゼンテーション階層オブジェクトの編集

プレゼンテーション階層のプロパティは編集可能です。ロールベースのアクセス制御を適用する権限の設定、ローカライゼーションを目的としたカスタム表示名の設定、階層でのレベルの変更などができます。

プレゼンテーション階層のプロパティを編集するには

1. プレゼンテーション・レイヤーでプレゼンテーション階層をダブルクリックして「プレゼンテーション階層」ダイアログを表示します。

2. 「一般」タブで次の変更が可能です。

- 名前:プレゼンテーション・オブジェクトの名前を変更すると自動的に別名が作成されるので、元の名前を使用した問合せも問題なく実行できます。

注意:
プレゼンテーション階層の名前を編集するには、「プレゼンテーション名の編集」管理ツール・オプションを有効にする必要があります。

- 権限。詳細は、「プレゼンテーション・レイヤー・オブジェクトに対する権限の設定」を参照してください。

- 「カスタム表示名」および「カスタム説明」。「カスタム表示名」を選択して、セッション変数に基づいた名前を動的に表示し、「変換キー」フィールドを編集します。「カスタム説明」を選択して、セッション変数に基づいたカスタム説明を動的に表示します。
これらのオプションは、通常はローカライゼーションの目的で使用されます。プレゼンテーション・レイヤー内で文字列を外部化し、「文字列の外部化」ユーティリティを実行すると、その結果にはセッション変数の情報および変換キーが含まれます。

ローカライゼーションの詳細は、『Oracle Fusion Middleware Oracle Business Intelligence Enterprise Editionシステム管理者ガイド』のOracle Business Intelligenceのローカライゼーションに関する項を参照してください。

- 論理ディメンション。このフィールドには、このプレゼンテーション階層の論理ディメンションの名前が表示されます。異なる論理ディメンションを選択するには、「参照」をクリックします。

- オブジェクト非表示の条件。このフィールドでは、このプレゼンテーション階層をアンサーおよびBIコンポーザの「サブジェクト領域ツリー」で表示するかどうかを制御する式を指定できます。オブジェクトを表示するには、このフィールドを空白のまま(デフォルト)にします。詳細は、「プレゼンテーション・オブジェクトの表示の制御」を参照してください。

3. 「レベル」タブには、階層の中でのレベルとその順序が一覧で表示されます。親子階層ではこのタブは表示されません。レベルに対しては、追加、削除または並替えが可能です。「編集」ボタンをクリックして、特定のレベルのプロパティを編集することもできます。レベルのプロパティの詳細は、「プレゼンテーション・レベルの作成および管理」を参照してください。

4. 「列の表示」タブは親子階層でのみ使用できます。親子階層にはレベルが存在しないので、表示列はプレゼンテーション階層オブジェクト全体に対して定義します。この親子階層の表示でどの列を使用するかを定義するには、「列の表示」タブを使用します。
表示列は追加、削除または並替えが可能です。また、「編集」ボタンをクリックして特定の列のプロパティを編集することもできます。

5. 「別名」タブを使用して、このプレゼンテーション階層の別名を指定または削除できます。別名の詳細は、「プレゼンテーション・レイヤー・オブジェクトの別名(シノニム)の作成」を参照してください。

プレゼンテーション・レベルの作成および管理

プレゼンテーション・レベルは、Oracle BIアンサーで階層列に表示されます。普通は、プレゼンテーション階層を作成すると、プレゼンテーション・レベルが自動的に作成されます。

プレゼンテーション・レベルのプロパティを編集するには

1. プレゼンテーション・レイヤーでプレゼンテーション・レベルをダブルクリックして「プレゼンテーション・レベル」ダイアログを表示します。

2. 「一般」タブで次の変更が可能です。

- 名前:プレゼンテーション・オブジェクトの名前を変更すると自動的に別名が作成されるので、元の名前を使用した問合せも問題なく実行できます。

注意:
プレゼンテーション・レベルの名前を編集するには、「プレゼンテーション名の編集」管理ツール・オプションを有効にする必要があります。

- 権限。詳細は、「プレゼンテーション・レイヤー・オブジェクトに対する権限の設定」を参照してください。

- 「カスタム表示名」および「カスタム説明」。「カスタム表示名」を選択して、セッション変数に基づいた名前を動的に表示し、「変換キー」フィールドを編集します。「カスタム説明」を選択して、セッション変数に基づいたカスタム説明を動的に表示します。
これらのオプションは、通常はローカライゼーションの目的で使用されます。プレゼンテーション・レイヤー内で文字列を外部化し、「文字列の外部化」ユーティリティを実行すると、その結果にはセッション変数の情報および変換キーが含まれます。

ローカライゼーションの詳細は、『Oracle Fusion Middleware Oracle Business Intelligence Enterprise Editionシステム管理者ガイド』のOracle Business Intelligenceのローカライゼーションに関する項を参照してください。

- 論理レベル。このフィールドには、このプレゼンテーション・レベルの論理レベルの名前が表示されます。異なる論理レベルを選択するには、「参照」をクリックします。

「オブジェクト非表示の条件」フィールドに式を指定しても、アンサーおよびBIコンポーザの「サブジェクト領域ツリー」のプレゼンテーション・レベルの表示には影響しません。このフィールドは、将来のリリース用に予約されています。

3. 「レベルへのドリル」タブと「レベルからのドリル」タブは今後のリリース向けとして確保されているもので、現在は未使用です。どのプレゼンテーション・レイヤー・オブジェクトを右クリックしても表示される「ドリル・グラフの生成」オプションも、今後のリリースで使用する予定のものです。

4. 「列の表示」タブを使用して、該当のレベルをドリルダウンしたときの表示にどの列を使用するかを定義します。たとえば、「Name」と「ID」という2つの列が同じレベルに存在している場合、ユーザーには名前の方がわかりやすいので「Name」が表示されるように選択できます。
表示列は追加、削除または並替えが可能です。また、「編集」ボタンをクリックして特定の列のプロパティを編集することもできます。

このタブで表示列を定義するかわりに、管理ツールのプレゼンテーション・レイヤーでプレゼンテーション・レベルにプレゼンテーション列を直接ドラッグしてもかまいません。この方法では、プレゼンテーション・レベルの表示列として、ドラッグした列が自動的に追加されます。

プレゼンテーション・レベルを作成したときにデフォルトで表示される表示列は、対応する論理レベルのどのキー列で「表示に使用」オプションが選択されているかに基づいて決まります。

5. 「別名」タブを使用して、プレゼンテーション・レベルの別名を指定または削除します。別名の詳細は、「プレゼンテーション・レイヤー・オブジェクトの別名(シノニム)の作成」を参照してください。

プレゼンテーション・レイヤー・オブジェクトに対する権限の設定

アクセス制御を適用して、特定のプレゼンテーション・レイヤー・オブジェクトにアクセスできる個々のユーザーまたはアプリケーション・ロール(グループ)を制限できます。たとえば、あるプレゼンテーション表のセットについて、特定のアプリケーション・ロールには読取り専用アクセス、別のアプリケーション・ロールには読取り/書込みアクセスをそれぞれ許可し、さらに別のアプリケーション・ロールにはアクセスをいっさい許可しないという設定が可能です。

Identity Managerを使用して権限を設定することもできます。プレゼンテーション・レイヤーで権限を設定できるオブジェクトは一度に1つのみなので、多数のオブジェクトに対する個々のアプリケーション・ロールの権限を同時に設定する場合はIdentity Managerが便利です。Identity Managerでオブジェクトの権限を設定する方法の詳細は、「オブジェクト権限の設定」を参照してください。Oracle Business Intelligenceでデータにアクセスする際のセキュリティの詳しい説明は、第14章を参照してください。

AuthenticatedUserアプリケーション・ロール(新しいリポジトリ・オブジェクトに関連付けられるデフォルトのアプリケーション・ロール)にデフォルトで付与する権限のレベルを制御できます。これを行うには、NQSConfig.INIファイル内のDEFAULT_PRIVILEGESパラメータを設定します。詳細は、『Oracle Fusion Middleware Oracle Business Intelligence Enterprise Editionシステム管理者ガイド』を参照してください。

プレゼンテーション・レイヤー・オブジェクトの権限を設定するには

1. プレゼンテーション・レイヤーで、サブジェクト・エリア、表、列、階層などのプレゼンテーション・オブジェクトをダブルクリックします。

2. 「一般」タブで「権限」をクリックします。
図12-3に「権限」ダイアログを示します。

図12-3 「権限」ダイアログ

3. 「権限」ダイアログでは、「デフォルト」の権限を持つユーザーやアプリケーション・ロールは「ユーザー/アプリケーション・ロール」リストに表示されません。「デフォルト」の権限を持つユーザーやアプリケーション・ロールを表示するには「すべてのユーザー/アプリケーション・ロールの表示」を選択します。
オンライン・モードでは、「すべてのユーザー/アプリケーション・ロールの表示」を選択していても、デフォルトではユーザーが取得されないようになっています。取得するユーザーのセットを指定するには、「オンライン・ユーザー・フィルタの設定」をクリックします。

フィルタはデフォルトでは空になっています。これは、ユーザーは一切取得されないことを意味します。すべてのユーザーを取得するには*と入力します。特定のユーザーのセットを取得するには、文字の組合せを入力します。たとえば、文字Aで始まるすべてのユーザーを取得するには、A*と入力します。このフィルタでは、大文字と小文字は区別されません。

4. ユーザーごとおよびアプリケーション・ロールごとに、次のオプションのいずれかを選択することで、このプレゼンテーション・オブジェクトに対するアクセス権限を許可または拒否できます。

- 読取り。このオブジェクトに対しては読取りアクセスのみを許可します。

- 読取り/書込み。このオブジェクトに対しては読取りと書込みの両方のアクセスを提供します。

- アクセス権なし。このオブジェクトに対するすべてのアクセスを明示的に定義します。

- デフォルト。権限を親オブジェクトから継承します。サブジェクト・エリアの場合、それらは最上位レベルのオブジェクトであるため、「デフォルト」はAuthenticatedUserアプリケーション・ロールに付与される権限と同等です。

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

6. このプレゼンテーション・オブジェクトの「プロパティ」ダイアログで「OK」をクリックします。

プレゼンテーション・レイヤー・オブジェクトの権限レポートの生成

個々のプレゼンテーション・レイヤー・オブジェクトの権限レポートを生成して、そのオブジェクトに権限が適用されている様子をサマリーで確認できます。これを実行するには、任意のプレゼンテーション・オブジェクトを右クリックして「権限レポート」を選択します。「権限レポート」ダイアログに、そのプレゼンテーション・オブジェクトの名前と説明のほか、ユーザーとアプリケーション・ロールおよびその権限が一覧表示されます。

「権限」ダイアログでの列のソート

「権限」ダイアログでタイプおよびユーザー名またはアプリケーション・ロール名をソートする方法は6種類あります。ソートを変更するには、1番目の列または2番目の列のヘッダーをクリックします。1番目の列にはヘッダーがなく、ユーザーまたはアプリケーション・ロールのタイプを表すアイコンが表示されています。2番目の列には、ユーザー・オブジェクトまたはアプリケーション・ロール・オブジェクトの名前が表示されています。個々のオブジェクト権限(「読取り」、「読取り/書込み」など)の列ではソートできません。

タイプでソートする方法は3種類あり、ユーザー名またはアプリケーション・ロール名のリストをソートする方法は3種類あります。したがって、ソートでは6種類(3 x 2 =6)の方法を使用できます。タイプ列をクリックして得られるソート結果を次に示します。

- AuthenticatedUser、「アプリケーション・ロール」、「ユーザー」(タイプ名の昇順)

- 「ユーザー」、「アプリケーション・ロール」、AuthenticatedUser(タイプ名の降順)

- タイプの列に特定の順序なし(「ユーザー/アプリケーション・ロール」列のすべての名前は、その列の値の昇順でソートされるので、タイプの値は無視されます)

「ユーザー/アプリケーション・ロール」列をクリックして得られるソート結果を次に示します。

- タイプの昇順

- タイプの降順

プレゼンテーション・レイヤー・オブジェクトの別名(シノニム)の作成

各プレゼンテーション・オブジェクトには、その名前の別名(シノニム)のリストを設定でき、それを論理SQL問合せで使用できます。別名のリストを作成するには、適切なプレゼンテーション・オブジェクト(サブジェクト・エリア、プレゼンテーション表、プレゼンテーション階層、プレゼンテーション・レベルまたはプレゼンテーション列)の「プロパティ」ダイアログにある「別名」タブを使用します。

プレゼンテーション・レイヤー・オブジェクトは、リポジトリの開発プロセスで頻繁に削除と再作成が繰り返されます。したがって、論理ビジネス・モデルが比較的安定するまで待ったうえで、プレゼンテーション・オブジェクトの別名を作成することをお薦めします。

この機能を使用すると、アンサー、Oracle BI Publisherまたは他の論理SQLクライアントからのリクエストを含めて、既存のリクエストが古い名前に対して持つ参照を破損することなく、プレゼンテーション・オブジェクトの名前を変更できます。新しいリポジトリの開発中である場合、そのリポジトリが安定するまで待ってから、オブジェクトの名前を変更できます。

たとえば、「Facts Other」というプレゼンテーション表を持つサブジェクト・エリア「Sample Sales Reduced」があるとします。「# of Customers」というプレゼンテーション列の名前を「Number of Customers」に変更すると、「# of Customers」を使用するリクエストはすべて失敗します。しかし、「Number of Customers」列の「別名」タブでシノニムのリストに「# of Customers」を追加しておけば、「# of Customers」と「Number of Customers」のどちらを使用した問合せも問題なく実行でき、同じ結果が得られます。

次のことに注意してください。

- アンサーやその他の問合せクライアントで新しい問合せを作成するとき、プレゼンテーション・オブジェクトの別名はそこには表示されません。サブジェクト・エリア、階層、レベル、表および列のプライマリ名のみが表示されます。

- この機能の動作は、SQL別名や物理レイヤーにある別名の動作とは異なります。この機能では、オブジェクト名のシノニムを提供するだけであり、SQLの「シノニム」にきわめて似ています。

- プレゼンテーション・オブジェクトの名前を変更すると、その別名が自動的に作成されます。たとえば、CatalogをCatalog1に変更すると、元の名前Catalogが別名のリストに追加されます。

- プレゼンテーション・レイヤー・オブジェクトの名前を、同じタイプのオブジェクトの別名としてすでに使用されている名前に変更することはできません。

プレゼンテーション・オブジェクトの別名を追加または削除するには

1. プレゼンテーション・レイヤーで、サブジェクト・エリア、表、列、階層などのプレゼンテーション・オブジェクトをダブルクリックします。

2. 「別名」タブをクリックします。

3. 別名を追加するには、「新規」ボタンをクリックして、別名として使用するテキスト文字列を入力します。

4. 別名を削除するには、削除する別名を「別名」リストから選択し、「削除」ボタンをクリックします。

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

プレゼンテーション・オブジェクトの表示の制御

「オブジェクト非表示の条件」フィールドを使用して、アンサーおよびBIコンポーザの「サブジェクト領域ツリー」で、選択したプレゼンテーション・レイヤー・オブジェクトを非表示にすることができます。サブジェクト・エリア、表、列および階層を非表示にできます。プレゼンテーション・レベルに対して「オブジェクト非表示の条件」が表示されていますが、これは今後のリリースのためのプレースホルダであり、現在、プレゼンテーション・レベル・オブジェクトには影響しません。

「オブジェクト非表示の条件」フィールドは、オブジェクトの表示/非表示を制御するだけであり、オブジェクト・アクセスに影響するものでありません。たとえば、非表示のオブジェクトに対して、nqcmdのようなツールを使用して問合せを行うことができます。

プレゼンテーション・レイヤー・オブジェクトを表示するかどうかを決めるために「オブジェクト非表示の条件」フィールドで使用できる式には、次の3つのタイプがあります。

- 定数。オブジェクトを非表示にするには、フィールドに任意のゼロ以外の定数を入力します。オブジェクトを表示するには、0を入力するか、フィールドを空白のままにします。

- セッション変数。式でセッション変数を使用して、オブジェクトを非表示にするかどうかを制御できます。式がゼロ以外の値と判断されると、オブジェクトは非表示になります。式がゼロと判断されるか、空であるか、または値の定義がない場合、オブジェクトは表示されます。セッション変数には、セッション初期化ブロックまたは行単位の初期化ブロックを使用して値を移入する必要があります。表示/非表示を制御するには、セッション変数に適切な値を移入する必要があります。
初期化ブロックのSQLでは、CASE文を使用して、セッション変数でゼロを返すか、ゼロ以外の数字を返すかを制御できます。セッション変数を使用した式の例は次のようなものです。

VALUEOF(NQ_SESSION."VISIBLE")

ピリオドを含むセッション変数名は二重引用符で囲む必要があることに注意してください。

- セッション変数の比較。等価比較または非等価比較を使用して、オブジェクトを非表示にするかどうかを制御できます。次の形式を使用します。

'session_variable_expression' '=|<>' 'constant'

式がゼロ、NULLまたは空であると判断された場合、オブジェクトは表示されます。式がゼロ以外の値と判断されると、オブジェクトは非表示になります。

次に例を示します。

NQ_SESSION."VISIBLE" = 'ABC'
NQ_SESSION."VISIBLE" <> 'ABC'

ピリオドを含むセッション変数名は二重引用符で囲む必要があることに注意してください。

「オブジェクト非表示の条件」の式では、Oracle BI EEがサポートしている任意のスカラー関数を使用できます。スカラー関数には、その引数それぞれに対する単純な値を受け入れ、単一の値を返す任意の関数が含まれます。非確定的な結果を返す関数(RAND、NOW、CURRENT_DATE、CURRENT_TIMESTAMP、CURRENT_TIMEなど)を除き、次の各項に示されているほとんどの関数を使用できます。

- すべての文字列関数

- ほとんどの数学関数(RANDを除く)

- ほとんどのカレンダ日付/時刻関数(NOW、CURRENT_DATEなどを除く)

- ほとんどの変換関数(CAST、IFNULL、TO_DATETIME、VALUEOFなど)

たとえば、次の式では、NQ_SESSION.VISIBLEセッション変数がABCという文字で始まっているかどうかがチェックされます。

LEFT(VALUEOF(NQ_SESSION."VISIBLE"), 3) = 'ABC'

同様に、次の式では、指定の変数がExtnAttributeで始まっているかどうかがチェックされます。

Left(VALUEOF(NQ_SESSION."ADF_LABEL_ORACLE.APPS.CRM.MODEL.ANALYTICS.
APPLICATIONMODULE.CRMANALYTICSAM_CRMANALYTICSAMLOCAL_CRMANALYTICSAM.
OPPORTUNITYAM.OPPORTUNITY_EXTNATTRIBUTECHAR001"), 13) = 'ExtnAttribute'

整合性チェックを実行すると、整合性チェック・マネージャにより、可視性フィルタ式の不整合が検出されます。

13 Oracle BIサーバーの問合せ用の集計の作成および永続化

この章では、Oracle Business Intelligenceで集計の永続性を設定し、使用する方法について説明します。

データ・ウェアハウスの多くの専門家は、高度に集約された問合せのパフォーマンスを大幅に向上させるために集計データ表を作成します。これらの集計表にはあらかじめ計算された結果が格納され、その結果はディメンションの一連の属性を範囲とする集計メジャー(通常は合計)です。集計表の使用は、意志決定サポート・システムにおいて問合せの応答時間を向上させるために一般的に使用されるテクニックです。

SQL問合せを使用する場合、またはどの表が存在するかのみを理解しその意味を理解していないツールを使用する場合、集計表の数が増加するにつれて集計表の使用がより複雑になります。Oracle BIサーバーの集計ナビゲーション機能を利用すると、問合せにおいて集計表に格納されている情報を自動的に使用することが可能になります。Oracle BIサーバーを利用することにより、ユーザーは適切なビジネス上の質問を行うことに集中でき、最も高速に回答を返す表がどれであるかはサーバーによって判断されます。

Oracle Business Intelligenceには、ソース・データベース内の集計を利用するための集計ナビゲーション機能があります(詳細は第11章を参照)。ただし、データ集計の作成と維持、およびデータベース・スクリプトのロードと対応するメタデータのマッピングには時間がかかることがあります。そのため、Oracle Business Intelligenceには、集計表の作成とロード、およびOracle Business Intelligenceの対応するメタデータのマッピングを自動化する、集計の永続性機能が用意されています。

この章には次のトピックが含まれます:

- Oracle Business Intelligenceの集計の永続性について

- 集計の永続性の改善点

- 集計の問合せの候補の特定

- 集計の問合せの候補を特定するためのOracle BIサマリー・アドバイザの使用方法

- 集計の永続性ウィザードを使用した集計指定の生成

- モデル・チェック・マネージャを使用したモデリングの問題のチェック

- 集計指定作成の手動での記述

- Oracle BIに対する集計指定の実行

- 集計の永続性のライフ・サイクル・ユースケース

- 可用性の高い集計をリフレッシュするためのダブル・バッファリングの使用方法

- TimesTenソース上の集計の作成

- 集計の永続性のトラブルシューティング

Oracle Business Intelligenceの集計の永続性について

集計の永続性を使用して、Oracle BIサーバーの問合せ用の集計を作成します。集計の永続性ウィザードを使用することにより、集計指定スクリプトの作成が自動化されます。このスクリプトを稼働中のOracle BIサーバーに対して実行すると、集計の永続性エンジンによって集計表が作成され、ナビゲーション用のメタデータにマップされます。集計の永続化を行うと、パフォーマンス向上のための索引および統計がリレーショナル表に作成されます。

集計の永続性ウィザードは、Oracle BIサーバーに対して、スケジュールに基づいて実行できるSQLスクリプトを作成します。集計の永続性ウィザードで、自身のパフォーマンス・デザインに基づいて、各スターまたはキューブのメジャー、ディメンションおよびその他のパラメータを指定します。このスクリプトは、ベースレベル表の各ロードの後に実行する必要があり、それによって、ロード・ウィンドウが完了してユーザーが問合せの実行を始めるときには、常に、集計が詳細レベルのデータと同期しているようになります。

集計作成は、クラスタ内のマスター・サーバーに対して実行します。メタデータの変更がスレーブに伝播されるまで多少時間がかかります。クラスタのリフレッシュ時間はユーザーによる制御が可能なオプションですが、スレーブ・サーバーがリフレッシュされる前にスレーブ・サーバーに対する問合せが行われると、正しくない結果が返される可能性があります。適切なクラスタ・リフレッシュ間隔を設定するのは管理者の役目です。

集計の永続性では、集計が格納されるターゲット・データベースに表またはキューブを作成するための専用の接続プールが必要になります。Oracle BIリポジトリではフェデレーションが可能なため、集計のターゲットは、詳細ソースと同じデータベース、完全に別のデータベースのいずれでも構いません。この専用の接続プールは、集計の永続性ウィザードの手順の中で選択するため、このウィザードを実行する前に作成する必要があります。

ディメンション(レベル)の集計には、デフォルトの接頭辞SA_が自動的に追加されます。NQSConfig.INIファイルのAGGREGATE_PERSISTENCEセクションにあるAGGREGATE_PREFIXパラメータを更新することによって、このデフォルトの接頭辞を変更することができます。

AGGREGATE_PREFIX = "prefix_name" ;

集計を格納するのに使用されるターゲット・スキーマは適切に保護する必要があり、パブリック・アクセスを許可してはいけません。このスキーマには、表や索引への接続、およびそれらの作成や削除に関する権限を設定する必要があります。デフォルトでは、BIAdministratorsグループに属するユーザーのみが集計を管理できます。

仮想プライベート・データベース(VPD)のセキュリティ・フィルタがアクティブになっている表に対しては、集計の永続性を使用しないでください。VPDフィルタが適用されずに集計情報が永続化される可能性があり、セキュリティ上のリスクが生じます。

集計の永続性の改善点

Oracle Business Intelligenceの以前のバージョンでは、集計の永続性による制限のために、集計が作成できない、または無効な集計が作成される場合がありました。現行のバージョンのOracle Business Intelligenceでは、次に記載するように集計の永続性が改善されて、有用な集計を自動的に作成し、固定データ設定エラーやモデリングの問題が発生することなく集計を作成できます。

代理キー

集計の永続性により、代理キーが作成され、ディメンションをファクト集計表に結合することができます。多くの場合、ソース・データベースとターゲット・データベースのインスタンスは同一ではないため、以前のOracle BIサーバーでは、代理キーの作成中にクロス・データベース結合(ソート・マージ結合)を実行する必要がありました。この結合方法を使用すると、ディメンションをファクト表に結合する際に、ファクト集計の内部的なソートを複数回繰り返す必要があったため、高コストでした。

現行リリースのOracle BI Serverでは、ハッシュ結合を使用することにより代理キーの作成が改善されました。可能な場合、リクエスト変数がファクト集計母集団問合せへ新たに自動追加されます。このリクエスト変数が設定されると、問合せエンジンでパラレルのディメンション表に対してファクト表の結合の前にハッシュ結合が作成されます。

Oracle BIサマリー・ウィザードに「代理キーの使用」オプションが表示され、代理キーを使用する必要がある時を知らせます。このオプションが選択されると、using_surrogate_key句が集計指定内のすべてのレベルに追加されます。

レベル・キーの自動修正(ハードニング)

以前のリリースでは、集計の永続性は1つ以上の指定された集計レベルに対して一意のレベル・キーを使用しました。レベル・キーが一意ではない場合、モデル・チェック・マネージャにより一意ではないレベル・キーに関する警告が表示されます。問合せがそのような集計をもとにしている場合、正しい値が得られません。または、TimesTenの集計作成が正常に終了せず、「一意の索引」エラーが発生します。

現行リリースでは、集計の永続性は、一意ではないレベル・キーを自動修正、またはハードニングします。集計の作成中に、集計の永続性エンジンは一意ではないレベル・キーを特定し、可能な場合、親レベルからキー列を追加することにより一意の拡張キーを生成します。一意の拡張キーは、集計上のすべての操作で使用されます。キーは、集計のためだけに内的に拡張され、メタデータ(キー定義)は変更されないことに留意してください。

Oracle BI Summary Advisor feature to identify which aggregates will increase query performance and if the level key for the level is not unique and cannot be auto-corrected by aggregate persistence, then all fact aggregates dependent on the level will not be materialized.

Oracle BIサマリー・アドバイザでは、定義された一意のレベル・キーを使用して集計するか、自動修正(ハードニング)でレベル・キーを一意にすることをお奨めします。ただし、基礎となるデータを変更すると、集計に影響することに留意してください。

パフォーマンスの向上のために、自然キーのかわりに代理キーを使用して集計を作成することをお奨めします。自然キーを使用している場合、自動修正またハードニングはあまり効果的ではありません。特に準備-作成モードの操作で機能しません。

非バランス型(不規則)およびスキップレベル階層

以前のリリースでは、集計の永続性は、非バランス型またはスキップ・レベル階層のある論理ディメンションに対する集計を作成できませんでした。

現行のリリースでは、集計の永続性が改善され、非バランス型またはスキップ・レベル階層のある論理ディメンションに対する集計を作成できます。このような集計は、代理キーを使用してもしなくても作成できます。Oracle BIサマリー・アドバイザも改善されて、非バランス型またはスキップ・レベル階層のある論理ディメンションに対する集計を推奨します。

時系列キー

Oracle BIサーバーでは、AGO、TODATEおよびPERIODROLLINGなどの時系列関数をサポートするために、時系列キーが必要でした。論理ディメンションの最下位キーのみが時系列である場合にのみ、時系列関数が正しく処理を実行します。ただし、以前のバージョンのOracle Business Intelligenceでは、高いレベルの時系列キーが存在しないため、時系列関数を使用する問合せを処理する場合に、高いレベルの集計をOracle BIサーバーで使用できませんでした。

現行リリースでは、集計の永続性は、時系列キーのない集計を作成する時間レベルに対して、CK_接頭辞の付いた時系列キーを生成します。新しい列が物理ディメンション集計表に追加されて、時系列キーの値を保存し、新しい論理列が時間ディメンションの論理表に追加されます。この列は、物理ディメンション集計表に追加される新しい列にマッピングされます。

現行のリリースでは、delete aggregates文を使用すると、生成された時系列キーをサポートするために、すべての作成されたメタデータを削除します。

重複していない件数メジャー

以前のリリースでは、集計の永続性は、指定されたレベルの組合せに対する件数の値を計算および保存しました。ただし、これらの集計は高グレインでのメジャーに関連する問合せの処理で使用できず、Oracle BIサーバーは問合せを正常に終了するためにベース・ファクト表から対応するデータをフェッチする必要がありました。このような要因により、集計の有用性が低下し、不十分な問合せが生成されました。

現行のリリースでは、Oracle BIサーバーは重複していない件数メジャーのある集計を利用して、高グレインでのメジャーに対する問合せを処理できます。集計の永続性ウィザードには「「重複を除いた件数」メジャーをRAW値として永続化」オプションが含まれ、これを選択すると、指定された有効な重複していない件数メジャーのすべてにas_raw_valuesが付加されます。このオプションが選択されると、集計の永続性では、システム生成された集計論理表ソースへの対応する論理列に、集計式が上書きされます。Oracle BIサマリー・アドバイザでは、重複していない件数メジャーに対する永続性の方法の両方を使用することをお奨めします。

集計の問合せの候補の特定

集計の作成時には、集計データによって大きな利点が得られるのはどの問合せであるかを特定する必要があります。可能なかぎり高いレベルで集計することによって、最良の結果が得られます。遅い問合せを特定するには、次のタスクを実行します。

- Oracle BIサーバーの使用状況トラッキングを有効にします。使用状況トラッキングの統計情報は、データベースの最適化、集計の戦略、ユーザーや部門が利用したリソースに基づく課金など、様々な方法で利用できます。Oracle BIサーバーは、詳細な問合せレベルで使用状況を追跡します。使用状況トラッキングを有効にすると、すべての問合せの統計情報が使用状況ログ・ファイルに書き込まれるか、またはデータベースの表に挿入されます。

注意:
使用状況トラッキングでは、データベースへの直接インサートの手法を使用することを強くお薦めします。使用状況トラッキングの完全な情報は、『Oracle Fusion Middleware Oracle Business Intelligence Enterprise Editionシステム管理者ガイド』の使用状況トラッキングの管理に関する項を参照してください。

- 問合せの実行時間を分析し、最も時間のかかる問合せを集計の候補として特定します。集計の作成にかかる実行時間は、ユーザーが選択する集計の種類によって異なります。大きなファクト表の集計作成は、小さな表よりも時間がかかります。作成する集計の選択は慎重に行ってください。

集計の問合せの候補を特定するためのOracle BIサマリー・アドバイザの使用方法

Oracle Exalytics Machine上でOracle Business Intelligenceを実行している場合、Oracle BIサマリー・アドバイザ機能を使用して、問合せのパフォーマンスが向上するのはどの集計であるのか特定し、推奨集計を作成するスクリプトを生成できます。

注意:
Oracle Exalytics Machine上でOracle Business Intelligenceを実行していない場合、Oracle BIサマリー・アドバイザ機能は使用できません。

この項には次のトピックが含まれます:

- Oracle BIサマリー・アドバイザについて

- 統計データベースの設定

- 使用状況トラッキングの有効化

- サマリー・アドバイザ・ロギングの有効化

- Oracle BIサマリー・アドバイザ・ウィザードの使用方法

- nqaggradvisorユーティリティを使用してOracle BIサマリー・アドバイザを実行

Oracle BIサマリー・アドバイザについて

問合せ時間を短縮するために、ロールアップ・データを含む問合せに対して事前に計算された結果を格納する集計表を作成できます。ただし、集計を作成する前に、使用状況トラッキング統計を分析し、問合せのパフォーマンスが向上するのはどの集計であるのかを特定する必要があります。多くの時間と労力を要する手動による集計の特定のかわりに、特定のリソースの制約を満たしつつ、最大の問合せパフォーマンスを得られる問合せパターンに基づいた集計表の最適なリストをインテリジェントにお薦めするサマリー・アドバイザ機能を使用できます。その後、サマリー・アドバイザによって集計作成スクリプトが生成され、それを実行すると、推奨集計表を作成できます。

サマリー・アドバイザ機能には、次のようないくつかの部分があります。

- 指定された統計データベースへの統計収集。サマリー・アドバイザ統計を収集するには、使用状況トラッキング機能を有効化する必要があります。

- 収集された統計と推奨集計を評価するための、管理ツールのサマリー・アドバイザ・ウィザードによるサマリー・アドバイザの実行。

この項には次のトピックが含まれます:

- サマリー・アドバイザ統計の収集

- サマリー・アドバイザの推奨の生成と使用方法

- メジャー・サブセットの推奨事項について

サマリー・アドバイザ統計の収集

サマリー・アドバイザで推奨を生成するには、その前に、サマリー・アドバイザが使用する使用状況統計の代理サンプルを取得する必要があります。この作業を実行するには、次の方法のいずれかを使用します。

- 本番システム上で、使用状況トラッキングおよびサマリー・アドバイザ・ロギングを有効化し、数日間にわたってユーザーにBIサーバーに対する問合せを実行してもらいます。サマリー・アドバイザ統計表に、使用状況統計が移入されます。詳細は、「使用状況トラッキングの有効化」および「サマリー・アドバイザ・ロギングの有効化」を参照してください。
使用状況トラッキングとサマリー・アドバイザ・ロギングを有効化すると、本番システムのパフォーマンスにわずかに影響します。

- テスト環境で、Oracle BIサーバーに対して代理ワークロードを実行し、サマリー・アドバイザ統計を収集します。代理ワークロードは、一般的に要求される論理SQL文のリストです。通常、代理ワークロードは本番環境から取得します。
代理ワークロードが用意できたら、テスト環境のOracle BIサーバーで使用状況トラッキングとサマリー・アドバイザ・ロギングを有効化し、nqcmdユーティリティを使用してそのOracle BIサーバーに対してワークロードを実行します。nqcmdの使用方法の詳細は、「リポジトリのテストおよび絞込みのためのnqcmdの使用方法」を参照してください。サマリー・アドバイザ統計表に、使用状況統計が移入されます。

- システムで、使用状況トラッキングは有効化されていたが、サマリー・アドバイザ・ロギングは有効化されていなかった場合は、サマリー・アドバイザ統計の生成ツールを実行して、使用状況トラッキング・データをサマリー・アドバイザ統計表に転送できます。このシナリオは、11.1.1.6.0より前のユーザーがOracle BIサマリー・アドバイザ機能のあるOracle BI Enterprise Editionの最新バージョンにアップグレードする場合が対象となります。これらのユーザーは、使用状況トラッキング・データを持っていても、サマリー・アドバイザ統計を持っていない場合があります。

サマリー・アドバイザの推奨の生成と使用方法

サマリー・アドバイザ統計表に代理データが移入された後、サマリー・アドバイザによってデータを分析し、集計の推奨を生成して問合せを高速化できます。

これを行うには、管理ツールのOracle BIサマリー・アドバイザ・ウィザードを実行して集計指定を生成し、nqcmdを使用してその集計指定を使用して集計を作成します。詳細は、「Oracle BIサマリー・アドバイザ・ウィザードの使用方法」および「Oracle BIに対する集計指定の実行」を参照してください。

現在、Oracle BIサマリー・アドバイザでは、Oracle TimesTen In-Memory Database上の集計の作成のみがサポートされています。サポートされるバージョンについては、「システム要件と動作要件」を参照してください。

同じオプションを再度入力することなく、後でOracle BIサマリー・アドバイザ・ウィザードを再実行できるように、サマリー・アドバイザのオプションをファイルに保存することもできます。

メジャー・サブセットの推奨事項について

Oracle BI EE 11gリリース1 (11.1.1.7)以降、Oracle BIサマリー・アドバイザにはメジャー・サブセットの推奨事項が用意されています。つまり、サマリー・アドバイザでは今後、分析済の問合せワークロードに存在しており、集計が作成された場合に問合せワークロードを最適化できる特定のメジャーが含まれている集計のみを対象とすることをお薦めします。

これまでサマリー・アドバイザでは、論理ファクト表と同様に多くのメジャーを含んだ集計をお薦めしましたが、このために問合せで使用されないメジャーや、集計を使用して最適化できないメジャーが作成されることもありました。これらのメジャーの作成とリフレッシュは記憶領域を浪費し、集計の作成およびリフレッシュ時間の長期化にいたりました。

メジャー・サブセットの推奨事項は、デフォルトでは、次のリストで説明するように、11gリリース1 (11.1.1.7)で有効になっています。

- サマリー・アドバイザーには、お薦めされる集計の問合せワークロードで使用されないメジャーは含まれません。

- 集計ファクト表のサイズの見積りは、見積りの際に論理ファクト表のすべてのメジャーを使用するのではなく、推奨メジャー・サブセットに基づいて行われます。

- サマリー・アドバイザーには、お薦めされる集計において集計の永続性に無効なメジャーは含まれません。

旧リリースからOracle BI EE 11gリリース1 (11.1.1.7)にアップグレードしている場合は、次の点に注意してください。

- この機能では、11.1.1.7.0以降のバージョン値を持つサマリー統計データが入力されたMEASURECOLUMNIDVECTOR列およびGROUPBYCOLUMNIDVECTOR列が含まれているサマリー統計表が必要です。パッチ・セット・アシスタントを実行した後で、新しい列をリポジトリにインポートして、ワークロードを再実行する必要があります。さらに、新しい統計でサマリー・アドバイザを再実行して、集計を再作成します。
パッチ・セット・アシスタントの実行の詳細は、『Oracle Fusion Middlewareパッチ・ガイド』を参照してください。

- パッチ・セット・アシスタントの実行後に新しい列をインポートしない場合でも、サマリー・アドバイザは使用できますが、メジャー・サブセットの推奨事項は有効になりません。

- 11.1.1.7.0以前と11.1.1.7.0の両方の統計データが特定の集計グレインに対してサマリー・アドバイザで分析された場合、このグレインでお薦めされる集計に対して11.1.1.7.0以前の動作が施行されます(つまり、すべてのメジャーが含まれます)。

統計データベースの設定

Oracle BIサマリー・アドバイザ機能を使用する前に、収集した統計を格納するデータベースを設定する必要があります。ターゲット・データベースでリポジトリ作成ユーティリティ(RCU)を実行し、必要な統計スキーマを作成する必要があります。詳細は、『Oracle Fusion Middleware Oracle Business Intelligenceインストレーション・ガイド』のリポジトリ作成ユーティリティ(RCU)を使用したデータベース・スキーマの作成に関する項を参照してください。

通常、Oracle Business Intelligenceとともに使用するためにインストールしたデータベースを統計データベースとして使用します。それは、このデータベースにはすでにRCUで作成したスキーマが存在するためです。サマリー・アドバイザ用にRCUで作成した表の名前は、S_NQ_SUMMARY_ADVISORです。

また、そのデータベースを、Oracle BIリポジトリの物理レイヤーにインポートすることも必要です。

サマリー・アドバイザには、使用状況トラッキングに使用するものと同じデータベースを使用する必要があります。使用状況トラッキング用にデータベースとスキーマをすでに設定済である場合は、この項の手順を省略できます。

統計データベースを設定する手順は、次のとおりです。

1. 選択した外部データベース上でリポジトリ作成ユーティリティを実行します。Oracle Business Intelligenceとともに使用するためにインストールしたデータベースをサマリー・アドバイザ統計に使用するように選択した場合は、そのデータベースには、すでにRCUで作成された表があるため、この手順を省略できます。

2. 管理ツールを開き、データベースを物理レイヤーにインポートします。詳細は、「リレーショナル・データ・ソースからのメタデータのインポート」を参照してください。

3. リポジトリを保存して閉じます。

4. Fusion Middleware Controlを使用して、リポジトリをアップロードし、問合せに使用できるようにします。詳細は、「リポジトリを問合せで使用可能にする」を参照してください。

S_NQ_SUMMARY_ADVISOR表の列

表13-1に、S_NQ_SUMMARY_ADVISOR表の列を示します。

表13-1 S_NQ_SUMMARY_ADVISORの列

列

説明

GROUPBYCOLUMNIDVECTOR

処理パスでグループ化の列を表す論理列オブジェクトのアップグレードIDFoot 1 。

LOGICALFACTTABLEID

論理ファクト表のアップグレードID。

LOGICALTABLESOURCEIDVECTOR

論理表ソースのアップグレードID。

LOGICAL_QUERY_ID

S_NQ_ACCTのID列を参照する外部キー。この列は、この処理パスを生成した論理SQLを特定する際に役立ちます。

MEASURECOLUMNIDVECTOR

処理パスでメジャーを表す論理列オブジェクトのアップグレードID。

PROCESSINGTIMEINMILLISEC

この処理パスで費やされた時間(ミリ秒)。

QUERYLEVELIDVECTOR

処理パスにおける論理レベルのアップグレードID。

QUERYSTATUS

内部使用専用。

ROW_COUNT

処理パスで取得された行数。この列のデータは、将来のリリースでOracle BIサマリー・アドバイザが使用するために予約されています。

SOURCECELLLEVELIDVECTOR

論理表ソースにおける論理レベルのアップグレードID。

VERSION

Oracle BIサーバーのバージョン番号。

脚注 1  処理パスとは、Oracle BIサーバーの社内用語です。これは、1つのファクト論理表ソースを含む副問合せを表します。

使用状況トラッキングの有効化

サマリー・アドバイザ統計を収集する前に、使用状況トラッキングを有効化する必要もあります。詳細は、『Oracle Fusion Middleware Oracle Business Intelligence Enterprise Editionシステム管理者ガイド』の使用状況トラッキングの管理に関する項を参照してください。

サマリー・アドバイザ・ロギングの有効化

統計を収集する準備ができたら、サマリー・アドバイザ・ロギングを有効化できます。新しい(アップグレードしたものではない)インストールの場合、サマリー・アドバイザ・パラメータは中央で管理します。Fusion Middleware ControlのシステムMBeanブラウザを使用して、サマリー・アドバイザ・パラメータを設定します。

システムMBeanブラウザを使用してサマリー・アドバイザ・ロギングを有効化する手順は、次のとおりです。

1. Fusion Middleware Controlの「ナビゲータ」ウィンドウで、「WebLogicドメイン」フォルダを開き、bifoundation_domainノードを開きます。

2. 「AdminServer」ノードを右クリックし、「システムMBeanブラウザ」を選択します。

3. 「アプリケーション定義のMBeans」を開き、oracle.biee.adminを開いてbifoundation_domainを開きます。

4. 次のようにしてそのドメインをロックします。

1. BIDomainを開き、group=ServiceのBIDomain MBeanを選択します。

2. 「操作」タブを表示します。

3. 「ロック」リンクをクリックします。

5. BIDomain.BIInstance.ServerConfigurationを開き、BIDomain.BIInstance.ServerConfiguration MBeanを選択します。

6. UsageTrackingCentrallyManaged属性がtrueに設定されていることを確認します。UsageTrackingCentrallyManagedがfalseに設定されている場合は、次のパラメータは、システムMBeanブラウザではなく、各Oracle BIサーバー・コンピュータ上のNQSConfig.INIファイルを使用して管理します。

- SummaryAdvisorTableName

- SummaryStatisticsLogging

- UsageTrackingConnectionPool

- UsageTrackingDirectInsert

- UsageTrackingEnabled

- UsageTrackingPhysicalTableName

7. 統計を収集するデータベース表の完全修飾名にSummaryAdvisorTableName属性を(Oracle BIリポジトリの物理レイヤーに表示されているとおりに)設定します。例:
"My_DB"."DEV_BIPLATFORM"."S_NQ_SUMMARY_ADVISOR"

指定する表名は、使用状況トラッキングに使用するものと同じデータベース・オブジェクトおよび接続プールに属している必要があります。

8. SummaryStatisticsLoggingを次のいずれかのオプションに設定します。

- サマリー・アドバイザ・ロギングを有効にするには、YESと入力します。

- 外部結合を含む論理問合せに対してのみサマリー・アドバイザ・ロギングを有効にするには、LOG_OUTER_JOINT_QUERIES_ONLYと入力します。サマリー・アドバイザ・ロギングを完全に有効にすることで生じるパフォーマンスへの多少の影響が気になる場合は、このオプションの使用を検討してください。

9. 変更を適用した後、次のようにしてドメインのロックを解放します。

1. oracle.biee.admin、Domain:bifoundation_domain、BIDomainの下のgroup=ServiceのBIDomain MBeanに戻ります。

2. 「操作」タブを表示します。

3. コミット操作の1つをクリックします。

10. Oracle Business Intelligenceの「概要」ページに移動し、「再起動」をクリックします。

アップグレードのお客様の場合は、サマリー・アドバイザ・パラメータはデフォルトでは中央で管理されません。前の手順で説明したようにUsageTrackingCentrallyManagedをtrueに設定し、システムMBeanブラウザを使用してパラメータを更新するか、NQSConfig.INIを使用してサマリー・アドバイザ・パラメータを管理できます。

これらのパラメータに対して中央管理が無効になっている場合にNQSConfig.INIでサマリー・アドバイザ・ロギングを有効化するには、次の手順に従います。

1. Oracle BIサーバー・コンピュータで、テキスト・エディタでNQSConfig.INIファイルを開きます。このファイルは、次の場所にあります。

ORACLE_INSTANCE/config/OracleBIServerComponent/coreapplication_obisn

編集する前に、ファイルのバックアップ・コピーを作成します。

2. [USAGE_TRACKING]セクションで、次のパラメータを更新します。

- SUMMARY_STATISTICS_LOGGINGを次のいずれかのオプションに設定します。

- YES: サマリー・アドバイザ・ロギングを有効にします。

- LOG_OUTER_JOINT_QUERIES_ONLY: 外部結合を含む論理問合せに対してのみサマリー・アドバイザ・ロギングを有効にします。サマリー・アドバイザ・ロギングを完全に有効にすることで生じるパフォーマンスへの多少の影響が気になる場合は、このオプションの使用を検討してください。

- 統計を収集するデータベース表の完全修飾名にSUMMARY_ADVISOR_TABLE_NAMEを(Oracle BIリポジトリの物理レイヤーに表示されているとおりに)設定します。例:

SUMMARY_ADVISOR_TABLE_NAME = "My_DB"."DEV_BIPLATFORM"."S_NQ_SUMMARY_ADVISOR";

指定する表名は、使用状況トラッキングに使用するものと同じデータベース・オブジェクトおよび接続プールに属している必要があります。

3. ファイルを保存して閉じます。

4. Oracle BIサーバーを再起動します。

5. 複数のOracle BIサーバー・インスタンスがある場合は、すべてのOracle BIサーバー・インスタンスについて、各NQSConfig.INIファイルでこれらの手順を繰り返します。

Oracle BIサマリー・アドバイザ・ウィザードの使用方法

サマリー・アドバイザ統計を生成した後、管理ツールのOracle BIサマリー・アドバイザ・ウィザードを実行して集計指定スクリプトを生成し、それを実行して集計を作成できます。サマリー・アドバイザ・ウィザードは、オンライン・モードでのみで実行できます。

また、Oracle BIサマリー・アドバイザ・ウィザードをコマンドラインから実行することもできます。詳細は、「nqaggradvisorユーティリティを使用してOracle BIサマリー・アドバイザを実行」を参照してください。

サマリー・アドバイザ・ウィザードを実行する前に、物理レイヤーに集計を作成する予定のターゲット・データベースをマップする必要があります。これを行うには、必要なデータベース、接続プールおよび物理スキーマ・オブジェクトを手動で作成します。

Oracle BIサマリー・アドバイザ・ウィザードを実行する手順は、次のとおりです。

1. オンライン・モードで、管理ツールでリポジトリを開きます。

2. モデル・チェック・マネージャを実行して、リポジトリに、Oracle BIサマリー・アドバイザのパフォーマンスと結果に影響を及ぼすモデリングの問題が含まれていないことを確認することをお薦めします。詳細は、「モデル・チェック・マネージャを使用したモデリングの問題のチェック」を参照してください。

注意:
モデル・チェック・マネージャは、一部のチェックのためにバックエンドのデータ・ソースに対して問合せを実行するので、オフピーク時に実行することをお薦めします。また、大規模なリポジトリに対してモデル・チェック・マネージャを実行すると、長い時間がかかることがあります。パフォーマンスを向上させるには、「統計によるフィルタ処理」を使用するか、選択したオブジェクトに対してのみモデル・チェック・マネージャを実行するようにしてください。

3. 「ツール」→「ユーティリティ」を選択します。

4. スクロールして「Oracle BIサマリー・アドバイザ」を選択し、「実行」をクリックします。
Oracle BIサマリー・アドバイザ・ウィザードは、Oracle Exalytics Machine上でOracle Business Intelligenceを実行している場合にのみ使用できます。

5. Oracle BIサマリー・アドバイザ・ウィザードの最初のページの「フィルタ・ログ - 論理ファクト表」で、オプションでサマリー・アドバイザの推奨を生成する特定の論理ファクト表を選択できます。デフォルトでは、すべての論理ファクト表が含められています。
Oracle BIサマリー・アドバイザ・ウィザードを以前に使用したことがあり、フィルタ基準、ターゲットおよびその他のオプションをXMLファイルとして保存してある場合は、「ファイルからパラメータのロード」をクリックし、前に保存したオプションを現在のウィザード・セッションにロードできます。ファイルへの基準の保存の詳細は、手順11を参照してください。

サマリー・アドバイザ表(システムMBeanブラウザのSummaryAdvisorTableName、またはNQSConfig.INIのSUMMARY_ADVISOR_TABLE_NAMEパラメータで指定)が空である場合、サマリー・アドバイザは続行できません。「統計の生成」をクリックし、既存の使用状況トラッキング・データに基づいてサマリー・アドバイザ・ロギング統計を生成します。詳細は、「統計を生成するためのOracle BIサマリー・アドバイザ統計ジェネレータの使用方法」を参照してください。

注意:
「オプション」ダイアログの「一般」タブで、「サマリー・アドバイザ・ウィザードでの統計生成の有効化」を選択した場合のみ、「統計の生成」ボタンが表示されます。

次の画面に進む準備ができたら、「次」をクリックします。

6. 「フィルタ・ログ - 時間ウィンドウ」画面で、オプションで、期間に基づいてサマリー・アドバイザ・ロギング統計にフィルタを適用できます。これを行うには、サマリー・アドバイザの実行に含める統計の「開始日」および「終了日」を入力します。期間を入力したら、「更新」をクリックして、ビューをリフレッシュします。
次の画面に進む準備ができたら、「次」をクリックします。

7. 「フィルタ・ログ - 実行時間しきい値」画面で、オプションで、論理表ソースごとに最小問合せ時間しきい値を設定することでフィルタを適用できます。たとえば、「最小累積時間」に5秒を指定した場合、累積合計問合せ時間が5秒以上の論理表ソースのみがサマリー・アドバイザの実行に含められます。
次の画面に進む準備ができたら、「次」をクリックします。

8. 「ターゲット」画面で、集計用のターゲット・コンテナおよび関連付ける接続プールを選択します。この場所に、集計表が作成されます。オプションで、複数のターゲット・コンテナを指定できます。
「データベース・スキーマ」、「接続プール」、およびターゲットの「容量」(MB単位)を指定し、「ターゲットの追加」をクリックしてリストにそれを追加します。「すべてクリア」をクリックしてターゲットの既存のリストをクリアするか、個別のターゲットの横にある「削除」ボタンをクリックしてそれを削除します。

Oracle BIサマリー・アドバイザでの使用に対して現在サポートされているのは、Oracle TimesTen In-Memory Databaseのデータベース・スキーマのみです。

次の画面に進む準備ができたら、「次」をクリックします。

9. 「ファイルの場所の選択」画面で、「参照」をクリックし、集計指定(SQLスクリプト)を格納する場所を選択します。
「次へ」をクリックします。

10. 「停止基準」画面で、次のように推奨のこのセットに対してオプションで実行の制約を指定できます。

- 結果を返すまでのサマリー・アドバイザの最長実行時間を指定できます。

- 新しい集計を追加する際に、そのワークロードで影響を受けるすべての問合せのパフォーマンスに対する最小向上パーセンテージを指定できます。
サマリー・アドバイザは、反復最適化アルゴリズムを使用します。サマリー・アドバイザでは、反復の回ごとに、異なるセットの集計が評価されます。この画面で最小向上パーセンテージを指定すると、サマリー・アドバイザによって、2つの連続する回の推定される向上が比較され、その向上が、指定した最小パーセンテージに満たない場合は停止されます。

各回の推定される向上を示す計算式は次のとおりです。

Estimated Gain = [(total query time at the beginning of the round) -
(total query time at the end of the round)] / (Initial total query time
prior to the first round)

例:

- 初期合計問合せ時間= 1000秒

- 1回目の終わり:
合計問合せ時間= 500秒

向上= (1000 - 500)/1000 = 50%

- 2回目の終わり:
合計問合せ時間= 250秒

向上= (500 - 250)/1000 = 25%

次の画面に進む準備ができたら、「次」をクリックします。

11. 「その他」画面で、オプションで、1つの集計の最大サイズをMB単位で指定できます。将来のサマリー・アドバイザ・セッションで再使用するために、このセッションの基準およびオプションを格納するXML出力ファイルの場所を指定することもできます。

「代理キーの使用」オプションを使用することをお奨めします。代理キーを使用すると、作成された集計を使用する問合せのパフォーマンスが向上します。

「優先オプティマイザ見積り」を選択して、サマリー・アドバイザのプロセス中のパフォーマンスを向上させます。このオプションを選択すると、サマリー・アドバイザは、実際に行数問合せを発行するのではなく、可能なときに、データベース問合せオプティマイザから発生するカーディナリティの見積りを使用できます。このオプションは、Oracle Database、Microsoft SQL Server、およびIBM DB2で使用できます。

サマリー・アドバイザでデータベース問合せオプティマイザ見積りを使用する場合は、関連データベース・オブジェクトの統計情報が使用可能であり、最新である必要があります。詳細は、Oracle Databaseのドキュメントを参照してください。

このオプションを選択しない場合、サマリー・アドバイザではバックエンドのデータ・ソースに対して行数問合せを発行して、そのデータ・ソースの特定の問合せの行数(カーディナリティ)を取得しますが、この実行には長時間を要する場合があります。

最良の見積りを取得する方法のガイドラインについては、適切なデータベースのドキュメントを参照してください。たとえば、Oracle Databaseの場合は、複数の列問合せのカーディナリティ見積りを改善するために、列グループ機能の使用が必要になることがあります。

注意:
特定のグレインに対するエントリがサマリー・アドバイザのキャッシュ・ファイルにすでに存在している場合は、実際の行数問合せであるか、またはカーディナリティ見積りの問合せであるかどうかに関係なく、そのグレインのサンプリングを試みる問合せはサマリー・アドバイザでは発行されません。
この場合のベスト・プラクティスは、「優先オプティマイザ見積り」オプションを選択または選択解除するときに、サマリー・アドバイザのキャッシュ・ファイルを削除することです。これを行うには、管理ツールのコンピュータで次のディレクトリにあるNQAggregate.Stats.Cache.txtおよびNQAggregate.LTS.Stats.Cache.txtを削除します。

ORACLE_INSTANCE\bifoundation\OracleBIServerComponent\
coreapplication_obisn\aggr

「問合せで使用されているメジャーのみ含める」を選択し、問合せで使用されているメジャーを含めます。このオプションを選択しないと、論理ファクト表内のすべてのメジャーが推奨事項内に含まれます。これには、サマリー・アドバイザで分析済のワークロードで使用されないメジャーも含まれます。

「次へ」をクリックします。

12. 「実行」画面で、「実行」をクリックし、サマリー・アドバイザ・プロセスを使用して推奨を生成します。
このプロセスを停止するには、任意の時点で「停止」をクリックします。サマリー・アドバイザを停止したり、完了するまで実行した場合は、それまでに見つかった集計の推奨が表示されます。

このプロセスが完了したら、「次へ」をクリックします。

13. 「フィルタ集計」画面で、集計の推奨の現在のセットを確認します。オプションで、特定の集計の行の「含める」オプションをオフにすることで、それを作成プロセスから除外できます。
「次へ」をクリックします。

14. 「スクリプトの終了」画面で、生成されるスクリプトを確認します。問題がない場合は、「終了」をクリックしてスクリプトを保存します。

SQLファイルを使用した集計表の作成の詳細は、「Oracle BIに対する集計指定の実行」を参照してください。

統計を生成するためのOracle BIサマリー・アドバイザ統計ジェネレータの使用方法

Oracle BIサマリー・アドバイザ統計ジェネレータを使用して、既存の使用状況トラッキング・データに基づいてサマリー・アドバイザ・ロギング統計を生成できます。

統計ジェネレータを実行するユーザーは、oracle.bi.server.impersonateUser権限を持っている必要があります。権限の管理の詳細は、『Oracle Fusion Middleware Oracle Business Intelligence Enterprise Editionセキュリティ・ガイド』のFusion Middleware Controlを使用したアプリケーション・ポリシーの作成に関する項を参照してください。

Oracle BIサマリー・アドバイザ統計を生成する手順は、次のとおりです。

1. Oracle BIサマリー・アドバイザ・ウィザードの最初のページで「統計の生成」をクリックすることで、統計ジェネレータを起動します。「Oracle BIサマリー・アドバイザ統計ジェネレータ」画面が表示されます。

注意:
「オプション」ダイアログの「一般」タブで、「サマリー・アドバイザ・ウィザードでの統計生成の有効化」を選択した場合のみ、「統計の生成」ボタンが表示されます。

図13-1は、統計ジェネレータの画面を示しています。

図13-1 Oracle BIサマリー・アドバイザ統計ジェネレータ

2. 「コンテナ」および「表」には、使用状況トラッキング・データ(入力表)を含むOracle BIリポジトリの物理表の完全修飾名を形成する適切なオプションを選択します。この表に基づいた問合せは、サマリー・アドバイザ統計を生成するために使用されます。
UsageTrackingPhysicalTableName MBean、またはNQSConfig.INIのPHYSICAL_TABLE_NAMEパラメータで指定されているものとは異なる入力使用状況トラッキング表を指定することをお薦めします。異なる表を指定することで、入力使用状況トラッキング表が、統計ジェネレータの実行によって生成される新しいデータから影響を受けることはなくなります。

また、入力使用状況トラッキング表のQUERY_BLOB物理列オブジェクトは、基盤となるデータに合った長さを持っている必要があります。これは、統計ジェネレータがそれから論理SQL文字列を読み取るときに、切捨てが行われないようにするために必要です。QUERY_BLOB列が存在しない場合、統計ジェネレータはQUERY_TEXT列から論理SQL文字列を読み取ります。

3. 「開始日」および「終了日」には、オプションで、使用状況トラッキング・データにフィルタを適用するための開始日と終了日を入力します。指定した日もデータ範囲に含まれます。

4. 「最短問合せ時間」には、オプションで、問合せ時間にフィルタを適用するための秒数を入力します。このフィルタを指定すると、指定した値以上の時間がかかる問合せの使用状況トラッキング・データのみが使用されます。

5. 「論理レポジトリ名」には、オプションで、リポジトリ名にフィルタを適用するための1つ以上のOracle BIリポジトリの名前を入力します。このフィルタを指定すると、これらのリポジトリに対して要求された問合せの使用状況トラッキング・データのみが使用されます。
値はカンマ区切り形式(RPD_name_1[,RPD_name_2,...])で指定します。

6. オプションで、そのような問合せを含めるには「行制限を超えた問合せを含める」を選択します。このオプションを選択しない場合は、正常に完了した問合せの使用状況トラッキング・データのみが使用されます。

7. 「実行モード」については、サマリー・アドバイザ統計の生成中の物理問合せの実行を可能にするには、オプションで「より正確なタイミング・データを生成する問合せの実行(低速)」を選択します。

8. 「統計の生成」をクリックし、指定した使用状況トラッキング・データからOracle BIサマリー・アドバイザ統計を生成します。

nqaggradvisorユーティリティを使用してOracle BIサマリー・アドバイザを実行

管理ツールでOracle BIサマリー・アドバイザ・ウィザードを使用するかわりに、Oracle BIサーバー・ユーティリティnqaggradvisorを使用して、サマリー・アドバイザをコマンドラインから実行できます。サマリー・アドバイザ統計を生成した後、nqaggradvisorを使用して集計指定スクリプトを生成し、それを実行して集計を作成できます。nqaggradvisorユーティリティは、Oracle Business IntelligenceをOracle Exalytics Machine上で実行している場合にのみ使用できます。

ngaggradvisorの実行前に、bi-initを実行して、適切に初期設定されたコマンド・プロンプトを起動する必要があります。詳細は、「Oracleインスタンスに初期化したシェル・ウィンドウを起動するためのbi-initの実行」を参照してください。

構文

nqaggradvisorユーティリティは次のパラメータを取ります。

nQAggrAdvisor -d dataSource | -u userName | -o outputFile |
-c tupleInQuotes [-p password] [-F factFilter] [-z maxSizeAggr]
[-g gainThreshold] [-l minQueryTime] [-t timeoutMinutes]
[-s startDate] [-e endDate] [-C on/off] [-M on/off] [-K on/off]

説明:

dataSourceは、サマリー・アドバイザを接続して実行するOracle BIサーバーのODBCデータ・ソース名です。

userNameは、データ・ソースにログインするユーザー名です。指定されたユーザーは、管理ツールをオンライン・モードでオープンし、Oracle BIサマリー・アドバイザを使用するために必要な権限を持つ必要があります。

outputFileは、集計指定スクリプトの出力の完全修飾パスおよびファイル名です。

tupleInQuotesは、集計の永続性ターゲットです。完全修飾接続プール、完全修飾スキーマ名およびMB単位の容量を指定する必要があります。

passwordは、userNameに対応するパスワードです。これを指定しないと、nQAggrAdvisorを実行する際に、ユーザーがパスワードを求められます。

factFilterは、ファクト・フィルタ・ファイル名です。ファクト・フィルタ・ファイルには、サマリー・アドバイザの推奨事項を生成する論理表の完全修飾名が含まれます。個々の論理ファクト表の完全修飾名を、別々の行に追加します。ファクト・フィルタを指定しないと、リポジトリ内のすべての論理ファクト表が分析に含まれます。

maxSizeAggrは、集計のMB単位の最大サイズです。

gainThresholdは、反復最適化アルゴリズムに新しい集計を追加する場合に、サマリー・アドバイザに必要なワークロード内で影響を受けるすべての問合せのパフォーマンス・ゲインが改善された割合の最少パーセンテージです。この値が満たされない場合、サマリ・アドバイザが停止します。デフォルト値は1です。

minQueryTimeは、サマリー・アドバイザの実行に含まれる前に、各論理表ソースで必要な秒単位の最少の問合せ時間しきい値です。デフォルト値は0です。

timeoutMinutesは、結果を返すまでのサマリー・アドバイザの分単位の最長実行時間です。0を指定すると、無制限になります。デフォルト値は0です。

startDateは、サマリー・アドバイザの実行に含める統計の開始日です。

endDateは、サマリー・アドバイザの実行に含める統計の終了日です。

-Cは、オプティマイザの予測を使用するかどうかを指定します。onまたはoffを指定します。デフォルトはoffです。

-Mは、推奨事項にどのメジャーを含めるかを指定します。onを指定して、ワークロードで使用中のメジャーを含めます。offを選択すると、論理ファクト表内のすべてのメジャーがふくまれます。これには、サマリー・アドバイザで分析済のワークロードで使用されないメジャーも含まれます。デフォルトはoffです。

-Kは、代用キーを使用するかどうか指定します。onまたはoffを指定します。デフォルトはonです。

例

次の例では、tupleInQuotesパラメータを正常に指定する方法を示します。

nQAggrAdvisor -d "AnalyticsWeb" -u "Administrator" -p "ADMIN" -o "C:\temp\aggr_advisor.out.txt" -c "DW_Aggr"."Connection Pool","DW_Aggr".."AGGR",1000

次の例では、gainThreshold、startDateおよびendDateパラメータを正常に指定する方法を示します。

nQAggrAdvisor -d "AnalyticsWeb" -u "Administrator" -p "ADMIN" -o "C:\temp\aggr_advisor.out.txt" -F "C:\temp\fact_filter.txt" -g 10 -c "TimesTen_instance1"."Connection Pool","dbo",2000 -s "2011-05-02 08:00:00" -e "2011-05-07 18:30:00" -C on -M on -K off

集計の永続性ウィザードを使用した集計指定の生成

集計の永続性ウィザードを使用してSQLファイルを作成すると、それを使用して集計表を作成およびロードし、それらをメタデータにマップできます。この結果作成されるSQLファイルは、実行中のOracle BIサーバーに対して実行する必要があります。

集計の永続性ウィザードは集計指定の生成時に必要な多くの制約を自動的に適用するため、このウィザードの使用を強くお薦めします。ただし、このウィザードを使用せずに、集計論理SQLを手動で記述することもできます。独自の集計指定を記述する場合は、「集計指定作成の手動での記述」に記載されているガイドラインに従ってください。

集計の永続性ウィザードを実行する前に、物理レイヤーに集計を作成する予定のターゲット・データベースをマップする必要があります。これを行うには、必要なデータベース、接続プールおよび物理スキーマ・オブジェクトを手動で作成します。

注意:
Oracle Exalytics Machine上でOracle Business Intelligenceを実行している場合、集計の永続性ウィザードのかわりにサマリー・アドバイザ機能を使用して、問合せのパフォーマンスが向上するのはどの集計であるのか特定し、推奨集計を作成するスクリプトを生成できます。詳細は、「集計の問合せの候補を特定するためのOracle BIサマリー・アドバイザの使用方法」を参照してください。

集計の永続性ウィザードを使用するには:

1. モデル・チェック・マネージャを実行して、リポジトリに、集計の作成とパフォーマンスに影響を及ぼすモデリングの問題が含まれていないことを確認することをお薦めします。詳細は、「モデル・チェック・マネージャを使用したモデリングの問題のチェック」を参照してください。

注意:
モデル・チェック・マネージャは、一部のチェックのためにバックエンドのデータ・ソースに対して問合せを実行するので、オフピーク時に実行することをお薦めします。また、大規模なリポジトリに対してモデル・チェック・マネージャを実行すると、長い時間がかかることがあります。パフォーマンスを向上させるには、「統計によるフィルタ処理」を使用するか(使用可能な場合)、選択したオブジェクトに対してのみモデル・チェック・マネージャを実行するようにしてください。

2. 管理ツールでリポジトリを開きます(まだ開いていない場合)。
モデル・チェック・マネージャは、オンライン・モードで実行する必要があります。ただし、集計の永続性・ウィザードは、オンライン・モードでもオフライン・モードでも実行できます。

3. 「ツール」→「ユーティリティ」→「集計の永続性」を選択し、「実行」をクリックします。

4. 「ファイルの場所の選択」画面で、集計作成スクリプトの完全なパスおよびファイル名を指定します。新しいファイル名、既存のファイル名のいずれも指定することができます。
通常、Oracle BIサーバーに対してSQLスクリプトを実行する場合、DDLが作成され、それがターゲット・データベース・スキーマに対して実行され、集計表が作成されます。次に、ソースからそれらがロードされ、最後にOracle BIサーバーのメタデータが作成されます。これにより、集計ナビゲーション機能で新しい表が使用できるようになります。

また、Oracle BIサーバーのSQLスクリプトとは別のファイルにDDLを保存する場合は、ターゲットDDLを別のファイルに生成を選択することもできます。このオプションを選択すると、自動生成されたDDLを変更して、それをOracle BIサーバーから独立して実行することが可能になり、柔軟性が向上します。たとえば、記憶域パラメータや索引の設定を変更することができます。

別のファイルにターゲットDDLを生成を選択すると、2つのSQLスクリプトが「場所」フィールドに指定したディレクトリに生成されます。

- 集計作成スクリプト(script_name)

- 集計準備スクリプト(script_name_DDL)

別のファイルにターゲットDDLを生成を選択し、ウィザードのステップを完了した後は、一般的に次のように実行します。

1. サーバーに対して、集計準備スクリプトを実行します。このアクションによって、次の場所にDDLファイルが作成されます。

ORACLE_INSTANCE\bifoundation\OracleBIServerComponent\coreapplication_obisn\
aggr

2. 生成されたDDLファイルをターゲット・データベースに対して実行し、表を作成します。

3. 集計作成スクリプトを実行し、表に移入します。

「ファイルの場所の選択」画面でオプションの指定が完了したら、「次へ」をクリックします。

5. 「ビジネス・メジャーの選択」画面で、集計するメジャーを選択します。これを行うには、上部ペインでビジネス・モデルを選択し、次に下部ペインで1つのファクト表またはメジャーのセットを選択します。複数のファクト表にまたがるメジャーを選択することはできません。複数のメジャーを選択するには、[Ctrl]キーを押しながらクリックします。連続する範囲のメジャーを選択するには、[Shift]キーを押しながらクリックします。
オプションとして、「「重複を除いた件数」メジャーをRAW値として永続化」を選択して、as_raw_values句をすべての有効な重複しない件数メジャーに追加し、システム生成された集計論理表ソースへの対応する論理列に、集計式の上書きを設定します。このオプションを設定すると、集計の永続性は重複を除いた件数の実際の値を保存します。このオプションを選択しないと、集計の永続性は指定されたレベルの組合せに対するあらかじめ計算された件数を保存します。

最初の集計表ブロックの作成時には、「スクリプトの表示」ボタンは利用できないことに注意してください。

図13-2は、「ビジネス・メジャーの選択」画面を示しています。

図13-2 「集計の永続性」ウィザード: 「ビジネス・メジャーの選択」画面

適切なメジャーを選択したら、「次へ」をクリックします。

6. 「レベルの選択」画面で、1つ以上のディメンションの論理レベルを選択することによって集計のレベルを指定します。ファクト-ディメンションの結合で使用される代理キーを指定することができます。
集計対象のファクト表とディメンション表の間のデフォルトの結合オプションは、選択した論理レベルに定義されている主キーです。このレベルの主キーが大きくて複雑である場合、ファクト表への結合はコストが高くなります。したがって、この場合は代理キーを使用することをお薦めします。代理キーは人工的に生成されたキーであり、通常は数字です。たとえば、レベル集計表内の代理キーはこの結合を簡素化させ、ファクト表から不要な(レベルの主キーの)列が削除されます。これにより、ファクト表は軽量化されます。

代理キーの使用によって変化するのは問合せの応答時間のみであり、問合せの論理的な結果に違いはありません。ただし、代理キーの生成によって集計表のロード時間が長くなるという副作用が生じる場合があります。したがって、推奨設定は次のようになります。

- 選択した論理レベルの主キーが単一の数値列である場合、通常は代理キーを使用するオプションは選択しません。なぜなら、これを選択してもパフォーマンス上のメリットはなく、ロード処理にかかる時間が増えるだけだからです。

- 選択した論理レベルの主キーがテキスト文字列であるか、または複数の論理列から構成されている場合は、この集計ディメンションに結合される問合せのパフォーマンスを向上させるため、通常は代理キーを使用します。ただし、代理キーの生成によって、その集計ディメンション表のロード時間が長くなる場合があることに注意してください。

代理キーの詳細は、「ディメンション集計表への代理キーの追加」を参照してください。

図13-3は、「レベルの選択」画面を示しています。

図13-3 「集計の永続性」ウィザード: 「レベルの選択」画面

適切な集計レベルを選択したら、「次へ」をクリックします。

7. 「接続プールの選択」画面で、集計表の場所を指定するための適切な項目を選択します。
デフォルトの集計表の名前が設定されており、表の名前に接頭辞が付加されています。生成されるファクト表のデフォルトの接頭辞はagです。ディメンション(レベル)集計用に作成される表のデフォルトの接頭辞はSA_であり、これはNQSConfig.INIのAGGREGATE_PREFIXプロパティを更新することによって変更できます。構成設定の変更の詳細は、『Oracle Fusion Middleware Oracle Business Intelligence Enterprise Editionシステム管理者ガイド』を参照してください。

図13-4は、「接続プールの選択」画面を示しています。

図13-4 「集計の永続性」ウィザード: 「接続プールの選択」画面

接続プールの情報を設定したら、「次へ」をクリックします。

8. 「終了」画面では、「スクリプトの表示」ボタンが利用可能になっており、論理SQLスクリプトを表示して確認することができます。別の集計を定義するか(デフォルト)、またはウィザードを終了するかを選択し、「次へ」をクリックします。

9. 「スクリプトの終了」画面に、完全なパスとファイル名が表示されます。「終了」をクリックします。

SQLファイルを使用した集計表の作成の詳細は、「Oracle BIに対する集計指定の実行」を参照してください。

モデル・チェック・マネージャを使用したモデリングの問題のチェック

この項では、モデル・チェック・マネージャを使用して、Oracle BIサマリー・アドバイザと集計の永続性エンジンに影響を及ぼす可能性のあるモデリングの問題をチェックする方法について説明します。

この項には次のトピックが含まれます:

- モデル・チェック・マネージャについて

- 管理ツールを使用したモデル・チェック・マネージャの実行

- 「モデル・チェック・マネージャ」ダイアログの使用方法

- validaterpdユーティリティを使用したモデルのチェック

モデル・チェック・マネージャについて

モデル・チェック・マネージャを使用して、Oracle BIサマリー・アドバイザと集計の永続性エンジンの正常な実行に影響を及ぼす可能性のある問題についてリポジトリ・メタデータをチェックできます。Oracle Business Intelligenceでは、これまで集計が作成できなかったいくつかの事項について、サマリー・アドバイザおよび集計の永続性による取り扱い方法が改善されています。詳細は、「集計の永続性の改善点」を参照してください。

モデル・チェック・マネージャの実行のユーザー・エクスペリエンスは、整合性チェック・マネージャの実行に非常によく似ていますが、これら2つのツールには、次のような3つの主な違いがあります。

- モデル・チェック・マネージャは、整合性チェック・マネージャとは異なり、一部のチェックのために、サマリー統計表(「統計によるフィルタ処理」の使用時)およびバックエンドのデータ・ソースへのアクセスを必要とします。バックエンド問合せの一部は高負荷になる可能性があるため、モデル・チェック・マネージャはオフピーク時に実行することをお薦めします。

- モデル・チェック・マネージャは、オンライン・モードでのみ実行できます。

- モデル・チェック・マネージャは、リポジトリ・メタデータに何も変更を加えません。問題の可能性があることを示すフラグを設定するだけです。

モデル・チェック・マネージャは、整合性チェック・マネージャと同様に、エラー・メッセージと警告メッセージの両方を返します。モデル・チェック・マネージャによって特定されたエラーを修正する必要があります。そうしないと、Oracle BIサマリー・アドバイザによる推奨事項が正しくないものになったり、集計の永続性エンジンによる集計の作成が失敗したりすることがあります。警告を修正することをお薦めしますが、必須ではありません。警告で特定された問題は、Oracle BIサマリー・アドバイザによる推奨事項の的確性を損なったり、集計の永続性エンジンのパフォーマンスを低下させたりすることにつながります。

モデル・チェック・マネージャは、パフォーマンス改善のために、データベースに対してパラレル問合せを実行します。デフォルトでは、24個のスレッドが有効になっています。モデル・チェック・マネージャのデフォルトのスレッド数を変更するには、オペレーティング・システムの環境変数としてMODEL_CHECKER_MAX_THREADSを作成し、設定します。指定可能な最大スレッド数は100です。

管理ツールを使用したモデル・チェック・マネージャの実行

Oracle BIサマリー・アドバイザに対しては、Oracle BIサマリー・アドバイザ・ウィザードの実行前ではなく、サマリー・アドバイザ統計の収集後にモデル・チェック・マネージャを実行します。集計の永続性に対しては、集計の永続性・ウィザードの実行直前にモデル・チェック・マネージャを実行します。または、初期集計作成の失敗後、モデル・チェック・マネージャを実行して、選択したオブジェクトに関する問題を特定することができます。

管理ツールを使用してモデル・チェック・マネージャをグローバルに実行するには、「ファイル」メニュー→「モデルのチェック」を選択します。サブメニューから次のいずれかのオプションを選択します。

- 完全: Oracle BIリポジトリのビジネス・モデルとマッピング・レイヤーにあるすべてのオブジェクトをチェックします。

- 統計によるフィルタ処理: 統計表に従ってアクティブな問合せの対象となった、ビジネス・モデルとマッピング・レイヤーにあるファクト表オブジェクトおよび関連するディメンションのみをチェックします。大規模なリポジトリに対するプロセスを高速化するには、このオプションを選択します。
このオプションは、Oracle Exalytics Machineでのみ使用可能です。Exalytics以外のシステムで統計によるフィルタ処理を実行しようとしたり、統計表が使用可能でないときにフィルタ処理を実行しようとしたりすると、モデル・チェック・マネージャは統計によるフィルタ処理を行うことができないことを説明する警告が表示されます。

サマリー・アドバイザの統計表の設定の詳細は、後続のセクションを参照してください。

- 「統計データベースの設定」

- 「使用状況トラッキングの有効化」

- 「サマリー・アドバイザ・ロギングの有効化」

管理ツールを使用して選択したオブジェクトに対してモデル・チェック・マネージャを実行するには、1つまたは複数のビジネス・モデル、ディメンション・オブジェクトまたは論理ファクト表を右クリックし、「モデルのチェック」を選択します。そして、前述のように、サブメニューから「完全」または「統計によるフィルタ処理」を選択します。「統計によるフィルタ処理」メニュー・オプションは、ファクト表オブジェクトおよびビジネス・モデル・オブジェクトでのみ使用可能であることに注意してください。

大規模なリポジトリでモデル・チェック・マネージャを使用する場合、パフォーマンスを向上させるには、「統計によるフィルタ処理」を使用するか(使用可能な場合)、選択したオブジェクトに対してのみモデル・チェック・マネージャを実行することをお薦めします。

「モデル・チェック・マネージャ」ダイアログの使用方法

1つまたは複数のオブジェクトに対してモデル・チェック・マネージャを実行すると、図13-5に示されているように、「モデル・チェック・マネージャ」ダイアログが表示されます。

図13-5 モデル・チェック・マネージャ

リポジトリを編集して問題を修正するには、行をダブルクリックして、そのオブジェクトのプロパティのダイアログを開くか、行を選択して「移動」をクリックします。問題を修正し、「OK」をクリックします。

「モデル・チェック・マネージャ」ダイアログで次のアクションを実行することもできます。

- 「表示」ボックスのオプションを使用して、エラーのみを表示する、警告のみを表示する、またはその両方を表示することを選択できます。

- 列のヘッダーをクリックして、メッセージの行をソートします。

- モデル・チェック・マネージャの結果をテキスト、CSVまたはXML形式に保存するには、「名前を付けて保存」をクリックします。

- メッセージをコピーして、スプレッドシートなどの他のファイルに貼付けできるようにするには、1つまたは複数の行を選択し、「コピー」をクリックします。行を選択せずに「コピー」をクリックすると、すべてのメッセージがコピーされます。

- モデルを再度チェックするには、「全オブジェクトのチェック」をクリックしてグローバル・チェックを実行します。または、右上隅の「リフレッシュ」ボタンをクリックして、前回のチェックでエラーがあったオブジェクトのみをチェックします。

- 「オブジェクト」列でオブジェクトの修飾名を表示するには、「修飾名の表示」をクリックします。

- ステータス・バーには、どのオブジェクトがチェックされたか、および表示されているすべての行のサマリーが表示されます。

validaterpdユーティリティを使用したモデルのチェック

Oracle BIサーバーのユーティリティvalidaterpdを使用し、-Lオプションを指定して、コマンドラインからモデルをチェックすることができます。-Lを指定してこのユーティリティを実行すると、管理ツールでモデル・チェック・マネージャがチェックする場合と同様のモデル・チェックを実行できます。validaterpdユーティリティは、WindowsシステムとUNIXシステムの両方で使用できます。

モデル・チェック・モードでvalidaterpdを実行するには、実行中のOracle BIサーバーのDSNを指定する必要があります。

validaterpdの実行前に、bi-initを実行して、適切に初期設定されたコマンド・プロンプトを起動する必要があります。詳細は、「Oracleインスタンスに初期化したシェル・ウィンドウを起動するためのbi-initの実行」を参照してください。

整合性チェック・モードでのvalidaterpdの実行の詳細は、「validaterpdユーティリティを使用したリポジトリの整合性チェック」を参照してください。

構文

validaterpdユーティリティは、モデル・チェック・モードで次のパラメータを取ります。

validaterpd -L -D DSN_name -U DSN_user_name [-P DSN_password]
{-O output_txt_file_name |-C output_csv_file_name | -X output_xml_file_name} [-W]
[-S] [-8]

説明:

-L: モデル・チェック・モードを指定します。

-D: 実行中のOracle BIサーバーのDSN。

-U: Oracle BIサーバーのDSNのユーザー名。

-P: Oracle BIサーバーのDSNのパスワード。

パスワード引数はオプションです。パスワード引数を指定しなかった場合、コマンドの実行時にパスワードを入力するように求められます。セキュリティ違反のリスクを最小限に抑えるために、コマンド・ラインまたはスクリプトではパスワード引数を指定しないことをお薦めします。パスワード引数のサポートは下位互換性の保持を目的としており、将来のリリースでは削除される予定です。スクリプトのために、パスワードを標準入力によって渡すことができます。

-O: 結果をテキスト・ファイルで出力するには、このオプションを使用します。

-C: 結果をCSVファイルで出力するには、このオプションを使用します。

-X: 結果をXMLファイルで出力するには、このオプションを使用します。

-8: UTF-8出力を指定するには、このオプションを使用します(オプション)。

-W: オプションとして、ホワイトリストされたオブジェクト・ファイルを含めることができます。このテキスト・ファイルでは、チェックする必要のある論理オブジェクトの限定数が指定されます。各論理オブジェクトの完全修飾名を1行に入力します。-Wが指定されていない場合は、すべての論理オブジェクトがチェックされます。

-S: 統計表に従ってアクティブな問合せの対象となったオブジェクトのみをチェックするには、このオプションを使用します。-Sが指定されていない場合は、すべてのオブジェクトがチェックされます。-Wも同時に指定された場合、ホワイトリスト・ファイルにはビジネス・モデルと論理ファクト表のみが含まれます(その他のオブジェクトはチェックされません)。このオプションは、Oracle Exalytics Machineでのみ使用可能です。

例

validaterpd -L -D DSNName -U Username -O results.txt
Give password: my_dsn_password

前出の例では、DSNName接続を使用してRPDに接続し、RPD内のすべてのモデルをチェックし、出力をresults.txtに書き込んでいます。

validaterpd -L -D DSNName -U Username -O results.txt -W whitelist.txt -S
Give password: my_dsn_password

前出の例では、DSNName接続を使用してRPDに接続し、モデル・チェックを実行して、出力をresults.txtに書き込んでいます。whitelist.txtにリストされたオブジェクトのみがチェックされます。また、-Sが指定されているため、統計表に従ってアクティブな問合せの対象となったオブジェクトのみがチェックされます。

-Wと-Sを同時に指定した場合、ホワイトリストにはビジネス・モデルと論理ファクト表のみを含めることができます。その他のオブジェクトはチェックされません。

集計指定作成の手動での記述

スクリプト・ファイルの作成に集計の永続性ウィザードを使用しないことを選択した場合、このファイルを手動で記述することができます。ただし、集計の永続性ウィザードを使用することをお薦めします。

集計の作成時にOracle BIサーバーによってデータベースが変更されるのを望まない場合は、集計の永続性ウィザードでターゲットDDLを別のファイルに生成オプションを選択することによって、それを指定することができます。集計の永続性ウィザードによって、空の集計表を作成するためのDDLファイル(集計準備スクリプト)が作成されます。この後、集計表にデータを移入するために、集計作成スクリプトを実行する必要があります。このオプションは、表作成のためのデータベースへのアクセスが制限されている場合に柔軟性を提供します。集計作成スクリプトを実行する前に集計準備スクリプトを実行する必要があることに注意してください。

この項には次のトピックが含まれます:

- 作成プロセス時に課される制約

- 集計指定作成を記述する方法

- ディメンション集計表への代理キーの追加

作成プロセス時に課される制約

作成プロセス時には次の制約が課されます。

- 有効なメジャー。有効なメジャーは有効な集計ルールを持っている必要があります。レベルベース・メジャーには次の制約が適用されます。

- レベルが総計のエイリアスである場合、その集計指定のレベルのリスト内にそのディメンションが存在してはいけません。

- このメジャーに定義される他のすべてのレベルは、その集計指定のレベルのリスト内に存在している必要があります。

前述の制約が満たされない場合、集計指定全体が破棄されます。また、次のいずれかの条件に当てはまる場合、作成プロセスにおいてメジャーは無視されます。

- メジャーがセッションまたはリポジトリ変数にマップされています。

- メジャーが導出メジャーです。

- メジャーにデフォルトの集計ルール(なし)が設定されています。

無視されたメジャーは、必ずしも集計指定に影響するとは限りません。集計の作成には残りのメジャーが使用されます。

- 有効なレベル。有効なレベルは有効な主キーを持つ必要があります。レベルが無効である場合、集計指定は破棄されます。また、次のいずれかの条件に当てはまる場合、レベルまたはその主キーの属性は無視されます。

- 属性がセッションまたはリポジトリ変数にマップされています。

- 属性が同一の論理表からのものではありません。

- 有効な集計指定。有効な集計指定は次のプロパティを持ちます。

- 名前の長さが1 - 18文字です(1文字、18文字も可)。

- 1つ以上の有効なレベルが指定されています。

- 1つ以上の有効なメジャーが指定されています。

- 有効な接続プールを持つ必要があります。

- 有効な出力コンテナを持つ必要があります(データベース/カタログ/スキーマ)。

- 接続プールとコンテナは同一のデータベースに属する必要があります。

- 各ディメンションに指定可能なレベルは1つのみです。

- メジャーは同一のファクト表からのものでなくてはなりません。

- 指定内のすべての論理コンポーネントは、同一のサブジェクト・エリアのものでなくてはなりません。

レベルの集計はデータベース全体をスコープとするため、出力コンテナ内に同じ名前がすでに存在する場合、集計指定は無視されます。ただし、同一のファクト集計名に対して異なるカタログまたはスキーマが指定される場合、同一のデータベース内の別のスコープであれば、同じ名前の複数のファクトを持つことが許可されます。

ファクトに結合されていないディメンションが存在する場合、集計指定は破棄されることに注意してください。

集計指定作成を記述する方法

すべてのメタデータの名前(論理ファクト列を除く)は完全修飾です。操作には、作成と削除の2つのモードがあります。すべての集計指定を1つの集計作成文に含めることを強くお薦めします。

集計指定を記述する際は、次のガイドラインに従ってください。

- スクリプト・ファイルの最初にはDelete文を置きます。新しい集計を作成する前にシステムによって生成された集計を削除することが不可欠です。これにより、データの一貫性が保たれること、および作成操作の実行前に無効な集計や不完全な集計が削除されることが保証されます。集計を削除する文の構文は次のとおりです。

Delete aggregates [list of fully qualified physical table names];

例:

Delete aggregates "src".."INCR"."fact_1", "src".."INCR"."fact_2";

オプションで、削除する物理表のカンマ区切りリストを含めることができます。含める表は、集計作成スクリプトの前回の実行によってシステムで生成されたものである必要があります。リストされたファクト表に結合されているすべてのディメンション表も削除されます。

ディメンション表が複数のファクト表に結合されている場合、それは、他の結合されている表もリストされていないかぎり削除されません。

ファクト表に加えて、Delete文を使用して、孤立ディメンション表(他のどのファクト表にも結合されていないディメンション表)を削除することもできます。集計作成が失敗すると、孤立ディメンション表が発生することがあります。

削除文によって、時系列キーが集計の永続性に追加された際に、時間ディメンションの論理表に追加された論理キーおよび論理列も削除されます。

- 次にCreate文を配置します。集計を作成する文の構文は次のとおりです。

Create|Prepare aggregates
aggr_name_1
for  logical_fact_table_1 [(logical_fact_column_1, logical_fact_column_2, count_distinct_logical_fact_column_1 as_raw_values, ...)]
at levels (level_1, level_2, …)
using connection pool connection_pool_name_1
in schema_name_1
[ ,aggr_name_2
for logical_fact_table_3 [(logical_fact_column_5, logical_fact_column_2,…)]
at levels (level_3, level_2, …)
using connection pool connection_pool_name_2
in schema_name_2] ;

as_raw_valuesは、単一の集計ルールを持つ重複しない件数のメジャーを伴っている必要があります。単一の集計ルールには、ルールが1つだけあり、ディメンション・ベースではありません。

- 1つの集計作成の文の中に複数の集計を指定する場合は、次のガイドラインに従ってください。

- 複数の集計指定はカンマで区切り、集計作成スクリプト全体の終わりにはセミコロンを入力します。

- このファイルでは、集計削除文は先頭に1つのみ指定するようにします。1回のETLの実行で削除は1回のみ実行されるようにします(リセットが要求される場合を除く)。

注意:
初回以降に実行されるすべての集計スクリプトでは、集計削除文は含めないようにするか、または以前に作成したすべての集計を削除するようにしてください。

代理キーを使用する集計の作成は、次の項を参照してください。

ディメンション集計表への代理キーの追加

ファクト表とレベル集計表との結合オプションのデフォルトでは、レベル集計の主キーが使用されます。このレベルの主キーが大きくて複雑である(多数の列で構成されている)場合、ファクト表への結合はコストが高くなります。代理キーは人工的に生成されたキーであり、通常は数字です。レベル集計表内の代理キーはこの結合を簡素化させ、ファクト表から不要な(レベルの主キーの)列が削除され、ファクト表のサイズが小さくなります。代理キーをディメンション(レベル)集計表に追加すると、ファクト表への結合を簡素化でき、問合せのパフォーマンスが向上することがあります。さらに、代理キーによって、各集計表が一意の識別子を持つようになります。

複数のファクト表間でレベルが共有される場合があります。この場合、あるファクトでは代理キーが使用され、別のファクトではディメンション集計の主キーがされる可能性があります。この状況を解決するためのいくつかのオプションを次に示します。

- レベルに対して、代理キー、主キーのいずれが使用されるかを示すメタデータ・プロパティを設定します。

- レベルの集計では常に代理キーを作成します(処理のコストは比較的低い)。ファクト集計をそれに結合する際に代理キーと主キーのいずれを使用するかについては、後で決定します。

各ディメンションに対して結合タイプを指定する方法の他に、スター全体で代理キーを使用するかどうかを指定する方法があります。これにより構文が簡潔になる場合がありますが、ユーザー・オプションの利用に制限が生じたり、集計作成プロセスの速度が低下したりすることがあります。

集計の作成/準備の構文について

集計の作成/準備のための次の構文には、変更箇所[Using_Surrogate_Key]が含まれています。各レベルに代理キー・オプションを指定することができます。このオプションを指定しないと、ファクト表およびディメンション表は、レベル集計の主キーを使用して結合されます。

Create|Prepare aggregates
aggr_name_1
[file output_file_name]
for  logical_fact_table_1 [(logical_fact_column_1, logical_fact_column_2,…)]
at levels (level_1 [Using_Surrogate_Key], level_2, …)
using connection pool connection_pool_name_1
in schema_name_1
[ ,aggr_name_2
for logical_fact_table_3 [(logical_fact_column_5, logical_fact_column_2,…)]
at levels (level_3, level_2, …)
using connection pool connection_pool_name_2
in schema_name_2] ;

集計の作成/準備からの代理キーの出力について

現在のプロセスへの変更は、リポジトリおよびデータベース内の物理メタデータ・レイヤーに制限されています。

Using_Surrogate_Key結合オプションを使用すると、次のような結果になります。

- レベル集計の場合、次のようになります。

- 物理メタデータでは次のようになります。

- レベル集計表は、levelName_upgradeIDSKという名前の新しい列を持ちます(競合がチェックされます)。これは、ディメンション集計の代理キーの列です。全文字数が18文字を超える場合、levelNameは切り詰められることに注意してください。

- データベースでは次のようになります。

- レベル集計表は、levelName_upgradeIDSKという名前の対応する列を持ちます。ここでも、全文字数が18文字を超える場合、levelNameは切り詰められます。

- これはRCOUNT()を使用してデータが設定されます。

- ファクト集計の場合、次のようになります。

- 物理メタデータでは次のようになります。

- ファクト集計表には、レベルの主キーの列は含まれません。

- かわりに、レベル集計の代理キーに対応する新しい列が表に追加されます。

- この列の型はレベルの代理キーと同じです。

- この列の名前は、レベル集計の列の名前と同じです(競合がチェックされます)。

- ファクト表とレベル表は、この代理キーのみを使用して結合されます。

- データベースでは次のようになります。

- ファクト集計表も対応する代理キーを持ちます。

- 移入を通じて利用可能な新機能を使用してデータを設定します。

Oracle BIに対する集計指定の実行

この項では、Oracle BIサーバーに対して集計指定スクリプトを実行する方法を説明します。このスクリプトを実行する前に、Oracle BIサーバーに対してODBC DSNを作成し、適切なログ・レベルが設定されるようにする必要があります。その後、BI Administratorsグループのメンバーであるユーザーとして、nqcmdを使用してこのスクリプトを実行できます。

集計指定スクリプトを実行する手順は、次のとおりです。

1. 集計作成スクリプトを実行するには、クラスタ化DSNではなく実行中のOracle BIサーバーのDSNに直接接続する必要があります。次の点に注意してください。

- 単一ノード・クラスタ: 各Oracle BIサーバーのインストール時に作成されるDSNは、単一ノード・デプロイメントの場合でもデフォルトでクラスタ化されているため、集計指定を実行する対象となるOracle BIサーバーに対して手動でDSNを作成する必要があります。

- 複数ノード・クラスタ: マスターOracle BIサーバーに対して直接、集計指定を実行する必要があります。集計指定を実行する対象となるマスターOracle BIサーバーに対して非クラスタDSNを作成します。オンライン・モードで管理ツールの「クラスタ・マネージャ」を使用して、どのOracle BIサーバーがマスターであるのか判別できます。

Oracle BIサーバーのODBC DSNの作成方法の詳細は、『Oracle Fusion Middleware Oracle Business Intelligence Enterprise Editionインテグレーターズ・ガイド』のOracle Business Intelligenceと他のクライアントとの統合に関する項を参照してください。

2. スクリプトを実行する前に、適切なロギング・レベルを設定することをお薦めします。ロギング・レベルを2以上にすると、nqquery.logにトレース・ログが記録されます。ログの対象となるイベントには、集計の実行計画や、集計の作成および削除の順序が含まれます。ロギング・レベルが高いほど、問合せおよび実行計画に関してより詳細な情報が提供されます。たとえば、実行される問合せを調べるには、ロギング・レベル4以上を指定します。ログ・レベルを1以上にすると、nqquery.logにエラー・ログが記録されます。また、nqserver.logにはログ・レベルに関係なくログが記録されます。
最初に、次のいずれかの方法を使用してロギング・レベルを設定します。

- スクリプトを実行するユーザーのリポジトリ・ユーザー・オブジェクトでロギング・レベルを設定する。詳細は、『Oracle Fusion Middleware Oracle Business Intelligence Enterprise Editionシステム管理者ガイド』の問合せログの管理に関する項を参照してください。

- LOGLEVELシステム・セッション変数を作成して設定する。LOGLEVELによって、個別のユーザーに設定されているロギング・レベルが上書きされます。詳細は、「セッション変数の作成」を参照してください。

その後、集計作成スクリプトを直接編集し、各集計削除文または集計作成文のリクエスト変数としてロギング・レベルを設定する必要があります。例:

set variable LOGLEVEL=7 : delete aggregates;

set variable LOGLEVEL=7 : create aggregates... ;

nqcmdを使用してリクエスト変数を設定する場合は、デリミタとしてコロンを使用する必要があります。

3. BI Administratorsグループのユーザーとして、nqcmdを使用して、ステップ1で作成したOracle BIサーバーの非クラスタDSNに接続します。その後、集計指定スクリプトを実行します。
nqcmdの実行の詳細は、「リポジトリのテストおよび絞込みのためのnqcmdの使用方法」を参照してください。

注意:
クラスタ化環境では、集計指定スクリプトは、バックグラウンドでスレーブOracle BIサーバーのローリング再起動を実行します。集計の永続性スクリプトの実行中は、Fusion Middleware Controlまたは構成ファイルで他の構成変更を行わないことをお薦めします。ローリング再起動ではスレーブ・サーバーのみが再起動されるため、マスターOracle BIサーバーに、スレーブOracle BIサーバーとは異なる構成設定のセットがロードされる状況になる場合があります。これが発生した場合、マスターOracle BIサーバーを再起動します。

SQLスクリプトを実行すると、Oracle BIサーバーのメタデータ内、およびバックエンド・データベース内に集計が作成され、永続化されます。

一連の集計が作成されるとき、1つの集計の作成が失敗すると、集計の永続性エンジンは、失敗した集計とその依存性の作成をスキップし、リストの次の集計に進むことに注意してください。

ログ・ファイルをチェックして、失敗した集計を特定します。孤立した集計ディメンション(他のどのファクト表にも結合していないもの)が作成された場合は、集計削除コマンドを使用してそれを削除します。

集計の永続性のライフ・サイクル・ユースケース

表 13-2は、様々なライフ・サイクル・ユースケースに対して集計を永続化するためのユーザー・タスクをまとめたものです。

これらのユース・ケースは、単一または複数の集計の永続性ターゲットに対する操作に焦点を当てており、単一または複数ノード・デプロイメントに対する操作を説明するものではありません。多くの部分において、ユーザー・タスクは、単一ノード・デプロイメントと複数ノード・デプロイメントの両方に対して同じです。唯一の違いは、クラスタ化デプロイメントでは、マスターOracle BIサーバーに接続する必要があり、スレーブ・サーバーのローリング再起動は、バックグラウンドで実行されることです。詳細は、「Oracle BIに対する集計指定の実行」を参照してください。

表13-2 集計の永続性のライフ・サイクル・ユースケース

番号

ユースケース

説明

1

単一の集計の永続性ターゲットに対する集計の作成

集計の作成のみを実行するには、集計作成スクリプトを変更し、先頭の集計削除文を削除します。その後、nqcmdを使用して、スクリプトを実行します。

2

単一の集計の永続性ターゲットに対する集計の削除

集計を削除するには、nqcmdを使用して、次のように集計削除文を直接実行します。

Delete aggregates [list of fully qualified physical fact table names];

例:

Delete aggregates;

または

Delete aggregates "src".."INCR"."fact_1", "src".."INCR"."fact_2";

3

単一の集計の永続性ターゲットに対する集計のリフレッシュ

nqcmdを使用して集計作成スクリプトを実行します。これには、最初に集計を削除する文、次に作成する文が含まれています。

かわりに、ユース・ケース2の説明に従って集計を手動で削除してから、ユース・ケース1に示すように集計を作成することもできます。この手動による方法は、すべての集計を削除するが、集計作成スクリプトでは特定の集計のみが削除されるように指定されている場合に便利です。

4

複数の冗長な集計の永続性ターゲットに対する集計の作成

複数のターゲット上に集計クローンを作成するには、集計作成スクリプトを変更し、集計作成文を、ターゲットの数だけコピーします。

たとえば、次の集計作成文を含むスクリプトがあるとします。

set variable LOGLEVEL=7 : create aggregates
"myfactaggr"
for "FACT_1"("MEASURE_1")
at levels ("INCR"."DIM1_LEVEL1Dim"."DIM1_LEVEL1 Detail")
using connection pool "tgt1"."cp"
in "tgt1".."double1";

そのブロックをコピーし、それを最初のブロックの下に貼り付け、2番目のターゲット用に接続プールとスキーマ情報を変更します。例:

set variable LOGLEVEL=7 : create aggregates
"myfactaggr"
for "FACT_1"("MEASURE_1")
at levels ("INCR"."DIM1_LEVEL1Dim"."DIM1_LEVEL1 Detail")
using connection pool "tgt2"."cp"
in "tgt2".."double2";

すべてのターゲット用のブロックをコピーして変更したら、スクリプトを保存します。その後、nqcmdを使用して、集計作成スクリプトを実行します。

5

複数の集計の永続性ターゲットに対する集計の削除

複数のターゲット上の集計を削除するには、nqcmdを使用して、影響を受けるファクト表に対して集計削除文を直接実行します。例:

set variable LOGLEVEL=7 : delete aggregates
"tgt1".."double1"."myfactaggr";
set variable LOGLEVEL=7 : delete aggregates
"tgt2".."double2"."myfactaggr";

6

複数の冗長な集計の永続性ターゲットに対する集計のリフレッシュ

このユース・ケースの詳細は、「可用性の高い集計をリフレッシュするためのダブル・バッファリングの使用方法」を参照してください。

7

複数のパーティション化された集計の永続性ターゲットに対する集計のリフレッシュ

場合によっては、様々な集計が複数のターゲットにわたってパーティション化されていることもあります。この手法は、メモリー使用量が最大になりますが、可用性の高い集計を提供しません。パーティション化された集計をリフレッシュするには、次の中からデプロイメントに合った方法を実行してください。

- 様々なターゲットに対して集計の永続性ウィザードを複数回実行し、一連の集計作成スクリプトを生成し、そのスクリプトを実行します。

- Oracle Exalytics Machine上でOracle Business Intelligenceを実行している場合、Oracle BIサマリー・アドバイザを実行し、「ターゲット」画面で複数のターゲットを指定します。その後、集計作成スクリプトを実行します。

可用性の高い集計をリフレッシュするためのダブル・バッファリングの使用方法

複数の集計の永続性ターゲットにわたる集計クローンがある場合、集計をリフレッシュする際はダブル・バッファリングを使用して停止時間を作らないようにできます。これを行うには、リフレッシュを制御するように集計作成および削除SQL文を手動でコールします。

始めに、最初のターゲット上の集計を削除します。次に、最初のターゲットで集計を作成し、非アクティブ・スキーマとして集計が削除されていないターゲットを指定し、リフレッシュで古いデータが使用されないようにします。その後、各ターゲットに対してこのプロセスを繰り返します。最後のターゲットをリフレッシュする際は、その時点までに他のスキーマのデータはすでにリフレッシュされているため、非アクティブ・スキーマを指定する必要はありません。

非アクティブ・スキーマを指定するには、集計作成文の前にリクエスト変数INACTIVE_SCHEMASを設定します。例:

set variable INACTIVE_SCHEMAS='"tgt2".."double2"' :

非アクティブ・スキーマとしてリフレッシュされていないスキーマのみ指定します。すでにリフレッシュ済または削除済のスキーマを指定しないでください。

複数の非アクティブ・スキーマを指定するには、カンマ区切りリストを使用します。リストに空白がないことを確認します。

例13-1は、2つのターゲット上で集計をリフレッシュするためのダブル・バッファリングの使用方法を示しています。

例13-1 2つのターゲット上の集計クローンのリフレッシュ

ターゲットtgt1とtgt2上に次の集計クローンがあるとします。

"myfactaggr"
for "FACT_1"("MEASURE_1")
at levels ("INCR"."DIM1_LEVEL1Dim"."DIM1_LEVEL1 Detail")
using connection pool "tgt1"."cp"
in "tgt1".."double1",

"myfactaggr"
for "FACT_1"("MEASURE_1")
at levels ("INCR"."DIM1_LEVEL1Dim"."DIM1_LEVEL1 Detail")
using connection pool "tgt2"."cp"
in "tgt2".."double2";

リフレッシュ中に少なくとも1つの集計クローンを使用可能にするには、次の手順に従います。

1. 次のようにして最初のターゲット上の集計クローンを削除します。

set variable LOGLEVEL=7 : delete aggregates "tgt1".."double1"."myfactaggr";

2. 最初のターゲットの集計を作成し、2番目のターゲットを非アクティブ・スキーマとして指定して、そのデータがリフレッシュで使用されないようにします。

set variable LOGLEVEL=7, INACTIVE_SCHEMAS='"tgt2".."double2"' : create aggregates
"myfactaggr"
for "FACT_1"("MEASURE_1")
at levels ("INCR"."DIM1_LEVEL1Dim"."DIM1_LEVEL1 Detail")
using connection pool "tgt1"."cp"
in "tgt1".."double1";

3. 次のようにして2番目のターゲットの集計クローンを削除します。

set variable LOGLEVEL=7 : delete aggregates "tgt2".."double2"."myfactaggr";

4. 2番目のターゲットの集計クローンを作成します。最初のターゲットはすでにリフレッシュされているめた、非アクティブ・スキーマは指定しないでください。

set variable LOGLEVEL=7 : create aggregates
"myfactaggr"
for "FACT_1"("MEASURE_1")
at levels ("INCR"."DIM1_LEVEL1Dim"."DIM1_LEVEL1 Detail")
using connection pool "tgt2"."cp"
in "tgt2".."double2";

注意:
複数の集計の永続性ターゲットにまたがる集計クローンがある場合、追加のインスタンスが、初期インスタンスのリフレッシュ時に問合せの負荷を引き受けるホット・スペアとなります。集計クローンは、受信問合せのロード・バランシングでは使用されません。

TimesTenソース上の集計の作成

この項では、TimesTenソースでの集計作成に関連する構成手順と機能について説明します。この項には次のトピックが含まれます:

- TimesTenに対するPL/SQLの有効化

- 圧縮表での集計の作成

- TimesTenに対するパフォーマンス強化機能の有効化

Oracle Exalytics Machine上のTimesTenソースの設定の具体的な手順は、『Oracle Fusion Middleware Oracle Exalytics In-Memory Machineインストレーションおよび管理ガイド』も参照してください。

TimesTenに対するPL/SQLの有効化

TimesTenソース上に集計を作成するには、そのインスタンスに対してPL/SQLが有効化されており、そのPL/SQLの最初の接続属性PLSQLが1に設定されていることを確認する必要があります。PL/SQLは、インストール時に有効にすることも、インストール後にttmodinstallユーティリティを実行して有効にすることもできます。詳細は、『Oracle TimesTen In-Memory Databaseリファレンス』を参照してください。

圧縮表での集計の作成

TimesTenの圧縮表で集計を作成する場合は、管理ツールで、「データベース」ダイアログの「機能」タブでデータベース機能COMPRESSED_COLUMNSをオンにします。「機能」タブの使用方法の詳細は、「データ・ソースでサポートされるSQL機能の指定」を参照してください。

TimesTenに対するパフォーマンス強化機能の有効化

TimesTenのリリース11.2.2.3以降で集計を作成している場合は、次の機能を有効にしてパフォーマンスを改善することができます。

- REDOロギングの無効化

- パラレルでの索引作成

- バックグラウンドでのデータベース・チェックポイントの実行

これらの機能を有効化するには、次の手順を実行します。

1. 編集するためにopmn.xmlを開きます。opmn.xmlは次の場所にあります。

ORACLE_INSTANCE/config/OPMN/opmn/opmn.xml

2. Oracle BIサーバー・プロセスのias-componentタグを探します。例:

<ias-component id="coreapplication_obis1" inherit-environment="true>

3. <environment>サブタグの下で、次のTimesTen変数を更新します。

<variable id="ORACLE_BI_TT_DISABLE_REDO_LOGGING" value="1"/>
<!-- This disables redo-logging, enabling faster creation of aggregates.
'0' if you wish to disable this feature. -->

<variable id="ORACLE_BI_TT_PARALLEL_INDEX_CREATION" value="1"/>
<!-- This enables AggrPersist to create indexes in parallel, making
creation of aggregates faster. '0' if you wish to create TimesTen indexes
sequentially. -->

<variable id="ORACLE_BI_TT_BACKGROUND_CHECKPOINT_INTERVAL" value="10"/>
<!-- This changes how often TimesTen will flush its data to disk. If this
element is missing, the default is every 10 seconds. If explicitly set, it
will flush to disk every N seconds, 10 in this example. '0' will disable
background flushing. Enabling background flushing speeds up creation of
aggregates, by avoiding a large blocking flush at the end of the aggregate
creation process. -->

4. ファイルを保存して閉じます。

5. OPMNを再起動します。

6. BIサーバー・プロセスを実行している各コンピュータで前述の手順を繰り返します。同じコンピュータで複数のBIサーバー・インスタンスを実行している場合は必ず、opmn.xmlで各インスタンスについてias-componentタグを適切に更新してください(例: ias-component id="coreapplication_obis1"、ias-component id="coreapplication_obis2")。

TimesTenのリリース11.2.2.5以降で集計を作成している場合は、パラレル挿入を有効にできます。パラレル挿入では、複数のスレッドを割り当てて単一表への行の挿入に対応します。この拡張により、TimesTenで集計を作成する際のパフォーマンスが向上します。前の手順に加えて、次の手順を実行します。

パラレル挿入機能を有効にする手順は、次のとおりです。

1. 編集するためにopmn.xmlを開きます。opmn.xmlは次の場所にあります。

ORACLE_INSTANCE/config/OPMN/opmn/opmn.xml

2. Oracle BIサーバー・プロセスのias-componentタグを探します。例:

<ias-component id="coreapplication_obis1" inherit-environment="true>

3. <environment>サブタグの下で、次のTimesTen変数を更新します。

<variable id="ORACLE_BI_AGGR_PARALLEL_INSERT" value="ENABLE"/>
<!-- This enables parallel insert using TimesTen's default thread count
allocations, providing faster creation of aggregates. Set the value to an
integer >=2 to specify a custom thread count for TimesTen. AggrPersist
will request that TimesTen allocate the input number of threads for use in
performing parallel inserts. If the number of thread counts exceeds
TimesTen's maximum number, then TimesTen and AggrPersist will use the
maximum number instead. -->

<variable id="ORACLE_BI_AGGR_DIMENSION_TO_FACT_RATIO = 1:4"/>
<!-- Optional. This specifies the ratio of threads to dedicate to a
dimension table versus a fact table. Using a ratio allows thread allocation
to scale to the size of the TimesTen ThreadPool. There is one thread pool
per TimesTen connection pool. If this variable is omitted or is invalid,
the value defaults to 1:4. Suppose you specifiy a 1:4 ratio and there is
one Dimension and one Fact table in an Aggregate Persistence batch of
tables. When a TimesTen Connection Pool's thread pool has 5 threads, then
one Dimension table will have one thread and one Fact table will have four
threads. And, when a TimesTen Connection Pool's thread pool has ten
threads, then one Dimension table will have two threads and one Fact table
will have eight threads. -->

4. ファイルを保存して閉じます。

5. OPMNを再起動します。

6. BIサーバー・プロセスを実行している各コンピュータで前述の手順を繰り返します。同じコンピュータで複数のBIサーバー・インスタンスを実行している場合は必ず、opmn.xmlで各インスタンスについてias-componentタグを適切に更新してください(例: ias-component id="coreapplication_obis1"、ias-component id="coreapplication_obis2")。

集計の永続性のトラブルシューティング

この項では、サマリー・アドバイザおよび集計の永続性プロセスのトラブルシューティング方法について説明します。内容は次のとおりです。

- 集計の永続性エラーについて

- 集計の永続性エラーの回避

集計の永続性エラーについて

エラーが発生するいくつかの原因を次に示します。

- ネットワークの障害

- データベースのディスク容量不足

- 不正な集計のリクエスト

一連の集計の作成中に1つの集計の作成が失敗すると、集計の永続性エンジンは失敗した集計の作成とその依存関係をスキップし、リストでの次の集計に進みます。ログ・ファイルをチェックして、失敗した集計を特定します。

エラーが生じた場合は、次の方法のいずれかで失敗した集計を削除する必要があります。

- メタデータとデータベースから手動で集計を削除します。集計メタデータを特定するには、物理表および論理表ソースに対してIs System Generatedフィルタを使用してリポジトリに問い合せします。詳細は、「リポジトリの問合せ」を参照してください。

- 集計削除指定を使用して失敗した集計を自動的に削除します。特に、この方法を使用して、孤立した集計ディメンション(他のどのファクト表とも結合していないもの)を削除します。

集計の永続性エラーの回避

モデル・チェック・マネージャを実行して、リポジトリに、Oracle BIサマリー・アドバイザと集計の永続性のパフォーマンスと結果に影響を及ぼすモデリングの問題が含まれていないことを確認します。詳細は、「モデル・チェック・マネージャを使用したモデリングの問題のチェック」を参照してください。

14 リポジトリ・オブジェクトへのデータ・アクセス・セキュリティの適用

この章では、Oracle BIリポジトリ・オブジェクトで使用できる様々なタイプのデータ・アクセス・セキュリティに関する情報を提供し、それらの適用方法について説明します。

データ・アクセス・セキュリティは、データの参照および変更の権限を制御します。Oracle Business Intelligenceでは、データ・アクセス・セキュリティのいくつかの異なる手法を使用できます。そうした手法には、行レベル・セキュリティ(リポジトリ内またはデータベース内に実装)、オブジェクト権限、問合せ制限があります。

SSL接続の設定、ユーザー、グループおよびアプリケーション・ロールの管理、カスタムLDAPサーバーの設定、カスタム認証の管理などの他のセキュリティ・タスクは、『Oracle Fusion Middleware Oracle Business Intelligence Enterprise Editionセキュリティ・ガイド』に記載されています。データ・アクセス・セキュリティを実装する前に、ユーザーおよびアプリケーション・ロールを作成する必要があることに注意してください。

オンライン・モードの管理ツールでデータ・アクセス・セキュリティを実装するように計画してください。オフライン・モードでデータ・アクセス・セキュリティのタスクを実行する必要がある場合は、最初に「オフライン・モードでのデータ・アクセス・セキュリティの適用について」を読んでください。

データ・アクセス・セキュリティの監査は、Oracle Business Intelligenceの使用状況トラッキング機能によって実現されます。詳細は、『Oracle Fusion Middleware Oracle Business Intelligence Enterprise Editionシステム管理者ガイド』の使用状況トラッキングの管理に関する項を参照してください。

この章には次のトピックが含まれます:

- データ・アクセス・セキュリティについて

- 行レベル・セキュリティの設定

- オブジェクト権限の設定

- 問合せ制限の設定

- オフライン・モードでのデータ・アクセス・セキュリティの適用について

- 管理ツール内のユーザーのリストについて

データ・アクセス・セキュリティについて

メタデータ・リポジトリを開発したら、ソース・データへのアクセスを制御するためのデータ・セキュリティ・アーキテクチャを設定する必要があります。データ・アクセス・セキュリティは次の目標を達成します。

- 問合せ対象となるデータベース内のビジネス・データを保護する

- リポジトリ・メタデータ(メジャーの定義など)を保護する

- 個々のユーザーがシステムの全体的なパフォーマンスに悪影響を及ぼすのを防止する

Oracle Business Intelligenceでは、行レベル・セキュリティ、オブジェクト権限、問合せ制限(ガバナー)の3種類のデータ・セキュリティをサポートしています。オブジェクト権限および問合せ制限はリポジトリ内に設定され、Oracle BIサーバーのみによって施行されます。一方、行レベル・セキュリティはリポジトリ内とデータベース内のいずれにも実装し施行することが可能です。

データベース内に行レベル・セキュリティを実装するように選択した場合であっても、リポジトリ内にオブジェクト権限および問合せ制限を設定する必要があります。個々の表または列にデータベース・レベルのオブジェクト制限を適用することも可能ですが、ユーザーがアクセス権を持たないオブジェクトが、すべてのクライアントで可視になります(それらへの問合せは失敗します)。リポジトリ内にオブジェクト権限を設定し、ユーザーがアクセス権を持たないオブジェクトがすべてのクライアントで非表示になるようにする方法のほうが優れています。

Oracle BIサーバーには様々なクライアントが接続可能であるため、Oracle BIプレゼンテーション・サービス内でデータ・セキュリティを施行することはできません。Oracle BIプレゼンテーション・サービスはセキュリティ制御の広範なセットを提供しており、それらを利用することによって、Oracle Business Intelligenceユーザー・インタフェース内の機能へのアクセス権限を設定したり、ダッシュボードや分析オブジェクトへのアクセス権限を設定したりすることができます。ただし、Oracle BIプレゼンテーション・サービスはデータ・アクセス・セキュリティを提供していません。セキュリティ制御をOracle BIプレゼンテーション・サービスのみに実装すると、SQLインジェクションによるハッカー攻撃にさらされたり、他のセキュリティの脆弱性が生じたりします。接続するすべてのクライアントに対して適用されるルールを作成するには、リポジトリ内にオブジェクト・レベルのセキュリティを提供する必要があります。

Oracle BIプレゼンテーション・サービスで利用可能なセキュリティの詳細は、『Oracle Fusion Middleware Oracle Business Intelligence Enterprise Editionセキュリティ・ガイド』を参照してください。

セキュリティ・タスクに関する情報の入手場所

Oracle Business Intelligenceのセキュリティ・タスクは、このガイド、『Oracle Fusion Middleware Oracle Business Intelligence Enterprise Editionセキュリティ・ガイド』および他のソースに記載されています。表14-1は、Oracle Business Intelligenceのセキュリティ・タスクと、それらの詳細情報の記載場所をまとめたものです。

表14-1 Oracle Business Intelligenceのセキュリティ・タスク

タスク

場所

デフォルト認証プロバイダ、または代替認証プロバイダを使用したユーザー認証の設定

『Oracle Fusion Middleware Oracle Business Intelligence Enterprise Editionセキュリティ・ガイド』のデフォルトのセキュリティ構成を使用したセキュリティ管理に関する項

デフォルト認証プロバイダでのユーザーおよびグループの作成と管理

『Oracle Fusion Middleware Oracle Business Intelligence Enterprise Editionセキュリティ・ガイド』の埋込みWebLogic LDAPサーバーでのユーザーとグループの管理に関する項

アプリケーション・ロールの作成およびデフォルト・ポリシー・ストアでのポリシー管理

『Oracle Fusion Middlewareアプリケーション・セキュリティ・ガイド』のポリシー・ストアの管理に関する項

ポリシー・ストア内でアプリケーション・ロールとともに使用されるデフォルトのOracle Business Intelligenceの権限の表示と理解

『Oracle Fusion Middleware Oracle Business Intelligence Enterprise Editionセキュリティ・ガイド』のデフォルトの権限に関する項

デフォルトの資格証明ストア内のシステム資格証明の管理

『Oracle Fusion Middleware Oracle Business Intelligence Enterprise Editionセキュリティ・ガイド』のデフォルトの資格証明に関する項

オフライン・モードでのデータ・アクセス・セキュリティの適用、およびプレースホルダ・アプリケーション・ロールの設定

オフライン・モードでのデータ・アクセス・セキュリティの適用について

行レベル・データ・セキュリティの設定

行レベル・セキュリティの設定

リポジトリのオブジェクト権限の設定

オブジェクト権限の設定

問合せ制限の設定(ガバナー)

問合せ制限の設定

管理ツールでのユーザーの確認

管理ツール内のユーザーのリストについて

シングル・サインオン(SSO)の設定

『Oracle Fusion Middleware Oracle Business Intelligence Enterprise Editionセキュリティ・ガイド』のSSO認証の有効化に関する項

SSL通信の有効化

『Oracle Fusion Middleware Oracle Business Intelligence Enterprise Editionセキュリティ・ガイド』のOracle Business IntelligenceにおけるSSL構成に関する項

カスタム認証の管理

『Oracle Fusion Middleware Oracle Business Intelligence Enterprise Editionセキュリティ・ガイド』のカスタム認証プラグインを使用した認証に関する項

行レベル・セキュリティの設定

リポジトリ内またはデータベース内に行レベル・セキュリティを設定するように選択できます。リポジトリ内に行レベル・セキュリティを実装することには多くの利点があります。それらを次に示します。

- すべてのユーザーがデータベース接続プールを共有することによって、パフォーマンスが向上します。

- すべてのユーザーがキャッシュを共有することによって、パフォーマンスが向上します。

- 多くのフェデレーテッド・データ・ソースに適用されるセキュリティ・ルールを定義し、維持することができます。

一方、データベース内に行レベル・セキュリティを実装することは、複数のアプリケーションでデータベースを共有するような状況において有用です。データベース内に行レベル・セキュリティを実装する場合であっても、リポジトリ内にオブジェクト権限を定義し適用する必要があることに注意してください。

リポジトリとデータベースの両方に行レベル・セキュリティを設定することが可能ですが、特別な必要性がないかぎり、両方の場所で行レベル・セキュリティを施行することは通常はありません。

この項には次のトピックが含まれます:

- リポジトリ内の行レベル・セキュリティ(データ・フィルタ)の設定

- データベース内の行レベル・セキュリティの設定

リポジトリ内の行レベル・セキュリティ(データ・フィルタ)の設定

データ・フィルタは、リポジトリ内に行レベルのセキュリティ・ルールを施行する手段を提供するセキュリティ機能です。データ・フィルタは管理ツールを使用してリポジトリ内に設定され、特定のアプリケーション・ロールに適用されます。データベース内に行レベル・セキュリティを実装する場合、通常、データ・フィルタは設定しません。なぜなら、この場合、行レベル・セキュリティのポリシーはOracle BIサーバーではなく、データベースによって施行されるからです。

データ・フィルタは、ビジネス・モデルとマッピング・レイヤー内、およびプレゼンテーション・レイヤー内の両方のオブジェクトに設定できます。論理オブジェクトにフィルタを適用すると、プレゼンテーション・レイヤーのそのオブジェクトを使用するすべてのオブジェクトに影響が及びます。プレゼンテーション・レイヤーのオブジェクトにフィルタを設定すると、基礎となる論理オブジェクトに設定されるすべてのフィルタに加えて、このフィルタが適用されます。

図14-1は、Oracle BIサーバー内でデータ・フィルタ・ルールが施行される方法を示しています。セキュリティ・ルールは接続するすべてのクライアントに適用され、たとえ論理SQL問合せが変更される場合であっても違反は許可されません。

この例では、アプリケーション・ロールにフィルタが適用されています。Anne Green(そのロールのメンバー)がリクエストを送信するとき、返される結果はこのフィルタに基づいて制限されます。管理者ユーザーのアプリケーション・ロールにはフィルタは適用されないため、すべての結果が返されます。Oracle BIサーバーによって生成されるSQLでは、定義済のすべてのデータ・フィルタが考慮されます。

図14-1 Oracle BIサーバーにおける行レベル・セキュリティの施行

データ・フィルタは、個々のユーザーに対してではなく、必ず特定のアプリケーション・ロールに対して設定してください。

データ・フィルタを設定して、問合せの行レベルの認可ルールを適用するには:

1. 管理ツールでリポジトリを開きます。

2. 「管理」→「アイデンティティ」を選択します。

3. 「Identity Manager」ダイアログのツリー・ペインで、「BIリポジトリ」を選択します。

4. 右のペインで「アプリケーション・ロール」タブを選択し、データ・フィルタを設定するアプリケーション・ロールをダブルクリックします。
オフライン・モードの場合、以前にオンライン・モードで変更されているアプリケーション・ロールを除き、リストにアプリケーション・ロールは表示されません。詳細は、「オフライン・モードでのデータ・アクセス・セキュリティの適用について」を参照してください。

5. 「アプリケーション・ロール」ダイアログで「権限」をクリックします。

6. 「ユーザー/アプリケーション・ロール権限」ダイアログで、「データ・フィルタ」タブをクリックします。
フィルタを作成するには、最初にフィルタの適用先となるオブジェクトを追加します。次に、個々のオブジェクトに対してフィルタ式情報を設定します。

7. フィルタの適用先となるオブジェクトを追加するには、次のいずれかの手順を実行します。

- 「追加」ボタンをクリックします。次に、目的のオブジェクトを見つけ、「選択」をクリックします。

- 空の行の「名前」フィールドをクリックします。次に、目的のオブジェクトを見つけて選択し、「選択」をクリックします。

8. 個々のオブジェクトのフィルタ式を入力するには、次のいずれかの手順を実行します。

- データ・フィルタを選択し、「式ビルダー」ボタンをクリックします。式ビルダーでフィルタ式を作成し、「OK」をクリックします。

- 目的のフィルタの「データ・フィルタ」をクリックし、フィルタ式を入力します。

たとえば、表内の他の列の値の範囲に基づいて結果を制限するための、「"Sample Sales"."D2 Market"."M00 Mkt Key" > 5」のようなフィルタを定義できます。

フィルタ定義の中ではリポジトリ変数およびセッション変数を使用することもできます。それらの変数を含める場合は、正しい構文になるように式ビルダーを使用してください。

9. オプションで、「ステータス」リストから各フィルタのステータスを選択することができます。次のいずれかのオプションを選択できます。

- 有効: このフィルタはオブジェクトにアクセスするすべての問合せに適用されます。

- 無効: このフィルタは使用されず、上位の優先度レベルのオブジェクトに適用される他のフィルタ(アプリケーション・ロールを通じて適用されるフィルタなど)も使用されません。

- 無視: このフィルタは使用されません。ただし、オブジェクトに適用される他のフィルタ(アプリケーション・ロールを通じて適用されるフィルタなど)は使用されます。有効になっているフィルタが他にない場合、フィルタは一切適用されません。

10. 「データ・フィルタ」タブでは、新しいフィルタの定義に加えて、他の操作を実行することもできます。表14-2は、その他のボタンおよびオプションの一覧とその説明です。

表14-2 「データ・フィルタ」タブ: ボタンおよびオプション

オプション名

説明

サブジェクト・エリア

個別のサブジェクト・エリアのデータ・フィルタのみを表示するにはそのサブジェクト・エリアを選択します。すべてのフィルタを表示するには「すべて」を選択します。

フィルタ総数

現在のユーザーまたはアプリケーション・ロールに対して定義されているデータ・フィルタの総数を表示します。

追加

データ・フィルタを適用するオブジェクトを追加するには、「追加」をクリックして「参照」ダイアログを開きます。

削除

フィルタを削除するには、行を選択して「削除」をクリックします。

参照

フィルタの適用先となるオブジェクトを変更するには、行を選択して「参照」をクリックします。

「式の編集」(式ビルダー)

特定のオブジェクトにフィルタ式を追加するか、または変更するには、行を選択して「式の編集」をクリックします。行にフィルタ式を適用する前に、オブジェクトを追加する必要があります。

検索

特定の文字列を検索するには、「検索」フィールドにテキストを入力し、「下方検索」または「上方検索Find Up」をクリックします。

11. 「OK」をクリックし、再度「OK」をクリックして、Identity Managerに戻ります。

データベース内の行レベル・セキュリティの設定

データベース内に実装した行レベル・セキュリティ用にOracle Business Intelligenceを設定する場合、Oracle BIサーバーがデータベースに対して各ユーザーの資格証明を送信できるように、接続プールを構成することができます。データベースはこの資格証明を使用して、自身が持つ行レベル・セキュリティ・ルールをユーザー問合せに適用します。

このトピックで説明している行レベル・データベース・セキュリティは、『Oracle Fusion Middleware Oracle Business Intelligence Enterprise Editionセキュリティ・ガイド』のトピックで説明しているデータベースの認証とは異なるものです。行レベル・データベース・セキュリティはデータベースの認可を提供します。言い換えると、これはデータベース内の特定の行に対してアクセス・セキュリティを適用します。

図14-2は、Oracle Business Intelligenceの問合せにおいて、データベース内で行レベル・セキュリティが施行される方法を示しています。セキュリティ・ルールは接続するすべてのクライアントに適用され、たとえ論理SQL問合せが変更される場合であっても違反は許可されません。この例では、Oracle BIサーバーによって生成されるSQL問合せが同じであったとしても、問合せを生成したユーザーに応じて返される結果は異なります。返される結果は、データベース内に作成、施行されているルールに基づきます。

図14-2 データベース内での行レベル・セキュリティの施行

データベース内の行レベル・セキュリティ用にOracle Business Intelligenceを設定するのに加えて、データベース自体に、ユーザー、権限およびセキュリティ・ポリシーのセットを定義する必要があります。詳細は、データベースのドキュメントを参照してください。

この構成については、次の点に注意してください。

- このアプローチはSSOを使用しているとき、または、偽装(デリバーなど)が関与するケースでは機能しません。その理由は、エンド・ユーザーのパスワードがOracle BIサーバーでは使用できないためです。

- 接続スクリプトを使用して、Oracle Databaseデータ・ソースに対して同じ機能を実行できます。

- EssbaseまたはHyperion Financial Managementデータ・ソースの場合、接続プールでは、SSOを実装するための追加オプションが表示されます。詳細は、「Essbase、Hyperion Financial ManagementまたはHyperion Planningデータ・ソースのSSOの構成」を参照してください。

データベース内の行レベル・アクセス・セキュリティ用にOracle Business Intelligenceを設定するには:

1. 管理ツールでリポジトリを開きます。

2. データベース・レベルのセキュリティを設定するデータベースに関連付けられている接続プールをダブルクリックします。

3. 「接続プール」ダイアログの「一般」タブで、「共有ログオン」を選択し、「ユーザー名」フィールドおよび「パスワード」フィールドに、:USERおよび:PASSWORDと入力します。:USERおよび:PASSWORDの構文を使用すると、データベースへのログイン時に、自動的にユーザーの資格証明の値が渡されます。:USERおよび:PASSWORDの構文はセッション変数を参照しているのではないことに注意してください。
図14-3は、「接続プール」ダイアログの「一般」タブを示しています。

図14-3 接続プール内のデータベース・レベル・セキュリティの資格証明の入力

注意:
別の手法として、データベース・セッション・コンテキストを使用して、データベースにエンド・ユーザーの識別情報を渡すこともできます。セッション・コンテキストを設定するには接続プール・スクリプトを使用します。この手法はデータベース認証に依存しないことに注意してください。

4. 「接続プール」ダイアログで「OK」をクリックします。

5. データベース・レベルのセキュリティの設定対象となるデータベース・オブジェクトをダブルクリックします。

6. 「データベース」ダイアログで「仮想プライベート・データベース」を選択します。このオプションを選択することにより、各ユーザーのキャッシュ・エントリがOracle BIサーバーによって保護されるようになります。

7. 「データベース」ダイアログで「OK」をクリックします。

データベース内に行レベル・セキュリティを設定した後、リポジトリ内にプレゼンテーション・レイヤーまたは他のオブジェクト用のオブジェクト権限を設定する必要があります。また、問合せ制限(ガバナー)を設定することもできます。詳細は、「オブジェクト権限の設定」および「問合せ制限の設定」を参照してください。

オブジェクト権限の設定

リポジトリでオブジェクト権限を設定すると、プレゼンテーション・レイヤーおよびビジネス・モデルとマッピング・レイヤーのオブジェクトへのアクセスを制御できます。オブジェクト権限は管理ツールを使用して設定します。オブジェクト権限を設定する手法は2つあります。Identity Managerで特定のアプリケーション・ロールに対して権限を設定することも、プレゼンテーション・レイヤーで個別のオブジェクトに対して権限を設定することもできます。

この項では、Identity Manager内のアプリケーション・ロールにオブジェクト権限を設定する方法について説明します。プレゼンテーション・レイヤーの個々のオブジェクトにオブジェクト権限を設定する方法の詳細は、「プレゼンテーション・レイヤー・オブジェクトに対する権限の設定」を参照してください。

多くのオブジェクトに一括で権限を定義する場合、特定のアプリケーション・ロールにオブジェクト権限を設定する方法が便利です。個々のユーザーではなく、必ず特定のアプリケーション・ロールにオブジェクト権限を設定するようにしてください。

図14-4は、ユーザーが閲覧可能な内容がオブジェクト権限によって制限される様子を示しています。セキュリティ・ルールは接続するすべてのクライアントに適用され、たとえ論理SQL問合せが変更される場合であっても違反は許可されません。この例では、管理者が属するアプリケーション・ロールにBooked Amount列へのアクセス権が付与されており、したがって管理者は返される結果を参照することができます。ユーザーAnne Greenはこのオブジェクトへのアクセス権を持つアプリケーション・ロールのメンバーではなく、アンサーのサブジェクト・エリアでこの列を参照することはできません。リクエストSQLが変更される場合であっても、設定されているアプリケーション・ロール・ベースのオブジェクト権限によって、この列の結果は返されません。

図14-4 Oracle BIサーバーにおけるオブジェクト権限の施行

次のことに注意してください。

- アプリケーション・ロールに対して、あるオブジェクトの権限が複数のソースによって許可または禁止されている場合(たとえば、明示的に設定される場合と、他の1つ以上のアプリケーション・ロールを通じて設定される場合)、優先度の順序に基づいて権限が適用されます。

- 子オブジェクトを持つオブジェクトへのアクセスを明示的に拒否した場合、個々のアプリケーション・ロールのメンバーであるユーザーは、子オブジェクトへのアクセスが拒否されます。たとえば、特定の論理表へのアクセスを明示的に拒否している場合、その表に関連付けられているすべての論理列へのアクセスも暗黙的に拒否することになります。

- オブジェクト権限はリポジトリ変数およびセッション変数には適用されないため、これらの変数の値は保護されません。変数の名前を知っている人、または名前を推測できる人であれば誰でも、アンサーの式または論理SQL問合せの中でその変数を使用することができます。そのため、パスワードなどの機密データは、セッション変数またはリポジトリ変数の中に格納しないでください。

- AuthenticatedUserアプリケーション・ロール(新しいリポジトリ・オブジェクトに関連付けられるデフォルトのアプリケーション・ロール)にデフォルトで付与する権限のレベルを制御できます。これを行うには、NQSConfig.INIファイル内のDEFAULT_PRIVILEGESパラメータを設定します。詳細は、『Oracle Fusion Middleware Oracle Business Intelligence Enterprise Editionシステム管理者ガイド』を参照してください。

- AuthenticatedUserアプリケーション・ロールは「認証済ユーザー」を意味します。このロールは、Oracle BIリポジトリ内部のものです。これは、接続プールおよびプレゼンテーション・レイヤーのオブジェクトの「権限」ダイアログに表示されますが、Identity Managerのアプリケーション・ロールのリストには表示されません。

個々のアプリケーション・ロールに対してオブジェクト権限を設定するには:

1. 管理ツールでリポジトリを開きます。

2. 「管理」→「アイデンティティ」を選択します。

3. 「Identity Manager」ダイアログのツリー・ペインで、「BIリポジトリ」を選択します。

4. 右のペインで「アプリケーション・ロール」タブを選択し、オブジェクト権限を設定するアプリケーション・ロールをダブルクリックします。
オフライン・モードの場合、以前にオンライン・モードで変更されているアプリケーション・ロールを除き、リストにアプリケーション・ロールは表示されません。詳細は、「オフライン・モードでのデータ・アクセス・セキュリティの適用について」を参照してください。

5. 「アプリケーション・ロール」ダイアログで「権限」をクリックします。

6. 「ユーザー/アプリケーション・ロール権限」ダイアログの「オブジェクト権限」タブで、次のいずれかの手順を実行してオブジェクトを選択します。

- 「追加」ボタンをクリックします。次に、目的のオブジェクトを見つけ、「選択」をクリックします。

- 空の行の「名前」フィールドをクリックします。次に、目的のオブジェクトを見つけて選択し、「選択」をクリックします。

7. 各オブジェクトに対して適切な権限を割り当てます。次のいずれかのオプションを選択できます。

- 読取り: このオブジェクトに対しては読取りアクセスのみを許可します。

- 読取り/書込み: このオブジェクトに対しては読取りと書込みの両方のアクセスを提供します。

- アクセス権なし: このオブジェクトに対してはすべてのアクセスを明示的に拒否します。

8. 「OK」をクリックし、再度「OK」をクリックして、Identity Managerに戻ります。

ユーザーおよびアプリケーション・ロールにおける権限の継承について

ユーザーは明示的に付与される権限を持つことができます。また、ユーザーはアプリケーション・ロールのメンバーシップを通じて付与される権限を持つこともできます。さらには、アプリケーション・ロールは他のアプリケーション・ロールのメンバーシップを通じて付与される権限を持つことができます。ユーザーに対して明示的に付与される権限は、アプリケーション・ロールを通じて付与される権限よりも高い優先度を持ちます。また、アプリケーション・ロールに対して明示的に付与される権限は、他のアプリケーション・ロールを通じて付与される権限よりも高い優先度を持ちます。

ユーザーまたはアプリケーション・ロールに対して、同じレベルで複数のアプリケーション・ロールが作用し、それらが競合するセキュリティ属性を持つ場合、このユーザーまたはアプリケーション・ロールには最も制限の少ないセキュリティ属性が付与されます。今では、あるオブジェクトへのアクセス権を持つアプリケーション・ロールは、オブジェクトのコンテナへのアクセス権も持つ必要があります。たとえば、ApplicationRole 1が表Bに属する列Aにアクセスする権限を持っている場合、ApplicationRole1は表Bにアクセスする権限も持つ必要があります。ある同一のオブジェクトに関して、ユーザーに対して明示的に作用する権限は、アプリケーション・ロールを通じてユーザーに付与される権限よりも高い優先度を持ちます。

以前のリリースでは、前述のとおり、オブジェクトのコンテナへのアクセス権がアプリケーション・ロールに要求されることはありませんでした。その動作に戻すには、Oracle BI Serverマシンに移動し、環境変数OBIS_SECURITY_10g_COMPATIBLEを作成して、1に設定します。

一方で、フィルタ定義は常に継承されます。たとえば、User1がRole1およびRole2のメンバーであり、Role1にはフィルタ定義が含まれておりRole2には含まれていない場合、このユーザーはRole1に定義されているフィルタ定義を継承します。

オブジェクト権限は、個々のユーザーにではなく、常にアプリケーション・ロールに対して定義するようにしてください。

例14-1 権限の継承1

1人のユーザー(User1)がおり、このユーザーにはある表(TableA)の読取り権限が明示的に付与されているとします。また、このUser1はRole1のメンバーであり、Role1はTableAへのアクセスが明示的に拒否されているとします。この場合、User1はTableAの読取り権限を持つことになります(図14-5参照)。

ユーザーに直接付与される権限はアプリケーション・ロールを通じて付与される権限よりも高い優先度を持つため、User1はTableAの読取り権限を持ちます。

図14-5 ユーザーの権限とアプリケーション・ロールの権限

例14-2 権限の継承2

図14-6に示す状況を考えます。

図14-6 権限の例

この結果、権限は次のようになります。

- User1はRole1およびRole2の直接のメンバーであり、Role3、Role4およびRole5の間接的なメンバーです。

- Role5の優先度レベルはRole2よりも低いため、Role5によって課されるTableAへのアクセス拒否は、Role2を通じて付与される読取り権限によって無効になります。この結果、Role2によってTableAに対する読取り権限が提供されます。

- Role1から得られる権限は、TableAではアクセス権なし、TableBでは読取り、TableCでは読取りとなります。

- Role1とRole2は同じレベルの優先度を持ち、それぞれの権限は相反する(Role1ではTableAへのアクセスが拒否され、Role2ではTableAへのアクセスが許可される)ため、User1はより制限の少ないレベルを継承することになります。つまり、User1はTableAの読取りアクセス権を持つことになります。

- User1に対して総合的に付与される権限は、TableA、TableBおよびTableCの読取りアクセス権です。

問合せ制限の設定

特定のアプリケーション・ロールに対して、リポジトリ内に問合せ制限(ガバナー)を設定することによって、問合せ環境を管理することができます。返される行数による制限、最大実行時間による制限、特定の時間帯への限定によって、問合せを制限することができます。また、直接データベース・リクエストや移入権限を許可したり、禁止したりすることもできます。

問合せ制限は、個々のユーザーに対してではなく、必ず特定のアプリケーション・ロールに対して設定してください。

この項には次のトピックが含まれます:

- 管理ツール内の問合せ制限機能へのアクセス

- 受け取る行数による問合せの制限

- 最大実行時間、および特定の時間帯への限定による問合せの制限

- 直接データベース・リクエストの許可または禁止

- 移入権限の許可または禁止

管理ツール内の問合せ制限機能へのアクセス

この項の手順に従って、「ユーザー/アプリケーション・ロール権限」ダイアログの「問合せ制限」タブにアクセスします。

管理ツール内で特定のアプリケーション・ロールの問合せ制限機能にアクセスするには:

1. 管理ツールでリポジトリを開きます。

2. 「管理」→「アイデンティティ」を選択します。

3. 「Identity Manager」ダイアログのツリー・ペインで、「BIリポジトリ」を選択します。

4. 右のペインで「アプリケーション・ロール」タブを選択し、問合せ制限を設定するアプリケーション・ロールをダブルクリックします。
オフライン・モードの場合、以前にオンライン・モードで変更されているアプリケーション・ロールを除き、リストにアプリケーション・ロールは表示されません。詳細は、「オフライン・モードでのデータ・アクセス・セキュリティの適用について」を参照してください。

5. 「アプリケーション・ロール」ダイアログで「権限」をクリックします。

6. 「ユーザー/アプリケーション・ロール権限」ダイアログで、「問合せ制限」タブをクリックします。

受け取る行数による問合せの制限

問合せに特定の行数制限を適用することによって、リソース集中型の問合せを制御することができます。

受け取る行数によって問合せを制限するには:

1. 「管理ツール内の問合せ制限機能へのアクセス」の手順を実行して、「問合せ制限」タブにアクセスします。

2. 「最大行数」列に、ユーザーが各ソース・データベース・オブジェクトから取得できる最大行数を入力します。

3. 「ステータス最大行数」フィールドで、各データベースに対して次のいずれかのオプションを選択します。

- 有効化: 行数を指定した値に制限します。行数が「最大行数」の値を超えると、問合せは停止されます。

- 無効化: 「最大行数」フィールドに設定されているすべての制限を無効にします。

- 警告: 制限を施行せず、設定されている制限を超える問合せについて問合せログに記録します。

- 無視: 制限は親のアプリケーション・ロールから継承されます。継承される行制限がない場合は、制限は施行されません。

4. 「OK」をクリックし、再度「OK」をクリックして、Identity Managerに戻ります。

最大実行時間、および特定の時間帯への限定による問合せの制限

特定の時間帯に問合せを禁止したり、データベース上で実行可能な問合せの最大時間を指定したりすることができます。

特定の時間帯を選択しない場合、アクセス権は変更されません。1つ以上のアプリケーション・ロールのアクセスを明示的に許可または禁止する場合、定義された時間帯において最も制限の少ないアクセス権がユーザーに付与されます。たとえば、あるアプリケーション・ロールでは月曜日の全日に明示的にアクセスが許可されており、別のアプリケーション・ロールでは毎日のすべての時間においてアクセスが禁止されているとします。あるユーザーがこの両方のアプリケーション・ロールのメンバーである場合、このユーザーは月曜日のみアクセス権を持つことになります。

最大実行時間によって問合せを制限する、または特定の時間帯に問合せを制限するには:

1. 「管理ツール内の問合せ制限機能へのアクセス」の手順を実行して、「問合せ制限」タブにアクセスします。

2. データベース上で問合せが実行可能な最大時間を指定するには、「最大時間(分)」列に、各データベースオブジェクトで問合せが実行される最大の時間(分)を入力します。次に、「ステータス最大時間」フィールドで、各データベースに対して次のいずれかのオプションを選択します。

- 有効化: 指定した値に時間を制限します。

- 無効化: 「最大時間」フィールドに設定されているすべての制限を無効にします。

- 警告: 制限を施行せず、設定されている時間制限を超える問合せについて問合せログに記録します。

- 無視: 制限は親のアプリケーション・ロールから継承されます。継承される時間制限がない場合は、制限は施行されません。

3. データベースへのアクセスを特定の時間帯に制限するには、「制限」列で省略記号のボタンをクリックします。次に、「制限」ダイアログで次の手順を実行します。

1. 時間帯を選択するには、開始時間をクリックし、終了時間までドラッグします。

2. 明示的にアクセスを許可するには、「許可」をクリックします。

3. 明示的にアクセスを禁止するには、「拒否」をクリックします。

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

4. 「OK」をクリックし、再度「OK」をクリックして、Identity Managerに戻ります。

直接データベース・リクエストの許可または禁止

特定のアプリケーション・ロールに対して、直接データベース・リクエストの実行を許可または禁止することができます。選択されたロールでは、物理レイヤー内のデータベース・オブジェクトの「デフォルトで直接データベース・リクエストを許可」プロパティよりも、この権限のほうが優先されます。

直接データベース・リクエストの実行の可否を設定するには:

1. 「管理ツール内の問合せ制限機能へのアクセス」の手順を実行して、「問合せ制限」タブにアクセスします。

2. 各データベース・オブジェクトの「直接データベース・リクエストの実行」フィールドで、次のいずれかのオプションを選択します。

- 許可: このデータベースに対する直接データベース・リクエストの実行の許可を明示的に付与します。

- 拒否: このデータベースに対する直接データベース・リクエストの実行を明示的に禁止します。

- 無視: 制限は親のアプリケーション・ロールから継承されます。継承される制限がない場合、直接データベース・リクエストは、データベース・オブジェクトの「デフォルトで直接データベース・リクエストを許可」プロパティに基づいて許可または禁止されます。

3. 「OK」をクリックし、再度「OK」をクリックして、Identity Managerに戻ります。

移入権限の許可または禁止

基準ブロックがキャッシュされるときに、移入ストアド・プロシージャはデータベースにキャッシュ/保存済結果セットの値を書き込みます。特定のアプリケーション・ロールに対して、この権限を付与または拒否することができます。選択されたアプリケーション・ロールでは、物理レイヤー内のデータベース・オブジェクトの「デフォルトで問合せの移入を許可」プロパティよりも、この権限のほうが優先されます。

キャッシュ・エントリを書き込むか、または結果セットを保存するOracle Marketing Segmentationのすべてのユーザーは、対象のデータベースの移入権限が割り当てられたアプリケーション・ロールのメンバーである必要があります。マーケティング・キャッシュの詳細は、Oracle Marketing Segmentationアプリケーションのドキュメントにおいてターゲット・レベルのキャッシュの設定に関する項を参照してください。

移入権限を許可または禁止するには:

1. 「管理ツール内の問合せ制限機能へのアクセス」の手順を実行して、「問合せ制限」タブにアクセスします。

2. 各データベース・オブジェクトの「移入権限」フィールドで、次のいずれかのオプションを選択します。

- 許可: このデータベースに対する移入権限を明示的に付与します。すべてのマーケティング・データ・ウェアハウスに対しては、「許可」を選択します。

- 拒否: このデータベースに対する移入権限を拒否します。

- 無視: 制限は親のアプリケーション・ロールから継承されます。継承される制限がない場合、移入権限は、データベース・オブジェクトの「デフォルトで問合せの移入を許可」プロパティに基づいて許可または拒否されます。

3. 「OK」をクリックし、再度「OK」をクリックして、Identity Managerに戻ります。

オフライン・モードでのデータ・アクセス・セキュリティの適用について

データ・アクセス・セキュリティのタスクは、オンライン・モードの管理ツールで実行することを強くお薦めします。オフライン・モードでデータ・アクセス・セキュリティを適用する必要がある場合は、最初にオンライン・モードの管理ツールでユーザーまたはアプリケーション・ロールを変更している場合を除き、それらのユーザーまたはアプリケーション・ロールはオフライン・モードの管理ツールには表示されないことに注意してください。

たとえば、最初にオンライン・モードで変更を行わないまま管理ツールをオフライン・モードで開くと、定義済のユーザーおよびアプリケーション・ロールは一切表示されません。ただし、最初にオンライン・モードでユーザーまたはアプリケーション・ロールを変更すると(オブジェクト権限を適用したり、問合せ制限を設定したりするなど)、以降はオフライン・モードの管理ツール内でもそれらが利用可能になります。

オンライン・モードでは、Identity Managerで「アクション」を選択して、「アプリケーション・ロールの同期」を選択することでいつでもポリシー・ストアからアプリケーション・ロールの最新のリストを取得できます。

オフライン・リポジトリ開発のためのプレースホルダ・アプリケーション・ロールの設定

アプリケーション・ロールは、Oracle WebLogic管理コンソールおよびFusion Middleware Controlを使用して、ポリシー・ストア内に作成し、管理することができます。これらのアプリケーション・ロールはオンライン・モードの管理ツール内に表示されるため、それらを使用して、特定のロールのデータ・フィルタ、オブジェクト権限、問合せ制限を設定することができます。ポリシー・ストア内のアプリケーション・ロールは、Oracle BIサーバーの開始時にそのサーバーによって取得されます。

ときには、ポリシー・ストア内にまだ定義されていないアプリケーション・ロールのために、データ・アクセス・セキュリティをリポジトリ内に定義しておきたい場合があります。これを実現するには、管理ツール内にプレースホルダ・アプリケーション・ロールを作成し、それからリポジトリ内へのデータ・アクセス・セキュリティ設定に進みます。

管理ツール内にプレースホルダ・アプリケーション・ロールを作成する場合、最終的にはそれらをポリシー・ストアに追加する必要があります。管理ツール内に定義されているものの、まだポリシー・ストアに追加されていないアプリケーション・ロールを特定するには、整合性チェッカをオンライン・モードで実行します。ポリシー・ストア内のプレースホルダ・ロールは、管理ツール内で使用したのと同じ名前を使用する必要があります。

注意:
プレースホルダ・ロールを定義および使用する際には注意が必要です。ポリシー・ストア内に存在するロールをオフライン・モードで変更した場合、次回にOracle BIサーバーに接続するときにその変更は上書きされます。

管理ツール内にプレースホルダ・アプリケーション・ロールを作成するには:

1. 管理ツールでリポジトリを開きます。

2. 「管理」→「アイデンティティ」を選択します。

3. 「Identity Manager」ダイアログで、「アクション」→「新規」→「アプリケーション・ロール」」を選択します。

4. 「アプリケーション・ロール」ダイアログで、次の情報を入力します。

- 名前: ロールの名前を指定します。

- 表示名: ロールの表示名を入力します。

- 説明: このアプリケーション・ロールの説明を入力します(オプション)。

- メンバー: 「追加」ボタンと「削除」ボタンを使用して、該当するユーザーおよび他のアプリケーション・ロールを追加または削除します。

- 権限: 目的に応じてこのアプリケーション・ロールにオブジェクト権限、データ・フィルタ、および問合せ制限を設定します。詳細は、この章の他の項を参照してください。

5. 「OK」をクリックし、「Identity Manager」ダイアログに戻ります。

ポリシー・ストアに追加する必要のあるアプリケーション・ロールをチェックするには:

1. オンライン・モードの管理ツールでリポジトリを開きます。

2. 「ファイル」→グローバル整合性のチェックを選択します。

3. アプリケーション・ロールに関連するすべてのエントリを書き留め、該当するロールをポリシー・ストアに追加します。ポリシー・ストアへのアプリケーション・ロールの追加の詳細は、『Oracle Fusion Middleware Oracle Business Intelligence Enterprise Editionセキュリティ・ガイド』を参照してください。

4. (オプション)エントリをテキストファイルにコピーするには、個々の行を選択し、「コピー」をクリックします。

また、「Identity Manager」ダイアログでアプリケーション・ロールを右クリックし、「整合性のチェック」を選択することによって、個々のアプリケーション・ロールをチェックすることもできます。

管理ツール内のユーザーのリストについて

管理ツール内のIdentity Managerを使用して、システムに定義されているユーザーのリストを参照することができます。このユーザーのリストは認証プロバイダから取得されます。ユーザーのセットはOracle BIサーバーの再起動時に更新されます。ユーザー・リストを参照するには、Identity Managerのナビゲーション・ツリーで「BIリポジトリ」を選択し、次に右のペインで「ユーザー」タブを選択します。

ユーザーのリストは非常に大きい可能性があるため、オンライン・モードではデフォルトでユーザーは取得されません。取得するユーザーのセットを指定するには、「アクション」→「オンライン・ユーザー・フィルタの設定」を選択します。

フィルタはデフォルトでは空になっています。これは、ユーザーは一切取得されないことを意味します。すべてのユーザーを取得するには*と入力します。特定のユーザーのセットを取得するには、文字の組合せを入力します。たとえば、文字Aで始まるすべてのユーザーを取得するには、A*と入力します。このフィルタでは、大文字と小文字は区別されません。

オフライン・モードでは、最初にオンライン・モードの管理ツールでユーザーを変更していないかぎり、リストにユーザーは表示されません。そのため、オフライン・モードの管理ツールではユーザーが表示されない場合があります。

ユーザー・リスト内のユーザーをダブルクリックすると、「ユーザー」ダイアログが開かれます。このダイアログでは次の操作を実行できます。

- 「ユーザー」タブで、ユーザーの名前、表示名および説明とともに、このユーザーが属しているアプリケーション・ロールも表示できます。また、このユーザーの問合せロギング・レベルを設定することもできます。問合せロギング・レベルの設定の詳細は、『Oracle Fusion Middleware Oracle Business Intelligence Enterprise Editionシステム管理者ガイド』を参照してください。

- 「ログオン」タブでは、データ・ソース固有のログオンのリストを提供することができます。このタブでは、このユーザーに関してデータ・ソースに渡される資格証明のマッピングを提供できます。
この機能は、共有接続プールを持たないデータ・ソース接続を設定する際に使用します。その際、個々のユーザーの名前が直接データ・ソースに渡されます。データ・ソースにOracle Business Intelligenceのユーザー資格証明を渡すのではなく、個々のユーザーを個別のデータ・ソース固有の資格証明にマップすることができます。

重要:
個々のユーザーに対し、「権限」ボタンを使用してオブジェクト権限、データ・フィルタ、または問合せ制限を設定しないでください。個々のユーザーではなく必ずアプリケーション・ロールを使用して、データを保護してください。

15 Oracle BIリポジトリの設定の完了

この章では、Fusion Middleware Controlを使用したOracle Scorecard and Strategy Managementの構成、リポジトリの保存と整合性のチェック、リポジトリのテスト、リポジトリのアップロードなど、最終的なOracle BIリポジトリの設定タスクの実行方法について説明します。

この章には次のトピックが含まれます:

- Oracle Scorecardと戦略管理のためのリポジトリの構成

- リポジトリの保存および整合性のチェック

- リポジトリのテストおよび絞込みのためのnqcmdの使用方法

- リポジトリを問合せで使用可能にする

- クライアント・アプリケーション用Oracle BIサーバーへのデータソース接続の作成

- ユーザー・コミュニティへの公開

Oracle Scorecardと戦略管理のためのリポジトリの構成

ユーザーの組織がOracle Scorecardと戦略管理をライセンス供与されていて、ユーザーが適切な権限を持っている場合、デフォルト・インストールの一部として追加の構成をせずにこの機能を使用できます。ただし、コメントやステータスのオーバーライドなど、一部の機能が正常に動作するためには、リポジトリ構成が必要です。

注意:
これらの機能の詳細は、『Oracle Fusion Middleware Oracle Business Intelligence Enterprise Editionユーザーズ・ガイド』の次の項を参照してください。

- コメントについて

- ステータスのオーバーライドについて

コメントおよびステータスのオーバーライドのためのリポジトリの構成

Oracle Scorecard and Strategy Managementでは、コメント(つまり、注釈)を追加する機能またはKPI、目標、およびイニシアティブに関する特定のディメンション値と関連付けられたステータスを上書きする機能が提供されます。KPI監視リストでは、コメントを追加する機能またはKPIに関するステータスを上書きする機能が提供されます。これらの機能を有効にするには、コメントの格納およびステータスの上書き情報のためのデータベース・オブジェクトを含むようにリポジトリを構成する必要があります。

Oracle Business Intelligenceとともに使用するためにインストールしたデータベースには、Business Intelligence Platformスキーマが含まれています。このスキーマには、必須のOracle Scorecardと戦略管理スキーマ表が含まれています。Oracle Business Intelligenceのためのデータベースのインストールおよびリポジトリ作成アシスタント(RCU)を実行して必要なスキーマを作成する方法の詳細は、『Oracle Fusion Middleware Oracle Business Intelligenceインストレーション・ガイド』を参照してください。

コメントおよびステータスのオーバーライドのためにOracle BIリポジトリを構成するには:

1. 管理ツールで、リポジトリをオンライン・モードで開きます。
この手順のステップ12で説明するタスクなどのデータ・アクセス・セキュリティ・タスクを実行する場合、オンライン・モードを強くお薦めします。

2. 「物理」レイヤーで、右クリックし「新規データベース」を選択します。「データベース」ダイアログが表示されます。

3. 「名前」にBSCと入力します。

4. 「データベース」に、Oracle Business Intelligenceとともに使用するためにインストールしたデータベースのタイプを選択します(通常Oracle 11g)。

5. 「接続プール」タブを選択し、「追加」ボタンをクリックします。「接続プール」ダイアログが表示されます。

6. 「名前」にBSCと入力します。

7. データベースに適した「呼出しインタフェース」を選択します(たとえば、Oracle Databaseの場合OCI 10g/11g)。

8. 「データ・ソース名」に、Oracle Business Intelligenceとともに使用するためにインストールし、構成したデータベースに適した情報を入力します。たとえば、Oracle Databaseの場合、次のような接続文字列を入力します。

(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.1.100)(PORT=1521))(CONNECT_
DATA=(SERVER=DEDICATED)(SERVICE_NAME=KPIOracle)(SID=KPIOracl)))

Oracle Databaseのデータソースに接続するとき、接続文字列全体を含めることができます。または、tnsnames.oraファイルで定義されたネット・サービス名を使用できます。ネット・サービス名のみを入力することを選択した場合、Oracle Business Intelligence環境内の次の場所でtnsnames.oraファイルを設定し、Oracle BIサーバーがエントリを検索できるようにする必要があります。

ORACLE_HOME/network/admin

9. 「共有ログオン」を選択し、「ユーザー名」と「パスワード」に値を入力します。この手順では、リポジトリ作成ユーティリティ(RCU)を使用してOracle Business IntelligenceデータベースにBusiness Intelligence Platformスキーマを移入したときに作成したユーザー/スキーマ名およびパスワードを入力します。
入力するユーザーに、Business Intelligence Platformスキーマ内のANNOTATIONS表およびASSESSMENT_OVERRIDES表に対する読取り/書込み権限があることを確認します。

10. 「接続プール」ダイアログで「OK」をクリックします。

11. 「データベース」ダイアログで「OK」をクリックします。

12. 管理ツールの「Identity Manager」を使用して、デフォルトでBISystemアプリケーション・ロールでBSCデータベース・オブジェクトに対する直接データベース・リクエストを実行できるようにします。詳細は、「直接データベース・リクエストの許可または禁止」を参照してください。

13. リポジトリを保存して閉じます。

14. Oracle BIサーバーを再起動します。

リポジトリの保存および整合性のチェック

オフライン編集では、ときどきリポジトリを保存することを忘れないでください。ビジネス・モデル間で整合性がない場合でも、オフライン・モードでリポジトリを保存できます。

ビジネス・モデルに整合性があることを確認するには、「整合性のチェック」コマンドを使用して、コンパイル・エラーを確認します。リポジトリ全体でエラーを確認するには「ファイル」→グローバルな整合性のチェックを選択するか、特定の論理ビジネス・モデルで、ビジネス・モデルを選択し、右クリック・メニューから「整合性のチェック」を選択します。

整合性チェックでは、リポジトリにある種のエラーがないかどうかおよび整合性があるかどうかが分析されます。たとえば、整合性チェックは、論理ソースが構成されていない論理表や物理ソースにマップされていない論理列を検出し、定義されていない論理結合条件を確認し、ビジネス・モデルで参照されている物理表がビジネス・モデル内で参照されている他の表に結合されていないかどうか確認し、各ビジネス・モデルのサブジェクト・エリアの存在を確認します。

注意:
整合性チェックに合格しても、ビジネス・モデルが正しく作成されていることは保証されませんが、多くの一般的な問題が除去されます。

整合性をチェックするとき、発生したエラーまたは警告がダイアログに表示されます。エラーをすべて修正し、整合性を再確認し、エラーがなくなるまでこのプロセスを繰り返します。エラー・メッセージは、修正する必要のある問題を示します。警告メッセージは、問題の可能性を特定します。詳細は、「リポジトリまたはビジネス・モデルの整合性のチェック」を参照してください。

以前のバージョンのソフトウェアからアップグレードし、リポジトリの整合性をチェックした後、以前の整合性チェックを受けていないというメッセージが表示される場合があります。通常、これはアップグレード前に検出されなかった非整合性を示します。新しいエラーではありません。

リポジトリをテストおよび調整するためのnqcmdの使用方法

リポジトリが完全になったら、このリポジトリに対してサンプル問合せを実行して、これが正しく作成されているかどうかテストできます。検出された問題をすべて修正して再度テストします。満足のいく結果が得られるまでこのプロセスを繰り返します。

Oracle BIサーバー・ユーティリティnqcmdを使用して、リポジトリに対してテスト問合せを実行できます。このユーティリティは、Oracle BIサーバーのODBC DSNを使用して接続します。nqcmdを使用するには、Oracle BIサーバーが稼働中である必要があります。

nqcmdユーティリティは、WindowsシステムとUNIXシステムの両方で使用できます。

このユーティリティは、健全性のテスト用です。大きな負荷がかかるテストには、「アンサー」または別のクライアントを使用してください。数千行の問合せはnqcmdでは動作しません。

nqcmdを使用して他のODBCデータソースに対して問合せを実行することは可能ですが、この項では、このユーティリティを使用してOracle BIサーバーに問合せを行う方法のみを説明します。

nqcmdを実行する前に、まずbi-initを実行し、Oracleインスタンスに対して初期化されたコマンド・プロンプトまたはシェル・ウィンドウを起動する必要があります。このユーティリティは、LinuxおよびUNIXシステムではbi-init.shと呼ばれ、管理ツールのクライアント・インストールではbi-init.batと呼ばれ、他のすべてのWindowsのインストール・タイプではbi-init.cmdと呼ばれます。

たとえば、Windowsの場合は次のようにします。

1. Windowsのエクスプローラで、インストール・タイプに適した場所に移動します。

- クライアント・インストール:

ORACLE_HOME/bifoundation/server/bin

- その他のすべてのインストール:

ORACLE_INSTANCE/bifoundation/OracleBIApplication/coreapplication/setup

2. bi-init.cmd (またはクライアント・インストールの場合はbi-init.bat)をダブルクリックし、ご使用のOracleインスタンスに対して初期化されたコマンド・プロンプトを表示します。

3. コマンド・プロンプトで、必要なオプションを指定してnqcmdを入力します。例:

nqcmd -dmy_dsn -umy_username [-pmy_password] -ssql_input_file -omy_result_file

SQL文を含むテキスト・ファイルをユーティリティに渡すことができます(スクリプト・モード)。または、コマンドラインにSQLを入力できます(対話モード)。問合せは、問合せで使用されているオブジェクト名が完全修飾名でない場合、デフォルトのサブジェクト・エリアに対して実行されます。

表15-1に、nqcmdのコマンドライン引数をリストします。

表15-1 nqcmdのコマンドライン引数

引数

説明

-?

使用可能なコマンドライン引数をリストします。

-ddata_source_name

接続先のOracle BIサーバーのODBCデータソース名。

このパラメータを省略すると、コマンドラインにDSNを入力するように求めるプロンプトが表示されます。

ヒント: Windowsでは、「コントロール パネル」→「管理ツール」→「データ ソース (ODBC)」に移動し、使用可能なローカルODBCデータソース名を確認できます。「システム DSN」タブをクリックし、使用可能なDSN(たとえば、AnalyticsWeb_coreapplication)のリストを表示します。

-uuser_name

有効なOracle Business Intelligenceのユーザー名。

-ppassword

対応するOracle Business Intelligenceのユーザー・パスワード。

パスワード引数はオプションです。パスワード引数を指定しない場合は、コマンド実行時にパスワードを入力するように求められます。セキュリティ違反のリスクを最小化するため、コマンドラインでも、スクリプトでもパスワードを指定しないことをお薦めします。パスワード引数のサポートは下位互換性の保持を目的としており、将来のリリースでは削除される予定です。スクリプトのために、パスワードを標準入力によって渡すことができます。

-ssql_input_file_name

テストSQL問合せを含むテキスト・ファイルの名前およびパス。

-ooutput_result_file_name

ユーティリティが問合せの結果を書き込むファイルの名前およびパス。このオプションは、必ず-sとともに使用します。

-Ddelimiter

SQL入力ファイルで使用されるデリミタ(セミコロン(;)やコロン(:)など)。このオプションは、必ず-sとともに使用します。

-a

非同期処理を可能にします。

複数のSQL文を含むSQL入力ファイルを渡す場合、一般的にこのオプションは、-sとともに使用されます。

-z

出力結果ファイルでACPのかわりにUTF8出力を使用できるようにします。

このオプションを含めて問合せ結果に国際文字を表示する必要がある場合があります。

-utf16

nqcmdとOracle BI ODBCドライバ間の通信に、ACPのかわりにUTF16を使用できるようにします。

このオプションを含めて問合せ結果に国際文字を表示する必要がある場合があります。

-NotForwardCursor

ODBCの順方向専用カーソルを無効にします。

この引数が含まれていると、ODBC DSNで指定された設定は上書きされます。

-v

nqcmdユーティリティのバージョンを表示します。

-SessionVar session_variable_name=session_variable_value

指定したセッション変数を含み、これを指定した値に設定します。

-C、-R、-f、-H、-qおよび-NoFetchは、使用可能な引数としてユーティリティにリストされていますが、一般的にこれらのオプションは使用されません。

nqcmdをスクリプト・モードではなく対話モードで実行した場合(つまり、SQL入力ファイルを渡さない場合)、データソース名およびユーザー資格証明を入力した後でnqcmdによってオプションのメニューが表示されます。多くのオプションが表示されますが、一般的にOracle BIサーバーに対しては、Q、TおよびCのみを使用します。

コマンドラインに問合せを入力するには、Qを入力します。問合せは1行に入力する必要があります。また、デリミタとしてセミコロンは使用できません。[Enter]を押すとSQLがOracle BIサーバーに送信されます。

プレゼンテーション表を参照するには、Tを入力し、プレゼンテーション列を参照するには、Cを入力します。カタログ・パターン、ユーザー・パターン、表パターンおよび表タイプ・パターンの入力を求めるプロンプトがユーティリティによって表示され、それから結果が返されます。

カタログ・パターンに、表示する表を含むサブジェクト・エリアを入力します。表パターンに、特定の表を入力します。パーセント(%)を入力して、すべてのサブジェクト・エリアまたはすべての表を表示できます。%を他の文字とともに使用して、一連の文字と置き換えることができます。また、アンダースコア(_)を他の文字とともに使用して、1文字と置き換えることができます。

ユーザー・パターンおよび表タイプ・パターンは、Oracle BIサーバーに対する問合せには使用しません。これらのオプションには、%を入力してください。

また、Dを入力してOracle BIサーバーがサポートしているデータ・タイプの静的リストを表示できます。

リポジトリを問合せで使用可能にする

リポジトリを作成し、これに整合性がある場合、すべてのOracle BIサーバー・インスタンスがこれにアクセスできるように、Fusion Middleware Controlを使用してリポジトリをアップロードする必要があります。リポジトリをアップロードすると、起動時にOracle BIサーバーでリポジトリをメモリーにロードすることができ、リポジトリを問合せで使用可能にできます。

このタスクの実行方法の詳細は、『Oracle Fusion Middleware Oracle Business Intelligence Enterprise Editionシステム管理者ガイド』のリポジトリの構成に関する項を参照してください。

リポジトリがアップロードされ、これに接続できたら、このリポジトリに対してサンプル問合せを実行して、これが正しく作成されているかどうかテストします。検出された問題をすべて修正して再度テストします。満足のいく結果が得られるまでこのプロセスを繰り返します。

注意:
Oracle BIリポジトリはRPD形式でアップロードする必要があります。MDS XMLドキュメントで構成されたリポジトリはアップロードできません。

クライアント・アプリケーション用Oracle BIサーバーへのデータソース接続の作成

エンド・ユーザーのクライアント・アプリケーションを新しいリポジトリに接続できるようにする場合、各アプリケーション用Oracle BIサーバーへのODBCデータソース接続を定義する必要があります。Oracle BIプレゼンテーション・サービスとOracle BIサーバーの関係は、他のクライアント・アプリケーションとOracle BIサーバーの関係と同じです。

Oracle BIサーバー用のODBCデータソース接続の作成に関する詳細は、『Oracle Fusion Middleware Oracle Business Intelligence Enterprise Editionインテグレーターズ・ガイド』の他のクライアントとOracle Business Intelligenceの統合に関する項を参照してください。

ユーザー・コミュニティへの公開

テストが完了した後、問合せにデータソースを使用できることをユーザー・コミュニティに通知します。プレゼンテーション・サービスのユーザーが知っている必要があるのは、ブラウザに入力するURLのみです。クライアント/サーバー・ユーザー(たとえば、問合せツールまたはレポート・ライター・クライアント・アプリケーションを使用してOracle BIサーバーにアクセスするユーザー)は、サブジェクト・エリア名、サーバーが稼働しているコンピュータ、これらのユーザーIDおよびパスワードを知っている必要があります。クライアント/サーバー・ユーザーは、コンピュータにインストールしたOracle BIサーバーのODBC DSNを持っている必要もあります。また、複数のリポジトリが使用され、作成されたデータソース名(DSN)がデフォルトのリポジトリを指していない場合、リポジトリの論理名を知っている必要があります。

16 LinuxおよびUNIXでのデータソースの設定

この章では、Linux上またはUNIX上でOracle BIサーバーを実行しているときに、Oracle Business Intelligenceとともに使用するデータソースを設定する方法について説明します。

ほとんどのリポジトリ開発は、管理ツールがWindows上でのみ動作するため、Windowsで行われます。ただし、本番システムに移動すると、LinuxプラットフォームまたはUNIXプラットフォームでOracle BIサーバーを実行することを選択できます。

サポートされるLinuxプラットフォームおよびUNIXプラットフォームの詳細は、 「システム要件と動作要件」を参照してください。

この章には次のトピックが含まれます:

- LinuxおよびUNIXでのデータソースの設定について

- ネイティブ・ゲートウェイを使用したデータソース接続の構成

- LinuxおよびUNIXでのDataDirect Connect ODBCドライバの使用

- ネイティブODBCドライバを使用したデータベース接続の構成

- LinuxおよびUNIXでのOracle TimesTen In-Memory Databaseの設定

- AIX UNIXでのOracle RPAS ODBCデータソースの構成

- LinuxおよびUNIXでのEssbaseデータソースの構成

- IBM z/OSプラットフォームおよびs/390プラットフォームでのDB2 Connectの構成

LinuxおよびUNIXでのデータソースの設定について

Linux上またはUNIX上でOracle BIサーバーを実行している場合、ほとんどのデータソース接続は問合せ専用アクセスです。管理ツールは、オブジェクトのインポートに使用されます。これはWindows専用ツールです。このため、インポート用のデータソース接続は、Windows上で設定する必要があります。

LinuxおよびUNIXの一部のデータソース接続は、ライトバック用データソース接続、使用状況トラッキング、Oracle Scorecardと戦略管理の注釈などの特別な機能に関する書込み操作をサポートします。

Linux上またはUNIX上でOracle BIサーバーを実行していて、データベース・オブジェクト設定(データベース・タイプなど)または接続プール設定を更新する必要がある場合、リポジトリ・ファイルをWindowsコンピュータにコピーし、Windows上で管理ツールを使用して変更を行い、このリポジトリ・ファイルをLinuxコンピュータまたがUNIXコンピュータにコピーして戻します。

LinuxプラットフォームおよびUNIXプラットフォームには、次の3つのタイプのデータソース接続があります。

- ネイティブ・データソース・ゲートウェイ接続(Oracle DatabaseのOCIやIBM DB2のDB2 CLIなど)

- Oracle Business Intelligenceに付属のDataDirect Connect ODBCドライバを使用したODBC接続

- 外部ドライバを使用したネイティブODBC接続(Teradataデータソース用など)

DataDirect Connect ODBC接続とネイティブODBC接続の両方を含む単一のリポジトリを持つことができます。このような場合、ネイティブODBCドライバおよびDataDirect ODBCドライバを、同一のDataDirect ODBCドライバ・マネージャで管理する必要があります。たとえば、Teradata ODBCドライバには、必要なODBCドライバ・マネージャが含まれています。Teradata ODBCドライバをOracle BI EEで使用する場合、Oracle BI EEに同梱されるDataDirect ODBCドライバ・マネージャで、そのドライバを管理します。

ネイティブ・ゲートウェイを使用したデータソース接続の構成

ネイティブ・ゲートウェイを使用して、Oracle DatabaseとDB2の両方に接続できます(それぞれOCIおよびDB2 CLIを使用)。

Oracle Databaseの場合は、次の事項に注意します。

- Oracle BIサーバーは、Oracle Call Interface (OCI)を使用してデータベースに接続します。OCIは、デフォルトでOracle BI Enterprise Editionとともにインストールされます。接続するには、バンドルされているバージョンを使用する必要があります。

- tnsnames.oraファイルで、Oracle Databaseのエイリアス(定義されたエントリ名)は、すべての物理Oracleデータベースのリポジトリ接続プールで使用されるデータソース名と一致する必要があります。
Oracle Databaseのデータソースに接続するとき、接続文字列全体を含めることができます。または、tnsnames.oraファイルで定義されたネット・サービス名を使用できます。ネット・サービス名のみを入力することを選択した場合、Oracle Business Intelligence環境内の次の場所にtnsnames.oraファイルを設定し、Oracle BIサーバーがエントリを検索できるようにする必要があります。

ORACLE_HOME/network/admin

- user.shファイルを編集して、データベース・クライアント用に環境変数を設定することも必要です。

DB2の場合、Oracle BIサーバーを実行しているコンピュータに適切なデータベース・クライアントをインストールし、user.shファイルを編集してこのデータベース・クライアント用に環境変数を設定する必要があります。

注意:
Windowsでは、DB2の環境変数をuser.cmdファイルで設定できます。たとえば、DB2 CLIを構成する場合、user.cmdを変更してDB2実行可能ファイルのパスを含める必要があります。user.cmdファイルは次の場所にあります。

ORACLE_INSTANCE/bifoundation/OracleBIApplication/coreapplication/setup/user.cmd

user.shファイルを編集して、Oracle DatabaseまたはDB2用に環境変数を設定する手順は、次のとおりです。

1. user.shファイルを開きます。このファイルは次の場所にあります。

ORACLE_INSTANCE/bifoundation/OracleBIApplication/coreapplication/setup/user.sh

2. 選択したデータベース・クライアントに適した環境変数設定を含めます。32ビット・データベースを使用しているか、64ビット・データベースを使用しているかに応じて、適切なライブラリを指します。サンプル値は、例16-1を参照してください。

3. ファイルを保存して閉じます。

例16-1 Oracle DatabaseおよびDB2(32ビット)用のuser.shエントリのサンプル

この例では、様々なプラットフォームにおけるOracle DatabaseおよびDB2のuser.shのサンプル・エントリを示します。

###############################################################
# Linux: Oracle BI 32 bit mode
################################################################
#set +u

# Oracle Parameters
#---------------------------
# Make sure that Oracle DB 32 bit Client is installed
#ORACLE_HOME=/export/home/oracle/10g
#export ORACLE_HOME
#TNS_ADMIN=$ORACLE_HOME/network/admin
#export TNS_ADMIN
#PATH=$ORACLE_HOME/bin:/opt/bin:$PATH
#export PATH
#LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH
#export LD_LIBRARY_PATH

# If you have Linux 64 bit Platform, and would like to run Oracle BI 32 bit
# then you must install Oracle DB 64 bit client, and this client comes with
# 32 bit libraries under $ORACLE_HOME/lib32. The LD_LIBRARY_PATH in this case
# shall be like this:
#LD_LIBRARY_PATH=$ORACLE_HOME/lib32:$LD_LIBRARY_PATH
#export LD_LIBRARY_PATH

# DB2 Parameters
#---------------------------
#make sure the /DB2ISTANCE/sqllib/lib points to 32 lib file
#. /DB2ISTANCE/sqllib/db2profile
#---------------------------

###############################################################
# Solaris: Oracle BI 64 bit mode
###############################################################
#set +u

# Oracle Parameters
#---------------------------
# Make sure to install Oracle DB 64 bit Client
#ORACLE_HOME=/export/home/oracle/10g
#export ORACLE_HOME
#TNS_ADMIN=$ORACLE_HOME/network/admin
#export TNS_ADMIN
#PATH=$ORACLE_HOME/bin:/opt/bin:$PATH
#export PATH
#LD_LIBRARY_PATH_64=$ORACLE_HOME/lib:$LD_LIBRARY_PATH_64:/opt/j2se/jre/lib/sparc
#export LD_LIBRARY_PATH_64
#---------------------------

# DB2 Parameters
#---------------------------
#make sure the /DB2ISTANCE/sqllib/lib points to 64 lib file
#. /DB2ISTANCE/sqllib/db2profile
#LD_LIBRARY_PATH_64=/DB2ISTANCE/sqllib/lib:$LD_LIBRARY_PATH_64
#export LD_LIBRARY_PATH_64
#---------------------------

###############################################################
# HPUX Itanium: Oracle BI 64 bit mode
###############################################################
#set +u

# Oracle Parameters
#---------------------------
#ORACLE_HOME=/export/home/oracle/10g
#export ORACLE_HOME
#TNS_ADMIN=$ORACLE_HOME/network/admin
#export TNS_ADMIN
#PATH=$ORACLE_HOME/bin:/opt/bin:$PATH
#export PATH
#SHLIB_PATH=$ORACLE_HOME/lib:$SHLIB_PATH:/opt/j2se/jre/lib/hp700
#export SHLIB_PATH
#---------------------------

# DB2 Parameters
#---------------------------
#make sure the /DB2ISTANCE/sqllib/lib points to 64 lib file
#. /DB2ISTANCE/sqllib/db2profile
#SHLIB_PATH=/DB2ISTANCE/sqllib/lib:$SHLIB_PATH
#export SHLIB_PATH
#---------------------------

###############################################################
# AIX: Oracle BI 64 bit mode
###############################################################
#set +u

# Oracle Parameters
#---------------------------
#ORACLE_HOME=/export/home/oracle/10g
#export ORACLE_HOME
#TNS_ADMIN=$ORACLE_HOME/network/admin
#export TNS_ADMIN
#PATH=$ORACLE_HOME/bin:/opt/bin:$PATH
#export PATH
#LIBPATH=$ORACLE_HOME/lib:$LIBPATH:/opt/j2se/jre/lib/sparc
#export LIBPATH
#---------------------------

# DB2 Parameters
#---------------------------
#make sure the /DB2ISTANCE/sqllib/lib points to 64 lib file
#. /DB2ISTANCE/sqllib/db2profile
#---------------------------

ここで示したシェル・スクリプトの抜粋は単なる例で、特定のソフトウェア・プラットフォームに対する推奨ではありません。サポートされるソフトウェア・プラットフォームの詳細は、「システム要件と動作要件」を参照してください。

OCI接続のトラブルシューティング

OCI使用によるOracle Databaseへの接続に問題がある場合、次の条件が該当するかどうか確認します。

- Oracle BIサーバーを実行しているコンピュータは、Oracle Call Interface (OCI)を使用してデータベースに接続する必要があります。

- リポジトリ接続プールで接続文字列全体を使用しないことを選択した場合、有効なtnsnames.oraファイルがOracle Business Intelligence環境内の次の場所に設定されていて、Oracle BIサーバーがエントリを検索できるようにする必要があります。
ORACLE_HOME/network/admin

- リポジトリ接続プールで接続文字列全体を使用しないことを選択した場合、tnsnames.oraファイルのネット・サービス名が接続プールで使用されるデータソース名と一致することを確認します。
たとえば、tnsnames.oraエントリの次の例では、対応するOracle BIリポジトリ接続プールのデータソース名はITQA2です。

ITQA2 =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = ITQALAB2)(PORT = 1521))
(CONNECT_DATA =
(SERVICE_NAME = ITQALAB2.corp)
)
)

次の手順では、Oracle tnsnames.ora設定に対してリポジトリ・データベースおよび接続プール設定を確認する方法を示します。

リポジトリ・データベースおよび接続プール設定が正しいことを確認するには:

1. 管理ツールでリポジトリを開きます。

2. 「物理」レイヤーで、確認するデータベースをダブルクリックして、「データベース」ダイアログを表示します。

3. 「一般」タブの「データ・ソース定義: データベース」フィールドで、適切なOracle Databaseバージョンが選択されていることを確認します。「OK」をクリックします。

4. このデータソースの「接続プール」ダイアログを開きます。物理レイヤーでデータベース・オブジェクトを開いて、「接続プール」オブジェクトを表示する必要がある場合があります。

5. 「接続プール」ダイアログで、次の項目が該当していることを確認します。

- 「呼出しインタフェース」フィールドに、使用しているOracle Databaseのリリースに関して適切な値が表示されています。

- 「データ・ソース名」フィールドに、tnsnames.oraエントリで定義したOracle Databaseのネット・サービス名が表示されています。

- 「ユーザー名フィールドおよび「パスワード」フィールドに正しい値が入っています。

必要に応じて値を変更し、「OK」をクリックします。

6. Oracle Business Intelligence環境で、次のディレクトリにあるtnsnames.oraファイルを開きます。
ORACLE_HOME/network/admin

7. 次の特性を持つ有効なネット・サービス名が存在することを確認します。

- データソース名の接続プール設定と一致している

- 対象のOracle物理データベースを指定しています。

ネイティブ・データベースの行件数の更新について

このトピックは、次の両方が当てはまる場合に適用されます。

- オフライン・モードで管理ツールの「行数の更新」機能を使用している。

- 異機種環境を実行している(たとえば、UNIX上でOracle BIサーバーを実行しているが、リモート管理者はWindowsコンピュータで管理ツールを実行している場合)。

オフライン・モードでUpdate Rowcount機能を使用している場合、管理ツールは、クライアント・コンピュータでサーバー・データソースではなくローカル・データソース接続定義を使用します。したがって、Oracle DatabaseクライアントまたはDB2クライアントは、管理ツールを実行しているWindowsコンピュータで構成して、次の条件を満たす必要があります。

- データソースが、UNIXサーバー上のOracle Business Intelligenceのuser.shファイルで特定される同じデータベースを指しています。

- ローカル・データソースの名前が、Oracle BIのリポジトリ(.rpd)ファイルの物理レイヤーにある「接続プール」オブジェクトで定義されたデータソースの名前とも一致します。

これらの条件が該当せず、サーバー・データソースとクライアント・データソースが別のデータベースを指している場合、誤って更新された行件数または正しくない結果が表示されます。

LinuxおよびUNIXでのDataDirect Connect ODBCドライバの使用

Oracle Business Intelligenceでは、Microsoft SQL Server、Sybase ASE、Informix、HiveおよびImpalaの各データベースへの接続性の確保のために、Linuxオペレーティング・システムおよびUNIXオペレーティング・システム用にDataDirect Connect ODBCドライバおよびドライバ・マネージャが提供されます。

Oracle Business Intelligenceをインストールした後は、DataDirect Connect ODBC 32ビット・ドライバはORACLE_HOME/common/ODBC/Merant/7.1.4/libにインストールされます。64ビット・ドライバはORACLE_HOME/common/ODBC/Merant/7.1.4/lib64にインストールされます。

データベースのクライアントとサーバーとの間における通信は、一般的にビット幅とデータのパスに依存しません。つまり、32ビットのデータベース・ドライバは64ビットのデータベース・サーバーと通信でき、その逆も可能です。

DataDirect Connect ODBCドライバを設定するために、ODBCINI環境変数を設定する必要はありません。この変数は、インストール中に自動的に設定されます。

サポートされるオペレーティング・システム、データベース、およびDataDirect Connect ODBCドライバのドライバ・バージョンの詳細は、「システム要件と動作要件」を参照してください。

この項には次のトピックが含まれます:

- DataDirectを使用するOracle Business Intelligenceのアップグレードおよび構成

- Microsoft SQL ServerデータベースのためのDataDirect Connect ODBCドライバの構成

- Sybase ASEデータベースのためのDataDirect Connect ODBCドライバの構成

- InformixデータベースのためのDataDirect Connect ODBCドライバの構成

- Cloudera ImpalaデータベースのためのDataDirect Connect ODBCドライバの構成

- Apache HiveデータベースのためのDataDirect Connect ODBCドライバの構成

DataDirectを使用するOracle Business Intelligenceのアップグレードおよび構成

Oracle BI EE 11g Release 11.1.1.9のインストールには、必要なDataDirectドライバが含まれ、新しいインストールにインストールおよび構成されます。アップグレード前のOracle BI EEバージョンが11.1.1.9より前で、以前にDataDirectドライバを構成していた場合、DataDirect 7.1ドライバを手動でアップグレードして構成する必要があります。このアップグレードおよび構成は、Oracle BI EEを使用するDataDirectを稼働する各サーバーで実行する必要があります。

注意:
この項に含まれている情報は正しくありません。アップグレードと構成に関する正しい情報は、Oracle Fusion Middleware Oracle Business Intelligence Enterprise Editionリリース・ノートの「DataDirect 7.14ドライバの構成」を参照してください。

DataDirectドライバのアップグレード

次の手順は、DataDirectドライバをアップグレードする方法について説明しています。

DataDirectを使用するようにOracle Business Intelligenceをアップグレードする手順は次のとおりです。

1. Windows Explorerで、DataDirect構成スクリプトを検索します。
LinuxおよびUNIXのシステムでは、次のとおりです。

ORACLE_HOME/Oracle_BI1/bin/datadirect_version.sh

それ以外のすべてのWindowsのインストール・タイプでは、次のとおりです。

ORACLE_HOME/Oracle_BI1/bin/datadirect_version.cmd

2. スクリプトを開き、必要に応じて更新します。構文およびオプションは次のとおりです。

/bin/datadirect_version.cmd -i oracleInstance -s driverVersion [-l|-h]

説明:

-iは、Oracle BIインスタンスのディレクトリを示します。

-sはDataDirectドライバ・バージョンを示します。

次に例を示します。

/bin/datadirect_version.cmd -i C:\Installs\OBIEE\instances\instance1 -s 7.1.4

-lを指定すると、Oracle BI EEがサポートするDataDirectドライバが表示されます。

-hを指定すると、使用方法が表示されます。

3. コマンドを実行して、ドライバをアップグレードします。

4. システムへの変更を完了するには、すべてのサービスを再起動します。すべてのサービスを再起動する方法は、『Oracle Fusion Middleware Oracle Business Intelligence Enterprise Editionシステム管理者ガイド』のOracle Business Intelligenceの開始および停止に関する項を参照してください。
すべてのサービスが再起動してから、DataDirectドライバを構成する必要があります。詳細は、「DataDirectドライバの構成」を参照してください。

DataDirectドライバの構成

Oracle Business Intelligenceは、インストール時またはアップグレード時にDataDirectドライバをORACLE_HOME/common/ODBC/Merant/[driver_version]に入れます。たとえば、[HOME]/common/ODBC/Merant/7.1.4です。

次の手順は、DataDirectドライバを構成する方法について説明しています。

DataDirectドライバを使用するようにOracle Business Intelligenceを構成する手順は次のとおりです。

1. 編集するためにopmn.xmlを開きます。opmn.xmlは次の場所にあります。

ORACLE_INSTANCE/config/OPMN/opmn/opmn.xml

2. coreapplication_obis1タグを検索し、そのタグの中でLD_LIBRARY_PATH変数を検索します。例:

<variable id="LD_LIBRARY_PATH" value="ORACLE_
HOME/common/ODBC/Merant/7.1.4/lib$:ORACLE_HOME/bifoundation/server/bin$:ORACLE_
HOME/bifoundation/web/bin$:ORACLE_
HOME/clients/epm/Essbase/EssbaseRTC/bin$:ORACLE_
HOME/bifoundation/odbc/lib$:ORACLE_INSTANCE:ORACLE_HOME/lib" append="true"/>

3. DataDirectドライバのパスが含まれるようにその変数を更新します。例:

<variable id="LD_LIBRARY_PATH" value="ORACLE_HOME/common/ODBC/Merant/7.1.4/
lib:ORACLE_HOME/common/ODBC/Merant/7.1.4/lib$:ORACLE_
HOME/bifoundation/server/bin$:ORACLE_HOME/bifoundation/web/bin$:ORACLE_
HOME/clients/epm/Essbase/EssbaseRTC/bin$:ORACLE_
HOME/bifoundation/odbc/lib$:ORACLE_INSTANCE:ORACLE_HOME/lib" append="true"/>

4. ファイルを保存して閉じます。

5. OPMNを再起動します。

6. odbc.iniファイルを開きます。このファイルは次の場所にあります。

ORACLE_INSTANCE/bifoundation/OracleBIApplication/coreapplication/setup/odbc.ini

7. DataDirectドライバを使用するようにODBCエントリを更新します。

[ODBC]
#Trace = 0
#TraceFile =
ORACLE_INSTANCE/diagnostics/logs/OracleBIApplication/coreapplicat
ion/odbctrace.out
#TraceDll = ORACLE_HOME/common/ODBC/Merant/7.1.4/lib/odbctrac.so
#InstallDir = ORACLE_HOME/common/ODBC/Merant/7.1.4
#UseCursorLib = 0
#IANAAppCodePage = 4
IANAAppCodePage=4
InstallDir=ORACLE_HOME/common/ODBC/Merant/7.1.4/install
Trace=0
TraceFile=odbctrace.out
TraceDll=ORACLE_HOME/common/ODBC/Merant/7.1.4/lib/ARtrc26.so

8. SQL Serverデータ・ソース名が含まれるようにODBCデータ・ソースのエントリを更新します。

[ODBC Data Sources]

AnalyticsWeb = Oracle BI Server
Cluster = Oracle BI Server
SSL_Sample = Oracle BI Server
SQLSERVER=DataDirect 7.1 SQL Server Wire Protocol

9. odbc.iniファイルを保存して閉じます。

10. Oracle BIサーバー・プロセスを実行している各コンピュータで前述の手順を繰り返します。同じコンピュータで複数のOracle BIサーバー・インスタンスを実行している場合は必ず、opmn.xmlで各インスタンスについてias-componentタグを適切に更新してください(例: ias-component id="coreapplication_obis1"、ias-component id="coreapplication_obis2"など)。

11. DataDirectドライバを使用するように構成済のデータベースを使用している場合は、DataDirectドライバを使用するように構成のodbc.iniファイルを変更する必要があります。既存のデータベース構成の変更方法については、次の手順を参照してください。

Microsoft SQL ServerデータベースのためのDataDirect Connect ODBCドライバの構成

Microsoft SQL Serverデータベースに接続するDataDirect ODBCドライバ・ファイルの名前は、ARmsss23.soです。サポートされるMicrosoft SQL Serverのバージョンについては、「システム要件と動作要件」を参照してください。

Microsoft SQL Serverに接続するDataDirect Connect ODBCドライバを構成するには:

1. opmn.xmlファイルを開きます。このファイルは次の場所にあります。

ORACLE_INSTANCE/config/OPMN/opmn.xml

2. coreapplication_obis1タグを検索し、そのタグの中でLD_LIBRARY_PATH変数を検索します。次の項目に注意してください。

- Solaris、LinuxおよびHP-UXの場合は、ライブラリ・パス変数はLD_LIBRARY_PATHです。

- AIXの場合は、ライブラリ・パス変数はLIBPATHです。

たとえば、Linux上のドライバにライブラリ・パス変数を設定するには、次のようにします。

<variable id="LD_LIBRARY_PATH"
value="$ORACLE_HOME/bifoundation/server/bin$:$ORACLE_HOME/bifoundation/web/bin$:$ORACLE_HOME/clients/epm/Essbase/EssbaseRTC/bin$:$ORACLE_HOME/bifoundation/odbc/lib$:$ORACLE_INSTANCE$:$ORACLE_HOME/lib" append="true"/>

3. 必要に応じ、DataDirectドライバのパスが含まれるようにLD_LIBRARY_PATH変数を更新します。たとえば、Linux上のドライバの変数を更新するには、次のようにします。

<variable id="LD_LIBRARY_PATH"
value="$ORACLE_HOME/common/ODBC/Merant/7.1.4/lib$:$ORACLE_HOME/bifoundation/server/bin$:$ORACLE_HOME/bifoundation/web/bin$:$ORACLE_HOME/clients/epm/Essbase/EssbaseRTC/bin$:$ORACLE_HOME/bifoundation/odbc/lib$:$ORACLE_INSTANCE$:$ORACLE_HOME/lib" append="true"/>

4. opmn.xmlでPATH変数を検索し、必要に応じ、DataDirectドライバ・パスを含めます。

5. ファイルを保存して閉じます。

6. odbc.iniファイルを開きます。このファイルは次の場所にあります。

ORACLE_INSTANCE/bifoundation/OracleBIApplication/coreapplication/setup/odbc.ini

7. ODBC接続名がリポジトリで定義した接続プールに指定されているデータソース名と同じになるように、データベースにエントリを作成します。DriverパラメータをMicrosoft SQL Server用のDataDirect Connectドライバのファイル名および場所に設定します。次の例では、Driverパラメータは64ビットDataDirect Connectドライバに設定されており、データソース名はSQLSERVER_DBです。

[SQLSERVER_DB]
Driver=/usr/Oracle_BI1/common/ODBC/Merant/7.1.4/lib64/ARmsss23.so
Description=DataDirect 7.1 SQL Server Wire Protocol
Address=111.111.111.111,1433
AlternateServers=
AnsiNPW=Yes
ConnectionRetryCount=0
ConnectionRetryDelay=3
Database=dbschema_name
LoadBalancing=0
LogonID=
Password=
QuoteID=No
ReportCodePageConversionErrors=0

8. odbc.iniファイルを保存して閉じます。

9. Windowsコンピュータの管理ツールでリポジトリを開きます。

10. 「物理」レイヤーで、Microsoft SQL Serverデータベースのデータベース・オブジェクトをダブルクリックします。

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

12. リポジトリを保存して閉じます。

13. LinuxコンピュータまたはUNIXコンピュータで、Oracle Business Intelligenceを停止します。

14. リポジトリをWindowsコンピュータからLinuxコンピュータまたはUNIXコンピュータにコピーします。

15. LinuxコンピュータまたはUNIXコンピュータで、Oracle Business Intelligenceを起動します。

Sybase ASEデータベースのためのDataDirect Connect ODBCドライバの構成

Sybase ASEデータベースに接続するDataDirect ODBCドライバのファイル名は、ARase23.soです。サポートされるSybase ASEのバージョンの詳細は、「システム要件と動作要件」を参照してください。

Sybase ASEデータベースに接続するDataDirect Connect ODBCドライバを構成するには:

1. opmn.xmlファイルを開きます。このファイルは次の場所にあります。

ORACLE_INSTANCE/config/OPMN/opmn.xml

2. coreapplication_obis1タグを検索し、そのタグの中でLD_LIBRARY_PATH変数を検索します。次の項目に注意してください。

- Solaris、LinuxおよびHP-UXの場合は、ライブラリ・パス変数はLD_LIBRARY_PATHです。

- AIXの場合は、ライブラリ・パス変数はLIBPATHです。

たとえば、Linux上のドライバにライブラリ・パス変数を設定するには、次のようにします。

<variable id="LD_LIBRARY_PATH"
value="$ORACLE_HOME/bifoundation/server/bin$:$ORACLE_HOME/bifoundation/web/bin$:$ORACLE_HOME/clients/epm/Essbase/EssbaseRTC/bin$:$ORACLE_HOME/bifoundation/odbc/lib$:$ORACLE_INSTANCE$:$ORACLE_HOME/lib" append="true"/>

3. 必要に応じ、DataDirectドライバのパスが含まれるようにLD_LIBRARY_PATH変数を更新します。たとえば、Linux上のドライバの変数を更新するには、次のようにします。

<variable id="LD_LIBRARY_PATH"
value="$ORACLE_HOME/common/ODBC/Merant/7.1.4/lib$:$ORACLE_HOME/bifoundation/server/bin$:$ORACLE_HOME/bifoundation/web/bin$:$ORACLE_HOME/clients/epm/Essbase/EssbaseRTC/bin$:$ORACLE_HOME/bifoundation/odbc/lib$:$ORACLE_INSTANCE$:$ORACLE_HOME/lib" append="true"/>

4. opmn.xmlでPATH変数を検索し、必要に応じ、DataDirectドライバ・パスを含めます。

5. ファイルを保存して閉じます。

6. odbc.iniファイルを開きます。このファイルは次の場所にあります。

ORACLE_INSTANCE/bifoundation/OracleBIApplication/coreapplication/setup/odbc.ini

7. ODBC接続名がリポジトリで定義した接続プールに指定されているデータソース名と同じになるように、データベースにエントリを作成します。DriverパラメータをSybase ASEデータベース用のDataDirect Connectドライバのファイル名および場所に設定します。NetworkAddressに、IPアドレスまたは完全修飾ホスト名およびポート番号を指定します。
次の例では、Driverパラメータは64ビットDataDirect Connectドライバに設定され、データソース名はSybaseASE_DBです。

[SybaseASE_DB]
Driver=/usr/Oracle_BI1/common/ODBC/Merant/7.1.4/lib64/ARase23.so
Description=DataDirect 7.1 Sybase Wire Protocol
AlternateServers=
ApplicationName=
ApplicationUsingThreads=1
ArraySize=50
AuthenticationMethod=0
Charset=
ConnectionRetryCount=0
ConnectionRetryDelay=3
CursorCacheSize=1
Database=Paint
DefaultLongDataBuffLen=1024
EnableDescribeParam=0
EnableQuotedIdentifiers=0
EncryptionMethod=0
GSSClient=native
HostNameInCertificate=
InitializationString=
Language=
LoadBalancing=0
LogonID=my_id
NetworkAddress=111.111.111.111,5005
OptimizePrepare=1
PacketSize=0
Password=
RaiseErrorPositionBehavior=0
ReportCodePageConversionErrors=0
SelectMethod=0
ServicePrincipalName=
TruncateTimeTypeFractions=0
TrustStore=
TrustStorePassword=
ValidateServerCertificate=1
WorkStationID=

8. odbc.iniファイルを保存して閉じます。

InformixデータベースのためのDataDirect Connect ODBCドライバの構成

Informixデータベースに接続するDataDirect ODBCドライバのファイル名は、ARifcl23.soです。サポートされるInformixのバージョンの詳細は、「システム要件と動作要件」を参照してください。

Informixに接続するDataDirect Connect ODBCドライバを構成するには:

1. opmn.xmlファイルを開きます。このファイルは次の場所にあります。

ORACLE_INSTANCE/config/OPMN/opmn.xml

2. coreapplication_obis1タグを検索し、そのタグの中でLD_LIBRARY_PATH変数を検索します。次の項目に注意してください。

- Solaris、LinuxおよびHP-UXの場合は、ライブラリ・パス変数はLD_LIBRARY_PATHです。

- AIXの場合は、ライブラリ・パス変数はLIBPATHです。

たとえば、Linux上のドライバにライブラリ・パス変数を設定するには、次のようにします。

<variable id="LD_LIBRARY_PATH"
value="$ORACLE_HOME/bifoundation/server/bin$:$ORACLE_HOME/bifoundation/web/bin$:$ORACLE_HOME/clients/epm/Essbase/EssbaseRTC/bin$:$ORACLE_HOME/bifoundation/odbc/lib$:$ORACLE_INSTANCE$:$ORACLE_HOME/lib" append="true"/>

3. 必要に応じ、DataDirectドライバのパスが含まれるようにLD_LIBRARY_PATH変数を更新します。たとえば、Linux上のドライバの変数を更新するには、次のようにします。

<variable id="LD_LIBRARY_PATH"
value="$ORACLE_HOME/common/ODBC/Merant/7.1.4/lib$:$ORACLE_HOME/bifoundation/server/bin$:$ORACLE_HOME/bifoundation/web/bin$:$ORACLE_HOME/clients/epm/Essbase/EssbaseRTC/bin$:$ORACLE_HOME/bifoundation/odbc/lib$:$ORACLE_INSTANCE$:$ORACLE_HOME/lib" append="true"/>

4. opmn.xmlでPATH変数を検索し、必要に応じ、DataDirectドライバ・パスを含めます。

5. ファイルを保存して閉じます。

6. odbc.iniファイルを開きます。このファイルは次の場所にあります。

ORACLE_INSTANCE/bifoundation/OracleBIApplication/coreapplication/setup/odbc.ini

7. ODBC接続名がリポジトリで定義した接続プールに指定されているデータソース名と同じになるように、データベースにエントリを作成します。DriverパラメータをInformix用のDataDirect Connectドライバのファイル名および場所に設定します。また、HostNameパラメータ(完全修飾ホスト名またはIPアドレスを使用可能)およびPortNumberパラメータも指定する必要があります。
次の例では、Driverパラメータは64ビットDataDirect Connectドライバに設定され、データソース名はInformix_DBです。

[Informix_DB]
Driver=/usr/Oracle_BI1/common/ODBC/Merant/7.1.4/lib64/ARifcl23.so
Description=DataDirect Informix Wire Protocol
AlternateServers=
ApplicationUsingThreads=1
CancelDetectInterval=0
ConnectionRetryCount=0
ConnectionRetryDelay=3
Database=
HostName=111.111.111.111
LoadBalancing=0
LogonID=informix
Password=mypassword
PortNumber=1526
ReportCodePageConversionErrors=0
ServerName=
TrimBlankFromIndexName=1

8. odbc.iniファイルを保存して閉じます。

Cloudera ImpalaデータベースのためのDataDirect Connect ODBCドライバの構成

Cloudera Impalaデータベースに接続するためのDataDirect ODBCドライバ・ファイルの名前は、ARimpala27.soです。サポートされるCloudera Impalaのバージョンの詳細は、「システム要件と動作要件」を参照してください。

Cloudera Impalaに接続するDataDirect Connect ODBCドライバを構成するには、次のようにします。

1. opmn.xmlファイルを開きます。このファイルは次の場所にあります。

ORACLE_INSTANCE/config/OPMN/opmn.xml

2. coreapplication_obis1タグを検索し、そのタグの中でLD_LIBRARY_PATH変数を検索します。次の項目に注意してください。

- Solaris、LinuxおよびHP-UXの場合は、ライブラリ・パス変数はLD_LIBRARY_PATHです。

- AIXの場合は、ライブラリ・パス変数はLIBPATHです。

たとえば、Linux上のドライバにライブラリ・パス変数を設定するには、次のようにします。

<variable id="LD_LIBRARY_PATH"
value="$ORACLE_HOME/bifoundation/server/bin$:$ORACLE_HOME/bifoundation/web/bin$:$ORACLE_HOME/clients/epm/Essbase/EssbaseRTC/bin$:$ORACLE_HOME/bifoundation/odbc/lib$:$ORACLE_INSTANCE$:$ORACLE_HOME/lib" append="true"/>

3. 必要に応じ、DataDirectドライバのパスが含まれるようにLD_LIBRARY_PATH変数を更新します。たとえば、Linux上のドライバの変数を更新するには、次のようにします。

<variable id="LD_LIBRARY_PATH"
value="$ORACLE_HOME/common/ODBC/Merant/7.1.4/lib$:$ORACLE_HOME/bifoundation/server/bin$:$ORACLE_HOME/bifoundation/web/bin$:$ORACLE_HOME/clients/epm/Essbase/EssbaseRTC/bin$:$ORACLE_HOME/bifoundation/odbc/lib$:$ORACLE_INSTANCE$:$ORACLE_HOME/lib" append="true"/>

4. opmn.xmlでPATH変数を検索し、必要に応じ、DataDirectドライバ・パスを含めます。

5. ファイルを保存して閉じます。

6. OPMNを再起動します。

7. odbc.iniファイルを開きます。このファイルは次の場所にあります。

ORACLE_INSTANCE/bifoundation/OracleBIApplication/coreapplication/setup/odbc.ini

8. ODBC接続名がリポジトリで定義した接続プールに指定されているデータソース名と同じになるように、データベースにエントリを作成します。DriverパラメータをCloudera Impala用のDataDirect Connectドライバのファイル・パスに設定します。また、Host Nameパラメータ(完全修飾ホスト名またはIPアドレスを使用可能)およびPortNumberパラメータも指定する必要があります。
次の例では、DriverパラメータはDataDirect Connectドライバに設定されており、データソース名はImpala_DBです。

[Impala_DB]
Driver=/usr/Oracle_BI1/common/ODBC/Merant/7.1.4/lib/ARimpala27.so
Description=Oracle 7.1 Cloudera Impala Wire Protocol
ArraySize=16384
Database=default
DefaultLongDataBuffLen=1024
DefaultOrderByLimit=-1
EnableDescribeParam=0
HostName=localhost
LoginTimeout=30
MaxVarcharSize=2000
PortNumber=21050
RemoveColumnQualifiers=0
StringDescribeType=12
TransactionMode=0
UseCurrentSchema=0
WireProtocolVersion=2

9. odbc.iniファイルを保存して閉じます。
Impala 1.3.xを使用している場合、後述する「Impala 1.3.xを構成してLIMIT句を含める」の手順を完了する必要があります。Impala 1.4 (CDH 5.1)以上を使用している場合、追加の手順を完了する必要はありません。

10. 管理ツールに移動し、Cloudera Impalaをインポートします。詳細は、「Windows ODBCを使用したCloudera Impalaメタデータのインポート」を参照してください。

Impala 1.3.xを構成してLIMIT句を含める

Impala 1.3.xでは、ORDER BY句のある問合せにLIKIT句が含まれている必要があります。この句は、次の3つの方法を使用して構成内に指定することができますが、「方法1: Impalaデーモンのデフォルトの問合せオプションを変更」をお奨めします。

次のいずれかの方法で制限したデフォルトの順番を指定すると、句によってORDERのある問合せに対して最大2,000,000列が戻ります。

方法1: Impalaデーモンのデフォルトの問合せオプションを変更

LIMIT句を指定するこの方法を推奨します。

この方法を使用してLIMIT句を指定し、問合せにORDER BY句が含まれている場合、Impalaは最大2,000,000列を戻します。この制限を超過すると、Impalaは例外をスローします。

1. Cloudera Managerのホーム・ページに移動し、Impalaサービスをクリックします。「Impalaサービス」ページが表示されます。

2. 「Impalaサービス」ページで、「構成」をクリックして、「表示と編集」を選択します。「構成」ページが表示されます。

3. 「構成」ページで、「Impalaデーモンのデフォルトのグループ」を選択します。Impala Daemon Query Options Advanced (default_query_optionsとも呼ばれます)を検索し、次のエントリを追加します。

default_order_by_limit=2000000
abort_on_default_limit_exceeded=true

4. 「Save Changes」をクリックします。

5. Cloudera Managerのホーム・ページで、Impalaサービスを再起動します。

問合せが2,000,000列を超える場合のために、default_order_by_limit値を高く指定します。

方法2: Cloudera Managerで管理されていないImpalaで、Impalaデーモンのデフォルトの問合せオプションを変更

使用するImpala環境がCloudera Managerで管理されていない場合、Impala製品のドキュメントの内容を参照して、LIMIT句を変更します。この作業を完了するには、『CDH 5 Installation Guide』内の、コマンドラインを使用したImpalaスタートアップ・オプションの構成に関する項を参照してください。このトピックは、次のURLで入手できます。

http://www.cloudera.com/content/cloudera-content/cloudera-docs/CDH5/5.0/Impala/Installing-and-Using-Impala/ciiu_config_options.html?scroll=config_options

コマンドラインを使用したImpalaスタートアップ・オプションの構成に関する項を参照して、IMPALA_SERVER_ARGS内に次のエントリを追加します。

-default_query_options 'default_order_by_limit=2000000;abort_on_default_limit_exceeded=true'

この方法を使用してLIMIT句を指定し、問合せにORDER BY句が含まれている場合、Impalaは最大2,000,000列を戻します。この制限を超過すると、Impalaは例外をスローします。

方法3: odbc.ini Impala DSNエントリ内のDefaultOrderByLimitパラメータを変更:

注意:
Default Order By Limitは、Impalaサーバーのかわりに、クライアントでも指定できます。

先の2つの方法を使用してImpalaデーモンを変更する権限がない場合、この方法を使用してください。この方法を使用すると、Impalaにより、値が2,000,000列まで静的に切り詰められます。

1. odbc.iniファイルを開きます。このファイルは次の場所にあります。

ORACLE_INSTANCE/bifoundation/OracleBIApplication/coreapplication/setup/odbc.ini

2. Impala_DBデータベース・エントリを検索し、DefaultOrderByLimitパラメータを検索します。

3. 値を、2000000.に更新します。例:

DefaultOrderByLimit=2000000

4. odbc.iniファイルを保存して閉じます。

問合せが戻す数を2,000,000列よりも大きく指定する場合、DefaultOrderByLimit値をそれよりも高く指定します。

Apache HiveデータベースのためのDataDirect Connect ODBCドライバの構成

Apache Hiveデータベースに接続するDataDirect ODBCドライバのファイル名は、libARicu26.soです。サポートされるApache Hiveのバージョンの詳細は、「システム要件と動作要件」を参照してください。Apache Hiveデータ・ソースの使用方法の詳細は、「Oracle Business IntelligenceでのApache Hiveの使用上の制限」を参照してください。

Apache Hiveに接続するDataDirect Connect ODBCドライバを構成するには、次のようにします。

1. opmn.xmlファイルを開きます。このファイルは次の場所にあります。

ORACLE_INSTANCE/config/OPMN/opmn.xml

2. coreapplication_obis1タグを検索し、そのタグの中でLD_LIBRARY_PATH変数を検索します。次の項目に注意してください。

- Solaris、LinuxおよびHP-UXの場合は、ライブラリ・パス変数はLD_LIBRARY_PATHです。

- AIXの場合は、ライブラリ・パス変数はLIBPATHです。

たとえば、Linux上のドライバにライブラリ・パス変数を設定するには、次のようにします。

<variable id="LD_LIBRARY_PATH"
value="$ORACLE_HOME/bifoundation/server/bin$:$ORACLE_HOME/bifoundation/web/bin$:$ORACLE_HOME/clients/epm/Essbase/EssbaseRTC/bin$:$ORACLE_HOME/bifoundation/odbc/lib$:$ORACLE_INSTANCE$:$ORACLE_HOME/lib" append="true"/>

3. 必要に応じ、DataDirectドライバのパスが含まれるようにLD_LIBRARY_PATH変数を更新します。たとえば、Linux上のドライバの変数を更新するには、次のようにします。

<variable id="LD_LIBRARY_PATH"
value="$ORACLE_HOME/common/ODBC/Merant/7.1.4/lib$:$ORACLE_HOME/bifoundation/server/bin$:$ORACLE_HOME/bifoundation/web/bin$:$ORACLE_HOME/clients/epm/Essbase/EssbaseRTC/bin$:$ORACLE_HOME/bifoundation/odbc/lib$:$ORACLE_INSTANCE$:$ORACLE_HOME/lib" append="true"/>

4. opmn.xmlでPATH変数を検索し、必要に応じ、DataDirectドライバ・パスを含めます。

5. opmn.xmlファイル内で、LD_LIBRARY_PATH変数の上または下のどちらかに、DataDirectドライバを指すHADOOP_DLL変数を作成します。
例:

<variable id="HADOOP_DLL"
value="ORACLE_HOME/common/ODBC/Merant/7.1.4/lib/ARhive27.so"/>

6. ファイルを保存して閉じます。

7. OPMNを再起動します。

8. odbc.iniファイルを開きます。このファイルは次の場所にあります。

ORACLE_INSTANCE/bifoundation/OracleBIApplication/coreapplication/setup/odbc.ini

9. ODBC接続名がリポジトリで定義した接続プールに指定されているデータソース名と同じになるように、データベースにエントリを作成します。DriverパラメータをHive用のDataDirect Connectドライバのファイル名および場所に設定します。また、HostNameパラメータ(完全修飾ホスト名またはIPアドレスを使用可能)およびPortNumberパラメータも指定する必要があります。
次の例では、DriverパラメータはDataDirect Connectドライバに設定されており、データ・ソース名はHiveです。

[Hive]
Driver=/usr/Oracle_BI1/common/ODBC/Merant/7.1.4/lib/ARhive27.so
Description=Oracle 7.1 Apache Hive Wire Protocol
ArraySize=16384
Database=default
DefaultLongDataBuffLen=1024
EnableDescribeParam=0
HostName=localhost
LoginTimeout=30
MaxVarcharSize=2000
PortNumber=10000
RemoveColumnQualifiers=0
StringDescribeType=12
TransactionMode=0
UseCurrentSchema=0

10. odbc.iniファイルを保存して閉じます。

11. ソフト・リンクlibARicu27.so pointing to libARicu26.soを作成します。
例:

cd /usr/Oracle_BI1/common/ODBC/Merant/7.1.4/lib/
ln -s libARicu26.so libARicu27.so

ネイティブODBCドライバを使用したデータベース接続の構成

Oracle Business Intelligenceには、一部のデータソース(すべてではない)用にUNIX ODBCドライバが付属しています。TeradataおよびOracle TimesTen In-Memory Databaseなどのこれらのデータソースでは、独自のODBCドライバをインストールし、user.shファイルおよびodbc.iniファイルを更新して、データソースを構成する必要があります。

Teradataを使用している場合、関連情報については、「Teradataデータ・ソースに対する問合せのスプール領域エラーの回避」も参照してください。

ネイティブODBCドライバを使用してデータベース接続を構成するには:

1. opmn.xmlファイルを開きます。このファイルは次の場所にあります。

ORACLE_INSTANCE/config/OPMN/opmn.xml

2. coreapplication_obis1タグを検索し、そのタグの中でLD_LIBRARY_PATH変数を検索します。次の項目に注意してください。

- Solaris、LinuxおよびHP-UXの場合は、ライブラリ・パス変数はLD_LIBRARY_PATHです。

- AIXの場合は、ライブラリ・パス変数はLIBPATHです。

たとえば、Linux上のドライバにライブラリ・パス変数を設定するには、次のようにします。

<variable id="LD_LIBRARY_PATH"
value="$ORACLE_HOME/bifoundation/server/bin$:$ORACLE_HOME/bifoundation/web/bin$:$ORACLE_HOME/clients/epm/Essbase/EssbaseRTC/bin$:$ORACLE_HOME/bifoundation/odbc/lib$:$ORACLE_INSTANCE$:$ORACLE_HOME/lib" append="true"/>

3. 必要に応じ、DataDirectドライバのパスが含まれるようにLD_LIBRARY_PATH変数を更新します。たとえば、Linux上のドライバの変数を更新するには、次のようにします。

<variable id="LD_LIBRARY_PATH"
value="$ORACLE_HOME/common/ODBC/Merant/7.1.4/lib$:$ORACLE_HOME/bifoundation/server/bin$:$ORACLE_HOME/bifoundation/web/bin$:$ORACLE_HOME/clients/epm/Essbase/EssbaseRTC/bin$:$ORACLE_HOME/bifoundation/odbc/lib$:$ORACLE_INSTANCE$:$ORACLE_HOME/lib" append="true"/>

4. opmn.xmlでPATH変数を検索し、必要に応じ、DataDirectドライバ・パスを含めます。

5. ファイルを保存して閉じます。

6. odbc.iniファイルを開きます。このファイルは次の場所にあります。

ORACLE_INSTANCE/bifoundation/OracleBIApplication/coreapplication/setup/odbc.ini

7. ODBC接続名がリポジトリで定義した接続プールに指定されているデータソース名と同じになるように、データベースにエントリを作成します。DriverパラメータをデータベースのネイティブODBCドライバのファイル名および場所に設定します。ファイル名には、オペレーティング・システムに適したライブラリ接尾辞を付けます(たとえば、SolarisおよびAIXには.so、HP-UXには.slを付けます)。
次の例では、SolarisでのTeradataデータソースの詳細を示します。データソース名はTerav502です。

[Terav502]
Driver=/usr/odbc/drivers/tdata.so
Description=NCR 3600 running Teradata V2R5.2
DBCName=172.20.129.42
LastUser=
Username=
Password=
Database=
DefaultDatabase=name_of_target_database_or_user

DefaultDatabaseパラメータを空のままにできるのは、管理ツールでこのデータソースに対して「接続プール」ダイアログの「一般」タブでオプション「完全修飾表名が必要」を選択した場合のみです。

8. さらに、odbc.iniファイルの[ODBC Data Sources]セクションに、データソースに適した詳細を指定したエントリを追加します。次の例では、Teradataデータソースの詳細を示します。データソース名はTerav502です。

Terav502=tdata.so

9. 管理ツールを使用して、リポジトリを開き、適切な物理データベース用に接続プールのデータソース名として作成した新しいDSNを追加します。詳細は、「接続プールの作成または変更」を参照してください。

10. Oracle BIサーバーを再起動します。

LinuxおよびUNIXでのOracle TimesTen In-Memory Databaseの設定

Oracle TimesTen In-Memory Databaseデータ・ソースを設定するには、まず「TimesTenデータ・ソースの構成」の説明に従って、TimesTenデータ・ソースを設定します。LinuxおよびUNIXシステムの場合の正しい手順を確認するには、「ネイティブODBCドライバを使用したデータベース接続の構成」の手順4を参照してください。

次に、「TimesTenデータ・ソースでのシステム・メモリー・リソースの使用の向上」で説明しているベスト・プラクティスを確認し、必要に応じてそれらを実装します。

最後に、OPMNを起動するユーザーが、オペレーティング・システムのLD_LIBRARY_PATH変数(HP-UXではSHLIB_PATH、AIXではLIBPATH)にTimesTen DLL ($TIMESTEN_HOME/lib)へのパスを設定していない場合、opmn.xmlファイルの変数としてTimesTen DLLパスを追加する必要があります。

opmn.xmlを更新してLinuxおよびUNIXのTimesTen変数を含める手順は、次のとおりです。

1. 編集するためにopmn.xmlを開きます。opmn.xmlは次の場所にあります。

ORACLE_INSTANCE/config/OPMN/opmn/opmn.xml

2. Oracle BIサーバー・プロセスのias-componentタグを探します。例:

<ias-component id="coreapplication_obis1" inherit-environment="true">

3. 次の例のように、Oracle BIサーバーのias-componentタグの下で、必要なTimesTen変数TIMESTEN_DLLを追加し、LD_LIBRARY_PATH変数(または同等のもの)も更新します。例の値を、TimesTenクライアント用の正しいパスに置き換えてください。

<ias-component id="coreapplication_obis1" inherit-environment="true">
<environment>
...
<variable id="TIMESTEN_DLL" value="$TIMESTEN_HOME/lib/libttclient.so" />
<variable id="LD_LIBRARY_PATH" value="$TIMESTEN_HOME/lib:$ORACLE_HOME/
bifoundation/server/bin$:$ORACLE_HOME/bifoundation/web/bin$:
$ORACLE_HOME/clients/epm/Essbase/EssbaseRTC/bin$:" append="true" />
...
</environment>

4. ファイルを保存して閉じます。

5. OPMNを再起動します。

6. Oracle BIサーバー・プロセスを実行している各コンピュータで前述の手順を繰り返します。同じコンピュータで複数のOracle BIサーバー・インスタンスを実行している場合は必ず、opmn.xmlで各インスタンスについてias-componentタグを適切に更新してください(例: ias-component id="coreapplication_obis1"、ias-component id="coreapplication_obis2"など)。

AIX UNIXでのOracle RPAS ODBCデータソースの構成

Oracle BIサーバーをAIX UNIXプラットフォームで実行している場合、Oracle RPAS ODBCデータソースにアクセスできます。このデータベース接続を構成するには、最初にodbc.iniファイルを更新して、Oracle RPAS ODBCデータソースを構成します。次に、rdaadminツールを使用して、実行時に正規化されないようにディメンション表を定義します。

Windows上でOracle RPAS ODBCデータソースを構成する方法の詳細は、「Oracle RPASデータ・ソースの設定」を参照してください。

AIX UNIXでデータソースとしてOracle RPAS ODBCを構成するには:

1. 別のTelnetセッションとしてログオンします。

2. odbc.iniファイルを開きます。このファイルは次の場所にあります。

ORACLE_INSTANCE/bifoundation/OracleBIApplication/coreapplication/setup/odbc.ini

3. RPASデータソースのセクションで、値を編集します。例:

[RPAS Sample]
Data Source Name=RPAS Sample
Driver=[client RPASClient/lib/raix/oaodbc.so
DriverUnicodeType=1
Description=OpenRDA DSN

指定した「Data Source Name」は、次の手順のステップ3でDATABASE:に対して入力される値と一致する必要があります。また、前の例で示したように、「DriverUnicodeType=1」の行を追加する必要があります。

rdaadminクライアント・ツールを使用して、実行時に正規化されないようにディメンション表を定義するには:

1. 次の場所でrdaadminクライアント・ツールを検索します。
/bin/rdaadmin

2. 次のコマンドを入力して、rdaadminクライアント・ツールを実行します。
rdaadmin

3. プロンプトが表示されたら、次のように適切なテキストを入力します。
DATABASE: [Oracle_RPAS_database_name]

データベース名は、前のタスクで「Data Source Name」に指定した名前と一致している必要があります(たとえば、RPAS Sample)。

ADDRESS: [ip_address]

PORT: [port_number]

ポート番号の値の例は1707です。

CONNECT_STRING: [NORMALIZE_DIM_TABLES=NO]

この値は、ディレクトリ表を実行時に正規化されないように処理します。

TYPE: []

SCHEMA_PATH: []

REMARKS: []

4. RPAS環境変数OPENRDAは、UNIX上のOracle BIサーバー・セッションで宣言される必要があります。たとえば、64ビットのrdaadminクライアント・ツールを使用して、この変数を次のように宣言します。

OPENRDA_INI=/rpasclient64/config/raix/openrda.ini export OPENRDA_INI

LinuxおよびUNIXでのEssbaseデータソースの構成

Oracle BIサーバーは、Essbaseクライアント・ライブラリを使用してEssbaseデータ・ソースに接続します。Essbaseクライアント・ライブラリは、デフォルトでOracle BI Enterprise Editionとともにインストールされます。Oracle BI Enterprise Editionの完全なインストールに対してEssbaseデータ・ソースのアクセスを有効化するために追加の構成は必要ありません。

ただし、HP-UX Itaniumシステムでは、次の追加の手順も必要です。

1. ESSLANGおよびLANGを定義します。
例:

ESSLANG=English_UnitedStates.UTF-8@Binary
export ESSLANG
LANG=en_US.utf8
export LANG

2. NQSConfig.iniファイル内のLOCALE、SORT_ORDER_LOCALEおよびSORT_TYPEをコメント・アウトします。例:

[ GENERAL ]
// Localization/Internationalization parameters.
// LOCALE="English-usa";
// SORT_ORDER_LOCALE="English-usa";
// SORT_TYPE="binary";

IBM z/OSプラットフォームおよびs/390プラットフォームでのDB2 Connectの構成

IBM DB2 Connectは、自動接続解除のオプションを使用しているアプリケーションが中断要求を受信したときに、このオプションをサポートしません。

ネイティブ・データベースがDB2 Connectワークステーションを使用している場合、パラメータINTERRUPT_ENABLEDの設定を変更する必要があります。このパラメータは、データベースまたは任意のデータソースがz/OSプラットフォームまたはs/390プラットフォームを実行しているメインフレーム上のIBM DB2に常駐している場合、任意のOracle Business Intelligenceコンピュータで変更する必要があります。

注意:
IBM DB2を使用している場合、DB2 ConnectをOracle BIサーバーのコンピュータにインストールする必要があります。DB2 Connectのバージョンは、データソースとして構成された最新のDB2インスタンスと一致している必要があります。

INTERRUPT_ENABLEDパラメータを構成するには:

1. データベースのエイリアスがネイティブCLIデータソース名として使用されるように構成します。たとえば、DB2 Configuration Assistantを使用して新しいデータベース・エントリを作成します。

2. 作成したデータベースのエイリアスおよび実際のターゲットDB2データベースの名前を使用して、次の構文を使用してINTERRUPT_ENABLEDパラメータを設定します。

uncatalog dcs db local_dcsname
catalog dcs db local_dcsname as target_dbname parms \",,INTERRUPT_ENABLED\"

説明:

- local_dcsnameは、ホストまたはデータベースのローカル名を表します(データベースのエイリアス名)。

- target_dbnameは、ホスト・システム上またはデータベース・システム上のデータベースの名前を表します。

注意:
引用符を文字列の一部として渡すには、円記号(バックスラッシュ)を使用します。

次の例は、OS390 DB2インスタンスを使用しています。

uncatalog dcs db DB2_390
catalog dcs db DB2_390 as Q10B parms \",,INTERRUPT_ENABLED,,,,,\"
catalog database DB2_390 as DB2_390 at node NDE1EF20 authentication dcs

17 Oracle BIリポジトリ・ファイルの管理

この章では、Oracle BIリポジトリ・ファイルの管理(リポジトリの比較とマージ、オブジェクトの等化、メタデータの問合せと管理、リポジトリのパスワードの変更など)に関連する作業について説明します。

この章には次のトピックが含まれます:

- リポジトリの比較

- オブジェクトの等化

- リポジトリのマージ

- リポジトリ・メタデータの問合せおよび管理

- Oracle BIリポジトリのパスワードの変更

リポジトリの比較

この項では、2つの異なるリポジトリ内のすべてのリポジトリ・オブジェクトを比較する方法について説明します。

Oracle BI Applicationsのリポジトリを使用していて、その内容をカスタマイズ済の場合、この機能を使用してカスタマイズ済のリポジトリをOracle BI Applicationsを使用して受信した新しいバージョンのリポジトリと比較できます。

カスタマイズ済のOracle BI Applicationsのリポジトリを新しいバージョンのリポジトリとマージする方法の詳細は、「リポジトリのマージ」を参照してください。

この項には次のトピックが含まれます:

- 「比較」ダイアログを使用したリポジトリの比較

- comparerpdを使用したリポジトリの比較

- 比較モードをオフにする

「比較」ダイアログを使用したリポジトリの比較

この項では、管理ツールの「比較」ダイアログの使用方法について説明します。

2つのリポジトリを比較するには:

1. 管理ツールで、リポジトリをオフライン・モードで開きます。
この手順で開くリポジトリは、現行のリポジトリと呼ばれます。リポジトリを開く方法の指示については、「オンラインとオフラインのリポジトリ・モードの使用」を参照してください。

2. 「ファイル」メニューで、「比較」を選択します。

3. 「元のリポジトリの選択」ダイアログで、開いているリポジトリと比較するリポジトリを選択します。サブメニューから「リポジトリ」を選択してRPD形式のバイナリ・リポジトリ・ファイルを選択するか、「XML」を選択して一連のMDS XMLドキュメントを選択します。

4. オフラインで開くダイアログで、リポジトリ・パスワードを入力し、「OK」をクリックします。

5. 「リポジトリの比較」ダイアログを使用して、2つのリポジトリの相違点を確認します。図17-1に「リポジトリの比較」ダイアログを示します。

図17-1 「リポジトリの比較」ダイアログ

表17-1の「変更」列に値をリストし、説明します。

図17-1 「リポジトリの比較」ダイアログ: 「変更」列

変更

説明

作成済

オブジェクトは、現行のリポジトリに作成され、元のリポジトリには存在しません。

削除済

オブジェクトは、元のリポジトリには存在しますが、現行のリポジトリからは削除されました。

変更済

オブジェクトは、元のリポジトリには存在しますが、現行のリポジトリでは変更されました。

「変更済」とマークされているオブジェクトには、「名前(現行)」列の値が表示されます。この列と「名前(現行)」列を比べることで、オブジェクトが現行のリポジトリで名前変更をしたかどうかを一目で特定できます。

表17-2に、「リポジトリの比較」ダイアログにある一部のボタンをリストし、説明します。

図17-2 「リポジトリの比較」ダイアログ: ボタン

ボタン

説明

フィルタ

「比較フィルタ」ダイアログを開き、「リポジトリの比較」ダイアログに表示されるオブジェクトを変更のタイプやオブジェクトのタイプでフィルタ処理できるようにします。表示するオブジェクトおよび非表示にするオブジェクトを指定できます。「作成されたグループと削除されたオブジェクト」を選択すると、ツールは作成されたオブジェクトおよび削除されたオブジェクトの子オブジェクトをフィルタ・アウトして、親オブジェクトのみが表示されるようになります。デフォルトでは、すべての項目が表示されます。

検索

オブジェクトの「名前」および「タイプ」で検索します(「初期化ブロック」など)。

選択

現行のリポジトリと比較するリポジトリを選択できるようにします。サブメニューから「リポジトリ」を選択してRPD形式のバイナリ・リポジトリ・ファイルを選択するか、「XML」を選択して一連のMDS XMLドキュメントを選択します。

再検索

最新の「検索」値を再検索します。

差異

選択されたオブジェクトの現行のリポジトリと元のリポジトリの相違点です。

保存

2つのリポジトリの相違点のリストを保存します。相違点がCSVファイルに保存されます。

統計

変更タイプによる変更数を提供します。

1つ表示

元のリポジトリのオブジェクトを読取り専用モードで開きます。

編集2

現行のリポジトリのオブジェクトを読取り/書込みモードで開きます。

2つ表示

現行のリポジトリのオブジェクトを読取り専用モードで開きます。このボタンは、MUD履歴を表示している場合、または現行のリポジトリを読取り専用モードで開いている場合にのみ表示されます。

等化

「オブジェクトの等化」ダイアログを開き、オブジェクトのアップグレードIDの変更をモデル化できます。詳細は、「オブジェクトの等化」を参照してください。

パッチの作成

リポジトリ間の相違点を含むパッチ・ファイル (XML)を作成します。詳細は、「パッチ・マージの実行」を参照してください。

マーク

「リポジトリの比較」ダイアログを閉じ、リポジトリのレイヤーで作成済または変更済のオブジェクトにアイコンのオーバーレイを適用します。オブジェクトからアイコンのオーバーレイを削除するには、「ファイル」メニューから「比較モードをオフにする」を選択します。

「フィルタ」オプションを使用して「リポジトリの比較」ダイアログに表示されるオブジェクトをフィルタ処理して「マーク」ボタンを選択すると、フィルタ処理されたオブジェクトのみがリポジトリのレイヤーで強調表示されます。

comparerpdを使用したリポジトリの比較

comparerpdユーティリティを使用してリポジトリを比較し、パッチ・ファイルを作成することもできます。この機能は、管理ツールを使用できないLinuxシステムおよびUNIXシステムで、リポジトリを比較したり、パッチを生成する場合に特に便利です。compareユーティリティは、WindowsシステムとUNIXシステムの両方で使用できます。

comparerpdユーティリティを実行する場合、システムはリポジトリ・オブジェクトも等化します。等化のプロセスはmy_current_rpd_equalized.rpdファイルを出力します。この情報ファイルには、比較したリポジトリ間の等化済の出力が含まれます。等化により、同一の完全修飾名を持つオブジェクトに、同一の一意の識別子(UID)が付与されます。名前が同一だがUIDが異なるオブジェクトは、自動的に更新され同一のUIDを持つようになります。つまり等化されます。オブジェクトの等化が不必要な場合でも、my_current_rpd_equalized.rpdファイルが生成されます。my_current_rpd_equalized.rpdファイルが、元のリポジトリの場所に保存されます。

comparerpdの実行前に、bi-initを実行して、適切に初期設定されたコマンド・プロンプトまたはシェル・ウィンドウを起動する必要があります。詳細は、「Oracleインスタンスに初期化したシェル・ウィンドウを起動するためのbi-initの実行」を参照してください。

構文

comparerpdユーティリティは次のパラメータを取ります。

comparerpd [-P modified_rpd_password] -C modified_rpd_pathname
[-W original_rpd_password] -G original_rpd_pathname {-O output_csv_file_name |
-D output_patch_file_name | -M output_mds_xml_directory_name} -A -E -8

説明:

-P modified_rpd_passwordは、変更済リポジトリのリポジトリ・パスワードで、カスタマ・リポジトリまたはカスタマイズ済リポジトリとも呼ばれます。

-C modified_rpd_pathnameは、変更済リポジトリの名前および場所です。

-W original_rpd_passwordは、元のリポジトリのリポジトリ・パスワードです。

-G original_rpd_pathnameは、元のリポジトリの名前および場所です。

-O output_csv_file_nameは、リポジトリ・オブジェクトの比較の出力を格納するcsvファイルの名前と場所です。

-D output_patch_file_nameは、2つのリポジトリ間の相違を格納するXMLパッチ・ファイルの名前と場所です。

-M output_mds_xml_directory_nameは、MDS XML形式で差異情報を格納する先の最上位レベルのディレクトリです。削除されたXMLファイルのリストは、最上位レベルのディレクトリの下のディレクトリ・ツリーに格納されていることに注意してください。

oracle\bi\server\base\DeletedFiles.txt

-Oを使用して出力CSVファイルを、-Dを使用してXMLパッチ・ファイルを、-Mを使用してMDS XMLディレクトリ・ツリーを指定することができます。複数の出力タイプを同時に指定することはできません。

パッチに接続プール・パスワードなどのパスワードが含まれている場合、そのパッチ・ファイルは、現行のリポジトリからリポジトリ・パスワードを使用して暗号化されています。現行のリポジトリ・パスワードは、事実上、そのパッチ・ファイルのパスワードになります。このパッチ・ファイル・パスワードが元のリポジトリのリポジトリ・パスワードと異なるときは、パッチを適用するときにそのパッチ・ファイル・パスワードを指定することが必要な場合があります。

-Aはオプションの引数で、XMLパッチ・ファイルに接続プールの暗号化されたパスワードが含まれないようにします。このパラメータは、-Dパラメータと組み合せて使用します。

-Eは、オプションの引数であり、式のテキストの比較にUIDが使用されるようになります。このパラメータを使用すると、名前が同じでもUIDが異なるオブジェクトに必ず同じUIDが割り当てられます。このアクションにより、作成済および削除済としてレポートされるのではなく、変更済としてオブジェクトが比較されます。-Eを指定しない場合、文字列が使用されます。

-8はUTF-8エンコーディングを指定します。

注意:
modified_rpd_passwordとoriginal_rpd_passwordの引数はオプションです。パスワード引数を入力しないと、コマンドを実行したときに、必要なパスワードの入力を求めるプロンプトが表示されます。セキュリティ侵害のリスクを最小化するために、パスワード引数をコマンドラインまたはスクリプトで入力しないことをお薦めします。これらのパスワード引数は下位互換性のみがサポートされ、将来のリリースで削除される予定です。スクリプトのために、パスワードを標準入力によって渡すことができます。

例:

comparerpd -C customer.rpd -G original.rpd -O diff.csv
Give password for customer repository: my_cust_password
Give password for original repository: my_orig_password

この例では、customer.rpdリポジトリとoriginal.rpdリポジトリからCSV形式のdiff.csvという比較差異ファイルを生成します。

comparerpd -C customer.rpd -G original.rpd -D my_patch.xml
Give password for customer repository: my_cust_password
Give password for original repository: my_orig_password

この例では、customer.rpdリポジトリとoriginal.rpdリポジトリからmy_patch.xmlというXMLパッチ・ファイルを生成します。

比較モードをオフにする

このオプションを使用すると、「リポジトリの比較」オプションおよびリポジトリのマージオプションを使用中にオブジェクトに適用したマークを削除できます。「比較モードをオフにする」オプションは、「ファイル」→「比較」アクションの間に「マーク」をクリックした後にのみ使用できます。マークされているリポジトリ・オブジェクトがない場合、このオプションは使用できません。

「比較モードをオフにする」オプションを有効にするには:

- 管理ツールで、「ファイル」→「比較モードをオフにする」を選択します。

オブジェクトの等化

同じ名前であってもアップグレードIDの異なる2つのリポジトリにオブジェクトがある場合、これらを同じオブジェクトとして処理する必要が生じる場合があります。これを実行するには、equalizerpdsユーティリティを使用して両方のオブジェク方に同じアップグレードIDを付けて、これらを等化します。または、マージ・プロセスの一部として、これらのオブジェクトを等化できます。

「オブジェクトの等化」ダイアログ(「リポジトリの比較」ダイアログから使用可能)を使用して、equalizerpdsユーティリティを実行した後のリポジトリの外観をプレビューすることもできます。

この項には次のトピックが含まれます:

- オブジェクトの等化について

- 「オブジェクトの等化」ダイアログの使用

- equalizerpdsユーティリティの使用

オブジェクトの等化について

管理ツールでオブジェクトのアップグレードIDを使用して各リポジトリ・オブジェクトの履歴が追跡されるため、オブジェクトの等化が必要になる場合があります。アップグレードIDは、各オブジェクトに一意の識別子です。アップグレードIDは、ユーザー・アクションのため、またはマージ中に変更される場合があります。変更が発生し、その後で比較が行われると、管理ツールでは、新しいアップグレードIDを新しいオブジェクトとして処理し、欠落した元のアップグレードIDを削除されたオブジェクトとして処理します。

たとえば、2つの同一のリポジトリがあるとします。一方のリポジトリで、プレゼンテーション列を削除し、これを再作成します。「リポジトリの比較」ダイアログを使用して2つのリポジトリを比較するとき、プレゼンテーション列に2つのエントリがあります。一方は古いオブジェクトを削除済として示し、もう一方は新しいオブジェクトを作成済として示します。「リポジトリの比較」ダイアログを使用しないと、管理ツールでは通常はオブジェクト名とプロパティのみを表示し、基礎となるアップグレードIDを表示しないため、この処理が行われたかどうかの判別が困難になります。

リポジトリをマージして変更を等化する前に、リポジトリに対してequalizerpdsユーティリティを実行することは非常に有効です。相反する変更(複製した列を名前変更する場合など)を等化すると、基礎のアップグレードIDがクリーンアップされ、マージ中の意図しない名前変更が回避されます。

オブジェクトを等化するとき、正規のオブジェクト名変更が異なるオブジェクトになるため、オブジェクトの名前変更の追跡が失われる場合があります。つまり、リポジトリ内で実行した意図的な名前変更によって異なるアップグレードIDに変更され、これに続くマージによって、名前変更されたオブジェクトが新しいオブジェクトとして誤って処理される場合があります。この状況を回避するには、意図的に名前変更したオブジェクトの変更前の名前と変更後の名前を名前変更マップ・ファイルに入力し、このファイルをユーティリティに渡します。equalizerpdsユーティリティによってこのファイル内の情報が使用され、名前変更された現行のオブジェクトで元のIDが使用されるようになります。

ヒント:
「リポジトリの問合せ」ダイアログを使用して、リポジトリ・オブジェクトのアップグレードIDを表示できます。これを実行するには、次の手順に従います。

1. 「ツール」→「リポジトリの問合せ」を選択します。

2. 問合せを実行します。詳細は、「リポジトリ・メタデータの問合せおよび管理」を参照してください。

3. 「列」をクリックします。

4. リストから「アップグレードID」を選択します。「検索」ボタンを使用して「アップグレードID」を検索できます。

5. 「OK」をクリックします。アップグレードIDを表示した新しい列が「結果」リストに表示されます。

「オプション」ダイアログの「一般」タブで「問合せリポジトリにアップグレードIDを表示」を選択していない場合は、列のオプションとして「アップグレードID」を使用できません。詳細は、「管理ツールのオプションの設定」を参照してください。

「オブジェクトの等化」ダイアログの使用

「オブジェクトの等化」ダイアログを使用すると、リポジトリでequalizerpdsユーティリティを実行した場合のリポジトリの外観をプレビューできます。「オブジェクトの等化」ダイアログは、同じ名前のオブジェクトに関する変更を比較する便利な方法を提供しますが、変更はいずれも永続しません。「オブジェクトの等化」ダイアログを大きなリポジトリに対して使用すると、非常に時間がかかる場合があります。

「オブジェクトの等化」ダイアログを表示して使用するには:

1. 管理ツールで、リポジトリをオフライン・モードで開きます。

2. 「ファイル」メニューで、「比較」を選択します。

3. 「元のリポジトリの選択」ダイアログで、開いているリポジトリ(通常、元のリポジトリ)と比較するリポジトリを選択します。サブメニューから「リポジトリ」を選択してRPD形式のバイナリ・リポジトリ・ファイルを選択するか、「XML」を選択して一連のMDS XMLドキュメントを選択します。

4. オフラインで開くダイアログで、リポジトリ・パスワードを入力し、「OK」をクリックします。「リポジトリの比較」ダイアログが表示されます。

5. 「等化」をクリックし、「オブジェクトの等化」ダイアログを表示します。

6. 「オブジェクトの等化」ダイアログに、異なるアップグレードIDを持つオブジェクトを同じオブジェクトとして見なす必要がある変更のリストが表示されます。次のオプションを使用して、変更を等化する方法をモデル化できます。

- 同じ名前のオブジェクトに関する変更を自動的に等化するには、「自動」をクリックします。この変更は、「等化済」表に表示されます。
等化できる変更がない場合、表には何も表示されず、「OK」ボタンは無効のままになります。

- 「削除済」リストでオブジェクトを選択し、「作成」リストで対応するオブジェクトを選択し、「追加」または「プラスの追加」をクリックしてオブジェクトを等化します。「プラスの追加」をクリックすると、該当のオブジェクトおよびその子オブジェクトが「等化済」表に追加されます。「追加」をクリックすると、選択したオブジェクトのみが追加されます。たとえば、「サブジェクト・エリア」を選択して、「プラスの追加」をクリックすると、基礎の「プレゼンテーション」表および「プレゼンテーション」列も追加されます。
手動選択すると、「自動」ボタンは無効になります。

- 「等化済」表で行を選択し、「削除」または「すべて削除」をクリックして、「等化済」表からオブジェクトを削除します。「すべて削除」をクリックすると、該当のオブジェクトおよびその子オブジェクトが削除されます。「削除」をクリックすると、選択したオブジェクトのみが削除されます。
すべての手動選択が削除されると、「自動」ボタンは有効になります。

7. 変更のモデル化を終了したら「OK」をクリックします。変更が「リポジトリの比較」ダイアログに表示されますが、この変更は、ダイアログを閉じた後には存続しません。

図17-2 「オブジェクトの等化」ダイアログ

equalizerpdsユーティリティの使用

equalizerpdsユーティリティを使用して、2つの異なるリポジトリにあるオブジェクトのアップグレードIDを等化できます。複数のオブジェクトが同じアップグレードIDを持っている場合、これらは同じオブジェクトと見なされます。このユーティリティは、第1のリポジトリ(通常、元のリポジトリ)のアップグレードIDを2番目のリポジトリ(通常、変更済リポジトリ)のアップグレードIDと比較します。次に、元のリポジトリのアップグレードIDを使用して、同じ名前のオブジェクトのアップグレードIDを等化します。

equalizerpdsユーティリティは、WindowsシステムとUNIXシステムの両方で使用できます。ただし、equalizerpdsは、RPD形式のバイナリ・リポジトリでのみ使用できます。

equalizerpdsの実行前に、bi-initを実行して、適切に初期設定されたコマンド・プロンプトを起動する必要があります。詳細は、「Oracleインスタンスに初期化したシェル・ウィンドウを起動するためのbi-initの実行」を参照してください。

構文

equalizerpdsユーティリティは次のパラメータを取ります。

equalizerpds [-B original_repository_password] -C original_repository_name
{-E modified_repository_password]|-G} -F modified_repository_name [-I input_UDML_script_name][-J rename_map_file]
[-O output_repository_name] [-R output_apply_result_file] [-U output_id_map_file][-Y equalStringSet]

説明:

Gは、変更されたリポジトリ・パスワードに元のリポジトリ・パスワードを使用することを指定します。

rename_map_fileは、名前変更され、等化するオブジェクトのリストを含むテキスト・ファイルです。形式は、次の列を含むタブ区切りファイルです。

TypeName     Name1     Name2

たとえば、Name1からName2に名前変更されたマップ・ファイルに論理列を含めるには、次のように入力します。

ATTRIBUTE     "BusinessModel"."Table"."Name1"     "BusinessModel"."Table"."Name2"

タブ区切りは正しくコピーされない場合があるため、ご使用のファイルの基盤としてこの例をカット・アンド・ペーストしないでください。正しいタブを指定した新しいファイルを作成してください。

有効なTypeName値の詳細は、「TypeNameの値について」を参照してください。

equalStringSetは、同一として処理する文字のセットです。

original_repository_password引数およびmodified_repository_password引数はオプションです。これらのパスワード引数を入力しないと、コマンドを実行したときにこれらのパスワードの入力を求めるプロンプトが表示されます(password1およびpassword2)。セキュリティ侵害のリスクを最小化するために、パスワード引数をコマンドラインまたはスクリプトで入力しないことをお薦めします。これらのパスワード引数は下位互換性のみがサポートされ、将来のリリースで削除される予定です。スクリプトのために、パスワードを標準入力によって渡すことができます。

例:

equalizedrpds -C original.rpd -F modified.rpd -O modified_equalized.rpd
password1: my_original_rpd_password
password2: my_modified_rpd_password

この例では、original.rpdがmodified.rpdと比較され、original.rpdのアップグレードIDを使用してアップグレードIDが等化されます。最終結果は、modified_equalized.rpdに書き込まれます。

注意:
完全パス名をリポジトリ・ファイル(入力ファイルと出力ファイルの両方)に入力にしてください(これらが異なるディレクトリにある場合)。

TypeNameの値について

表17-3に、使用可能なオブジェクト・タイプおよびTypeName用のこれらに対応する値を示します。

表17-3 TypeNameの値

オブジェクト・タイプ

TypeNameの値

データベース

DATABASE

接続プール

CONNECTION POOL

物理カタログ

CATALOG

物理スキーマ

SCHEMA

物理表示フォルダ

PHYSICAL DISPLAY FOLDER

物理表

TABLE

物理キー

TABLE KEY

物理外部キー

FOREIGN KEY

物理列

COLUMN

物理複合結合

JOIN

物理階層

HIERARCHY

物理レベル

PHYSICAL LEVEL

キューブ列

COLUMN

キューブ表

CUBE TABLE

LDAPサーバー

LDAP SERVER

カスタム認証者

CUSTOM AUTHENTICATOR

変数

VARIABLE

アプリケーション・ロール

SECURITY ROLE

ユーザー

USER

ユーザー・データベース・サインオン

USER DATABASE SIGNON

プロジェクト

PROJECT

ビジネス・モデル

SUBJECT AREA

論理ディメンション

DIMENSION

論理レベル

LEVEL

論理表示フォルダ

LOGICAL DISPLAY FOLDER

論理表

LOGICAL TABLE

論理ソース・フォルダ

LOGICAL SOURCE FOLDER

論理表ソース

LOGICAL TABLE SOURCE

論理列

ATTRIBUTE

論理結合

ROLE RELATIONSHIP

論理キー

LOGICAL KEY

論理外部キー

LOGICAL FOREIGN KEY

プレゼンテーション・カタログ

CATALOG FOLDER

プレゼンテーション表

ENTITY FOLDER

プレゼンテーション列

FOLDER ATTRIBUTE

プレゼンテーション階層

PRESENTATION HIERARCHY

プレゼンテーション・レベル

PRESENTATION LEVEL

カタログ・リンク

CATALOG LINK

ターゲット・レベル

CUSTOMER TYPE

リスト・カタログ

LIST CATALOG

修飾項目

QUALIFIED ITEM

修飾キー

QUALIFYING KEY

サンプリング表

SAMPLING TABLE

セグメンテーション・カタログ

SEGMENTATION CATALOG

リポジトリのマージ

管理ツールで「リポジトリ・マージ・ウィザード」を使用して、Oracle BIリポジトリをマージできます。リポジトリは、バイナリ(RPD)形式またはMDS XML形式でマージできます。次の3つのタイプのマージがあります。

- 完全なマージは、一般的に、2つの異なるリポジトリをマージする必要がある開発プロセス中に使用されます。管理ツールは、3方向マージ機能を提供します。この機能を使用すると、両方とも3番目の元のリポジトリから派生した2つのリポジトリをマージできます。完全なマージは、一方のリポジトリから他方のリポジトリにオブジェクトをインポートする場合も使用できます。

- パッチ・マージは、同じリポジトリの2つのバージョンの間の差を適用するときに使用されます。たとえば、開発バージョンのリポジトリから本番リポジトリに変更を適用するため、またはOracle BI Applicationsのリポジトリをアップグレードするためにパッチ・マージを使用する必要があります。

- マルチユーザー開発マージは、マルチユーザー開発環境を使用して変更をプロジェクトに公開する際に使用されます。詳細は「マルチユーザー開発のマージ・プロセスについて」を参照してください。

リポジトリ・オブジェクトのマージ方法の詳細は、付録D「マージ・ルール」も参照してください。

この項には次のトピックが含まれます:

- 完全なリポジトリ・マージの実行

- パッチ・マージの実行

完全なリポジトリ・マージの実行

管理ツールを使用して、異なるリポジトリをマージできます。この項では、管理ツールで完全な(標準)リポジトリ・マージ機能を使用する方法について説明します。

この項には次のトピックが含まれます:

- 完全なリポジトリ・マージについて

- 共通の親を使用した完全なリポジトリ・マージの実行

- 共通の親を使用しない完全なリポジトリ・マージの実行

完全なリポジトリ・マージについて

マージ・プロセスには、一般的に次の3つのバージョンのOracle BIリポジトリが関与しています。元の リポジトリ、変更済リポジトリおよび現行のリポジトリです。元のリポジトリとは元の未編集リポジトリ(親リポジトリ)ですが、変更済(修正済)リポジトリと現行リポジトリは、変更が加えられマージを必要とする2つのリポジトリです。現行のリポジトリは、管理ツールで現在開いているリポジトリです。

マージ・プロセス中、管理ツールは、現行のリポジトリを使用して、元のリポジトリを変更済リポジトリおよび現行のリポジトリと比較します。2つの比較の結果、競合する変更があると、競合が発生します。たとえば、変更済リポジトリでオブジェクトAをBに名前変更したが、現行のリポジトリでオブジェクトAをCに名前変更すると、競合が発生します。

リポジトリのマージ機能を使用すると、オブジェクト・ベースで最終的なマージ・リポジトリで維持する変更を決定できます。競合がない場合、マージは自動的に実行されます。

完全なマージには、次の2つのタイプがあります。

- 共通の親。このマージは、3方向マージと呼ばれ、共通の親リポジトリおよび2つの派生リポジトリがある場合に便利です。1つの親(元の)リポジトリと2つの派生リポジトリがあります。マージ後、4番目のマージ済リポジトリが作成されます。
図17-3の例では、バイナリ(RPD)リポジトリをマージしていると想定していますが、MDS XMLリポジトリでこのタイプのマージを実行することもできます。

図17-3 バイナリ・リポジトリでの共通の親を使用した完全なマージの例

- 共通の親なし。このマージは、2方向マージとも呼ばれ、一方のリポジトリから他方のリポジトリにオブジェクトをインポートする場合に便利です。この場合、共通の親を持たない2つの異なるリポジトリのオブジェクトがマージされます。これを実行するには、管理ツールで、完全に空のリポジトリを元のリポジトリとして指定して3方向マージを実行します(図17-4を参照)。この機能は、以前のリリースで廃止された「リポジトリからのインポート」機能の置換えです。
図17-4の例では、バイナリ(RPD)リポジトリをマージしていると想定していますが、MDS XMLリポジトリでこのタイプのマージを実行することもできます。

図17-4 バイナリ・リポジトリでの共通の親を使用しない完全なマージの例

共通の親を使用した完全なリポジトリ・マージの実行

この項では、管理ツールを使用して、共通の親を使用した完全なリポジトリ・マージを実行する方法について説明します。一般的に、この方法は、元の親リポジトリがあり、変更済の2つのリポジトリ・バージョン(現行のバージョンおよび変更済バージョン)にあるオブジェクトに対して実行された変更をマージする場合に使用されます。現行のリポジトリに存在しないオブジェクトが新しいオブジェクトとして作成されます。

共通の親を使用して、2つのバージョンのOracle BIリポジトリをマージする手順は、次のとおりです。

1. 管理ツールで、現行のリポジトリをオフライン・モードで開きます。

2. 管理ツールのメニューで、「ファイル」→「マージ」を選択します。「リポジトリ・マージ・ウィザード」が表示されます。
図17-5に「リポジトリ・マージ・ウィザード」を示します。

図17-5 「リポジトリ・マージ・ウィザード」: 「入力ファイルの選択」画面(完全なマージ)

3. 「入力ファイルの選択」画面で、「マージ・タイプ」に「完全なリポジトリ・マージ」を選択します。

4. 「元のマスター・リポジトリ」の横にある「選択」をクリックして元の親リポジトリを選択します。サブメニューから「リポジトリ」を選択してRPD形式のバイナリ・リポジトリ・ファイルを選択するか、「XML」を選択して一連のMDS XMLドキュメントを選択します。
バイナリ・リポジトリの場合は、元のリポジトリを参照して選択し、「開く」をクリックします。MDS XML形式のリポジトリの場合は、「フォルダの参照」ダイアログを使用して、MDS XMLドキュメントのルート・フォルダの場所を選択し、「OK」をクリックします。

5. 適切な「リポジトリ・パスワード」フィールドに元のリポジトリのパスワードを入力します。

6. 「修正済リポジトリ」の横にある「選択」をクリックして変更済リポジトリを選択します。サブメニューから「リポジトリ」を選択してRPD形式のバイナリ・リポジトリ・ファイルを選択するか、「XML」を選択して一連のMDS XMLドキュメントを選択します。
バイナリ・リポジトリの場合は、変更済リポジトリを参照して選択し、「開く」をクリックします。MDS XML形式のリポジトリの場合は、「フォルダの参照」ダイアログを使用して、MDS XMLドキュメントのルート・フォルダの場所を選択し、「OK」をクリックします。

7. 適切な「リポジトリ・パスワード」フィールドに変更済リポジトリのパスワードを入力します。

8. オプションで、「マージ済リポジトリに名前を付けて保存」フィールドの横にある「選択」をクリックして、保存済(マージ済)リポジトリのデフォルトの名前および場所を変更できます。サブメニューから「リポジトリ」を選択してマージ済リポジトリをRPD形式のバイナリ・リポジトリ・ファイルとして保存するか、「XML」を選択してマージ済リポジトリを一連のMDS XMLドキュメントとして保存します。
バイナリ・リポジトリの場合は、新しい名前と場所を指定して、「保存」をクリックします。MDS XML形式のリポジトリの場合は、「フォルダの参照」ダイアログを使用して、MDS XMLドキュメントのルート・フォルダの場所を選択し、「OK」をクリックします。

9. マージする前に、変更を等化して基礎のオブジェクトIDをクリーンアップすることをお薦めします。変更を等化していない場合、「マージ中に等化」を選択して、マージ・プロセスの一部としてオブジェクトを等化します。このオプションを選択すると、マージのパフォーマンスに影響する場合があります。
等化の詳細は、「オブジェクトの等化」を参照してください。

10. 「次へ」をクリックします。競合がある場合、「リポジトリ・マージ・ウィザード」の「マージ戦略の定義」画面が表示されます。競合がない場合、「リポジトリ・マージ・ウィザード」は閉じます。
図17-6に、「マージ戦略の定義」画面を示します。

図17-6 「リポジトリ・マージ・ウィザード」: 「マージ戦略の定義」画面

11. 「マージ戦略の定義」画面には、このマージの競合を示すデシジョン表が表示されます。この画面の要素の詳細は、表17-4を参照してください。
マージ済リポジトリにオブジェクトを含めるか、またはここからオブジェクトを除外するかを決定するには、「デシジョン」リストで、「現行」または「変更済」を選択します。「現行」を選択して現行のリポジトリにある選択したオブジェクトに対する変更を保持するか、または「変更済」を選択して変更済リポジトリにある選択したオブジェクトに対する変更を保持します。

デシジョン表でオブジェクトを選択すると、デシジョン表の下の読取り専用のテキスト・ボックスに、現行のリポジトリでそのオブジェクトに対して行われた変更の説明が表示されます。さらに、ダイアログの下部のツリー・パネルに、選択した行に関して影響を受けるオブジェクトが表示されます。また、ツリー・ビューの1つでオブジェクトを選択して、デシジョン表の対応する行を自動的にハイライト表示にできます。

「デシジョン」リストの「変更済」オプションには、問題のオブジェクトをマージ済リポジトリに追加するか、またはマージ済リポジトリから削除するかを示す接尾辞が表示されます。「変更済(A)」はこのオブジェクトが追加されることを示し、「変更済(D)」はこのオブジェクトが削除されることを示します。

競合のタイプは、「競合」表の「説明」列に表示されます。選択できる決定は、この列に表示される競合のタイプによって異なります。次のリストに、様々なタイプの競合に対する結果の例を示します。

- 現行に追加されました: 「現行」を選択すると、新しいオブジェクトがマージ済リポジトリに保持されます。「変更済(D)」を選択すると、新しいオブジェクトがマージ済リポジトリから削除されます。

- 現行から削除: 「現行」を選択すると、リポジトリはそのままです(オブジェクトはマージ済リポジトリに追加されません)。「変更済(A)」を選択すると、オブジェクトがマージ済リポジトリに戻されます。

- 両方で変更(異なる): オブジェクトは、追加も削除もされませんでしたが、少なくともプロパティの1つが変更されました。行の左側のプラス記号(+)をクリックして、変更されたプロパティ、および元のバージョン、現行バージョン、ならびに変更済バージョンのリポジトリにおける変更されたプロパティの値を表示します。プロパティの値は、短い文字列のみで表示されます。説明、機能、init文字列などの長い文字列は表示されません。
マージ済バージョンのリポジトリに保持する値のオプションをクリックします。エイリアスなど一部のプロパティでは、「選択内容のマージ」オプションを選択して、1つずつ選択するのではなくプロパティをマージできます。このオプションは、プロパティをマージできる場合のみ使用できます。

注意:
通常、「変更済」リポジトリに追加したオブジェクトまたはここから削除したオブジェクトに関して、マージ・デシジョンを行う必要はありません。ただし、このマージの変更統計を表示して、「変更済」に追加したオブジェクトやここから削除したオブジェクトなどの変更のサマリーを確認できます。この機能の詳細は、表17-4を参照してください。

マージ・デシジョンを行うと、表内のそのデシジョンの行が赤から黒に変わります。すべての行に「デシジョン」フィールドの値が含まれると、「終了」ボタンが有効になります。

12. マージ・デシジョンの実行に加えて、「マージ戦略の定義」画面では別の操作を実行できます。詳細は、表17-4を参照してください。

13. 「終了」をクリックします。

図17-4に、「マージ戦略の定義」画面の要素をリストし、説明します。

図17-4 「マージ戦略の定義」画面の要素

要素

説明

「競合」表

「競合」表には、次の列があります。

- タイプ: 競合があるオブジェクトのタイプ(たとえば、「プレゼンテーション列」)。

- 名前: 競合があるオブジェクトの名前。

- 説明: 競合の理由(「現行に追加されました」など)。様々な競合タイプの説明は、前の手順を参照してください。

- デシジョン: マージ済リポジトリに保持する変更に応じてデシジョン(「現行」、「変更済(A)」、「変更済(D)」、「プロパティ別」など)を選択します。様々なデシジョンの結果の説明は、前の手順を参照してください。

各リポジトリで変更されるプロパティを持つオブジェクトの場合、変更されるプロパティの詳細を含むサブ表(グリッド)が表示されます。このグリッドには、次の列が含まれます。

- プロパティ: 各リポジトリで変更されたプロパティの名前。

- オリジナル: 元のリポジトリにあるプロパティの値。

- 変更済: 変更済リポジトリにあるプロパティの値。この値を保持するには、このオプションを選択します。

- 現行: 現行のリポジトリにあるプロパティの値。この値を保持するには、このオプションを選択します。

- 選択内容のマージ: エイリアスなど一部のプロパティでは、このオプションを選択して、いずれかを選択するのではなく、プロパティ値をマージできます。

修飾名の表示

これを選択すると、デシジョン表にあるオブジェクトの完全修飾名が表示されます(「Paint」...「Month Year Ago fact」など)。

注意: 「修飾名の表示」オプションが選択されている場合、オブジェクト名の一部が長すぎて、デシジョン表のセルに入らない場合があります。省略された名前の上にマウスを移動して、オブジェクトまたはプロパティの完全な名前を表示します。あるいは、手動で列のサイズを変更するか、または列セパレータをダブルクリックして列をオブジェクト名の幅に広げます。

マージされたRPDの整合性のチェック

これを選択すると、マージ済ファイルが保存される前に整合性のチェックが実行されます。

ファイルへのデシジョンの保存

リポジトリ・サブディレクトリにある一時的な変更を含むファイルを保存し、マージに関する作業を停止し、後で継続できるようにします。変更(デシジョン)を保存した後、「取消」をクリックして、リポジトリのマージダイアログを閉じます。

注意: デシジョンの数が多い場合、マージ・デシジョンをCSVファイルに保存し、このファイルをExcelまたはテキスト・エディタで開き、マージ・デシジョンを手動で変更することにより、時間を節約できます。次に、更新したマージ・デシジョン・ファイルを「マージ戦略の定義」画面でロードするか、そのデシジョン・ファイルをpatchrpdの引数として含めることができます。

デシジョン・ファイルのロード

保存したデシジョン・ファイルをリポジトリ・サブディレクトリからロードし、リポジトリのマージ処理を続行できるようにします。

このオプションは、特に、patchrpdを使用した自動パッチ・マージの実行後に競合を解決する際に役立ちます。詳細は、「patchrpdを使用したパッチの適用」を参照してください。

名前またはタイプによる検索

オブジェクトの「名前」および「タイプ」で検索します(「初期化ブロック」など)。

再検索

最新の「検索」値を再検索します。

変更統計の表示

このマージの統計(変更済リポジトリから削除されたオブジェクトの数、両方のリポジトリで変更されたオブジェクトの数など)を表示します。

Details

別のウィンドウのデシジョン表の下の読取り専用のテキスト・ボックスにテキストを表示します。

元の/変更済/現行のリポジトリの表示

選択したリポジトリで影響を受けるオブジェクトのプロパティを表示します。

共通の親を使用しない完全なリポジトリ・マージの実行

この項では、管理ツールを使用して、共通の親を使用せずに完全なリポジトリ・マージを実行する方法について説明します。この方法は、あるリポジトリ(変更済リポジトリ)から別のリポジトリ(現行のリポジトリ)にオブジェクトをインポートする場合に使用します。

注意:
現行のとして定義することを選択したリポジトリでは、「プレゼンテーション」レイヤーは、「物理」レイヤーまたは「ビジネス・モデルとマッピング」レイヤーの、保持するオブジェクトを参照します。「プレゼンテーション」レイヤーのオブジェクトによって参照されない現行のリポジトリのビジネス・モデル、データベースや接続プールなどのオブジェクトは、マージ中に廃棄されます。必要に応じて、マージを実行する前に、これらのオブジェクトを参照するプレースホルダ・サブジェクト・エリアを追加して、必要なオブジェクトが保持されるようにする必要がある場合があります。
マージ・プロセス中にどのオブジェクトが保持され、どのオブジェクトが廃棄されるかに関する詳細は、付録D「マージ・ルール」を参照してください。

共通の親を使用せずに、2つのバージョンのOracle BIリポジトリ・ファイルをマージするには:

1. マージで元のリポジトリとして使用する空のリポジトリ・ファイルがない場合、次のように作成します。

1. 管理ツールで、「ファイル」→「新規リポジトリ」を選択します。「新規リポジトリの作成」ウィザードが表示されます。

2. リポジトリの名前を入力します(たとえば、blank.rpd)。

3. 「メタデータのインポート」で、「いいえ」を選択します。

4. このリポジトリに使用するリポジトリ・パスワードを入力し、確認します。

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

2. 空のリポジトリを閉じます。

3. 現行のリポジトリをオフライン・モードで開きます。これは、インポートするオブジェクトを含むリポジトリです。

4. 管理ツールのメニューで、「ファイル」→「マージ」を選択します。「リポジトリ・マージ・ウィザード」が表示されます。

5. 「入力ファイルの選択」画面で、「マージ・タイプ」に「完全なリポジトリ・マージ」を選択します。

6. 「元のマスター・リポジトリ」の横にある「選択」をクリックし、「リポジトリ」をクリックします。次に、元のリポジトリとして空のリポジトリ・ファイルを参照して選択し、「開く」をクリックします。パスワード・フィールドは空のままにします。

7. 「修正済リポジトリ」の横にある「選択」をクリックして宛先リポジトリを選択します。サブメニューから「リポジトリ」を選択してRPD形式のバイナリ・リポジトリ・ファイルを選択するか、「XML」を選択して一連のMDS XMLドキュメントを選択します。
バイナリ・リポジトリの場合は、変更済リポジトリを参照して選択し、「開く」をクリックします。MDS XML形式のリポジトリの場合は、「フォルダの参照」ダイアログを使用して、MDS XMLドキュメントのルート・フォルダの場所を選択し、「OK」をクリックします。

これは、オブジェクトのインポート先のリポジトリです。

8. 適切な「パスワード」フィールドに変更済リポジトリのパスワードを入力します。

9. オプションで、「マージ済リポジトリに名前を付けて保存」フィールドの横にある「選択」をクリックして、保存済(マージ済)リポジトリのデフォルトの名前および場所を変更できます。サブメニューから「リポジトリ」を選択してマージ済リポジトリをRPD形式のバイナリ・リポジトリ・ファイルとして保存するか、「XML」を選択してマージ済リポジトリを一連のMDS XMLドキュメントとして保存します。
バイナリ・リポジトリの場合は、新しい名前と場所を指定して、「保存」をクリックします。MDS XML形式のリポジトリの場合は、「フォルダの参照」ダイアログを使用して、MDS XMLドキュメントのルート・フォルダの場所を選択し、「OK」をクリックします。

10. 「次へ」をクリックします。競合がある場合、「リポジトリ・マージ・ウィザード」の「マージ戦略の定義」画面が表示されます。競合がない場合、「マージ」ウィザードによってマージ・プロセスが継続され、終了すると自動的に閉じます。

11. 「マージ戦略の定義」画面には、このマージに関する競合を示すデシジョン表が表示されます。マージ済リポジトリにオブジェクトを含めるか、ここからオブジェクトを除外するかを決定するには、「デシジョン」リストで「現行」または「変更済」を選択します。デシジョン表でオブジェクトを選択すると、デシジョン表の下の読取り専用のテキスト・ボックスに、現行のリポジトリにあるそのオブジェクトに対して行われた変更の説明が表示されます。
「マージ戦略の定義」画面を確認するには、図17-6を参照してください。「マージ戦略の定義」画面の追加オプション(マージ・デシジョンのカンマ区切り形式(.csv)ファイルへの保存など)の詳細は、表17-4を参照してください。

マージ・デシジョンを行うと、表内のそのデシジョンの行が赤から黒に変わります。すべての行に「デシジョン」フィールドの値が含まれると、「終了」ボタンが有効になります。

12. 「終了」をクリックします。

パッチ・マージの実行

Oracle Business Intelligenceでは、リポジトリに対して行われた変更のみを含むXMLパッチ・ファイルを生成する機能が提供されています。このパッチを古い(元の)バージョンのリポジトリに適用し、新しいバージョンを作成できます。これは、開発から本番へのシナリオに関して非常に便利であり、Oracle BI Applicationsの顧客がリポジトリをアップグレードする場合にも使用できます。

この項では、2つのリポジトリ間の相違点を含むパッチを生成し、このパッチをリポジトリ・ファイルに適用する方法について説明します。

この項には次のトピックが含まれます:

- パッチ・マージについて

- リポジトリ・パッチの生成

- リポジトリ・パッチの適用

パッチ・マージについて

パッチ・マージでは、現行のリポジトリと元のリポジトリの間の相違点を含むパッチを作成します。次に、このパッチ・ファイルを変更済リポジトリに適用します。

開発から本番へのシナリオ。元の親リポジトリ、開発の最新変更が組み込まれた現行リポジトリ、および元のリポジトリのデプロイ済コピーである変更済リポジトリが存在します。

パッチを生成するには、現行のリポジトリを開き、元のリポジトリを選択し、次にパッチを作成します。

図17-7に、開発から本番へのシナリオでパッチを作成する方法を示します。図17-7の例では、バイナリ(RPD)リポジトリのパッチを作成していると想定していますが、MDS XMLリポジトリのパッチを作成することもできます。

図17-7 開発から本番: パッチの作成

パッチを適用するには、変更済リポジトリを開いて元のリポジトリを選択してパッチを適用します。

図17-8に、開発から本番へのシナリオでパッチを適用する方法を示します。図17-8の例では、バイナリ(RPD)リポジトリにパッチを適用していると想定していますが、MDS XMLリポジトリにパッチを適用することもできます。

図17-8 開発から本番: パッチの適用

Oracle BIアプリケーション・リポジトリのアップグレード・シナリオ。現行のリポジトリはオラクル社から出荷された最新バージョンのリポジトリで、元のリポジトリはオラクル社から出荷された元のリポジトリです。変更済リポジトリは元のリポジトリにユーザーによるカスタマイズが加えられたものです。

パッチを生成するには、現行のリポジトリを開き、元のリポジトリを選択し、次にパッチを作成します。

図17-9に、Oracle BI Applicationsのリポジトリ・アップグレード・シナリオでパッチを作成する方法を示します。図17-9の例では、バイナリ(RPD)リポジトリのパッチを作成していると想定していますが、MDS XMLリポジトリのパッチを作成することもできます。

図17-9 Oracle BI Applicationsのリポジトリ・アップグレード: パッチの作成

パッチを適用するには、変更済リポジトリを開いて元のリポジトリを選択してパッチを適用します。

図17-10に、Oracle BI Applicationsのリポジトリ・アップグレード・シナリオでパッチを適用する方法を示します。図17-10の例では、バイナリ(RPD)リポジトリにパッチを適用していると想定していますが、MDS XMLリポジトリにパッチを適用することもできます。

図17-10 Oracle BI Applicationsのリポジトリ・アップグレード: パッチの適用

リポジトリ・パッチの生成

管理ツールを使用して2つのリポジトリ間の相違点を含むパッチを生成します。

管理ツールを使用してパッチを生成するには:

1. 管理ツールで、現行のOracle BIリポジトリをオフライン・モードで開きます。つまり、パッチに入れる変更を含む更新済リポジトリを開きます。

2. 「ファイル」→「比較」を選択します。

3. 元の Oracle BIリポジトリを選択します。サブメニューから「リポジトリ」を選択してRPD形式のバイナリ・リポジトリ・ファイルを選択するか、「XML」を選択して一連のMDS XMLドキュメントを選択します。

4. オフラインで開くダイアログで、リポジトリ・パスワードを入力し、「OK」をクリックします。

5. パッチを生成する前に、変更を等化して基礎のオブジェクトIDをクリーンアップすることをお薦めします。詳細は、「オブジェクトの等化」を参照してください。

6. 「リポジトリの比較」ダイアログで、リポジトリ間の変更を確認します。次に、「パッチの作成」をクリックします。

7. 「パッチの作成」ダイアログで、パッチ・ファイルの名前(たとえば、my_patch.xml)を入力し、「保存」をクリックします。

パッチに接続プール・パスワードなどのパスワードが含まれている場合、そのパッチ・ファイルは、現行のリポジトリからリポジトリ・パスワードを使用して暗号化されています。現行のリポジトリ・パスワードは、事実上、そのパッチ・ファイルのパスワードになります。このパッチ・ファイル・パスワードが元のリポジトリのリポジトリ・パスワードと異なるときは、パッチを適用するときにそのパッチ・ファイル・パスワードを指定することが必要な場合があります。

comparerpdユーティリティを使用してコマンドラインでパッチを生成することもできます。詳細は、「comparerpdを使用したリポジトリの比較」を参照してください。

リポジトリ・パッチの適用

管理ツールを使用して2つのリポジトリ間の相違点を含むパッチを適用します。

大きなマルチユーザー・リポジトリから小さなサブセット抽出リポジトリにパッチを適用できます。この場合、サブセット内の変更のみがパッチから適用されます。

パッチを適用するには、次の手順に従います。

1. 管理ツールで、変更済のOracle BIリポジトリをオフライン・モードで開きます。つまり、パッチを適用するリポジトリを開きます。

2. 「ファイル」→「マージ」を選択します。「リポジトリ・マージ・ウィザード」が表示されます。

3. 「マージ・タイプ」で、「パッチ・リポジトリ・マージ」を選択します。

4. 「元のマスター・リポジトリ」の横にある「選択」をクリックして元の親リポジトリを選択します。サブメニューから「リポジトリ」を選択してRPD形式のバイナリ・リポジトリ・ファイルを選択するか、「XML」を選択して一連のMDS XMLドキュメントを選択します。
バイナリ・リポジトリの場合は、元のリポジトリを参照して選択し、「開く」をクリックします。MDS XML形式のリポジトリの場合は、「フォルダの参照」ダイアログを使用して、MDS XMLドキュメントのルート・フォルダの場所を選択し、「OK」をクリックします。

元のリポジトリは変更済(現在開いている)リポジトリと同じにはできません。

5. 元のリポジトリのリポジトリ・パスワードを入力します。

6. 「パッチ・ファイル」の横にある「選択」をクリックします。適用するパッチ・ファイルを参照して選択し、「開く」をクリックします。パッチ・ファイルはXML形式であることが必要です。

7. 多くの場合、パッチ・パスワードフィールドは空白のままでかまいません。パッチ・ファイル・パスワードを入力する必要があるのは、接続プール・パスワードなどオブジェクトのパスワードがパッチ・ファイルに含まれている場合と、そのパッチ・ファイル・パスワードが元のリポジトリ・パスワードとは異なる場合のみです。パッチ・ファイル・パスワードは、現行のリポジトリのパスワードと同じです。

8. オプションで、「マージ済リポジトリに名前を付けて保存」フィールドの横にある「選択」をクリックして、保存済(パッチ適用済)リポジトリのデフォルトの名前および場所を変更できます。サブメニューから「リポジトリ」を選択してマージ済リポジトリをRPD形式のバイナリ・リポジトリ・ファイルとして保存するか、「XML」を選択してマージ済リポジトリを一連のMDS XMLドキュメントとして保存します。
バイナリ・リポジトリの場合は、新しい名前と場所を指定して、「保存」をクリックします。MDS XML形式のリポジトリの場合は、「フォルダの参照」ダイアログを使用して、MDS XMLドキュメントのルート・フォルダの場所を選択し、「OK」をクリックします。

9. 「終了」をクリックします。

patchrpdを使用したパッチの適用

patchrpdユーティリティを使用してパッチを適用することもできます。この機能は、管理ツールを使用できないLinuxシステムおよびUNIXシステムでリポジトリのパッチ適用を行う場合に特に便利です。patchrpdユーティリティは、WindowsシステムとUNIXシステムの両方で使用できます。ただし、patchrpdは、RPD形式のバイナリ・リポジトリでのみ使用できます。

管理ツールのパッチ機能とは異なり、patchrpdには、競合に対して自動的にデフォルトのデシジョンを適用するオプションがあります。また、これは、すべての競合をデシジョン・ファイルに保存する機能も備えており、ユーザーは結果を調べて、追加の手動による変更が必要かどうかを判断できます。詳細は、「パッチ・プロセスを自動化するためのPatchrpdの使用方法」を参照してください。

patchrpdには、マージ・ルールのセットを選択して適用する機能もあります。デフォルトではパッチのマージ・ルールが使用されますが、オプションで完全な(アップグレード)マージ・ルールまたはマルチユーザー開発マージ・ルールを使用することを選択できます。

patchrpdを実行する前に、まずbi-initを実行し、Oracleインスタンスに対して初期化されたコマンド・プロンプトまたはシェル・ウィンドウを起動する必要があります。詳細は、「Oracleインスタンスに初期化したシェル・ウィンドウを起動するためのbi-initの実行」を参照してください。

構文

patchrpdユーティリティは次のパラメータを取ります。

patchrpd [-P modified_rpd_password] -C modified_rpd_pathname
[-Q original_rpd_password] -G original_rpd_pathname [-S patch_file_password]
-I patch_file_pathname [-S patch_file_2_password -I patch_file_2_pathname ...]
[-D input_decision_file_pathname] -O output_rpd_pathname
[-V output_decision_file_pathname] [-E] [-M mode] [-R] [-A] [-U] [-N] [-8]

説明:

-P modified_rpd_passwordは、変更済リポジトリのリポジトリ・パスワードで、カスタマ・リポジトリまたはカスタマイズ済リポジトリとも呼ばれます。

-C modified_rpd_pathnameは、変更済リポジトリの名前および場所です。

-Q original_rpd_passwordは、元のリポジトリのリポジトリ・パスワードです。

-G original_rpd_pathnameは、元のリポジトリの名前および場所です。

-S patch_file_passwordは、パッチ・ファイルのパスワードです。パッチ・ファイル・パスワードは、現行のリポジトリのパスワードと同じです。パッチ・ファイル・パスワードを入力する必要があるのは、接続プール・パスワードなどオブジェクトのパスワードがパッチ・ファイルに含まれている場合と、そのパッチ・ファイル・パスワードが元のリポジトリ・パスワードとは異なる場合のみです。

-I patch_file_pathnameは、適用するXMLパッチ・ファイルの名前と場所です。複数の-I引数(およびペアの-S引数も必要)を含めることで複数のパッチを適用できます。

-D input_decision_file_pathnameは、このパッチ・マージの動作に影響を与えるために使用するCSV形式のデシジョン・ファイルの名前と場所です。この引数は、オプションです。

-O output_rpd_pathnameは、生成するRPD出力ファイルの名前と場所です。

-V output_decision_file_pathnameは、CSV形式のデシジョン・ファイルの生成を可能にするオプションの引数です。デシジョン・ファイルは、マージによるすべての競合を示します。つまり、デシジョン・ファイルには、管理ツールのマージ・ウィザードの「マージ戦略の定義」画面に表示されるデシジョンがリストされます。デシジョン・ファイルは、ユーザーの入力によって影響を受ける可能性があるすべてのアイテムの記録を提供します。この引数は、-U引数とともに使用する必要があります。

-Eは、等化ステップのスキップを可能にするオプションの引数です。

-M modeは、マージのモードの変更を可能にするオプションの引数です。デフォルトでは、patchrpdはパッチ・モードで実行され、可能なかぎり多くの変更が警告なしで適用されます。モードについては、マルチユーザー開発マージのマージ・ルールを使用するにはmudを、完全なマージのマージ・ルールを使用するにはupgradeを指定します。様々なタイプのマージのルールの詳細は、付録D「マージ・ルール」を参照してください。

-Rは、論理列の整合性チェックをスキップするオプションの引数です。このオプションは、パッチ・ファイルに論理列から物理列へのマッピングが含まれていない場合に、パッチ・プロセスを高速化できます。

-Aは、マルチユーザー開発環境でサブセット・パッチをスキップし、かわりに入力リポジトリ・ファイルを使用してパッチを適用できるオプションの引数です。

-Uは、競合に対してデフォルトのデシジョンを自動的に適用して、patchrpdを正常に終了できるようにするオプションの引数です。このパラメータを含めない場合、競合が検出されると、patchrpdによって警告が表示されて終了します。

-Nは、すべての非致命的エラーを無視するために使用するオプションの引数です。非致命的エラーの例として、未解決のオブジェクト、重複したオブジェクト、壊れた式または不正確な式などがあります。

-8はUTF-8エンコーディングを指定します。

注意:
modified_rpd_password、original_rpd_passwordおよびpatch_file_passwordなどのすべてのパスワードの引数はオプションです。パスワード引数を入力しないと、コマンドを実行したときに、必要なパスワードの入力を求めるプロンプトが表示されます。セキュリティ侵害のリスクを最小化するために、パスワード引数をコマンドラインまたはスクリプトで入力しないことをお薦めします。これらのパスワード引数は下位互換性のみがサポートされ、将来のリリースで削除される予定です。スクリプトのために、パスワードを標準入力によって渡すことができます。

例:

patchrpd -C customer.rpd -G original.rpd -I patch.xml -O patched.rpd
-V decision.csv -U
Give password for customer repository: my_modified_rpd_password
Give password for original repository: my_original_rpd_password

この例では、patch.xmlというパッチがcustomer.rpdリポジトリに適用され、patched.rpdという出力リポジトリおよびdecision.csvという出力デシジョン・ファイルが生成されます。

注意:
すべてのファイル(リポジトリ・ファイルとXMLパッチ・ファイルを含む)のフルパス名を入力にしてください(これらが異なるディレクトリにある場合)。

リポジトリ・メタデータの問合せおよび管理

リポジトリ問合せを使用して、次の方法でリポジトリ・メタデータを管理できます。

- リポジトリの内部構造を調査して更新します。たとえば、名前、タイプ(「論理列」や「プレゼンテーション階層」など)、または名前とタイプの組合せに基づいて、リポジトリ内のオブジェクトを問い合せできます。次に、「結果」リストに表示されたオブジェクトを編集または削除できます。また、新しいオブジェクトを作成し、親階層を表示することもできます。

- リポジトリを問い合せ、論理ソースにマップされたすべての表、特定の物理列へのすべての参照、論理ソース用のコンテンツ・フィルタ、初期化ブロック、セキュリティ権限、ユーザー権限などの項目を示すレポートを表示します。
たとえば、リポジトリに影響を及ぼす可能性があるデータベース内の物理変更を行う前にレポートを実行する必要がある場合があります。レポートは、ファイルにカンマ区切り形式(CSV)またはタブ区切り形式で保存できます。

- 問合せを保存し、後で再実行できます。また、問合せ結果を外部ファイルに保存できます。外部ファイルに保存する場合、エンコーディング・オプションはANSI、UnicodeまたはUTF-8です。

この項には次のトピックが含まれます:

- リポジトリの問合せ

- 関連オブジェクトの問合せ

リポジトリの問合せ

「リポジトリの問合せ」ツールを使用してリポジトリのオブジェクトを問い合せできます。フィルタを作成して、結果のフィルタ処理、問合せの保存、以前に保存した問合せの実行、または新しいリポジトリ・オブジェクトの作成も実行できます。

リポジトリを問い合せるには:

1. 管理ツールで、リポジトリを開きます。

2. 「ツール」→「リポジトリの問合せ」を選択します。

3. 「リポジトリの問合せ」ダイアログで、表17-5をガイドとして使用して、問合せ情報をすべて入力します。

4. 「問合せ」をクリックします。

表17-5に、「リポジトリの問合せ」ダイアログで使用できるオプションをリストします。

表17-5 「リポジトリの問合せ」オプション

オプション

説明

名前

オブジェクト名で検索する場合にこのオプションを使用します。アスタリスク( * )ワイルドカード文字を使用して、任意の文字を指定できます。このワイルドカード文字は、検索文字列の最初または最後の文字を表すことができます。検索では、大文字と小文字は区別されません。

タイプ

リストからタイプを選択して、特定のタイプのオブジェクトに検索対象を絞り込むか、「すべてのタイプ」を選択して、すべてのオブジェクトを問い合せます。リストには、集計ルール、論理ソース・フォルダ、権限パッケージ、内部オブジェクトと見なされるその他のオブジェクトなどのオブジェクトは含まれていません。

フィルタ

問合せに対するフィルタを作成または編集するには、「フィルタ」をクリックします。フィルタを作成すると、このボタンの左側のボックスにフィルタ基準が表示されます。詳細は、「問合せ結果に対するフィルタの作成」を参照してください。

問合せ

問合せを送信する準備ができたら「問合せ」をクリックします。

問合せに名前を付けて保存

後で再実行するために問合せを保存するには、「問合せに名前を付けて保存」をクリックします。「問合せに名前を付けて保存」フィールドに保存する問合せの名前を入力し、「保存」をクリックします。

保存済問合せ

前に保存した問合せを表示または実行するには、「保存済問合せ」をクリックします。保存した問合せの削除も可能です。前に保存した問合せを実行するには、実行する問合せを含む行を選択し、「選択」をクリックするか、この行をダブルクリックします。

「保存済問合せ」オプションは、前に保存した問合せがある場合のみ使用できます。

編集

問合せの実行後、問合せ結果のリストにあるオブジェクトを編集するには、「結果」リストからオブジェクトを選択し、「編集」をクリックします。結果リストのすべてのリポジトリ・オブジェクトを編集できるわけではありません(たとえば、権限オブジェクトやユーザー・データベース・サインオン・オブジェクト)。結果リストのオブジェクトを編集できない場合、「編集」は使用できません。

削除

問合せの実行後、オブジェクトを削除するには、「結果」リストから1つ以上のオブジェクトを選択して「削除」をクリックします。削除の確認を行うと、メタデータ・リポジトリから該当のオブジェクトが削除されます。

新規

新しいリポジトリ・オブジェクトを作成するには、このオプションを使用します。まず、「タイプ」リストから作成するオブジェクトのタイプを選択し、次に「新規」をクリックします。このオプションは、「すべてのタイプ」を選択していると使用できません。

表示されるダイアログは、選択したオブジェクト・タイプによって異なります。詳細は、選択したオブジェクトを作成する方法について説明している各項を参照してください。

新しい論理ディメンションの作成を選択した場合、レベル・ベース階層でディメンションを作成するか、または親子階層でディメンションを作成するかを選択する必要があります。同様に、新しいOracle OLAP階層の作成を選択した場合、レベル・ベース階層の作成または値ベース階層の作成を選択する必要があります。

親の表示

問合せの実行後、オブジェクトの親階層を表示するには、「結果」リストでオブジェクトを選択し、「親の表示」をクリックします。オブジェクトに親がない場合、メッセージが表示されます。「親の表示」は、ユーザーまたはアプリケーション・ロールとともには使用できません。

「親階層」ダイアログでは、オブジェクトを編集または削除できます。このダイアログでオブジェクトを削除すると、選択したオブジェクトの子オブジェクトもすべて削除されます。

マーク

問合せの実行後、選択したオブジェクトにマークを付けるには、「結果」リストで1つ以上のオブジェクトを選択し、「マーク」をクリックします。オブジェクトのマークを取るには、オブジェクトを選択し、「マーク」を再クリックします。オブジェクトにマークを付けると、メタデータを作成するときに、視覚的な識別が簡単になります。

アイコンの設定

問合せを実行した後、オブジェクトに別のアイコンを選択するには、「結果」リストで1つ以上のオブジェクトを選択し、「アイコンの設定」をクリックします。オブジェクトに特定のアイコンを設定すると、共通の特性を持つオブジェクトを視覚的に識別できます。たとえば、特定のアイコンを選択し、特定のユーザー・グループのみが使用する列を識別できます。

元のアイコンに戻すには、オブジェクトを選択し、「アイコンの設定」を再クリックします。次に、「関連アイコンの削除」を選択し、「OK」をクリックします。

移動

問合せの実行後、リポジトリの管理ツール・ビューのオブジェクトに移動するには、「結果」リストで1つ以上のオブジェクトを選択して、「移動」をクリックします。選択したオブジェクトは、「物理」レイヤー、「ビジネス・モデルとマッピング」レイヤーまたは「プレゼンテーション」レイヤーにハイライト表示されます。

このオプションを選択すると、「リポジトリの問合せ」ダイアログは閉じます。

保存

問合せの実行後、問合せ結果を外部ファイルに保存するには、「保存」をクリックします。次に、「名前を付けて保存」ダイアログで、ファイルの名前、ファイル・タイプおよびエンコーディング値を入力し、「保存」をクリックします。

列

結果に情報の列を追加するには、「列」をクリックします。次に、リストから追加する列を選択し、「OK」をクリックします。「列の選択」ダイアログでは、チェックした列を選択し、「上へ」または「下へ」をクリックして、列を再順序付けできます。

「オプション」ダイアログの「一般」タブで「問合せリポジトリにアップグレードIDを表示」を選択し、結果の列として「アップグレードID」を有効化します。詳細は、「管理ツールのオプションの設定」を参照してください。

修飾名の表示

問合せで検出されたオブジェクトの完全修飾名を表示するには、このオプションを使用します。

たとえば、論理列を問い合せる場合、「結果」リストの「名前」列のデフォルト値は、列名です。ただし、「修飾名の表示」を選択した場合、「名前」リストの値はbusinessmodel.logicaltable.columnに変わります。

問合せ結果に対するフィルタの作成

「リポジトリ・フィルタの問合せ」ダイアログを使用して、「リポジトリの問合せ」ダイアログの「結果」リストにある結果をフィルタ処理します。

「リポジトリ・フィルタの問合せ」ダイアログには、次の5つの列が含まれています。「項目」列およびその演算子列または選択列、「値」列およびその演算子列または選択列、ならびに選択したフィルタを削除する「削除」列です。

フィルタを作成するには:

1. 管理ツールで、「ツール」→「リポジトリの問合せ」を選択します。

2. 「リポジトリの問合せ」ダイアログで、「結果」リストの項目を選択するか、または「タイプ」リストから項目を選択し、「フィルタ」をクリックします。

3. 「リポジトリ・フィルタの問合せ」ダイアログで、「項目」フィールドをクリックします。「項目」リストには、フィルタ処理できる項目が含まれています。
「オプション」ダイアログの「一般」タブで「問合せリポジトリにアップグレードIDを表示」を選択し、「アップグレードID」によるフィルタを有効化します。詳細は、「管理ツールのオプションの設定」を参照してください。

4. 「項目」リストで、ステップ2で選択した「結果」または「タイプ」オブジェクトに適用するフィルタを選択します。必要に応じて、「値」列の情報を調整するか、またはこの列に情報を入力します。
複数のフィルタを作成できます。複数のフィルタを作成すると、「演算子」フィールドがアクティブになります。「演算子」フィールドがアクティブのとき、「AND」条件および「OR」条件を設定できます。

5. 「OK」をクリックして、「リポジトリの問合せ」ダイアログに戻ります。「フィルタ」ボタンの左側のボックスにフィルタが表示されます。

注意:
複雑なフィルタを作成している場合、各制約を追加してフィルタ構造が各制約に対して有効であることを確認してから「OK」をクリックする必要がある場合があります。

例17-1および例17-2に、異なる種類のフィルタを作成する方法を示します。

例17-1 ビジネス・モデルで参照されるデータベースをすべて表示

次の例は、特定のビジネス・モデルで参照されるデータベースをすべて表示するフィルタの作成方法を示します。

1. 「リポジトリの問合せ」ダイアログで、「タイプ」リストから「データベース」を選択し、「フィルタ」をクリックします。

2. 「リポジトリ・フィルタの問合せ」ダイアログで、「項目」フィールドをクリックし、「関連先」を選択します。

3. 「値」フィールドの右側の省略記号ボタンをクリックし、このリストで「オブジェクトの選択」を選択します。

4. 「選択」ダイアログで、フィルタ処理するビジネス・モデルを選択し、「選択」をクリックします。選択項目が「値」フィールドに表示されます。

5. 「OK」をクリックして、「リポジトリの問合せ」ダイアログに戻ります。「フィルタ」ボタンの左側のボックスにフィルタが表示されます。

6. 「問合せ」をクリックします。「結果」リストに、選択したビジネス・モデルが参照するデータベースが表示されます。

例17-2 論理列にマップされるプレゼンテーション列をすべて表示

次の例は、特定の論理列にマップされるプレゼンテーション列をすべて表示するフィルタの作成方法を示します。

1. 「リポジトリの問合せ」ダイアログで、「タイプ」リストから「プレゼンテーション列」を選択し、「フィルタ」をクリックします。

2. 「リポジトリ・フィルタの問合せ」ダイアログで、「項目」フィールドをクリックし、「列」を選択します。

3. 「値」フィールドの右側の省略記号ボタンをクリックし、このリストで「オブジェクトの選択」を選択します。

4. 「選択」ダイアログで、フィルタ処理する列を選択し、「選択」をクリックします。選択項目が「値」フィールドに表示されます。

5. 「OK」をクリックして、「リポジトリの問合せ」ダイアログに戻ります。「フィルタ」ボタンの左側のボックスにフィルタが表示されます。

6. 「問合せ」をクリックします。「結果」リストに、選択した論理列にマップされるプレゼンテーション列が表示されます。

例17-3 ネストされた問合せ

次の例は、フィルタ自身が別の問合せであるネストされた問合せを示します。

1. 「リポジトリの問合せ」ダイアログで、「タイプ」リストから「論理列」を選択し、「フィルタ」をクリックします。

2. 「リポジトリ・フィルタの問合せ」ダイアログで、「項目」フィールドをクリックし、「関連先」を選択します。

3. 「値」フィールドの右側の省略記号ボタンをクリックし、このリストで「物理列の条件の設定」を選択します。

4. 新しい「リポジトリ・フィルタの問合せ」ダイアログで、「項目」フィールドをクリックし、「ソース列」を選択します。

5. 「値」フィールドの右側の省略記号ボタンをクリックし、このリストで「オブジェクトの選択」を選択します。

6. 「参照」ダイアログで、ソース物理列(たとえば、列A)を選択し、「選択」をクリックします。

7. サブ問合せ条件の「リポジトリ・フィルタの問合せ」ダイアログで「OK」をクリックします。サブ問合せは、選択したソース列に対してすべてのエイリアスを問い合せます。

8. メイン問合せの「リポジトリ・フィルタの問合せ」ダイアログで、次の行の「項目」フィールドをクリックし、「関連先」を選択します。

9. 「値」フィールドの右側の省略記号ボタンをクリックし、このリストで「オブジェクトの選択」を選択します。

10. 「参照」ダイアログで、同じソース物理列(たとえば、列A)を選択し、「選択」をクリックします。

11. 「演算子」リストから、「OR」を選択します。

12. 「OK」をクリックして、「リポジトリの問合せ」ダイアログに戻ります。「フィルタ」ボタンの左側のボックスにフィルタが表示されます。

13. 「問合せ」をクリックします。「結果」リストに、列Aまたは列Aのエイリアスのいずれかに関連する論理列のリストが表示されます。

関連オブジェクトの問合せ

「問合せ関連オブジェクト」機能を使用すると、「物理」レイヤー、「ビジネス・モデルとマッピング」レイヤーまたは「プレゼンテーション」レイヤーから選択した1つ以上のオブジェクトと関連するオブジェクトの問合せを実行できます。

この機能は、同じレイヤーから選択したオブジェクトでのみ使用できます。たとえば、「物理」レイヤーのオブジェクトと「ビジネス・モデルとマッピング」レイヤーのオブジェクトの両方と関連するオブジェクトの問合せは実行できません。

選択したオブジェクトに関連するオブジェクトの問合せを実行するには:

1. 管理ツールで、リポジトリを開きます。

2. 単一のレイヤーから1つ以上の論理列を選択します(たとえば、「ビジネス・モデルとマッピング」レイヤーから一連の論理列)。選択したオブジェクトは、すべて同じタイプである必要があります。

3. オブジェクトを右クリックし、「問合せ関連オブジェクト」を選択します。

4. 右クリック・サブメニューから、オブジェクト・タイプを選択して特定のタイプのオブジェクトに検索を絞り込むか、または「すべてのタイプ」を選択してソース・オブジェクトに関連するオブジェクトすべての問合せを実行します。このソース・オブジェクト・タイプに対する問合せを前に行ったことがある場合、サブメニューの上部で、最近行った3つの問合せを使用できます。
オブジェクト・タイプを選択すると、「問合せ関連オブジェクト」ダイアログが表示され、「名前」リストにソース・オブジェクトに関連するオブジェクトが表示されます。

表17-6に、「リポジトリの問合せ」ダイアログで使用できるオプションをリストします。

図17-6 「問合せ関連オブジェクト」オプション

オプション

説明

マーク

選択したオブジェクトにマークを付けるには、「名前」リストで1つ以上のオブジェクトを選択し、「マーク」をクリックします。オブジェクトのマークを取るには、オブジェクトを選択し、「マーク」を再クリックします。オブジェクトにマークを付けると、メタデータを作成するときに、視覚的な識別が簡単になります。

アイコンの設定

オブジェクトに別のアイコンを選択するには、「名前」リストで1つ以上のオブジェクトを選択し、「アイコンの設定」をクリックします。オブジェクトに特定のアイコンを設定すると、共通の特性を持つオブジェクトを視覚的に識別できます。たとえば、特定のアイコンを選択し、特定のユーザー・グループのみが使用する列を識別できます。

元のアイコンに戻すには、オブジェクトを選択し、「アイコンの設定」を再クリックします。次に、「関連アイコンの削除」を選択し、「OK」をクリックします。

修飾名の表示

問合せで検出されたオブジェクトの完全修飾名を表示するには、このオプションを使用します。

たとえば、論理列を問い合せる場合、「名前」リストのデフォルト値は、列名です。ただし、「修飾名の表示」を選択した場合、「名前」リストの値はbusinessmodel.logicaltable.columnに変わります。

親の表示

オブジェクトの親階層を表示するには、「名前」リストでオブジェクトを選択し、「親の表示」をクリックします。オブジェクトに親がない場合、メッセージが表示されます。「親の表示」は、ユーザーまたはアプリケーション・ロールとともには使用できません。

「親階層」ダイアログでは、オブジェクトを編集または削除できます。このダイアログでオブジェクトを削除すると、選択したオブジェクトの子オブジェクトもすべて削除されます。

移動

リポジトリの管理ツール・ビューのオブジェクトに移動するには、「名前」リストで1つ以上のオブジェクトを選択して、「移動」をクリックします。選択したオブジェクトは、「物理」レイヤー、「ビジネス・モデルとマッピング」レイヤーまたは「プレゼンテーション」レイヤーにハイライト表示されます。

このオプションを選択すると、「問合せ関連オブジェクト」ダイアログは閉じます。

Oracle BIリポジトリのパスワードの変更

各Oracle BIリポジトリには、その内容を暗号化するために使用するパスワードがあります。新しいOracle BIリポジトリ・ファイルを作成するとき、または以前のリリースのOracle Business Intelligenceからリポジトリをアップグレードするときにリポジトリ・パスワードを作成します。

管理ツールをオフライン・モードで使用して、またはobieerpdpwdchgユーティリティを使用して、リポジトリ・パスワードを変更できます。管理ツールでリポジトリをオンライン・モードで開いているときには、リポジトリ・パスワードを変更できません。

obieerpdpwdchgユーティリティは、管理ツールを使用できないLinuxシステムおよびUNIXシステムでリポジトリ・パスワードを変更する場合に特に有効です。

管理ツールまたはobieerpdpwdchgを使用してリポジトリ・パスワードを変更した後、更新済リポジトリを公開し、Fusion Middleware Controlで新しいパスワードを指定する必要もあります。Fusion Middleware Controlでリポジトリ・パスワードを指定すると、パスワードを外部資格証明ストアにし、Oracle BIサーバーでそのパスワードを取得してリポジトリをロードできるようになります。

Fusion Middleware Controlのリポジトリ・オプションの詳細は、『Oracle Fusion Middleware Oracle Business Intelligence Enterprise Editionシステム管理者ガイド』のリポジトリの構成に関する項を参照してください。

注意:
SampleAppLite.rpdまたはSampleApp.rpdサンプル・リポジトリを使用している場合、セキュリティ上の理由により、管理ツールでこのリポジトリを最初に開くときに、デフォルトのパスワードを変更する必要があります。サンプル・リポジトリの詳細は、「SampleApp.rpdデモ・リポジトリについて」を参照してください。

この項には次のトピックが含まれます:

- 管理ツールを使用したOracle BIリポジトリ・パスワードの変更

- obieerpdpwdchgユーティリティを使用したOracle BIリポジトリ・パスワードの変更

管理ツールを使用したOracle BIリポジトリ・パスワードの変更

次の手順に従い、管理ツールを使用してリポジトリ・パスワードを変更し、さらに変更後のリポジトリをFusion Middleware Controlで公開します。

1. 管理ツールで、リポジトリをオフライン・モードで開きます。

2. 「ファイル」→「パスワードの変更」を選択します。

3. 現在の(古い)パスワードを入力します。

4. 新しいパスワードを入力し、これを確認します。リポジトリ・パスワードは5文字より長い必要があり、空にはできません。

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

6. リポジトリを保存して閉じます。

7. Webブラウザを開き、更新済リポジトリがあるコンピュータからFusion Middleware Controlにログインします。

8. ナビゲーション・ツリーでBusiness Intelligenceを開き、coreapplicationをクリックして、Business Intelligence概要ページを表示します。

9. 「デプロイメント」ページの「リポジトリ」タブが表示されます。

10. 「構成をロックして編集」をクリックします。

11. リポジトリ・ファイルの横にある「参照」をクリックします。次に、更新済リポジトリ・ファイルを選択し、「開く」をクリックします。

12. 新しい(更新済)リポジトリ・パスワードを「リポジトリ・パスワード」フィールドおよび「パスワードの確認」フィールドに入力します。
リポジトリで設定したパスワードを指定してください。パスワードが一致しないと、Oracle BIサーバーは起動せず、エラーがnqserver.logに記録されます。

13. 「適用」をクリックしてから、「変更のアクティブ化」をクリックします。

14. Business Intelligence概要ページに戻り、「再起動」をクリックします。

obieerpdpwdchgユーティリティを使用したOracle BIリポジトリ・パスワードの変更

次の手順に従い、obieerpdpwdchgユーティリティを使用してリポジトリ・パスワードを変更し、さらに変更後のリポジトリをFusion Middleware Controlで公開します。

1. bi-initを実行して、適切に初期化されたコマンド・プロンプトまたはシェル・ウィンドウを起動します。詳細は、「Oracleインスタンスに初期化したシェル・ウィンドウを起動するためのbi-initの実行」を参照してください。

2. コマンド・プロンプトで、次の引数を指定してobieerpdpwdchgを入力します。

- -I name_and_path_of_existing_repository

- -O name_and_path_of_new_repository

さらに、現在の(古い)パスワードを入力してから、プロンプトに従って新しいパスワードを入力します。リポジトリ・パスワードは5文字より長い必要があり、空にはできません。例:

obieerpdpwdchg  -I my_repos.rpd -O my_changed_repos.rpd
Please enter the repository password:

Please enter a new repository password:

コマンドに-Cオプションを含めてマスキングを無効にしていない場合、パスワードはコマンドラインでマスキングされます。

3. Webブラウザを開き、更新済リポジトリがあるコンピュータからFusion Middleware Controlにログインします。

4. ナビゲーション・ツリーでBusiness Intelligenceを開き、coreapplicationをクリックして、Business Intelligence概要ページを表示します。

5. 「デプロイメント」ページの「リポジトリ」タブが表示されます。

6. 「構成をロックして編集」をクリックします。

7. リポジトリ・ファイルの横にある「参照」をクリックします。次に、更新済リポジトリ・ファイルを選択し、「開く」をクリックします。

8. 新しい(更新済)リポジトリ・パスワードを「リポジトリ・パスワード」フィールドおよび「パスワードの確認」フィールドに入力します。
リポジトリで設定したパスワードを指定してください。パスワードが一致しないと、Oracle BIサーバーは起動せず、エラーがnqserver.logに記録されます。

9. 「適用」をクリックしてから、「変更のアクティブ化」をクリックします。

10. Business Intelligence概要ページに戻り、「再起動」をクリックします。

18 「式ビルダー」およびその他のユーティリティの使用

この章では、「式ビルダー」について説明し、Oracle BIリポジトリ内に制約、集計、およびその他の定義を作成するための指示を提供します。また、Oracle BI管理ツールに含まれている様々なユーティリティおよびウィザードについても説明します。

この章には次のトピックが含まれます:

- 「式ビルダー」の使用

- 管理ツール・ユーティリティの使用

- 「計算ウィザード」の使用

「式ビルダー」の使用

管理ツールの「式ビルダー」ダイアログを使用して、リポジトリ内に制約、集計およびその他の定義を作成できます。「式ビルダー」は、自動色強調表示およびその他のフォーマット拡張を提供し、式の作成および読取りを簡単にします。

「式ビルダー」で作成した式は、SQLで作成した式と同様です。注記がない場合、SQL問合せの「式ビルダー」で作成した式は、すべてOracle BIサーバーに対して使用できます。

「式ビルダー」でSQLを使用する方法の詳細、およびOracle BIサーバーでサポートされるSQL関数の詳細は、付録C「論理SQLリファレンス」を参照してください。

この項には次のトピックが含まれます:

- 「式ビルダー」ダイアログについて

- 「式ビルダー」ツールバーについて

- 「カテゴリ」ペインのカテゴリについて

- 式の設定

「式ビルダー」ダイアログについて

次のダイアログから「式ビルダー」にアクセスできます。

- 「論理表ソース—コンテンツ」タブ

- 「論理表ソース—列マッピング」タブ

- 「論理列—一般」タブ

- 「論理列—集計」タブ

- 論理外部キー

- 物理外部キー

- セッション変数

- リポジトリ変数

図18-1は、「式ビルダー」を示しています。

図18-1 「式ビルダー」ダイアログの例

このダイアログには、次の項目が含まれています。

- ダイアログの右側の編集ペインでは、現行の式を編集できます。

- ダイアログの下部にあるツールバーには、一般的に使用される式演算子が含まれています。

- ダイアログの左側の項目は、次のとおりです。

- 上部ペインは、「カテゴリ」ペインです。これには、式ビルダーからアクセスするダイアログに適切なカテゴリが表示されます。

- 中央ペインには、「カテゴリ」ペインで選択したカテゴリで使用可能な項目のリストが表示されます。
中央ペインの下の「検索」フィールドを使用して、中央ペインに特定の値を表示できます。

- 下部ペインは、構築ブロックペインです。これには、中央ペインで選択した項目に対する個別の構築ブロックが表示されます。
下部ペインの下の「検索」フィールドを使用して、下部ペインに特定の値を表示できます。

「式ビルダー」で式を作成するとき、「カテゴリ」ペインでカテゴリを選択します。「カテゴリ」ペインで選択した値の応じて、下部ペインに値が表示されます。値を「検索」フィールドに入力すると、一致しない文字列がフィルタ・アウトされ、一致する文字列のみが表示されます。検索基準を「検索」フィールドに入力すると、スクロール・バーを使用して、リストを上下に移動できます。また、[Tab]キーを使用して「検索」フィールドの間を移動できます。結果の完全なリストに戻るには、「検索」フィールドの文字列を削除します。

「検索」フィールドに入力できるテキストは、使用可能な文字列のいずれかと一致するテキストのみです。たとえば使用可能な文字列のオプションがA11、A12またはA13で始まる場合、「検索」フィールドに入力するテキストは、Aで始まる必要があります。

式に挿入する構築ブロックを検索するとき、これを選択し、次のいずれかを実行します。

- 矢印ボタンをクリック

- 項目をダブルクリック

- キーボードで[Enter]を押す

選択した構築ブロックが「編集」ペインの式に表示されます。

初めて「式ビルダー」を開いたとき、項目はソートされていません。「ペインの並替え」オプションを選択すると、ペインにあるすべての項目がソートされます。このオプションを選択すると、ペインの内容やフィルタ基準は変更されずにペインが自動的に再作成されます。

「式ビルダー」ツールバーについて

ツールバーは、「式ビルダー」の下部にあります。表18-1で、式の各ボタンおよびその機能を説明します。

表18-1 「式ビルダー」ツールバー

演算子

説明

+

加算用のプラス記号。

-

減算用のマイナス記号。

*

乗算用の乗算記号。

/

除算用の除算記号。

||

文字列の連結。

(

左カッコ。

)

閉じカッコ。

>

大なり記号。値が比較対象より大きいことを示します。

<

小なり記号。値が比較対象より小さいことを示します。

=

等号。同じ値であることを示します。

<=

以下記号。値が比較対象と同じか、比較対象より小さいことを示します。

>=

以上記号。値が比較対象と同じか、比較対象より大きいことを示します。

<>

等しくありません。値が比較対象より大きいか小さいが、異なることを示します。

AND

AND結合。1つ以上の条件の共通部分で複合条件を生成することを示します。

OR

OR結合。1つ以上の条件の結合で複合条件を生成することを示します。

NOT

NOT結合。条件が満たされないことを示します。

,

カンマ。リスト内の要素を区切るために使用されます。

「カテゴリ」ペインのカテゴリについて

「カテゴリ」ペインに表示されるカテゴリは、「式ビルダー」へのアクセス元のダイアログによって異なります。表18-2で、表示されるカテゴリについて説明します。

表18-2 「カテゴリ」ペインの「式ビルダー」のカテゴリ

カテゴリ名

説明

集計内容

使用可能な集計関数が含まれています。集計ソースは、ここにリストされている関数のいずれかを使用し、その内容のレベルを指定する必要があります。

時間ディメンション

ビジネス・モデルで構成された時間ディメンションが含まれています。ビジネス・モデルに時間ディメンションが存在しない場合、または時間ディメンションが特定の「式ビルダー」に関連しない場合、「時間ディメンション」カテゴリは表示されません。

「時間ディメンション」カテゴリを選択すると、構成済の各時間ディメンションが中央ペインに表示され、選択したディメンションの各レベルが下部ペインに表示されます。

論理表

ビジネス・モデルで構成された論理表が含まれています。論理表が特定の「式ビルダー」に関連しない場合、「論理表」カテゴリは表示されません。

「論理表」カテゴリを選択すると、ビジネス・モデルの各論理表が中央ペインに表示され、選択した論理表の各列が下部ペインに表示されます。

値ベース・ディメンション

ビジネス・モデルで構成された親子階層を持つディメンションが含まれています。ビジネス・モデルに親子階層を持つディメンションが存在しない場合、または親子階層を持つディメンションが特定の「式ビルダー」に関連しない場合、「値ベースのディメンション」カテゴリは表示されません。

「値ベースのディメンション」カテゴリを選択すると、親子階層を持つ構成済のディメンションが中央ペインに表示されます。このカテゴリには、下部ペインは存在しません。

論理レベル

関連論理レベルが含まれています。レベル・ベース・ディメンションが特定の「式ビルダー」に関連しない場合、「論理レベル」カテゴリは表示されません。

「論理レベル」カテゴリを選択すると、中央ペインで適切な論理ディメンション(レベル・ベース)を選択できます。また、下部ペインでレベル自体を選択できます。

物理表

関連物理表が含まれています。物理表が特定の「式ビルダー」に関連しない場合、「物理表」カテゴリは表示されません。

演算子

使用可能なSQL論理演算子が含まれています。

式

使用可能な式が含まれています。

関数

使用可能な関数が含まれています。表示される関数は、選択したオブジェクトによって異なります。

定数

使用可能な定数が含まれています。

タイプ

使用可能なデータ・タイプが含まれています。

リポジトリ変数

使用可能なリポジトリ変数が含まれています。リポジトリ変数が定義されていない場合、このカテゴリは表示されません。

セッション変数

使用可能なシステム・セッション変数および非システム・セッション変数が含まれています。セッション変数が定義されていない場合、このカテゴリは表示されません。

式の設定

図18-2は、派生論理列のための「式ビルダー」ダイアログを示しています。

図18-2 派生論理列のための「式ビルダー」

式を設定するには、「カテゴリ」ペインで「関数」を選択し、「関数」ペインで関数のタイプを選択し、下部ペインで関数を選択します。使用する関数をダブルクリックして、これを編集ペインに貼り付けます。次に、編集ペインで、関数のカッコ内を1回クリックして、その領域を関数の引数を追加する挿入場所として選択します。

挿入場所に論理列を貼り付けるには、「カテゴリ」で「論理表」を選択し、「論理表」ペインで使用する表を選択します。次に、下部ペインで論理列をダブルクリックして、編集ペインで関数の引数として論理列を挿入場所に貼り付けます。図18-3に、編集ペインで式が表示される場所を示します。

図18-3 「編集」ペインの「論理列」関数の例

「式ビルダー」内でのナビゲート

「式ビルダー」内でナビゲートするには、次の手順を実行します。

「式ビルダー」内でナビゲートするには:

1. 「カテゴリ」ペインで、作成する式に適したカテゴリを選択します。
中央ペインに、選択したカテゴリで使用可能な式タイプが表示されます。

2. 作成する式に適した項目を選択します。
下部ペインに、選択した項目で使用可能な構築ブロックが表示されます。

3. 構築ブロックをダブルクリックし、これを編集ペインに表示します。

4. 演算子を式に挿入するには、「式ビルダー」ツールバーで演算子をクリックします。

式の作成

「式ビルダー」で式を作成するには、次の手順を実行します。

式を作成するには、次のようにします。

1. 式に入れる個別の構築ブロックにナビゲートします。
「式ビルダー」ダイアログの下部の「構文」バーに、式の構文が表示されます。

例: BETWEEN <<Upper Bound>> AND <<Lower Bound>>

2. 構築ブロックを編集ペインに追加します。

3. 構築ブロックを編集し、希望の式を反映します。

4. 「式ビルダー」ツールバーを使用して、式に演算子を挿入します。

5. 式が完成するまで前の手順を繰り返し、「OK」をクリックします。
管理ツールに、式にある構文エラーに関するメッセージが表示されます。式が構文的に正しくなると、管理ツールは、「式ビルダー」へのアクセス元のダイアログにこの式を追加します。

NQSConfig.INIで、パラメータPREVENT_DIVIDE_BY_ZEROがYESに設定されている場合、Oracle BIサーバーでは、「アンサー」列計算の場合でも、ゼロ除算の状況でエラーが阻止されます。Oracle BIサーバーでは、物理SQLの記述時にnullif()または同様の関数を使用してゼロ除算阻止式が作成されます。このため、PREVENT_DIVIDE_BY_ZEROがYES(デフォルト値)に設定されているかぎり、ゼロ除算エラーを回避するためにCASE文を使用する必要はありません。

構成設定の詳細は、『Oracle Fusion Middleware Oracle Business Intelligence Enterprise Editionシステム管理者ガイド』を参照してください。

INDEXCOL変換関数について

INDEXCOL関数を使用すると、派生論理列を作成できます。INDEXCOLを選択すると、次の関数テンプレートが自動的に生成されます。

IndexCol( <<integer literal>>, <<expr1>> [, <<expr2>>, ?-] )

注意: 引数integer literalをセッション変数、計算式またはCASE WHEN文にすることも可能です(評価はバックエンド・データへの参照なしで可能です)。

詳細は、「INDEXCOL」を参照してください。

管理ツール・ユーティリティの使用

「式ビルダー」の他に、管理ツールには、オブジェクトの名前変更、集計の保持、文字列の外部化などの機能を実行するいくつかのユーティリティおよびウィザードがあります。

この項には次のトピックが含まれます:

- 列または表の置換ウィザードの使用

- 「Oracle BIイベント表」ユーティリティの使用

- 「文字列の外部化」ユーティリティの使用

- 「名前変更ウィザード」の使用

- 「物理レイヤーの更新」ウィザードの使用

- リポジトリ・マッピングのドキュメントの生成

- メタデータ・ディクショナリの生成

- 使用されていない物理オブジェクトの削除

- 集計の保持

- Oracle BIサマリー・アドバイザ・ウィザードの使用方法

- プレゼンテーション・フォルダの変換ユーティリティの使用

- 論理列タイプのリストの生成

- 論理列タイプの比較

列または表の置換ウィザードの使用

列または表の置換ウィザードを使用すると、論理表ソースでの物理列や表の置換プロセスが自動化されます。たとえば、Oracle BI Applicationsを購入した場合、論理表ソースを更新して、異なるデータベース・タイプにマップできます。このユーティリティを使用して、論理表ソースのマッピングを開発表から本番表に変更することもできます。

列または表の置換ウィザードを使用して、単一の列(同じ表内)または表全体を置換できます。表を置換する場合、表にあるすべての列をマップする必要があります。

論理表ソースの物理列を置換するには:

1. 管理ツールで、「ツール」→「ユーティリティ」を選択します。

2. 「論理表ソースの列または表の置換」を選択し、「実行」をクリックします。

3. 「オブジェクトの選択」画面で、「単一の列のみの置換」を選択します。

4. 左ペインで、置換する物理列を選択します。有効な列を選択する必要があります。たとえば、ソースとして複数の表を持つ論理表ソースで使用されている列は選択できません。

5. 右ペインで、元の列の置換えとして使用する物理列を選択します。「次へ」をクリックします。

6. 「ソースの選択」画面に、選択した物理列にマップする論理表ソースがすべて表示されます。物理列マッピングを変更する論理表ソースを選択します。「修飾名の表示」を選択して、各ソースのフル・コンテキストを表示します。
無効な論理表ソース(つまり、置換えに使用できない論理表ソース)を選択した場合、ソースを使用できない理由を説明するメッセージが表示され、そのソースのチェック・ボックスが無効になります。

「オプション」ダイアログの「一般」タブで「置換ウィザードで使用できない論理表ソースの非表示」が選択されていると、無効な論理表ソースはリストに表示されません。かわりに、その列にマップしている論理表ソースがリストに表示されないときには、「情報」ボタンが表示されます。「情報」をクリックして、物理オブジェクトを論理表ソースで置換できない理由の詳細を表示します。

「ソースの選択」画面は、選択した物理列にマップしている論理表ソースが複数ある場合のみ表示されます。

論理表ソースを選択したら、「次へ」をクリックします。

7. リポジトリがオンライン・モードで開いていると、「チェックアウト」画面が表示されます。オンライン・モードでは、オブジェクトを変更する前に、そのオブジェクトをチェックアウトする必要があります。「次へ」をクリックして、必要なオブジェクトをチェックアウトします。

8. 「終了」画面に、置換するオブジェクトのサマリーが表示されます。変更を行う場合、「戻る」をクリックするか、ナビゲーション・パネルから特定の手順を選択します。

9. 「終了」をクリックします。

論理表ソースの物理表を置換するには:

1. 管理ツールで、「ツール」→「ユーティリティ」を選択します。

2. 「論理表ソースの列または表の置換」を選択し、「実行」をクリックします。

3. 「オブジェクトの選択」画面で、「表全体の置換」を選択します。

4. 左ペインで、置換する物理表を選択します。

5. 右ペインで、元の表の置換えとして使用する物理表を選択します。「次へ」をクリックします。

6. 「ソースの選択」画面に、選択した物理表にマップする論理表ソースがすべて表示されます。物理表マッピングを変更する論理表ソースを選択します。「修飾名の表示」を選択して、各ソースのフル・コンテキストを表示します。
無効な論理表ソース(つまり、置換えに使用できない論理表ソース)を選択した場合、ソースを使用できない理由を説明するメッセージが表示され、そのソースのチェック・ボックスが無効になります。

「オプション」ダイアログの「一般」タブで「置換ウィザードで使用できない論理表ソースの非表示」が選択されていると、無効な論理表ソースは表示されません。かわりに、その列にマップしている論理表ソースがリストに表示されないときには、「情報」ボタンが表示されます。「情報」をクリックして、物理オブジェクトを論理表ソースで置換できない理由の詳細を表示します。

「ソースの選択」画面は、選択した物理表にマップしている論理表ソースが複数ある場合のみ表示されます。

論理表ソースを選択したら、「次へ」をクリックします。

7. 「列の選択」画面の下部ペインに、選択した物理表の間の個別の列マッピングが表示されます。選択した2つの表にある列名が一致する場合、デフォルトの列マッピングが下部ペインに表示されます。
列マッピングをマップ済列のリストに追加するには、まず左ペインでソース列を選択します。次に、右ペインで置換列を選択し、「追加」をクリックします。

列マッピングをマップ済列のリストから削除するには、リストからマップ済列の行を選択し、「削除」をクリックします。

図18-4に、「列の選択」画面を表示します。

図18-4 列または表の置換ウィザードの「列の選択」画面

8. 選択した物理表の間の列のマッピングが終了したら、「次へ」をクリックします。

9. リポジトリがオンライン・モードで開いていると、「チェックアウト」画面が表示されます。オンライン・モードでは、オブジェクトを変更する前に、そのオブジェクトをチェックアウトする必要があります。「次へ」をクリックして、必要なオブジェクトをチェックアウトします。

10. 「終了」画面に、置換するオブジェクトのサマリーが表示されます。変更を行う場合、「戻る」をクリックするか、ナビゲーション・パネルから特定の手順を選択します。

11. 「終了」をクリックします。

「Oracle BIイベント表」ユーティリティの使用

このユーティリティを使用すると、表をOracle BIイベント・ポーリング表として識別できます。イベント・ポーリング表は、1つ以上の物理表が更新されたことをOracle BIサーバーを通知する方法です。イベント表に追加される各行により、単一の更新イベントを示します。キャッシュ・システムは、イベント表から行を読み取るかイベント表をポーリングし、物理表の情報を行から抽出し、それらの物理表を参照するキャッシュ・エントリをパージします。

イベント・ポーリング表の詳細は、『Oracle Fusion Middleware Oracle Business Intelligence Enterprise Editionシステム管理者ガイド』のイベント・ポーリング表を使用したキャッシュ・イベント処理に関する項を参照してください。

「Oracle BIイベント表」ユーティリティを開始するには:

1. 管理ツールで、「ツール」→「ユーティリティ」を選択します。

2. 「Oracle BIイベント表」を選択し、「実行」をクリックします。

「文字列の外部化」ユーティリティの使用

「文字列の外部化」ユーティリティを使用して、「プレゼンテーション」レイヤーのサブジェクト・エリア名、表名、階層名および列名、ならびにこれらの説明をローカライズできます。これらのテキスト文字列を、ANSI、UnicodeおよびUTF-8のエンコーディング・オプションを使用して外部ファイルに保存できます。また、Unicode暗号化を使用して文字列を一連のXMLファイルに保存することもできます。

「文字列の外部化」ユーティリティを使用する前に、「プレゼンテーション」レイヤーで文字列を外部化する必要があります。「プレゼンテーション」レイヤーで文字列を外部化する場合、次の事項に注意してください。

- サブジェクト・エリア、プレゼンテーション表、プレゼンテーション列など任意の「プレゼンテーション」レイヤー・オブジェクトを右クリックし、「表示名の外部化」→「カスタム名の生成」または「記述子の外部化」→「カスタム説明の生成」を選択して、文字列を外部化できます。「カスタム名の生成」を選択して、「文字列の外部化」ユーティリティを実行すると、変換キーも「文字列の外部化」ダイアログに表示されます。

- これらの右クリック外部化オプションのいずれかを選択すると、選択したオブジェクトおよびその子オブジェクトに対して、「プロパティ」ダイアログで、「カスタム表示名」オプションまたは「カスタム説明」オプションが自動的に選択されます。
たとえば、サブジェクト・エリアを右クリックし、外部化オプションのいずれかを選択すると、そのサブジェクト・エリア内のすべてのプレゼンテーション表、列、階層およびレベルに外部化フラグが設定されます。

- 「文字列の外部化」ユーティリティを実行すると、「プレゼンテーション」レイヤーで外部化に選択した文字列のみが外部化されます。

「文字列の外部化」ユーティリティの使用の詳細は、『Oracle Fusion Middleware Oracle Business Intelligence Enterprise Editionシステム管理者ガイド』のリポジトリでのメタデータ名のローカライズに関する項を参照してください。

「文字列の外部化」ユーティリティを開始するには:

1. 管理ツールで、「ツール」→「ユーティリティ」を選択します。

2. 「文字列の外部化」を選択し、「実行」をクリックします。

「名前変更ウィザード」の使用

「名前変更ウィザード」を使用して、「プレゼンテーション」レイヤーおよび「ビジネス・モデルとマッピング」レイヤーの表および列の名前を変更できます。これにより、物理名をわかりやすい名前に変換する便利な方法が提供されます。

メンテナンス性を向上させるために、プレゼンテーション・レイヤーではなく、ビジネス・モデルとマッピング・レイヤーでオブジェクトの名前を変更することをお薦めします。プレゼンテーション・オブジェクトではなく論理オブジェクトにわかりやすい名前を指定することによって、複数のサブジェクト・エリアで名前を再利用できます。また、ビジネス・モデルに変更を組み込むためにサブジェクト・エリアを削除して再作成する必要がある場合でも、名前が保持されます。

「名前変更ウィザード」を使用するには:

1. 管理ツールで、「ツール」→「ユーティリティ」を選択します。次に、「名前変更ウィザード」を選択して、「実行」をクリックします。
「ビジネス・モデルとマッピング」レイヤーまたは「プレゼンテーション」レイヤーでオブジェクトまたは一連のオブジェクトを右クリックしてから「名前変更ウィザード」を選択して、「名前変更ウィザード」にアクセスすることもできます。ウィザードは、「ルールの選択」画面で始まり、選択した論理オブジェクトまたはプレゼンテーション・オブジェクトのみに適用されます。

2. 「オブジェクトの選択」画面で、名前変更するオブジェクトを選択します。まず、オブジェクトが含まれているレイヤー(「プレゼンテーション」または「ビジネス・モデルとマッピング」)を選択し、次にオブジェクトを選択して「追加」をクリックします。選択したオブジェクトに関連付けられたオブジェクトをすべて追加するには、「階層の追加」をクリックします。次の点に注意してください。

- プレゼンテーション階層からオブジェクトを選択するには、「プレゼンテーション名の編集」管理ツール・オプションを有効にする必要があります。

- 「論理列名の使用」プロパティが選択されていない(Falseに設定されている)個別のプレゼンテーション列のみを選択できます。

名前を変更するオブジェクトを選択したら、「次へ」をクリックします。

3. 「タイプの選択」画面で、名前変更するオブジェクト・タイプ(「サブジェクト・エリア」、「論理表」、「論理列」など)を選択します。「プレゼンテーション列」を選択している場合、「論理列名の使用」プロパティが選択されていない(Falseに設定されている)個別のプレゼンテーション列のみで、名前を変更できます。それから、「次」をクリックします。

4. 「ルールの選択」画面で、適用する名前変更ルールを選択し、「追加」をクリックします。特定の単語またはフレーズを名前変更するには、「指定されたテキストの変更」を選択します。
名前変更ルールは、リストに表示される順に適用されます。ルールを適用する順序を変更するには、追加したルールを選択し、「上へ」または「下へ」をクリックします。

たとえば、論理列GlobalGROUP、GlobalSales、およびGlobalCustomerNameをGroup、Sales、およびCustomer Nameに名前変更するとします。これを行うには、次のルールを指定の順序で適用できます。

Insert space before each first uppercase letter, unless on the first position
or there is a space already
All text lowercase
First letter of each word capital
Change each occurance of "Global " to "" (not case sensitive)

名前変更ルールを選択したら、「次へ」をクリックします。

5. リポジトリがオンライン・モードで開いていると、「チェックアウト」画面が表示されます。オンライン・モードでは、オブジェクトを変更する前に、そのオブジェクトをチェックアウトする必要があります。「次へ」をクリックして、必要なオブジェクトをチェックアウトします。

6. 「終了」画面に、名前変更するオブジェクトのサマリーが表示されます。名前変更するオブジェクトのリストを変更する場合、「戻る」をクリックするか、ナビゲーション・パネルから特定の手順を選択します。「終了」をクリックして、オブジェクトの名前を変更します。

図18-5に「名前変更ウィザード」を表示します。

図18-5 「名前変更ウィザード」

「物理レイヤーの更新」ウィザードの使用

「物理レイヤーの更新」ウィザードを使用して、バックエンド・データベースの現行の定義に基づいて、リポジトリの「物理」レイヤーのデータベース・オブジェクトを更新できます。このウィザードは、読取り専用モードで開いているリポジトリでは使用できません(これらのリポジトリは更新できないため)。

このウィザードが更新を処理するとき、Oracle BIサーバーは、各バックエンド・データベースに接続します。「物理」レイヤーのオブジェクトは、バックエンド・データベースのオブジェクトと比較されます。説明テキストが、「物理」レイヤーのデータベースで定義されたオブジェクトとバックエンド・データベースで定義されたオブジェクトとの相違点(データ・タイプ長の不一致やバックエンド・データベースにないオブジェクトなど)を警告します。たとえば、あるオブジェクトがリポジトリの「物理」レイヤーのデータベースに存在するが、バックエンド・データベースに存在しない場合、次のテキストが表示されます。

Object does not exist in the database and will be deleted

このウィザードでは、バックエンド・データベースに存在するがリポジトリに存在しない列または表をリポジトリに追加しません。さらに、このウィザードでは、列キー割当てを更新しません。これは、データベースの列と一致する列がリポジトリにあることを確認した後で、この値が一致しない場合、このウィザードでは、リポジトリの列のタイプおよび長さを更新します。

各データベースの接続プール設定は、オブジェクトがバックエンド・データベースから「物理」レイヤーに最後にインポートされたときに使用した接続プール設定と一致する必要があります。接続プール設定の詳細は、「接続プールの作成または変更」を参照してください。

「物理」レイヤーのオブジェクトを更新するには:

1. 管理ツールで、「ツール」→「ユーティリティ」を選択します。

2. 「物理レイヤーの更新」を選択し、「実行」をクリックします。
リポジトリの「物理」レイヤーにあるデータベースは、ウィザードの左ペインにリストされます。

3. 「データベースの選択」画面で、左ペインで更新するデータベースを選択し、「追加」をクリックします。右ペインの更新リストからデータベースを削除するには、削除するデータベースを選択し、「削除」をクリックします。

4. 「次へ」をクリックします。

5. 「接続プールの選択」画面で、更新する各データベースの接続プールを選択し、「次へ」をクリックします。続行する前に、変数の値を設定または確認する必要がある場合があります。

6. 「更新」画面で、各更新の情報を確認し、実行する更新を選択します。「名前」列ヘッダーをクリックして、行をソートできます(昇順と降順を切り替えます)。

7. 「物理」レイヤーの特定のオブジェクトをウィザードで更新しない場合、「戻る」ボタンをクリックして、そのオブジェクトを削除します。

8. リポジトリがオンライン・モードで開いていると、「チェックアウト」画面が表示されます。オンライン・モードでは、オブジェクトを変更する前に、そのオブジェクトをチェックアウトする必要があります。「次へ」をクリックして、必要なオブジェクトをチェックアウトします。

9. 「終了」をクリックします。
ウィザードは、「物理」レイヤーのオブジェクトを更新し、自動的に閉じます。データベースに存在しないオブジェクトは削除されます。

10. 「ファイル」メニューで、「保存」を選択して「物理」レイヤーに更新したオブジェクトを保存します。

リポジトリ・マッピングのドキュメントの生成

「リポジトリ・ドキュメント」ユーティリティは、プレゼンテーション列のマッピングを対応する論理列および物理列に記録します。ドキュメントには、これらの列に関連付けられた条件式も含まれます。ドキュメントは、カンマ区切り(CSV)形式、XML形式またはタブ区切り(TXT)形式で保存できます。

「リポジトリ・ドキュメント」ユーティリティを使用して、Oracle Business Intelligenceメタデータをフラット・ファイルに抽出し、これをExcelおよびRDBMSにロードできます。結果として得られるファイルを問い合せ、質問(「物理列Xを削除すると、影響を受ける論理列はどれですか」や「ビジネス・モデルで物理表W_SRVREQ_Fを参照している場所はいくつですか」など)に回答できます。次に、リポジトリ内の要素間の依存関係を確立できます。

Excelは、1,000,000行のデータ・セットのみを許容します。大きなリポジトリでは、これを超える場合があります。したがって、関連ビジネス・モデルを新しいプロジェクトに抽出して、リポジトリのサブセットで「リポジトリ・ドキュメント」ユーティリティを実行する必要がある場合があります。詳細は、第3章を参照してください。

「リポジトリ・ドキュメント」ユーティリティは、現行リポジトリの「プレゼンテーション」レイヤーと「物理」レイヤーの間の接続を示す、カンマ区切り形式のファイルまたはタブ区切り形式のファイルを作成します。このファイルは、「物理」レイヤーとしてリポジトリにインポートできます。ファイルには、リポジトリ変数およびマーケティング・オブジェクトに関する情報は含まれていません。

「リポジトリ・ドキュメント」ユーティリティを実行するには:

1. 管理ツールで、「ツール」→「ユーティリティ」を選択します。

2. 「リポジトリ・ドキュメント」を選択し、「実行」をクリックします。

3. 「名前を付けて保存」ダイアログで、ファイルを保存するディレクトリを選択します。

4. ファイルの名前を入力します。

5. ファイルのタイプおよび「エンコーディング」値を選択し、「保存」をクリックします。現行のエンコーディング・オプションは、ANSI、UnicodeおよびUTF-8です。

メタデータ・ディクショナリの生成

メタデータ・ディクショナリを生成して、リポジトリ・オブジェクトのメトリックや属性に関する詳細情報をOracle Business Intelligenceユーザーが得る場合に役立てることができます。たとえば、紛らわしいメタデータ・オブジェクト名が原因である問題の解決や、属性が複雑な方法で派生している場合に詳細情報の取得をユーザーが行う必要がある場合があります。

メタデータ・ディクショナリは、静的なXMLドキュメントのセットです。各XMLドキュメントは、列などのメタデータ・オブジェクト(そのプロパティおよび他のメタデータ・オブジェクトとの関係を含む)について説明します。これらのXMLドキュメントは、Oracle BIプレゼンテーション・サービス・ユーザー・インタフェース内で表示できます。またはブラウザで直接表示できます。

管理ツールを使用して、リポジトリのメタデータ・ディクショナリを生成します。ディクショナリは、リポジトリの変更と異なり、動的には変更されないため、定期的にディクショナリを生成し、その内容を更新する必要があります。

メタデータ・ディクショナリ・ファイルは、Oracle HTTP ServerやApache HTTP ServerなどのWebサーバー上にホストする必要があります。ディクショナリを生成するとき、出力場所をWebサーバー上の最終的な場所または一時的な場所に設定できます。一時的な場所にディクショナリを生成する場合、このファイルをWebサーバー上の場所にコピーする必要があります。

大きなリポジトリの一部は、数万のオブジェクトを含むことができます。大きなリポジトリ用にディクショナリを生成する場合、非常に長い時間がかかる可能性があります。

メタデータ・ディクショナリを生成するには:

1. 管理ツールで、リポジトリをオフライン・モードで開きます。オンライン・モードでは、メタデータ・ディクショナリを生成できません。

2. 「ツール」→「ユーティリティ」を選択します。

3. 「メタデータ・ディクショナリの生成」を選択し、「実行」をクリックします。

4. 「ディレクトリの選択」ダイアログで、「参照」をクリックし、ディクショナリを保存する場所を検索し、選択します。次の方法で、ディクショナリの保存場所を選択できます。

- ローカルまたはネットワークの場所を選択します。ディクショナリを生成するとき、リポジトリと同じ名前のサブディレクトリがその場所に作成されます。ディクショナリのディレクトリおよびファイルがそのサブディレクトリに作成されます。
たとえば、J:\BI_DataDictionaryを選択し、リポジトリ名がdemo1.rpdの場合、ディクショナリ・ファイル(スタイル・シートを含む)は、J:\BI_DataDictionary\demo1に作成されます。

- IIS仮想ディレクトリを使用する場合、ディクショナリを生成する前に、IISで仮想ディレクトリを作成または選択できます。ディクショナリを生成するとき、このIIS仮想ディレクトリに関連付けられた物理ディレクトリを選択します。

ディクショナリはマルチバイト・キャラクタでディレクトリに格納できません。ディクショナリに必要なディレクトリの作成についてシステム・エラーが発生した場合は、別のディレクトリを選択する必要があります。

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

6. ファイルをWebサーバー上の場所に直接保存しなかった場合、ファイルをWebサーバーにコピーし、ファイルにアクセスできることを確認します。詳細は、ご使用のWebサーバーのドキュメントを参照してください。
メタデータ・ディクショナリ・ファイルを表示できる場所は、ご使用のWebサーバーのホスト名およびポート番号、ならびにファイルを保存したディレクトリの場所によって異なります。

7. instanceconfig.xml構成ファイルを編集して、Oracle BIプレゼンテーション・サービス・ユーザー・インタフェースのメタデータ・ディクショナリ機能を有効にし、ユーザー、グループまたはアプリケーション・ロールに適切な権限を付与する必要があります。これらの追加構成手順の詳細は、『Oracle Fusion Middleware Oracle Business Intelligence Enterprise Editionシステム管理者ガイド』のメタデータ・ディクショナリ情報へのアクセスの提供に関する項を参照してください。

メタデータ・ディクショナリを生成すると、そのディクショナリのスタイル・シートおよび索引ファイルが作成されます。関連スタイル・シート(XSLファイル)が作成され、リポジトリ・ディレクトリ内のxslというディレクトリに保存されます。

名前索引およびツリー索引が作成され、[drive]:\[path]\[repository name]ルート・ディレクトリに保存されます。これらの索引ファイルは、相互に関連付けられており、表示を素早く切り替えられます。

Oracle BIプレゼンテーション・サービス・ユーザー・インタフェースからメタデータ・ディクショナリ情報を表示する方法の詳細は、『Oracle Fusion Middleware Oracle Business Intelligence Enterprise Editionユーザーズ・ガイド』のサブジェクト・エリア・ペインからのメタデータ情報の表示に関する項を参照してください。

使用されていない物理オブジェクトの削除

大きなリポジトリは、サーバー上で多くのメモリーを使用し、保守が困難です。また、大きなリポジトリでは開発に時間がかかります。このユーティリティを使用すると、リポジトリにある不要になったオブジェクトを削除できます。データベース、初期化ブロック、物理カタログ、および変数を削除できます。

使用されていない物理オブジェクトを削除するには:

1. 管理ツールで、「ツール」→「ユーティリティ」を選択します。

2. 「使用されていない物理オブジェクトの削除」を選択し、「実行」をクリックします。

3. 「使用されていない物理オブジェクトの削除」ダイアログで、「タイプ」リストからオブジェクトのタイプを選択します。

4. オブジェクトのリストで、削除するオブジェクトのみが選択されていることを確認します。
オブジェクトのリストの下に、選択したオブジェクト数およびオブジェクトの総数が表示されます。

5. 選択したオブジェクトを削除するには、「はい」をクリックします。

集計の保持

「集計の永続性」ウィザードを使用して、集計表を作成し、これをメタデータにマップするために使用するSQLファイルを作成できます。詳細は、「集計の永続性ウィザードを使用した集計指定の生成」を参照してください。

Oracle BIサマリー・アドバイザ・ウィザードの使用方法

Oracle Exalytics Machine上でOracle Business Intelligenceを実行している場合、Oracle BIサマリー・アドバイザ・ウィザードを使用して、問合せのパフォーマンスが向上する集計を特定して推奨集計を作成するスクリプトを生成できます。詳細は、「集計の問合せの候補を特定するためのOracle BIサマリー・アドバイザの使用方法」を参照してください。

Oracle BIサマリー・アドバイザ・ウィザードは、Oracle Exalytics Machine上でOracle Business Intelligenceがオンライン・モードの場合にのみ使用できます。

プレゼンテーション・フォルダの変換ユーティリティの使用

リリース11.1.1.6.2以降、「プレゼンテーション表」ダイアログの「子プレゼンテーション表」タブを使用して子プレゼンテーション表を指定し、アンサーおよびBIコンポーザでネストされたフォルダを表示できます。ただし、以前のリリースでは、リポジトリ開発者は、プレゼンテーション表名の先頭にハイフンを追加することで、またはプレゼンテーション表の説明の先頭に矢印(->)を追加することで、アンサーで1レベルのネストを作成することが可能でした。これらの方法を使用してネストを作成した場合は、プレゼンテーション・フォルダの変換ユーティリティを実行して、メタデータを新しい構造に変換することをお薦めします。

注意:
プレゼンテーション表名の先頭にハイフンを付けるか、プレゼンテーション表の説明の先頭に矢印を付けてネストを作成する方法は、このリリースでは非推奨になり、今後のリリースで削除される予定です。

プレゼンテーション・フォルダの変換ユーティリティを使用する手順は次のとおりです。

1. 管理ツールで、リポジトリをオフライン・モードで開きます。
注意: プレゼンテーション・フォルダの変換ユーティリティは、オンライン・モードで実行しないでください。

2. 「ツール」→「ユーティリティ」を選択します。

3. 「プレゼンテーション・フォルダの変換」を選択して、「実行」をクリックします。
プレゼンテーション表名および説明からハイフンと矢印が消去され、影響を受ける表が、該当する親オブジェクトの子表としてリストされます。

論理列タイプのリストの生成

論理列タイプのドキュメントの生成ユーティリティを使用して、論理列とそれに対応するタイプの完全なリストを生成できます。出力はXML形式で保存されます。ANSI、Unicode、またはUTF-8のエンコーディング・オプションを選択できます。

このユーティリティは、論理列タイプの比較ユーティリティと同時に使用されることがよくあります。詳細は、「論理列タイプの比較」を参照してください。

論理列タイプのリストを生成する手順は次のとおりです。

1. 管理ツールで、「ツール」→「ユーティリティ」を選択します。

2. 論理列タイプのドキュメントの生成を選択して、「実行」をクリックします。

3. 「名前を付けて保存」ダイアログで、ファイルを保存するディレクトリを選択します。

4. ファイルの名前を入力します。このファイルには、XMLファイル拡張子が付いている必要があります。

5. 「エンコーディング」の値(ANSI、Unicode、またはUTF-8)を選択して、「保存」をクリックします。

biservergentypexmlユーティリティを使用した論理列タイプのリストの生成

管理ツールの論理列タイプのドキュメントの生成ユーティリティと同様に、biservergentypexmlユーティリティを使用して、論理列とそれに対応するタイプのリストを生成できます。このユーティリティは、WindowsシステムとUNIXシステムの両方で使用できます。biservergentypexmlは、RPD形式のバイナリ・リポジトリでのみ使用できます。

biservergentypexmlの実行前に、bi-initを実行して、適切に初期化されたコマンド・プロンプトを起動する必要があります。詳細は、「Oracleインスタンスに初期化したシェル・ウィンドウを起動するためのbi-initの実行」を参照してください。

構文

biservergentypexmlユーティリティは次のパラメータを取ります。

biservergentypexml -R repository_name [-P repository_password]
-O output_XML_file_name {-8 | -U | -A}

説明:

repository_nameは、論理列タイプのリストの生成元とするリポジトリの名前とパスです。

repository_passwordは、論理列タイプのリストの生成元とするリポジトリのパスワードです。

repository_password引数はオプションです。パスワード引数を指定しなかった場合、コマンドの実行時にパスワードを入力するように求められます。セキュリティ違反のリスクを最小限に抑えるために、コマンド・ラインまたはスクリプトではパスワード引数を指定しないことをお薦めします。パスワード引数のサポートは下位互換性の保持を目的としており、将来のリリースでは削除される予定です。スクリプトのために、パスワードを標準入力によって渡すことができます。

output_XML_file_nameは、このユーティリティによって生成された出力を保存するXMLファイルの名前とパスです。

-8は、出力ファイルに対してUTF-8エンコーディングを指定します。

- Uは、出力ファイルに対してUnicodeエンコーディングを指定します。

- Aは、出力ファイルに対してANSIエンコーディングを指定します。

例

次の例では、UTF-8でエンコードされたlog_col_types.xmlという出力XMLファイルが作成され、このファイルにはmy_repos.rpdからの論理列タイプが含まれます。

biservergentypexml -R my_repos.rpd -O log_col_types.xml -8
Give password: my_rpd_password

注意:
リポジトリ・ファイルと出力XMLファイルが別のディレクトリにある場合は必ず、両方のファイルへの完全なパス名を指定してください。

論理列タイプのドキュメントの出力サンプル

管理ツールで論理列タイプのドキュメントの生成ユーティリティを使用して、またはbiservergentypexmlを使用して生成された論理列タイプのドキュメントの出力サンプルは、次のようになります。

<?xml version="1.0" encoding="UTF-8" ?>
<REPOSITORY>
<BUSINESS_MODEL NAME="SampleApp Lite">
<LOGICAL_TABLE NAME="D1 Products">
<COLUMN NAME="Product Number">
<TYPE>INT</TYPE>
<NULLABLE>No</NULLABLE>
</COLUMN>
<COLUMN NAME="Product">
<TYPE>VARCHAR</TYPE>
<LENGTH>25</LENGTH>
<NULLABLE>No</NULLABLE>
</COLUMN>
<COLUMN NAME="Product Type">
<TYPE>VARCHAR</TYPE>
<LENGTH>25</LENGTH>
<NULLABLE>No</NULLABLE>
</COLUMN>
<COLUMN NAME="Product Type Key">
<TYPE>INT</TYPE>
<NULLABLE>No</NULLABLE>
</COLUMN>
...
</LOGICAL_TABLE>
<LOGICAL_TABLE NAME="D0 Time">
<COLUMN NAME="Calendar Date">
<TYPE>DATE</TYPE>
<NULLABLE>No</NULLABLE>
</COLUMN>
<COLUMN NAME="Per Name Week">
<TYPE>VARCHAR</TYPE>
<LENGTH>12</LENGTH>
<NULLABLE>No</NULLABLE>
</COLUMN>
...
</LOGICAL_TABLE>
</BUSINESS_MODEL>
</REPOSITORY>

論理列タイプの比較

論理列タイプはMUD開発の途上で変更される場合があり、その結果、予期しない論理列タイプが生成されることがあります。この場合は、管理ツールのユーティリティである論理列タイプのドキュメントの生成を使用するか、biservergentypexmlを使用して論理列とそのタイプのリストを生成し、後続のMUDバージョンに対して論理列タイプの比較ユーティリティを使用して、論理列のタイプを予期されるとおりに一致させることができます。たとえば、リポジトリ・バージョン20に対して論理列タイプのリストを生成し、論理列タイプの比較ユーティリティを使用してそのリストをリポジトリ・バージョン30と比較することができます。

このユーティリティを使用するには、現在のリポジトリとの比較の対象となる論理列タイプのリストを生成しておく必要があります。論理列タイプの比較ユーティリティでは、リポジトリとXMLファイルの両方に存在する論理列だけが比較され、新規に作成された論理列と削除済の列は無視されます。

論理列タイプを比較する手順は次のとおりです。

1. 管理ツールで、「ツール」→「ユーティリティ」を選択します。

2. 論理列タイプの比較を選択して、「実行」をクリックします。

3. 「XMLファイルの選択」ダイアログで、現在のリポジトリにある列タイプの比較の対象とする論理列タイプの生成済リストを選択します。

4. 「開く」をクリックします。次のイメージに示すように、論理列タイプの不一致のリストが表示されます。

図18-6 論理列タイプの不一致のリスト

論理列タイプの不一致を示しているダイアログで、次のアクションを実行できます。

- 「検索」を使用した特定のテキスト文字列の検索

- 「再検索」を使用した後続のテキスト文字列の検索

- 「コピー」を使用したダイアログ内のすべてのテキストのクリップボードへのコピー

「計算ウィザード」の使用

「計算ウィザード」を使用して、既存の2つの列を比較する新しい計算列を作成できます。また、メトリックをバルクで作成することもできます。これには、ゼロ除算、NULLケース、およびその他の困難な状況を処理するビルトイン・メカニズムがあります。「計算ウィザード」は、四半期ごとの売上げ、収益率、最小値、最大値などを自動で計算する方法を提供します。

「計算ウィザード」を開始するには、データ・タイプ・メトリックの「ビジネス・モデルとマッピング」レイヤーにある任意の論理ファクトまたはディメンション列を右クリックし、オプション「計算ウィザード」を選択します。ウィザードは、右クリックした列をソース列にして開始され、その表のその他の列が比較用に表示されます。

「計算ウィザード」を使用するには:

1. 「ビジネス・モデルとマッピング」レイヤーのメジャー列(データ・タイプ数値の任意の論理ファクトまたはディメンション列)を右クリックし、「計算ウィザード」を選択します。

2. 「計算ウィザード」を初めて使用するとき、「概要」画面が表示されます。今後この画面を表示しない場合は、「「将来、この導入画面を表示しない」を選択します。「概要」画面を表示しないことを選択した場合、「ツール」→「オプション」に移動して、この画面を再表示できます。詳細は、「管理ツールのオプションの設定」を参照してください。
「次へ」をクリックし、「列の選択」画面を表示します。

3. ソース列と比較する列を選択します。ソース列が複数の論理表にマップされている場合、左上ペインに表のリストが表示されます。表を1つ選択し、右上ペインから列を選択し、比較列を「選択された列」リストに追加します。
列を選択し、「削除」をクリックすることにより、「選択された列」リストから項目を削除できます。

比較列の選択を完了したら、「次へ」をクリックします。

4. 「新規計算」画面で、特定の列で実行する計算を選択できます。「新規計算」画面の要素は、次のとおりです。

- 左上ペインには、ソース列の名前が表示され、次に「列の選択」画面で選択した比較列のリストが表示されます。特定の列の計算を作成するには、その列を選択します。

- 右上ペインには、実行できる計算のリストが表示されます。計算を1つ選択して、計算の定義およびデフォルトの計算名を表示します。計算の定義で、「CurrentX」は、ソース列の値を表し、「ComparisonX」は、左上ペインで選択した比較列の値を表します。
オプションで、計算名を変更できます。この名前は、結果として得られる計算列の名前になります。

次の計算が使用可能です。

- 「変化」 (「CurrentX - ComparisonX」)。ソース列から比較列の値を減算します。

- 「パーセンテージ変更」 (「100.0 * (CurrentX - ComparisonX) / ComparisonX」)。ソース列から比較列の値を減算し、パーセンテージで表現します。

- 「指数」 (「1.0 * CurrentX / ComparisonX」)。ソース列を比較列で除算します。

- 「パーセント」 (「100.0 * (CurrentX / ComparisonX」))。ソース列を比較列で除算し、パーセンテージで表現します。

- 左下ペインには、選択した計算用に使用可能な特別なケースが表示されます。デフォルト値を保持するか、特別なケースの処理方法を指定できます。たとえば、「変化」計算で、比較列が「NULL」のときに、「NULL」を返すか他の値を返すかを選択できます。
右上ペインで計算を選択し、その計算に関する特別なケースを表示し、設定します。

- 右下ペインには、選択した計算の結果のSQLが表示されます。

図18-7 「計算ウィザード」の新しい「計算」画面

5. 計算の作成を完了したら、「次へ」をクリックします。

6. リポジトリがオンライン・モードで開いていると、「チェックアウト」画面が表示されます。オンライン・モードでは、オブジェクトを変更する前に、そのオブジェクトをチェックアウトする必要があります。「次へ」をクリックして、必要なオブジェクトをチェックアウトします。

7. 「終了」画面に、作成する計算のサマリーが表示されます。変更を行う場合、「戻る」をクリックするか、ナビゲーション・パネルから特定の手順を選択します。

8. 「終了」をクリックします。新しい計算列が作成されます。

19 Oracle BI Repositoryでの変数の使用

この章では、Oracle BIリポジトリで変数を使用して管理タスクを効率化したり、変化するデータ環境に合せてメタデータの内容を動的に変更したりする方法について説明します。変数のクラスは、リポジトリ変数とセッション変数の2種類があります。

- リポジトリ変数は、任意の時点で1つの値を持ちます。リポジトリ変数には、静的と動的の2種類があります。

- セッション変数は、各ユーザーのログイン時に作成され、値が割り当てられます。セッション変数には、システムとシステム以外の2種類があります。

初期化ブロックは、動的リポジトリ変数、システム・セッション変数、およびシステム以外のセッション変数を初期化するために使用されます。

管理ツールで変数マネージャを使用して変数を定義できます。「変数マネージャ」ダイアログには2つのペインがあります。左ペインには変数および初期化ブロックが表示され、右ペインには左ペインで選択した項目の詳細が表示されます。リポジトリ変数、システム・セッション変数、およびシステム以外のセッション変数は疑問符アイコンで表されます。初期化ブロックのアイコンは、疑問符と時計のラベル付のキューブです。

注意:
変数にはオブジェクト権限が適用されないため、リポジトリ変数およびセッション変数の値は保護されていません。変数の名前を知られたり推測されたりすると、アンサーまたは論理SQL問合せの式でそれを使用できてしまいます。そのため、パスワードなどの機密データをセッション変数またはリポジトリ変数に設定しないでください。

この章には次のトピックが含まれます:

- リポジトリ変数の操作

- セッション変数の操作

- 初期化ブロックの操作

- マルチソース・セッション変数の使用

リポジトリ変数の操作

この項では、リポジトリ変数の操作について説明します。内容は次のとおりです。

- リポジトリ変数について

- リポジトリ変数の作成

リポジトリ変数について

リポジトリ変数は、任意の時点で1つの値を持ちます。リポジトリ変数は、管理ツールの式ビルダーでリテラルや定数がかわりに使用できます。Oracle BIサーバーは、リポジトリ変数の値をメタデータの変数自身に代入します。

この項には次のトピックが含まれます:

- 静的リポジトリ関数について

- 動的リポジトリ変数について

静的リポジトリ関数について

静的リポジトリ変数の値は、「変数」ダイアログで初期化されます。この値は永続し、管理者が変更するまでその値は変わりません。

たとえば、時間帯を様々な日セグメントにグループ化する式を作成するとします。それらのセグメントの1つPrime Timeが午後5時 - 午後10時に相当する場合、次のようにCASE文を作成できます。

CASE WHEN "Hour" >= 17 AND "Hour" < 23 THEN 'Prime Time' WHEN... ELSE...END

ここで、Hourは論理列で、たいてい日付と時刻関数Hour(<<timeExpr>>)を使用してタイムスタンプ物理列にマップされています。

17 - 23の数字を定数としてこの式に入力するかわりに、「変数」ダイアログの「変数」タブを使用して、prime_beginという名前の静的リポジトリ変数を設定し、それを17の値に初期化してから、prime_endという名前の変数を作成して、それを23の値に初期化します。

静的リポジトリ変数は、数値または文字値のいずれかのデフォルト・イニシャライザが必要です。また、式ビルダーを使用して、Date、Time、TimeStampなどのデフォルト・イニシャライザとして定数を挿入できます。静的リポジトリ変数のデフォルト・イニシャライザとして他の値または式を使用することはできません。

以前のリリースの管理ツールでは、静的リポジトリ変数のデフォルト・イニシャライザの値に制限はありませんでした。そのため、リポジトリが以前のリリースからアップグレードされている場合、整合性チェッカで次のような警告が表示される場合があります。

The variable, 'Current Month' does not have a constant default initializer.

このような警告が表示される場合、デフォルト・イニシャライザが定数値を持つように関連する静的リポジトリ変数を更新します。

動的リポジトリ変数について

動的リポジトリ変数は静的変数と同様に初期化しますが、その値は問合せから返されたデータでリフレッシュされます。動的リポジトリ変数を定義する場合、初期化ブロックを作成するかSQL問合せを含む既存の初期化ブロックを使用します。また、Oracle BIサーバーが問合せを実行して変数の値を定期的にリフレッシュするようにスケジュールを設定します。

動的リポジトリ変数の値が変更されると、その変数の値を参照するビジネス・モデルに関連付けられたすべてのキャッシュ・エントリは自動的にパージされます。

それぞれの問合せで複数の変数をリフレッシュできます(問合せの各列ごとに1つの変数)。これらの問合せはOracle BIサーバーで実行するようにスケジュールします。

動的リポジトリ変数は、論理表ソースのコンテンツを定義する際に有用です。たとえば、注文に関する情報に2つのソースがあるとします。1つのソースには最近の注文が含まれ、もう一方のソースには履歴データが含まれます。

「論理表ソース」ダイアログの「コンテンツ」タブで、これらのソースの内容を記述する必要があります。動的リポジトリ変数を使用しない場合、次のような式で最近のデータを含むソースの内容を記述します。

Orders.OrderDates."Order Date" >= TIMESTAMP '2001-06-02 00:00:00'

この内容の記述は、新しいデータが最近のソースに追加され、古いデータが履歴ソースに移動すると無効になります。最近のソースの新しい内容を正確に反映するには、その内容の部分の記述を手動で変更する必要があります。動的リポジトリ値は、それを自動的に実行するように設定できます。

もう一つのお薦めの動的リポジトリ変数の使用方法は、論理表ソースのWHERE句フィルタで使用することです。これは、「論理表ソース」ダイアログの「コンテンツ」タブで定義します。

これらの変数は、一般的にはフィルタを設定してOracle BIプレゼンテーション・サービスで使用します。たとえば、動的リポジトリ変数CurrentMonthの値で列をフィルタするには、フィルタをCurrentMonthに設定します。

リポジトリ変数の作成

この項では、リポジトリ変数の作成方法について説明します。

リポジトリ変数を作成する手順は次のとおりです。

1. 管理ツールで、「管理」を選択してから「変数」を選択します。

2. 「変数マネージャ」ダイアログで、「アクション」→「新規」→「リポジトリ」→「変数」を選択します。

3. 「変数」ダイアログで、変数名を入力します。
すべての変数名は一意にする必要があります。システム・セッション変数の名前は予約されており、他の変数の型で使用することはできません。

4. 変数の型を選択します(「静的」または「動的」)。

5. 「動的」を選択した場合、「初期化ブロック」リストを使用して、継続的に値のリフレッシュに使用する既存の初期化ブロックを選択します。リポジトリ変数を作成し、それを使用して階層列の選択手順をオーバーライドする場合、初期化文字列がJSON構文で書かれている初期化ブロックを選択する必要があります。詳細は、「選択手順をオーバーライドする変数で使用される初期化文字列」を参照してください。
新しい初期化ブロックを作成するには、「新規」をクリックします。詳細は、「初期化ブロックの作成」を参照してください。

6. デフォルト・イニシャライザの値を追加するには、「デフォルトのイニシャライザ」ボックスに値を入力するか、「式ビルダー」ボタンをクリックして式ビルダーを使用します。
静的リポジトリ変数の場合、「デフォルトのイニシャライザ」ウィンドウで指定した値は永続します。この値は管理者が変更するまで変わりません。文字列を使用して変数を初期化する場合、文字列を一重引用符( ' )で囲みます。静的リポジトリ変数は、定数値のデフォルト・イニシャライザを持つ必要があります。

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

式ビルダーでのリポジトリ変数の使用

リポジトリ変数を作成すると、式ビルダーで変数が使用できるようになります。式ビルダーで左ペインの「リポジトリ変数」フォルダをクリックすると、中央ペインにすべてのリポジトリ変数(静的変数と動的変数の両方)の名前が表示されます。

式でリポジトリ変数を使用するには、それを選択してダブルクリックします。式ビルダーはそれをアクティブなカーソル挿入ポイントの式に貼り付けます。

変数は、関数VALUEOF()の引数として使用する必要があります。変数をダブルクリックしてそれを式に貼り付けると、自動的にそのように処理されます。

たとえば、次のCASE文は前の例で説明したものと同じことをしています。ただし、変数は定数に置き換えられています。

CASE WHEN "Hour" >= VALUEOF("prime_begin")AND "Hour" < VALUEOF("prime_end") THEN 'Prime Time' WHEN ... ELSE...END

注意:
変数を使用して、列やその他のリポジトリ・オブジェクトを表すことはできません。

セッション変数の操作

この項では、セッション変数の操作について説明します。内容は次のとおりです。

- セッション変数について

- セッション変数の作成

セッション変数について

セッション変数は、初期化ブロックから値を取得するという点で動的リポジトリ変数と似ています。ただし、動的リポジトリ変数と異なり、セッション変数の初期化はスケジュールされません。ユーザーがセッションを開始すると、Oracle BIサーバーではセッション変数の新しいインスタンスを作成し、それを初期化します。

リポジトリ変数と異なり、セッション変数のインスタンスはOracle BIサーバー上のアクティブなセッションと同じ数だけあります。セッション変数の各インスタンスは、異なる値で初期化できます。

セッション変数は、主に、データベース表やLDAPサーバーなどの外部ソースに対してユーザーを認証する際に使用されます。ユーザーの認証が成功すると、セッション変数を使用してそのセッションのフィルタおよび権限を設定できます。セキュリティの設定時のセッション変数の使用の詳細は、『Oracle Fusion Middleware Oracle Business Intelligence Enterprise Editionセキュリティ・ガイド』のセッション変数の管理に関する項を参照してください。

この項には次のトピックが含まれます:

- システム・セッション変数について

- システム以外のセッション変数について

システム・セッション変数について

システム・セッション変数は、Oracle BIサーバーおよびOracle BIプレゼンテーション・サービスが特定の目的に使用するセッション変数です。システム・セッション変数には、他の種類の変数(静的または動的のリポジトリ変数およびシステム以外のセッション変数)に使用できない予約された名前があります。

Oracle BIプレゼンテーション・サービスでこれらの変数を使用する場合、名前の前にNQ_SESSIONを付けます。たとえば、列を変数LOGLEVELの値でフィルタするには、フィルタを変数NQ_SESSION.LOGLEVELに設定します。

表19-1に、使用可能なシステム・セッション変数を示します。

表19-1 システム・セッション変数

変数

説明

USER

ユーザーがログオン名として入力した値を保持します。この値は、一般には、ユーザーのLDAPプロファイルから移入されます。

USERGUID

ユーザーの一意のグローバル識別子(GUID)が格納されます。一般的には、ユーザーのLDAPプロファイルから移入されます。

GROUP

ユーザーが属するグループが格納されます。以前のリリースとの互換性のためにのみ存在します。レガシー・グループは、自動的にアプリケーション・ロールにマップされます。

ユーザーが複数のグループに属している場合、グループ名をセミコロンで区切って同じ列に含めます(例: GroupA;GroupB;GroupC)。セミコロンをグループ名の一部として含める必要がある場合は、セミコロンの前に円記号(\)を付けてください。

ROLES

ユーザーが属するアプリケーション・ロールが格納されます。

ユーザーが複数のロールに属している場合、ロール名をセミコロンで区切って同じ列に含めます(例: RoleA;RoleB;RoleC)。セミコロンをロール名の一部として含める必要がある場合は、セミコロンの前に円記号(\)を付けてください。

ROLEGUIDS

ユーザーが属するアプリケーション・ロールの一意のグローバル識別子(GUID)が格納されます。アプリケーション・ロールのGUIDは、アプリケーション・ロール名と同じです。

PERMISSIONS

oracle.bi.server.manageRepositoriesなど、ユーザーが保持する権限が格納されます。

PROXY

プロキシ・ユーザーの名前を保持します。プロキシ・ユーザーは、他のユーザーとして務めることが認可されているユーザーです。

PROXYシステム・セッション変数の詳細は、『Oracle Fusion Middleware Oracle Business Intelligence Enterprise Editionセキュリティ・ガイド』を参照してください。

WEBGROUPS

ユーザーが属するカタログ・グループ(プレゼンテーション・サービス・グループ)があれば、それを指定します。ただし、カタログ・グループよりアプリケーション・ロールを使用することをお薦めします。

ユーザーが複数のカタログ・グループに属している場合、カタログ・グループ名をセミコロンで区切って同じ列に含めます(例: WebgroupA;WebgroupB;WebgroupC)。セミコロンをカタログ・グループ名の一部として含める必要がある場合は、セミコロンの前に円記号(\)を付けてください。

DISPLAYNAME

Oracle BIプレゼンテーション・サービスで使用されます。これは、Oracle BIプレゼンテーション・サービス・ユーザー・インタフェースの挨拶でユーザーに表示される名前が格納されます。また、カタログ・オブジェクトの作成者フィールドも保存されます。この変数は、通常、ユーザーのLDAPプロファイルから移入されます。

LOGLEVEL

LOGLEVEL (0 - 5の数字)で、Oracle BIサーバーがユーザーの問合せに使用するログ・レベルを決定します。

このシステム・セッション変数は、管理ツールのユーザー・オブジェクトに定義されている変数を上書きします。(インストールで定義されている)管理ユーザーのログ・レベルが4に定義されており、リポジトリで定義されているセッション変数LOGLEVELの値が0の場合、0の値が適用されます。

DESCRIPTION

ユーザーの説明が格納されます。一般的には、ユーザーのLDAPプロファイルから移入されます。

USERLOCALE

ユーザーのロケールが格納されます。一般的には、ユーザーのLDAPプロファイルから移入されます。

DISABLE_CACHE_HIT

Oracle BIサーバー結果キャッシュ・ヒットの有効化または無効化に使用されます。この変数の有効値は0または1です。

DISABLE_CACHE_SEED

Oracle BIサーバー結果キャッシュ・シードの有効化または無効化に使用されます。この変数の有効値は0または1です。

DISABLE_SUBREQUEST_CACHE

Oracle BIサーバー・サブリクエスト・キャッシュ・ヒットおよびシードの有効化または無効化に使用されます。この変数の有効値は0または1です。

SELECT_PHYSICAL

問合せをSELECT_PHYSICAL問合せとして識別します。詳細は、「SELECT_PHYSICALの構文と使用上の注意」を参照してください。

DISABLE_PLAN_CACHE_HIT

Oracle BIサーバー計画キャッシュ・ヒットの有効化または無効化に使用されます。この変数の有効値は0または1です。

DISABLE_PLAN_CACHE_SEED

Oracle BIサーバー計画キャッシュ・シードの有効化または無効化に使用されます。この変数の有効値は0または1です。

TIMEZONE

ユーザーのタイム・ゾーンが格納されます。一般的には、ユーザーのLDAPプロファイルから移入されます。

WEBLANGUAGE

Oracle BIプレゼンテーション・サービスで使用されます。Oracle BIプレゼンテーション・サービス・ユーザー・インタフェース表示言語を保持します。ユーザーは、Oracle BI EEのサインイン・ページで言語を選択できます。または、サインインした後に、「マイ・アカウント」ダイアログの「プリファレンス」タブで言語設定を変更できます。

AUTHINITBLOCKONLY

認証に必要な初期化ブロックが実行されるかどうかを判別します。この変数の値は「はい」です。この値には大/小文字区別はありません。

PORTALPATH

Oracle BIプレゼンテーション・サービスで使用されます。これは、ユーザーがログインしたときに表示されるデフォルトのダッシュボードを特定します(ユーザーはログオン後にこのプリファレンスを上書きできます)。

REQUESTKEY

Oracle BIプレゼンテーション・サービスで使用されます。同じリクエスト・キー(ブランク以外)を持つユーザーは、同じOracle BIプレゼンテーション・サービス・キャッシュ・エントリを共有します。これによってOracle BIプレゼンテーション・サービスは、これらのユーザーがOracle BIサーバーで同一のコンテンツ・フィルタおよびセキュリティを持つことを認識します。Oracle BIプレゼンテーション・サービス・キャッシュ・エントリを共有すると、Oracle BIサーバーとの間に発生する不要な通信を最小化できます。

SKIN

Oracle BIプレゼンテーション・サービス・ユーザー・インタフェースのルック・アンド・フィールの特定の要素を決定します。ユーザーは、Oracle BIプレゼンテーション・サービスにログオンしたときにスタイルを選択して、ユーザー・インタフェースの一部の要素を変更できます。SKIN変数で、変更不能の要素(GIFファイルなどの図)が格納されるOracle BIプレゼンテーション・サービス・フォルダを指定します。このようなディレクトリ名は、「sk_」で始まります。たとえば、「sk_companyx」というフォルダの場合、SKIN変数には「companyx」と設定します。

システム以外のセッション変数について

システム・セッション変数と同じ手順を使用して、システム以外のセッション変数を定義します。

システム以外のセッション変数は、一般的にはユーザー・フィルタの設定に使用されます。たとえば、SalesRegionというシステム以外の変数を、ユーザーの販売地域の名前に初期化するように定義できます。

そこで、グループのすべてのメンバーにその地域に関連するデータの参照のみを許可するようにセキュリティ・フィルタを設定できます。

Oracle BIプレゼンテーション・サービスでこれらの変数を使用する場合、名前の前にNQ_SESSIONを付けます。たとえば、列を変数SalesRegionの値でフィルタするには、フィルタを変数NQ_SESSION.SalesRegionに設定します。

セッション変数の作成

この項では、セッション変数の作成方法について説明します。

セッション変数を作成する手順は次のとおりです。

1. 管理ツールで、「管理」を選択してから「変数」を選択します。

2. 「変数マネージャ」ダイアログで、「アクション」→「新規」→「セッション」→「変数」を選択します。

3. 「セッション変数」ダイアログで、変数名を入力します。
すべての変数名は一意にする必要があります。システム・セッション変数の名前は予約されており、他の変数の型で使用することはできません。

4. セッション変数の場合、次のオプションを選択できます。

- ユーザーによる値の設定を可能にする。このオプションを選択すると、ODBCストアド・プロシージャNQSSetSessionValue()をコールして(ユーザー・ログイン時に)初期化ブロックに値を移入した後にセッション変数が設定されます。たとえば、このオプションによって、管理者以外のユーザーがサンプル用にこの変数を設定できるようにすることができます。
NQSSetSessionValues()ストアド・プロシージャは、「Oracle BIプレゼンテーション・サービス管理」での「SQLの発行」ページから使用することはできません。

このオプションが選択されていないと、変数は設定されません。

- セキュリティ・センシティブ。このオプションを選択すると、仮想プライベート・データベース(VPD)などの行レベル・データベース・セキュリティ戦略を使用する際に、その変数をセキュリティ・センシティブと識別します。フィルタ・キャッシュ表に一致すると、Oracle BIサーバーは論理リクエスト・プロジェクトション・リストで参照されるそれぞれの列または表の親データベース・オブジェクトを参照します。データベース・オブジェクトの「仮想プライベート・データベース」オプションが選択されていると、Oracle BIサーバーはセキュリティ・センシティブ変数のリストと見込みのキャッシュ・ヒットをマッチングします。キャッシュ・ヒットは、すべてのセキュリティ・センシティブ変数が含まれて一致しているキャッシュ・エントリでのみ発生します。

5. 「初期化ブロック」リストを使用して、継続的に値のリフレッシュに使用する初期化ブロックを選択します。セッション変数を作成し、それを使用して階層列の選択手順をオーバーライドする場合、初期化文字列がJSON構文で書かれている初期化ブロックを選択する必要があります。詳細は、「選択手順をオーバーライドする変数で使用される初期化文字列」を参照してください。
新しい初期化ブロックを作成するには、「新規」をクリックします。詳細は、「初期化ブロックの作成」を参照してください。

6. デフォルト・イニシャライザの値を追加するには、「デフォルトのイニシャライザ」ボックスに値を入力するか、「式ビルダー」ボタンをクリックして式ビルダーを使用します。

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

初期化ブロックの操作

初期化ブロックは、動的リポジトリ変数、システム・セッション変数、およびシステム以外のセッション変数を初期化するために使用されます。たとえば、NQ_SYSTEM初期化ブロックはシステム・セッション変数をリフレッシュするために使用されます。

この項には次のトピックが含まれます:

- 変数を含む初期化ブロックの使用について

- 初期化ブロックの作成

- 変数と初期化ブロックとの関連付け

- 実行優先度の確立

- セッション変数初期化ブロックの実行を遅延できないケース

- 初期化ブロックの有効化と無効化

変数を含む初期化ブロックの使用について

初期化ブロックには、そのブロックに関連付けられた変数を初期化またはリフレッシュするために実行されるSQL文が含まれます。このSQL文は、「初期化ブロック」ダイアログの「接続プール」フィールドで指定された接続プールを使用してアクセスできる物理表を参照する必要があります。

初期化ブロックの問合せにデータベース固有のSQLを含める必要がある場合、その問合せのデータベース・タイプを選択できます。初期化ブロックをインスタンス化したときにそのデータベース・タイプのSQL初期化文字列が定義されていると、その文字列が使用されます。そうでなければ、デフォルトの初期化SQL文字列が使用されます。

注意:
デフォルトでは、「初期化ブロック」ダイアログをオンライン・モードで編集用に開くと、初期化ブロック・オブジェクトは自動的にチェックアウトされます。初期化ブロックがチェックアウトされている間、設定されているリフレッシュ間隔に応じて、Oracle BIサーバーはこの初期化ブロックでリフレッシュされる動的変数の値をリフレッシュし続けることができます。初期化ブロックをチェックインすると、動的変数の値はデフォルトのイニシャライザで示された値にリセットされます。この処理を実行しない場合は、「チェックアウトを元に戻す」オプションを使用します。

この項には次のトピックが含まれます:

- 動的リポジトリ変数の初期化

- セッション変数の初期化

- 行単位の初期化について

動的リポジトリ変数の初期化

動的リポジトリ変数の値は、「初期化ブロック」ダイアログの「デフォルトの初期化文字列」フィールドで定義された問合せによって設定されます。また、Oracle BIサーバーが問合せを実行して変数の値を定期的にリフレッシュするようにスケジュールを設定します。Oracle BIサーバーを停止して再起動すると、サーバーは自動的にリポジトリ変数初期化ブロックのSQL文を実行して、リポジトリ変数を再度初期化します。

(インストール時に設定された)管理者アカウントのログ・レベルが2以上に設定されていると、Oracle BIサーバーはリポジトリ変数情報を取得するために発行されたすべてのSQL問合せをnqquery.logに記録します。管理者のログ・レベルを2に設定すると、最も有用な情報のレベルが提供されます。nqquery.logファイルは次の場所にあります。

ORACLE_INSTANCE\diagnostics\logs\OracleBIServerComponent\coreapplication_obisn

ユーザーレベルのログの詳細は、『Oracle Fusion Middleware Oracle Business Intelligence Enterprise Editionシステム管理者ガイド』の問合せログの管理に関する項を参照してください。

セッション変数の初期化

動的リポジトリ変数と同様に、セッション変数も初期化ブロックからその値を取得します。動的リポジトリ変数と異なり、セッション変数はスケジュールされた時間の間隔で更新されません。そのかわり、ユーザーが新しいセッションを開始するたびに、Oracle BIサーバーはこれらの変数の新しいインスタンスを作成します。その値は、セッションの間変わりません。

セッション・ログイン時のセッション変数初期化ブロックの実行は、それに関連付けられたセッション変数が実際にセッション内でアクセスできるようになるまで遅延することができます。詳細は、「初期化ブロックの作成」を参照してください。

Identity Managerのユーザー・オブジェクトでログ・レベルが2以上に設定されている場合、または変数マネージャでLOGLEVELシステム・セッション変数が2以上に設定されている場合、Oracle BIサーバーはセッション変数情報を取得するために発行されたすべてのSQL問合せをログに記録します。

nqquery.logファイルのデフォルトの場所は次のとおりです。

ORACLE_INSTANCE\diagnostics\logs\OracleBIServerComponent\coreapplication_obisn

ユーザーレベルのログの詳細は、『Oracle Fusion Middleware Oracle Business Intelligence Enterprise Editionシステム管理者ガイド』の問合せログの管理に関する項を参照してください。

行単位の初期化について

行単位の初期化オプションを使用して、セッション変数を動的に作成し、セッションの開始時にそれらの値を設定することができます。セッション変数の名前および値は、接続プールを介してアクセスする外部データベースに格納されます。変数は、「初期化ブロック」ダイアログで入力した初期化文字列からその値を受け取ります。

たとえば、RW_SESSION_VARSという名前の表に含まれる値を使用してセッション変数を作成するとします。この表には次の3つの列が含まれます。

- USERID: ユーザーの一意のIDを表す値が含まれます。

- NAME: セッション変数名を表す値が含まれます。

- VALUE: セッション変数の値を表す値が含まれます。

表19-2に、この例の表を示します。

表19-2 サンプル・セッション変数データベース表

USERID

NAME

VALUE

JOHN

LEVEL

4

JOHN

STATUS

FULL-TIME

JANE

LEVEL

8

JANE

STATUS

FULL-TIME

JANE

GRADE

AAA

行単位の初期化を使用するには、初期化ブロックを作成して「行単位の初期化」オプションを選択します(「初期化ブロックの作成」を参照)。この例では、初期化文字列に次のSQL文を指定します。

SELECT NAME, VALUE
FROM RW_SESSION_VARS
WHERE USERID='VALUEOF(NQ_SESSION.USERID)'

NQ_SESSION.USERIDは、別の初期化ブロックを使用してすでに初期化されているので注意してください。

次のセッション変数が作成されます。

- JohnがOracle BIサーバーに接続すると、そのセッションには行単位の初期化からの2つのセッション変数が含まれます(LEVEL: 値は4、STATUS: 値はFULL_TIME)。

- JaneがOracle BIサーバーに接続すると、そのセッションには行単位の初期化からの3つのセッション変数が含まれます(LEVEL: 値は8、STATUS: 値はFULL-TIME、GRADE: 値はAAA)。

値リストを含む変数の初期化

行単位の初期化オプションを使用して、値リストを含む変数を初期化することもできます。SQLのIN演算子を使用して、指定されたリストの値をテストできます。

たとえば、前の例の表の値を使用して、次のSQL文を入力して初期化文字列を取得します。

SELECT 'LIST_OF_USERS', USERID
FROM RW_SESSION_VARS
WHERE NAME='STATUS' AND VALUE='FULL-TIME'

このSQL文により、変数LIST_OF_USERSに、JOHNとJANEの値を含むコロン区切りのリスト(JOHN:JANE)が移入されます。次のWHERE句に示すように、フィルタでこの変数を使用できます。

WHERE TABLE.USER_NAME = valueof(NQ_SESSION.LIST_OF_USERS)

変数LIST_OF_USERSには、値リスト(1つ以上の値)が含まれます。論理WHERE句は、次の文のような物理IN句に展開されます。

WHERE TABLE.USER_NAME IN ('JOHN', 'JANE')

前述の説明および例は、論理SQLに固有の内容です。値のリストと変数を物理SQLを使用して初期化する場合、VALUELISTOF関数を使用する必要があります。たとえば、変数LIST_OF_USERS内のユーザー名に割り当てられた顧客を取得するためには、次の文を使用します。

Select 'LIST_OF_CUSTOMERS', Customer_Name from RW_CUSTOMERS where RW.CUSTOMERS.USER_NAME in (VALUELISTOF(NQ_SESSION.LIST_OF_USERS))

リストに表示されている指定された値のみでフィルタをするには、ValueNameofを使用して、次の例のようにします。最初の値は「0」であることに留意してください。「1」ではありません。

Select 'LIST_OF_CUSTOMERS', Customer_Name from RW_CUSTOMERS where RW.CUSTOMERS.USER_NAME in '(ValueNameOf(0,NQ_SESSION.LIST_OF_USERS))

初期化ブロックの作成

初期化ブロックの詳細は、「変数を含む初期化ブロックの使用について」を参照してください。

初期化ブロックを作成するには、次の項の手順を実行します。

- 名前およびスケジュールの初期化ブロックへの割当て

- データソースおよび接続プールの選択およびテスト

名前およびスケジュールの初期化ブロックへの割当て

リポジトリ変数では、開始日時の日、日付、および時刻、およびリフレッシュ間隔を指定できます。

名前およびスケジュールを初期化ブロックに割り当てる手順は次のとおりです。

1. 管理ツールで、「管理」を選択してから「変数」を選択します。

2. 「変数マネージャ」ダイアログの「アクション」メニューで、「新規」→「リポジトリ」 (または「セッション」)→「初期化ブロック」を選択します。

3. 「リポジトリ変数初期化ブロック」または「セッション変数初期化ブロック」のダイアログで、ブロックの名前を入力します。(NQ_SYSTEM初期化ブロック名は予約されています。)

4. (リポジトリ初期化ブロックのみ)「スケジュール」エリアで、開始日付および時刻とリフレッシュ間隔を選択します。

5. (セッション初期化ブロックのみ)必要に応じて、次のオプションを選択します。

- 無効。このオプションを選択すると、初期化ブロックは無効になります。
変数マネージャで既存の初期化ブロックを右クリックして、「無効化」または「有効化」を選択することもできます。このオプションにより、初期化ブロック・ダイアログを開くことなく、このプロパティを変更できます。

- 遅延実行の許可。このオプションを選択すると、初期化ブロックの実行は関連付けられたセッション変数にセッション中に初めてアクセスできるようになるまで遅延されます。
このオプションを使用することで、セッション・ログオン・ステージ時にすべてのセッション変数初期化ブロックが実行されることはなくなり、ログオン時間が短くなります。セッション中に不要なセッション変数は、初期化ブロックが実行されません。そのため、これらの不要な初期化ブロックの実行に使用されるリソースが節約されます。

初期化ブロックの遅延実行は、すべての未実行の先行初期化ブロックの実行もトリガーします。関連付けられているすべての初期化ブロックの変数およびその未実行の先行部分は、遅延実行から返された値で更新されます。

注意: 「遅延実行の許可」オプションは、状況によっては使用できない場合があります。詳細は、「セッション変数初期化ブロックの実行を遅延できないケース」を参照してください。

- 認証のために必要。このオプションを選択すると、この初期化ブロックはユーザーのログインに成功する必要があります。つまり、初期化ブロックの実行に失敗すると、ユーザーはOracle Business Intelligenceへのアクセスが拒否されます。初期化ブロックで不正な資格証明が拒否された場合、またはデフォルトの初期化文字列にエラーがある場合は、実行が失敗する可能性があります。
単一のユーザー・セッション変数が初期化ブロックに関連付けられている場合、この要件は偽装を使用する内部プロセス(デリバーなど)には適用されません。その場合、信頼できる内部プロセスが、初期化ブロックの成否にかかわらず、接続できます。

次の手順は、データソースおよび接続プールを選択することです。

データソースおよび接続プールの選択およびテスト

初期化ブロックのデータソース・タイプとして「データベース」を選択する場合、データベースから返されるSQL文の列の値は、初期化ブロックに関連付けられた変数に割り当てられます。セッション変数初期化ブロックでは、「LDAPサーバー」や「カスタム認証システム」も選択できます。

「データベース」をデータソース・タイプとして選択する初期化ブロックの専用接続プールを作成することをお薦めします。さらに、Oracle BIサーバーの起動中に、初期化ブロックが特定の接続プールに対して失敗した場合、その接続プールを使用する初期化ブロックはそれ以上処理されません。そのかわり、接続プールはブラックリストに記載され、その接続プールの後続の初期化ブロックはスキップされます。詳細は、「初期化ブロックの接続プールについて」を参照してください。

データソース・タイプとして「データベース」を選択した場合:

- データソース・タイプとして「データベース」を選択し、「OBI EEサーバーの使用」オプションを選択しない場合、次のように処理されます。
変数のリフレッシュに使用されるSQL文は、「接続プール」フィールドで指定された接続プールを介してアクセスできる物理表を参照する必要があります。この表は、メタデータの物理レイヤーに含まれる必要はありません。実行時に、データベース・タイプの初期化文字列が定義されている場合、この文字列が使用されます。そうでない場合、そのデータベース・タイプのデフォルトの初期化SQLが使用されます。この文字列は上書きできます。

SQLを作成してそれを直接データベースに送信する場合(たとえば、初期化ブロックでデータベース固有のSQLを使用する場合など)、SQL文はOracle BIサーバーを迂回します。SQL文の列の順序および初期化ブロックに関連付けられた変数の順序により、どの列が各変数に割り当てられるかが決定されます。

[リポジトリ|セッション]変数初期化ブロック・データソースダイアログの「テスト」ボタンを使用して、このSQLをテストする必要があります。SQL文にエラーがある場合、データベースはエラー・メッセージを返します。詳細は、「初期化ブロックのテスト」を参照してください。

- データソース・タイプとして「データベース」を選択し、「OBI EEサーバーの使用」オプションを選択する場合、次のように処理されます。
変数のリフレッシュに使用するSQL文は、特定のデータベース用に記述されている場合があります。ただし、そのSQL文はOracle BIサーバーで処理されるため、他のデータソースでも機能します。Oracle BIサーバーはデータソースで使用できない可能性がある関数(PIなど)を提供することもありますが、そのSQL文はOracle BIサーバーでサポートされる他のデータソース(ADF、SQL Server、OracleおよびXMLファイルなど)では機能します。「OBI EEサーバーの使用」オプションを選択すると、SQL文がOracle BIサーバーに送信され、元になるデータベースには直接送信されされないので、接続プールは不要です。

オンライン・モードの場合、[リポジトリ|セッション]変数初期化ブロック・データソースダイアログの「テスト」ボタンを使用してのみ、このSQL文をテストできます。SQL文にエラーがある場合、データベースはエラー・メッセージを返します。詳細は、「初期化ブロックのテスト」を参照してください。

初期化ブロックのデータソースおよび接続プールを選択する手順は次のとおりです。

1. 管理ツールで、「管理」を選択してから「変数」を選択します。

2. 「変数マネージャ」ダイアログで、編集する初期化ブロックをダブルクリックします。リポジトリ初期化ブロックまたはセッション初期化ブロックを編集できます。

3. 「接続プール」フィールドの横の「データ・ソースの編集」をクリックします。

4. 「データ・ソース・タイプ」リストで、次のタイプのいずれかを選択します。

- データベース: リポジトリ変数およびセッション変数用。

- LDAPサーバー: セッション変数用。

- カスタム認証システム: セッション変数用。『Oracle Fusion Middleware Oracle Business Intelligence Enterprise Editionセキュリティ・ガイド』を参照してください。

5. データソース・タイプに「データベース」を選択している場合、次のいずれかの手順を実行します。

- 「デフォルトの初期化文字列」または「データベース固有のSQLの使用」を選択して、次の手順を実行します。

1. 「接続プール」フィールドの横の「参照」をクリックして、ターゲット情報が存在するデータベースに関連付けられている接続プールを選択します。初期化文字列を入力する前に接続プールを選択していない場合、接続プールを選択するよう促すメッセージが表示されます。

2. 「接続プールの選択」ダイアログで、接続プールを選択して「選択」をクリックします。初期化文字列を入力する前に接続プールを選択する必要があります。
デフォルトでは、物理レイヤーのデータベース・オブジェクトの下の最初の接続プールは選択できません。これにより、問合せに使用する接続プールと同じ接続プールを初期化ブロックで使用できないようになります。詳細は、「初期化ブロックの接続プールについて」を参照してください。

「オプション」ダイアログの「初期化ブロックに最初の接続プールを許可」を選択することで、最初の接続プールを選択可能にするよう動作を変更できますが、これはお薦めしません。詳細は、「管理ツールのオプションの設定」を参照してください。

3. 「データベース固有のSQLの使用」を選択した場合、「データベース」ペインでデータベースを開いて選択します。そこで、それに関連付けられた文字列を入力します。
それを選択しない場合、「デフォルトの初期化文字列」ボックスで変数の移入に必要なSQL初期化文字列を入力します。例は、「初期化文字列の例」を参照してください。

初期化ブロックを編集し、それを使用して階層列の選択手順をオーバーライドする場合、「デフォルトの初期化文字列」ボックスに、JSON初期化文字列を入力します。詳細は、「選択手順をオーバーライドする変数で使用される初期化文字列」を参照してください。

4. (オプション)「テスト」をクリックして、SQL文のデータソース接続をテストします。

5. 「OK」をクリックして、「初期化ブロック」ダイアログに戻ります。

- 「OBI EEサーバーの使用」を選択して、次の手順を実行します。

1. ボックスで、変数の移入に必要なSQL初期化文字列を入力します。
ここで入力した文字列はOracle BIサーバーで処理されるため、Oracle BIサーバーでサポートされていれば、文字列は別のデータソースでも機能します。

たとえば、初期化ブロックは、SQL Serverに固有の関数pi()を使用する場合があります。ただし、「OBI EEサーバーの使用」を選択すると、問合せは、Oracle BIサーバーによって適切なデータベース用に書き換えられます。つまり、SQL Serverバックエンド・データベースをOracleに変更しても、問合せはそのまま機能します。

追加の例は、「初期化文字列の例」を参照してください。

2. 「OK」をクリックして、「初期化ブロック」ダイアログに戻ります。

6. データソース・タイプに「LDAPサーバー」を選択している場合、次の手順を実行します。

1. 「参照」をクリックして既存のLDAPサーバーを選択するか、「新規」をクリックして「LDAPサーバー」ダイアログの「一般」タブを開きLDAPサーバーを作成します。

2. 「OK」をクリックして、「初期化ブロック」ダイアログに戻ります。
LDAPサーバー名とそれに関連付けられたドメイン識別子が「名前」および「ドメイン識別子」列に表示されます。

7. データソース・タイプに「カスタム認証システム」を選択している場合、次の手順を実行します。

1. 「参照」をクリックして既存のカスタム認証システムを選択するか、「新規」を選択してそれを作成します。

2. 「OK」をクリックして、「初期化ブロック」ダイアログに戻ります。

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

選択手順をオーバーライドする変数で使用される初期化文字列

階層列を含む分析で、選択手順はセッション変数またはリポジトリ変数でオーバーライドされます。このセッション変数およびリポジトリ変数では、初期化文字列にSQL構文ではなく有効なJSON構文が含まれている必要があります。

JSONを使用して、タイプ、列およびメンバーを次の構文で定義します。

{
"type": "Hierarchy",
"column": {
"subject_area":"your_subject_area",
"hier_id":"your_hier_id",
"dim_id":"your_dim_id",
"table_name":"your_table_name"
},
"members": [
{
"level_id":"your_level_id",
"values": [
your_value,
your_value
]
},
{
"level_id":"your_level_id",
"values": [
your_value
]
}
]
}

説明:

"type"は、階層タイプを表します。

"column"は、サブジェクト領域および表明などの階層列の情報を表します。

"dim_id"は、論理ディメンション名です。

"members"は、階層レベルおよびメンバーIDを表します。

"level_id"は、プレゼンテーション・レベル名です。

標準的な階層構文の例

{
"type": "Hierarchy",
"column": {
"subject_area": "A - Sample Sales",
"hier_id": "H2 Offices",
"dim_id": "H3 Offices",
"table_name": "Offices"
},
"members": [
{
"level_id": "Company",
"values": [
10001,
10002
]
},
{
"level_id": "Organization",
"values": [
1005
]
}
]
}

親子階層構文の例

{
"type":"Hierarchy",
"column":{
"subject_area":"A - Sample Sales",
"hier_id":"Sales Rep Hierarchy",
"dim_id":"H5 Sales Rep",
"table_name":"Sales Person"
},
"members":[
{
"level_id":"Grand Total",
"values":[
27,
24,
18,
16
]
}
]
}

初期化文字列の例

この項では、次の初期化文字列の例について説明します。

- 例19-1「サイトでデリバーを使用する場合のSQL文字列」

- 例19-2「サイトでデリバーを使用しない場合のSQL文字列」

- 例19-3「複数のデータソースから表を結合するSQL文 - 'OBI EE Server'設定を使用する場合」

例19-1 サイトでデリバーを使用する場合のSQL文字列

SELECT username, groupname, dbname, schemaname FROM users
WHERE username=':USER'
NQS_PASSWORD_CLAUSE(and pwd=':PASSWORD')NQS_PASSWORD_CLAUSE

このSQLのWHERE句には、2つの制約が含まれます。

':USER' (コロンと一重引用符に注目してください)は、ログイン時にユーザーが入力するIDです。

':PASSWORD' (コロンと一重引用符に注目してください)はユーザーが入力するパスワードです。これは、USERシステム・セッション変数が使用される場合、常にともに存在するはずのシステム変数です。PASSWORD変数を設定する必要はありません。この変数はデータベース接続プールで使用することで、ユーザーIDとそのユーザーのパスワードを使用するログインを通過させることができます。またこの変数はSQL文でも使用できます。

デリバーによる外部表認証を使用している場合、:PASSWORD制約を構成するSQL文の一部をNQS_PASSWORD_CLAUSE句の間に埋め込む必要があります。

ユーザーIDとパスワードが指定された表に存在する値と一致する場合にのみ、問合せはデータを返します。USERおよびPASSWORD変数に正しい値を代入し、NQS_PASSWORD_CLAUSE句を削除して、Oracle BIサーバーの外部でSQL文をテストする必要があります。

詳細は、『Oracle Fusion Middleware Oracle Business Intelligence Enterprise Editionシステム管理者ガイド』を参照してください。

例19-2 サイトでデリバーを使用しない場合のSQL文字列

SELECT username, groupname, dbname, schemaname FROM users
WHERE username=':USER'
AND pwd=':PASSWORD'

このSQL文のWHERE句には、2つの制約が含まれます。

':USER' (コロンと一重引用符に注目してください)は、ログイン時にユーザーが入力するIDです。

':PASSWORD' (コロンと一重引用符に注目してください)はユーザーが入力するパスワードです。これは、USERシステム・セッション変数が使用される場合、常にともに存在するはずのシステム変数です。PASSWORD変数を設定する必要はありません。この変数はデータベース接続プールで使用することで、ユーザーIDとそのユーザーのパスワードを使用するログインを通過させることができます。またこの変数はSQL文でも使用できます。

ユーザーIDとパスワードが指定された表に存在する値と一致する場合にのみ、問合せはデータを返します。USERおよびPASSWORD変数に正しい値を代入して、Oracle BIサーバーの外部でSQL文をテストする必要があります。

例19-3 複数のデータソースから表を結合するSQL文 - 'OBI EE Server'設定を使用する場合

select WUSER.name, wuser_detail.email
from "db-11g/orcl"."NAME"."WUSER',
"sqlexpress"."master"."dbo"."wuser_detail"
where username=:USER:

前述の初期化ブロックの問合せの例では、異なるデータソース(SQLServer、Oracle、XML Filesなど)からの複数の表の結合問合せを使用しています。「OBI EEサーバーの使用」オプションを選択すると、問合せがBIサーバーによって指定されたデータソース用に書き換えられるので、この問合せは機能します。

初期化ブロックのテスト

「テスト」ボタンを使用して、またはOracle BI ClientユーティリティなどのSQLツールを使用して、SQL文をテストする必要があります。SQLツールを使用する場合、同じDSNまたは指定された接続プール内のDSNと同一に設定されたDSNを使用してください。

オンライン・モードでは、初期化ブロック・テストは:USERと:PASSWORDをユーザー名とパスワードに使用するように設定された接続プールが機能しません。オフライン・モードでは、:USERと:PASSWORDを移入できるように「変数の値の設定」ダイアログが表示されます。

初期化ブロックをテストする手順は次のとおりです(オプション)。

1. 管理ツールで、「管理」を選択してから「変数」を選択します。

2. 「変数マネージャ」ダイアログで、初期化ブロックをダブルクリックします。

3. 「リポジトリ変数初期化ブロック」または「セッション変数初期化ブロック」のダイアログで、「データ・ソースの編集」をクリックします。

4. [リポジトリ|セッション]変数初期化ブロック・データソースダイアログで、「テスト」をクリックします。
注意: オフライン・モードで「OBI EEサーバーの使用」オプションが選択されていると、「テスト」ボタンは無効になります。

5. 「変数の値の設定」ダイアログで、情報が正しいか確認し、「OK」をクリックします。

6. 表からのデータの表示ダイアログで、問合せの行数と開始行を入力して、「問合せ」をクリックします。
「結果」ダイアログには、変数とその値がリストされます。

次の手順は、変数と初期化ブロックを関連付けることです。

変数と初期化ブロックとの関連付け

デフォルトのイニシャライザのSQLのSELECT文には、複数の列を含めることができます。SQL文の列の順序および初期化ブロックに関連付けられた変数の順序により、各変数に関連付けられる列値が決定されます。そのため、変数を初期化ブロックに関連付けると、最初の列で返された値は、リストの最初の変数に割り当てられます。

リポジトリ変数初期化ブロックの場合、オンライン・モードでリポジトリを開く場合、「初期化ブロック」ダイアログの「デフォルトの初期化文字列」フィールドに表示される値は、Oracle BIサーバーに認識されているその変数の現在の値です。関連付けられた変数の数は、取得される列の数とは異なる場合があります。列よりも変数のほうが数が少ない場合、余分な列値は無視されます。列よりも変数のほうが数が多い場合、追加の変数はリフレッシュされません(それらは、それが何であるかに関係なく元の値を保持します)。正しいSQLであれば初期化ブロックを使用して実行できます。これには、データベースに書き込むSQLおよびデータベース構造を変更するSQLが含まれ、その接続プールに関連付けられたユーザーIDにこれらのアクションの実行をデータベースが許可していると想定されます。

Oracle BIサーバーを停止して再起動すると、サーバーは自動的にリポジトリ変数初期化ブロックのSQL文を実行し、リポジトリ変数を再度初期化します。

セッション変数初期化ブロックでは、「行単位の初期化」を選択できます。「行単位の初期化」オプションを選択すると、「キャッシュの使用」オプションが自動的に選択されます。「キャッシュの使用」オプションが選択されることで、Oracle BIサーバーは問合せの結果をメイン・メモリー・キャッシュに保存することになります。詳細は、「行単位の初期化について」を参照してください。

Oracle BIサーバーは、後続セッション用にキャッシュされた結果を使用します。これにより、セッションの起動時間を短縮できます。ただし、キャッシュされた結果には最新のセッション変数の値が含まれていない場合があります。各新規セッションでセッション変数の最新セットとそれぞれに対応する値が必要な場合、このオプションを選択解除する必要があります。

「変数を含む初期化ブロックの使用について」を参照してください。

変数を初期化ブロックに関連付ける手順は次のとおりです。

1. 管理ツールで、「管理」を選択してから「変数」を選択します。

2. 「変数マネージャ」ダイアログで、編集する初期化ブロックをダブルクリックします。リポジトリ初期化ブロックまたはセッション初期化ブロックを編集できます。

3. 「データ・ターゲットの編集」をクリックします。

4. [リポジトリ|セッション]変数初期化ブロック変数ターゲットダイアログで、次のいずれかの手順を実行します。

- 次のいずれかを実行して、変数を初期化ブロックに関連付けます。

- 「新規」をクリックして、「変数」ダイアログで新しい変数を作成します。変数の作成の詳細は、「リポジトリ変数の作成」または「セッション変数の作成を参照してください。

- 「リンク」をクリックして、既存の変数と初期化ブロックを関連付けます。「参照」ダイアログで、この初期化ブロックでリフレッシュする変数を選択して「OK」をクリックします。

注意:
「カスタム認証システム」データソース・タイプの場合(セッション変数のみ)、変数USERが必要です。

- 「行単位の初期化」を選択します。このオプションは、セッション変数初期化ブロック専用です。詳細は、「行単位の初期化について」を参照してください。「行単位の初期化」を選択すると、「キャッシュの使用」オプションが使用可能になります。

5. 変数を並べ替えるには、変数を選択して「上へ」または「下へをクリックします。

6. 変数とこのブロックとの関連付けを削除するには、変数を選択して「削除」をクリックします。

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

次の手順は実行優先度を確立することです。

実行優先度の確立

リポジトリに複数の初期化ブロックがある場合、ブロックを初期化する順序を設定できます(優先度の確立)。

まず、最後に実行するブロックを開き、その前に実行する初期化ブロックを追加します。たとえば、リポジトリにAとBという2つの初期化ブロックがあるとします。初期化ブロックBを開き、ブロックBの前にブロックAを実行することを指定します。そうすると、ブロックAは自身の単独での実行に加えて、ブロックBのスケジュールに応じても実行されるようになります。

実行優先度を確立する手順は次のとおりです。

1. 管理ツールで、「管理」を選択してから「変数」を選択します。

2. 「変数マネージャ」ダイアログで、最後に初期化する初期化ブロックをダブルクリックします。

3. 「リポジトリ変数初期化ブロック」または「セッション変数初期化ブロック」のダイアログで、「実行優先度の編集」をクリックします。

4. [リポジトリ|セッション]変数初期化ブロック実行プリファレンスダイアログで、「追加」をクリックします。
選択されていない初期化ブロックがある場合にのみ「追加」を使用できます。

5. 「参照」ダイアログで、開いたブロックの前に初期化する必要があるブロックを選択して、「OKをクリックします。

6. ブロックを削除するには、[リポジトリ|セッション]変数初期化ブロック実行プリファレンスダイアログで削除するブロックを選択して、「削除」をクリックします。

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

8. 初期化ブロックを必須にするには、「リポジトリ変数初期化ブロック」または「セッション変数初期化ブロック」のダイアログで、「認証のために必要」オプションを選択します。

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

注意:
初期化ブロックで「OBI EEサーバーの使用」オプションを選択すると、次のような状態になります。

- 実行優先度は適用されません。これは、ユーザーのログイン中に、「OBI EEサーバーの使用」オプションが選択された初期化ブロックが「OBI EEサーバーの使用」オプションが選択されていない初期化ブロックの後に実行されるためです。

- 「認証のために必要」オプションはグレー表示されます。これは、このタイプの初期化ブロックは認証後に実行されるためです。

セッション変数初期化ブロックの実行を遅延できないケース

セッション変数初期化ブロックの実行は、場合によっては遅延できないことがあります。セッション変数初期化ブロックの実行が遅延できない場合、その理由を説明するメッセージが表示されます。詳細は、「名前およびスケジュールの初期化ブロックへの割当て」を参照してください。

セッション変数初期化ブロックの実行を遅延できないシナリオは、次のとおりです。

- セッション変数初期化ブロック変数ターゲット・ダイアログで「行単位の初期化」オプションが選択されていて、変数はデフォルト値を使用して明示的に宣言されていません。
メッセージ例: 初期化ブロック'A_blk'は、行単位の初期化を使用しているため、その実行を遅延することはできません。

- 「セッション変数初期化ブロック」ダイアログで「認証のために必要」オプションが選択されています。
メッセージ例: 初期化ブロック'A_blk'は、認証に必要であるため、その実行を遅延することはできません。

- 「データ・ソース・タイプ」が「データベース」ではありません。
メッセージ例: 初期化ブロック'A_blk'には接続プールがないため、その実行を遅延することはできません。

- PROXYまたはUSERという名前のセッション変数で初期化ブロックが使用されています。
メッセージ例: 初期化ブロック'A_blk'は、セッション変数'PROXY'によって使用されているため、その実行を遅延することはできません。

- 「セッション変数」ダイアログで「セキュリティ・センシティブ」オプションが選択されているセッション変数で初期化ブロックが使用されています。
メッセージ例: 初期化ブロック'A_blk'はセキュリティ・センシティブなセッション変数'A'で使用されているため、その実行を遅延することはできません。

- その初期化ブロックが、「遅延実行の許可」オプションが選択されていない別の初期化ブロックの先行ブロックです。
メッセージの例: 初期化ブロック'A_blk'の後の初期化ブロックの1つにAllow deferred executionフラグが設定されていません。初期化ブロック'B_blk'にAllow deferred executionフラグが設定されていません。

初期化ブロックの有効化と無効化

管理ツールの変数マネージャを使用して、初期化ブロックを有効化および無効化できます。

初期化ブロックを有効化または無効化する手順は次のとおりです。

1. 管理ツールで、「管理」を選択してから「変数」を選択します。変数マネージャが表示されます。

2. 左ペインの「リポジトリ」または「セッション」の下で「初期化ブロック」を選択します。選択する場所は、有効化または無効化の対象がリポジトリ初期化ブロックかセッション初期化ブロックかにより異なります。

3. 右ペインで、有効化または無効化する初期化ブロックを右クリックします。

4. 右クリック・メニューから「有効化」または「無効化」を選択します。

5. 変数マネージャを閉じてリポジトリを保存します。

マルチソース・セッション変数の使用

1つのデータ・ソースから移入される通常のセッション変数をサポートするだけでなく、Oracle Business Intelligenceでは、複数のデータ・ソースから移入可能なセッション変数もサポートしています。このようなマルチソース・セッション変数は論理問合せまたはリポジトリのデータ・フィルタ内で使用でき、様々なデータ・ソースからの値の結合を含めることができます。マルチソース・セッション変数が保持できる値の数に制限はありません。マルチソース・セッション変数を作成するには、まず、ソースごとに行単位の初期化ブロックを作成します。

次に、ソースごとにセッション変数を明示的に定義します。セッション変数名のフォーマットは、次のようにする必要があります。

- <ms_variable_name>____<source>

ここで、セパレータは4つのアンダースコア文字である必要があります。

これによって、次の名前のマルチソース・セッション変数1つが自動的に作成されます。

- <ms_variable_name>

コンポーネント・セッション変数名(<ms_variable_name>____<source>)は、管理ツールの「変数マネージャ」には個別に表示されますが、「式ビルダー」では1つのマルチソース・セッション変数名(<ms_variable_name>)のみが表示されます。

注意:
この項では主としてマルチソース・セッション変数の定義と使用法について説明していますが、論理問合せとデータ・フィルタでコンポーネント・セッションの値を選択することもできます。

行単位の初期化ブロックのいずれかがNULL結果を返した場合、それはOracle BIサーバーのログ、nqserver.logにログインされます。正常に値を返した他のコンポーネント初期化ブロックのマルチソース・セッション変数にも値を追加できます。マルチソース・セッション変数は、すべてのコンポーネント初期化ブロックがNULL値を返した場合のみ失敗します。

マルチソース・セッション変数についても、通常のセッション変数と同様に、実行優先度と遅延実行を設定できます。

マルチソース・セッション変数の作成と使用方法の説明例

次の例では、マルチソース・セッション変数の作成と使用方法を示しています。

1. 管理ツールの「変数マネージャ」で、「アクション」→「新規」→「セッション」→「初期化ブロック」を選択します。

2. デフォルトの初期化文字列に対して次のSQLを指定して、mvcountry_sebl_initという行単位の初期化ブロックを作成します。

select distinct 'MVCOUNTRY____SEBL', country from siebel_table

3. デフォルトの初期化文字列に対して次のSQLを指定して、mvcountry_orcl_initという行単位の初期化ブロックを作成します。

select distinct 'MVCOUNTRY____ORCL', country from oracle_table

4. まだ「変数マネージャ」で、「アクション」→「新規」→「セッション」→「変数」を選択します。

5. MVCOUNTRY____SEBLというセッション変数を、変数名とソース名の間に4つのアンダースコアが含まれていることを確認して、作成します。「初期化ブロック」に対してmvcountry_sebl_initを選択します。

6. MVCOUNTRY____ORCLという2つ目のセッション変数を、変数名とソース名の間に4つのアンダースコアが含まれていることを確認して、作成します。「初期化ブロック」に対してmvcountry_orcl_initを選択します。

コンポーネント・セッション変数は「変数マネージャ」に表示されるのに対し、作成されたマルチソース・セッション変数、MVCOUNTRYは「式ビルダー」に表示されます。

論理問合せでのマルチソース・セッション変数の使用方法

これで、マルチソース・セッション変数MVCOUNTRYを論理問合せで使用できるようになりました。

次に例を示します。

select lastName, firstName, country from employee
where country=VALUEOF(NQ_SESSION.MVCOUNTRY)

データ・フィルタでのマルチソース・セッション変数の使用方法

マルチソース・セッション変数MVCOUNTRYをデータ・フィルタで使用するには、次の手順を実行します。

1. 管理ツールで、「管理」を選択し、「アイデンティティ」を選択します。

2. 「Identity Manager」ダイアログのツリー・ペインで、「BIリポジトリ」を選択します。

3. 右のペインで「アプリケーション・ロール」タブを選択し、データ・フィルタを設定するアプリケーション・ロールをダブルクリックします。

4. 「アプリケーション・ロール」ダイアログで「権限」をクリックします。

5. 「ユーザー/アプリケーション・ロール権限」ダイアログで、「データ・フィルタ」タブをクリックします。

6. 「データ・フィルタ」タブで、次のデータ・フィルタ式を作成します。

- Country=VALUEOF(NQ_SESSION.MVCOUNTRY)

次のイメージに示すように、「式ビルダー」には、マルチソース・セッション変数MVCOUNTRYのみが表示され、このマルチソース・セッション変数の作成に使用した通常のセッション変数は表示されないことに注意してください。

A マルチユーザー開発環境のリポジトリ・ライフサイクルの管理

この付録では、マルチユーザー開発環境を使用する際のOracle BIリポジトリのライフサイクルの管理に関するベスト・プラクティスについて説明します。

マルチユーザー開発環境を使用してOracle BIリポジトリを構築すると、次のことが可能になります。

- 大規模で統合化されたセマンティック・モデルを構築できます。

- 複数の独立したセマンティック・モデルを個別に構築して、同一のOracle BIサーバーおよびプレゼンテーション・サービス・サーバーで稼働できます。

- 本番バージョンで緊急の不具合や機能拡張の要求に対応しながら、様々なスケジュールで複数のブランチを並列して開発できます。

- 個人レベルおよびチーム・レベルで、段階的に設計およびテストできます。

- 個別の開発者で管理可能なサブセットを相互に影響することなく設計およびテストできます。これらの変更は、段階的に管理され、他の開発者と共有できます。

- テスト・システムまたは本番システムへの変更を、まとめてまたは段階的に移行できます。

この付録では、Oracle BIリポジトリの開発ライフサイクルについて説明します。ここでは、プレゼンテーション・サービスで使用されるOracle BIプレゼンテーション・カタログの開発ライフサイクルについては触れません。また、販売用の製品としてポータブルBIアプリケーションを構築する独立ソフトウェア・ベンダー(ISV)組織のマルチユーザー開発環境を使用する方法についても触れません。

一般的なビジネス・シナリオでマルチユーザー開発環境を使用する方法の詳細な例は、付録B「MUD事例: Eden Corporation社」も参照してください。

この付録のトピックは次のとおりです。

- マルチユーザー開発のデプロイの計画

- マルチユーザー開発のアーキテクチャ

- マルチユーザー開発環境の概要

- MUDのヒントおよびテスト・プラクティス

- マルチユーザー開発のトラブルシューティング

マルチユーザー開発のデプロイの計画

この項では、マルチユーザー開発を開始する前に計画フェーズの一環として実行する必要があるタスクについて説明します。

この項には次のトピックが含まれます:

- ビジネス組織および管理プロセスのベスト・プラクティスについて

- 技術チームのロールと職責について

ビジネス組織および管理プロセスのベスト・プラクティスについて

共有リソースに関する決定を行い、多数の利害関係者間の衝突を解決するには、強力で効果的な管理プロセスを提供する必要があります。いかなるビジネス・プロセスでも強力なビジネス・スポンサーが必要であり、運営委員会には効率的に交渉を行い長期にわたり不変となる最適な決定を行うことができる強力なビジネス・パーソンが不可欠です。効果的な管理プロセスを持つということはOracle Business Intelligenceによるマルチユーザー開発を成功させるための唯一の最も重要な要素であることが立証されています。

マルチユーザー開発プロジェクトを開始する前に、表A-1の説明にあるように、まず、ビジネスの値、プロパティ、ロードマップおよび要件を設計し、さらに低レベルの詳細設計も行う必要があります。

表A-1 計画フェーズで実行するタスク

対象

必要なタスク

戦略的な要件

- 測定するビジネス・プロセスの決定

- アクセス対象のデータソースおよびサブジェクト・エリアの決定

リポジトリ・オブジェクトのビジネス要件

- メトリック、ディメンションおよび階層の選択および定義

- 開発チーム間で共有されるオブジェクトの特定

- チーム間の競合の削除

- プレゼンテーション・レイヤーのサブジェクト・エリアの定義

セキュリティ要件

- アプリケーション・ロールと対応するユーザー・ベースの権限の定義

- どのリポジトリ開発者がどのメタデータおよびデータにアクセスできるかの定義

開発

- 使用するマルチユーザー開発のスタイルの決定

- MUDプロジェクトに分割するエリアの定義

- メタデータ・オブジェクトの所有者の決定

プロジェクト管理

- イニシアティブの設定 - 目的、目標、要件、有効範囲、スケジュール、予算

- フェーズの定義 - 有効範囲、スケジュール

- リソースの割当て - ハードウェア、ソフトウェア、データベース、開発者

- 開発ブランチの戦略の決定

- 様々な開発チームからの製品の更新のスケジュールおよび優先度の決定

運用

- サービス・レベル合意の交渉

- 更新および停止時間のスケジュールの調整

技術チームのロールおよび職責について

この項では、リポジトリ開発およびそのライフサイクルにかかわる実際的なロールについて説明します。会社およびチームの大きさに応じて、それらのいくつかのロールを1人で務める場合もあります。

リポジトリ開発ロールには次のようなものがあります。

- MUD開発者(各開発チームに1人+代替要員)

- リポジトリ・パスワードの割当て

- MUDプロジェクトの設定および保守

- マスター・リポジトリ共有ディレクトリの管理

- ブランチおよびブランチ・マージの管理

- リポジトリの移行の管理

- テストおよび本番の接続プールの管理

- 独立のセマンティック・モデルの管理(すべてのモデルでのメタデータの読取り/書込み権限の付与)

- リポジトリ開発者(開発チームごとに多数)

- リポジトリ・パスワードの認識

- 必要なすべてのOracle Business Intelligenceコンポーネントが含まれる個人の開発サンドボックスの所有、操作および保守

- サンドボックス・スタック上でのユーザーおよびアプリケーション・ロール・プロビジョニングの管理

- リポジトリの機能およびデータ認可コンテンツの作成

- ユニット・テストの実行

- 必要に応じたチェックアウト、マージ、公開の実行

- 本番運用スタッフ

- リポジトリ・パスワードの認識(接続プールの管理およびパッチの適用のため)

- 更新されたリポジトリの適用、および稼動中のBIサーバーのリポジトリへのXMLパッチの更新の適用

- 本番のコンピュータにログインしてOracle Business Intelligenceディレクトリの読取り/書込みまたはプログラムの実行が可能

- リポジトリ・ディレクトリ、ログおよび構成ファイルを含む本番のファイル・システムの管理

- 本番サーバー(管理サーバー、Javaコンポーネントを含む管理対象サーバー、およびOracle BIサーバーやプレゼンテーション・サービスなどのOracle Business Intelligenceシステム・コンポーネント)の管理

- 本番のセキュリティの管理(ユーザー、グループおよびアプリケーション・ロールのプロビジョニングを含む)

- 本番のアプリケーション・ロールの管理および移行

- 本番の接続プールの管理(MUD管理者が本番の接続情報のセキュリティ権限を持たない場合)

リポジトリ開発チーム外部の他のロールのユーザーも関係します。その中には、テスト環境を管理してテストを実行するユーザー、およびOracle BIプレゼンテーション・カタログ開発者も含まれます。

マルチユーザー開発のアーキテクチャ

MUDおよびリポジトリのライフサイクル管理のベスト・プラクティスを理解する前に、開発環境のアーキテクチャを理解する必要があります。

この項には次のトピックが含まれます:

- マルチユーザー開発の概念について

- マルチユーザー開発のスタイルについて

- マルチユーザー開発サンドボックスのアーキテクチャ

- マルチユーザー開発およびライフタイム管理のアーキテクチャ

マルチユーザー開発の概念について

この項では、マルチユーザー開発のシステムの開発およびデプロイに関連する基本的な概念について説明します。

Oracle BIリポジトリ

Oracle BIリポジトリは、開発時の基本的なアーティファクトです。これによって、ユーザー・リクエストの解釈、ロールベースのセキュリティの適用、データソースへの問合せの生成、および結果の後処理を行うために、Oracle BIサーバーで使用されるすべてのメタデータが定義されます。マルチユーザー開発環境で使用するリポジトリは、MDS XML形式ではなく、バイナリ(RPD)形式であることが必要です。

アプリケーション・ロールおよびポリシー・ストア

開発時の2番目のアーティファクトは、アプリケーション・ロールのセットです。リポジトリ・ロジックでは、これらのアプリケーション・ロールに対して、ユーザー・オブジェクト権限、データ・アクセス・フィルタ、および問合せ制限(ガバナー)が定義されます。プレゼンテーション・サービスもその権限および許可の割当てにアプリケーション・ロールを使用します。

Oracle WebLogic Serverに組み込まれたデフォルトのポリシー・ストアを使用することも、個別の外部ポリシー・ストアを使用することもできます。組込みポリシー・ストアを使用する場合、Fusion Middleware Controlでアプリケーション・ロールを定義します。これはOracle WebLogic Serverのポリシー・ストアに保持されます。ここで、オンライン・モードで管理ツールを使用して、設計時にポリシー・ストアからアプリケーション・ロールをリポジトリに追加できます。Oracle BIサーバーは実行時に各ユーザーにプロビジョニングされたアプリケーション・ロールを使用して、正しいセキュリティ権限をユーザー・リクエストに適用します。

サンドボックス、プロジェクトおよびブランチ

リポジトリのインスタンスは、通常、一度に1人のリポジトリ開発者のみで編集されます。複数の開発者は、「プロジェクト」というリポジトリのサブセット・インスタンスで並列的に作業します。開発者は個別のサンドボックス環境で作業し、その変更を頻繁にマスター・リポジトリ・インスタンスにマージして変更を配信し、チーム内の他のユーザーが行った変更を取得します。このアプローチにより、大規模なエンタープライズ・アプリケーションを構築することが可能になります。また、独立のセマンティック・モデルは個々のチームで開発して、単一のOracle BIサーバー・クラスタの本番ホスト用のマスター・リポジトリにマージすることもできます。さらに、チームが主要なプロジェクトで並列に作業できるようにブランチおよびマージを行ったり、進行中の開発プロジェクトを中断することなく本番のメイン・コード・ラインに緊急の修正を行うこともできます。

開発サンドボックスをインストールする場合、通常は管理インストール・タイプを使用します。

単一の共有リポジトリ

プレゼンテーション・サービスは、Oracle BIサーバーにアップロードされている1つのリポジトリにのみ接続されます。すべてのセマンティック・モデルのメタデータは、セマンティック・モデルでオブジェクトを共有していなくても単一のリポジトリに存在する必要があります。リポジトリのセマンティック・モデルの詳細は、「マルチユーザー開発スタイルについて」を参照してください。

リポジトリ・パスワード

リポジトリ・ファイルはリポジトリ・パスワードで保護されます。Oracle BIサーバーでは、起動時にリポジトリを開くまたはロードする際にこのパスワードが必要です。リポジトリ・パスワードはセキュアな資格証明ストアに格納されます。管理ツールまたはその他のユーティリティおよびlineコマンドでリポジトリを開く際もこのパスワードを入力する必要があります。ログオンの資格証明は、資格証明ストアではなく、アイデンティティ・ストアに保存されます。

Oracle BIプレゼンテーション・カタログ

Oracle BIプレゼンテーション・カタログは、レポート、ダッシュボード、KPI、スコアカードおよびその他のレポート・レイヤー・オブジェクトを定義するメタデータが含まれる重要なBIアプリケーション・アーティファクトです。このドキュメントでは、Oracle BIプレゼンテーション・カタログについては触れません。Oracle BIプレゼンテーション・カタログの開発の詳細は、『Oracle Fusion Middleware Oracle Business Intelligence Enterprise Editionユーザーズ・ガイド』のOracle BIプレゼンテーション・カタログのオブジェクトの管理に関する項を参照してください。

移行

完成したリポジトリは、Fusion Middleware Controlを使用してテスト・システムおよび本番システムに移行されます。ローリング再起動でクラスタ化された本番のOracle BIサーバーをリフレッシュできるため、停止時間は不要です。

移行時のデプロイ・パラメータ

開発、テストおよび本番システム間でリポジトリを移行する場合、接続プール設定などの一部のリポジトリ・パラメータを変更する必要があります。これらのパラメータを変更するのは、それらがアプリケーション・ロジックではなくデプロイに基づいているためです。Oracle BIサーバーXML API (biserverxmlexec -B)を使用すると、これらの更新を自動化できます。マルチユーザー開発時は、コンテンツをマージする開発者は、自動的にマスター・リポジトリ・テスト接続プールおよびデータベース・パラメータをローカル・ユニット・テスト・パラメータで上書きすることができなくなります。

アプリケーション・ロール(ポリシー・ストア)の移行

開発、テストおよび本番システム間でアプリケーション・ロールを移行するには、いくつかのオプションがあります。このドキュメントでは、簡潔にするために、少数のアプリケーション・ロール名を手動で再入力することにします。アプリケーション・ロールの移行の詳細およびその他の移行に関する検討事項については、『Oracle Fusion Middleware管理者ガイド』のOracle Business Intelligenceのターゲット環境への移行に関する項を参照してください。

ユーザーおよびアイデンティティ・ストア

設計時には、ユーザーをリポジトリのメタデータ・オブジェクトで表さないことをお薦めします。また、リポジトリでは資格証明を管理または保存しません。そのかわり、実行時環境では常にユーザーをアプリケーション・ロールにプロビジョニングして、ユーザーが権限を受信する必要があります。ユーザーの資格証明およびグループを介したアプリケーション・ロールへのユーザーのマッピングは、外部のアイデンティティ・ストアで管理されます。詳細は、『Oracle Fusion Middleware Oracle Business Intelligence Enterprise Editionセキュリティ・ガイド』を参照してください。

管理ツールおよびユーティリティの環境の設定

現在のディレクトリ構造では、メタデータ、データおよび構成ファイルの配置が一般化されます。そのため、起動する各プログラムまたはユーティリティには、そのプログラムが属するOracleインスタンスの構成の初期設定が必要です。コマンドライン・ユーティリティでは、まずbi-initユーティリティを起動してパラメータを設定してから、bi-initウィンドウ内のコマンドラインからユーティリティを起動します。管理ツールを含むほとんどのOracle BIサーバー・ツールでは、bi-initユーティリティを透過的に実行します。最初にインスタンス環境を設定せずにコマンドを実行すると、通常、プログラムは外部ファイルを検索できなくなります。

詳細は、「Oracleインスタンスに初期化したシェル・ウィンドウを起動するためのbi-initの実行」を参照してください。

マルチユーザー開発のスタイルについて

開発のスタイルは、チームのサイズ、チームおよび並列のイニシアティブの数、およびセキュリティおよび可用性の要件に応じて選択します。表A-2に、マルチユーザー開発のスタイルを示します。

表A-2 マルチユーザー開発のスタイル

スタイル

説明

シリアル開発(図A-1)

開発者が少数で同時実行性が低い場合、この方法を使用できます。開発ユーザーは、電子メール、共有ディレクトリまたは共有開発システムを介してリポジトリ・ファイルを共有し、一度にそのうちの1つのみで変更を行います。これらは、開発スケジュール上で相互に調整する必要があります。

パッチ・ファイルによるシリアル開発(図A-1)

シリアル開発のバリエーションとして、ベース・バイナリ・リポジトリを共有し、パッチ・ファイルを使用してユーザー間にのみ変更を送信できます。

共有オンライン開発(図A-2)

一度に1人の開発者のみが単一のOracle BIサーバーとそのリポジトリに対してオンライン・モードでメタデータを開発するということをお薦めします。ただし、チーム・メンバー間で頻繁にコミュニケーションがあり、高い競合リスクも許容可能で、管理オーバーヘッドを最小限にすることが目標であるような開発環境では、複数のオンライン・ユーザーで開発することも選択できます。

MUD (図A-3)

マルチユーザー開発機能により、1つの共有エンタープライズ・リポジトリで、100名を超える開発ユーザーが平行して作業できます。各ユーザーは、メタデータの管理可能なサイズのサブセットのみを使用して個別のサンドボックス環境で開発およびユニット・テストを実行できます。1つの作業ユニットが完了したら、それを自動的にブランチにマージして公開できます。そこで、他のユーザーはそれらの変更を取得してそれらを自分のメタデータと統合できます。プロジェクト・フェーズのプロモーションの準備が整ったら、MUD管理者がそれをテスト環境に、そして最終的に本番に移行します。MUD管理者は、ブランチおよびサブブランチを管理して独立したイニシアティブまたは修正の平行開発を可能にし、それらをメイン・ブランチにマージし、テストおよび本番環境にそれらを増分移行します。MUD管理者は、ファイングレイン「プロジェクト」も管理する必要があります。これは、個別の開発者がローカル・サンドボックス環境にチェックアウトする管理可能なサイズのリポジトリ・サブセットです。詳細は、「マルチユーザー開発環境の概要」を参照してください。

複数の独立なセマンティック・モデルを持つMUD (図A-3および図A-4)

単一の統合されたエンタープライズ全体モデルではなく、複数の独立したセマンティック・モデルが必要なケースがあります。これはセキュリティ要件により、または業務上無関係の部署間で共通のOracle Business Intelligenceインフラストラクチャを共有している場合に、一般的に発生します。MUD管理者は各モデルにブランチを作成します。これにより、各チームのセマンティック・モデルで並列開発と統合テストが可能になります。独立のセマンティック・モデルのブランチで本番へのプロモーションの準備ができると、MUD管理者は簡単にブランチをメインにマージできます。MUD管理者は、各開発者が割り当てられたセマンティック・モデルのみを参照できるように、またMUD管理者および選択された本番運用スタッフのみが統合されたメイン・モデルにアクセスできるように、ブランチのセキュリティを設定できます。

委任管理を含むMUD(図A-3および図A-4)

独立のセマンティック・モデルが様々なスケジュールで様々な組織により開発されている場合、中心となるMUD管理者は望ましいローカル管理レベルを提供できないことがあります。その場合、それぞれの独立なセマンティック・モデルのブランチに専用のMUD管理者を用意することができます。ブランチ管理者は、通常のMUD管理者と同様に操作を行います。

このシナリオでは、MUDスーパー管理者が各組織のブランチを定義し、サブセット・リポジトリをチェックアウトして、それをブランチ管理者に提供します。モデルの本番へのプロモーションの準備が整ったら、ブランチ管理者はリポジトリをスーパー管理者に戻します。スーパー管理者はそれをプロモーション用のメイン・ブランチにマージして、組み合せたリポジトリを本番に移行します。

図A-1 マルチユーザー開発のシリアル開発スタイル

図A-1 シリアル開発

図A-2は、マルチユーザー開発の共有オンライン開発スタイルを示します。

図A-2 共有オンライン開発

図A-3は、ブランチによる実際のマルチユーザー開発を示します。

図A-3 マルチユーザー開発

図A-4は、複数の独立したセマンティック・モデルを含むリポジトリのアーキテクチャを示します。

図A-4 複数の独立したセマンティック・モデルを含むリポジトリ

表A-3は、様々なセキュリティおよび可用性の要件を満たすマルチユーザー開発スタイルを示します。

表A-3 マルチユーザー開発スタイルで満たされる要件

要件

シリアル

共有オンライン

単一のセマンティック・モデルを含むMUD

複数のセマンティック・モデルを含むMUD

委任管理を含むMUD

開発者なし

はい

いいえ

いいえ

いいえ

いいえ

最大5人までのコンカレント開発者

いいえ

はい

はい

はい

はい

5人を超えるコンカレント開発者

いいえ

いいえ

はい

はい

はい

Oracle BI Applicationsなどの大規模なリポジトリの管理可能なサブセットでの作業

いいえ

いいえ

はい

はい

はい

組込みのチェックアウト、マージおよびロールバック

いいえ

いいえ

はい

はい

はい

単一のリポジトリでの独立なセマンティック・モデルのホスト

はい

はい

いいえ

はい

はい

作業ユニットから本番への段階的な移行

いいえ

いいえ

はい

はい

はい

独立なセマンティック・モデルの開発者は相互のメタデータを参照できない

いいえ

いいえ

いいえ

可脚注 1

可脚注 1

独立の各セマンティック・モデルには独自のMUD管理者がいる

いいえ

いいえ

いいえ

いいえ

はい

脚注 1 セキュアMUDディレクトリが必要です。MUD全体管理者は、すべてのチームのすべてのメタデータへのアクセス権を持つ必要があります。

マルチユーザー開発サンドボックス・アーキテクチャ

MUDを使用する場合、それぞれの開発者は独自の専用のサンドボックスOracle Business Intelligenceシステムで作業します。開発およびユニット・テストに必要なすべてのコンポーネントが含まれるようにサンドボックスを設定する必要があります。

最初に、Oracle Business IntelligenceスタックにUNIXとWindowsのどちらのサーバーを使用するか決定する必要があります。次のガイドラインに従ってください。

- Windows専用オプションを選択する場合、システムに十分なメモリーがあることを確認してください。同じハードウェア上でデータベースをホストするように選択すると、さらにリソースが必要になります。ハードウェアの最小要件の詳細は、「システム要件と動作要件」を参照してください。

- UNIXオプションを選択する場合でも、管理ツールを実行するためにWindowsシステムが必要になります。UNIXシステムではOracle Business Intelligence簡易インストール・タイプを使用し、Windowsシステムではクライアント・インストール・タイプを使用して管理ツールをインストールします。
オンライン・モードでは、Oracle BIサーバーはUNIXシステム上の次のローカル・リポジトリ・ディレクトリからリポジトリをロードします。

ORACLE_INSTANCE/bifoundation/OracleBIServerComponent/coreapplication_obisn/repository

Windows上の管理ツールでもデフォルトでローカル/リポジトリ・ディレクトリが指定されていますが、オフライン開発では任意のディレクトリを使用できます。

また、開発データベースもインストールする必要があります。このデータベースは、専用データベース、個人データベース、または複数のリポジトリ開発者で共有できるデータベースを指定できます。開発データベースについては、次の点に注意してください。

- プラットフォーム: 十分なメモリーがある場合、サンドボックス・コンピュータで開発データベースをホストするように選択できます。また、中央に配置された共有サーバーでこれをホストすることもできます。図A-5に両方のシナリオを示します。

- RCU: データベースには、Oracle Business Intelligenceで必要なスキーマを格納する必要があります。スキーマは、リポジトリ作成ユーティリティ(RCU)を使用してロードします。それらのスキーマにより、Oracle BIスケジューラおよびOracle Scorecardと戦略管理の注釈をサポートできます。また、使用状況トラッキングのサンプル表が用意されているほか、多数の機能を使用できます。Oracle Business Intelligence用Oracle WebLogic Server管理対象サーバーとそれに依存するすべてのサーバーでは、必要なRCUスキーマで操作するために稼働中のデータベースにアクセスする必要があります。

- データソース・スキーマ: 開発時のメタデータにもデータソース・スキーマが必要です。オプションでRCUデータベースにデータソース・スキーマを含めることもできます。データソース・スキーマについて次の追加情報にも注意してください。

- テスト・データ: データソース・スキーマはテスト・データとともにロードする必要があります。ユーザーが読取り専用メタデータをテストする場合、複数の開発サンドボックス間でスキーマを共有できます。十分なメモリーが使用可能であれば、開発サンドボックス・コンピュータにそれらを配置できます。

- 複数のソース: オプションで、他のリレーショナル・ソース、Essbase、Hyperion Financial Management、Microsoft Analysis Services、SAP B/Wなど、自身のイニシアティブに必要な複数のデータ・ソースを環境に含めている場合があります。これらのソースは、共有でも専用でも、ローカルでもリモートでもかまいません。

- 接続: 管理ツールおよびOracle Business Intelligenceスタックからそれぞれのデータソースへの接続を設定する必要があります。この構成には、必要なドライバまたはクライアントのインストール、ODBC DSNの設定、ネイティブ接続の設定およびその他の手順を含めることができます。詳細は、第5章「メタデータのインポートとデータ・ソースの操作」および第16章「LinuxおよびUNIXでのデータソースの設定」を参照してください。
Oracle Database接続の場合、Oracle Business IntelligenceにはORACLE_HOME/network/adminにTNSnames.oraのインスタンスが必要です。

図A-5に、マルチユーザー開発サンドボックスのアーキテクチャを示します。

図A-5 マルチユーザー開発サンドボックスのアーキテクチャ

注意:
ほとんどの開発者は、開発サンドボックスのキャッシュを無効に設定しています。そうすることで、ログを使用して物理問合せを検証およびデバッグしやすくなります。キャッシュが有効な場合、リクエストがキャッシュで実行されている場合があるので、物理SQLがログに記録されないことがあります。このリリースでは、Fusion Middleware Controlを使用してキャッシュを無効にする必要があります。詳細は、『Oracle Fusion Middleware Oracle Business Intelligence Enterprise Editionシステム管理者ガイド』のFusion Middleware Controlを使用した問合せキャッシュの有効化および無効化に関する項を参照してください。

マルチユーザー開発およびライフタイム管理のアーキテクチャ

MUD全体のアーキテクチャには、前の項で説明されている開発者サンドボックス・システム、およびテスト・システムおよび本番システムが含まれる必要があります。また、次のようないくつかの追加の主要コンポーネントがあります。

- Windows MUD管理システム。このシステムは、MUD管理者により保守されます。このシステムについては、次の点に注意してください。

- これには、メイン・ブランチの1つの共有ネットワークMUDディレクトリ、および各サイド・ブランチの追加の共有ネットワークMUDディレクトリが用意されています。各共有ディレクトリのWindows権限のみで開発者のそのブランチへのアクセスを許可します。各共有ディレクトリには、そのブランチのマスター・リポジトリ、およびMUD機能の様々なコントロールおよび履歴ファイルが保存されます。

- これには、Oracle Business Intelligenceのクライアント・インストールがあります。管理ツールおよびOracle BIサーバー・ユーティリティは、MUDプロジェクトの作成および管理、マージの実行、パッチの作成、およびその他のMUD管理者タスクに使用されます。その他のOracle BIサーバーなどのOracle Business Intelligenceプロセス、ポリシー・ストアおよび資格証明ストアは、一般的にはこのプラットフォームでは使用されません。

- このコンピュータ上では、Oracle Business Intelligence Javaコンポーネント、システム・コンポーネント、他のインフラストラクチャのいずれも使用されないので、32ビット・システムでも64ビット・システムでも使用できます。

- 1つ以上のテスト・システム。これらのシステムは、マージされたコンテンツの統合テストを実行するために使用されます。ここでは、完全なOracle Business Intelligenceスタックが実行され、UNIXベースでもWindowsベースでも稼働します。これらのシステムは柔軟にクラスタ化されます。

- Oracle BIプレゼンテーション・カタログ・システム。オプションで、Oracle BIプレゼンテーション・カタログのコンテンツを開発するために、完全なOracle Business Intelligenceスタックを持つシステムを構築することもできます。

- クラスタ化された本番システム。最終的には、サポートされるOracle Business Intelligenceプラットフォームのいずれかでクラスタ化された本番システムを構築します。

- 外部アイデンティティ・ストア。これは、Oracle Internet Directoryなどの外部アイデンティティストアを使用することを想定しています。

図A-6は、マルチユーザー開発環境を使用したリポジトリ・ライフサイクルのサンプル・デプロイ・アーキテクチャを示します。

図A-6 マルチユーザー開発デプロイ・アーキテクチャの例

マルチユーザー開発環境の概要

MUDは、リポジトリ・モデル内の相互関係および依存性が複雑であっても、開発者のチームによる任意のサイズのプロジェクトで並列作業を実現できる機能のセットです。次の処理を実行できます。

- リポジトリ・ファイルのサブセットへの分割

- リポジトリが大規模な場合、ユーザーは管理可能なサブセットで作業できます。

- 各開発者またはチームでサブセットごとに独立にテストできます。

- ブランチ・サブセットをチェックアウトした後でマージが管理しやすくなります。

- 独立のセマンティック・モデルを開発用のセキュアなブランチに分割できます。

- 段階的な開発、テストおよび移行

- ユーザーの変更間の競合に対処するサブセットおよびブランチのマージ

- 変更を終えてパッケージ化されたBIアプリケーションへのOracle更新の適用

- 個別に開発されたアプリケーションの単一のリポジトリへのマージ

- 履歴ログおよび監査情報へのアクセス

- 過去のリポジトリ状態へのロールバック

マルチユーザー開発機能には、その他にも次のような有用な機能があります。

- マスターへのマージの調整(元のリポジトリ・ファイルの追跡など)

- ロックを使用した確実な更新

- 変更のログへの記録

- 破損が発生する可能性のある各操作の前の、リポジトリの自動バックアップ

この項には次のトピックが含まれます:

- マルチユーザー開発環境のタスク・フローについて

- マルチユーザー開発のプロジェクトについて

- ブランチの作成方法

- 使用できるマージ・ユーティリティ

マルチユーザー開発環境のタスク・フローについて

複数のユーザーでの基本的な作業フローは次のとおりです。

1. 開発者は、「初期」物理レイヤーおよび基本ファクトおよびサブジェクト・エリアを定義します。これにより、MUDプロジェクトをアンカーするためのいくつかの基本オブジェクトを指定します。

2. MUD管理者はプロジェクトを定義し、RPDをメイン・ブランチのMUDディレクトリに配置します。マスター・リポジトリが格納されるMUDディレクトリは、Oracle BIサーバー・ローカル・リポジトリ・ディレクトリと同じにすることはできません。

3. これで、開発者は1つ以上のプロジェクトをチェックアウトして、開発作業を実行し、変更をMUDディレクトリに公開することでマスターにマージできます。

4. その間に、他の開発者は、同じプロジェクトまたは別のプロジェクトをチェックアウトして開発作業を行います(プロジェクトは、サブセット用のものであり、セキュリティを適用するためのものではありません)。公開手順では3方向マージを使用するため、ユーザーは変更のチェックアウト、開発、公開を任意の順序で実行できます。複数のユーザーによる1つのオブジェクトに対するプロパティの変更もマージできます。ユーザー間で競合が発生した場合、3方向マージ機能では開発者がどのオブジェクトを保持するのかを選択できます。競合の回避および解決にはユーザー間のコミュニケーションが重要であり、そのような競合を回避するために、管理プロセスによって主要なオブジェクトの所有権が割り当てられるようにする必要があります。

5. 開発フェーズを完了したら、MUD管理者はコンテンツをテスト・システムに移行できます。チェックアウト、不具合の修正、公開および再テストの順に何回か繰り返す場合があります。リポジトリがテスト・フェーズに合格したら、MUD管理者はそれを本番環境に移行できます。

6. MUD管理者は、複数の開発ブランチを大きなMUDプロジェクトとして作成および管理できます。ブランチは1つの開発チームのみで作業するように保護できます。ブランチは、独自の委任MUD管理者により、メインとして再帰的に処理することもできます。

マルチユーザー開発プロジェクトについて

マルチユーザー開発機能は、プロジェクトというメタデータ・オブジェクトの周辺で構築されます。プロジェクトとは、マスター・リポジトリからのチェックアウト、およびその後のマージおよび公開までの単位です。マスター・リポジトリが大規模になると、プロジェクトは開発者がチェックアウトして作業できる程度の管理可能なサイズのサブセットになります。これは、整合性チェッカ(コンパイル時のコードのチェックのようなものです)を実行して、Oracle BIサーバー上でアンサーなどのクライアントにより実行時にそれをテストできるように、自己完結型に設計されています。結果に満足であれば、それをマスター・リポジトリにマージしなおして、大きなアプリケーションの一部にすることができます。一方、履歴はログに記録され、リポジトリ・バックアップは主要な時点で自動的に作成されます。

管理ツールのMUD機能では、ファイングレイン開発者プロジェクトに対してこのフローを合理化します。同様に、スーパーセット・プロジェクトでもブランチの管理およびマージを合理化します。

プロジェクト・サブセットには、メタデータ・オブジェクトのセットが含まれます。オブジェクトの最小セットを明示的に含めるようにプロジェクトを定義しますが、その他の多数のオブジェクトは暗示的に含まれます。オブジェクトを暗示的にプロジェクトに追加することで、プロジェクト管理タスクが単純化されます。

次のオブジェクトは、MUD管理者によりプロジェクトのメンバーとして明示的に指定されます。

- 論理ファクト表

- プレゼンテーション・レイヤーのサブジェクト・エリア

- アプリケーション・ロール

- ユーザー(ただし、RPDロジックでアプリケーション・ロールのみを使用することをお薦めします)

- 初期化ブロック

- 変数

その他すべてのオブジェクトはプロジェクトに暗示的に含まれており、チェックアウト処理時に管理ツールで表示されます。例:

- 明示的に定義されたオブジェクトの子孫。たとえば、論理ファクト表が明示的に含まれる場合、そのすべての論理列もプロジェクトに暗示的に含まれます。

- 選択された論理ファクト表に結合された論理ディメンション表および結合オブジェクト自身。

- 含まれている論理ファクト表およびディメンション表の論理表ソース。

- プロジェクトに含まれる論理表にマップされた物理表およびそれらの間の結合。

- マーケティング・ターゲット・レベルおよびリスト・カタログ。

明示的に定義されたオブジェクトのリストにあるオブジェクトは、暗示的に含まれる場合もあります。たとえば、論理列の式に変数が含まれる場合、MUD管理者が明示的にそれを追加しなくても、その変数はプロジェクトに暗示的に含まれます。

プロジェクトは重複しても問題ありません。1つのプロジェクトに表示されるオブジェクトが、別のプロジェクトにも表示されても問題ありません。たとえば、独立したセマンティック・モデルごとに全体的なプロジェクトを作成するとともに、個別の開発作業ユニットをチェックアウトするために、各独立モデル内により小さいプロジェクトを作成することを好む顧客が存在します。複数のプロジェクトを同時にチェックアウトし、より大きなセットのメタデータで作業することもできます。

詳細は、「プロジェクトの設定」も参照してください。

ブランチの作成方法

この項では、ブランチ、サイド・ブランチおよび委任管理ブランチの作成方法について説明します。

この項には次のトピックが含まれます:

- メイン・ブランチの作成方法

- サイド・ブランチの作成方法

- 委任管理ブランチの作成方法

メイン・ブランチの作成方法

最終的なマスター・リポジトリは、通常、メイン・ブランチでソースが管理され、すべてのブランチ、さらに最終的にはすべての開発プロジェクトは、そこからチェックアウトします。通常、メイン・ブランチは本番でリポジトリをステージングします。つまり、コンテンツを本番に移行するには、それをメイン・ブランチに移行してから、メイン・リポジトリを本番システムに移行します。

同様に、本番の不具合を修正するには、通常、開発者はメイン・ブランチからチェックアウトします。開発者は不具合を修正すると、それをテストおよび本番への移行用のメイン・ブランチにマージしなおします。一方、サイド・ブランチの並列開発には影響しません。

MUD管理者としてメイン・ブランチを作成するには、まず共有ディレクトリを作成して、マスター・リポジトリ・ファイルをそこにコピーする必要があります。ディレクトリはWindowsまたはUNIX上のいずれに配置してもかまいませんが、UNIX共有の場合はWindowsユーザーがアクセスできるようにする必要があります。

適切な開発者のみにアクセスを許可するように共有上にセキュリティを設定します。要件に応じて、メイン・ブランチ・マスター・リポジトリではなく、サイド・ブランチ・マスター・リポジトリのみに開発者のアクセスを許可することもできます。

これが新規プロジェクトの場合、一般的には、ブランチ・プロジェクトに容易に分割できる初期コンテンツでリポジトリをシードするように開発者に指示します。

サイド・ブランチの作成方法

ブランチを使用する場合、スーパーセットMUDプロジェクトで開始して、MUDチェックアウト、マージおよび公開機能を使用することをお薦めします。そこで、個々のユーザーまたはサブブランチでファイングレイン・プロジェクトを使用してブランチ・マスターからチェックアウトします。この機能のMUDを使用すると、チェックアウト・ポイントで自動バックアップが提供され、元のリポジトリが追跡されて正しいマージが確保され、ユーザーの介入が少なくて済む、より楽観的なマージの想定を使用して、履歴およびロールバックを使用できます。

MUD管理者としてサイド・ブランチを作成する手順は次のとおりです。

1. メイン・マスター・リポジトリで、ブランチに必要なすべてのコンテンツを抽出するプロジェクトを作成します。次のガイドラインに従ってプロジェクトを作成します。

- リポジトリにメタデータがほとんど(またはまったく)設計されていない場合、プロジェクトをアンカーできるコンテンツでそれをシードすることをお薦めします。そうすることで、論理ファクト表のサポートに必要な物理コンテンツをプロジェクトで抽出しやすくなります。通常は、少なくともいくつかの代表列が含まれる1つ以上の論理ファクト表を作成するということになります。列はファクト表のサポートに必要な物理表および結合にマップする必要があります。最後に、プロジェクトを作成して、それに属するオブジェクトを定義します。

- コンテンツがすでに存在している場合、プロジェクトを作成し、そのブランチで必要なオブジェクトを定義します。ブランチは、必要に応じて他のプロジェクトと重複することができます。

- また、チェックアウト用に空のプロジェクトを作成することもできます。ただし、開発者がそれをチェックアウトする場合、プロジェクトに暗黙的に追加する必要があるすべての物理オブジェクトは、変更を公開する前に論理ファクト表にマップされるようにする必要があります。同様に、開発者は変更を公開する前にディメンションが結合されてそれが確実に組み込まれていることを確認し、サブジェクト・エリア、変数、初期化ブロック、アプリケーション・ロールおよびユーザーを明示的に追加する必要があります。この方法は、プロジェクトをシードしてからそれを定義する方法よりエラーが発生しやすくなります。

- 通常、本番などの環境の接続プールは、保護される必要があります。マスター・リポジトリの接続プール設定は、必ず開発者がアクセスできるようにします。通常、開発者はそのローカル・テスト・データベースに適合するように設定を変更します。変更を公開するときには、マスター・リポジトリでの設定の上書きを回避するため、接続プールおよびデータベース設定はマージされません。
本番および他の環境への移行時に必要な接続プールの変更を自動化するには、Oracle BIサーバーXML APIを使用します。詳細は、Oracle Fusion Middleware Oracle Business Intelligence Enterprise Edition XMLスキーマ・リファレンスのテストから本番環境への移行に関する項を参照してください。

2. ブランチのMUDディレクトリを作成します。各ブランチには、それぞれ独自のMUDディレクトリを持つ必要があります。そのブランチで作業する開発者のみがそれにアクセスできるように権限を設定します。
開発者が他のチームに属するメタデータを参照できないように、ブランチ権限をプロジェクト・サブセットと組み合せて使用することができます。あるチームに関連するメタデータのみが抽出されるように、プロジェクトを注意深く設計します。チームで、異なるビジネス・モデル、サブジェクト・エリア、物理モデル、変数、初期化ブロックおよびアプリケーション・ロールを使用している場合、この目標は最も実現しやすくなります。

また、ブランチの命名および採番に一貫したシステムを使用することもお薦めします。

3. 「ファイル」→「マルチユーザー」→「チェックアウト」を選択して、ブランチ・プロジェクトをチェックアウトします。これは、ローカル・リポジトリ・ディレクトリやその他のディレクトリにチェックアウトできます。

4. リポジトリをブランチMUDディレクトリにコピーします。これは、マスター・リポジトリとして機能します。

5. 開発者がブランチからチェックアウトするためのファイングレインMUDプロジェクトを定義します。開発用のブランチの準備ができたことを開発者に通知します。

6. プロジェクト計画に基づいて、開発者が開発およびユニット・テストを完了すると、その変更の最終マージおよび公開を実行します。

7. フェーズで計画されたすべてのコンテンツの変更が公開されると、ブランチ・プロジェクトに統合テストを実行する準備が整います。これを実行するには、ブランチ・マスター・リポジトリ・ファイルをテスト環境に移行します。不具合が見つかると、割り当てられた開発者は適切なプロジェクトをチェックアウトして、不具合を修正してから、メタデータをテストします。変更を公開したら、ブランチ・リポジトリを再度テスト環境に移行します。このブランチ・プロジェクトは他のブランチの開発作業に影響することも影響されることもなくテストできます。

8. 統合テストが完了すると、ブランチは本番にプロモートする準備が整います。ユーザーが変更できないように、ブランチ・マスター・リポジトリをブランチ共有ディレクトリから削除します。それをローカル・リポジトリ・ディレクトリにコピーしなおして、管理ツールを使用してそれをメインにマージします。これでメインは統合テストおよび本番に移行する準備が整います。

9. 一般的には、MUD管理者は再度ブランチをチェックアウトして、次の開発フェーズ用のブランチ・リポジトリを共有ディレクトリに配置します。チェックアウト中は、他のブランチからの変更またはメイン・ブランチからの不具合の修正は、ブランチ・リポジトリで取得されます。

委任管理ブランチの作成方法

ブランチを使用して、メタデータ・サブセットを管理および保守する組織にそのローカル管理を委任できます。そのためには、ブランチMUD管理者をブランチに割り当てます。ブランチMUD管理者はメインMUD管理者と同じロールを実行します。メタデータが他のグループと重複しないような独立のセマンティック・モデルでは、このアプローチが最適に機能します。

委任ブランチMUD管理者は、詳細ブランチのプロジェクトの定義や開発者用のファイングレイン・プロジェクトの作成などを含め、メイン・ブランチ管理者と同じタスクを実行します。

メインMUD管理者として委任管理ブランチを作成する手順は次のとおりです。

1. メインMUD管理者(およびメインMUD管理者の代替要員)のみがアクセス権を持つようにメインMUDディレクトリに権限を設定します。

2. 前の項で説明されているように、ブランチMUDプロジェクト、ブランチMUDディレクトリ、およびチェックアウトされたブランチ・マスター・リポジトリを作成します。

3. メインMUD管理者および委任ブランチMUD管理者がアクセス権を持つようにブランチMUDディレクトリにセキュリティを設定します。

4. ブランチ管理者は、詳細ブランチのプロジェクト、および開発者用のファイングレイン・プロジェクトを定義します。必要に応じて、ブランチ管理者は開発イニシアティブの委任ブランチ以外の追加ブランチを、開発者がそのリポジトリにチェックアウトできるように権限を設定してデプロイします。

5. 個々の開発者は、メイン・ブランチへのアクセスが許可されていないため、委任ブランチMUDディレクトリからチェックアウトして本番の不具合を修正します。

6. 開発者がすべての変更を公開したら、ブランチ管理者は統合テスト用の委任ブランチにそれらのブランチをチェックインします。

7. 統合テストが完了した後に委任ブランチを本番にプロモートするには、メインMUD管理者は次の2つの手順を実行します。

1. 委任ブランチ・リポジトリ共有ディレクトリからブランチ・マスター・リポジトリを削除して、管理ツールを使用してそれをメイン・ブランチにチェックインしなおします。

2. メイン・ブランチ・マスター・リポジトリを本番に移行します。

8. 通常、メインMUD管理者はブランチを再度チェックアウトして、次の開発フェーズ用の委任ブランチ共有MUDディレクトリにブランチ・リポジトリを配置します。ブランチ管理者は次のレベルのブランチをチェックアウトしてブランチ共有MUDディレクトリにリポジトリを配置することで、開発者がファイングレイン・プロジェクトをチェックアウトして作業を開始できるようにします。

使用できるマージ・ユーティリティ

様々な状況や環境に対して最適化される様々なマージ・ツールがあります。使用するマージ・アプローチおよびユーティリティを決定する場合、WindowsまたはUNIXシステムでタスクを実行する必要があるかどうかを検討する必要があります。また、セマンティック・モデルに加えた変更をマージする必要があるかどうか、様々な開発の取組みから2つのセマンティック・モデルを組み合せる必要があるかどうかなどの要件も検討する必要があります。

表A-4は、様々な要件を満たすマージ・アプローチおよびツールを示します。

表A-4 様々なマージ・アプローチで満たされる要件

要件

マージ・アプローチ

使用するツール

プラットフォーム

- チェックアウトされたMUDプロジェクトをマスター・リポジトリにマージしなおす

- チェックアウトされたMUDプロジェクトをメイン・ブランチ・マスター・リポジトリにマージしなおす

3方向マージ

- MUDマージ

Windows

- MUD以外のブランチを組み合せて、メイン・ブランチに変更しなおす

3方向マージ

- リポジトリ・マージ・ウィザード(完全なマージを選択)

Windows

- Oracle更新XMLパッチをカスタマイズされたデプロイ済のBIアプリケーションに適用する

- 開発で作成した更新XMLパッチをデプロイされたリポジトリに適用する

3方向マージ

1. リポジトリ・マージ・ウィザード(パッチ・マージを選択)

2. Patchrpdユーティリティ

1. Windows

2. すべて

- 非結合の論理コンテンツと潜在的なID競合の組合せ

2方向マージ

- リポジトリ・マージ・ウィザード(ブランクのオリジナルを使用)

Windows

- 開発者によってあらかじめ競合がないことが保証されている非結合のコンテンツを組み合せる(すべてで実行)

挿入-更新-削除

- biserverxmlexec -B

- biserverxmlcli(オンライン)

- XMLのコピー/貼付け

すべて

- 開発者によってあらかじめ競合がないことが保証されている非結合のコンテンツを組み合せる(Windowsのみ)

挿入-更新-削除

- 管理ツールのツール・オブジェクトのコピー/貼付け

- 管理ツールでのリポジトリからのインポート(非推奨)

Windows

マージの詳細は、「リポジトリのマージ」を参照してください。

MUDのヒントおよびテスト・プラクティス

この項では、マルチユーザー開発環境で作業する上でのヒントおよびベスト・プラクティスについて説明します。

この項には次のトピックが含まれます:

- ブランチに関するベスト・プラクティス

- プロジェクトの設定に関するベスト・プラクティス

- 3方向マージに関するベスト・プラクティス

- MUDマージに関するベスト・プラクティス

- 2方向マージに関するベスト・プラクティス

- 本番移行に関するベスト・プラクティス

- アプリケーション・ロールおよびユーザーに関するベスト・プラクティス

ブランチに関するベスト・プラクティス

次のガイドラインに従って、サイド・ブランチを作成します。

- マスター・リポジトリが格納されるMUDディレクトリは、Oracle BIサーバー・ローカル・リポジトリ・ディレクトリと同じにすることはできません。

- ブランチはチェックアウトされたMUDプロジェクトにします。そうすることで、正しい元のリポジトリの使用などの、ブランチをメイン・ブランチにマージしなおすタスクの多くが自動化および合理化されます。

- チェックアウトされたブランチ・マスター・リポジトリは、必ず独自のMUDディレクトリに配置します。開発者には、そのブランチ・マスター・リポジトリからファイングレイン・プロジェクトをチェックアウトするように指示します。ブランチの開発、公開およびテストが完了したら、ブランチ・リポジトリ・ディレクトリからマスターを削除し、管理ツールを使用してそれをメイン・ブランチ・マスター・リポジトリに公開しなおします。そこで、それを再度チェックアウトして次のフェーズの開発用にブランチMUDディレクトリに新しいバージョンを配置します。

- ブランチMUDディレクトリのWindows権限を使用して、それにアクセスできる開発者を制御します。

- ブランチMUDディレクトリに.optファイルを作成して、マルチユーザー開発オプションを設定します。特定の管理者を定義して、整合性チェックを必須にするおよび「マージ中に等化」を「はい」に設定することをお薦めします。詳細は、「マルチユーザー開発オプションの設定」を参照してください。

- 本番に配信する機能の増加分に応じて、ブランチを計画します。各ブランチには、ユニットとして移行する増加分を含めるようにします。

- 誤った順序でブランチをマージしてしまったら、MUD履歴を使用してそれをロールバックすることができます。詳細は、「マルチユーザー開発の履歴の表示と削除」を参照してください。

プロジェクトの設定に関するベスト・プラクティス

次のガイドラインに従って、プロジェクトを設定します。

- RPDを便利に使用できるようになるべく小さくファイングレイン・プロジェクトに分割します。そうすることで、パフォーマンスが向上し管理が容易になります。

- 論理ファクト表を小さなパーティーションに分割して、小さな個別のプロジェクトを使用できるようにします。

- 各サイド・ブランチで、ブランチのコンテンツを抽出する大きなプロジェクトをオーバーレイします。そうすることで、プロジェクトで、元のリポジトリの追跡を含め、ブランチのチェックアウトおよびマージの管理が可能になります。個々の開発者は、チェックアウトしたブランチ・プロジェクトから開発プロジェクトをチェックアウトできます。すべての開発プロジェクトは、それをメイン・ブランチにマージしなおす前にサイド・ブランチに公開しなおす必要があります。

- 新しいコンテンツをリポジトリに追加する場合、必ずそれがプロジェクトの一部であることを確認してからチェックインしてください。プロジェクトの一部でないオブジェクトを作成および公開すると、次にそのプロジェクトをチェックアウトするときに、抽出対象に含まれなくなります。その場合、管理者またはMUD管理者はリポジトリ全体、または新しいコンテンツがたまたま含まれていた別のプロジェクトを最低でもいくつかは編集し、オブジェクトをそのときのプロジェクトに追加する必要があります。

- 複数のプロジェクトを同時に抽出して、必要なすべてのコンテンツを取得する必要がある場合があります。

ヒント:
サブジェクト・エリア、プレゼンテーション表、プレゼンテーション階層などのプレゼンテーション・レイヤー・オブジェクトが、ここでプロジェクトに明示的に含めるオブジェクトになります。以前のリリースと異なり、管理ツール・ユーザーのセキュリティ設定は、チェックアウトするときにプロジェクトに含まれるサブジェクト・エリア、プレゼンテーション表またはプレゼンテーション列には影響しません。そのかわり、プレゼンテーション・レイヤー・オブジェクトのセットで、プロジェクトの有効範囲が決定されます。

詳細は、「プロジェクトの設定」を参照してください。

3方向マージに関するベスト・プラクティス

3方向マージを実行する場合は、次のガイドラインに従います。

- 変更されたリポジトリと現在のリポジトリの両方の構築元のリポジトリがあることを確認します。
この手順は、MUDマージで自動的に実行されます。

- 一般的には、現行用としてに開発リポジトリを開き、変更済としてメイン・リポジトリを使用し、オリジナルとしてブランチの開始点を使用します。

- マージする前にユニット・テストを実行します。

- リポジトリ・マージ・ウィザードでは、「マージ中に等化」と「マージされたRPDの整合性のチェック」を選択することをお薦めします。オブジェクトの等価の重要性の詳細は、「オブジェクトの等化」を参照してください。

MUDマージに関するベスト・プラクティス

MUDマージを実行する場合は、次のガイドラインに従います。

- マージする前にユニット・テストを実行します。

- マージ後(ただし公開前)にユニット・テストを実行します。マスター・リポジトリ上でロックを保持することになるので、簡潔に実行してください。

- 「ツール」→「オプション」→「マルチユーザー」タブで、自分のフルネームが正しいことを確認します。そうすることで、誰がロックを保持しているかログに記録されチェックできるようになります。

- 変更を公開するときは、「ロック情報」画面に、役に立つコメントを必ず書き込んでください。後で自分自身または他の管理者がロールバックまたは他のタスクを実行する必要がでてきた場合、そのコメントを使用してリポジトリの履歴を特定しやすくなります。

- MUD管理者がマスターRPDを編集しているときは、チェックアウト・ユーザーがそれにアクセスできないようにする必要があります。このようにするために、共有ディレクトリからそれを一時的に削除してから別のディレクトリに配置したり、編集前にその名前を変更できます。編集が完了したら、必ずそれを元に戻してください。
また、リポジトリをオフライン・モードで開いて、他のユーザーをWindowsファイル・システムでロックアウトすることもできます。この方法は、すべての作業が1つのアトミック・セッションで終了することが確実な場合にのみ使用してください。

- 頻繁にマージを行います。小さなマージでは競合リストや必要な決定は、わかりやすいものです。マージが大きすぎると、変更数はわかりにくくなり、ヒューマン・エラーが回避しにくくなります。ロールバックする必要がある場合、廃棄される変更数も大きくなります。パフォーマンスも小さいマージの方が向上します。

- マージのパフォーマンスに問題がある場合、プロジェクトをいくつかのより詳細なファイングレイン・プロジェクトに分割することを検討してください。また、マージの変更数が少なくなり高速になるようにより頻繁にマージしてください。

- ローカル接続プールの変更は、変更を公開するたびにマスター・リポジトリの接続プール設定で上書きされるので、それがマスターと異なる場合は、チェックアウトするたびにローカルテスト設定を再度適用する必要があります。これに最適な方法は、Oracle BIサーバーXML APIを使用して、ローカル接続プール設定の適用を自動化することです。詳細は、Oracle Fusion Middleware Oracle Business Intelligence Enterprise Edition XMLスキーマ・リファレンスのテストから本番環境への移行に関する項を参照してください。

- 成功を収める多くの大規模なチームには、リポジトリ開発者とMUD管理者と間のコミュニケーションおよびタスクに関する正式なプロセスの要件および想定が存在します。たとえば、MUD管理者にプロジェクトを作成するよう要求するフォームが用意されています。多くのチームには、サービス・レベルの合意およびリード・タイムを持ちます(プロジェクトを作成するために24時間必要など)。

- MUDマージ中に整合性チェックを強制するオプションを設定します。クリーン整合性チェックでは、コードが正しく生成されるかどうかを調べるコンパイラによるチェックと同様の方法で、Oracle BIサーバーでモデルを正しくロードできることが確認されます。マージが成功したと思われる場合でも、一貫性のないリポジトリによって、Oracle BIサーバーの起動、オンラインのリポジトリの編集チェックイン、それに続くマージに問題が生じることがあります。この機能を有効にする方法の詳細は、「マルチユーザー開発オプションの設定」を参照してください。

- マージする前に等化を強制するオプションを設定します。開発者は同じ物理表をインポートすることなどが多いので、この設定を行うことで重複するオブジェクト数が削減されます。この機能を有効にする方法の詳細は、「マルチユーザー開発オプションの設定」を参照してください。
オブジェクトの等化の重要性の詳細は、「オブジェクトの等化」を参照してください。

- 他のユーザーが必要なコンテンツは、そのコンテンツの所有者である場合や他の開発者と連携している場合を除いて、削除または変更しないでください。プロジェクトで不要になる列を削除すると、他のユーザーがそれに依存していても、マージしたときに通常はそれがマスターから削除されます。

ヒント:
プレゼンテーション・オブジェクトの別名は、マージの際に特別な扱いを受けます。その目的は、名前が変更されたときに古いレポートが破損しないように、オブジェクトの従来の名前を保持することです。開発中にどのように名前を変更しても、新しい別名が追加されます。マージ時には、いずれの新しく作成した別名も保持するかしないかを選択できます。また、従来のレポートが存在する場合もあるので、過去の別名のいずれかまたはすべてを保持するオプションもあります。

詳細は、「マルチユーザー開発のマージ・プロセスについて」を参照してください。

2方向マージに関するベスト・プラクティス

個別に開発された2つのリポジトリを単一のリポジトリに結合する必要がある場合、2方向マージを使用します。単一のリポジトリに2つのセマンティック・モデルをホストする必要がある場合、このような状況が多く発生します。

2方向マージを実行する場合は、次のガイドラインに従います。

- 意図せず名前の変更やオブジェクトのマージが行われないように、各リポジトリのトップレベル・オブジェクトには異なる名前があることを確認してください。次のオブジェクトをチェックします。

- ビジネス・モデル

- サブジェクト・エリア

- 物理データベース

- 変数

- 初期化ブロック

- アプリケーション・ロール

- ユーザー

- マーケティング・オブジェクト

- マージする前に等化を行います。そうすることで、管理対象のすべての完全修飾名が考慮され、2つのリポジトリ間で競合が発生しないようにアップグレードIDが割り当てられます。オブジェクトの等化の重要性の詳細は、「オブジェクトの等化」を参照してください。

- 管理ツールで、元のファイルとしてのブランク・リポジトリと完全マージを実行します。
ブランク・リポジトリを作成するには、新規リポジトリを開いて、ソースのインポートやオブジェクトの作成を行わずにそれを保存します。このリポジトリにはデフォルトのセキュリティ・オブジェクトが含まれていますが、これらがマージに影響することはありません。

注意:
管理ツールの「リポジトリからのインポート」やコピー/貼付けなどの機能を使用してメタデータを段階的に移動しないでください。このようなアプローチでは、変更が正しくマージされません。
これらの機能を使用すると、多くの場合に期待どおりの結果が得られますが、それは単なる幸運です。それ以外のときは、メタデータ・オブジェクトのアップグレードIDの値が競合し、事実上オブジェクトがランダムに上書きされます。しかし、その問題は、かなり後のリグレッション・テストを実行するときまで発見されない場合があります。アップグレードIDは連続して割り当てられており、1つのリポジトリ内で一意であるため、競合が起こりやすくなります。

また、biserverxmlcliおよびbiserverxmlexec -Bユーティリティを使用する場合も注意が必要です。Oracle Fusion Middleware Oracle Business Intelligence Enterprise Edition XMLスキーマ・リファレンスのOracle BIサーバーXML APIを使用したオブジェクトのマージおよび追加に関する項を参照して、IDの管理について十分に理解してください。

また、2方向マージの詳細は、「共通の親を使用しない完全なリポジトリ・マージの実行」を参照してください。

本番移行に関するベスト・プラクティス

テストから本番に移行する場合は、次のガイドラインに従います。

- 本番クラスタ上でメタデータを更新する場合、変更のロード中に停止時間が発生しないように、ローリング再起動を実行して一度に1つのOracle BIサーバーを再起動します。BI Systems Management APIを使用してOracle BIサーバーをプログラムで起動および停止したり、Fusion Middleware Controlで各Oracle BIサーバーを手動で再起動することができます。
詳細は、『Oracle Fusion Middleware Oracle Business Intelligence Enterprise Editionシステム管理者ガイド』のOracle Business Intelligenceの起動と停止およびOracle BI Systems Management APIを使用したOracle Business Intelligenceの起動と停止に関する項を参照してください。

- 管理ツールを使用してオンライン・モードで本番のメタデータを変更することはお薦めしません。

- biserverxmlcliユーティリティを使用してオンライン・モードで本番のメタデータを更新することはお薦めしません。

アプリケーション・ロールおよびユーザーに関するベスト・プラクティス

アプリケーション・ロールおよびユーザーを使用して作業をする場合は、次のガイドラインに従います。

- リポジトリ内のユーザー・オブジェクトの周辺では、データ・アクセス・セキュリティを構築しないでください。かわりに、アプリケーション・ロールに基づいて、リポジトリ権限、フィルタおよびガバナーを定義します。

- アプリケーション・ロールのセットは、管理委員会で定義する必要があります。ビジネス・チームは、どのようなビジネス・ロールがあり、どのユーザーがどのデータを参照できるように割り当てられ、あるアプリケーションから次のアプリケーションまででどのロールが同じになるかを習熟しています。そのため、管理委員会はアプリケーション・ロールを定義および指名し、どのロールをアプリケーション間で共有するかを決定するする立場にあります。

- 新しいアプリケーション・ロールを作成する場合、マージ後にそれを再度チェックアウトできるように、それをプロジェクトに追加してください。また、オフライン・モードで、管理ツールでプレースホルダ・アプリケーション・ロールを作成する場合、後でそれをポリシー・ストアに追加してください。

- オンライン・モードで管理ツールからリポジトリを開いて整合性チェッカを実行することで、リポジトリで使用されるアプリケーション・ロールがシステムでプロビジョニングされているかを確認できます。リポジトリおよびアプリケーション・ロールを新しいシステムに移行するたびにこのチェックを実行することをお薦めします。

- 環境間で少数のアプリケーション・ロールのみを移行する必要がある場合、Oracle WebLogic Serverで組込みポリシー・ストアを使用していれば、ターゲット・システム上のFusion Middleware Controlでそれを手動で入力できます。

マルチユーザー開発のトラブルシューティング

この項では、一般的な問題とその解決法方について説明します。

マスターRPDで保持される孤立したロック

ユーザーが変更をネットワークに公開するコマンドを発行することでロックを設定した場合、それは公開が完了するまでクリアされません。そのユーザーがそれを忘れて2週間の休暇をとってしまった場合、MUD管理者はそのロックを解除できます。

ロックは、マスター・ディレクトリの非表示のシステム・ファイルに格納されます。ロック・ファイルが見つからない場合は、Windowsのエクスプローラで「ツール」を選択し、「フォルダ オプション」を選択します。「表示」メニューで、「すべてのファイルとフォルダを表示する」オプションが選択されていることを確認します。

ロック・ファイルは、マスターRPDと同じ名前を持ち、.lckという拡張子が付きます。ロック・ファイルを削除すると、リポジトリのロックが解除されます。

図A-7に、リポジトリ・ロック・ファイルを示します。

図A-7 リポジトリ・ロック・ファイル

他のユーザーで削除されたオブジェクト

必要なオブジェクトを他のMUD開発者が削除した場合、次のオプションを選択できます。

- 以前のバージョンにロールバックして、当初からのすべての変更を再適用します。一般的には、ロールバックの最も簡単な方法は、履歴ログで履歴をたどることです。そのためには、「ファイル」→「マルチユーザー」→「履歴」を選択して、エントリを選択し、「アクション」→「ビュー」を使用します。
詳細は、「マルチユーザー開発の履歴の表示と削除」を参照してください。

- 削除されたオブジェクトを再作成し、将来のマージでそれが同じオブジェクトとして処理されるように等化します。

チェックアウト後にプロジェクトがない場合に必要な物理表および結合

物理オブジェクトは明示的にプロジェクトに属しているわけではありません。物理オブジェクトはプロジェクトの論理ファクト表にマップされ、それがチェックアウト時に抽出されているのです。

ローカルの抽出時に必要な物理オブジェクトを取得するには、必要な物理オブジェクトへのマッピングを持つ追加プロジェクトをチェックアウトします。そのようなプロジェクトがない場合、リポジトリ全体を編集してプロジェクトで論理ファクト表へのマッピングを作成する必要があります。MUD管理者はオフラインでリポジトリの変更を行うことができます。次のチェックアウトでその物理オブジェクトを含める必要があります。

前回のセッションで追加されたオブジェクトがチェックアウトされたリポジトリにない

最近追加されたオブジェクトがチェックアウトされたリポジトリにない場合、マージおよび公開する前にオブジェクトをプロジェクトに追加することを忘れた可能性があります。プロジェクト内のオブジェクトまたはプロジェクトから推論されたオブジェクト(ディメンションや物理オブジェクトなど)のみが、抽出されるリポジトリに含まれます。

この問題を解決するには、そのオブジェクトをマスター・リポジトリのプロジェクトに追加するようにMUD管理者に依頼します。

#1の追加によるオブジェクトの名前の変更

2つのオブジェクトが同じ完全修飾名で異なる内部アップグレードIDを使用してマージされている場合に、このような状況が発生します。このような状況でマージ・ロジックは、これらのオブジェクトは意味的に異なるオブジェクトと判断し、オブジェクトの名前を変更して一意性を保持します。

この問題を解決するには、equalizerpdsユーティリティを実行します。これは、2つのリポジトリで同じ完全修飾名を持つオブジェクトが同じアップグレードIDを持つようにアップグレードIDを再び割り当てるユーティリティです。その後、再度マージを試行してください。2つのオブジェクトは、名前が変更されることなく、マージされます。

詳細は、「オブジェクトの等化」を参照してください。

前のバージョンへのロールバック

マルチユーザー開発環境では、適切なチェックポイントでRPDのバックアップ・コピーを保存します。破損が発生する可能性のある操作が実行されるたびに、新しいバックアップがマスター・ディレクトリに保存されます。これはRPDの名前を持ち、3桁のインクリメント整数の拡張子を持ちます。個々の開発者も、開発時はいつでもRPDファイルをコピーできます。

開発者のサンドボックスでは、チェックアウトされたプロジェクトの元のバージョンはoriginalrpd_name.rpdという名前で保存されています。開発者が変更を廃棄すると、自動的にこのバージョンが使用されます。

また、次の手順を実行して、古いバージョンを参照したりロールバックすることもできます。

1. リポジトリでなく、管理ツールを開きます。

2. 「ファイル」→「マルチユーザー」→「履歴」を選択します。

3. 目的のバージョンを選択してから、「アクション」→「ビュー」→「リポジトリ」を選択します。

4. 「ファイル」→「名前を付けてコピー」を選択して、そのバージョンを新しい名前に保存します。

5. 古いバージョンを使用して最新のバージョンを置き換えるか、マスター・リポジトリを古いバージョンで置き換えます。

例A-1 最新バージョンの置換

この例では、古いバージョンをコピーして最新バージョンを置き換える方法を説明します。現在はバージョン1000であり、バージョン900にロールバックするとします。この状況では、repository.900、repository.1000およびrepository.rpd(現在のバージョン)の3つのファイルがあります。ロールバックを実行するには、repository.900のコピーを作成し、その名前をrepository.1001に変更します。(これにより、バージョン履歴にrepository.1000を保持できます。)その後、repository.900をrepository.rpdにコピーします。

マスターMUDリポジトリの手動更新

マルチユーザー開発(MUD)環境におけるOracle BIリポジトリの開発の過程で、マスター・リポジトリを手動で変更する必要がある可能性があります。MUDプロセスは高度に制御されており、MUDの履歴ログ・ファイル(.mhl)にはアカウンティング情報が格納されているので、手動の手順を実行する際には注意する必要があります。マスター・リポジトリに対して手動で作業するには、MUDディレクトリとは別のディレクトリにあるリポジトリで作業する必要があります。その後、マスターRPDと、MUDディレクトリにある最新バージョンのリポジトリの両方を交換する必要があります。

たとえば、master.rpdという名前のリポジトリを手動で更新するには、次の手順に従います。

1. MUDディレクトリからマスター・リポジトリ(master.rpd)をローカル・ディレクトリにコピーします。

2. 管理ツールを使用して、マスター・リポジトリ(master.rpd)のローカル・コピーに必要な変更を加えます。

3. 手動編集が完了したら、master.rpdをMUDディレクトリのmaster.rpdとしてコピーします。例:

copy c:\local\master.rpd c:\mud\master.rpd

4. MUDディレクトリで、バージョン番号を持つ最新のリポジトリを特定します。たとえば、master.7011などです。

5. master.rpdをMUDディレクトリにコピーし、リポジトリの最新バージョンを上書きします。例:

copy c:\local\master.rpd c:\mud\master.7011

B MUD事例: Eden Corporation社

この付録では、特定のビジネス・ケースでOracle Business Intelligenceのマルチユーザー開発環境を使用する方法を示す架空の事例について説明します。

この付録のトピックは次のとおりです。

- Eden Corporation社の架空の事例について

- フェーズI - マルチユーザー開発(MUD)の初期化

- フェーズII - ブランチ、修正およびパッチ

- フェーズIII - 独立のセマンティック・モデルの開発

Eden Corporation社の架空の事例について

Eden Corporation社 (架空の会社)は、最近Oracle Business Intelligenceを購入しました。この会社の2つの部署がライセンスを保有し、製品を使用する予定です。そのため、この会社には2つの個別のイニシアティブがあります。

- イニシアティブS: 販売部では、Oracle Business Intelligenceを使用して、計画に対する収益のダッシュボードおよび分析を行うことを考えています。初期フェーズを本番にすばやくデプロイし、直近のニーズを満たす必要があると考えています。その後、フェーズIIおよびIIIでさらに機能をロール・アウトすることを考えています。イニシアティブSは、規模が大きいため、2名の開発者に作業させる予定です。

- イニシアティブH: 人事部(HR)では、HRデータのダッシュボードおよび分析を行う必要があります。イニシアティブHは小さなイニシアティブのため、1人の開発者しかいません。この部署では、イニシアティブSのフェーズIIとフェーズIIIとの間でアプリケーションを本番に配信する予定です。

販売部と人事部の開発者は、お互いのデータおよびメタデータを参照することはできません。すべてのメタデータのセキュリティ権限を持つユーザーは、メタデータ管理者のみです。

多くの組織と同様に、緊急要求の定型的な傾向や本番での不具合も時折ある可能性があります。長期間のイニシアティブSとイニシアティブHがともに開発期間中であっても、開発者はその修正バージョンを数日以内に配信する必要があります。

技術チームのロールおよび職責について

Eden Corporation社では、次のようなチームを配置しています。

- Adam Straight - MUD管理者

- Sally Andre - 販売部のRevenueプロジェクトの開発者

- Scott Baker - 販売部のQuotaプロジェクトの開発者

- Helen Rowe - 人事部の開発者

Eden Corporation社の開発フェーズについて

Eden Corporation社では、次のタイムラインに基づいてRPDを本番にデプロイします。

1. 1月 - 販売フェーズI (プロジェクトRevenueおよびQuota)

2. 2月 - 販売フェーズII (プロジェクトTargetの追加、プロジェクトRevenueおよびQuotaの拡張)

3. 3月 - HR (1つのプロジェクトを使用)

4. 4月 - 販売フェーズIII (3つすべてのプロジェクトの拡張)

Eden Corporation社のトポロジについて

Eden Corporation社では、マルチユーザー開発環境に次のシステムを使用する予定です。

- MUD管理者 - NTコンピュータ(共有)

- Sally Andre - 管理ツール・クライアント用NTコンピュータ、およびOracle Business Intelligenceスタックの実行用Linuxコンピュータ

- Scott Baker - 高機能NTコンピュータ

- Helen Rowe - 前述のいずれか

- テスト - Linuxコンピュータ

- 本番 - クラスタ化されたLinuxコンピュータ

リポジトリ・アーキテクチャについて

Eden Corporation社のビジネス構造およびイニシアティブのため、リポジトリに2つの独立したセマンティック・モデル(1つは販売部用、1つは人事部用)が必要です。これらのモデルそれぞれが、複数のプロジェクトを持つ可能性があります。

リポジトリ構造の計画

リポジトリ・ファイルの構造次第で組織のマルチユーザーの開発ニーズをサポートできるようになるため、Eden Corporation社ではリポジトリ・ファイルの構造を計画することの重要性を認識しています。主要なオブジェクトには所有者が割り当てられるため、開発者は競合が発生したときに誰に照会したらよいか、自身で変更してはならないオブジェクトはどれかがわかります。

ヒント: 複数の独立したセマンティック・モデルをホストする場合、トップレベル・オブジェクトの名前を列挙して、名前が重複しないようにしてください。

表B-1および表B-2に、イニシアティブSおよびイニシアティブHでmain.rpdの高レベル・オブジェクトを示します。これらは、プロジェクトおよび所有者にマップされます。Adamは、イニシアティブSおよびイニシアティブHの全体の所有者です。

表B-1 プロジェクトおよび所有者にマップされたイニシアティブSのリポジトリ・オブジェクト

オブジェクト・タイプ

オブジェクト

所有者

ProjRevenue

ProjQuota

ProjTarget

物理データベース

Sample App Data

Sally

はい

はい

はい

ビジネス・モデル

Sales

Sally

該当なし

該当なし

該当なし

論理ファクト表1

F10 Billed Rev

Sally

はい

はい

いいえ

論理ファクト表2

F30 Facts Targets

Scott

いいえ

いいえ

はい

論理ファクト表3

F50 Facts Quotas

Scott

いいえ

はい

いいえ

論理ディメンション

(各種オブジェクト)

Sally

はい

はい

はい

サブジェクト・エリア(1)

Sales Quota

Scott

いいえ

はい

いいえ

サブジェクト・エリア(2)

Sales Revenue

Sally

はい

いいえ

いいえ

サブジェクト・エリア(3)

Sales Target

Scott

いいえ

いいえ

はい

変数

S_Last_Load

Sally

はい

はい

はい

初期化ブロック

S_Last_Load

Sally

はい

はい

はい

アプリケーション・ロール(1)

Sales Management

Sally

はい

はい

はい

アプリケーション・ロール(2)

Sales Rep

Sally

はい

はい

はい

表B-2 プロジェクトおよび所有者にマップされたイニシアティブHのリポジトリ・オブジェクト

オブジェクト・タイプ

オブジェクト

所有者

ProjHR

物理データベース

Human Resources Data

Helen

はい

ビジネス・モデル

HR

Helen

該当なし

論理ファクト表(1)

Payroll Facts

Helen

はい

論理ファクト表(2)

Medical Ins Facts

Helen

はい

論理ディメンション

(各種オブジェクト)

Helen

はい

サブジェクト・エリア(1)

HR Payroll

Helen

はい

サブジェクト・エリア(2)

HR Medical

Helen

はい

変数

H_Last_Load

Helen

はい

初期化ブロック

H_Last_Load

Helen

はい

アプリケーション・ロール(1)

HR Management

Helen

はい

アプリケーション・ロール(2)

HR Rep

Helen

はい

フェーズI - マルチユーザー開発(MUD)の初期化

最初のフェーズでは、Sally AndreとScott Bakerが平行して開発を行います。Sallyが初期コンテンツを作成し、Adam Straightがそれを複数のプロジェクトに分割します。その後、彼はMUDディレクトリを作成し、SallyとScottがチェックアウトして開発を行えるようにします。ユニット・テストの後、彼らの変更をマージして公開し、その後、Adamがリポジトリをテスト環境に移行します。不具合の修正サイクルの後、Adamがリポジトリを本番にプロモートします。

次の項では、フェーズIの開発について説明します。

- イニシアティブSの開始

- MUDプロジェクトの設定

- 最初の開発者のチェックアウト

- 2番目の開発者のチェックアウト

- 最初の開発者によるマスターMUDリポジトリへの変更の公開

- 2番目の開発者によるマスターMUDリポジトリへの変更の公開

- MUD管理者のテスト移行アクティビティ

- フェーズIのテスト

- フェーズIの本番への移行

- フェーズIの概要

イニシアティブSの開始

Sally Andreは、空のRPDからイニシアティブSを開始します。いくつかの論理スターおよびサブジェクト・エリアを最初に定義している場合、リポジトリをMUDプロジェクトに分割する方が容易なため、始めにフェーズIに必要な物理モデルを開発します。独自のローカル・テスト・データソースの接続プールの詳細も含まれます。

ヒント: 物理モデルには、物理表、すべての物理表に別名を定義して意味のある名前を付けるためのベスト・プラクティス、および結合が含まれます。

図B-1に、イニシアティブSの物理モデルを示します。

図B-1 イニシアティブSの物理モデル

Sallyは、物理レイヤーをビジネス・モデルおよびマッピング・レイヤーにドラッグしていくつかの初期コンテンツを作成します。また、不要な表を削除したり、スター結合が正しくなるようにします。さらに、開発時に必要なすべての物理表が開始論理表からのマッピングを持たせ、チェックアウトするときにそれらがプロジェクトに含まれるようにします。Sallyはこれらの手順を使用してF10 RevenueおよびF50 Quotasの2つのファクト表を作成し、これらはプロジェクトの基盤として機能します。

また、Sallyはビジネス・モデルのプロジェクトをマップするためのサブジェクト・エリアをいくつか持つ必要があります。ビジネス・モデル全体をドラッグすることができますが、ビジネス・モデルを右クリックして「Logical StarsとSnowflakes向けのサブジェクト・エリアの作成」を選択するとこの機能をより便利に実行できます。この機能を使用すると、それぞれの論理ファクト表からサブジェクト・エリアを作成できます。

Sallyは、この時点でサブジェクト・エリアのコンテンツについて考慮する必要はありません。重要なのは各サブジェクト・エリアを同じプロジェクトの論理ファクト表にマップするということです。ただし、サブジェクト・エリアは管理ミーティングSales QuotaおよびSales Revenueで合意された計画に基づいて名前を付けます。

Sallyはこの時点で、RevenueおよびQuotaファクト表に基づいて最初の2つのプロジェクトを作成するための十分なMUD管理者のコンテンツを持ちます。これらを確認するには、Sallyは最低でも次の基準を満たしていることを確認する必要があります。

1. 別のプロジェクトに対する、管理計画に応じた最低1つの論理ファクト表。論理ファクト表の列は、完成していなくても、さらには正しく名前が付けられていなくてもかまいませんが、すべての物理コンテンツをマップできる程度に完成している必要があります。

2. リポジトリが整合性チェックに合格できる十分な論理ディメンション。

3. プロジェクトに含められる1つ以上の論理ファクト表にマップされる物理コンテンツ。

4. 管理計画に応じて必要なサブジェクト・エリア。

MUDプロジェクトの設定

Eden Corporation社のMUD管理者Adam Straightは、ここで次の手順を実行してプロジェクトを作成し、それらをチェックアウトできるようにします。

彼は、最初に、マスターRPDを格納するRPD_mainというMUDディレクトリを作成します。このマスターRPDには、開発者用のコンテンツのスーパーセットが含まれています。ユーザーはこのマスターからプロジェクトをチェックアウトし、変更を共有する場合はそれらを戻してマージします。Sallyは自分の初期RPDをマスター・フォルダにコピーし、Adamが最初の2つのプロジェクトProjRevenueとProjQuotaを作成できるようにします。

最初に、Adamは管理ツールでマスターRPDを開き、「管理」→「プロジェクト」を選択します。ここで、プロジェクト・マネージャで、「アクション」→「新規プロジェクト」を選択します。彼はこのプロジェクトに「ProjRevenue」という名前を付けてから、プロジェクトの中央の論理ファクト表を選択します。リストの一番上のオブジェクトが開き、論理ファクト表が表示されます。また、論理ファクト表が属するビジネス・モデルごと、またはサブジェクト・エリアごとにまとめて表示することもできます。

図B-2は、Adamが論理ファクト表を表示できる各種の方法を示します。

図B-2 ビジネス・モデルおよびサブジェクト・エリアごとにグループ化されたファクトを含むプロジェクト・ダイアログ

Adamは、サブジェクト・エリアのグループを使用して同じファクト表を選択できたかもしれませんが、便宜上、ビジネス・モデルごとにファクトをグループ化することに決めます。彼はこのプロジェクトに指定されたファクト表、さらにデフォルトのアプリケーション・ロールおよびサブジェクト・エリアを追加します。カスタムで定義されたアプリケーション・ロール、ユーザー、変数または初期化ブロックはまだないため、それらをプロジェクトに追加することはできません。Adamは、2番目のプロジェクトのProjQuotaでもこの処理を繰り返します。

ヒント: 一部の明示的なオブジェクトは、両方のプロジェクトでアプリケーション・ロールを共有しているため、両プロジェクトで同一になります。同様に、多くの暗示的なプロジェクトのオブジェクトも共有されます(特に論理モデルと物理モデルの両方のディメンション表など)。作業しやすい小さなサブセットを複数作成すると、プロジェクトは使用しやすくなります(セキュリティの目的ではありません)。それぞれのトップレベル・オブジェクトの所有者がチーム全体に割り当てられてドキュメントが作成される管理プロセスにおいては、開発者が競合を回避できることからも、これは重要になります。

プロジェクトの論理ファクト表F10 Bill Revの所有者はSally Andreであり、このプロジェクトの所有者であるScott Bakerではありませんが、Adamはこれをこのプロジェクトに含めています。これは、Scottが両方のファクト表(販売ノルマの割合)のメジャーから導出するメジャーを作成する必要があるため、このようにしています。要は、ユーザーが所有するオブジェクトのみでなく、ユーザーの要件の実装に必要なコンテンツのサブセットもユーザーに提供されるということです。

Adamは、マスターRPDを共有ドライブRPD_Mainに「sales.rpd」として保存します。これで、ユーザーはプロジェクトをチェックアウトし、作業を平行して進められるようになります。

最初の開発者のチェックアウト

ここで、2人の開発者は、マスター・リポジトリの管理ツール・クライアントを設定して、プロジェクトをチェックアウトし、作業を開始します。Sallyはまず、マスター・リポジトリを使用するように管理ツール・クライアントを設定します。そのためには、「ツール」→「オプション」を選択してから、「マルチユーザー」タブを選択します。そこで、マスター・リポジトリ・ディレクトリへのポインタを設定します。また、ログやロックで便利になるので、彼女のフルネームも入力します。次に、彼女は自分のプロジェクトをチェックアウトして、そのプロジェクトでの作業を開始します。

一方、マスター・リポジトリ・ディレクトリには、sales.000とsales.mhlという2つの新しいファイルが作成されています。図B-3に、これらの新しいファイルを示します。

図B-3 マスター・リポジトリ・ディレクトリの2つの新しいファイル

sales.000ファイルは、Sallyがsales.rpdをチェックアウトするときに作成されるsales.rpdの自動バックアップ・ファイルです。問題が発生した場合、このファイルを使用してロールバックできます。sales.mhlファイルでは、プロジェクト、コンピュータ、ユーザーなどのパラメータおよびチェックアウト・ステータスを追跡します。

一方、Sallyのローカル・リポジトリ・ディレクトリには、3つのファイルが作成されています。

- originalProjRevenue.rpd: このファイルは、チェックアウト時のプロジェクト・サブセットRPDです。これは、3方向のマージ処理において後でオリジナルとして使用されます。またSallyが変更を廃棄する場合にも使用されます。

- ProjRevenue.rpd: このファイルには、自己完結のサブセット・プロジェクト(ProjRevenue)のみが含まれます。これは、編集時に開くファイルです。

- ProjRevenue.rpd.Log: このファイルは、管理ツールのこの編集セッション用のログ・ファイルです。管理ツールで「ファイル」→「マルチユーザー」→「履歴」を選択すると、そのコンテンツを表示できます。
図B-4に、ローカル・リポジトリ・ディレクトリの3つのファイルを示します。

図B-4 ローカル・リポジトリ・ディレクトリの3つの新しいファイル

ここで、Sallyは自分のアプリケーションのモデルでの作業をオフライン・モードで開始します。彼女は初期コンテンツを作成したときに独自のテスト・データソース接続プールの詳細を使用していたので、接続プール設定を変更する必要はありません。

Sallyはまずファクト表を開いて、モデリングのベスト・プラクティスに基づいて使用されていないキーを削除します。それから、Discnt_Value、RevenueおよびUnitsの3つのメジャーにSUM集計ルールを追加します。またそれらの名前を、Discnt_Valueは「Discount Amount」、Unitsは「Units Sold」、Revenueは「Sales Revenue」にそれぞれ変更します。

また、D10 Product表にProd_Dsc列の大文字バージョンとなる新しい「PRODUCT DESCRIPTION」という列を追加する必要があります。これは、「Upper("Sales"."D10 Product (Dynamic Table)"."Prod_Dsc")」の式を使用します。さらに、ディメンション階層を追加し、「Constant One」という変数を作成して、それを値1に初期化します。これを使用して新しいメジャーConstant Oneを作成します。最後に、自分の作業を保存します。

Sallyは、アプリケーション・ロールを追加できるようにサンドボックスOracle Business Intelligenceスタックを開始してから、アンサーを使用してリポジトリをテストします。次の手順に従ってコンポーネントを正しい順序で開始し、システム環境を構成します。

1. 標準コントロールを使用して、RCUスキーマが含まれるデータベースを開始します。このデータベースは、ローカル・サンドボックス開発者データベースです。

2. サンドボックスのOracle WebLogic Server管理サーバーを起動します。たとえば、Windowsでは、「スタート」→「すべてのプログラム」→「Oracle WebLogic」→「User Projects」→「bifoundation_domain」→「Start Admin Server for WebLogic Server Domain」を選択して、入力を求められたらインストール時に作成したユーザー名とパスワードを入力します。

「エンタープライズ・インストール」または「ソフトウェアのみインストール」のタイプを使用している場合、Oracle WebLogic Server管理コンソールを使用してOracle WebLogic Server管理対象サーバーを起動する必要があります。通常、開発サンドボックスをインストールしている場合は、簡易インストール・タイプを使用します。

3. 正しいリポジトリ・パスワードを入力して、ローカル・サンドボックスのFusion Middleware Controlにログインし、リポジトリ・ファイルをアップロードします。マスター・リポジトリではなく、ローカル・サブセット・リポジトリ(Sallyの場合はMUDチェックアウト・リポジトリ、ProjRevenue.rpd)をアップロードします。

4. また、問合せログの解析が容易になるように、Fusion Middleware ControlでOracle BIサーバー・キャッシュをオフにします。

5. さらに、Fusion Middleware ControlのBusiness Intelligence概要ページからシステム・コンポーネントを起動します。

ステップ2 - 5の詳細は、『Oracle Fusion Middleware Oracle Business Intelligence Enterprise Editionシステム管理者ガイド』を参照してください。

SallyのOracle BIサーバーはLinuxシステム上にあるため、管理ツール・クライアントからそこのBIサーバーにアクセスできるように彼女のWindowsコンピュータにODBC接続を設定する必要があります。

Sallyは、Linuxコンピュータ上のOracle BIサーバーを指すように、Oracle BIサーバーODBC DSNを手動で追加します。Oracle BIサーバーのODBC DSNの作成方法の詳細は、『Oracle Fusion Middleware Oracle Business Intelligence Enterprise Editionインテグレーターズ・ガイド』のOracle Business Intelligenceと他のクライアントとの統合に関する項を参照してください。

Sallyは、Oracle WebLogic Serverの組込みポリシー・ストアを使用するため、2つのアプリケーション・ロール「Sales Management」および「Sales Rep」を追加する必要があります。ロールを追加するには、WindowsコンピュータでWebブラウザを開き、(彼女のLinux上のOracle Business Intelligenceスタックを指す) Fusion Middleware Controlにログインします。Fusion Middleware Controlを使用して新しいロールを作成し、それを適切なユーザー、グループまたは他のロールにマップして、そのロールに適切な権限を付与します。

ヒント: 詳細は、『Oracle Fusion Middleware Oracle Business Intelligence Enterprise Editionセキュリティ・ガイド』のアプリケーション・ロールの作成に関する項を参照してください。

次に、Sallyは新しいアプリケーション・ロールを彼女のリポジトリに追加して、それらをオブジェクトの権限およびデータ・アクセス・フィルタに使用する必要があります。そのためには、Sallyは次の処理を実行します。

1. Sallyは管理ツールを開き、「ファイル」→「開く」→「オンライン」を選択します。そこで、彼女のローカルOracle Business Intelligenceスタックに接続するローカルWindows ODBC DSNを選択して、リポジトリ・パスワードを入力し、さらにインストール時に作成したスタックを管理するためのデフォルトのユーザー名とパスワードも入力します。

2. 次に、「管理」→「アイデンティティ」を選択して、Identity Managerを開きます。ナビゲーション・ツリーで「BIリポジトリ」をクリックしてから、「アプリケーション・ロール」タブをクリックします。すると、5つのデフォルトのアプリケーション・ロールに加えて、作成したばかりの新しいロールも表示されます。

3. Sallyは、Sales Repアプリケーション・ロールをダブルクリックして、「権限」をクリックします。「データ・フィルタ」タブで、このロールに属するユーザーは自分自身で作成した売上を参照することのみが許可されることを示す式を含むデータ・フィルタを追加します。「オブジェクト権限」タブで、Sales Repユーザーに収益の参照を許可しノルマやコスト情報の参照を許可しないように、「読取り」、「読取り/書込み」、「アクセス権なし」を設定します。「問合せ制限」タブでは、「最大行数」および「最大時間」をデフォルトのままにして、時間の制限は何も設定しません。「OK」をクリックしてIdentity Managerに戻ります。

4. 次に、「Sales Management」アプリケーション・ロールをダブルクリックして、管理委員会の決定に基づいてこのロールに最適な「データ・フィルタ」、「オブジェクト権限」および「問合せ制限」を設定します。

5. 最後にIdentity Managerを終了します。

6. Sallyは、「変更のチェックイン」メニュー・オプションを使用して、オンライン・モードで行った変更をコミットします。このアクションによってオンライン・モードでの変更が彼女のローカル・サブセット・リポジトリ(ProjRevenue.rpd)に伝播されますが、マスターMUDリポジトリにはコミットされません。Sallyは、後のステップでマスター・リポジトリに変更を公開します。

Sallyが次に自分のプロジェクトをチェックアウトするときに新しい変数とアプリケーション・ロールがそれに含まれているようにするには、自分の変更をチェックインする前にプロジェクトにそれらを追加する必要があります。これを行うには、Adamがプロジェクトを作成したときと同じ手順を実行します。「管理」→「プロジェクト」を選択し、自分のプロジェクトを選択し、左のペインで新しいオブジェクトを選択して、「追加」をクリックします。

2番目の開発者のチェックアウト

Sally AndreはProjRevenueプロジェクトで作業を行っていますが、Scott BakerはProjQuotaで作業を開始します。彼はMUDの管理ツール・オプションを設定し、プロジェクトをチェックアウトして、作業を開始しています。

Scottは、オンライン・モードを選んで作業します。Oracle BIサーバーで稼働中にリポジトリを変更するので、オンライン・モードで作業することで開発とユニット・テストの循環が強化されます。管理ツールのツールバーで「変更のチェックイン」をクリックするたびに、稼働中のサーバーに変更が適用されます。その直後にアンサーに移動して、そこで変更をテストできます。プレゼンテーション・レイヤー・オブジェクトを追加、削除、名前変更または再編成する場合、アンサーの基準タブでメタデータをリロードして、そこに表示されているツリーをリフレッシュする必要があります。

最初に、Scottは自分のローカルOracle Business Intelligenceスタックを開始し、Fusion Middleware Controlを使用してチェックアウト済のリポジトリをアップロードします。Oracle BIサーバーを再起動して、管理ツールを開き、オンライン・モードでリポジトリを開きます。

Scottは、接続プールの設定を変更し、自分のローカル・テスト・データベースを指すようにする必要があります。これは、マスター・リポジトリにはSallyの設定が含まれているためです。このマージ・プロセスで、これらの接続プールの変更は、すでにマスター・リポジトリに存在する接続プールによってオーバーライドされます。したがって、Scottは、次にチェックアウトするときに自分のローカル・テスト接続プールの変更を再び適用することが必要になります。

ヒント: 本番および他の環境への移行時に必要な接続プールの変更を自動化するには、Oracle BIサーバーXML APIを使用します。詳細は、Oracle Fusion Middleware Oracle Business Intelligence Enterprise Edition XMLスキーマ・リファレンスのテストから本番環境への移行に関する項を参照してください。

Scottの次のタスクは、キーを削除して彼の論理ファクト表をクリーンアップすることです。また、メジャーにSUM集計ルールおよび業務上わかりやすい名前(Quota Amount)を指定します。

F10論理表はSallyが所有しているので、Scottは表内の何も変更しません。彼女がマスターRPDに対して変更をマージおよび公開したら、彼も同じことを行います。そこで、彼は再度チェックアウトして彼女の変更を取得します。

次にScottは、「Sales percent of quota」という新しいメジャーをF50表に追加します。これは、次の式を使用して両方のファクト表から導出します。

"Sales"."F10 Billed Rev."."Revenue" / "Sales"."F50 Facts Quotas"."Quota Amount"

Sallyが自身のプロジェクトでRevenueの名前を変更しても、マージ処理ではそれが同じオブジェクトと識別され、Scottの式で同じ名前が使用されます。オブジェクトのアップグレードIDは元のIDと同一であるため、マージ・ロジックで名前の変更を識別できます。

最後に、Scottは、管理委員会のミーティングで彼が知ったことを忘れています。それは、Sallyがすべてのディメンションを所有していることです。彼は、PRODUCT DESCRIPTIONというD10 Product.Prod_Dsc列のすべてが大文字になっているバージョンを必要としています。彼は、Sallyが作成したものと同じ列を作成します。この誤りは、すぐに、公開手順の中のマージ・プロセスで検出され、解決されます。

Scottは、オンライン・モードで作業しているため、自分のリポジトリをアップロードしたり自分のシステムを再起動する必要はありません。そのかわり、変更をコミットした直後に、「変更のチェックイン」を使用してそのユニット・テストを行います。その間にSallyは、彼女の変更のテストを終えます。

最初の開発者によるマスターMUDリポジトリへの変更の公開

Sallyは変更の最初のバッチの作成およびユニット・テストを終えたので、作業を保存してそれをマスター・リポジトリにマージします。彼女は、「ファイル」→「マルチユーザー」→「ネットワークに公開」を選択します。新しいオブジェクトをプロジェクトに追加することを忘れても、詳細な警告が表示されるので、オブジェクトをプロジェクトに追加して再度マージできます。そうしないと、次に彼女がプロジェクトをチェックアウトしたときに、オブジェクトは抽出されません。

次に、他のユーザーがマージすることでSallyの変更が破損してしまうことなく彼女が自分の変更をマージできるように、管理ツールはマスター・リポジトリをロックします。

ヒント: コメント・フィールドを使用して、公開する変更の説明を記録用に残しておくことをお薦めします。また、頻繁に公開すること、つまりサブセットのリフレッシュを実行することで、変更の追跡および後の履歴の監査が容易になります。さらに、管理ツールのモデリングでは、作業を段階的に行うことでテストを簡易化して各タスクの複雑性を低減することをお薦めします。

Sallyの変更により競合が発生することはないので、次に示す「マージ戦略の定義」の手順では競合について触れていません。ただし、プレゼンテーション・オブジェクトの別名は特殊なケースで、変更(ローカル・バージョン)、現行(マスター)、または2つのマージを保持することを選択できます。Sallyが列名を変更すると別名が自動的に作成されるため、新しい名前を本番に配置したときに、古い名前に記述されたレポートが破損することはありません。Eden Corporation社にはまだレポートがないため、「現行」を選択しても別名は空のままです。彼女は「Sales Revenue」、「Units Sold」および「Discount Amount」に対してこれを行います。

ヒント: 名前を複数回変更すると、一連の別名ができることがあります。古い名前を使用しているレポートのセットが存在する場合があるため、「マージ戦略の定義」画面で「選択内容のマージ」を選択して、「現行」に存在する別名および「変更」の新しい別名を保持できます。

マージ手順が完了すると、マスターsales.rpdは、Sallyによる変更で上書きされます。マージ・ログも保存されます。

2番目の開発者によるマスターMUDリポジトリへの変更の公開

Scottは、このフェーズの自分の開発作業を完了したので、「ファイル」→「マルチユーザー」→「サブセットのリフレッシュ」を選択し、サブセットのリフレッシュを実行して、自分の変更をマスター・リポジトリの最新バージョンとマージします。「マージ戦略の定義」画面で、プレゼンテーション列Quota Amountに対して作成された別名を保持するかどうかが確認されます。Sallyと同様に、Scottも、現在のリポジトリの値(別名を使用しない)を保持することを選択します。

サブセットがリフレッシュされた後、Scottは再び簡単にユニット・テストを実行します。彼はテスト中に、Sallyのものと同じPRODUCT DESCRIPTIONという列を誤って作成していたことに気づきます。Scottの列は個別に作成されているので、内部アップグレードIDはSallyのものとは異なります。そのため、名前が同じでも、マージ・ロジックではそれを別の列と認識し、上書きされることなく、名前に「#1 (PRODUCT DESCRIPTION#1)」が付加されます。

Scottは外部列を削除し、自分のロジックをSallyのPRODUCT DESCRIPTION列に接続して、再度簡潔にテストしてから、ネットワーク・マスター・リポジトリに変更を公開します。

Scottが様々なユーザーのオブジェクトを削除または変更していると、エラーの解決は困難になることがあります。その場合、オブジェクトの再作成および補正、またはリポジトリのバックアップ・バージョンへのロールバックおよび彼の変更の再作成が必要になることがあります。

MUD管理者のテスト移行アクティビティ

テスト環境のリポジトリの準備をするために、MUD管理者Adam Straightはここで、マスター・リポジトリで直接いくつかのタスクを実行する必要があります。つまり、「ファイル」→「マルチユーザー」→「チェックアウト」ではなく、「ファイル」→「開く」→「オフライン」を使用します。

Adamはまず管理ツールを開いてからsales.rpdをオフライン・モードで開きます。その直後、他のユーザーはロックアウトされるので、それらのユーザーがプロジェクトをチェックアウトしようとするとWindows権限エラーが発生します。Adamが何度もファイルを開いたり閉じたりする必要がある場合、他のユーザーがそれぞれの変更の間にチェックアウトできないように、RPDをどこか他の場所で変更して共有ディレクトリからそれを削除する必要があります。

Adamはテスト環境に適合するように接続プール設定を変更します。管理ツール・ユーザーがプロジェクトをチェックアウトする場合、接続プール・パラメータはチェックアウトに含まれません。通常、MUDディレクトリのマスター・リポジトリにはテスト接続プールが含まれますが、個々の開発者は独自にテストデータベースに接続するために様々な設定が必要になる場合があります。マージおよび公開時は、マスター・リポジトリの接続プールは開発者の変更で上書きされないため、引き続き共有テスト・データベースを指すことができます。

また、Adamは新しいアプリケーション・ロールがテスト・システムに移行されていることを確認する必要があります。このロールは2つしかないので、彼はテスト・システムのFusion Middleware Controlでそれらを再入力することにします。さらに、Adamはいくつかのテスト・ユーザーまたはグループを新しいアプリケーション・ロールにプロビジョニングして、セキュリティ・フィルタ、権限および問合せ制限をテストできるようにします。

最後に、AdamはFusion Middleware Controlを使用してリポジトリをテスト・システムをアップロードし、Oracle BIサーバーを再起動します。ローカルの管理ツールを使用して、テストOracle BIサーバーをオンライン・モードで接続し、整合性チェッカを実行します。このリポジトリで参照されるいずれかのアプリケーション・ロールに欠落またを不正があると、整合性チェッカでそのエラーのリストが出力されます。

フェーズIのテスト

この時点でテスト・チームはリポジトリをテストできます。テスト中に、テスト・チームは"Sales"."F50 Facts Quotas"."Sales percent of quota"が式sales/quotaではなくquota/salesで誤って作成されているという不具合を発見します。テスト・チームは不具合レポートを記述し、不具合の修正はScott Bakerが割り当てられます。

Scottは管理ツールを開いて、ProjQuotaをチェックアウトし、変更を行い、ローカル・テスト・データベースを指すように接続プールを変更して独自のサンドボックスでテストします。その後、彼は変更を共有MUDディレクトリに公開します。彼は、不具合が修正され、リポジトリは再度テストするために送信する準備ができたことをAdamに通知します。

MUD機能によりマスター・リポジトリはチェックアウトされたプロジェクトの接続プールの変更から隔離されるので、Adamは接続プールが正しいテスト・システムで指定されていることを認識できます。Adamはテスト・コンピュータ上で、Fusion Middleware Controlを開き、リポジトリをアップロードして、Oracle BIサーバーを再起動します。

テスト・チームは完成するまでテストを行い、本番用のリポジトリはクリアされます。

フェーズIの本番への移行

リポジトリがテスト・フェーズで合格すると、データベース接続パラメータを更新して本番にアップロードできるようにする必要があります。また、アプリケーション・ロールを移行およびプロビジョニングする必要があります。

管理チームが立てた計画に基づき、本番運用チームは新しいアプリケーション・ロールが必要なことを認識します。本番運用チームは、Adamと同様に、テスト環境に新しいアプリケーション・ロールを作成します。また、管理チームからのセキュリティ仕様に基づき、ユーザーまたはグループをそれらのアプリケーション・ロールにプロビジョニングします。

本番に移行する前に、Adamは、接続プール・パラメータを本番データベースに必要な値に変更する必要があります。Eden Corporation社では、Adamは本番接続プールを表示する権限を持っていますが、他のリポジトリ開発者は持っていません。したがって、Adamかテストから本番に接続プールを変更できず、リポジトリをマスター・ディレクトリに残したままにします。それは、開発者が、それを読み取って書き込むためのWindows権限を持っているためです。かわりに、彼は本番に必要な接続プールのXMLパッチを作成します。次に、彼は、sales.rpdをセキュアなディレクトリにコピーし、そのパッチを適用してから、テストを実行してそれが実際に本番データ・ソースに接続していることを確認します。その後、リポジトリを本番システムにアップロードし、本番クラスタのサーバーを起動します。

ヒント: 本番および他の環境への移行時に必要な接続プールの変更を自動化するには、Oracle BIサーバーXML APIを使用します。詳細は、Oracle Fusion Middleware Oracle Business Intelligence Enterprise Edition XMLスキーマ・リファレンスのテストから本番環境への移行に関する項を参照してください。

マスター・リポジトリはまだテスト・データベースを指しているため、管理ツール・ユーザーはそれを参照することができます。一方、本番リポジトリの新しいバージョンは、XMLパッチ・ファイルの接続プールの変更を適用することで、いつでも構築できます。

ここで本番の検証が実行されます。テスト・システムへの移行と同様に、重要な検証では、アプリケーション・ロールがすべて正しくなるように、オンライン・モードで整合性チェッカが実行されます。この検証が完了すると、フェーズIは本番になります。

フェーズIの概要

図B-5に、フェーズIの並列のアクティビティを示します。

図B-5 フェーズIのアクティビティの概要

フェーズII - ブランチ、修正およびパッチ

フェーズIIでは、開発は新しいフェーズIIブランチで続行され、メイン・ブランチでは本番アプリケーションを追跡します。この作業を管理するために、Adamはブランチ・プロジェクトを追加して、2番目のマスター・リポジトリの共有ディレクトリを設定し、1つはメイン、もう1つは新しいフェーズIIブランチに指定します。

SallyはさらにコンテンツをProjRevenueに追加します。彼女がその作業をしている間、Scottは新しいコンテンツを追加します。Scottがマージおよび公開を終えたら、Adamは新しいプロジェクトProjTargetを作成し、Scottの新しいコンテンツをそれに移動します。一方、彼らは本番で発生したすべての不具合に対処する必要があります。これもメインsales.rpdブランチで行われます。

次の項では、フェーズIIの開発について説明します。

- 2番目のブランチの設定

- 開発者のプロジェクトのチェックアウト

- メイン・ブランチのパッチの修正

- フェーズIIブランチの終了およびマージ

- フェーズIIの概要

2番目のブランチの設定

Adamはまず、別のMUDディレクトリを作成して、新しいブランチのマスターを保持します。また、SallyとScottがそれを読書きできるように、Windows共有セキュリティを設定します。

次に、Adamは、メイン・リポジトリをメインMUDディレクトリに配置します。彼は、既存のすべての機能を含んだそのブランチの新しいプロジェクトを追加します。その後、彼はリポジトリを閉じ自分のローカルの管理ツール・リポジトリ・フォルダのブランチ・プロジェクトをチェックアウトします。彼は、それを、ブランチMUDディレクトリにコピーします。そこでは、ブランチのマスターとして機能するようになります。

開発者のプロジェクトのチェックアウト

SallyとScottは再度プロジェクトをチェックアウトして、Sales InitiativeフェーズIIの開発を相互に並列して、また本番中のフェーズIと並列して開始します。Scottは新しいプロジェクトになる新しいコンテンツを追加しているので、新しいコンテンツにマップまたは結合する必要がある共有オブジェクトを提供する他のプロジェクトを1つ以上チェックアウトする必要があります。彼は、ProjQuotaをチェックアウトすることを選択します。

メイン・ブランチのパッチの修正

SallyとScottがフェーズIIを開発している間に、CEOの緊急リクエストが彼らにエスカレートされます。CEOは主要な販売マネージャにダッシュボード上の「Sales Quota Variance」という新しいメジャーを2日以内に閲覧させたいと考えています。

Scottは、フェーズIIブランチの新しいプロジェクトの作業を閉じます。これはチェックアウトの状態が続きます。その後、新しいメジャーを含むプロジェクトProjQuoteをメイン・ブランチ・マスター・リポジトリ(sales.rpd)からチェックアウトします。彼は新しいメジャーおよび対応するプレゼンテーション列を作成して、ローカルでそれをテストし、再び変更をメイン・ブランチに公開します。

Scottは、チェックアウトされたフェーズIIリポジトリをローカルドライブから再度開いて、開発を続行します。

一方、Adamは新しいsales.rpdをテスト環境に送信し、そこでテスト・チームが修正を検証します。

次に、Adamは修正したリポジトリを本番環境に送信する準備をします。リポジトリ全体ではなく、変更のパッチを送信します。

パッチを作成するために、Adamは変更されたリポジトリと本番で現在稼働中のリポジトリを比較します。本番で稼動しているリポジトリは、新しい変更をマージする直前のメイン・リポジトリと同じです。そのため、それはMUDディレクトリのバックアップ・リポジトリの1つです。本番で稼動している現在のリポジトリは、sales.006というバックアップであり、これは彼が今後のブランチのマージのオリジナルとして特定しているものと同じです。彼は、これをsales.006.rpdにコピーし、管理ツールでそのファイルを表示して開けるようにします。(後で別のマージに必要となる可能性があるため、単にその名前を変更できません。)

図B-6に、sales.rpdとsales.006が含まれるMUDディレクトリのファイルを示します。

図B-6 sales.006からsales.006.rpdに名前変更

次に、Adamは更新sales.rpdが含まれるリポジトリを開きます。「ファイル」→「比較」を選択してから、比較する古いバージョンにsales.006.rpdを選択します。「リポジトリの比較」ダイアログには、パッチに含まれるバージョン間の差異が表示されます。

図B-7に、「リポジトリの比較」ダイアログを示します。

図B-7 sales.rpdとsales.006.rpdの「リポジトリの比較」ダイアログ

次に、Adamは「パッチの作成」をクリックして、結果をPatch_variance.xmlとして保存します。パッチには、2つの新しい列を適用する必要があるオブジェクトとそれに関連する相互接続のみが含まれます。

ヒント: より複雑なパッチを使用すると、オブジェクトを削除したり、新しいプロパティ値でマージするオブジェクトを上書きすることができます。

Adamのパッチは、次のようになります。

<?xml version="1.0" encoding="ISO-8859-1"?>
<Repository xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<DECLARE>
<LogicalTable name="F50 Facts Quotas" parentName="&quot;Sales&quot;"
parentId="2000:68667" parentUid="2160843965" id="2035:69454" uid="2160843966"
x="718" y="288">
<Description/>
<Columns>
<RefLogicalColumn id="2006:69460" uid="2160844041"
qualifiedName="&quot;Sales&quot;.&quot;F50 Facts Quotas&quot;.&quot;Quota
Amount&quot;"/>
<RefLogicalColumn id="2006:69786" uid="2160845070" qualifiedName=
"&quot;Sales&quot;.&quot;F50 Facts Quotas&quot;.&quot;
Sales percent of quota&quot;"/>
<RefLogicalColumn id="2006:70033" uid="2160845342" qualifiedName=
"&quot;Sales&quot;.&quot;F50 Facts Quotas&quot;.&quot;
Sales Quota Variance&quot;"/>
</Columns>
<TableSources>
<RefLogicalTableSource id="2037:69456" uid="2160844747"
qualifiedName="&quot;Sales&quot;.&quot;F50 Facts Quotas&quot;.&quot;
F50 Facts Quotas&quot;"/>
</TableSources>
</LogicalTable>
<LogicalColumn name="Sales Quota Variance" parentName=
"&quot;Sales&quot;.&quot;F50 Facts Quotas&quot;" parentId="2035:69454"
parentUid="2160843966" id="2006:70033" uid="2160845342" isDerived="true"
isWriteable="false">
<Description><![CDATA[quota - sales]]></Description>
<Expr><![CDATA["Sales"."F50 Facts Quotas"."Quota Amount" - "Sales".
"F10 Billed Rev."."Sales Revenue" ]]></Expr>
</LogicalColumn>
<PresentationTable name="F50 Facts Quotas" parentName=
"&quot;Sales Quota&quot;.&quot;&quot;"
parentId="4004:69706" parentUid="2160844968" id="4008:69707"
uid="2160844969" hasDispName="false" hasDispDescription="false">
<Description/>
<Columns>
<RefPresentationColumn id="4010:69711" uid="2160844973" qualifiedName=
"&quot;Sales Quota&quot;..&quot;F50 Facts Quotas&quot;.&quot;
Quota Amount&quot;"/>
<RefPresentationColumn id="4010:70032" uid="2160845338" qualifiedName=
"&quot;Sales Quota&quot;..&quot;F50 Facts Quotas&quot;.&quot;
Sales percent of quota&quot;"/>
<RefPresentationColumn id="4010:70036" uid="2160845345" qualifiedName=
"&quot;Sales Quota&quot;..&quot;F50 Facts Quotas&quot;.&quot;
Sales Quota Variance&quot;"/>
</Columns>
</PresentationTable>
<PresentationColumn name="Sales Quota Variance" parentName="
&quot;Sales Quota&quot;..&quot;F50 Facts Quotas&quot;" parentId=
"4008:69707" parentUid="2160844969" id="4010:70036" uid="2160845345"
hasDispName="false" hasDispDescription="false" overrideLogicalName="false">
<Description><![CDATA[quota - sales]]></Description>
<RefLogicalColumn id="2006:70033" uid="2160845342" qualifiedName=
"&quot;Sales&quot;.&quot;F50 Facts Quotas&quot;.
&quot;Sales Quota Variance&quot;"/>
</PresentationColumn>
</DECLARE>
</Repository>

ヒント: リポジトリ全体の移行と異なり、このパッチを適用する前に接続プールを変更する必要はありません。本番で稼動するリポジトリにはすでに正しい接続プールの設定が行われています。パッチがこのロジックに影響することはないので、接続プールは介入されることなく正しく動作し続けます。

最後に、Adamはこのパッチを移行して本番システムに適用する必要があります。これを実行するにはいくつかの方法があります。

1. メイン・リポジトリにオフラインでパッチを適用し、Fusion Middleware Controlを使用してアップロードします。Adamは、管理ツールを使用してパッチ・マージを実行することで、自分のWindowsコンピュータでローカルに本番リポジトリのコピーにパッチを適用できます。その後、Sallyが前に自分のサンドボックスで実行したように、Fusion Middleware Controlを使用して本番システムにそのリポジトリをアップロードできます。本番システムはクラスタ化されているため、リポジトリをアップロードした後にすべてのOracle BIサーバーを再起動する必要があります。Adamは、Fusion Middleware Controlを使用して手動でサーバーを一度に1つずつ再起動できます。このようにしてローリング再起動を実行すると、エンド・ユーザーが使用できない状態になることはありません。かわりに、Adamまたは運用スタッフの1人は、BI Systems Management APIを使用したスクリプトを作成し、ローリング再起動を自動化できます。

2. patchrpdユーティリティを使用した本番リポジトリの適切なパッチ: 運用スタッフは本番システムに直接ログオンし、patchrpdユーティリティを使用してXMLパッチを適用できます。なんらかの競合が発生すると、ユーティリティは更新をキャンセルし、変更を行わずに終了します。更新が成功すると、前のパラグラフの説明にあるように、運用スタッフはローリング再起動を実行できます。

3. biserverxmlcliユーティリティを使用した稼働中のシステムのパッチ: この方法は本番システムにお薦めしません。

ヒント: 管理ツールを使用して本番のOracle BIサーバーにオンライン・モードでログオンする権限がある場合、「ファイル」→「名前を付けてコピー」を使用してそれをローカル・ドライブにコピーします。

フェーズIIブランチの終了およびマージ

SallyとScottは、新しいブランチで変更を完了し、それらを公開します。

そこでAdamはScottの新しいコンテンツを新しいプロジェクトprojTargetに追加します。彼は以前と同様の手順を実行し、ブランチ・リポジトリをテスト・チームに送信します。

テストが完了したら、MUDマージを使用して、そのブランチをメイン・ブランチにマージしなおす必要があります。このようにして、本番パッチと新しく開発されたコンテンツがマージされて、後で本番に移動できるようになります。

ここで、sales.rpdにはすべての変更が含まれ、ブランチは不要になります。Sales.rpdが、統合テストに送信され、マージされたコンテンツが既存のコンテンツに不具合を起こさないことが確認されます。統合テストが完了したら、Adamは変更を含む別のパッチを作成し、運用スタッフに、稼働中の本番システムにそれを適用してもらいます。Salesイニシアティブ・フェーズIIは、これで本番になります。

フェーズIIの概要

図B-8に、フェーズIIの並列のアクティビティを示します。

図B-8 フェーズIIのアクティビティの概要

フェーズIII - 独立のセマンティック・モデルの開発

次のフェーズでは、SallyとScottはSalesイニシアティブのフェーズIIIの開発を開始します。一方、Helen RoweはHRイニシアティブの最初のフェーズを構築して、新しい独立のセマンティック・モデルを本番に配置します。

次の項では、フェーズIIIの開発について説明します。

- 複数の独立なセマンティック・モデルのセキュリティに関する検討事項

- Salesセマンティック・モデルの開発者のチェックアウト

- HRセマンティック・モデルの開発者が構築するコンテンツ

- フェーズIIIの概要

複数の独立なセマンティック・モデルのセキュリティに関する検討事項

Helenのアプリケーションには、給与や医療情報などの機密性の高い個人情報が含まれます。一方、Salesアプリケーションには、法的に機密性の高い財務情報が含まれます。企業のセキュリティ・コンプライアンスにより、これらの2つのチームは相互のデータまたはメタデータを参照することはできません。また、この2つのチームには、時間ディメンションなどの一般的なディメンションを除いて共有できるコンテンツはほとんどありません。この2つのチームのビジネス・ドライバ、予算およびスケジュールも異なります。

これらの理由により、Eden Corporation社の管理委員会は、リポジトリで独立したセマンティック・モデル(1つは販売部用、もう1つは人事部用)を使用することを決定しました。この手法では、共有オブジェクトがないことと、それらのコンテンツに矛盾が発生しないことを確実にするために2つのチームが必要です。これを確実にする最も簡単な方法は、トップレベル・オブジェクトの名前が競合しないようにすることです。変数およびアプリケーション・ロールも異なるものにする必要があります。

ヒント: ある管理委員会では、それぞれのトップレベル・オブジェクトの名前の前に各セマンティック・モデルに固有の接頭辞(販売部には「S_」、HRには「H_」など)を付けることを開発者に指示することで、トップレベル・オブジェクトが競合しないようにしています。このプラクティスにより、どのオブジェクトがどちらの組織に属しているかわかりやすくなります。別の委員会では、トップレベル・オブジェクトのマスター・リストを保持し、競合が発生しないように確認するためにトップレベル・オブジェクトの名前を提出することを新しいアプリケーションに求めたいと考えています。また、2方向マージでは、上書きによりコンテンツを破損したり予期しないオブジェクト名の変更が発生する前に、誤りを捕捉できます。

別のセキュリティ要件は、正しい開発者のみがそれぞれのリポジトリにアクセスできるように個々のMUDディレクトリにセキュリティを適用する必要があるということです。SallyとScottはSales MUDディレクトリから参照およびチェックアウトのみ実行できます。またHelenはHR MUDディレクトリから参照およびチェックアウトのみ実行できます。Mainディレクトリは本番に実際に存在するマージされたマスターを保持する必要があるので存在し続けますが、Adamのみがそのディレクトリを参照および変更する権限を持ちます。

Eden Corporation社の最後のセキュリティ要件は、独立のセマンティック・モデル開発者がマージ後にオンライン・モードで稼働中のリポジトリにアクセスする機能を無効にすることです。リポジトリ・パスワードは1つしかないので、リポジトリのパスワードおよびアクセス権を持つ開発者はオフライン・モードでそのすべてのコンテンツを参照および変更できます。ただし、オンライン・モードでは、開発者はOracle BIサーバーにログオンするためにデータ・アクセス・ユーザー名とパスワードも必要です。このセキュリティ要件を施行するために、Adamは開発者が本番にログオンしたり、このように本番をテストする権限を与えないようにする必要があります。また、本番運用スタッフはリポジトリ・パスワードを自分たちしか知らないパスワードに変更できますが、リポジトリ・パスワードは管理ツールを使用して変更されるため、Windowsコンピュータでこのタスクを実行する必要があります。

Salesセマンティック・モデルの開発者のチェックアウト

SallyとScottは、新しいセキュアな販売部ブランチMUDディレクトリから彼らのプロジェクトをチェックアウトします。彼らは自分の作業を開始します。

HRセマンティック・モデルの開発者が構築するコンテンツ

Helenはセキュアな独立のセマンティック・モデルで1人で作業しているので、まだプロジェクトをチェックアウトする必要はありません。実際は、ローカル・コンピュータ上の新しいブランク・リポジトリからコンテンツの構築を開始する必要があります。彼女は、コンテンツの構築およびユニット・テストを通常の手順で段階的に実行します。

Helenはユニット・テストが完了すると、独立のリポジトリが完成します。彼女はそれをAdamに送信し、Adamはマスター・リポジトリを手動で更新するか、別々の場所で2方向マージを実行します。Adamは、次のマージの手順のいずれかを実行します。

手動でリポジトリを更新

1. 最初に、Adamは2つのリポジトリを補正して、トップレベル・オブジェクトに付与された異なる名前を考慮してIDを再割り当てします。このプラクティスにより、マージ時に競合が発生しなくなります。

2. 次に、Adamはマスター・リポジトリをMUDディレクトリからローカル・ディレクトリにコピーして、必要な更新を手動で実行し、Helenのリポジトリのコンテンツをマスター・リポジトリに追加します。それから、マスター・リポジトリをマスター・ディレクトリに再度コピーします。

別の場所で2方向マージを実行

1. 最初に、Adamは2つのリポジトリを補正して、トップレベル・オブジェクトに付与された異なる名前を考慮してIDを再割り当てします。このプラクティスにより、マージ時に競合が発生しなくなります。

2. 次に、Adamはマスター・リポジトリをMUDディレクトリからローカル・ディレクトリにコピーして、「リポジトリ・マージ・ウィザード」を使用して2方向マージを実行し、マスター・リポジトリをマスター・ディレクトリに再度コピーします。

ヒント: 空のリポジトリを作成するには、「ファイル」→「新規リポジトリ」を選択します。その後、名前(blank.rpdなど)とリポジトリ・パスワードを指定します。「メタデータのインポート」には「いいえ」を選択し、「終了」をクリックします。

マージ後に、Adamは展開されるコンテンツを管理するための新しいプロジェクトhr_payrollを作成します。彼はHelenのコンテンツをそのプロジェクトに追加します。また、それをメインからチェックアウトし、HR Branch MUDディレクトリに送信します。プロジェクトのチェックアウトを使用すると、後でIDおよびマージの管理が容易になります。

Adamは接続プール・パラメータを調整し、リポジトリをテスト・コンピュータに移行します。不具合が見つかった場合は、Helenがhr_payrollプロジェクトをチェックアウトし、それを修正して、ユニット・テストをしてから公開します。(彼女は、チェックアウトしたブランチ・プロジェクトから自分の機能プロジェクトをチェックアウトします。)Adamは、それをテスト・システムに移行してさらにテストします。テストが完了したら、彼は、完了したHRブランチ・リポジトリをメイン・ブランチに戻してマージし、統合されたリポジトリをテスト・システムの統合テストに送信します。

統合されたリポジトリでテストが完了すると、本番への移行の準備が整います。ここでは、完全なリポジトリの移行、またはpatchrpdを使用した本番環境へのパッチの適用というオプションがあります。両方の方法ともローリング再起動が必要です。

この手順の実行後には、本番リポジトリにイニシアティブSとイニシアティブHの両方のコンテンツが格納されます。

フェーズIIIの概要

図B-9に、フェーズIIIの並列のアクティビティを示します。

図B-9 フェーズIIIのアクティビティの概要

C 論理SQLリファレンス

この付録には、Oracle BIサーバーで認識される論理SQL文の構文および使用方法の情報が記載されています。Oracle BIサーバーの論理SQLには、標準SQLの他に、AGO、TODATE、EVALUATEなどの特殊関数(SQL拡張)が含まれています。論理SQL問合せはプレゼンテーション・レイヤー・オブジェクトに解決されます。

この付録のトピックは次のとおりです。

- Oracle Business Intelligenceの論理SQLについて

- SQL構文とセマンティクス

- 集計関数、集計実行関数、時系列関数、およびレポート関数

- 文字列関数

- 数学関数

- カレンダ日付/時刻関数

- 変換関数

- 参照関数

- データベース関数

- 階層ナビゲーション関数

- システム関数

Oracle Business Intelligenceの論理SQLについて

Oracle BIサーバーは、クライアント・ツールからSQLのSELECT文を受け入れます。また、Oracle BI管理ツールを使用すると、複雑な式を使用した論理列を定義できます。この付録では、派生列を作成するために管理ツールで使用可能なSELECT文および式の構文とセマンティクスについて説明します。

プレゼンテーション・レイヤーおよびビジネス・モデルとマッピング・レイヤーがもたらす抽象化により、クライアントは論理SQLのみを指定してデータを問合せできるため、実際の物理ソースとの相互作用はOracle BIサーバーによって処理されます。各データ・ソース・タイプと通信する必要がある複数のソース言語の複雑さが、ユーザーおよびクライアントから隠されます。

「分析」エディタの「詳細設定」タブの「実行されるSQL」セッションを表示すると、特定の分析に対するOracle BIプレゼンテーション・サービスによって実行される論理SQL問合せをアンサーで表示できます。適切な権限がある場合は、「管理」タブの「セッションの管理」ページを表示すれば、SQLを表示することもできます。詳細を参照するには、「セッションの管理」ページの「ログの表示」をクリックします。

また、アンサーには、論理SQLを実行できる場所もあります。適切な権限がある場合は、「管理」タブの「SQLの実行」ページを使用して、SQLコードを入力してOracle BIサーバーに送信できます。分析に階層列、メンバー選択またはグループが含まれていない場合、「分析」エディタの「詳細設定」タブの「高度なSQL句」フィールドを使用できます。「新規フィルタ」ダイアログでSQLを入力することもできます。

管理ツールでは、論理SQLは、多くの場合、ビジネス・モデルとマッピング・レイヤーのオブジェクトに関連する式の形式で表示されます。通常、SQL関数は式ビルダーで作成します。管理ツール内の論理SQL式を構築できる場所の要約は、「「式ビルダー」ダイアログについて」を参照してください。

Oracle BI Publisher、Oracle Hyperion Interactive Reporting、Oracle BI Add-in for Microsoft Office、Essbaseなど他のクライアントは、論理SQLを表示してOracle BIサーバーに実行するための独自のインタフェースを提供しています。

SQL構文とセマンティクス

この項では、SQL構文とセマンティクスについて説明します。トピックは次のとおりです。

- SELECT文の構文と使用上の注意

- SELECT_PHYSICALの構文と使用上の注意

- 返される行の制限とオフセット

- 集計関数を含む問合せのルール

- 演算子

- 条件式

- リテラルの表現

- 計算済メンバー

- 変数

SELECT文の構文と使用上の注意

SELECT文(問合せ指定とも呼ばれる)は、Oracle BIサーバーを介して意思決定支援システムを問い合せる方法です。SELECT文では、問合せに一致する表がクライアントに返されます。結果が行と列の形式で格納されるため、表と言えます。

SELECT文はSQL (Structured Query Language)データベースへの問合せの基礎となります。Oracle BIサーバーは論理リクエストを受け入れてリポジトリ内のオブジェクトに問い合せます。ユーザー(または問合せツール)は標準のSQL SELECT文を使用して論理リクエストを作成します。サーバーは、論理リクエストを1つ以上のデータ・ソースに対する物理問合せに変換し、論理リクエストに一致するよう結果を組み合せて、エンド・ユーザーに応答を返します。

論理SQLのSELECT文は、表を結合する必要がないという点で標準SQLとは異なります。問合せに指定される結合条件はすべて無視されます。結合条件はOracle BIリポジトリ内に事前定義されています。

この項では、SELECT文と個々の句の定義の基本構文について説明します。構文の説明は、Oracle BIサーバー固有の基本構文と機能のみを対象としています。SQL構文の詳細な説明は、サード・パーティのSQLに関する参考文献または使用しているデータベースのベンダーが提供しているSQLに関するリファレンス・マニュアルを参照してください。Oracle Databaseの場合は、『Oracle Database SQL言語リファレンス』を参照してください。

この項には次のトピックが含まれます:

- SELECT文の基本構文

- 使用上の注意

- サブ問合せのサポート

- SELECTリスト構文

- FROM句の構文

- WHERE句の構文

- GROUP BY句の構文

- ORDER BY句の構文

SELECT文の基本構文

次に、SELECT文の構文を示します。

SELECT [DISTINCT] select_list
FROM from_clause
[WHERE search_condition]
[GROUP BY column {, column}
[HAVING search_condition]]
[ORDER BY column {, column}]

説明:

select_listはリクエストに指定される列のリストです。詳細は、「SELECTリスト構文」を参照してください。

FROM from_clauseはリクエストの表のリストです。リクエストの特定の結合情報をオプションで含みます。詳細は、「FROM句の構文」を参照してください。

WHERE search_conditionでは条件テストを生成するための条件の任意の組合せを指定します。WHERE句は、特定の質問に回答する結果を取得するためにリクエストを制約するフィルタとして機能します。選択する列とともに、フィルタにより結果に含まれる内容が決定されます。詳細は、「WHERE句の構文」を参照してください。

GROUP BY column {, column}ではデータ・ソースに定義された表に属する列(または別名)を指定します。詳細は、GROUP BY句の構文を参照してください。

HAVING search_conditionでは条件テストを生成するための条件の組合せを指定します。構文はWHERE句と同じです。

ORDER BY column {, column}では結果を並べ替える列を指定します。詳細は、「ORDER BY句の構文」を参照してください。

使用上の注意

Oracle BIサーバーはSELECT文を論理リクエストとして処理します。SELECT文で集計データをリクエストする場合、サーバーによってGROUP BY句が自動的に仮定されます。問合せに指定される結合条件はすべて無視されます。結合条件はすべてOracle BIリポジトリ内で事前定義されています。

Oracle BIサーバーは、コメントについて次のSQL構文を受け入れます。

- Cスタイル・コメント(/* */)

- 1行コメントに対する二重スラッシュ(//)

- 1行コメントに対する番号記号(#)

サブ問合せのサポート

Oracle BIサーバーは、論理リクエスト内の特定のサブ問合せと、UNION、UNION ALL、INTERSECTおよびEXCEPT操作をサポートします。この機能により、回答可能なビジネス上の質問範囲が拡大し、問合せの生成が容易になり、複数のビジネス・モデル間で問合せを実行できるようになります。

Oracle BIサーバーは、任意の条件式(WHERE、HAVINGまたはCASE文など)において次のサブ問合せ述語をサポートします。

IN, NOT IN
Any, >=Any, =Any, <Any, <=Any, <>Any
All, >=All, =All, <All,<=All, <>All
EXISTS, NOT EXISTS

アンサーで、上級ユーザーおよび開発者は「分析」エディタの「詳細設定」タブの「高度なSQL句」フィールドを使用して、様々なSQL句(GROUP BY、HAVING、DISTINCTなど)を指定し、Oracle BIサーバーに送信されるSQL問合せに含めることができます。分析に階層列、選択またはグループが含まれている場合、特定の「高度なSQL句」フィールドが使用できません。

SELECTリスト構文

select_list は、リクエストの列をリストします。すべての列は単一のビジネス・モデルから派生している必要があります。表名を含めることができます(Table.Columnなど)。これは列名がビジネス・モデル内で一意の場合はオプションです。列名に空白が含まれる場合は、列名を二重引用符で囲みます。Oracle BIサーバーでは常に個別の問合せが実行されるため、DISTINCTキーワードを含める必要はありません。集計ルールはサーバーで認識され、集計は自動的に実行されるため、集計が行われる列に集計関数(SUMなど)を含める必要はありません。

構文

...
* |
(column | expr) [[AS] alias]
{, (column | expr) [[AS] alias] }
...

説明:

*はFROM句内の結果表のすべての列を示します。

columnはデータ・ソースに定義される表に属する列(または別名)です。

exprは任意の有効なSQL式です。

注意: アンサーでは、*を使用して「分析」エディタの「詳細設定」タブからすべての列を選択することはできません。かわりに、特定の列を指定する必要があります。

FROM句の構文

Oracle BIサーバーは、任意の有効なSQL FROM句の構文を受け入れます。FROM句の作成を容易にするため、テーブル・リストのかわりにサブジェクト・エリアの名前を指定できます。リクエストで検索する列とOracle BIリポジトリの構成に基づいて、適切な表と適切な結合指定が決定されます。

WHERE句の構文

Oracle BIサーバーは、任意の有効なSQL WHERE句の構文を受け入れます。結合はすべてOracle BIリポジトリ内で構成されるため、WHERE句に結合条件を指定する必要はありません。WHERE句で指定された結合条件はすべて無視されます。

Oracle BIサーバーは、任意の条件式(WHERE、HAVINGまたはCASE文など)において次のサブ問合せ述語をサポートします。

IN, NOT IN
Any, >=Any, =Any, <Any, <=Any, <>Any
All, >=All, =All, <All,<=All, <>All
EXISTS, NOT EXISTS

GROUP BY句の構文

Oracle BIサーバーの自動集計機能により、GROUP BY句を発行する必要はありません。GROUP BY句が指定されていない場合は、GROUP BY指定によって、SELECTリスト内のすべての非集計列がデフォルトで使用されます。SELECTリスト内で集計関数を明示的に使用する場合は、異なる列にGROUP BY句を指定できます。Oracle BIサーバーにより、GROUP BY句で指定されたレベルに基づいて結果が計算されます。

Oracle BIサーバーに対する問合せでGROUP BY句を使用した例などの詳細は、「集計関数を含む問合せのルール」を参照してください。

ORDER BY句の構文

Oracle BIサーバーは、SELECTリスト内の順序による列の参照(ORDER BY 3, 1, 5など)を含め、任意の有効なSQL ORDER BY句の構文を受け入れます。

また、次の構文を使用して問合せのNULLのソート順を変更できます。

ORDER BY col1 NULLS LAST, ORDER BY col2 NULLS FIRST

SELECT_PHYSICALの構文と使用上の注意

SELECT_PHYSICALコマンドには、メタデータ・リポジトリの物理レイヤー内のオブジェクトに直接問い合せたり、ビジネス・モデルとマッピング・レイヤーまたはプレゼンテーション・レイヤーに対して問合せ内の文をネストするための機能があります。

SELECT_PHYSICAL問合せはプレゼンテーション・レイヤーおよびビジネス・モデルとマッピング・レイヤーを回避しますが、Oracle BIサーバーは、データベースに渡す前に、SELECT_PHYSICAL問合せに対して分析、解釈および問合せの生成を行います。

SELECT_PHYSICALコマンドには、次の制約があるOracle BIサーバーの標準SQLで許可されている任意の要素を含めることができます。

- SELECT_PHYSICALコマンドは、リポジトリのビジネス・モデルとマッピング・レイヤーまたはプレゼンテーション・レイヤーの構造を明示的に参照しません。

- SELECT_PHYSICALコマンドは、 潜在論理変換をリクエストしません。

- SELECT_PHYSICALコマンドには、特定の集計関数を含めることはできません。 - 詳細は、「SELECT_PHYSICAL問合せでサポートされていない集計関数」を参照してください。

注意:
SELECT_PHYSICAL文はキャッシュされません。

Oracle BIサーバーへのODBC接続を、すべてのSELECT問合せがSELECT_PHYSICAL問合せとして処理される専用物理接続に設定することができます。そのためには、Oracle BIサーバーのODBCデータ・ソースで「リクエストを物理レイヤーに送信」を選択します。詳細は、『Oracle Fusion Middleware Oracle Business Intelligence Enterprise Editionインテグレーターズ・ガイド』のその他のクライアントとOracle Business Intelligenceの統合に関する項を参照してください。

SELECT_PHYSICAL文は物理リクエスト・エンティティとして記録されます。

この項のトピックは次のとおりです。

- SELECT_PHYSICAL文の構文

- SELECT_PHYSICAL問合せでサポートされていない集計関数

- SELECT_PHYSICALでサポートされている問合せ

- NATURAL_JOINキーワードの使用方法

- SELECT_PHYSICALの特殊な使用方法

SELECT_PHYSICAL文の構文

SELECT_PHYSICAL問合せの基本構文は「SELECT文の基本構文」と等価で、次のようにSELECTという語がSELECT_PHYSICALという用語に置き換えられています。

SELECT_PHYSICAL [DISTINCT] select_list
FROM from_clause
[WHERE search_condition]
[GROUP BY column {, column}
[HAVING search_condition]]
[ORDER BY column {, column}]

注意:
SELECT_PHYSICAL文は標準のANSI SQL SELECT文とほとんど同じです。たとえば、SELECT_PHYSICAL集計問合せで、 GROUP BY句も、関連するHAVING句も省略できません。

SELECT_PHYSICAL問合せで、FROMリスト内の表名は完全修飾されている必要があります。完全修飾された各表名は、リポジトリの物理レイヤー内の表名と一致している必要があります。

完全修飾された表名は、4つまでのコンポーネント(データベース名、カタログ名、スキーマ名および表名)で構成されます。各コンポーネントを二重引用符(")で囲み、コンポーネント間セパレータとしてピリオド(.)を使用します。たとえば、SQL Server表の"SQL_DB"."My_Catalog"."My_Schema"."Customers"、キューブ表の"FoodMart"..."Sales"などです。

SELECT_PHYSICALコマンドの様々な句およびサブ句の詳細は、「SELECT文の基本構文」を参照してください。

SELECT_PHYSICAL問合せでサポートされていない集計関数

次の集計関数は、SELECT_PHYSICAL問合せでサポートされていません。

- AGO

- BOTTOMN

- FILTER

- FIRST

- LAST

- RCOUNT

- RMAX

- RMIN

- RSUM

- TODATE

- TOPN

SELECT_PHYSICALでサポートされている問合せ

Oracle BIサーバーは次のタイプの論理問合せについてSELECT_PHYSICALの使用をサポートしています。

- 標準の非集計問合せ
標準の非集計SELECT_PHYSICALコマンドは、標準の非集計SELECTコマンドと同じルールに従います。また、文字列関数、数学関数、カレンダ日時関数などのスカラー関数も含めることができます。例:

SELECT_PHYSICAL productid, categoryid
FROM "My_DB"."My_Schema"."products"
WHERE categoryid > 5;

SELECT_PHYSICAL LEFT(productname,10)
FROM "My_DB"."My_Schema"."products"
WHERE productname is not null;

- 集計関数を含む問合せ
一般に、SELECT問合せでサポートされているすべての集計関数は、SELECT_PHYSICAL問合せでもサポートされています。このルールに対する例外のリストについては、「SELECT_PHYSICAL問合せでサポートされていない集計関数」を参照してください。

SELECT_PHYSICALコマンドでサポートされている集計の場合、各集計には、GROUP BY句またはBY句を使用して明示的に指定された集計レベルが必要です。例:

SELECT_PHYSICAL employeeid, SUM(quantity by)
FROM "My_DB"."My_Schema"."employees";

SELECT_PHYSICAL employeeid, SUM(quantity)
FROM "My_DB"."My_Schema"."employees"
GROUP BY employeeid
HAVING SUM(quantity) > 100;

- サブ問合せ
Oracle BIサーバーは、次のタイプの問合せをサポートしています。

- 親問合せとサブ問合せの両方がSELECT_PHYSICALを使用する問合せ。

- 親問合せがSELECTを使用し、サブ問合せがSELECT_PHYSICALを使用する問合せ。

サブ問合せは、Case文に組み込まれたフィルタとプロジェクションの両方でサポートされています。

例:

SELECT_PHYSICAL *
FROM "My_DB"."My_Schema"."products"
WHERE supplierid IN
(SELECT_PHYSICAL supplierid
FROM "My_DB"."My_Schema"."suppliers");

SELECT productid
FROM snowflakesales.product
WHERE categoryid IN
(SELECT_PHYSICAL categoryid
FROM "My_DB"."My_Schema"."categories");

SELECT CASE WHEN b.categoryid IN
(SELECT_PHYSICAL a.categoryid
FROM "My_DB"."My_Schema"."products" a)
THEN b.categoryid END
FROM categories b;

- 派生表を含む問合せ
SELECT問合せとSELECT_PHYSICAL問合せの両方で、FROM句に派生表を含めることができます。SELECTまたはSELECT_PHYSICALを使用して、表を派生できます。例:

SELECT_PHYSICAL COUNT(DISTINCT t.rto)
FROM
(SELECT_PHYSICAL employeeid AS id, reportsto AS rto
FROM "My_DB"."My_Schema"."employees") t;

SELECT productid, categoryid
FROM
(SELECT_PHYSICAL productid, categoryid
FROM "My_DB"."My_Schema"."products" a
LEFT OUTER JOIN "My_DB"."My_Schema"."categories" b
ON a.categoryid = b.categoryid);

SELECT y.cid, sum(x.qty)
FROM
(SELECT productid pid, categoryid cid, qtysold qty
FROM sales.product) x
RIGHT OUTER JOIN
(SELECT_PHYSICAL CASE categoryid WHEN 1 THEN null ELSE categoryid END cid
FROM "My_DB"."My_Schema"."categories") y
ON x.cid = y.cid
GROUP BY y.cid;

- クロスデータベース問合せ
SELECT_PHYSICALを使用して、様々なデータベース内の表を結合できます。例:

SELECT_PHYSICAL a.productid, b.categoryid
FROM "My_DB"."My_Schema"."products" a
FULL OUTER JOIN
"My_DB2"."My_Schema"."categories" b
ON a.categoryid = b.categoryid

NATURAL_JOINキーワードの使用方法

SELECT_PHYSICAL問合せはNATURAL JOIN構文をサポートします。これにより、事前定義した結合式を使用できます。ADFデータ・ソースの場合、ADFのViewLinkがアクティブになります。ただし、NATURAL JOIN結合タイプは論理表ソース用に公開されません(LEFT OUTER JOINなど)。

SELECT_PHYSICAL問合せ内のNATURAL JOINキーワードのみ使用できます。Oracle Business IntelligenceでのNATURAL JOINの動作はANSI NATURAL JOINとは異なります。次に、結合がNATURAL JOIN構文の有無によりどのように実行されるかを示します。

SELECT PHYSICAL *
FROM A, B;

この例では、(結合がメタデータに定義されている場合でも)AB間の結合は実行されません。

SELECT_PHYSICAL *
FROM A NATURAL JOIN B;

この例では、AB間の物理結合は実行されます。ADFデータ・ソースの場合、基礎となるViewLinkで定義された結合式が使用されます。

SELECT_PHYSICAL *
FROM C, A NATURAL JOIN B;

この例では、CがメタデータでAに結合されている場合でも、AB間の結合のみアクティブになります。CとAの結合は使用されません。

SELECT_PHYSICALの特殊な使用方法

次の例に示すように、SELECT_PHYSICALコマンドでセッション変数およびINDEXCOL関数を使用できます。

SELECT_PHYSICAL VALUEOF(NQ_SESSION.REGION)
FROM "My_DB"."My_Schema"."products";

SELECT_PHYSICAL INDEXCOL(VALUEOF(NQ_SESSION.INDEXCOLINDEX), productid, categoryid)
FROM "My_DB"."My_Schema"."products";

返される行の制限とオフセット

FETCH句を使用すると、SELECT文によって返される行数を制約でき、OFFSET句を使用すると、指定した行数を結果セットの先頭からスキップできます。両方の句ともオプションで、組み合せて使用することも、単独で使用することもできます。FETCH句とOFFSET句はSELECT文の要素で、最後に配置されます。

これらの句は、大規模な結果セット(大規模なディメンションの場合など)がある状況で、たとえば最初の100行をユーザーに表示する場合に役立ちます。制限に達するとOracle BIサーバーで処理が停止されるため、全体的なパフォーマンスが向上し、リソースが維持されます。さらに、多くの場合、バックエンド・データベースに制限がプッシュされるため、データベースで問合せが最適化されます。

両方の句とも技術的にはORDER BY句なしで使用できますが、結果が非確定的になります。そのため、これらの句を使用する際は常にORDER BYを指定してください。

OFFSETが未指定の場合のデフォルト値は0(ゼロ)で、結果が最初の行から返されることを意味します。FETCHが未指定の場合は、返される行数に制限がないことを意味します。

これらの句は、WHERE句、集計、HAVING句、ウィンドウ分析関数およびORDER BY句の後に評価されます。これらの句は、SELECTに加えてSELECT_PHYSICALでも使用できます。

OFFSET句の構文

OFFSET n ROW[S]

nは、結果セットの先頭からスキップする行数です。nは0(ゼロ)より大きい値にする必要があります。

FETCH句の構文

FETCH FIRST | NEXT n ROW[S] ONLY

nは取得する行数です。nは0 (ゼロ)より大きい値にする必要があります。

通常、制限句をオフセット句とは別に使用する場合はFIRSTを使用しますが、制限句をオフセット句と組み合せて使用する場合はNEXTを使用します。

例

SELECT employeeid, firstname, revenue
FROM sales.employee
ORDER BY revenue desc
OFFSET 2 ROWS
FETCH NEXT 4 ROWS ONLY

次の表に、OFFSET句とFETCH句を指定しない場合の結果セット全体を示します。OFFSET句とFETCH句を指定した場合は、太字で示した行のみが返されます。

Employeeid

FirstName

Revenue

4

Margaret

250187.45

3

Janet

213051.30

1

Nancy

202143.71

2

Andrew

202143.71

7

Robert

177749.26

8

Laura

141295.99

9

Anne

133301.03

6

Michael

82964.00

5

Steven

78198.10

FETCH句とOFFSET句に関する制限事項

UNION ALL集合演算子のブロック内ではORDER BY句が無視されるため、このような問合せでこれらの句を使用すると非確定的になります。このような問合せではFETCH句とOFFSET句を使用しないでください。

集計関数を含む問合せのルール

Oracle BIサーバーでは、集計の問合せの作成に必要なSQL文を単純化しています。この項では、問合せにGROUP BY句を含めるか、GROUP BY句を指定するか、問合せから想定される結果など、Oracle BIサーバーで遵守するルールについて説明します。この項で説明するルールは、SQL文で使用されるすべての集計(SUM、AVG、MIN、MAX、COUNT(*)およびCOUNT)に適用されます。

ベースライン列の集計の計算

ベースライン列とは、リポジトリの「論理列」ダイアログの「集計」タブに定義されている集計ルールがない列です。ベースライン列は、それが属する論理表の粒度のレベルで非集計データにマップします。SQLリクエストを介してベースライン列で集計(SUM、AVG、MIN、MAXまたはCOUNT)を実行すると、Oracle BIサーバーでは次のルールに基づくレベルで集計を計算します。

- GROUP BY句が指定されていない場合、集計のレベルはSELECTリストのすべての非集計列でグループ化されます。

- GROUP BY句が指定されている場合、集計のレベルはGROUP BY句で指定された列に基づきます。

たとえば、次の問合せについて考えます。ここでは列revenueがベースライン列としてリポジトリに定義されています(「論理列」→「集計」タブで指定されたルールなし)。

SELECT year, product, SUM(revenue)
FROM time, products, facts

結果は、年、製品および売上の合計が、次のリストのように表示されます。

YEAR

PRODUCT

SUM(REVENUE)

1998

Coke

500

1998

Pepsi

600

1999

Coke

600

1999

Pepsi

550

2000

Coke

800

2000

Pepsi

600

この問合せは、年および製品でグループ化された結果を返します。つまり、製品と年の組合せごとに1行を返します。各行に対して計算された合計は、その年におけるその製品に対するすべての売上の合計です。これは、論理的に次のものと同じ問合せです。

SELECT year, product, SUM(revenue)
FROM time, products, facts
GROUP BY year, product

年でのみグループ化するようにGROUP BY句を変更すると、計算される合計は、次のようにその年のすべての製品の合計になります。

SELECT year, product, SUM(revenue)
FROM time, products, facts
GROUP BY year

結果は、年、製品および売上の合計が、次のリストのように表示されます。

YEAR

PRODUCT

SUM(REVENUE)

1998

Coke

1100

1998

Pepsi

1100

1999

Coke

1150

1999

Pepsi

1150

2000

Coke

1400

2000

Pepsi

1400

売上のCOUNTをリクエストする問合せに列を追加すると、Oracle BIサーバーでは、各グループの結果の計算に使用されるレコード数を計算します。次に示す例では、年がグループの単位です。

SELECT year, product, SUM(revenue), COUNT(revenue)
FROM time, products, facts
GROUP BY year

結果は、年、製品、売上の合計、および売上のカウントが、次のリストのように表示されます。

YEAR

PRODUCT

SUM(REVENUE)

COUNT(REVENUE)

1998

Coke

1100

6000

1998

Pepsi

1100

6000

1999

Coke

1150

6500

1999

Pepsi

1150

6500

2000

Coke

1400

8000

2000

Pepsi

1400

8000

メジャー列の集計の計算

メジャー列とは、リポジトリの「論理列」ダイアログの「集計」タブに定義されているデフォルトの集計ルールを持つ列です。メジャー列では、常に定義されている集計を計算します。SQLリクエストを介してメジャー列で明示的な集計(SUM、AVG、MIN、MAXまたはCOUNT)を実行すると、実際は集計の集計を求めることになります。このようなネストされた集計の場合、Oracle BIサーバーでは次のルールに基づく集計を計算します。

- SQL文で定義した集計関数のないメジャー列のリクエストは、問合せでGROUP BY句が指定されているかどうかにかかわらず、SELECTリストの非集計列のレベルで常にグループ化されます。

- GROUP BY句が指定されていない場合、ネストされた集計は、SELECTリストのすべての非集計列で確定される各グループの総計になります。

- GROUP BY句が指定された場合、ネストされた集計はGROUP BY句で指定された各グループの総計が計算されます。

たとえば、次の問合せを考えます。ここでは列SumOfRevenueがメジャー列としてリポジトリに定義されています。この列のデフォルト集計ルールは、SUMです(「論理列」ダイアログの「集計」タブで指定されたSUM集計ルール)。

SELECT year, product, SumOfRevenue, SUM(SumOfRevenue)
FROM time, products, facts

次の問合せ結果は、年および製品でグループ化されます。つまり、製品と年の組合せごとに1行を返します。メジャー列は常に問合せの非集計列で定義されたレベルになるので、SumOfRevenue列の各行で計算される合計は、その年のその製品のすべての売上の合計になります。

YEAR

PRODUCT

SUMofREVENUE

SUM(SUMofREVENUE)

1998

Coke

500

3650

1998

Pepsi

600

3650

1999

Coke

600

3650

1999

Pepsi

550

3650

2000

Coke

800

3650

2000

Pepsi

600

3650

年でグループ化するようにGROUP BY句を設定すると、SumOfRevenue列で計算される合計は、その年の製品ごとの合計になります。SUM(SumOfRevenue)列で計算される合計は、特定の年の全製品の全売上になります。問合せは次のとおりです。

SELECT year, product, SumOfRevenue, SUM(SumOfRevenue)
FROM time, products, facts
GROUP BY year

次の結果セットでは、SumOfRevenue列の各行で計算された合計は、その年のその製品の全売上の合計になります。これは、メジャー列が常に問合せの非集計列で定義されるレベルになるためです。SUM(SumOfRevenue)は特定の年に対応する各行は同じになり、その合計はその年の売上合計を表します。ここでは、CokeとPepsiの売上の合計になります。

YEAR

PRODUCT

SUMofREVENUE

SUM(SUMofREVENUE)

1998

Coke

500

1100

1998

Pepsi

600

1100

1999

Coke

600

1150

1999

Pepsi

550

1150

2000

Coke

800

1400

2000

Pepsi

600

1400

表示関数のリセットの動作

表示関数とは、問合せの結果セット上で操作する関数です。Oracle BIサーバーでサポートされる表示関数(RANK、TOPN、BOTTOMN、PERCENTILE、NTILE、MAVG、MEDIANおよび様々な標準偏差)は、SQL問合せのSELECTリストで指定します。表示関数を使用する問合せは、次のルールに従います。

- GROUP BY句が指定されていない場合、表示関数は結果セット全体で操作します。つまり、表示関数のグループ・レベルは問合せのグループ・レベルに相当します。

- GROUP BY句が指定されている場合、表示関数はGROUP BY句で指定されたグループごとにその値をリセットします。

たとえば、次の問合せでは、デフォルトの集計ルールがSUMのメジャー列としてSumOfRevenueが定義されます。

SELECT year, product, SumOfRevenue, RANK(SumOfRevenue)
FROM time, products, facts

次の問合せ結果セットでは、GROUP BY句が指定されていません。そのため、ランクは結果セット全体で計算されます。

YEAR

PRODUCT

SUMofREVENUE

RANK(SUMofREVENUE)

1998

Coke

500

6

1998

Pepsi

600

2

1999

Coke

600

2

1999

Pepsi

550

5

2000

Coke

800

1

2000

Pepsi

600

2

年と製品でグループ化するようにGROUP BY句を変更すると、次のようにランクが年ごとにリセットされます。

SELECT year, product, SUM(revenue), RANK(sum(revenue) by year)
FROM time, products, facts
GROUP BY year, product

次の結果セットでは、年が変わるごとにランクがリセットされます。年ごとに2行あるので、ランクの値は常に1か2になります。

YEAR

PRODUCT

SUMofREVENUE

RANK(SUM(REVENUE) by year)

1998

Coke

500

2

1998

Pepsi

600

1

1999

Coke

600

1

1999

Pepsi

550

2

2000

Coke

800

1

2000

Pepsi

600

2

代替可能な構文

集計関数を使用する場合、集計関数内でBYを使用して集計の指定されたレベルを計算できます。これを指定すると、GROUP BY句が不要になります。

たとえば、次の問合せは、年ごとに集計された売上を示すyear_revenue列を返します。

SELECT year, product, revenue, SUM(revenue BY year) as year_revenue
FROM softdrinks

この構文を表示関数とともに使用することもできます。次の問合せは、年ごとの各製品の売上の全体ランク(結果セット全体における各行のランク)、およびそれぞれの年内の各製品の売上のランクを計算しています。

SELECT year, product, revenue, rank(revenue), RANK(revenue by year)
FROM softdrinks ORDER BY 1, 5

FILTERを使用した条件集計の計算

SQL問合せ言語では、SUM、COUNT、MIN、MAXなどの従来の集計は、タプル(指定された各タイプのオブジェクトの順序付リスト)のグループで評価され、GROUP BY句で決定されます。問合せのSELECT句で指定されたすべての集計は、同じタプルのサブセット上で評価されます。条件集計は、述語を使用して入力を制限することで、SQLを展開します。

FILTERは、USING条件を満たす列の引数の集計の計算に使用される、行セットを制限する演算子です。FILTER演算子は、論理SQL構造です。これは、メタデータを参照する論理問合せ、またはソースとして既存の論理列を使用する論理列で使用できます。

構文

条件集計は表記上の概念にすぎません。これらは実行可能な演算子を表すものではありません。条件集計は次の文に示すような関数の形式で示されます。

FILTER(measure_expr USING boolean_expr)

説明:

measure_exprは、1つ以上のメジャーを含む式です。次に例を示します。

- Salesがメジャーであれば、式「Sales + 1」は使用可能です。

- productidがスカラー属性であれば、式productidは使用できません。

boolean_exprは(TRUEまたはFALSEと判断される)ブール式で、メジャーを含みません。この式はネストされた問合せを含むことはできません。

例

次に、FILTER関数の簡単な例を示します。

SELECT year,
FILTER(sales USING product = 'coke'),
FILTER(sales USING product = 'pepsi')
FROM logBeverages

ナビゲーション後、この問合せは次のように実行されます。

SELECT year,
SUM(CASE WHEN product = 'coke' THEN sales),
SUM(CASE WHEN product = 'pepsi' THEN sales)
FROM physBeverages
WHERE product = 'coke' OR product = 'pepsi'
GROUP BY year

エラー処理

たとえば、FILTER(x USING y)では、次のような場合にエラー・メッセージが返されます。

- y式がブール式ではありません。

- y式にメジャーが含まれます。

- 外部問合せブロックでFILTERが使用されています。

- x (メジャー)式で明示的な集計が使用されています。例: FILTER(COUNT(product), C)。

演算子

2つのタイプの演算子(SQL論理演算子および数学演算子)があります。

SQL論理演算子

次のSQL論理演算子は式間の比較を指定するために使用されます。

- Between: 条件の境界を決定するために使用されます。それぞれの境界は式で、それらが「より小さい」や「より大きい」で表される場合は、(「以下」や「以上」とは対照的に)境界の範囲には境界の制限値は含まれません。条件を否定する場合は、BETWEENの前にNOTを付けることができます。

- In: 列値と一連の値との比較を指定します。

- Is Null: 列値とNULL値との比較を指定します。

- Like: リテラル値との比較を指定します。通常、ワイルドカード文字とともに使用して、ゼロ文字以上の任意の文字列(%)に一致するか、任意の単一の文字(_)と一致することを示します。

数学演算子

数学演算子は、式要素を組み合せて式内の特定のタイプの比較を作成するために使用されます。

表C-1に演算子をリストし、式での使用方法を説明します。

表C-1 演算子

演算子

説明

+

加算用のプラス記号。

-

減算用のマイナス記号。

*

乗算用の乗算記号。

/

除算用の除算記号。

||

文字列の連結。

(

左カッコ。

)

右カッコ。

>

大なり記号。値が比較対象より大きいことを示します。

<

小なり記号。値が比較対象より小さいことを示します。

=

等号。同じ値であることを示します。

<=

以下記号。値が比較対象と同じか、比較対象より小さいことを示します。

>=

以上記号。値が比較対象と同じか、比較対象より大きいことを示します。

<>

等しくありません。値が比較対象より大きいか小さいが、異なることを示します。

AND

AND結合。1つ以上の条件の共通部分で複合条件を生成することを示します。

OR

OR結合。1つ以上の条件の結合で複合条件を生成することを示します。

NOT

NOT結合。条件が満たされないことを示します。

,

カンマ。リスト内の要素を区切るために使用されます。

条件式

式は、ある形式から別の形式に値を変換する条件式を作成するための構築ブロックです。式は次のとおりです。

- CASE (Switch)

- CASE (If)

CASE (Switch)

この形式のCASE文はCASE(Lookup)形式とも呼ばれます。expr1の値が検証され、次にWHEN式の値が検証されます。expr1の値がいずれかのWHEN式の値と一致する場合は、対応するTHEN式にその値が割り当てられます。

どのWHEN式とも値が一致しない場合は、ELSE式に指定されているデフォルト値が割り当てられます。ELSE式が指定されていない場合は、ELSE NULLが自動的に追加されます。

expr1が複数のWHEN句内の式と一致する場合は、最初に一致した式のみが割り当てられます。

注意:
CASE文では、ANDはORよりも優先されます。

構文

CASE expr1
WHEN expr2 THEN expr3
{WHEN expr... THEN expr...}
ELSE expr
END

説明:

CASEで、CASE文を開始します。1つの式、1つ以上のWHEN文とTHEN文、ELSE文(オプション)、およびENDキーワードを指定する必要があります。

WHENで、満たす条件を指定します。

THENで、対応するWHEN式が満たされる場合に割り当てる値を指定します。

ELSEでは、満たされるWHEN条件がない場合に割り当てる値を指定します。省略すると、ELSE NULLが指定されたものとみなされます。

ENDで、CASE文を終了します。

例

CASE Score-par
WHEN -5 THEN 'Birdie on Par 6'
WHEN -4 THEN 'Must be Tiger'
WHEN -3 THEN 'Three under par'
WHEN -2 THEN 'Two under par'
WHEN -1 THEN 'Birdie'
WHEN 0 THEN 'Par'
WHEN 1 THEN 'Bogey'
WHEN 2 THEN 'Double Bogey'
ELSE 'Triple Bogey or Worse'
END

この例では、WHEN文は厳密な等式を反映する必要があります。たとえば、比較演算子は許可されないため、WHEN < 0 THEN 'Under Par'というWHEN条件は使用できません。

CASE (If)

この形式のCASE文は、各WHEN条件を評価して、それが満たされる場合、対応するTHEN式の値を割り当てます。

一致するWHEN条件がない場合は、ELSE式に指定されているデフォルト値が割り当てられます。ELSE式が指定されていない場合は、ELSE NULLが自動的に追加されます。

注意:
CASE文では、ANDはORよりも優先されます。

構文

CASE
WHEN request_condition1 THEN expr1
{WHEN request_condition2 THEN expr2}
{WHEN request_condition... THEN expr...}
ELSE expr
END

説明:

CASEで、CASE文を開始します。1つ以上のWHEN文とTHEN文、ELSE文(オプション)、およびENDキーワードを指定する必要があります。

WHENで、満たす条件を指定します。

THENで、対応するWHEN式が満たされる場合に割り当てる値を指定します。

ELSEでは、満たされるWHEN条件がない場合に割り当てる値を指定します。省略すると、ELSE NULLが指定されたものとみなされます。

ENDで、CASE文を終了します。

例

CASE
WHEN score-par < 0 THEN 'Under Par'
WHEN score-par = 0 THEN 'Par'
WHEN score-par = 1 THEN 'Bogie'
WHEN score-par = 2 THEN 'Double Bogey'
ELSE 'Triple Bogey or Worse'
END

Switch形式のCASE文とは異なり、If形式のWHEN文では比較演算子が許可されます。たとえば、WHEN < 0 THEN 'Under Par'というWHEN条件を使用できます。

リテラルの表現

リテラルとは、任意のデータ型に対応するNULLでない値です。リテラルは通常定数値です。つまり、何も変更せずに、文字どおりそのまま使用される値です。リテラル値は、それが表すデータ型に準拠する必要があります。

SQLでは、SQL文でリテラルを表現するメカニズムが用意されています。このトピックでは、SQLで各種リテラルを表現する方法について説明します。

- 文字リテラル

- 日時リテラル

- 数値リテラル

文字リテラル

文字リテラルは、CHARACTERまたはVARCHARのデータ型の値を表します。文字リテラルを表現するには、文字列を一重引用符(')で囲みます。リテラルの長さは、一重引用符の間の文字数で決定されます。

例

'Oracle BI Server'

'abc123'

日時リテラル

SQL 92標準では、次の形式で3種類の型指定された日時リテラルが定義されています。

DATE 'yyyy-mm-dd'
TIME 'hh:mm:ss'
TIMESTAMP 'yyyy-mm-dd hh:mm:ss'

型指定された日時リテラルを表現するには、前述の例に示したように、キーワードのDATE、TIMEまたはTIMESTAMPを使用して、その後に一重引用符で囲んだ日時文字列を指定します。値が1桁の場合でも、年以外のすべてのコンポーネントには2桁が必要です。

これらの形式は固定で、NQSConfig.INIファイルのDATE_DISPLAY_FORMAT、TIME_DISPLAY_FORMATまたはDATE_TIME_DISPLAY_FORMATパラメータで指定される形式により影響されることはありません。

例

DATE '2000-08-15'
TIME '11:55:25'
TIMESTAMP '1999-03-15 11:55:25'

数値リテラル

数値リテラルは、数値データ型(INTEGER、DECIMAL、FLOATなど)の値を表します。数値リテラルを表現するには、数値をSQL文の一部として入力します。

数値リテラルは一重引用符で囲まないでください。一重引用符で囲むと、リテラルを文字リテラルとして表現することになります。

注意:
NQSConfig.INIでENABLE_NUMERIC_DATA_TYPEがYESに設定されていると、すべての小数リテラル(またはINTデータ型に収まるには大きすぎる整数リテラル)は、Oracle BIサーバー内でNUMERICとして解析されます。
リテラルをNUMERICとして扱う場合、次を含むOracle標準DOUBLEプロモーション・ルールに注意してください:

DOUBLE/NUMBER = DOUBLE , DOUBLE * NUMBER = DOUBLE

数値リテラルの解析は、実際のデータ・ソースがわかる前に問合せ処理の非常に早い段階で発生するため、内部的には、Oracle BIサーバーはENABLE_NUMERIC_DATA_TYPEがYESに設定されている場合、データ・ソース・タイプに関係なく小数をNUMERICとして処理します。

NUMERICが有効でOracle BIサーバーが内部的に小数リテラルを含む式を実行する場合、バックエンド・データ・ソースがNUMERICデータ型をサポートしていない場合でも、サーバーはリテラルをNUMERICとして扱います。ただし、タイプ・プロモーション・ルールは引き続き適用されます。たとえば、Oracle BIサーバーがデータ・ソースからデータをDOUBLEとして取得して内部実行中にNUMERICリテラルと組み合せる場合、最終結果は引き続きDOUBLEに変換されます。

次の数値リテラルがあります。

- 整数リテラル

- 小数リテラル

- 「浮動小数点リテラル」

整数リテラル

整数定数をリテラルとして表現するには、整数をSQL文の一部として入力します(たとえば、SELECTリスト内で入力します)。整数の前にプラス記号(+)かマイナス記号(-)を付けると、その整数がそれぞれ正の数であるか負の数であるかを示すことができます。記号なしの整数は正の数とみなされます。

例

234
+2
567934

小数リテラル

小数リテラルを表現するには、小数を入力します。小数の前にプラス記号(+)かマイナス記号(-)を付けると、その小数がそれぞれ正の数であるか負の数であるかを示すことができます。記号なしの小数は正の数とみなされます。

例

1.223
-22.456
+33.456789

浮動小数点リテラル

浮動小数点数をリテラル定数として表現するには、小数リテラルの後に、文字E(大文字と小文字のどちらでも可)と、指数が正か負かを示すためのプラス記号(+)またはマイナス記号(-)を続けて入力します。整数部、文字Eおよび指数の符号の間に空白は許可されません。

例

333.456E-
1.23e+

計算済メンバー

計算済メンバーは、メジャー値が実行時に計算されるユーザー定義のディメンション・メンバーです。

計算済メンバーは、同じディメンションの他のメンバーを参照する式を使用してディメンション内に定義します。ディメンションに複数の階層がある場合、式で参照されるすべてのメンバーは1つの階層に属する必要があります。

計算済メンバーの中で、メンバーは階層内の同じレベルである必要はありません。たとえば、Geography階層では、計算済メンバーを作成して、CountryメンバーのFranceとCityメンバーのBudapestのメジャー値をともに追加することができます。

計算済メンバーの3つの標準コンポーネントは次のとおりです。

- 計算済メンバーのベースとなるプレゼンテーション階層(例: "Geography")

- 計算済メンバーを識別し、ディメンション内の他のメンバーとそれを区別するための名前(例: 'My Locations')

- 計算済メンバーの計算に使用される式。1つ以上のMember句が含まれます(例: Member ("Geography"."Country".'France') + Member ("Geography"."City".'Budapest') )。

この項には次のトピックが含まれます:

- CALCULATEDMEMBER構文

- CALCULATEDMEMBER式のルール

- 解決順序を使用した式評価順序の制御

- 問合せでの計算済メンバーの例

CALCULATEDMEMBER構文

CALCULATEDMEMBER(presentation_hierarchy, member_identifier, calculated_member_formula [, solve_order])

説明:

presentation_hierarchyは、次のように計算済メンバーに基づくプレゼンテーション・レイヤーの完全修飾されたプレゼンテーション階層を識別します。

"subject_area"."presentation_table"."presentation_hierarchy"

注意:
CALCULATEDMEMBER式とcalculated_member_formulaパラメータ内のMember句の両方でプレゼンテーション階層およびプレゼンテーション階層レベルを修飾する場合、次のルールが適用されます。

- 異なるサブジェクト・エリアに同じ名前を持つ複数のプレゼンテーション表またはプレゼンテーション階層がある場合、修飾語("subject_area")を指定する必要があります。ない場合は省略できます。

member_identifierは、計算済メンバーを識別する文字列または数値リテラルです。リテラルのタイプは、ディメンション・レベルキーのデータ型に依存します。

calculated_member_formulaは、標準の数値演算子である「+」、「-」、「*」、「/」、「(」、「)」で結び付けられた1つ以上の「member句」の例で構成されます。member句の構文は、プレゼンテーション階層がレベルベースかまたは親子かどうかに依存します。詳細は、「レベルベース階層のMember句の構文」および「親子階層のMember句の構文」を参照してください。

solve_order (オプション)は、正の整数で、同じ問合せ内の異なるディメンションから計算されたメンバーがある場合に、評価の順序を決定する際に使用されます。詳細は、「解決順序を使用した式評価順序の制御」を参照してください。

レベルベース階層のMember句の構文

MEMBER(presentation_hierarchy_level, member_value)

説明:

presentation_hierarchy_levelは、次のようにpresentation_hierarchyで完全修飾された階層レベルを識別します。

"subject_area"."presentation_table"."presentation_hierarchy"."presentation_level"

member_valueは、presentation_hierarchy_levelでメンバーを識別する文字列または数値リテラルです。

親子階層のMember句の構文

MEMBER(presentation_hierarchy, member_value)

説明:

presentation_hierarchyは、次のように計算済メンバーに基づくプレゼンテーション・レイヤーの完全修飾されたプレゼンテーション階層を識別します。

"subject_area"."presentation_table"."presentation_hierarchy"

member_valueは、presentation_hierarchyでメンバーを識別する文字列または数値リテラルです。

CALCULATEDMEMBER式のルール

計算済メンバーのルールにより、CALCULATEDMEMBER式自身と問合せ内のCALCULATEDMEMBER式の使用方法が関連付けられます。

- 特定のCALCULATEDMEMBER式のすべてのレベル参照は、同じディメンション階層に属する必要があります。

- CALCULATEDMEMBER式は、問合せのSELECTリスト内でのみ使用できます。

- CALCULATEDMEMBER式が含まれる問合せでは、SELECTリストにメジャー列を1つ以上挿入する必要があります。

- 問合せブロックの各SELECT式の各ディメンションに1つのCALCULATEDMEMBER式を使用できます。ただし、他のディメンションに基づくCALCULATEDMEMBER式を同じ問合せに入れることもできます。

- 計算済メンバーが次の問合せブロックのコンポーネントに基づくディメンションからの他の列を含めることはできません。

- SELECT list

- WHERE句

- HAVING句

ただし、サブ問合せ内の計算済メンバーのディメンションからの列を参照することはできます。

- 同じ問合せブロック内の他のディメンションにCALCULATEDMEMBER式がなければ、そのディメンションからの列を参照できます。

解決順序を使用した式評価順序の制御

デフォルトでは、CALCULATEDMEMBER式に解決順序が含まれていない場合、計算済メンバーはSELECTリスト内での並び順に評価されます。

同じ問合せブロック内に異なるディメンションからの計算済メンバーがある場合、Oracle BIサーバーで計算済メンバーを評価する順序が重要になります。

例C-1に、誤った解決順序により不正な結果が導き出されるしくみを示します。

例C-1 解決順序の使用

次のようなアカウントと時間データがあるとします。

Kwik Grains

Profit

Sales

2007 Q3

300

1000

2007 Q4

600

1500

各期間および2つの四半期の合計で利益率(Profit / Sales * 100)を計算できます。

次のような計算の解決順序を考えます。

1. 'Profit%' = 'Profit'/'Sales' * 100

2. '2007 Second Half' = '2007 Q3' + '2007 Q4'

ここで、「2007 Second Half」の利益率は、誤って2007 Q3の利益と2007 Q4の利益を加算して計算しています。

- (300/1000) + (600/1500) = 30% + 40% = 70%

その結果、次のようになります。

Kwik Grains

Profit

Sales

Profit%

2007 Q3

300

1000

30

2007 Q4

600

1500

40

2007 Second Half

900

2500

70 (不正な結果)

次のような計算の解決順序を考えます。

1. '2007 Second Half' = '2007 Q3' + '2007 Q4'

2. 'Profit%' = 'Profit'/'Sales' * 100

「2007 Second Half」の利益率を正しく計算しなおします。まず、2007 Q3と2007 Q4の利益および売上を加算してから利益合計を売上合計で除算します。

- (300+600) / (1000+1500) = 900/2500 = 36%

その結果、次のようになります。

Kwik Grains

Profit

Sales

Profit%

2007 Q3

300

1000

30

2007 Q4

600

1500

40

2007 Second Half

900

2500

36 (正しい結果)

解決順序を明示的に指定する問合せの例は、例C-3「異なるディメンションからの計算済メンバーの使用」を参照してください。

問合せの計算済メンバーの例

この項の例では、問合せでの計算済メンバーおよび計算を実行するベース・データの使用方法を示します。

例C-2 単一の計算済メンバーの問合せ

この例では、2つの問合せとそれぞれに対応する結果を示します。

最初の問合せには計算済メンバーが含まれます。

SELECT CALCULATEDMEMBER(product."Product - Region",'USA - LA - Tokyo',
MEMBER(product."Product - Region"."Country", 'USA')
- MEMBER(product."Product - Region"."Region", 'LA')
- MEMBER(product."Product - Region"."City", 'Tokyo')
) MyRegion,
sales.Revenue Revenue, sales.QtySold QtySold
FROM product, sales;

結果:

MYREGION            REVENUE     QTYSOLD
USA - LA - Tokyo    61959.00    3959

2番目の問合せでは、最初の問合せの結果を検証します。ここでは、最初の問合せの計算が実行されたベース・データを示します。

SELECT * from SupplierCity where Country in ('USA', 'Japan');

結果:

CITY            REGION     COUNTRY       REVENUE        QTYSOLD
Boston          MA         USA           28146.40       2084
Osaka                      Japan         15678.30       1417
New Orleans     LA         USA           33351.95       1735
Ann Arbor       MI         USA           43569.00       1436
Tokyo                      Japan         33533.20       1134
Bend            OR         USA           23776.80       1573

例C-3 異なるディメンションからの計算済メンバーの使用

この例の要件は、USとCanadaのRevenueとQuantity Soldの増加率の経緯を確認することです。

正しい結果を得るためには、解決順序が重要になります。まずこの全期間の2つの国のRevenueとQuantity Soldを加算してから、割合の計算を実行します。解決順序の重要性の詳細は、「解決順序を使用した式評価順序の制御」を参照してください。

この例では、2つの問合せとそれぞれに対応する結果を示します。

最初の問合せには、「Product - Region」および「Time」の2つのディメンションからの計算済メンバーが含まれ、最初に加算式が計算されてから、割合式が計算されます。

SELECT CALCULATEDMEMBER(product."Product - Region", 'North America',
MEMBER(product."Product - Region"."Country", 'USA')
+ MEMBER(product."Product - Region"."Country", 'Canada'), 1
) MyRegion,
CALCULATEDMEMBER(day."Time", 'Percentage Increase',
( MEMBER(day."Time"."Year", 1996)
- MEMBER(day."Time"."Year", 1995) ) * 100
/ MEMBER(day."Time"."Year", 1995), 2
) MyTime,
sales.Revenue RevenuePC,
sales.QtySold QtySoldPC
FROM product, sales, day;

結果:

MYREGION         MYTIME                 REVENUEPC     QTYSOLDPC
North America    Percentage Increase    16            35

前述の問合せでは、明示的な解決順序はありませんでしたが、SELECTリストの計算済メンバーの順序で、十分に正しい結果を得られました。完成には開発順序も含まれます。

2番目の問合せでは、最初の問合せの結果を検証します。ここでは、最初の問合せの計算が実行されたベース・データを示します。

SELECT CALCULATEDMEMBER(product."Product - Region", 'North America',
MEMBER(product."Product - Region"."Country", 'USA')
+ MEMBER(product."Product - Region"."Country", 'Canada')
) MyRegion,
year as Year, sales.Revenue Revenue, sales.QtySold QtySold
FROM product, sales, day;

結果:

MYREGION         YEAR     REVENUE       QTYSOLD
North America    1996     101702.75     4918
North America    1995     87265.10      3638
North America    1994     30776.00      1616

変数

SQL文に変数を使用および設定できます。これを行うには、SQL文の先頭に変数を指定します。

構文

SET VARIABLE variable_name = variable_value; SELECT_statement

nqcmdユーティリティの問合せを実行する場合、デリミタとしてコロンを使用します。その他の場合には、セミコロンまたはコロンを使用できます。

例

SET VARIABLE LOGLEVEL = 3; SELECT Products.Brand, Measures.Dollars FROM "Products"

SET VARIABLE DISABLE_CACHE_HIT=1, LOGLEVEL = 3, WEBLANGUAGE='en': SELECT
Products.Brand, Measures.Dollars FROM "Products"

集計関数、集計実行関数、時系列関数、およびレポート関数

この項では、集計関数、集計実行関数および時系列関数について説明します。

- 集計関数

- 集計実行関数

- 時系列関数

- レポート関数

集計関数

集計関数は、複数の値に対して操作を実行しサマリー結果を作成します。

集計関数は、「論理列」ダイアログの「集計」タブで定義されたデフォルトの集計ルールを持つ論理列の式で、ネストされた集計を作成するために使用することできません。ネストされた集計を指定するには、デフォルトの集計ルールを持つ列を定義してから、SQL文で列の集計をリクエストする必要があります。

次の集計関数があります。

- AGGREGATE AT

- AVG

- AVGDISTINCT

- BOTTOMN

- COUNT

- COUNTDISTINCT

- COUNT(*)

- FIRST

- FIRST_PERIOD

- GROUPBYCOLUMN

- GROUPBYLEVEL

- LAST

- LAST_PERIOD

- MAX

- MEDIAN

- MIN

- NTILE

- PERCENTILE

- RANK

- STDDEV

- STDDEV_POP

- SUM

- SUMDISTINCT

- TOPN

AGGREGATE AT

指定するレベルに基づいて列を集計します。AGGREGATE ATを使用すると、メジャーの集計がWHERE句に関係なく、常にキーワード ATの後に指定したレベルで確実に実行されます。

構文

AGGREGATE(expr AT level [, level1, levelN])

説明:

exprは、1つ以上のメジャー列を参照する任意の式です。

levelは、集計するレベルです。オプションで、複数のレベルを指定できます。

1番目の引数で指定したメジャーのメジャー・レベルとして使用されるレベルを含むディメンションのレベルを指定できません。たとえば、「month」は「yearly_sales」のメジャー・レベルとして使用される同じ時間ディメンションからのものであるため、この関数でAGGREGATE(yearly_sales AT month)と指定することはできません。

例

次に、AGGREGATE AT関数と実行結果の例を示します。

SELECT month, year, AGGREGATE(sales AT Year)
FROM timeseriestesting
WHERE year = 1994 AND month = 12

結果:

Month    Year    AGGREGATE AT year
12       1994    7396
Row count: 1

AGGREGATE AT演算子は常に述語の前に実行されるため、キーワード ATの後に指定された時間レベルの正確な合計を常に返します。

AVG

結果セット内で式の平均値を計算します。引数として数値式を指定する必要があります。

AVGの分母は集計された列数であることに注意してください。このため、通常、Oracle Business Intelligenceの計算でAVG(x)を使用するには誤りです。かわりに、分子と分母の両方(x/y)を制御できるように式を手動で指定してください。

構文

AVG(numExpr)

説明:

numExprは、数値に評価される任意の式です。

AVGDISTINCT

式のすべての個別の値の平均を計算します。引数として数値式を指定する必要があります。

構文

AVG(DISTINCT numExpr)

説明:

numExprは、数値に評価される任意の式です。

BOTTOMN

式引数の最下位のnの値を1からn番目までランク付けします。1が最下位の数値です。BOTTOMN関数は、結果セットに返される値を操作します。リクエストには、BOTTOMN式を1つのみ含めることができます。

構文

BOTTOMN(numExpr, integer)

説明:

numExprは、数値に評価される任意の式です。

integerは任意の正の整数です。結果セットに表示されるランキングの最下位数を表し、1が最低ランクです。

COUNT

式のNULL以外の値を含む行数を計算します。通常、式は列名です。その場合、その列のNULL以外の値を含む行数が返されます。

構文:

COUNT(expr)

説明:

exprは任意の式です。

COUNTDISTINCT

個別の処理をCOUNT関数に追加します。

構文

COUNT(DISTINCT expr)

説明:

exprは任意の式です。

COUNT(*)

行数をカウントします。

構文

COUNT(*)

例

たとえば、Factsという表に200,000,000行あった場合、サンプル・リクエストでは次のような結果が返されます。

SELECT COUNT(*) FROM Facts

結果:

200000000

FIRST

この関数は、式引数の最初の非NULL値を選択します。

プライマリ・レベル・キーではなく時系列キーに基づいて最初の値を計算する必要がある場合、または最初の値がNULLであるかどうかに関係なくそれを返す必要がある場合は、FIRST関数を使用しないでください。かわりにFIRST_PERIOD関数を使用します。詳細は、「FIRST_PERIOD」を参照してください。

FIRST関数の使用は、リポジトリ内のディメンション固有の集計ルールの定義に限定されます。これを、SQL文に使用することはできません。

FIRST関数は、明示的に定義されたディメンション内で指定された最も詳細なレベルで操作されます。たとえば、時間ディメンションを階層レベルの日、月、年で定義した場合、FIRST関数は各レベルの最初の日を返します。

FIRST関数は、最初のディメンション固有の集計ルールとして使用しないでください。そうすることで、問合せによりOracle BIサーバーの処理で大量の行が返されることになり、パフォーマンスが低下する場合があります。

メジャーがディメンションに基づいており、データの密度が高い場合、Oracle BIサーバーはデータベースに送信されるSQL文を最適化し、パフォーマンスを向上させます。密度の高いデータの詳細は、「メジャー列の集計のデフォルト・レベルの設定」を参照してください。

PERIODROLLING、FIRST、FIRST_PERIOD、LASTおよびLAST_PERIOD関数はネストできないので注意してください。

構文

FIRST(expr)

説明:

exprは、1つ以上のメジャー列を参照する任意の式です。

例

FIRST(sales)

FIRST_PERIOD

この関数は、式引数の最初に返された値を選択します。たとえば、FIRST_PERIOD関数は年の最初の日の値を計算できます。

主キーに基づいて最初の値を計算する場合は常に、FIRST_PERIOD関数を使用します。FIRST関数を使用すると、時系列キーに基づいて最初の値を計算できます。FIRST_PERIODは、引数の最初の存在する値を返します。それに対してFIRSTは、特定の時系列キーの値を返すか、値が存在しない場合は0 (ゼロ)を返します。

次のFIRST_PERIOD関数の制限事項に注意してください。

- FIRST_PERIOD関数の使用は、リポジトリ内のディメンション固有の集計ルールの定義に限定されます。

- FIRST_PERIOD関数を使用する場合、管理ツールの論理列集計タブで「データが密である」フィールドを選択する必要があります。このフィールドを選択しないと、集計ルールはFIRST関数に戻ります。

- FIRST_PERIOD関数はSQL文で使用できません。

- FIRST_PERIOD関数は、時間ディメンションとマークされたディメンションにのみ適用可能です。他のディメンションには、FIRST関数を使用します。

- 複数の時間ディメンションにディメンション依存のメジャーを定義している場合、FIRST_PERIOD関数を使用しないでください。ディメンション固有の集計ルールを定義する場合は、かわりに、FIRST関数を使用します。

- FIRST_PERIOD関数は、最初のディメンション固有の集計ルールとして使用しないでください。そうすることで、問合せによりOracle BIサーバーの処理で大量の行が返されることになり、パフォーマンスが低下する場合があります。

- PERIODROLLING、FIRST、FIRST_PERIOD、LASTおよびLAST_PERIOD関数はネストできないので注意してください。

FIRST_PERIOD関数は、明示的に定義されたディメンション内で指定された最も詳細なレベルで操作されます。たとえば、時間ディメンションを階層レベルの日、月、年で定義した場合、FIRST_PERIOD関数は各レベルの最初の日を返します。

メジャーがディメンションに基づいており、データの密度が高い場合、Oracle BIサーバーはデータベースに送信されるSQL文を最適化し、パフォーマンスを向上させます。密度の高いデータの詳細は、「メジャー列の集計のデフォルト・レベルの設定」を参照してください。

構文

FIRST_PERIOD(expr)

説明:

exprは、1つ以上のメジャー列を参照する任意の式です。

例

FIRST_PERIOD(sales)

GROUPBYCOLUMN

集計ナビゲーションの設定に使用されます。これにより、物理集計表に存在する集計データのレベルを定義する論理列を指定します。

たとえば、集計表に店舗および月でグループ化されるデータが含まれる場合、コンテンツ・フィルタで次の構文を指定します(論理ソースダイアログの「一般」タブ)。

GROUPBYCOLUMN(STORE, MONTH)

GROUPBYCOLUMN関数は、リポジトリの構成にのみ使用されます。これをSQL文から使用することはできません。

GROUPBYLEVEL

集計ナビゲーションの設定に使用されます。これにより、物理集計表に存在する集計データのレベルを定義するディメンション・レベルを指定します。

たとえば、集計表に店舗および月レベルでデータが保存されており、これらのレベルを含むディメンション(GeographyおよびCustomers)を定義している場合、コンテンツ・フィルタで次の構文を指定します(論理ソースダイアログの「一般」タブ)。

GROUPBYLEVEL(GEOGRAPHY.STORE, CUSTOMERS.MONTH)

GROUPBYLEVEL関数は、リポジトリの構成にのみ使用されます。これをSQL文から使用することはできません。

LAST

この関数は、式の最後の非NULL値を選択します。

プライマリ・レベル・キーではなく時系列キーに基づいて最後の値を計算する必要がある場合、または最後の値がNULLであるかどうかに関係なくそれを返す必要がある場合は、LAST関数を使用しないでください。かわりにLAST_PERIOD関数を使用します。詳細は、「LAST_PERIOD」を参照してください。

LAST関数の使用は、リポジトリ内のディメンション固有の集計ルールの定義に限定されます。これを、SQL文に使用することはできません。

LAST関数は、明示的に定義されたディメンション内で指定された最も詳細なレベルで操作されます。たとえば、時間ディメンションを階層レベルの日、月、年で定義した場合、LAST関数は各レベルの最後の日を返します。

LAST関数は、最初のディメンション固有の集計ルールとして使用しないでください。そうすることで、問合せによりOracle BIサーバーの処理で大量の行が返されることになり、パフォーマンスが低下する場合があります。

メジャーがディメンションに基づいており、データの密度が高い場合、Oracle BIサーバーはデータベースに送信されるSQL文を最適化し、パフォーマンスを向上させます。密度の高いデータの詳細は、「メジャー列の集計のデフォルト・レベルの設定」を参照してください。

PERIODROLLING、FIRST、FIRST_PERIOD、LASTおよびLAST_PERIOD関数はネストできないので注意してください。

構文

LAST(expr)

説明:

exprは、1つ以上のメジャー列を参照する任意の式です。

例

LAST(sales)

LAST_PERIOD

この関数は、式引数の最後に返された値を選択します。たとえば、LAST_PERIOD関数は年の最後の日の値を計算できます。

LAST_PERIOD関数は、明示的に定義されたディメンション内で指定された最も詳細なレベルで操作されます。たとえば、時間ディメンションを階層レベルの日、月、年で定義した場合、LAST_PERIOD関数は各レベルの最後の日を返します。

主キーに基づいて最後の値を計算する場合は常に、LAST_PERIOD関数を使用します。LAST関数を使用すると、時系列キーに基づいて最後の値を計算できます。LAST_PERIODは、引数の最後の存在する値を返します。それに対してLASTは、特定の時系列キーの値を返すか、値が存在しない場合は0 (ゼロ)を返します。

次のLAST_PERIOD関数の制限事項に注意してください。

- LAST_PERIOD関数の使用は、リポジトリ内のディメンション固有の集計ルールの定義に限定されます。

- LAST_PERIOD関数を使用する場合、管理ツールの論理列集計タブで「データが密である」フィールドを選択する必要があります。このフィールドを選択しないと、集計ルールはLAST関数に戻ります。

- LAST_PERIOD関数はSQL文で使用できません。

- LAST_PERIOD関数は、時間ディメンションにのみ適用可能です。他のディメンションには、LAST関数を使用します。

- 複数の時間ディメンションにディメンション依存のメジャーを定義している場合、LAST_PERIOD関数を使用しないでください。ディメンション固有の集計ルールを定義する場合は、かわりに、LAST関数を使用します。

- LAST_PERIOD関数は、最初のディメンション固有の集計ルールとして使用しないでください。そうすることで、問合せによりOracle BIサーバーの処理で大量の行が返されることになり、パフォーマンスが低下する場合があります。

- PERIODROLLING、FIRST、FIRST_PERIOD、LASTおよびLAST_PERIOD関数はネストできないので注意してください。

メジャーがディメンションに基づいており、データの密度が高い場合、Oracle BIサーバーはデータベースに送信されるSQL文を最適化し、パフォーマンスを向上させます。密度の高いデータの詳細は、「メジャー列の集計のデフォルト・レベルの設定」を参照してください。

構文

LAST_PERIOD(expr)

説明:

exprは、1つ以上のメジャー列を参照する任意の式です。

例

LAST_PERIOD(sales)

MAX

数値式引数に一致する行の最大値(最も高い数値)を計算します。

構文

MAX(numExpr)

説明:

numExprは、数値に評価される任意の式です。

MAX関数は、固有のルールに従って問合せ内の各グループでその値をリセットします。詳細は、「表示関数のリセットの動作」を参照してください。

MEDIAN

数値式引数に一致する行のメジアン(中央)値を計算します。偶数行がある場合、メジアンは2つの中央行の平均です。通常、この関数はdouble値を返します。

構文

MEDIAN(numExpr)

説明:

numExprは、数値に評価される任意の式です。

MEDIAN関数は、固有のルールに従って問合せ内の各グループでその値をリセットします。詳細は、「表示関数のリセットの動作」を参照してください。

MIN

数値式引数に一致する行の最小値(最も低い数値)を計算します。

構文

MIN(numExpr)

説明:

numExprは、数値に評価される任意の式です。

MIN関数は、固有のルールに従って問合せ内の各グループでその値をリセットします。詳細は、「表示関数のリセットの動作」を参照してください。

NTILE

ユーザー指定範囲内での値のランクを決定します。範囲内のランクを示す整数が返されます。つまり、結果のソートされたデータ・セットは、各タイルにほぼ同数の値がある複数のタイルに分割されます。

numTiles = 100を指定したNTileは、一般に「パーセンタイル」(1から100までの範囲の数値で、100がこの分割の最高値)と呼ばれる値を返します。この値はOracle BI PERCENTILE関数の結果とは異なります。この関数は、SQL 92では「パーセント・ランク」というもので、0から1の値を返します。

構文

NTILE(numExpr, numTiles)

説明:

numExprは、数値に評価される任意の式です。

numTilesは、タイルの数を表すNULL以外の正の整数です。

numExpr引数がNULLではない場合、この関数はリクエストした範囲内のランクを表す整数を返します。

PERCENTILE

数値式引数に一致する各値のパーセント・ランクを計算します。パーセンタイル・ランクの範囲は、0(1番目のパーセンタイル)から1(100番目のパーセンタイル)です。

パーセンタイルは結果セットの値に基づいて計算されます。

構文

PERCENTILE(numExpr)

説明:

numExprは、数値に評価される任意の式です。

PERCENTILE関数は、固有のルールに従って問合せ内の各グループでその値をリセットします。詳細は、「表示関数のリセットの動作」を参照してください。

RANK

数値式引数に一致する各値のランクを計算します。最も高い数にはランク1が割り当てられ、次に続くランクには2、3、4などの連続した整数が割り当てられます。ある値が等しい場合、同じランクが割り当てられます(例: 1、1、1、4、5、5、7...)。

ランクは結果セットの値に基づいて計算されます。

構文

RANK(numExpr)

説明:

numExprは、数値に評価される任意の式です。

RANK関数は、固有のルールに従って問合せ内の各グループでその値をリセットします。詳細は、「表示関数のリセットの動作」を参照してください。

STDDEV

値のセットの標準偏差が返されます。通常、戻り型はdoubleです。STDEV_SAMPはSTDDEVの類義語です。

構文

STDDEV([ALL | DISTINCT] numExpr)

説明:

numExprは、数値に評価される任意の式です。

ALLが指定されると、セット内のすべてのデータに対して標準偏差が計算されます。

DISTINCTが指定されると、計算のすべての偏差は無視されます。

何も指定しない(デフォルト)場合、すべてのデータが考慮されます。

STDDEV関数は、固有のルールに従って問合せ内の各グループでその値をリセットします。詳細は、「表示関数のリセットの動作」を参照してください。

STDDEV_POP

母分散と標準偏差の計算式を使用して、値のセットの標準偏差が返されます。

構文

STDDEV_POP([ALL | DISTINCT] numExpr)

説明:

numExprは、数値に評価される任意の式です。

ALLが指定されると、セット内のすべてのデータに対して標準偏差が計算されます。

DISTINCTが指定されると、計算のすべての偏差は無視されます。

何も指定しない(デフォルト)場合、すべてのデータが考慮されます。

SUM

数値式引数に一致するすべてのデータを加算して得られる合計を計算します。

構文

SUM(numExpr)

説明:

numExprは、数値に評価される任意の式です。

SUM関数は、固有のルールに従って問合せ内の各グループでその値をリセットします。詳細は、「表示関数のリセットの動作」を参照してください。

SUMDISTINCT

数値式引数に一致するすべての値を個別に加算して得られる合計を計算します。

構文

SUM(DISTINCT numExpr)

説明:

numExprは、数値に評価される任意の式です。

TOPN

式引数の最上位のnの値を1からn番目までランク付けします。1が最上位の数値です。TOPN関数は、結果セットに返される値を操作します。リクエストには、TOPN式を1つのみ含めることができます。

構文

TOPN(numExpr, integer)

説明:

numExprは、数値に評価される任意の式です。

integerは任意の正の整数です。結果セットに表示されるランキングの最上位数を表し、1が最高ランクです。

TOPN関数は、固有のルールに従って問合せ内の各グループでその値をリセットします。詳細は、「表示関数のリセットの動作」を参照してください。

集計実行関数

集計実行関数は、入力として一連のレコードを取得するという点で集計関数と似ていますが、一連のレコード全体に対して単一の集計を出力するかわりに、そこまでに処理されたレコードに基づく集計を出力します。

この項では、Oracle BIサーバーでサポートされている集計実行関数について説明します。次の関数があります。

- MAVG

- MSUM

- RSUM

- RCOUNT

- RMAX

- RMIN

MAVG

現在の行を含めて、結果セットのデータの最後のn行の移動平均を計算します。

最初の行の平均は、最初の行の数値式と同じです。2番目の行の平均は、最初の2つの行のデータ平均を取得することで計算されます。3番目の行の平均は、最初の3つの行のデータ平均を取得することで計算されます。このようにn番目の行に到達するまで同様に実行されます。平均は最後のn行のデータに基づいて計算されます。

構文

MAVG(numExpr, integer)

説明:

numExprは、数値に評価される任意の式です。

integerは任意の正の整数です。最後のn行のデータ平均を表します。

MAVG関数は、固有のルールに従って問合せ内の各グループでその値をリセットします。詳細は、「表示関数のリセットの動作」を参照してください。

MSUM

現在の行を含めて、データの最後のn行の移動合計を計算します。

最初の行の合計は、最初の行の数値式と同じです。2番目の行の合計は、最初の2つの行のデータ合計を取得することで計算されます。3番目の行の合計は、最初の3つの行のデータ合計を取得することで計算され、同様に続いて実行されます。n番目の行に到達すると、合計は最後のn行のデータに基づいて計算されます。

構文

MSUM(numExpr, integer)

説明:

numExprは、数値に評価される任意の式です。

integerは任意の正の整数です。最後のn行のデータ平均を表します。

MSUM関数は、固有のルールに従って問合せ内の各グループでその値をリセットします。詳細は、「表示関数のリセットの動作」を参照してください。

例

この例では、MSUM関数を使用する問合せと問合せ結果を示します。

select month, revenue, MSUM(revenue, 3) as 3_MO_SUM from sales_subject_area

結果:

MONTH    REVENUE    3_MO_SUM
JAN      100.00     100.00
FEB      200.00     300.00
MAR      100.00     400.00
APRIL    100.00     400.00
MAY      300.00     500.00
JUNE     400.00     800.00
JULY     500.00     1200.00
AUG      500.00     1400.00
SEPT     500.00     1500.00
OCT      300.00     1300.00
NOV      200.00     1000.00
DEC      100.00     600.00

RSUM

そこまでに処理されたレコードに基づいて累計を計算します。最初の行の合計は、最初の行の数値式と同じです。2番目の行の合計は、最初の2つの行のデータ合計を取得することで計算されます。3番目の行の合計は、最初の3つの行のデータ合計を取得することで計算され、同様に続いて実行されます。

構文

RSUM(numExpr)

説明:

numExprは、数値に評価される任意の式です。

RSUM関数は、固有のルールに従って問合せ内の各グループでその値をリセットします。詳細は、「表示関数のリセットの動作」を参照してください。

例

この例では、RSUM関数を使用する問合せと問合せ結果を示します。

SELECT month, revenue, RSUM(revenue) as RUNNING_SUM from sales_subject_area

結果:

MONTH    REVENUE    RUNNING_SUM
JAN      100.00     100.00
FEB      200.00     300.00
MAR      100.00     400.00
APRIL    100.00     500.00
MAY      300.00     800.00
JUNE     400.00     1200.00
JULY     500.00     1700.00
AUG      500.00     2200.00
SEPT     500.00     2700.00
OCT      300.00     3000.00
NOV      200.00     3200.00
DEC      100.00     3300.00

RCOUNT

入力として一連のレコードを取得して、そこまでに処理されたレコード数をカウントします。

構文

RCOUNT(expr)

説明:

exprは任意のデータ型の式です。

RCOUNT関数は、固有のルールに従って問合せ内の各グループでその値をリセットします。詳細は、「表示関数のリセットの動作」を参照してください。

例

この例では、RCOUNT関数を使用する問合せと問合せ結果を示します。

select month, profit, RCOUNT(profit) from sales_subject_area where profit > 200

結果:

MONTH    PROFIT    RCOUNT(profit)
MAY      300.00    2
JUNE     400.00    3
JULY     500.00    4
AUG      500.00    5
SEPT     500.00    6
OCT      300.00    7

RMAX

入力として一連のレコードを取得して、そこまでに処理されたレコードに基づいて最大値を表示します。指定するデータ型はソートできるデータ型である必要があります。

構文

RMAX(expr)

説明:

exprは任意のデータ型の式です。データ型は関連付けられたソート順を持つデータ型である必要があります。

RMAX関数は、固有のルールに従って問合せ内の各グループでその値をリセットします。詳細は、「表示関数のリセットの動作」を参照してください。

例

この例では、RMAX関数を使用する問合せと問合せ結果を示します。

SELECT month, profit, RMAX(profit) from sales_subject_area

結果:

MONTH    PROFIT    RMAX(profit)
JAN      100.00    100.00
FEB      200.00    200.00
MAR      100.00    200.00
APRIL    100.00    200.00
MAY      300.00    300.00
JUNE     400.00    400.00
JULY     500.00    500.00
AUG      500.00    500.00
SEPT     500.00    500.00
OCT      300.00    500.00
NOV      200.00    500.00
DEC      100.00    500.00

RMIN

入力として一連のレコードを取得して、そこまでに処理されたレコードに基づいて最小値を表示します。指定するデータ型はソートできるデータ型である必要があります。

構文

RMIN(expr)

説明:

exprは任意のデータ型の式です。データ型は関連付けられたソート順を持つデータ型である必要があります。

RMIN関数は、固有のルールに従って問合せ内の各グループでその値をリセットします。詳細は、「表示関数のリセットの動作」を参照してください。

例

この例では、RMIN関数を使用する問合せと問合せ結果を示します。

select month, profit, RMIN(profit) from sales_subject_area

結果:

MONTH    PROFIT    RMIN(profit)
JAN      400.00    400.00
FEB      200.00    200.00
MAR      100.00    100.00
APRIL    100.00    100.00
MAY      300.00    100.00
JUNE     400.00    100.00
JULY     500.00    100.00
AUG      500.00    100.00
SEPT     500.00    100.00
OCT      300.00    100.00
NOV      200.00    100.00
DEC      100.00    100.00

時系列関数

時系列関数は、時系列的なディメンションを操作します。時系列関数は、標準のSQLデータ操作関数ではなく、ユーザー指定のカレンダ表に基づいてAGO関数、TODATE関数およびPERIODROLLING関数を計算します。

物理表の別名を指定して論理的にモデリングするかわりに、これらの関数によって、式ビルダーを使用して論理関数を呼び出し、時系列計算を実行することができます。

特定のディメンションで時系列関数を使用するには、ディメンションを時間ディメンションとして指定し、1つ以上のレベルで1つ以上のキーを時系列キーとして設定する必要があります。詳細は、「時系列データのモデル化」を参照してください。

次の関数があります。

- AGO

- PERIODROLLING

- TODATE

AGO

現在の時刻から指定された期間に遡って集計値を計算する時系列集計関数です。たとえば、AGOを使用すると、現四半期の各月の売上および対応する1つ前の四半期の売上を生成できます。

時系列関数は、その関数のレベル以下の時間ディメンションのメンバーで操作します。そのため、特定のレベル以下のメンバーを一意に識別する1つ以上の列を問合せに投影する必要があります。また、特定のレベル以下の単一のメンバーを指定する問合せにフィルタを適用することもできます。関数のレベルの詳細は、AGO関数レベルについてを参照してください。

未サポートのメトリックがリクエストされた場合、NULL値が返され、ログ・レベルが3以上の場合はnqquery.logファイルに警告エントリが書き込まれます。

すべてのAGO関数で同じレベルの引数を使用する場合、複数のAGO関数をネストできます。TODAT関数とAGO関数がそれぞれ同じレベルの引数を使用する場合は、1つのTODATE関数と複数のAGO関数を正しくネストできます。

構文

AGO(expr, [time_level], offset)

説明:

exprは、1つ以上のメジャー列を参照する式です。

time_levelはオプションの引数で、四半期、月、年などの期間のタイプを指定します。

管理ツールで、time_levelの論理レベルを指定します。

offsetは、時間的推移を表す整数リテラルです。

例

次の例では、昨年の売上が返されます。

SELECT Year_ID, AGO(sales, year, 1)

AGO関数レベルについて

AGO関数のレベルは、[time_level]引数を使用して明示的に指定することをお薦めします。

[time_level]引数を明示的に指定しない場合、デフォルトのレベルは次のように決定されます:

- 式で使用されるメジャーが(管理ツールで設定したように)時間ディメンションのレベル・ベースのメジャーである場合は、同じレベルがデフォルトのAGOレベルとみなされます。

- それ以外の場合、式で使用されるメジャーの粒度は、論理リクエストに表示されているメジャーのBY句の判断に従って、デフォルトのAgoレベルになります。
たとえば、次の問合せの結果:

SELECT year, AGO(sales, 1) WHERE quarter=1

これは、次のように解釈されます。

SELECT year, AGO(sales, year_level, 1) WHERE quarter=1

指定の問合せに対するデフォルトのAGOレベルは、問合せログの論理リクエスト・セクションで確認できます。

PERIODROLLING

x単位の時間から始まり、現在の時刻からy単位の時間で終わる期間のメジャーの合計を計算します。たとえば、PERIODROLLINGを使用して、現在の四半期前の特定の四半期で始まり、現在の四半期後の特定の四半期で終わる期間の売上を計算できます。

時系列関数は、その関数のレベル以下の時間ディメンションのメンバーで操作します。そのため、特定のレベル以下のメンバーを一意に識別する1つ以上の列を問合せに投影する必要があります。また、特定のレベル以下の単一のメンバーを指定する問合せにフィルタを適用することもできます。関数のレベルの詳細は、「PERIODROLLING関数で使用されるレベルの決定」を参照してください。

PERIODROLLING関数内に、AGO関数とTODATE関数をネストできません。また、PERIODROLLING、FIRST、FIRST_PERIOD、LASTおよびLAST_PERIOD関数はネストできません。

PERIODROLLING内に他の集計関数(RANK、TOPN、PERCENTILE、FILTER、RSUMなど)を含めると、PERIODROLLING関数は内側にプッシュされます。たとえば、PERIODROLLING(TOPN(measure))は、TOPN(PERIODROLLING(measure))として実行されます。

構文

PERIODROLLING(measure, x ,y [,hierarchy])

説明:

measureは、メジャー列の名前です。

xは、現在の時刻からのオフセットを指定する整数です。過去に遡るオフセットを示すには、整数の前にマイナス記号(-)を付けます。

yは、この関数が計算する時間単位の数を指定します。現在の時刻を指定するには、0を入力します。

hierarchyは、yr、mon、dayなど、時間ウィンドウの計算に使用する時間ディメンション内の階層の名前を指定するオプションの引数です。このオプションは、時間ディメンション内に複数の階層がある場合、または複数の時間ディメンションを区別する場合に便利です。

最大限にロール・バックまたはロール・フォワードする場合は、キーワードUNBOUNDを使用します。たとえば、関数PERIODROLLING (measure, -UNBOUND, 0)では、世の初めから現在に至るまでの期間で合計されます。

PERIODROLLING関数とAGGREGATE AT関数を組み合せて、PERIODROLLING関数のレベルを明示的に指定できます。たとえば、問合せレベルは日ですが、前月と当月の合計を検索する場合は、次のように指定します。

SELECT year, month, day, PERIODROLLING(AGGREGATE(sales AT month), -1)

例

SELECT Month_ID, PERIODROLLING(monthly_sales, -1, 1)

SELECT Month_ID, PERIODROLLING(monthly_sales, -UNBOUND, 2)

SELECT Month_ID, PERIODROLLING(monthly_sales, -UNBOUND, UNBOUND)

PERIODROLLING関数で使用されるレベルの決定

PERIODROLLING関数に使用される時間単位(オフセット)は関数のレベルと呼ばれます。この値は、最初の引数内のメジャーのメジャー・レベル、および関数が属する問合せの問合せレベルによって決定されます。管理ツールにメジャーのメジャー・レベルを設定できます。関数に使用されるメジャーのメジャー・レベルが設定されている場合、そのメジャー・レベルが関数のレベルとして使用されます。メジャー・レベルは、関数のストレージ単位とも呼ばれます。

管理ツールにメジャー・レベルが設定されていない場合は、問合せレベルが使用されます。問合せレベルは、関数の問合せ単位とも呼ばれます。次の例では、問合せレベルは月ですが、PERIODROLLING関数では、3月から4月までの各市の先月、当月、次月の合計が計算されます。

SELECT year, month, country, city, PERIODROLLING(sales, -1, 1)
WHERE month in ('Mar', 'Apr') AND city = 'New York'

時間ディメンションに複数の階層がある場合は、PERIODROLLING関数内でhierarchy引数を指定する必要があります。例:

SELECT year, fiscal_year, month, PERIODROLLING(sales, -1, 1, "fiscal_time_hierarchy")

この例では、PERIODROLLING関数のレベルはfiscal_yearです。

TODATE

指定された期間の最初から現在の表示時刻までのメジャーを集計する時系列集計関数です。たとえば、この関数を使用すると、過去1年間の売上を計算できます。

時系列関数は、その関数で指定されたレベル以下の時間ディメンションのメンバーで操作します。そのため、特定のレベル以下のメンバーを一意に識別する1つ以上の列を問合せに投影する必要があります。また、特定のレベル以下の単一のメンバーを指定する問合せにフィルタを適用することもできます。

未サポートのメトリックがリクエストされた場合、NULL値が返され、ログ・レベルが3以上の場合はnqquery.logファイルに警告エントリが書き込まれます。

別のTODATE関数内に、TODATE関数をネストできません。TODAT関数とAGO関数がそれぞれ同じレベルの引数を使用する場合は、1つのTODATE関数と複数のAGO関数を正しくネストできます。

TODATEは、一部のデータベースでサポートされているTO_DATE SQL関数とは異なります。TO_DATEを使用して、DATEデータ型に変更しないでください。かわりに、CAST関数を使用します。詳細は、「CAST」を参照してください。

構文

TODATE(expr, time_level)

説明:

exprは、1つ以上のメジャー列を参照する式です。

time_levelは、四半期、月、年などの期間のタイプです。

例

次の例では、今年の今月時点までの売上を返します。

SELECT Year_ID, Month_ID, TODATE(sales, year)

レポート関数

レポート関数はすべての述語の評価後に計算され、レポートに表示される値の小計を計算する際に役立ちます。レポート関数は、プロジェクト・リスト(SELECT句)の中だけで許可されます。

これらの関数は論理SQL内のみで使用でき、Oracle BIリポジトリの中にある式では使用できません。

次の関数があります。

- REPORT_AGGREGATE

- REPORT_AVG

- REPORT_COUNT

- REPORT_MAX

- REPORT_MIN

- REPORT_SUM

REPORT_AGGREGATE

REPORT_AGGREGATEは、REPORT_SUM、REPORT_MINなどの他のレポート関数を一般化したものです。

これは、対応する集計ルールでメジャーに対して適用された場合、これらの関数とセマンティック上、同等です。

たとえば、メジャーMが集計ルールSUMで定義された場合は、次のようになります。

REPORT_AGGREGATE(M) := REPORT_SUM(M)

しかし、集計ルールがMAXである場合は、次のようになります。

REPORT_AGGREGATE(M) := REPORT_MAX(M)

REPORT_AGGREGATEはプロジェクト・リスト(SELECT句)の中だけで許可され、WHERE句にあるすべての式が評価された後で計算されます。ただし、例外として、COUNTDISTINCTなどの非線形メジャーに適用された場合は、集計述語の前に計算されます。

注意:
非線形メジャーで集計述語の前にREPORT_AGGREGATEが計算されないようにするには、WHERE句の中にサマリーが含まれないように問合せを書き直します。たとえば、次の問合せを

SELECT Year, DistinctUnitsSold,
REPORT_AGGREGATE(DistinctUnitsSold BY )
WHERE Sales > 1000

次のように書き直すことができます。

SELECT Year, DistinctProductsSold, REPORT_AGGREGATE(DistinctUnitsSold BY )
WHERE Year IN (
SELECT Year
WHERE sales > 1000
)

または、非線形メジャーを、メジャーではなく派生列として宣言することもできます。例:

COUNT(DISTINCT UnitId)

この関数は通常、すべての述語の評価後に計算されるため、レポートに表示される値の小計を計算する際に役立ちます(したがって、REPORT_AGGREGATEという名前になっています)。

REPORT_AGGREGATEがメジャー(M1、M2など)の式Eとスカラー属性(S1、S2など)に適用されている場合、これは次のようにコンポーネント・メジャーに配置されます。

REPORT_AGGREGATE(E(M1, M2, ..., S1, S2, ...)) := E(REPORT_AGGREGATE(M1), REPORT_AGGREGATE(M2), ..., S1, S2, ...)

例:

REPORT_AGGREGATE((sales + 10) / number_of_employees) := (REPORT_AGGREGATE(sales) +
10) / REPORT_AGGREGATE(number_of_employees)

REPORT_AVG

この関数は、BY列の式のセットによってパーティション化されたargument_expressionの平均値を計算します。

空のBY句は、1つの(総計)パーティションを指定します。

BY句の列は、argument_expressionの(暗黙的)GROUP BY列のサブセットである必要があります。

REPORT_AVGは、プロジェクト・リスト(SELECT句)の中だけで許可され、WHERE句のすべての式の後で計算されます。

REPORT_AVGは他のすべての述語の後に計算されるため、レポートの小計値の計算に適しています。

REPORT_AVGは集計ルールとして常にAVGを使用するのに対し、REPORT_AGGREGATEは、その引数に基づいて、集計ルールを自動的に決定しようとします。

デフォルトでは、REPORT_AGGREGATEを使用することをお薦めします。ただし、REPORT_AGGREGATEのデフォルトの動作で期待される結果が得られない場合は、REPORT_AVGのような明示的な集計ルールを使用できます。

構文

REPORT_AVG(argument_expression BY column_expression, column_expression, ...)

例

SELECT month, year, sales, REPORT_AVG(sales BY year) AS yearly_total
WHERE month LIKE 'J%' AND sales > 10

結果:

Month

Year

Sales

Yearly_Total

6月

2011

20

25

7月

2011

30

25

1月

2012

40

45

6月

2012

50

45

REPORT_COUNT

この関数は、BY列の式のセットによってパーティション化されたargument_expressionの非NULL値を持つ行数を計算します。

空のBY句は、1つの(総計)パーティションを指定します。

BY句の列は、argument_expressionの(暗黙的)GROUP BY列のサブセットである必要があります。

REPORT_COUNTは、プロジェクト・リスト(SELECT句)の中だけで許可され、WHERE句のすべての式の後で計算されます。

REPORT_COUNTは他のすべての述語の後に計算されるため、レポートの小計値の計算に適しています。

REPORT_COUNTは集計ルールとして常にCOUNTを使用するのに対し、REPORT_AGGREGATEは、その引数に基づいて、集計ルールを自動的に決定しようとします。

デフォルトでは、REPORT_AGGREGATEを使用することをお薦めします。ただし、REPORT_AGGREGATEのデフォルトの動作で期待される結果が得られない場合は、REPORT_COUNTのような明示的な集計ルールを使用できます。

構文

REPORT_COUNT(argument_expression BY column_expression, column_expression, ...)

例

SELECT month, year, sales, REPORT_COUNT(sales BY year) AS yearly_total
WHERE month LIKE 'J%' AND sales > 10

結果:

Month

Year

Sales

Yearly_Total

6月

2011

20

2

7月

2011

30

2

1月

2012

40

2

6月

2012

50

2

REPORT_MAX

この関数は、BY列の式のセットによってパーティション化された数値argument_expressionを満たす行の最大値(最も高い数値)を計算します。

空のBY句は、1つの(総計)パーティションを指定します。

BY句の列は、argument_expressionの(暗黙的)GROUP BY列のサブセットである必要があります。

REPORT_MAXは、プロジェクト・リスト(SELECT句)の中だけで許可され、WHERE句のすべての式の後で計算されます。

REPORT_MAXは他のすべての述語の後に計算されるため、レポートの小計値の計算に適しています。

REPORT_MAXは集計ルールとして常にMAXを使用するのに対し、REPORT_AGGREGATEは、その引数に基づいて、集計ルールを自動的に決定しようとします。

デフォルトでは、REPORT_AGGREGATEを使用することをお薦めします。ただし、REPORT_AGGREGATEのデフォルトの動作で期待される結果が得られない場合は、REPORT_MAXのような明示的な集計ルールを使用できます。

構文

REPORT_MAX(argument_expression BY column_expression, column_expression, ...)

例

SELECT month, year, sales, REPORT_MAX(sales BY year) AS yearly_total
WHERE month LIKE 'J%' AND sales > 10

結果:

Month

Year

Sales

Yearly_Total

6月

2011

20

30

7月

2011

30

30

1月

2012

40

50

6月

2012

50

50

REPORT_MIN

この関数は、BY列の式のセットによってパーティション化されたargument_expressionを満たす行の最小値(最も低い数値)を計算します。

空のBY句は、1つの(総計)パーティションを指定します。

BY句の列は、argument_expressionの(暗黙的)GROUP BY列のサブセットである必要があります。

REPORT_MINは、プロジェクト・リスト(SELECT句)の中だけで許可され、WHERE句のすべての式の後で計算されます。

REPORT_MINは他のすべての述語の後に計算されるため、レポートの小計値の計算に適しています。

REPORT_MINは集計ルールとして常にMINを使用するのに対し、REPORT_AGGREGATEは、その引数に基づいて、集計ルールを自動的に決定しようとします。

デフォルトでは、REPORT_AGGREGATEを使用することをお薦めします。ただし、REPORT_AGGREGATEのデフォルトの動作で期待される結果が得られない場合は、REPORT_MINのような明示的な集計ルールを使用できます。

構文

REPORT_MIN(argument_expression BY column_expression, column_expression, ...)

例

SELECT month, year, sales, REPORT_MIN(sales BY year) AS yearly_total
WHERE month LIKE 'J%' AND sales > 10

結果:

Month

Year

Sales

Yearly_Total

6月

2011

20

20

7月

2011

30

20

1月

2012

40

40

6月

2012

50

40

REPORT_SUM

この関数は、BY列の式のセットによってパーティション化されたargument_expressionの合計を計算します。

空のBY句は、1つの(総計)パーティションを指定します。

BY句の列は、argument_expressionの(暗黙的)GROUP BY列のサブセットである必要があります。

REPORT_SUMは、プロジェクト・リスト(SELECT句)の中だけで許可され、WHERE句のすべての式の後で計算されます。

REPORT_SUMは他のすべての述語の後に計算されるため、レポートの小計値の計算に適しています。

REPORT_SUMは集計ルールとして常にSUMを使用するのに対し、REPORT_AGGREGATEは、その引数に基づいて、集計ルールを自動的に決定しようとします。

デフォルトでは、REPORT_AGGREGATEを使用することをお薦めします。ただし、REPORT_AGGREGATEのデフォルトの動作で期待される結果が得られない場合は、REPORT_SUMのような明示的な集計ルールを使用できます。たとえば、REPORT_SUMを使用して、同一の集計ルールをベース・メジャーとして使用するのではなく、レポート内に表示される値の単一の可視的な合計を求めて、合計または小計を計算します。

構文

REPORT_SUM(argument_expression BY column_expression, column_expression, ...)

例

SELECT month, year, sales, REPORT_SUM(sales BY year) AS yearly_total
WHERE month LIKE 'J%' AND sales > 10

結果:

Month

Year

Sales

Yearly_Total

6月

2011

20

50

7月

2011

30

50

1月

2012

40

90

6月

2012

50

90

文字列関数

文字列関数は様々な文字操作を行い、文字列に対して動作します。次の関数があります。

- ASCII

- BIT_LENGTH

- CHAR

- CHAR_LENGTH

- CONCAT

- INSERT

- LEFT

- LENGTH

- LOCATE

- LOWER

- OCTET_LENGTH

- POSITION

- REPEAT

- REPLACE

- RIGHT

- SPACE

- SUBSTRING

- TRIMBOTH

- TRIMLEADING

- TRIMTRAILING

- UPPER

ASCII

単一文字列を、0から255の対応するASCIIコードに変換します。文字式が複数の文字に評価される場合は、式の最初の文字に対応するASCIIコードが返されます。

構文

ASCII(strExpr)

説明:

strExprは、文字列に評価される任意の式です。

BIT_LENGTH

指定された文字列の長さをビット単位で返します。各Unicode文字の長さは2バイトです(16ビットに相当)。

構文

BIT_LENGTH(strExpr)

説明:

strExprは、文字列に評価される任意の式です。

CHAR

0から255の数値を、ASCIIコードに対応する文字値に変換します。

構文

CHAR(numExpr)

説明:

numExprは、0から255の数値に評価される任意の式です。

CHAR_LENGTH

指定された文字列の長さを文字数で返します。先頭と末尾の空白は、文字列の長さとして計算されません。

構文

CHAR_LENGTH(strExpr)

説明:

strExprは、文字列に評価される任意の式です。

CONCAT

この関数には2つの形式があります。最初の形式は、2つの文字列を連結します。2番目の形式は、文字列の連結文字を使用して、3つ以上の文字列を連結します。

形式1(2つの文字列を連結する場合)の構文

CONCAT(strExpr1, strExpr2)

説明:

strExprsは、カンマで区切られた文字列に評価される任意の式です。

例

この例では、リクエストに対して返される結果が示されています。

SELECT DISTINCT CONCAT('abc', 'def') FROM employee
CONCAT('abc', 'def')

結果:

abcdef

形式2(3つ以上の文字列を連結する場合)の構文

CONCAT(strExpr1, strExpr2 || strExpr3)

説明:

strExprsは文字列に評価される式で、カンマおよび文字列連結演算子||(2本の縦棒)で区切って指定します。最初に、strExpr2とstrExpr3が連結されて中間の文字列が生成されます。次に、CONCAT文字列によってstrExpr1とこの中間の文字列が連結されて最終の文字列が生成されます。

例

この例では、リクエストに対して返される結果が示されています。

SELECT DISTINCT CONCAT('abc','def' || 'ghi') FROM employee

結果:

abcdefghi

INSERT

指定された文字列を、別の文字列の指定された場所に挿入します。

構文

INSERT(strExpr1, integer1, integer2, strExpr2)

説明:

strExpr1は、文字列に評価される任意の式です。ターゲットの文字列を示します。

integer1は、2番目の文字列が挿入される、ターゲットの文字列の先頭からの文字数を表す任意の正の整数です。

integer2は、2番目の文字列によって置換される、ターゲットの文字数を表す任意の正の整数です。

strExpr2は、文字列に評価される任意の式です。ターゲットの文字列に挿入される文字列を示します。

例

最初の文字列の2番目の位置(数値2に該当)から開始し、3つの文字(数値2、3および4)が文字列abcdに置換されます。

SELECT INSERT('123456', 2, 3, 'abcd') FROM table

結果:

1abcd56
1abcd56
...

LEFT

文字列の左側から、指定された文字数を返します。

構文

LEFT(strExpr, integer)

説明:

strExprは、文字列に評価される任意の式です。

integerは、文字列の左側から返す文字数を表す任意の正の整数です。

例

この例では、文字列123456の左端から3文字が返されます。

SELECT LEFT('123456', 3) FROM table

結果:

123
123
...

LENGTH

指定された文字列の長さを文字数で返します。末尾の空白文字を除いた長さが返されます。

構文

LENGTH(strExpr)

説明:

strExprは、文字列に評価される任意の式です。

LOCATE

別の文字列での文字列の数値位置を返します。文字列が検索される文字列で見つからない場合、関数は値0を返します。

検索の開始位置を指定する場合は、整数の引数を含めます。返される数値位置は、整数の引数の値に関係なく、文字列内の最初の文字位置を1として数えることで決定されます。

構文

LOCATE(strExpr1, strExpr2 [, integer])

説明:

strExpr1は、文字列に評価される任意の式です。検索する文字列を示します。

strExpr2は、文字列に評価される任意の式です。検索される文字列を示します。

integerは、文字列の検索を開始する位置を表す任意の正(ゼロ以外)の整数です。整数の引数はオプションです。

例

この例では、文字列abcdefで文字dの数値位置として4が返されます。

LOCATE('d', 'abcdef')

この例では、検索される文字列内で文字gが見つからないため、0が返されます。

LOCATE('g', 'abcdef')

この例では、文字列abcdefで文字dの数値位置として4が返されます。検索は、文字列の3番目の文字であるcから開始されます。返される数値位置は、文字aの位置を1として数えることで決定されます。

LOCATE('d' 'abcdef', 3)

この例では、文字列内で、文字bが検索の開始位置の前にあるため、0が返されます。

LOCATE('b' 'abcdef', 3)

LOWER

文字列を小文字に変換します。

構文

LOWER(strExpr)

説明:

strExprは、文字列に評価される任意の式です。

OCTET_LENGTH

指定された文字列のビット数を、基数8の単位(バイト数)で返します。

構文

OCTET_LENGTH(strExpr)

説明:

strExprは、文字列に評価される任意の式です。

POSITION

文字式でのstrExpr1の数値位置を返します。strExpr1が見つからない場合、関数は0を返します。関連情報は、「LOCATE」も参照してください。

構文

POSITION(strExpr1 IN strExpr2)

説明:

strExpr1は、文字列に評価される任意の式です。ターゲット文字列で検索する文字列を示します。

strExpr2は、文字列に評価される任意の式です。検索されるターゲット文字列を示します。

例

この例では、文字列abcdefで文字dの位置として4が返されます。

POSITION('d', 'abcdef')

この例では、文字列123456で数値9が見つからないため、数値9の位置として0が返されます。

POSITION('9', '123456')

REPEAT

指定された式をn回繰り返します。

構文

REPEAT(strExpr, integer)

説明:

strExprは、文字列に評価される任意の式です。

integerは、文字列を繰り返す回数を表す任意の正の整数です。

例

この例では、abcを4回繰り返します。

REPEAT('abc', 4)

REPLACE

指定された文字式の1つ以上の文字を、別の1つ以上の文字で置換します。

構文

REPLACE(strExpr1, strExpr2, strExpr3)

説明:

strExpr1は、文字列に評価される任意の式です。これは、文字が置換される文字列です。

strExpr2は、文字列に評価される任意の式です。この2番目の文字列は、1番目の文字列で置換される文字を示します。

strExpr3は、文字列に評価される任意の式です。この3番目の文字列は、1番目の文字列内に代入する文字を指定します。

例

文字列abcd1234の文字123が文字列zzで置換されます。

Replace('abcd1234', '123', 'zz')

結果:

abcdzz4

RIGHT

文字列の右側から、指定された文字数を返します。

構文

RIGHT(strExpr, integer)

説明:

strExprは、文字列に評価される任意の式です。

integerは、文字列の右側から返す文字数を表す任意の正の整数です。

例

この例では、文字列123456の右端から3文字が返されます。

SELECT right('123456', 3) FROM table

結果:

456

SPACE

空白を挿入します。

構文

SPACE(integer)

説明:

integerは、挿入する空白の数を示す任意の正の整数です。

SUBSTRING

元の文字列内に、固定された文字数から始まる新しい文字列を作成します。

構文

SUBSTRING(strExpr FROM starting_position)

説明:

strExprは、文字列に評価される任意の式です。

starting_positionは、処理の開始位置を示す文字列の左端の開始からの文字数を表す任意の正の整数です。

TRIMBOTH

指定された文字を文字列の冒頭と末尾から削除します。

構文

TRIM(BOTH character FROM strExpr)

説明:

characterは任意の単一文字です。文字の指定(および必須の一重引用符)を省略すると、空白文字がデフォルトで使用されます。

strExprは、文字列に評価される任意の式です。

TRIMLEADING

指定された文字を文字列の冒頭から削除します。

構文

TRIM(LEADING character FROM strExpr)

説明:

characterは任意の単一文字です。文字の指定(および必須の一重引用符)を省略すると、空白文字がデフォルトで使用されます。

strExprは、文字列に評価される任意の式です。

TRIMTRAILING

指定された文字を文字列の末尾から削除します。

構文

TRIM(TRAILING character FROM strExpr)

説明:

characterは任意の単一文字です。文字の指定(および必須の一重引用符)を省略すると、空白文字がデフォルトで使用されます。

strExprは、文字列に評価される任意の式です。

UPPER

文字列を大文字に変換します。

構文

UPPER(strExpr)

説明:

strExprは、文字列に評価される任意の式です。

算術関数

算術関数は、数学的な操作を実行します。次の関数があります。

- ABS

- ACOS

- ASIN

- ATAN

- ATAN2

- CEILING

- COS

- COT

- DEGREES

- EXP

- EXTRACTBIT

- FLOOR

- LOG

- LOG10

- MOD

- PI

- POWER

- RADIANs

- RAND

- RANDFROMSEED

- ROUND

- SIGN

- SIN

- SQRT

- TAN

- TRUNCATE

ABS

数式の絶対値を計算します。

構文

ABS(numExpr)

説明:

numExprは、数値に評価される任意の式です。

ACOS

数式の逆余弦を計算します。

構文

ACOS(numExpr)

説明:

numExprは、数値に評価される任意の式です。

ASIN

数式の逆正弦を計算します。

構文

ASIN(numExpr)

説明:

numExprは、数値に評価される任意の式です。

ATAN

数式の逆正接を計算します。

構文

ATAN(numExpr)

説明:

numExprは、数値に評価される任意の式です。

ATAN2

y/xの逆正接を計算します。ここでyは最初の数式、xは2番目の数式です。

構文

ATAN2(numExpr1, numExpr2)

説明:

numExprは、数値に評価される任意の式です。

CEILING

整数でない数式を、次に高い整数に丸めます。数式が整数に評価される場合、CEILING関数はその整数を返します。

構文

CEILING(numExpr)

説明:

numExprは、数値に評価される任意の式です。

COS

数式の余弦を計算します。

構文

COS(numExpr)

説明:

numExprは、数値に評価される任意の式です。

COT

数式の余接を計算します。

構文

COT(numExpr)

説明:

numExprは、数値に評価される任意の式です。

DEGREES

式をラジアンから度に変換します。

構文

DEGREES(numExpr)

説明:

numExprは、数値に評価される任意の式です。

EXP

値を指定された値でべき乗します。

構文

EXP(numExpr)

説明:

numExprは、数値に評価される任意の式です。

EXTRACTBIT

整数内の特定の位置にあるビットを取得します。そのビットに対応する0か1の整数が返されます。この機能は、主に、Hyperion Financial Managementのキューブ・ソースで「セル・ステータス」を抽出する際に使用されます。EXTRACTBIT関数をいかなるデータベースにもプッシュすることはできません。この関数は、常に、内部的に(Oracle BIサーバーで)実行されます。

構文

Int ExtractBit(Arg1, Arg2)

説明:

Arg1は、INT型、SMALLINT型、UNIT型、SMALLUNIT型、TINYINT型、またはTINYUNIT型の式です。Arg1がdouble型である場合、最初に列をINTにキャストする必要があります。

Arg2はINT型の式です。値は1からlength_of_Arg1の範囲である必要があります。1を指定すると最下位ビットを取得します。Arg2が整数の長さを超える場合は、0が返されます。Arg2が1より小さいときは、エラー・メッセージがトリガーされます。

FLOOR

整数でない数式を、次に低い整数値に丸めます。数式が整数に評価される場合、FLOOR関数はその整数を返します。

構文

FLOOR(numExpr)

説明:

numExprは、数値に評価される任意の式です。

LOG

式の自然対数を計算します。

構文

LOG(numExpr)

説明:

numExprは、数値に評価される任意の式です。

LOG10

式の対数(基数10)を計算します。

構文

LOG10(numExpr)

説明:

numExprは、数値に評価される任意の式です。

MOD

最初の数式を2番目の数式で除算し、商の剰余を返します。

構文

MOD(numExpr1, numExpr2)

説明:

numExprは、数値に評価される任意の式です。

例

この例では、リクエストに対して値0が返されます。

MOD(9, 3)

この例では、リクエストに対して値1が返されます。

MOD(10, 3)

PI

パイ(円周を円の直径で割った率)の定値を返します。

構文

PI()

POWER

最初の数式を、2番目の数式で指定された値でべき乗します。

構文

POWER(numExpr1, numExpr2)

説明:

numExpr1は、数値に評価される任意の式です。

RADIANs

式を度からラジアンに変換します。

構文

RADIANS(numExpr)

説明:

numExprは、数値に評価される任意の式です。

RAND

0から1の擬似乱数を返します。

構文

RAND()

RANDFROMSEED

シード値に基づいた擬似乱数を返します。特定のシード値に対して、乱数の同一のセットが生成されます。

構文

RAND(numExpr)

説明:

numExprは、数値に評価される任意の式です。

ROUND

数式をn桁の精度まで丸めます。

構文

ROUND(numExpr, integer)

説明:

numExprは、数値に評価される任意の式です。

integerは、丸める精度の桁数を表す任意の正の整数です。

例

この例では、結果として2.17が返されます。

ROUND(2.166000, 2)

SIGN

この関数では、次のように値が返されます。

- 引数に指定した数式が正数に評価される場合は値1を返します。

- 引数に指定した数式が負数に評価される場合は値-1を返します。

- 0(ゼロ)に評価される場合は値0を返します。

構文

SIGN(numExpr)

説明:

numExprは、数値に評価される任意の式です。

SIN

数式の正弦を計算します。

構文

SIN(numExpr)

説明:

numExprは、数値に評価される任意の式です。

SQRT

引数に指定した数式の平方根を計算します。数式は、負数でない数値に評価される必要があります。

構文

SQRT(numExpr)

説明:

numExprは、負数でない数値に評価される任意の式です。

TAN

数式の正接を計算します。

構文

TAN(numExpr)

説明:

numExprは、数値に評価される任意の式です。

TRUNCATE

小数を切捨てて、小数点から指定された桁数の数値を返します。

構文

TRUNCATE(numExpr, integer)

説明:

numExprは、数値に評価される任意の式です。

integerは、小数位の右側から返す文字数を表す任意の正の整数です。

例

この例では45.12が返されます。

TRUNCATE(45.12345, 2)

この例では25.12が返されます。

TRUNCATE(25.126, 2)

カレンダ日付/時刻関数

カレンダ日付/時刻関数は、暦年に基づいてデータ型DATEおよびDATETIMEのデータを操作します。これらの関数を他の列とともに選択する必要があります。関数のみを選択することはできません。

デフォルトでは、月および日の名前は大文字小文字混合で返されます。月や日の名前が大文字で返されることを想定している既存の式がある場合は、式を調整するか、NQSConfig.INIのパラメータUSE_UPPERCASE_MONTH_NAMESおよびUSE_UPPERCASE_DAY_NAMESをYESに設定する必要があります。詳細は、『Oracle Fusion Middleware Oracle Business Intelligence Enterprise Editionシステム管理者ガイド』のNQSConfig.INIファイルの構成設定に関する項を参照してください。

MONTHNAMEなどの関数は日付列を書式設定するのに使用できますが、ロケールはデータ・ソースまたはOracle BIサーバーのNQSConfig.INIファイルで固定されています。論理SQL日付書式設定関数はODBC標準に基づいており、ロケール引数は用意されていないため、これらの関数にロケールを指定することはできません。

ユーザーが選択したロケールに基づいて日付列を書式設定するには、ロケールを固定するときに、コンテンツ設計者が標準の日付書式またはカスタムの日付書式を分析の日付列に指定することをお薦めします。詳細は、Oracle Fusion Middleware Oracle Business Intelligence Enterprise Editionユーザーズ・ガイドの日付および時間フィールドのカスタム書式設定文字列に関する項および「列のプロパティ」: 「データ書式」タブに関する項を参照してください。

次の関数があります。

- CURRENT_DATE

- CURRENT_TIME

- CURRENT_TIMESTAMP

- DAY_OF_QUARTER

- DAYNAME

- DAYOFMONTH

- DAYOFWEEK

- DAYOFYEAR

- HOUR

- MINUTE

- MONTH

- MONTH_OF_QUARTER

- MONTHNAME

- NOW

- QUARTER_OF_YEAR

- SECOND

- TIMESTAMPADD

- TIMESTAMPDIFF

- WEEK_OF_QUARTER

- WEEK_OF_YEAR

- YEAR

CURRENT_DATE

現在の日付を返します。日付はOracle BIサーバーを実行しているシステムによって決定されます。

構文

CURRENT_DATE

CURRENT_TIME

現在の時刻を返します。時刻はOracle BIサーバーを実行しているシステムによって決定されます。

構文

CURRENT_TIME(integer)

説明:

integerは、小数秒を表示する精度の桁数を表す任意の整数です。この引数の指定はオプションです。引数を指定しない場合は、デフォルトの精度で時刻が返されます。

CURRENT_TIMESTAMP

現在の日付/タイムスタンプを返します。タイムスタンプはOracle BIサーバーを実行しているシステムによって決定されます。

構文

CURRENT_TIMESTAMP(integer)

説明:

integerは、小数秒を表示する精度の桁数を表す任意の整数です。この引数の指定はオプションです。引数を指定しない場合は、デフォルトの精度で時刻が返されます。

DAY_OF_QUARTER

指定された日付について、四半期の通算日に対応する数字(1から92)を返します。

構文

DAY_OF_QUARTER(dateExpr)

説明:

dateExprは、日付に評価される任意の式です。

DAYNAME

指定された日付の曜日を返します。

構文

DAYNAME(dateExpr)

説明:

dateExprは、日付に評価される任意の式です。

DAYOFMONTH

指定された日付について、月の通算日に対応する数字を返します。

構文

DAYOFMONTH(dateExpr)

説明:

dateExprは、日付に評価される任意の式です。

DAYOFWEEK

指定された日付について、曜日(日曜日から土曜日)に対応する1から7の数字を返します。たとえば、数字1は日曜日に対応し、数字7は土曜日に対応します。

構文

DAYOFWEEK(dateExpr)

説明:

dateExprは、日付に評価される任意の式です。

DAYOFYEAR

指定された日付について、年の通算日に対応する数字(1から366)を返します。

構文

DAYOFYEAR(dateExpr)

説明:

dateExprは、日付に評価される任意の式です。

HOUR

指定された時刻について、時間に対応する数字(0から23)を返します。たとえば、0は午前12時に対応し、23は午後11時に対応します。

構文

HOUR(timeExpr)

説明:

timeExprは、時刻に評価される任意の式です。

MINUTE

指定された時刻について、分に対応する数字(0から59)を返します。

構文

MINUTE(timeExpr)

説明:

timeExprは、時刻に評価される任意の式です。

MONTH

指定された日付について、月に対応する数字(1から12)を返します。

構文

MONTH(dateExpr)

説明:

dateExprは、日付に評価される任意の式です。

MONTH_OF_QUARTER

指定された日付について、四半期の通算月に対応する数字(1から3)を返します。

構文

MONTH_OF_QUARTER(dateExpr)

説明:

dateExprは、日付に評価される任意の式です。

MONTHNAME

指定された日付の月の名前を返します。

構文

MONTHNAME(dateExpr)

説明:

dateExprは、日付に評価される任意の式です。

NOW

現在のタイムスタンプを返します。NOW関数は、CURRENT_TIMESTAMP関数と同じです。

構文

NOW()

QUARTER_OF_YEAR

指定された日付について、年の四半期に対応する数字(1から4)を返します。

構文

QUARTER_OF_YEAR(dateExpr)

説明:

dateExprは、日付に評価される任意の式です。

SECOND

指定された時刻について、秒に対応する数字(0から59)を返します。

構文

SECOND(timeExpr)

説明:

timeExprは、時刻に評価される任意の式です。

TIMESTAMPADD

指定されたタイムスタンプに、指定された間隔の数を加算します。単一のタイムスタンプを返します。

この関数の最も簡単なシナリオでは、指定された整数値が、間隔に基づいて適切なタイムスタンプ・コンポーネントに加算されます。1週は7日として加算され、1四半期は3か月として加算されます。負の整数値を追加すると減算されます(時間を遡ります)。

特定のコンポーネントでオーバーフローが発生する場合(60秒、24時間、12か月を超える場合など)は、次のコンポーネントに適切に値を加算する必要があります。たとえば、タイムスタンプの日のコンポーネントを加算する場合、この関数ではオーバーフローを考慮して、特定月の日数(2月が29日ある、うるう年など)が計算時に確認されます。

タイムスタンプの月のコンポーネントを加算する場合は、結果として生じるタイムスタンプについて、日のコンポーネントの日数が適切であるかどうか検証されます。たとえば、2000-05-31に1か月を加算しても2000-06-31にはなりません。これは、6月には31日がないためです。この例では、日のコンポーネントが月の最後の日に減算され、2000-06-30となります。

同様の問題は、月のコンポーネントが2月、日のコンポーネントが29であるタイムスタンプ(つまり、うるう年の2月の最終日)において、タイムスタンプの年のコンポーネントを加算する場合にも発生します。結果として生じるタイムスタンプがうるう年に該当しない場合は、日のコンポーネントが28に減算されます。

この処理は、Microsoft社のSQL ServerおよびOracle DatabaseのネイティブOCIインタフェースに準拠します。

構文

TIMESTAMPADD(interval, intExpr, timestamp)

説明:

intervalは指定された間隔です。有効な値は次のとおりです。

- SQL_TSI_SECOND

- SQL_TSI_MINUTE

- SQL_TSI_HOUR

- SQL_TSI_DAY

- SQL_TSI_WEEK

- SQL_TSI_MONTH

- SQL_TSI_QUARTER

- SQL_TSI_YEAR

intExprは、整数値に評価される任意の式です。

timestampは任意の有効なタイムスタンプです。この値は計算のベースに使用されます。

NULLの整数式またはNULLのタイムスタンプがこの関数に渡されると、NULL値が返されます。

例

次の問合せは、2000-02-27 14:30:00に3日を追加したタイムスタンプを求めています。2000年はうるう年であるため、2000-03-01 14:30:00が単一のタイムスタンプとして返されます。

SELECT TIMESTAMPADD(SQL_TSI_DAY, 3, TIMESTAMP'2000-02-27 14:30:00')
FROM Employee WHERE employeeid = 2;

次の問合せは、1999-07-31 0:0:0に7か月を追加したタイムスタンプを求めています。2000-02-29 00:00:00が単一のタイムスタンプとして返されます。2月は短い月であるため、日のコンポーネントが29に減算されていることに注意してください。

SELECT TIMESTAMPADD(SQL_TSI_MONTH, 7, TIMESTAMP'1999-07-31 00:00:00')
FROM Employee WHERE employeeid = 2;

次の問合せは、2000-07-31 23:35:00に25分を追加したタイムスタンプを求めています。2000-08-01 00:00:00が単一のタイムスタンプとして返されます。月のコンポーネントにオーバーフローが伝播されていることに注意してください。

SELECT TIMESTAMPADD(SQL_TSI_MINUTE, 25, TIMESTAMP'2000-07-31 23:35:00')
FROM Employee WHERE employeeid = 2;

注意:
TIMESTAMPADD関数は、デフォルトでは、Microsoft SQL Server、ODBC、IBM DB2およびOracleデータベースで使用できます。DB2およびOracleセマンティクスでは、この関数が完全にはサポートされないため、この関数からの回答はOracle BIサーバーの計算結果と一致しない場合があります。

TIMESTAMPDIFF

2つのタイムスタンプ間の指定された間隔の合計を返します。

この関数では、最初に、指定された間隔パラメータに対応するタイムスタンプ・コンポーネントが判別されます。次に、両方のタイムスタンプで次に高い順位のコンポーネントが確認され、各タイムスタンプについて間隔の合計数が計算されます。たとえば、指定された間隔が月のコンポーネントに対応する場合は、月のコンポーネントに年のコンポーネントを12回加算することで各タイムスタンプの月の合計数を計算します。次に、最初のタイムスタンプの間隔の合計数を、2番目のタイムスタンプの間隔の合計数から減算します。

注意:
この項では、関数がOracle BIサーバーで計算される際のTIMESTAMPDIFFの動作について説明しています。この関数がデータ・ソースで計算される場合は、この項で説明する動作と異なる場合があります。TIMESTAMPDIFF関数の結果が望ましい結果でない場合は、管理ツールを使用して、データベース・オブジェクトの「機能」タブでTIMESTAMP_DIFF_SUPPORTEDを無効にし、関数が確実にOracle BIサーバーで計算されるようにします。ただし、この変更によってパフォーマンスが低下する可能性があります。

TIMESTAMPDIFF関数では、間隔の小数部が間隔の境界を越える場合は、次の整数に丸められます。たとえば、1999-12-31と2000-01-01の間の年の差は、年の小数部が翌年にまたがるため(1999年から2000年)、1年となります。対照的に、1999-01-01と1999-12-31の間の年の差は、年の小数部が同じ年内に存在するため(1999年)、0年となります。Microsoft SQL Serverでも同様の丸めが発生します。IBM DB2では常に切り捨てられます。

週の差を計算する場合は、差を日数で計算してから、丸める前に7で除算します。また、この関数では、NQSConfig.INIファイルでFIRST_DAY_OF_THE_WEEKパラメータを使用して構成される方法も考慮されます。たとえば、週の開始を日曜日とすると、2000-07-06(木曜日)と2000-07-10(次の月曜日)の週の差は1週間となります。しかし、週の開始を火曜日とすると、間隔の小数部が同じ週内に収まるため、週の差は0週間となります。四半期の差を計算する場合は、差を月数で計算してから、丸める前に3で除算します。

Oracle BIサーバーにより、Microsoft SQL Server、Oracle Database、IBM DB2およびODBCデータベースでは、TIMESTAMPADD関数とTIMESTAMPDIFF関数がデフォルトで有効になっています。

構文

TIMESTAMPDIFF(interval, timestamp1, timestamp2)

説明:

intervalは指定された間隔です。有効な値は次のとおりです。

- SQL_TSI_SECOND

- SQL_TSI_MINUTE

- SQL_TSI_HOUR

- SQL_TSI_DAY

- SQL_TSI_WEEK

- SQL_TSI_MONTH

- SQL_TSI_QUARTER

- SQL_TSI_YEAR

timestamp1およびtimestamp2は任意の有効なタイムスタンプです。

NULLのタイムスタンプのパラメータがこの関数に渡されると、NULL値が返されます。

例

次の問合せは、タイムスタンプ1998-07-31 23:35:00と2000-04-01 14:24:00の日数差を求めています。値610が返されます。2000年がうるう年であるため、1日追加されていることに注意してください。

SELECT TIMESTAMPDIFF
(SQL_TSI_DAY, TIMESTAMP'1998-07-31 23:35:00',TIMESTAMP'2000-04-01 14:24:00')
FROM Employee WHERE employeeid = 2;

注意:
TIMESTAMPDIFF関数は、デフォルトでは、Microsoft SQL Server、ODBC、IBM DB2およびOracleデータベースで使用できます。DB2およびOracleセマンティクスでは、この関数が完全にはサポートされないため、この関数からの回答はOracle BIサーバーの計算結果と一致しない場合があります。

WEEK_OF_QUARTER

指定された日付について、四半期の通算週に対応する数字(1から13)を返します。

構文

WEEK_OF_QUARTER(dateExpr)

説明:

dateExprは、日付に評価される任意の式です。

WEEK_OF_YEAR

指定された日付について、年の通算週に対応する数字(1から53)を返します。

構文

WEEK_OF_YEAR(dateExpr)

説明:

dateExprは、日付に評価される任意の式です。

YEAR

指定された日付の年を返します。

構文

YEAR(dateExpr)

説明:

dateExprは、日付に評価される任意の式です。

変換関数

変換関数は、ある形式から別の形式に値を変換します。また、フィルタでVALUEOF関数を使用して、Oracle BIシステム変数の値を参照することもできます。次の関数があります。

- CAST

- CHOOSE

- IFNULL

- INDEXCOL

- TO_DATETIME

- VALUEOF

- VARIABLE_REPLACE

CAST

式またはNULLリテラルのデータ型を別のデータ型に変更します。たとえば、customer_name (CharまたはVarcharのデータ型)またはbirthdate(日時リテラル)をキャストできます。次に、値の変更が可能なサポートされているデータ型を示します。

CHARACTER, VARCHAR, INTEGER, FLOAT, SMALLINT, DOUBLE PRECISION, DATE, TIME,
TIMESTAMP, BIT, BIT VARYING

変更元のデータ型によっては、変更後のデータ型でサポートされないものがあります。たとえば、変更元のデータ型がBIT文字列である場合、変更後のデータ型は文字列または別のBIT文字列である必要があります。

DATEデータ型に変更する場合は、CASTを使用します。TO_DATEを使用しないでください。

次に、CHARデータ型およびVARCHARデータ型の固有の特性を説明します。

- CHARデータ型へのキャスト。サイズ・パラメータを使用する必要があります。サイズ・パラメータを指定しない場合は、デフォルトの30が追加されます。次に、構文オプションについて示します。

- 次の構文をお薦めします。

CAST(expr|NULL AS CHAR(n))

例:

CAST(companyname AS CHAR(35))

- 次の構文も使用できます。

CAST(expr|NULL AS data_type)

例:

CAST(companyname AS CHAR)

注意:
この構文を使用する場合、Oracle BIサーバーではCAST(expr|NULL AS CHAR(30))として明示的に変換され、格納されます。

- VARCHARデータ型へのキャスト。サイズ・パラメータを使用する必要があります。サイズ・パラメータを省略すると、変更を保存できません。

例

CAST(hiredate AS CHAR(40)) FROM employee

SELECT CAST(hiredate AS VARCHAR(40)), CAST(age AS double precision),
CAST(hiredate AS timestamp), CAST(age AS integer) FROM employee

CAST("db"."."table"."col" AS date)

CHOOSE

この関数は、任意数のパラメータを受け取り、ユーザーに参照する権限があるリストの最初の項目を返します。ただし、管理者は管理ツールで列の権限をモデリングしてこの動作を有効にする必要があります。別の方法については、「INDEXCOL」を参照してください。

構文

CHOOSE(expr1, expr2, ..., exprN)

たとえば、組織全体のセキュリティベースの収益を返すように単一の問合せを記述することができます。関数は次のように指定します。

CHOOSE(L1-Revenue, L2-Revenue, L3-Revenue, L4-Revenue)

この関数を発行したユーザーに列L1-Revenueへのアクセス権がある場合、列値が返されます。ユーザーが、列L1-Revenueは参照不可で、L2-Revenueは参照可能な場合、L2-Revenueが返されます。

IFNULL

ある式がNULL値と評価されるかどうかをテストし、評価された場合は、指定された値をその式に割り当てます。

構文

IFNULL(expr, value)

説明:

exprは、評価される式です。

valueは、式がNULL値と評価された場合に割り当てられる値です。

INDEXCOL

この関数は、外部情報を使用して、ログインしているユーザーが参照できるように適切な列を返すことができます。Oracle BIサーバーでは、この関数を次のように処理します。

- ODBCプロシージャ。NQSGetLevelDrillabilityおよびNQSGenerateDrillDownQueryは、INDEXCOLから変換された式に基づいて、コンテキスト固有のドリルダウン情報を返します。これは、論理SQL問合せで指定されたINDEXCOL式および導出された論理列で指定されたINDEXCOL式の両方に適用されます。

- 問合せログおよびキャッシュ。INDEXCOL関数を含む論理SQL問合せは、問合せログのSQL文字列に出力されます。ただし、Oracle BIサーバーではINDEXCOLを論理リクエスト・ジェネレータの式リスト内の式の1つに変換するので、論理リクエストではINDEXCOL関数が示されません。
問合せキャッシュでは、キャッシュ・ヒット検出の結果の変換された式を使用します。

- 使用状況トラッキング。使用状況トラッキングでは、INDEXCOL関数で論理SQL問合せ文字列を挿入します。

- セキュリティ。INDEXCOLから変換された式の列にユーザーがアクセスする権限があれば、問合せは実行されます。
INDEXCOLの最初の引数がセッション変数で、初期化ブロックで失敗してもデフォルトの式を返すように想定されている場合、セッション変数のデフォルト値を設定する必要があります。そうしないと、セッション変数には値の定義がなくなるため、問合せは失敗します。

構文

INDEXCOL(integer_literal, expr_list)

説明:

expr_listは、次と同じです。

expr1 [, expr_list ]

INDEXCOL関数は最初の引数に整数リテラル値をとり、次に変数の長さの式リストが続きます。この関数は式リストから単一の式に変換します。リテラル値は、変換される式リスト内の式の0ベースの索引です。次の式について考えます。

INDEXCOL(integer_literal, expr1, expr2, …)

リテラル値が0である場合、前述の式はexpr1と同等です。リテラル値が1の場合、その値がexpr2と同等などのようになります。

INDEXCOLの主な使用例は、セッション変数が含まれる最初の引数を求めることです。定数リテラルを指定すると、INDEXCOLは常に同じ式を選択することになります。

階層レベルの例

会社ABCは、Country、State、Cityという階層を持つ地理ディメンションがあります。CEOはCountryレベルからCityレベルまでアクセス可能です。販売マネージャはStateおよびCityレベルにアクセス可能です。販売員はCityレベルにのみアクセス可能です。表C-2に会社ABCのバックエンド・データベースを示します。

表C-2 バックエンド・データベースのIndexColの例

USER_NAME

TITLE

GEO_LEVEL

CURRENCY

CURRENCY_COL

Bob

CEO

0

US Dollars

0

Harriet

Sales Manager

1

Japanese Yen

1

Jackson

Sales Manager

1

Japanese Yen

1

Mike

Sales Person

2

Japanese Yen

1

Jim

Sales Person

2

US Dollars

0

次の手順は、各ユーザーがそれぞれにアクセスできる最高レベルを参照する単一の問合せを作成する方法を示します。

- 管理者はGEOOGRAPHY_LEVELという新しいセッション変数を作成し、それに初期化ブロックSELECT GEO_LEVEL from T where USER_NAME = ':USER'を設定します。
これは、Oracle BIサーバー・インスタンスが同じユーザー名を持つことが想定されています。

- SELECT INDEXCOL(VALUEOF(NQ_SESSION.GEOGRAPHY_LEVEL), Country, State, City), Revenue FROM Salesを使用すると、次のように処理されます。

- Bobがログインすると、GEOGRAPHY_LEVELセッション変数が0であるため、INDEXCOLはCountry列に変換します。彼は、SELECT Country, Revenue FROM Salesを使用している場合と同じ結果が得られ、CountryからStateまでドリルダウンできます。

- Jacksonがログインすると、GEOGRAPHY_LEVELセッション変数が1であるため、INDEXCOLはState列に変換します。彼は、SELECT State, Revenue FROM Salesを使用している場合と同じ結果が得られ、StateからCityまでドリルダウンできます。

- Mikeがログインすると、GEOGRAPHY_LEVELセッション変数が2であるため、INDEXCOLはCity列に変換します。彼は、SELECT City, Revenue FROM Salesを使用している場合と同じ結果が得られ、Cityはドリルダウンできません。

TO_DATETIME

日時書式の文字列リテラルをDateTimeデータ型に変換します。

構文

TO_DATETIME('string1', 'DateTime_formatting_string')

説明:

string1は変換する文字列リテラルです。

DateTime_formatting_stringは使用する日時書式です(yyyy.mm.dd hh:mi:ssなど)。この引数では、yyyyは年、mmは月、ddは日、hhは時間、miは分、ssは秒を表しています。

例

SELECT TO_DATETIME('2009-03-03 01:01:00', 'yyyy-mm-dd hh:mi:ss') FROM snowflakesales

SELECT TO_DATETIME('2009.03.03 01:01:00', 'yyyy.mm.dd hh:mi:ss') FROM snowflakesales

VALUEOF

VALUEOF関数を使用すると、リポジトリ変数の値を参照できます。リポジトリ変数は管理ツールを使用して定義されます。管理ツールの式ビルダーでVALUEOF関数を使用できます。アンサーで「分析」エディタの「詳細設定」タブから分析用のSQL文を編集する場合にも、この関数を使用できます。

構文

VALUEOF変数の引数には変数を使用する必要があります。静的リポジトリ変数は名前で参照します。変数名では大文字と小文字が区別されることに注意してください。たとえば、prime_beginおよびprime_endという静的リポジトリ変数の値を使用するには、次のように指定します。

CASE WHEN "Hour" >= VALUEOF("prime_begin")AND "Hour" < VALUEOF("prime_end") THEN 'Prime Time' WHEN ... ELSE...END

動的リポジトリ変数は完全修飾名で参照する必要があります。動的リポジトリ変数を使用する場合は、初期化ブロック名とポジトリ変数名を二重引用符(")で囲み、ピリオドで区切って、カッコ内に含める必要があります。たとえば、Region Securityという初期化ブロックに含まれているREGIONという動的リポジトリ変数の値を使用するには、次のような構文を使用します。

SalesSubjectArea.Customer.Region = VALUEOF("Region Security"."REGION")

セッション変数名は、前にNQ_SESSIONを付けて、ピリオドで区切り、カッコで囲む(NQ_SESSION部分を含む)必要があります。たとえば、REGIONというセッション変数の値を使用するには、式ビルダーまたはフィルタで次のような構文を使用します。

"SalesSubjectArea"."Customer"."Region" = VALUEOF(NQ_SESSION.REGION)

変数名の中または先頭にASCII英数字([A-Z] [a-z] [0-9])やアンダースコア(_)以外の文字が含まれる場合、名前を二重引用符(")で囲みます。たとえば空白や一重引用符、二重引用符などがこれに該当します。次の例では一重引用符と空白が含まれています。

"SalesSubjectArea"."Customer"."Region" = VALUEOF("NQ_SESSION"."Steven's Regions")

指定した変数名に二重引用符(")が含まれている場合、二重引用符のセットでエスケープします。例:

"SalesSubjectArea"."Customer"."Region" = VALUEOF("NQ_SESSION"."""Top Sales"" Region")

(他のリポジトリ変数と同様に)セッション変数を含む初期化ブロック名を使用しても機能しますが、NQ_SESSIONを使用することをお薦めします。NQ_SESSIONはすべての初期化ブロック名と一致するワイルドカードのように機能します。これにより、ローカライズされたようにリクエストに影響せずに初期化ブロックの構造を変更できます。

VARIABLE_REPLACE

この関数は、セッション変数の指定された値のメジャーを問い合せます。この関数を使用してメジャーを問い合せる場合、1つ以上のセッション変数値を使用してください。複数の名前/値ペアを指定できます。ユーザーにセッション変数を設定する権限があれば、問合せは実行されます。

nqcmdユーティリティを使用してSQLをコマンドラインに入力した場合のみ、この関数を使用できます。

構文

VARIABLE_REPLACE(measure, variable_name, variable_value [, variable_name1, variable_value1, ...])

説明:

measureはメジャー・ファクト列で、ここにセッション変数を含む論理表ソース・マッピングがあります。

variable_nameは接頭辞NQ_SESSIONの付いたセッション変数名です。

variable_valueはセッション変数の置換された値です。文字列および引数の値はサポートされています。変数名に空白が含まれている場合は、それを二重引用符で囲みます。

例

次の例では、セッション変数が文字列リテラル'A'で変換されます。

VARIABLE_REPLACE(Revenue, 'NQ_SESSION.VAR', 'A')

次の例では、セッション変数が整数1で変換されます。

VARIABLE_REPLACE(Revenue, 'NQ_SESSION.VAR', 1)

参照関数

多言語スキーマでは、通常、翻訳済フィールドが参照表と呼ばれる個別の表に格納されます。参照表には記述子列の翻訳が複数言語で格納され、ベース表にそのデータが元の言語で格納されます。参照とは、問合せによってベース表と参照表を結合し、ベース表の各行に対して変換済の値を取得することを指します。LOOKUP関数は通常、「ビジネス・モデルとマッピング」レイヤーで、変換済の論理表列の式として使用されます。

詳細は、『Oracle Fusion Middleware Oracle Business Intelligence Enterprise Editionシステム管理者ガイド』で次の各項を参照してください。

- 多言語データのサポート

- LOOKUP関数の構文について

データベース関数

ユーザーおよび管理者は、Oracle BIアンサーからデータベース関数を直接呼び出すか、メタデータ・リポジトリ内の(論理表ソースの)論理列を使用することで、リクエストを作成できます。これらの関数の主な使用方法としては、高度な計算を取得するための式の受渡し機能、基礎となるデータベース上のカスタム書込み関数へのアクセス機能などがあります。

これらの関数は、XMLデータ・ソースと一緒に使用できません。

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

- NQSConfig.INIにあるEVALUATE_SUPPORT_LEVELパラメータは、Oracle BIアンサー内でのデータベース関数のEVALUATEファミリの使用を制御します。Oracle BIアンサー内でこれらの関数が使用されないようにするために、EVALUATE_SUPPORT_LEVELをデフォルト値である0に設定しておくことをお薦めします。EVALUATE_SUPPORT_LEVELを1または2の値に設定すると、ユーザーがOracle BIアンサーを使用して任意のSQL式を分析に挿入できるようになり、それによってデータ・アクセスのセキュリティが低下する可能性があります。EVALUATE_SUPPORT_LEVELパラメータの詳細は、『Oracle Fusion Middleware Oracle Business Intelligence Enterprise Editionシステム管理者ガイド』を参照してください。

- NQSConfig.INIにあるEVALUATE_SUPPORT_LEVELパラメータは、メタデータ・リポジトリ内でのデータベース関数のEVALUATEファミリの使用を制御しません。

次の関数があります。

- EVALUATE

- EVALUATE_ANALYTIC

- EVALUATE_AGGR

- EVALUATE_PREDICATE

EVALUATE

パラメータとして(オプションの)参照列を使用する、指定されたデータベース関数をバックエンド・データ・ソースに渡して評価します。この関数は、スカラー計算を対象としています。Oracle BIサーバーでサポートされていないが基礎となるデータ・ソースで認識される、専用のデータベース関数を使用する場合に便利です。

この埋込みデータベース関数には、1つ以上の列が必要になる場合があります。これらの列は、関数内で%1 ... %Nによって参照されます。実際の列は、関数の後にリストする必要があります。

デフォルトで、EVALUATEは無効になっており使用できません。この関数のサポートを有効にするには、NQSConfig.INIでEVALUATE_SUPPORT_LEVELパラメータを変更します。詳細は、『Oracle Fusion Middleware Oracle Business Intelligence Enterprise Editionシステム管理者ガイド』を参照してください。

構文

EVALUATE('db_function(%1...%N)' [AS data_type] [, column1, columnN])

説明:

db_functionは、基礎となるデータ・ソースで認識される任意の有効なデータベース関数です。

data_typeは、戻り結果のデータ型を指定するオプション・パラメータです。戻りデータ型を入力引数から確実に予測できない場合は常に使用してください。ただし、型のキャストにこのパラメータを使用しないでください。関数が特定のデータ型を返す必要がある場合は、明示的にキャストを指定します。データベース固有の関数はOracle BIサーバーでサポートされていない戻り型を使用しますが、Oracle BIサーバーに返される必要がない中間の結果を生成するために使用されている場合、通常、このパラメータを省略できます。

column1からcolumnNは、列をカンマで区切ったオプションのリストです。

例

この例では、埋込みデータベース関数を示します。

SELECT EVALUATE('instr(%1, %2)', address, 'Foster City') FROM employees

固有のEssbase関数を活用するEVALUATE_AGGREGATEとEVALUATEの使用例

次の例では、EVALUATE_AGGREGATE関数とEVALUATE関数を使用します。式が、物理キューブを参照する論理表ソースの列に適用されていることに注意してください。EVALUATE_AGGREGATEを使用してカスタム集計を実行します。たとえば、地域収益全体と地域で上位3製品の収益を比較するとします。上位3製品の収益を表す新規メジャーを定義して論理SQL文を作成できます。

SELECT Region, Profit, EVALUATE_AGGREGATE('SUM(TopCount(%1.members, 3, %2), %3)',
Products, Profit, Profit) Top_3_prod_Profit FROM SampleBasic

Oracle BIサーバーで次の式が生成され、カスタム集計が行われます。

member [Measures].[MS1] AS 'SUM(Topcount([Product].Generations(6).members,3,[Measures].[Profit]),[Measures].[Profit])'

計画されたディメンションでEVALUATE関数を使用して、集計後に計算されるスカラー計算を実行します。問合せに含まれないディメンション(または属性)への参照が明示的に定義されている場合、EVALUATEにより問合せのグレインを変更できます。

たとえば、ある地域で販売された売上別ランキングで上位5製品の収益を参照する場合、適用可能なメジャーを作成した後に、作成される論理SQL文は次のとおりです。

SELECT Region, EVALUATE('TopCount(%1.members, 5, %2)' as VARCHAR(20), Products, Sales), Profits FROM SampleBasic

Oracle BIサーバーで次の式が生成され、上位5製品を取得します。

set [Evaluate0] as '{Topcount([Product].Generations(6).members,5,[Measures].[Sales]) }'

EVALUATE_ANALYTIC

パラメータとして(オプションで)参照列を使用する、指定されたデータベース分析関数をバックエンド・データ・ソースに渡して評価します。

この埋込みデータベース関数には、1つ以上の列が必要になる場合があります。これらの列は、関数内で%1 ... %Nによって参照されます。実際の列は、関数の後にリストする必要があります。

デフォルトで、EVALUATE_ANALYTICは無効になっており使用できません。この関数のサポートを有効にするには、NQSConfig.INIでEVALUATE_SUPPORT_LEVELパラメータを変更します。詳細は、『Oracle Fusion Middleware Oracle Business Intelligence Enterprise Editionシステム管理者ガイド』を参照してください。

構文

EVALUATE_ANALYTIC('db_function(%1...%N)' [AS data_type] [, column1, columnN])

説明:

db_functionは、基礎となるデータ・ソースで認識される任意の有効なデータベース分析関数です。

data_typeは、戻り結果のデータ型を指定するオプション・パラメータです。戻りデータ型を入力引数から確実に予測できない場合は常に使用してください。ただし、型のキャストにこのパラメータを使用しないでください。関数が特定のデータ型を返す必要がある場合は、明示的にキャストを指定します。データベース固有の分析関数はOracle BIサーバーでサポートされていない戻り型を使用しますが、Oracle BIサーバーに返される必要がない中間の結果を生成するために使用されている場合、通常、このパラメータを省略できます。

column1からcolumnNは、列をカンマで区切ったオプションのリストです。

例

この例では、埋込みデータベース分析関数を示します。

EVALUATE_ANALYTIC('dense_rank() over(order by %1 )' AS INT,sales.revenue)

前述の例でdouble値を返す必要がある場合は、次のようにキャストを明示的に指定する必要があります。

CAST(EVALUATE_ANALYTIC('Rank(%1.dimension.currentmember, %2.members)',
"Foodmart93"."Time"."Month" as Double)

EVALUATE_AGGR

パラメータとして(オプションの)参照列を使用する、指定されたデータベース関数をバックエンド・データ・ソースに渡して評価します。この関数は、GROUP BY句を使用する集計関数を対象としています。

この埋込みデータベース関数には、1つ以上の列が必要になる場合があります。これらの列は、関数内で%1 ... %Nによって参照されます。実際の列は、関数の後にリストする必要があります。

デフォルトで、EVALUATE_AGGRは無効になっており使用できません。この関数のサポートを有効にするには、NQSConfig.INIでEVALUATE_SUPPORT_LEVELパラメータを変更します。詳細は、『Oracle Fusion Middleware Oracle Business Intelligence Enterprise Editionシステム管理者ガイド』を参照してください。

構文

EVALUATE_AGGR('db_agg_function(%1...%N)' [AS data_type] [, column1, columnN)

説明:

db_agg_functionは、基礎となるデータ・ソースで認識される任意の有効な集計データベース関数です。

data_typeは、戻り結果のデータ型を指定するオプション・パラメータです。戻りデータ型を入力引数から確実に予測できない場合は常に使用してください。ただし、型のキャストにこのパラメータを使用しないでください。関数が特定のデータ型を返す必要がある場合は、明示的にキャストを指定します。データベース固有の関数はOracle BIサーバーでサポートされていない戻り型を使用しますが、Oracle BIサーバーに返される必要がない中間の結果を生成するために使用されている場合、通常、このパラメータを省略できます。

column1からcolumnNは、列をカンマで区切ったオプションのリストです。

例

EVALUATE_AGGR('REGR_SLOPE(%1, %2)', sales.quantity, market.marketkey)

EVALUATE_PREDICATE

パラメータとして(オプションの)参照列を使用する、指定されたデータベース関数をバックエンド・データ・ソースに渡して評価します。この関数は、Booleanの戻り型を使用する関数を対象としています。

この埋込みデータベース関数には、1つ以上の列が必要になる場合があります。これらの列は、関数内で%1 ... %Nによって参照されます。実際の列は、関数の後にリストする必要があります。

EVALUATE_PREDICATEは、Essbaseデータ・ソースとの併用はサポートしていません。

デフォルトで、EVALUATE_PREDICATEは無効になっており使用できません。この関数のサポートを有効にするには、NQSConfig.INIでEVALUATE_SUPPORT_LEVELパラメータを変更します。詳細は、『Oracle Fusion Middleware Oracle Business Intelligence Enterprise Editionシステム管理者ガイド』を参照してください。

構文

EVALUATE_PREDICATE('db_function(%1...%N)', [, column1, columnN)

説明:

db_functionは、基礎となるデータ・ソースで認識される、Booleanの戻り型を使用する任意の有効なデータベース関数です。

column1からcolumnNは、列をカンマで区切ったオプションのリストです。

比較目的でデータベース関数をモデル化する場合は、EVALUATE_PREDICATEを使用しないでください。かわりに、EVALUATEを使用して、関数外で比較を行います。たとえば、次のようにEVALUATE_PREDICATEを使用しないでください。

EVALUATE_PREDICATE('dense_rank() over (order by 1% ) < 5', sales.revenue)

かわりに、次のようにEVALUATEを使用します。

EVALUATE('dense_rank() over (order by 1% ) ', sales.revenue) < 5

例

SELECT year, Sales AS DOUBLE,CAST(EVALUATE('OLAP_EXPRESSION(%1,''LAG(units_cube_
sales, 1, time, time LEVELREL time_levelrel)'')', OLAP_CALC) AS DOUBLE) FROM
"Global".Time, "Global"."Facts - sales" WHERE EVALUATE_PREDICATE('OLAP_
CONDITION(%1, ''LIMIT time KEEP ''''1'''', ''''2'''', ''''3'''', ''''4'''' '')
=1', OLAP_CALC) ORDER BY year;

階層ナビゲーション関数

階層ナビゲーション関数を使用して、階層のメンバー間の関係を識別できます。次の階層ナビゲーション関数があります。

- DEPTH

- IDOF

- ISANCESTOR

- ISCHILD

- ISDESCENDANT

- ISLEAF

- ISPARENT

- ISROOT

- ISSIBLING

- PARENT

IDOFおよびISLEAF関数は、レベルベースおよび親子階層の両方に適用されます。一方、他の関数は親子階層にのみ適用されます。

関係ソースの親子関係表(クローズ表)の作成に関する情報を含む、レベルベースおよび親子階層の詳細は、第10章「論理ディメンションの操作」を参照してください。

DEPTH

DEPTH関数は、ルート・メンバーからのメンバーの深さを示す、0より大きい整数を返します。ルート・メンバーの深さは1です。

構文

DEPTH(pc_presentation_hierarchy)

pc_presentation_hierarchyは、次のような完全修飾された親子プレゼンテーション階層を特定します。

"subject_area"."presentation_table"."pc_presentation_hierarchy"

異なるサブジェクト・エリアに同じ名前を持つ複数のプレゼンテーション表またはプレゼンテーション階層がなければ、修飾語("subject_area".)はオプションです。

例

DEPTH("employees"."emp_hierarchy")

IDOF

IDOF関数は、親子階層の指定されたメンバーのメンバー・キー列値の表現、またはレベルベース階層の指定されたレベルのレベル・キー列値の表現を返します。

指定された階層またはレベルに、1つの論理列のみを含むキーがある場合、この関数はその論理列の値を返します。指定されたレベルに複数の論理列を含むキーがある場合、この関数は連結文字列を返します。例:

"keycolumn1value"."keycolumn2value"."keycolumn3value"…

親子階層は、複数の論理列を含むキーを持つことはありません。

指定された階層またはレベルにキーがない場合、エラーが表示されます。

構文

親子階層の場合:

IDOF(pc_presentation_hierarchy)

pc_presentation_hierarchyは、次のような完全修飾された親子プレゼンテーション階層を特定します。

"subject_area"."presentation_table"."pc_presentation_hierarchy"

レベル・ベースの階層の場合:

IDOF(level)

ここで、levelは、次のようにレベル・ベースのディメンションのレベルに基づく完全修飾プレゼンテーション・レベルです。

"subject_area"."presentation_table"."presentation_hierarchy"."presentation_level"

例

IDOF("hr"."employees"."emp_hierarchy")

IDOF("market_data"."products"."product"."product")

ISANCESTOR

ISANCESTOR関数を使用して、親子階層の1つ以上のメンバーの祖先(メンバーのすべての祖先またはそれらのメンバーからの指定された階層距離の祖先)を検索できます。

親子階層の各メンバーは、指定されたメンバーと比較され、それが祖先かどうか判断されます。ISANCESTOR関数は、指定されたメンバーの各祖先に対してブール値Trueを返します。それ以外は、Falseを返します。

この関数を使用して複数のメンバーの祖先を検索する場合、OR演算が実行されます。つまり、JoeまたはJuanaの祖先が検索されます。AND演算が必要な場合は、ISANCESTOR関数を複数回(メンバーごとに1回)コールします。

ISANCESTOR関数は、問合せのCASE文およびWHERE句条件で使用できます。

ISANCESTOR関数は、プレゼンテーション・レイヤーの問合せ、およびビジネス・モデルとマッピング・レイヤーの両方で使用できます(導出された列を作成する場合など)。関数の構文は、それを使用している場所に依存します。

プレゼンテーション・レイヤーの構文

ISANCESTOR(pc_presentation_hierarchy, member_identifiers [, distance])

説明:

pc_presentation_hierarchyは、次のような完全修飾された親子プレゼンテーション階層を特定します。

"subject_area"."presentation_table"."pc_presentation_hierarchy"

異なるサブジェクト・エリアに同じ名前を持つ複数のプレゼンテーション表またはプレゼンテーション階層がなければ、修飾語("subject_area".)はオプションです。

member_identifiersは、pc_presentation_hierarchy内の1つ以上のメンバーを識別する文字列または数値リテラルです。複数のリテラルはカンマで区切り、グループごとにかっこで囲んでください(例: (2, 3))。リテラルのタイプは、ディメンション・レベルキーのデータ型に依存します。

distance (オプション)は、指定されたメンバーから祖先を検索する親子階層レベルへの距離を特定する正の整数です。

デフォルトでは、distanceが指定されていないと、ISANCESTOR関数はmember_identifiersとすべての上位レベルを含む現在の親子レベルを検索します。

ビジネス・モデルとマッピング・レイヤーの構文

ISANCESTOR(logical_dimension, member_identifiers [, distance])

説明:

logical_dimensionは、次のように親子関係を含む完全修飾されたディメンションを特定します。

"business_model"."dimension_name"

異なるビジネス・モデルに同じ名前を持つ複数のディメンションがなければ、修飾語("business_model".)はオプションです。

member_identifiersは、logical_dimension内の1つ以上のメンバーを識別する文字列または数値リテラルです。複数のリテラルはカンマで区切り、グループごとにかっこで囲んでください(例: (2, 3))。リテラルのタイプは、ディメンション・レベルキーのデータ型に依存します。

distance (オプション)は、指定されたメンバーから祖先を検索する親子階層レベルへの距離を特定する正の整数です。

デフォルトでは、distanceが指定されていないと、ISANCESTOR関数はmember_identifiersとすべての上位レベルを含む現在の親子レベルを検索します。

例

次の例は、親子階層で従業員Joeのすべての祖先の従業員を選択します。返されたリストには従業員Joeが含まれます。

SELECT emp_name
FROM "employees"
WHERE ISANCESTOR("employees"."emp_hierarchy", 'Joe')

ISCHILD

ISCHILD関数を使用して、親子階層の1つ以上のメンバーの子(指定されたメンバーの1つ下の階層レベルのすべてのメンバー)を検索できます。

注意:
ISCHILD関数は、ISDESCENDANT関数でdistanceパラメータに1を指定したものと同じです。

ISCHILD関数は、指定されたメンバーの各子に対してブール値Trueを返します。それ以外はFalseを返します。

この関数を使用して複数のメンバーの子を検索する場合、OR演算が実行されます。つまり、JoeまたはJuanaの子が検索されます。AND演算が必要な場合は、ISCHILD関数を複数回(メンバーごとに1回)コールします。

ISCHILD関数は、問合せのCASE文およびWHERE句条件で使用できます。

ISCHILD関数は、プレゼンテーション・レイヤーの問合せ、およびビジネス・モデルとマッピング・レイヤーの両方で使用できます(導出された列を作成する場合など)。関数の構文は、それを使用している場所に依存します。

プレゼンテーション・レイヤーの構文

ISCHILD(pc_presentation_hierarchy, member_identifiers)

説明:

pc_presentation_hierarchyは、次のような完全修飾された親子プレゼンテーション階層を特定します。

"subject_area"."presentation_table"."pc_presentation_hierarchy"

異なるサブジェクト・エリアに同じ名前を持つ複数のプレゼンテーション表またはプレゼンテーション階層がなければ、修飾語("subject_area".)はオプションです。

member_identifiersは、pc_presentation_hierarchy内の1つ以上のメンバーを識別する文字列または数値リテラルです。複数のリテラルはカンマで区切り、グループごとにかっこで囲んでください(例: (2, 3))。リテラルのタイプは、ディメンション・レベルキーのデータ型に依存します。

ビジネス・モデルとマッピング・レイヤーの構文

ISCHILD(logical_dimension, member_identifiers)

説明:

logical_dimensionは、次のように親子関係を含む完全修飾されたディメンションを特定します。

"business_model"."dimension_name"

異なるビジネス・モデルに同じ名前を持つ複数のディメンションがなければ、修飾語("business_model".)はオプションです。

member_identifiersは、logical_dimension内の1つ以上のメンバーを識別する文字列または数値リテラルです。複数のリテラルはカンマで区切り、グループごとにかっこで囲んでください(例: (2, 3))。リテラルのタイプは、ディメンション・レベルキーのデータ型に依存します。

例

次の例は、親子階層で従業員Joeのすべての子を選択します。

SELECT emp_name
FROM "employees"
WHERE ISCHILD("employees"."emp_hierarchy", 'Joe')

ISDESCENDANT

ISDESCENDANT関数を使用して、親子階層の1つ以上のメンバーの子孫(メンバーのすべての子孫またはそれらのメンバーからの指定された階層距離の子孫)を検索できます。

親子階層の各メンバーは、指定されたメンバーと比較され、それが子孫かどうか判断されます。ISDESCENDANT関数は、指定されたメンバーの各子孫に対してブール値Trueを返します。それ以外は、Falseを返します。

この関数を使用して複数のメンバーの子孫を検索する場合、OR演算が実行されます。つまり、JoeまたはJuanaの子孫が検索されます。AND演算が必要な場合は、ISDESCENDANT関数を複数回(メンバーごとに1回)コールします。

ISDESCENDANT関数は、問合せのCASE文およびWHERE句条件で使用できます。

ISDESCENDANT関数は、プレゼンテーション・レイヤーの問合せ、およびビジネス・モデルとマッピング・レイヤーの両方で使用できます(導出された列を作成する場合など)。関数の構文は、それを使用している場所に依存します。

プレゼンテーション・レイヤーの構文

ISDESCENDANT(pc_presentation_hierarchy, member_identifiers [, distance])

説明:

pc_presentation_hierarchyは、次のような完全修飾された親子プレゼンテーション階層を特定します。

"subject_area"."presentation_table"."pc_presentation_hierarchy"

異なるサブジェクト・エリアに同じ名前を持つ複数のプレゼンテーション表またはプレゼンテーション階層がなければ、修飾語("subject_area".)はオプションです。

member_identifiersは、pc_presentation_hierarchy内の1つ以上のメンバーを識別する文字列または数値リテラルです。複数のリテラルはカンマで区切り、グループごとにかっこで囲んでください(例: (2, 3))。リテラルのタイプは、ディメンション・レベルキーのデータ型に依存します。

distance (オプション)は、指定されたメンバーから子孫を検索する親子階層レベルへの距離を特定する正の整数です。

デフォルトでは、distanceが指定されていないと、ISDESCENDANT関数はmember_identifiersとすべての下位レベルを含む現在の親子レベルを検索します。

ビジネス・モデルとマッピング・レイヤーの構文

ISDESCENDANT(logical_dimension, member_identifiers [, distance])

説明:

logical_dimensionは、次のように親子関係を含む完全修飾されたディメンションを特定します。

"business_model"."dimension_name"

異なるビジネス・モデルに同じ名前を持つ複数のディメンションがなければ、修飾語("business_model".)はオプションです。

member_identifiersは、logical_dimension内の1つ以上のメンバーを識別する文字列または数値リテラルです。複数のリテラルはカンマで区切り、グループごとにかっこで囲んでください(例: (2, 3))。リテラルのタイプは、ディメンション・レベルキーのデータ型に依存します。

distance (オプション)は、指定されたメンバーから子孫を検索する親子階層レベルへの距離を特定する正の整数です。

デフォルトでは、distanceが指定されていないと、ISDESCENDANT関数はmember_identifiersとすべての下位レベルを含む現在の親子レベルを検索します。

例

次の例は、親子階層で従業員Joeのすべての子孫の従業員を選択します。返されたリストには従業員Joeが含まれます。

SELECT emp_name
FROM "employees"
WHERE ISDESCENDANT("employees"."emp_hierarchy", 'Joe')

ISLEAF

ISLEAF関数は、レベルベースおよび親子階層の両方に適用されます。階層の両方のタイプとも、リーフ・メンバーとは子メンバーを持たないメンバーと定義されています。

階層の各メンバーは検証され、それがリーフ・メンバーかどうか判断されます。ISLEAF関数は、各リーフ・メンバーに対してブール値Trueを返します。それ以外はFalseを返します。

ISLEAF関数は、問合せのCASE文およびWHERE句条件で使用できます。

ISLEAF関数は、プレゼンテーション・レイヤーの問合せ、およびビジネス・モデルとマッピング・レイヤーの両方で使用できます(導出された列を作成する場合など)。関数の構文は、それを使用している場所に依存します。

プレゼンテーション・レイヤーの構文

ISLEAF(presentation_hierarchy)

説明:

presentation_hierarchyは、次のような完全修飾された親子プレゼンテーション階層(レベルベースまたは親子)を特定します。

"subject_area"."presentation_table"."presentation_hierarchy"

異なるサブジェクト・エリアに同じ名前を持つ複数のプレゼンテーション表またはプレゼンテーション階層がなければ、修飾語("subject_area".)はオプションです。

ビジネス・モデルとマッピング・レイヤーの構文

ISLEAF(logical_dimension)

説明:

logical_dimensionは、次のようにナビゲートする階層(レベルベースまたは親子)が含まれる完全修飾されたディメンションを特定します。

"business_model"."dimension_name"

異なるビジネス・モデルに同じ名前を持つ複数のディメンションがなければ、修飾語("business_model".)はオプションです。

例

次の例は、階層内のリーフ・メンバー(階層内でその下にメンバーがいない従業員)の従業員をすべて選択します。

SELECT emp_name
FROM "employees"
WHERE ISLEAF("employees"."emp_hierarchy")

ISPARENT

ISPARENT関数を使用して、親子階層の1つ以上のメンバーの親(指定されたメンバーの1つ上の階層レベルのすべてのメンバー)を検索できます。

注意:
ISPARENT関数は、ISANCESTOR関数でdistanceパラメータに1を指定したものと同じです。

ISPARENT関数は、指定されたメンバーの各親に対してブール値Trueを返します。それ以外はFalseを返します。

この関数を使用して複数のメンバーの親を検索する場合、OR演算が実行されます。つまり、JoeまたはJuanaの親が検索されます。AND演算が必要な場合は、ISPARENT関数を複数回(メンバーごとに1回)コールします。

ISPARENT関数は、問合せのCASE文およびWHERE句条件で使用できます。

ISPARENT関数は、プレゼンテーション・レイヤーの問合せ、およびビジネス・モデルとマッピング・レイヤーの両方で使用できます(導出された列を作成する場合など)。関数の構文は、それを使用している場所に依存します。

プレゼンテーション・レイヤーの構文

ISPARENT(pc_presentation_hierarchy, member_identifiers)

説明:

pc_presentation_hierarchyは、次のような完全修飾された親子プレゼンテーション階層を特定します。

"subject_area"."presentation_table"."pc_presentation_hierarchy"

異なるサブジェクト・エリアに同じ名前を持つ複数のプレゼンテーション表またはプレゼンテーション階層がなければ、修飾語("subject_area".)はオプションです。

member_identifiersは、pc_presentation_hierarchy内の1つ以上のメンバーを識別する文字列または数値リテラルです。複数のリテラルはカンマで区切り、グループごとにかっこで囲んでください(例: (2, 3))。リテラルのタイプは、ディメンション・レベルキーのデータ型に依存します。

ビジネス・モデルとマッピング・レイヤーの構文

ISPARENT(logical_dimension, member_identifiers)

説明:

logical_dimensionは、次のように親子関係を含む完全修飾されたディメンションを特定します。

"business_model"."dimension_name"

異なるビジネス・モデルに同じ名前を持つ複数のディメンションがなければ、修飾語("business_model".)はオプションです。

member_identifiersは、logical_dimension内の1つ以上のメンバーを識別する文字列または数値リテラルです。複数のリテラルはカンマで区切り、グループごとにかっこで囲んでください(例: (2, 3))。リテラルのタイプは、ディメンション・レベルキーのデータ型に依存します。

例

次の例は、親子階層で従業員Joeのすべての親を選択します。

SELECT emp_name
FROM "employees"
WHERE ISPARENT("employees"."emp_hierarchy", 'Joe')

ISROOT

プレゼンテーション階層メンバーは、親子プレゼンテーション階層でその上に祖先がない場合、ルート・メンバーと定義されます。

親子階層の各メンバーは検証され、それがルート・メンバーかどうか判断されます。ISROOT関数は、各ルート・メンバーに対してブール値Trueを返します。それ以外はFalseを返します。

ISROOT関数は、問合せのCASE文およびWHERE句条件で使用できます。

ISROOT関数は、プレゼンテーション・レイヤーの問合せ、およびビジネス・モデルとマッピング・レイヤーの両方で使用できます(導出された列を作成する場合など)。関数の構文は、それを使用している場所に依存します。

プレゼンテーション・レイヤーの構文

ISROOT(pc_presentation_hierarchy)

説明:

pc_presentation_hierarchyは、次のような完全修飾された親子プレゼンテーション階層を特定します。

"subject_area"."presentation_table"."pc_presentation_hierarchy"

異なるサブジェクト・エリアに同じ名前を持つ複数のプレゼンテーション表またはプレゼンテーション階層がなければ、修飾語("subject_area".)はオプションです。

ビジネス・モデルとマッピング・レイヤーの構文

ISROOT(logical_dimension)

説明:

logical_dimensionは、次のように親子関係を含む完全修飾されたディメンションを特定します。

"business_model"."dimension_name"

異なるビジネス・モデルに同じ名前を持つ複数のディメンションがなければ、修飾語("business_model".)はオプションです。

例

次の例は、階層内のルート・メンバー(階層内でその上に祖先がいない従業員)の従業員をすべて選択します。

SELECT emp_name
FROM "employees"
WHERE ISROOT("employees"."emp_hierarchy")

ISSIBLING

ISSIBLING関数を使用して、親子階層の1つ以上のメンバーの兄弟(指定されたメンバーと同じ親を持つすべてのメンバー)を検索できます。兄弟メンバーは、自身が他のメンバーの親であってもかまいません。NULL親を持つルート・メンバーは、互いに兄弟になります。

ISSIBLING関数は、指定されたメンバーの各兄弟に対してブール値Trueを返します。それ以外は、Falseを返します。

この関数を使用して複数のメンバーの兄弟を検索する場合、OR演算が実行されます。つまり、JoeまたはJuanaの兄弟が検索されます。AND演算が必要な場合は、ISSIBLING関数を複数回(メンバーごとに1回)コールします。

ISSIBLING関数は、問合せのCASE文およびWHERE句条件で使用できます。

ISSIBLING関数は、プレゼンテーション・レイヤーの問合せ、およびビジネス・モデルとマッピング・レイヤーの両方で使用できます(導出された列を作成する場合など)。関数の構文は、それを使用している場所に依存します。

プレゼンテーション・レイヤーの構文

ISSIBLING(pc_presentation_hierarchy, member_identifiers)

説明:

pc_presentation_hierarchyは、次のような完全修飾された親子プレゼンテーション階層を特定します。

"subject_area"."presentation_table"."pc_presentation_hierarchy"

異なるサブジェクト・エリアに同じ名前を持つ複数のプレゼンテーション表またはプレゼンテーション階層がなければ、修飾語("subject_area".)はオプションです。

member_identifiersは、pc_presentation_hierarchy内の1つ以上のメンバーを識別する文字列または数値リテラルです。複数のリテラルはカンマで区切り、グループごとにかっこで囲んでください(例: (2, 3))。リテラルのタイプは、ディメンション・レベルキーのデータ型に依存します。

ビジネス・モデルとマッピング・レイヤーの構文

ISSIBLING(logical_dimension, member_identifiers)

説明:

logical_dimensionは、次のように親子関係を含む完全修飾されたディメンションを特定します。

"business_model"."dimension_name"

異なるビジネス・モデルに同じ名前を持つ複数のディメンションがなければ、修飾語("business_model".)はオプションです。

member_identifiersは、logical_dimension内の1つ以上のメンバーを識別する文字列または数値リテラルです。複数のリテラルはカンマで区切り、グループごとにかっこで囲んでください(例: (2, 3))。リテラルのタイプは、ディメンション・レベルキーのデータ型に依存します。

例

次の例は、親子階層で従業員Joeのすべての兄弟を選択します。

SELECT emp_name
FROM "employees"
WHERE ISSIBLING("employees"."emp_hierarchy", 'Joe')

PARENT

PARENT関数は、親子階層の指定されたメンバーの親のメンバー・キー列値を返します。

指定された階層にキーがない場合、エラーが表示されます。

構文

PARENT(pc_presentation_hierarchy)

pc_presentation_hierarchyは、次のような完全修飾された親子プレゼンテーション階層を特定します。

"subject_area"."presentation_table"."pc_presentation_hierarchy"

異なるサブジェクト・エリアに同じ名前を持つ複数のプレゼンテーション表またはプレゼンテーション階層がなければ、修飾語("subject_area".)はオプションです。

例

PARENT("employees"."emp_hierarchy")

システム関数

システム関数は、セッションに関連する値を返します。次の関数があります。

- USER

- DATABASE

USER

ログオンしているOracle BIリポジトリのユーザー名を返します。

構文

USER()

DATABASE

デフォルトのサブジェクト・エリアの名前を返します。

構文

DATABASE()

D マージ・ルール

この付録では、Oracle BIリポジトリのマージ・プロセスのマージ・ルールおよび動作について説明します。

Oracle BI管理ツールのリポジトリ・マージ・ウィザードやpatchrpdユーティリティを使用したり、変更をマルチユーザー開発環境のネットワークに公開すると、高度なルールによってオブジェクトのマージ方法が決定されます。オブジェクトのマージに関するデシジョンにはシステムによって自動的に実行されるものと、「マージ戦略の定義」画面のプロンプトとして表示されるものがあります。

この付録のトピックは次のとおりです。

- マージ・プロセスについて

- 完全なマージのマージ・ルールと動作

- マルチユーザー開発マージのマージ・ルールと動作

- パッチ・マージのマージ・ルールと動作

マージ・プロセスについて

Oracle BIリポジトリのマージには次の3つのタイプがあります。

- 完全なマージ(アップグレード・マージとも呼ばれる)は一般的に、2つの異なるリポジトリをマージする必要がある際に、開発プロセス中に使用されます。管理ツールには3方向のマージ機能があります。双方が1つの元リポジトリ(第3リポジトリ)から導出された、2つのリポジトリをマージできます。完全マージは、リポジトリ間でのオブジェクトのインポートにも使用できます。詳細は「完全なリポジトリ・マージの実行」を参照してください。

- パッチ・マージは、同一リポジトリの2つのバージョン間の差分の適用時に使用されます。たとえば、開発バージョンのリポジトリから本番リポジトリへの変更の適用時や、Oracle BIアプリケーションのアップグレード時などにパッチ・マージを利用できます。詳細は、「パッチ・マージの実行」を参照してください。

- マルチユーザー開発マージは、マルチユーザー開発環境を使用して変更をプロジェクトに公開する際に使用されます。詳細は「マルチユーザー開発のマージ・プロセスについて」を参照してください。

通常、マージ・プロセスには、元のリポジトリ、変更済リポジトリおよび現行のリポジトリの3バージョンのOracle BIリポジトリが関連します。元のリポジトリとは元の未編集ファイル(親リポジトリ)ですが、変更済(修正済)リポジトリと現行リポジトリは、変更が加えられマージを必要とする2つのファイルです。現行リポジトリは、管理ツールで現在開かれているリポジトリです。

元のリポジトリ、修正済リポジトリおよび現行のリポジトリは、状況に応じて異なるものを意味する場合があります。例:

- 開発から本番へのシナリオ。元の親ファイル、開発の最新変更が組み込まれた現行ファイル、および元のファイルのデプロイ済コピーである変更済ファイルが存在します。

- Oracle BIアプリケーション・リポジトリのアップグレード・シナリオ。現行ファイルはOracleから出荷された最新バージョンのリポジトリで、元のファイルはOracleから出荷された元のリポジトリです。変更済ファイルは元のファイルにユーザーによるカスタマイズが加えられたものです。

パッチ・マージはこれらのいずれの状況にも使用できることに留意してください。パッチ・マージでは現行ファイルを開いて元のファイルを選択してパッチを生成します。パッチを適用するには、変更済ファイルを開いて元のファイルを選択してパッチを適用します。詳細は、「パッチ・マージの実行」を参照してください。

完全なマージのマージ・ルールと動作

完全なマージの場合、次の一般的なルールが適用されます。

- 一般に、変更は変更済リポジトリに保管するものと想定されています。たとえば、変更済リポジトリでオブジェクトの追加や削除を実行する場合は、そのオブジェクトの追加や削除の動作がプロンプトなしで実行されます。

- 現行リポジトリでオブジェクトの追加や削除が実行される場合は、リポジトリ・マージ・ウィザードによって変更を保持するかどうかが確認されます。
一般に、リポジトリ・マージ・ウィザードは、問合せへの対応に必要なオブジェクトのセット数の最少化を保証しようとします。マージの際は、マージ後のリポジトリには不要なオブジェクトが、現行リポジトリから導入される可能性があります。この問題に対処するため、リポジトリ・マージ・ウィザードは、現行リポジトリの新しいプレゼンテーション・レイヤー・オブジェクトがマージ後の最終成果物にも必要であるかどうかが確認されます。新しいプレゼンテーション・オブジェクトを保持することを選択した場合、論理的および物理的な依存オブジェクトもすべて保持されます。一方、新しいプレゼンテーション・オブジェクトの保持を選択しなかった場合は、これらのオブジェクトの使用を必要とする問合せが行われないため、論理的および物理的な依存オブジェクトは保持されません。リポジトリ・マージ・ウィザードは、これらのオブジェクトを廃棄してマージ後のリポジトリに使用されないオブジェクトが移入されないことを保証します。

- 両方のリポジトリでオブジェクトの追加や削除が行われる場合、オブジェクトの追加や削除がプロンプトなしで実行されます。同じオブジェクトが追加されそのプロパティの相違がわずかである場合は、リポジトリ・マージ・ウィザードによってどちらのバージョンのプロパティを保持するかが確認されます。

- オブジェクトが現行リポジトリでのみ、または変更済リポジトリでのみ変更されている場合、その変更は保持されます。同じオブジェクトが現行リポジトリと変更済リポジトリの双方で変更され、変更内容が異なる場合はマージの競合が発生します。競合が発生した場合、リポジトリ・マージ・ウィザードから、保持する変更を選択するように要求されます。

- 付随するオブジェクト関係によっては、特定のオブジェクトに関するデシジョンが、デシジョン・セット全体を決定する場合があります。たとえば、現行リポジトリに追加されたプレゼンテーション列を保持することにした場合、論理列、物理列、およびその他のベースとなる関連オブジェクトとともに関連付けられているプレゼンテーション表およびサブジェクト・エリアも保持することが必要になります。また、現行リポジトリに追加されたサブジェクト・エリアを保持しないことにした場合は、関連付けられているオブジェクトの保持を選択するかどうかを確認されることはありません。結合の追加には元表の追加が必要な場合がありますが、式の変更では物理列の追加が発生する場合があります。

- オブジェクト関係は、プロパティによって相互連結することができます。文字列と数値だけではなく、特定のプロパティの内部値を別のリポジトリ・オブジェクトにすることができます。このため、特定のオブジェクトに対する変更に応じて相互に関連付けられたオブジェクトの変更が発生する場合があります。
たとえば、初期化ブロックBのデータ・ソースを接続プールからカスタム認証システムAに変更するとします。初期化ブロック・オブジェクトに対するデータ・ソース・プロパティの変更以外に、カスタム認証システム・オブジェクトでもこれに対応するプロパティの変更が発生します(カスタム認証システムAの初期化ブロック・プロパティの値が初期化ブロックBに変わったため)。

これらのプロパティに対するデシジョンは同期させる必要があるため、初期化ブロックBのデータ・ソース・プロパティのデシジョンに「現行」を選択すると、カスタム認証システムAの初期化ブロック・プロパティのデシジョンも「現行」になります。図D-1は、この例がリポジトリ・マージ・ウィザードにどのように表示されるかを示しています。

リポジトリ・マージ・ウィザードではユーザー入力が必要なデシジョンのすべてが「マージ戦略の定義」画面に表示されます。図D-1は、「マージ戦略の定義」を示しています。

図D-1 「マージ戦略の定義」画面

論理表ソースおよびその他のオブジェクトの特殊なマージ・アルゴリズム

オブジェクトのマージ方法およびプロンプトが必要な状況を制御する一般的なルールに加え、オブジェクトのタイプおよび状況によって適用される特殊なルールがあります。

この項には次のトピックが含まれます:

- ベクター・マージ・アルゴリズムを使用するオブジェクトのマージ

- 論理表ソースのマージ

- セキュリティ・フィルタのマージ

- プレゼンテーション列に対して「論理列の使用」プロパティを推論する

- 別名のマージ

ベクター・マージ・アルゴリズムを使用するオブジェクトのマージ

レベル、アプリケーション・ロール、オブジェクト・パーミッションなどのオブジェクトでは、オブジェクト間の親/子関係を決定するベクター・マージ・アルゴリズムが使用されます。

ベクター・マージ・アルゴリズムを使用するオブジェクトには次のものがあります。

- ディメンションのレベル、論理列に関連付けられたレベル、および子レベル

- 論理表示フォルダのディメンションと表

- 論理表ソースの集計内容

- アプリケーション・ロールのメンバーシップ、パーミッションなどのセキュリティ・オブジェクト

- 初期化ブロックのLDAPサーバー設定および実行優先度

マージ・プロセスでは、Oracle BIサーバーによって各リポジトリのオブジェクト関係の初期状態が判別されます。たとえば、次のリストはオブジェクト・パーミッションで想定される状況、およびユーザーとアプリケーション・ロールにどのように関連するかを示しています。

- M - 欠落。アプリケーション・ロール、ユーザーまたはオブジェクトがリポジトリに存在していません。

- D - デフォルト。パーミッションは親アプリケーション・ロールから継承されています。

- Y - あり。パーミッションがユーザーまたはアプリケーション・ロールに明示的に付与されています。

- N - なし。ユーザーまたはアプリケーション・ロールに対して、パーミッションが明示的に否認されています。

リポジトリ・マージ・ウィザードでは、各リポジトリのオブジェクト・パーミッション関係の状況に応じて、マージ対象のリポジトリに適切な関係が決定されます。例:

- 元のリポジトリで結果がY、変更済のリポジトリの結果がN、現行リポジトリの結果がMの場合、リポジトリ・マージ・ウィザードによって、マージするリポジトリにはNの結果が決定されます。

- 元のリポジトリで結果がN、変更済のリポジトリの結果がY、現行リポジトリの結果がMの場合、リポジトリ・マージ・ウィザードによって、マージするリポジトリにはYの結果が決定されます。

例D-1は、アプリケーション・ロール・オブジェクトのオブジェクト関係がどのようにマージされるかの詳細を説明しています。

例D-1 ベクター・マージの例: アプリケーション・ロールのマージ

次のリストは、ユーザーおよびアプリケーション・ロール関係で発生しうる様々な状況を示しています。

- M - 欠落。アプリケーション・ロールまたはユーザーがリポジトリに存在していません。

- Y - あり。アプリケーション・ロールまたはユーザーがアプリケーション・ロールに属しています。

- N - なし。アプリケーション・ロールまたはユーザーはアプリケーション・ロールのメンバーではありません。

表D-1は、マージするリポジトリ内のオブジェクトの各種の関係のマージ結果を新しています。

表D-1 オブジェクト関係に基づくアプリケーション・ロールのマージ結果

元のリポジトリ

変更済のリポジトリ

現行リポジトリ

結果

M

M

M

N脚注1

M

M

Y

Y

M

M

N

N

M

Y

M

Y

MFoot 2

Y

Y

Y

M

Y

N

Y

M

N

M

N

M

N

Y

Y

M

N

N

N

Y

M

M

Y

Y

M

Y

Y

Y

M

N

N

Y

Y

M

Y

Y

Y

Y

Y

Y

Y

N

N

Y

N

M

N

Y

N

Y

N

Y

N

N

N

N

M

M

N

N

M

Y

Y

N

M

N

N

N

Y

M

Y

N

Y

Y

Y

N

Y

N

Y

N

N

M

N

N

N

Y

Y

N

N

N

N

脚注1 この状況は、元のリポジトリにアプリケーション・ロールもユーザーも存在せず、変更済リポジトリにユーザーが存在し、現行リポジトリにアプリケーション・ロールが存在する場合に発生する可能性があります。この場合、メンバーシップはないとみなされます。

脚注 2 この場合のオリジナルにMが含まれていると、ユーザーまたはアプリケーション・ロールのいずれかが存在しないことを意味します。欠落したオブジェクトが双方で追加されても、同じオブジェクトであると見なすことはできません。

論理表ソースのマージ

論理表ソース・オブジェクトにおける列のマッピングのマージ方法は、特殊なルールによって制御されます。各列のマッピングが個別にマージされます。変更済または現行のリポジトリでマッピングが変更されている場合、各列で変更が保持されます。両方のリポジトリでマッピングが変更されている場合、Oracle BIサーバーはマッピングの自動マージを試行します。

列の削除はマッピングの変更とはみなされないため注意が必要です。特定の列が変更後のリポジトリに存在しない場合、現行リポジトリのマッピングが使用されます。

集計内容に相違がある場合、レベル別で指定された集計内容が優先されます。つまり、集計内容がレベル別のリポジトリと、列別のリポジトリがある場合、レベル別の集計内容が保持されます。

セキュリティ・フィルタのマージ

1つのリポジトリでのみアプリケーション・ロールのフィルタが変更されている場合はその変更が保持されます。両方のリポジトリでフィルタが変更されている場合、Oracle BIサーバーではフィルタの自動マージが試行されます。

特定のフィルタ(プレゼンテーション列など)のマージに必要なオブジェクトがあり、そのオブジェクトが存在していない場合、当該のフィルタは無効とみなされマージ後のリポジトリには表示されません。ただし、このルールは変数には適用されないため注意してください。特定のフィルタのマージに必要な変数がある場合、Oracle BIサーバーではマージ後のリポジトリでその変数が保持されることが保証されます。

プレゼンテーション列に対して「論理列の使用」プロパティを推論する

プレゼンテーション列には、「名前」プロパティと「論理列名の使用」プロパティの両方があります。状況によってはこれらのプロパティが競合することがあります。たとえば表D-2は、この状況が発生する可能性があるシナリオを示しています。

表D-2 プレゼンテーション列の「名前」プロパティと「論理列名の使用」プロパティの競合

リポジトリ

プレゼンテーション列名

論理列名

論理列名の使用

元

Sales

GroupSales

いいえ

現行

Sales

Sales

はい

変更済

GroupSales

GroupSales

はい

表D-2の通常のオブジェクト・マージ・ルールが適用された場合、マージ後のリポジトリには、GroupSalesというプレゼンテーション列とSalesという論理列が存在し、「論理列名の使用」プロパティが「はい」に設定されます。しかし、プレゼンテーション列の名前が論理列の名前と異なるため、この結果は不適切になります。

このような状況を回避するため、Oracle BIサーバーは、「論理列名の使用」プロパティの値を推論します。この論理を使用することで、表D-2に例示したマージ後のリポジトリでは、プレゼンテーション列はGroupSales、論理列がSalesとなり、「論理列名を使用する」プロパティは「いいえ」に設定されます。

別名のマージ

完全マージ・プロセスでは、ユーザーに別名に関するデシジョンのプロンプトは表示されません。現行リポジトリおよび変更済リポジトリの別名は自動的にマージされます。

ただし、マルチユーザー開発マージでは、現行リポジトリの別名を保持するか、変更済リポジトリの別名を保持するか、両方のリポジトリの別名を保持するため、候補をマージするかの選択が求められます。

次の事項にも注意が必要です。

- マージ・プロセスの結果オブジェクト名が変更された場合、以前の名前は別名として追加されます。

- プレゼンテーション・オブジェクトに関連付けられていない別名は削除されます。

マルチユーザー開発マージのマージ・ルールと動作

マルチユーザー開発マージのルールは、完全なマージのルールにとてもよく似ていますが、次の重要な違いがあります。

- MUDのマージを実行して、開発者がマスター・リポジトリ内のパスワードおよびその他の重要なオブジェクトを上書きできないようにしても、セキュリティ設定に対する変更は保持されません。

- マスター・リポジトリ内のデータベースおよび接続プールのプロパティは、開発者のコンピュータ上の同じプロパティより優先されます。マルチユーザー開発のマージでは、メッセージを表示せずにこの優先順位が適用されます。

- 挿入(作成されたオブジェクト)が自動的に適用されます。マスター・リポジトリのサブセットが元のリポジトリとして使用されるため、マスター・リポジトリのほとんどのオブジェクトが新しいように見えます。その結果、不要なメッセージが表示されることになり、開発者は手動で承認する必要があります。そのため、マルチユーザー開発のマージでは、メッセージを表示せずに新しいオブジェクトが作成されます。

- マルチユーザー開発のマージでは、挿入ではないものの、自動挿入のために解決された競合が、メッセージを表示せずに適用されます。

マルチユーザー開発環境でセキュリティ設定やデータベース機能を変更するには、マスター・リポジトリを直接編集する必要があります。そのためには、マルチユーザー開発ディレクトリからマスター・リポジトリを削除し、オフライン・モードで編集して、元の場所に戻します。

パッチ・マージのマージ・ルールと動作

パッチ・マージのルールも、完全なマージのルールに似ていますが、オブジェクトの削除の動作が異なります。たとえば、オブジェクトを現行のリポジトリで削除する場合、パッチ・マージのデフォルト動作では、オブジェクトを破棄するか保持するかを常にユーザーに確認します。これは、完全なマージでは異なっており、多くの場合、プロンプトが表示されることなく現行のリポジトリからの削除が受け入れられます。

パッチ・プロセスを自動化するためのPatchrpdの使用方法

patchrpdコマンドライン・ユーティリティで-Uおよび-Vオプションを使用すると、パッチ・プロセスを自動化できます。-Uオプションでは、競合に対してデフォルトのデシジョンを受け入れることでパッチ・プロセスを完了できます。一方、-Vオプションでは、すべてのマージの競合を記録する出力ファイルを指定でき、後でそれを検証して対処できます。

patchrpdを使用してパッチ・プロセスを自動化するには、次のガイドラインに従ってください。

- デフォルト・ルールを使用してパッチを自動的に適用します。patchrpdに-Uオプションを含めて、競合に対して常にデフォルトのデシジョンが適用されるようにします。たとえば、両方のリポジトリ(現行と修正済)でオブジェクトの名前が変更されている場合、デフォルトのデシジョンは、修正済リポジトリの名前を保持し、ユーザーによるカスタマイズを上書きしないようにすることです。このパラメータを含めない場合、競合が検出されると、patchrpdによって警告が表示されて終了します。

- 出力デシジョン・ファイルに競合を記録します。-Vオプションを含めると、patchrpdによって、マージによるすべての競合を示すデシジョン・ファイルが生成されます。デシジョン・ファイルにはデシジョンがリストされます。これは、マージが管理ツールで実行されたのであれば、マージ・ウィザードの「マージ戦略の定義」画面に表示されるものです。デシジョン・ファイルは、ユーザーの入力によって影響を受ける可能性があるすべてのアイテムの記録を提供します。

- デシジョン・ファイルを変更して結果を変更します。patchrpdを実行した後、結果として得られるリポジトリに変更を行う方法は2つあります。

- マージ・ウィザードの「マージ戦略の定義」画面の「デシジョン・ファイルのロード」ボタンを使用して、マージ・デシジョンをロードし、必要に応じてデシジョンを変更します。その後、管理ツールでマージを完了できます。かわりに、ファイルへのデシジョンの保存ボタンを使用して、修正済のデシジョン・ファイルを保存し、その後、-Dオプションを使用してそのデシジョン・ファイルを入力として使用してpatchrpdを再実行し、新しいデシジョンでパッチを再適用できます。

- そのデシジョン・ファイルを手動で編集し、その後、-Dオプションを使用してそのデシジョン・ファイルを入力として使用してpatchrpdを再実行し、新しいデシジョンでパッチを再適用できます。

patchrpdの使用方法と構文の詳細は、「patchrpdを使用したパッチの適用」を参照してください。

E リポジトリからの不要オブジェクトの削除

この付録では、コマンドラインのプルーニング・ユーティリティprunerpdを使用して、Oracle BIリポジトリ内の不要なオブジェクトを削除する方法について説明します。

prunerpdは、RPD形式のバイナリ・リポジトリでのみ使用できます。

この付録のトピックは次のとおりです。

- オブジェクト・プルーニング・ユーティリティについて

- オブジェクト・プルーニング・ユーティリティの使用方法

- オブジェクト・プルーニング・ユーティリティの削除ルール

オブジェクト・プルーニング・ユーティリティについて

多数の無関係または不要なオブジェクトがリポジトリに存在する場合は、prunerpdコマンドライン・ユーティリティを使用して不要オブジェクトを削除できます。prunerpdは、WindowsシステムとUNIXシステムの両方で使用できます。

データベース、表、列、初期化ブロック、変数などの不要なリポジトリ・オブジェクトは削除できます。ただし、Oracle BIプレゼンテーション・カタログのオブジェクトは、プルーニング・ユーティリティでは削除されません。

リポジトリからのオブジェクトの削除には連鎖的な影響があります(カスケーディング)。たとえば、物理列を削除すると、関連付けられているプレゼンテーション列だけではなくマッピングされた論理列もすべて削除されます。詳細は、「オブジェクト・プルーニング・ユーティリティの削除ルール」を参照してください。

オブジェクト・プルーニング・ユーティリティの使用方法

まず、削除対象のリポジトリ・オブジェクトのリストを格納する入力ファイルを作成する必要があります。作成後にコマンドラインでユーティリティを実行し、このファイルを引数として渡す必要があります。

この項には次のトピックが含まれます:

- 入力ファイルの作成

- prunerpdユーティリティの実行

入力ファイルの作成

プルーニング・ユーティリティは削除が必要なリポジトリ・オブジェクトのリストをテキスト・ファイル形式で受け入れます。このユーティリティは、1回に複数のファイルを受け入れることができます。入力ファイルの構文ルールは、表E-1を参照してください。

注意:
入力ファイルのオブジェクト名は、リポジトリで使用されている完全修飾名と一致している必要があります。オブジェクト名でのワイルドカード文字(「*」や「?」など)の使用はサポートされません。

表E-1 入力ファイルの構文ルール

オブジェクト・タイプ

例

アクション

データベース

D "Paint"

「Paint」という名前のデータベースを削除します。

表

- T "W_AGREE_D"

- T "DB"."Catalog"."Schema"."Table"

- 「W_AGREE_D」という名前の表または別名を物理レイヤーから削除します。

- 「DB」という名前のデータベースに存在する「Catalog」という名前のカタログに格納された「Schema」という名前のスキーマから、「Table」という名前の表または別名を、物理レイヤーから削除します。

列

C "W_AGREE_MD"."AGREE_CD"

「W_AGREE_D」という名前の表または別名にある「AGREE_CD」という名前の列を物理レイヤーから削除します。

初期化ブロック

I "External Metadata Strings"

「External Metadata Strings」という名前の初期化ブロックを削除します。

変数

V CURR_USER

「CURR_USER」という名前の変数を削除します。

たとえば、名前「Stock Quotes」のデータベースおよび名前「"S_NQ_ACCT"."USER_NAME"」の物理列を削除する指示が格納されたテキスト・ファイルには、次のエントリが記載されています。

D "Stock Quotes" C "S_NQ_ACCT"."USER_NAME"

この入力ファイルのデリミタには、空白を使用します(空白文字1つ、タブ、または複数の空白文字)。

prunerpdユーティリティの実行

prunerpdの実行前に、bi-initを実行して、適切に初期設定されたコマンド・プロンプトを起動する必要があります。詳細は、「Oracleインスタンスに初期化したシェル・ウィンドウを起動するためのbi-initの実行」を参照してください。

構文

prunerpdユーティリティが受け入れるパラメータは次のとおりです。

prunerpd -s source_rpd [-p rpd_password] -f input_file -o output_rpd -l output_log_file -e error_log_file [-8]

説明:

source_rpdは、ターゲット・リポジトリ・ファイルの名前と場所です。

rpd_passwordは、ソース・リポジトリのリポジトリ・パスワードです。

パスワード引数はオプションです。パスワード引数を指定しない場合は、コマンド実行時にパスワードを入力するように求められます。セキュリティ違反のリスクを最小化するため、コマンドラインでも、スクリプトでもパスワードを指定しないことをお薦めします。パスワード引数のサポートは下位互換性の保持を目的としており、将来のリリースでは削除される予定です。スクリプトのために、パスワードを標準入力によって渡すことができます。

input_fileは、削除対象のリポジトリ・オブジェクトのリストが格納された入力ファイル(テキスト形式)の名前です。複数のファイルは空白で区切ります。ファイル名内の空白は二重引用符で囲みます(" ")。

output_rpdは、出力されるリポジトリ・ファイルの名前と場所です。これはプルーニング済リポジトリとも呼ばれます。

output_log_fileは、出力ログ・ファイルの名前と場所です。リポジトリに対して実行されたすべてのアクションが詳細も含めてこのファイルに書き込まれます。この出力ログ・ファイルは、XML形式です。進捗状況インジケータなど、その他のメッセージは標準の出力ストリームで送信されます。

error_log_fileは、エラー・ログ・ファイルの名前と場所です。このログには、プルーニング・ユーティリティによって例外とエラーが書き込まれます。このエラー・ログ・ファイルは、XML形式です。その他のエラーは標準の出力エラー・ストリームで送信されます。

-8は、UTF-8エンコーディングを指定します。

例

prunerpd -s C:/OBI/Server/Repository/BIApps.rpd
-f "C:/Remove Oracle EBS Objects.txt"
-o "C:/OBI/Server/Repository/BIApps Pruned.rpd"
-l "C:/temp/BIApps Prunning.log" -e "C:/temp/ BIApps Prunning.err"
Give password: my_repos_password

オブジェクト・プルーニング・ユーティリティの削除ルール

リポジトリ・オブジェクトの削除には、連鎖的影響があります。ここでは、削除ルールについて説明します。

物理レイヤーのルール

- 物理列または表が削除されると、影響を受けるキー、外部キー、複合結合もすべて削除されます。内部で不要になった論理列を物理列にリンクする属性定義(attr defn)も削除されます。

- 空のスキーマ、カタログおよびデータベースは削除されます。

- 表が削除されると、その列もすべて削除されます。

論理表のルール

- 通常の列(集計列や派生列ではない)が、論理ソースにマッピングされていない場合は削除されます。レベル・キーや論理キーを含むキーも削除されます。

- 派生列のソース列や、参照対象の変数が削除された(破損した)場合、その列は削除されます。

- 集計列の集計ルールまたは集計のオーバーライド・ルールが(論理列の削除によって)破損した場合、その列は削除されます。

- 基礎となる表の削除によって論理表が削除された場合、そのキー、外部キー、論理結合、ソース、ソース・フォルダも削除されます。

- 論理表ソースに有効なマッピングがない場合は削除されます。

- 論理表ソースが保持されていても集計コンテンツまたはフィルタが破損している場合は、対応する式がnullに設定されます。結合指定は削除されます。

- 論理表、ディメンションまたはビジネス・モデルは、空(有意の子が格納されていない)の場合に削除されます。

プレゼンテーション・レイヤーのルール

- 既存となる物理列が削除されたために論理列が削除された場合は、対応するプレゼンテーション列がすべて削除されます。

- プレゼンテーション表またはサブジェクト・エリアは、子が格納されていない場合に削除されます。

セキュリティのルール

- ユーザーまたはアプリケーション・ロールのセキュリティ・フィルタが削除によって破損した場合、そのフィルタは削除されます。ユーザーまたはアプリケーション・ロールのセキュリティ・フィルタがすべて削除された場合は、内部権限オブジェクトが削除されます。

- アプリケーション・ロールのすべてのフィルタが削除された場合でも、アプリケーション・ロールは保持されます。

- リポジトリからアプリケーション・ロールを削除するには、明示的に削除する必要があります。アプリケーション・ロールの削除の詳細は、『Oracle Fusion Middleware Oracle Business Intelligence Enterprise Editionセキュリティ・ガイド』を参照してください。

変数のルール

- 初期化ブロックは、基礎となる接続プールが削除されると削除されます。

- リポジトリおよびセッション変数は、関連付けられている初期化ブロックが削除された場合に削除されます。

- セッション変数が削除されその親の初期化ブロックに格納される変数が存在しなくなった場合、その初期化ブロックは削除されます。

- 初期化ブロックが削除された場合はその変数も削除されます。

マーケティングのルール

- 関連付けられているキャッシュ・カタログ、GUID列または修飾列が削除された場合、修飾リスト項目は削除されます。

- ターゲット・レベルは、関連付けられているカタログ(セグメンテーション・カタログ名)が削除された場合に削除されます。

- リスト・カタログは、関連付けられたカタログ、表または列が削除された場合に、削除されます。

- 同ディメンションは、関連付けられているカタログ、表または列が削除された場合に削除されます。

F Oracle BI Enterprise Editionでサポートされているデータ型

この付録では、Oracle BI EEでサポートされているデータ型のリストを示し、説明します。この付録には、データ型の制限事項、その他のOracle BIサーバーの制限事項および浮動小数点の制限事項に関する情報が記載されています。また、Oracle BIサーバーのnqcmdユーティリティを使用してNQSGetSQLDataTypesプロシージャを実行し、データ型に関する情報を取得するための手順も記載されています。

データ・ソースからリポジトリの物理レイヤーにメタデータをインポートする場合、各列にデータ型が割り当てられます。データ型は、特定の格納形式、制約および有効な値の範囲と関連付けられています。

この付録の内容は以下のとおりです。

- Oracle BI EEでサポートされているデータ型カテゴリ

- NQSGetSQLDataTypesプロシージャを使用したデータ型情報へのアクセス

- Oracle BI EEデータ型の制限事項

- その他のOracle BIサーバーの制限事項

- Oracle DatabaseからOracle BI EEデータ型へのマッピング

Oracle BI EEでサポートされているデータ型カテゴリ

ここでは、Oracle BI EEでサポートされているデータ型をカテゴリ(数値データ、日付データなど)別に示します。特定のデータ型の詳細は、「NQSGetSQLDataTypesプロシージャを使用したデータ型情報へのアクセス」および「Oracle BI EEデータ型の制限事項」を参照してください。

テキスト・データ

Oracle BI EEでは、次のテキスト・データ型がサポートされています。

- CHAR

- LONGVARCHAR

- VARCHAR

数値データ

Oracle BI EEでは、次の数値データ型がサポートされています。

- BIGINT

- DECIMAL

- DOUBLE

- FLOAT

- INTEGER

- NUMERIC

- REAL

- SMALLINT

- TINYINT

日時データ

Oracle BI EEでは、次の日時データ型がサポートされています。

- DATE

- TIME

- TIMESTAMP

バイナリ・データ

Oracle BI EEでは、次のバイナリ・データ型がサポートされています。

- BIT

- BINARY

- LONGVARBINARY

- VARBINARY

NQSGetSQLDataTypesプロシージャを使用したデータ型情報へのアクセス

Oracle BI EEでサポートされているデータ型のリストにアクセスするには、Oracle BIサーバーのnqcmdユーティリティを使用してNQSGetSQLDataTypesプロシージャを実行します。例: call NQSGetSQLDataTypes(0);

このプロシージャを実行すると、結果には、サポートされているデータ型のリストと、各データ型に固有の情報(大/小文字の区別や検索の可否など)が含まれます。

Oracle BIサーバーのnqcmdユーティリティの開き方と使用方法の詳細は、「リポジトリのテストおよび絞込みのためのnqcmdの使用方法」を参照してください。

Oracle BI EEデータ型の制限事項

次の表に、サポートされている各データ型とその制限事項を示します。管理者またはリポジトリ作成者は、この情報を使用して特定のデータ型が特定の列または値セットに適しているかどうかを評価したり、データ型が必要な値をすべて表すことができるかどうかを判断できます。

たとえば、OracleデータベースのINTEGER列では、非常に広範囲の値(10進数で最大38桁まで)がサポートされていますが、Oracle BI EEのINTEGERデータ型は32ビットのバイナリ整数型であるため、データ・オーバーフロー(切捨て)問題を発生させずに最大9桁まで保持できます。列で[-2,147,483,648, 2,147,483,647]の範囲の値を保持する場合、Oracle BI EEのINTEGERデータ型を使用する必要があります。しかし、この列にこの範囲を超える値が格納される場合は、NUMERICやVARCHARなどの別のデータ型を使用する必要があります。

列の予期される値の範囲を表すことができる最小(バイト数)のデータ型を選択します。このようにデータ型を選択すると、キャッシュ・ファイル、一時ファイルなどについてBIサーバーで消費されるメモリー容量およびディスク領域量が減ります。

表F-1 データ型の制限事項

データ型

制約

BIG INT

JDBCおよび管理ツールではこの型がサポートされていません。したがって、Oracle BI EEではBIG INT型が完全サポートされていません。BIサーバーではBIG INT型が一部サポートされてはいますが、この型はOracle BIサーバーで徹底的にテストされているわけではありません。BIG INT型は、C言語のint64データ型と同じになるよう意図されています。

BINARY

Oracle BI EEでは、BINARY型が完全サポートされていません。BIサーバーでは、データ型がBINARYの列のフェッチのみサポートされています。BIサーバーでは、bindパラメータまたはinsert文でBINARY型がサポートされていません。

BIT

Oracle BI EEでは、BIT型が完全サポートされていません。ブール・データを表すには、かわりにINT型またはCHAR型を使用する必要があります。

CHAR

CHAR型の値は常に、データ型で指定された長さと等しくなるように後ろに空白文字が埋め込まれます。CHAR型では、Unicode値がサポートされます。Windowsプラットフォームでは、ストレージは文字ごとに2バイトです。すべてのUNIX 64ビット・プラットフォームでは、ストレージは文字ごとに4バイトです。

DATE

DATE型は、年、月および日の構成要素のみを表します。Oracle DATEデータ型のように、時間、分または秒を表しません。

DECIMAL

DECIMAL型は、NUMERIC型と同じです。

DOUBLE

DOUBLE型は、IEEE 754 64ビット倍精度バイナリ浮動小数点データ型と同じです。内部ストレージは8バイトです。仮数は53ビットを占有します(符号ビットを含む)。そのため、精度は10進数で約16桁に制限されます。指数は11ビットを占有します。指数の範囲は、10進数値として約±307です。

この型の制限事項の詳細は、「浮動小数点の制限事項」を参照してください。

INTEGER

INTEGER型は、符号付きバイナリ整数データ型で、4バイトを占有します。表現可能な最大値は2,147,483,647、最小値は-2,147,483,648です。

FLOAT

FLOAT型は、IEEE 754 32ビット単精度バイナリ浮動小数点データ型と同じです。内部ストレージは4バイトです。仮数は24ビットを占有します(符号ビットを含む)。そのため、精度は10進数で約7桁に制限されます。指数は8ビットを占有します。指数の範囲は、10進数値として約±38です。

この型の制限事項の詳細は、「浮動小数点の制限事項」を参照してください。

LONGVARBINARY

LONGVARBINARY型では、最大32,678バイトまでサポートされます。

LONGVARCHAR

LONGVARCHAR型では、最大32,678バイトまでサポートされます。LONGVARCHAR型とVARCHAR型の両方で、Unicode値がサポートされます。

NUMERIC

NUMERIC型は、真の10進データ型で22バイトを占有します。内部表現と制限事項は、Oracle NUMBERデータ型と同じです。

NUMERIC型では、1 x 10-130から9.999...9 x 10125までの範囲で、最大38有効桁の正数がサポートされます。精度とスケールは、リポジトリに格納されません。スケールは、10と想定されます。

REAL

REAL型の説明と制限事項はFLOAT型と同じです。

SMALLINT

SMALLINT型は、BIサーバーではINTEGER型として内部的に表され、INTEGERデータ型と同じ制限事項があります。

TIME

TIME型は、時間、分および秒の構成要素のみを表します。

TIMESTAMP

TIMESTAMP型は、年、月、日、時間、分および秒の構成要素を表します。プラットフォームのデータ・ソースによっては、小数秒もサポートできます。

TINYINT

TINYINT型は、BIサーバーではINTEGERとして内部的に表されます。TINYINT型とINTEGER型の制限事項は同じです。

VARBINARY

VARBINARY型は、LONGVARBINARY型のかわりに使用できます。VARBINARY型とLONGVARBINARY型の制限事項は同じです。

VARCHAR

VARCHAR型は、LONGVARCHAR型のかわりに使用できます。VARCHAR型とLONGCARCHAR型の制限事項は同じです。

管理ツールを使用すると、最大文字長2,147,483,647を入力できます。ただし、実際にサポートされている最大長は32,678です。

浮動小数点の制限事項

数値には、FLOATやDOUBLEなどのバイナリ浮動小数点データ型では正確に表せないものがあります。10進数からバイナリ浮動小数点表現への変換またはその逆の変換の場合、バイナリ浮動小数点形式の表現上の制限事項のために端数処理エラーが発生することがよくあります。たとえば、1.365などの10進数をDOUBLE型に変換する場合、1.364999999999999と表されます。この数値は、小数点以下3桁に端数処理され、結果は1.365です。しかし、この数値を小数点以下2桁に端数処理すると、結果は1.36であり、1.37ではありません。

Oracle BIサーバーでは、RDBMSおよびTimesTenのデータ・ソースに対してNUMERIC型がサポートされています。FLOAT型およびDOUBLE型の制限事項を回避するには、FLOATおよびDOUBLEのデータ型をNUMERIC型に更新することをお薦めします。NUMERICデータ型への切替え以外に、バイナリ浮動小数点データ型でこの潜在的制限事項を修正する回避策はありません。

その他のOracle BIサーバーの制限事項

データ型の制限事項に加えて、Oracle BIサーバーには次の制限事項があります。

- デフォルトでは、Oracle BIサーバーのすべてのフィールドの最大長は32,678バイトです。このデフォルトの制限を変更するには、OBIS_MAX_FIELD_SIZE環境変数を設定します。

- デフォルトでは、すべてのSQL識別子(表名や列名など)の最大長は128文字です。

サポートされているデータ型とその制限事項の詳細は、「Oracle BI EEデータ型の制限事項」を参照してください。

Oracle DatabaseからOracle BI EEデータ型へのマッピング

Oracleデータベースからメタデータをインポートする場合、管理ツールでは、表F-2のマッピングを使用してインポートされる各列の対応するOracle BIサーバーのデータ型を判別します。データ型がどのようにOracle BI EEデータ型にマップされるかは、ご使用のデータベースの種類によって異なります。

Oracle Databaseデータ型の詳細は、『Oracle Database概要』の第26章「Oracleデータ型」を参照してください。

表F-2 データ型のマッピング

Oracle Databaseデータ型

Oracle BI EEデータ型

CHAR

CHAR

NCHAR

CHAR

VARCHAR2

VARCHAR

NVARCHAR2

VARCHAR

NUMBER

ENABLE_NUMERIC_DATA_TYPE = YESの場合はNUMERIC、それ以外の場合はDOUBLE

NUMBER (precision, scale)

scale = 0かつ1 <= precision <= 9の場合はINT、それ以外の場合はNUMBERと同じ

BINARY_FLOAT

FLOAT

BINARY_DOUBLE

DOUBLE

DATE

DATETIME

TIMESTAMP

TIMESTAMP

TIMESTAMPWITHTIMEZONE

TIMESTAMP

TIMESTAMPWITHLOCALTIMEZONE

TIMESTAMP

BLOB

LONGVARBINARY

CLOB

LONGVARCHAR

NCLOB

LONGVARCHAR

BFILE

サポート対象外

LONG

LONGVARCHAR

LONG RAW

サポート対象外

ROWID

CHAR

XML型

LONGVARBINARY

UriType

サポート対象外

G データベースとのメタデータ交換による問合せのパフォーマンス向上

この付録では、Oracle DatabaseまたはIBM DB2を使用して、データ・ウェアハウスのパフォーマンス、およびOracle BIサーバー上で実行される問合せの機能を向上させる方法について説明します。

この付録のトピックは次のとおりです。

- データベースとのメタデータ交換について

- インポート・ファイルの生成

- Oracle Business IntelligenceでのOracle Databaseのマテリアライズド・ビューの使用

- Oracle Business IntelligenceでのIBM DB2 Cube Viewsの使用

データベースとのメタデータ交換について

Oracle BIサーバーのOracle Business IntelligenceメタデータをOracle DatabaseまたはIBM DB2データベースと交換することによって、データ・ウェアハウスの問合せのパフォーマンスの速度を向上できます。

メタデータの交換にはOracle BIサーバーのユーティリティsametaexportを使用します。このユーティリティを実行してDB2のキューブ・ビューを生成するときは、このユーティリティがDB2 Cube Views Generatorと呼ばれます。このユーティリティを実行してOracle Databaseのメタデータを生成する場合は、Oracle Database Metadata Generatorと呼ばれます。

Oracle BIサーバーのエクスポート・ユーティリティは、次のツールで機能します。

- Oracle Databaseでは、SQLアクセス・アドバイザによってパフォーマンスの最適化に関するマテリアライズド・ビューと索引の推奨が作成されます。10gより前のデータベース・リリースではこの機能がOracle Databaseサマリー・アドバイザと呼ばれていました。

- IBM DB2データベースでは、IBM DB2 Cube Viewsによってマテリアライズ照会表(MQT)が作成されます。

sametaexportユーティリティは、SQLアクセス・アドバイザまたはIBM DB2 Cube Viewsツールでリレーショナル・データの事前集計と問合せのパフォーマンスの向上に必要な情報を生成します。

インポート・ファイルの生成

Oracle Database Metadata GeneratorとDB2 Cube Views Generatorはいずれも、Oracle BIサーバーからSQLアクセス・アドバイザまたはIBM DB2データベースへのメタデータのインポートに必要なファイルを作成します。

ここでは、2つのジェネレータに共通する次の項目について説明します。

- ジェネレータの実行

- メタデータ入力ファイルについて

- 出力ファイルについて

- ジェネレータのエラーのトラブルシューティング

- メタデータ変換ルールとエラー・メッセージ

ジェネレータの実行

Oracle Database Metadata GeneratorおよびDB2 Cube Views Generatorは、コマンドラインから起動されるか、バッチ・ファイルに埋め込まれています。コマンドラインの実行可能ファイルは、sametaexportと呼ばれます。

sametaexportユーティリティは、WindowsシステムとUNIXシステムの両方で使用できます。ただし、sametaexportは、RPD形式のバイナリ・リポジトリでのみ使用できます。

ユーティリティの実行前に、bi-initを実行して、適切に初期設定されたコマンド・プロンプトまたはシェル・ウィンドウを起動する必要があります。詳細は、「Oracleインスタンスに初期化したシェル・ウィンドウを起動するためのbi-initの実行」を参照してください。

bi-initを実行した後、指定したオプションを使用して結果のコマンド・プロンプトからsametaexportを次のように実行します。

sametaexport -r "PathAndRepositoryFileName" [-p repository_password]
-f "InputFileNameAndPath" [options]

表G-1に、コマンドライン実行可能ファイルのパラメータについて説明します。

表G-1 sametaexportのパラメータ

パラメータ

定義

補足情報

-r

リポジトリ・ファイル名とフルパス

ファイル・パスが長い形式の場合または空白が含まれる場合のみ、ファイル名とパスに引用符が必要です。ファイルが現行ディレクトリにない場合は、フルパスを使用します。

-p

リポジトリ・パスワード

特定のリポジトリのパスワード。

パスワード引数はオプションです。パスワード引数を指定しない場合は、コマンド実行時にパスワードを入力するように求められます。セキュリティ違反のリスクを最小化するため、コマンドラインでも、スクリプトでもパスワードを指定しないことをお薦めします。パスワード引数のサポートは下位互換性の保持を目的としており、将来のリリースでは削除される予定です。スクリプトのために、パスワードを標準入力によって渡すことができます。

-f

入力ファイル名とフルパス

ファイル・パスが長い形式の場合または空白が含まれる場合のみ、ファイル名とパスに引用符が必要です。ファイルが現行ディレクトリにない場合は、フルパスを使用します。入力ファイルは、コマンドラインに必要な情報のすべてを入力しないで済むように、また国際文字を入力できるように指定します。詳細は「メタデータ入力ファイルについて」を参照してください。

入力ファイルまたはコマンドラインで追加パラメータを組み込むことによって、Oracle Database Metadata GeneratorまたはDB2 Cube Views Generatorの様々なデフォルトを変更できます。入力ファイルで指定したパラメータは、コマンドラインで指定したパラメータより優先されます。これらのパラメータの組込みは、デフォルト値を変更する必要がある場合のみに限定してください。

表G-2と表G-3に、これらのオプション・パラメータを示します。

表G-2 Oracle Database Metadata Generatorのオプション・パラメータとデフォルト

パラメータの定義

補足情報

入力ファイルの使用例

コマンドラインの使用例

RPDのスキーマ名の使用

YESに設定すると、リポジトリで使用されていたスキーマ名がそのまま使用されます。デフォルト値はYESです。

USE_SCHEMA_NAME_FROM_RPD = NO

-schemafrom rpd NO

デフォルト・スキーマ名

-schemafromrpdの値をNOに設定した場合、またはリポジトリ・スキーマ名が判定できない場合は、デフォルトのスキーマ名が表スキーマ名として使用されます。デフォルト値はSIEBELです。

DEFAULT_SCHEMA_NAME = ORACLE

-defaultschema ORACLE

Oracleスキーマ名

Oracle Database Metadata Generatorからのメタデータはこのスキーマで作成されます。デフォルト値はSIEBELです。

ORA_DIM_SCHEMA_NAME = ORACLE

-orclschema ORACLE

ロギング有効

メタデータ・エクスポート・プロセスのログを保持するかどうかを指定します。有効値はON、OFFおよびDEBUGです。デフォルト値はONです。

LOGGING = DEBUG

-logging DEBUG

ログ・ファイル名

ログ・ファイルへのパス。無効なパスを指定すると、エラーが発生します。

このパラメータを指定しない場合は、デフォルトのログ・ファイルのパスが使用されます。デフォルトのパスは次のとおりです。

ORACLE_INSTANCE\diagnostics\logs\
OracleBIServerComponent\
coreapplication_obisn\
OraDimExp.log

LOG_FILE_NAME = C:\bea_default\instances
\instance1\diagnostics\
logs\generator\logfile.log

-logfile C:\bea_default\instances\
instance1\diagnostics\
logs\generator\logfile.log

表G-3 DB2 Cube Views Generatorのオプション・パラメータとデフォルト

パラメータの定義

補足情報

入力ファイルの使用例

コマンドラインの使用例

個別カウントのサポート

YESに設定すると、DISTINCT_COUNT集計を含むメジャーのエクスポートが可能になります。推奨値およびデフォルト値はNOです。

DISTINCT_COUNT_SUPPORTED = YES

-distinct YES

統計関数のサポート

YESに設定すると、集計STDDEVを含むメジャーのエクスポートが可能になります。推奨値およびデフォルト値はNOです。

STATISTICAL_FUNCTIONS_SUPPORTED = YES

-stat YES

スキーマ名の使用

YESに設定すると、Cube Viewsメタデータ属性に、表からスキーマ名を使用した列が導出され、パラメータでの指定に使用されます。NOに設定すると、これらの表のスキーマ名は空白になります。デフォルト値はYESです。

USE_SCHEMA_NAME = NO

-useschema NO

RPDのスキーマ名の使用

YESに設定すると、リポジトリで使用されていたスキーマ名がそのまま使用されます。デフォルト値はYESです。

USE_SCHEMA_NAME_FROM_RPD = NO

-schemafromrpd NO

デフォルト・スキーマ名

-schemafromrpdの値をNOに設定した場合、またはリポジトリ・スキーマ名が判定できない場合は、デフォルトのスキーマ名が表スキーマ名として使用されます。デフォルト値はSIEBELです。

DEFAULT_SCHEMA_NAME = ORACLE

-defaultschema ORACLE

キューブ・ビュー・スキーマ名

Cube Viewsメタデータが作成されるスキーマの名前。デフォルト値はSIEBELです。

CUBE_VIEWS_SCHEMA_NAME = ORACLE

-cubeschema ORACLE

ログ・ファイル名

ログ・ファイルへのパス。無効なパスを指定すると、エラーが発生します。

このパラメータを指定しない場合は、デフォルトのログ・ファイルのパスが使用されます。デフォルトのパスは次のとおりです。

ORACLE_INSTANCE\diagnostics\logs\
OracleBIServerComponent\
coreapplication_obisn\
CubeViews.log

LOG_FILE_NAME = C:\bea_default\instances\instance1\diagnostics\logs\generator\logfile.log

-logfile C:\bea_default\instances\instance1\diagnostics\logs\generator\logfile.log

失敗のログ記録

YESに設定すると、特定のルールに従って無効化されたメタデータがログ・ファイルにリストされます。デフォルト値はYESです。

LOG_FAILURES = NO

-logfail NO

成功のログ

YESに設定すると、各ルールでチェックされ、合格したメタデータがログ・ファイルにリストされます。デフォルト値はNOです。

LOG_SUCCESS = YES

-logsuccess YES

メタデータ入力ファイルについて

入力ファイルは、パラメータ(表G-4を参照)が記載されたテキスト・ファイルです。

表G-4 キューブ・メタデータ入力ファイルのパラメータ

入力ファイル名

説明

BUSINESS_MODEL

エクスポート対象のメタデータが格納されたOracle Business Intelligenceリポジトリの論理レイヤーにあるビジネス・モデル名。リポジトリでビジネス・モデルが見つからない場合はエラー・メッセージが表示されます。

入力ファイルではビジネス・モデル名を1つだけ指定できます。複数のビジネス・モデルのメタデータを生成するには、入力ファイルを個別に作成して、Oracle Database Metadata GeneratorまたはDB2 Cube Views Generatorを別途実行します。

PHYSICAL_DATABASE

エクスポート対象のメタデータが格納されたOracle Business Intelligenceリポジトリの物理レイヤーにあるデータベースの名前。ビジネス・モデルが複数のデータベースから導出されている場合は、ここで指定されたデータベース以外のすべてのデータベースのメタデータが排除されます。リポジトリで物理データベースが見つからない場合は、エラー・メッセージが表示されます。

RUN_AS_USER

データベース・ユーザーのユーザー名です。メタデータ・エクスポート時にはこのユーザーの表示モードを複製する必要があります。このパラメータは空白にできません。このユーザーはリポジトリ内のユーザー・リファレンスに存在している必要があります。

OUTPUT_FOLDER

SQLファイルの書込み先のフォルダのフルパスとファイル名。Oracle Database Metadata Generatorの実行時にこのフォルダが存在しない場合は作成されます。詳細は、「出力ファイルについて」を参照してください。

次のテキストはメタデータ入力ファイルのサンプルを示しています。

BUSINESS_MODEL = "1 - Sample App"
PHYSICAL_DATABASE = "1 - Sample App Data"
RUN_AS_USER = "Administrator"
OUTPUT_FOLDER = "C:\OracleBI"

出力ファイルについて

次の説明するように、作成される出力ファイルのタイプは、ジェネレータによって異なります。

- Oracle Database Metadata Generator: SQLファイルを生成します。このファイルはUTF-8でエンコードされ、指定された出力フォルダに格納されます。ファイル名は、入力ファイルで指定したmy_business_model.sqlなどのビジネス・モデルの名前をベースにします。

- DB2 Cube Views Generator: 指定された出力ファイルに次のファイルを生成します。

- XMLファイル(UTF8でエンコード)。指定されたビジネス・モデルに対してXMLファイルが1つ作成されます。このファイルにはキューブに変換されたすべてのオブジェクトが格納されます。さらに、リポジトリ内のオブジェクトがIBM Cube Viewsメタデータの類似オブジェクトにマッピングされます。変換されないオブジェクトのリストについては、「IBM DB2データベースの変換ルール」を参照してください。
ビジネス・モデル名から空白を抜き、XML拡張子を付加したものがXMLファイル名になります(例: SalesResults.xml)。

- 別名生成DLLが格納されたSQLファイル。ビジネス・モデルで参照される物理レイヤー・データベースに別名が存在する場合にのみ、指定したビジネス・モデルにSQLファイルが作成されます。別名ファイルには、DB2データベースで別名を作成するSQLコマンドが格納されます。SQLファイルの名前は、ビジネス・モデル名から空白を抜いてSQL拡張子を付けたものになります(例: SalesResults-alias.sql)。

ジェネレータのエラーのトラブルシューティング

エラー・メッセージは、ジェネレータがタスクの一部またはすべてを完了できなかったことを示します。ジェネレータの起動後に次のエラー・メッセージが表示されることがあります。

- Unable to write to Log file: log_file_name.
入力ファイルまたはコマンドラインで指定したログ・ファイルのパスに誤りがある、ユーザーに当該のフォルダに対する書込み権限がない、ディスクの空き容量が不足しているなどの可能性があります。

- Run_as_user, user_name, is invalid.
ユーザー名が正しくありません。

- Repository, repository_name.rpd, is invalid or corrupt.
リポジトリ名が正しくない、指定のパスに存在しない、ユーザーに読取り権限がないなどの可能性があります。

- Physical Database, database_name, is invalid.
物理データベース名が、リポジトリの有効な物理データベース・オブジェクトと一致していません。

- Business Model, model_name, is invalid.
ビジネス・モデル名が、リポジトリの有効なビジネス・モデル・オブジェクトと一致していません。

- Authentication information provided is invalid.
コマンドラインで指定したリポジトリ・パスワードが正しくありません。

- Path: "path_name" is invalid.
パスまたはファイル名が正しくないか、現在のユーザーに読取りアクセス権がありません。

メタデータ変換ルールとエラー・メッセージ

ジェネレータは、出力ファイルを作成するときにOracle Business Intelligenceリポジトリのメタデータ・オブジェクトのOracle DatabaseまたはIBM DB2データベースの類似オブジェクトへのマッピングも行います。

ここでは、SQLまたはXML形式に翻訳(変換)できないOracle Business Intelligenceメタデータの識別に使用されるルールについて説明します。Oracle Business Intelligenceで使用可能なメタデータ構成の中に、Oracle DatabaseおよびIBM Cube Viewsではサポートされないものがあるために、このようなルールが必要になります。

SQLまたはXMLファイルのディメンション・メタデータは、論理ファクト表のソース・レベルで生成されます。論理ファクト表のソースに無効な論理ディメンション表ソースが存在する場合、その論理ディメンション表ソースは無効化されます。論理ファクト表ソースが無効の場合は、マッピングされているすべての論理ディメンション表ソースも無効化されます。無効なOracle Business Intelligenceリポジトリ・メタデータ要素は、SQLまたはXMLファイルのキューブに変換されません。

ルール違反が発生した場合、ジェネレータではログ・ファイルにエラー・メッセージとルールに違反したメタデータが書き込まれます。

Oracle Databaseの変換ルール

Oracle Business IntelligenceメタデータからOracle Databaseのオブジェクトへの変換ルールは次のとおりです。

- 論理表の式を含む属性はエクスポートできません。

- 復合結合を使用して結合された表は考慮されません。

- 不透明なビューである表は考慮されません。

- 特定のレベルのキーの構成部分として使用される列を別のレベルのキーの構成部分として使用することはできません。
Oracle Databaseでは、列を複数のレベルのキーとして使用することが禁じられています。この禁止により、Oracle Database Metadata Generatorでは、2つの結合のいずれかを削除する必要があります。通常は最初に検出された結合が削除されます。このため、その他の結合が失われ、エクスポートされないことになります。

IBM DB2データベースの変換ルール

表G-5に、Oracle Business Intelligenceリポジトリ・メタデータ要素の検証に使用されるルール、ルール違反の発生時にログ・ファイルに書き込まれるエラー・メッセージ、ルール違反の原因に関する説明を示します。エラー・メッセージは、特定のOracle Business Intelligenceメタデータ・オブジェクトがXMLファイルにエクスポートされなかった原因の判定に有益です。

表G-5 メタデータ要素の検証ルール

ルール

メッセージ

説明

ComplexJoinFactsRule

[ファクト論理表ソース]複合物理結合はサポートされていません。

%qnには、物理表%qnおよび%qnの間に複合結合%qnがあります。

物理ファクト表が復合結合を介して接続されている場合、その結合はサポートされません。復合結合は外部キー関係がない2つの表間の結合と定義されます。

ComplexJoinDimsRule

[ディメンション論理表ソース]複合物理結合はサポートされていません。

%qnには、物理表%qnおよび%qnの間に複合結合%qnがあります。

ディメンション物理表が複合結合を介して接続されている場合、その結合はサポートされません。

ComplexJoinFactDimRule

[ファクト論理表ソース->ディメンション論理表ソース]複合物理結合はサポートされていません。

%qnには、物理表%qnおよび%qnの間に複合結合%qnがあります。

ディメンション物理表とファクト物理表が複合結合を介して接続されている場合、その結合はサポートされず、ディメンション表が無効化されます。

OpaqueViewFactRule

[ファクト論理表ソース]物理SQL Select文はサポートされていません。

%qnはSQL Select文%qnを使用しています。

SQL SELECT文によって物理ファクト表が生成されている場合、その表を含む論理ファクト表ソースは無効化されます。この論理ファクト表ソースに接続されている論理ディメンション表ソースもすべて無効化されます。この構成は副問合せ処理を許容するものです。

OpaqueViewDimRule

[ディメンション論理表ソース]物理SQL Select文はサポートされていません。

%qnはSQL Select文%qnを使用しています。

SQL SELECT文によって物理ディメンション表が生成されている場合、その表を含む論理ディメンション表ソースは無効化されます。

OuterJoinFactRule

[ファクト論理表ソース]物理外部結合はサポートされていません。

%qnには、物理表%qnおよび%qnの間に外部結合%qnがあります。

論理ファクト表ソースに外部結合のマッピングがある場合、その論理ファクト表ソースが無効化され、このソースにマッピングされた論理ディメンション表ソースもすべて無効化されます。

OuterJoinDimRule

[ディメンション論理表ソース]物理外部結合はサポートされていません。

%qnには、物理表%qnおよび%qnの間に外部結合%qnがあります。

論理ディメンション表ソースに外部結合のマッピングがある場合、その論理ディメンション表ソースは無効化されます。

WhereClauseFactRule

[ファクト論理表ソース] WHERE句はサポートされていません。

%qnにwhere条件%sがあります。

ファクト表ソースでロードするデータのフィルタにWHERE句を使用している場合、その表ソースは無効化されます。

WhereClauseDimRule

[ディメンション論理表ソース] WHERE句はサポートされていません。

%qnにwhere条件%sがあります。

ディメンション表ソースでロードするデータのフィルタにWHERE句を使用している場合、その表ソースは無効化されます。

TwoJoinFactDimRule

[ファクト論理表ソース->ディメンション論理表ソース]ソース間の複数の結合はサポートされていません。

%qnおよび%qnには少なくとも次の結合があります : %qn、%qn

同じディメンション・ソースからの2つのディメンション表に、同一の物理ファクト表がマッピングされている場合(ファクト表が表ソース内で最も詳細度の高い表に排他的にマッピングされていない場合)、そのディメンション表ソースは無効化されます。

HiddenManyManyRule

[ファクト論理表ソース->ディメンション論理表ソース](物理または論理?)ファクトおよびディメンション間の結合が最も詳細な表にありません。

%qnおよび%qn間の%qnが最も詳細な表%qnにありません{結合名,ファクト表,ディメンション表)

これは、TwoJoinFactDimRuleに関連します。ファクト表がディメンション表に結合され、その表が表ソース内で最も詳細な表ではない場合、そのディメンション表ソースは無効化されます。

ComplexMeasureRule

[列]複合集計ルールはサポートされていません。

%qnに使用されている集計ルール%sはサポートされていません。

サポートされる集計は通常、SUM、COUNT、AVG、MIN、MAX、STDDEV、COUNTDISTINCTおよびCOUNTです。

CountDistMeasureRule

[列] COUNT-DISTINCT集計ルールはサポートされていません。

%qnに使用されている集計ルール%sはサポートされていません。

COUNTDISTINCT集計は、この列ではサポートされません。

InvalidColumnLevelRule

[レベル]プライマリ・レベル・キーを構成する一部の列が無効です。

%qnに主キーの一部として%qnが含まれていますが、%qnが既に無効になっています。

このレベルのレベル・キーの1つ以上の列が無効になっています。

VariableBasedColumnRule

[論理表ソース -> 列]列で式に変数が使用されています。

列%qnでそのマッピングに変数が使用されています。

論理列でリポジトリと式に含まれるセッション変数が使用されています。

OneFactToManyDimRule

[ファクト論理表ソース->ディメンション論理表ソース](論理またはファクト?)およびディメンションの最も詳細な表間に固有の結合パスが必要です。

%qnおよび%qn(どちらも物理表名)の間に結合パスが見つかりません。

少なくとも、次の結合パスが見つかりました: (%qn->%qn....), (%qn->%qn....)

TwoJoinFactDimRuleおよびHiddenManyManyRuleの場合と同様です。

ManyMDTinFactRule

[ファクト論理表ソース]ファクト論理表ソースには固有の最も詳細な表が必要です。

%qnには少なくとも次の最も詳細な表が含まれています : %qn,%qn.

ファクトに複数の最も詳細な表が存在しています。

NoMeasureFactRule

[ファクト論理表ソース]ファクト論理表ソースにメジャーがありません。

%qnに配布可能なメジャーがありません。

すべてのメジャーが無効化されているため、ファクト表にメジャーがありません。

NoInActiveFactRule

[ファクト論理表ソース]ファクト論理表ソースが有効になっていません。

ファクト・ソースが有効ではありません。

NoInActiveDimRule

[ディメンション論理表ソース]ディメンション論理表ソースが有効になっていません。

ディメンション・ソースが有効ではありません。

NoAttributeInFactRule

[ファクト論理表ソース->列]ファクトで属性が見つかりました。

ファクト・ソース%qnの%qnには集計ルールがありません。

ファクト・ソースに属性がありません。

NoMeasureInDimRule

[ディメンション論理表ソース -> 列]ディメンション内にメジャーが見つかりました。

ディメンション・ソース%qnの%qnに集計ルールがあります。

ディメンション・ソースにメジャーがありません。

VisibleColumnsAttrRule

[列] -> run_as_userにはこの論理列を参照できません。

%qnは参照ルールにより、run_as_user %qnからアクセスできません。

このユーザーにはこの列を参照する権限がありません。

VisibleColumnsMeasRule

[列] -> run_as_userにはこの論理列を参照できません。

%qnは参照ルールにより、run_as_user %qnからアクセスできません。

このユーザーにはこの列を参照する権限がありません。

MultiplePrimaryKeysDimRule

[ディメンション論理表ソース]結合にディメンション論理表ソースの代替キーが使用されています。

%qnの%qnおよび%qn間の%qnに代替キー%qnが使用されています。

ディメンション物理表に組み込むことができる主キーは1つのみです。別の一意のキーを使用して別のディメンション物理表に結合されている結合は無効です。

IBM Cube Viewsでは、外部結合に使用される一意のキーが受け入れられず、常に主キーが要求されます。

MultiplePrimaryKeysFactRule

[ディメンション論理表ソース]結合にディメンション論理表ソースの代替キーが使用されています。

%qnの%qnおよび%qn間の%qnに代替キー%qnが使用されています。

ファクト物理表に組み込むことができる主キーは1つのみです。別の一意のキーを使用して別のファクト物理表に結合されている結合は無効です。

IBM Cube Viewsでは、外部結合に使用される一意のキーが受け入れられず、常に主キーが要求されます。

MultiplePrimaryKeysFactDimRule

[ファクト論理表ソース->ディメンション論理表ソース]結合で論理表ソース間に代替キーが使用されています。

ソース%qnおよび%qnの%qnと%qnの間で%qnに代替キー%qnが使用されています。

ファクト物理表に組み込むことができる主キーは1つのみです。別の一意のキーを使用してディメンション物理表に結合されている結合は無効です。

IBM Cube Viewsでは、外部結合に使用される一意のキーが受け入れられず、常に主キーが要求されます。

NotDB2ExpressionAttrRule

[ディメンション論理表ソース -> 列]列にサポートされていない式が含まれています。

%qnにサポートされていない式%sが含まれています。

IBM Cube Viewsでサポートされない式が属性に含まれています。

これには、日時関数(例: CURRENT_DATE)を使用するメタデータ式が含まれています。

NotDB2ExpressionMeasRule

[ファクト論理表ソース -> 列]列にサポートされていない式が含まれています。

%qnにサポートされていない式%sが含まれています。

IBM Cube Viewsでサポートされない式がメジャーに含まれています。

これには、日時関数を使用するメタデータ式が含まれています(例:CURRENT_DATE).

NoAttributeDimRule

[ディメンション論理表ソース]ディメンション論理表ソース内にrun_as_userから参照できる属性がありません。

%qnのいずれの属性も参照可能でないため、ユーザー%qnは問合せを実行できません。

ディメンションに属性がありません。

Oracle Business IntelligenceでのOracle Databaseのマテリアライズド・ビューの使用

ここでは、Oracle Business IntelligenceからSQLアクセス・アドバイザにメタデータをエクスポートし、Oracle Database Metadata Generatorを使用してマテリアライズド・ビューを作成する方法について説明します。

この項には次のトピックが含まれます:

- マテリアライズド・ビューでのSQLアクセス・アドバイザの使用について

- Oracle Databaseへのメタデータのデプロイ

マテリアライズド・ビューでのSQLアクセス・アドバイザの使用について

この機能によって、データ・ウェアハウスのパフォーマンスおよびデータベースの機能が向上します。データベースに存在するデータの論理的関係に関するメタデータを、SQLアクセス・アドバイザで格納できるようにします。また、効率的なOracleマテリアライズド・ビューを使用することによって、データ・ウェアハウスの問合せのスピードが向上します。これらのマテリアライズド・ビューは、リレーショナル・データを事前集計して問合せのパフォーマンスを向上させます。メタデータがSQLアクセス・アドバイザに格納された後は、データベース管理者がデータベース・オブジェクトを最適化して、問合せのパフォーマンスを強化できます。

問合せの処理時に、Oracle Databaseは可能なかぎりマテリアライズド・ビューを格納している表に問合せをルーティングします。このマテリアライズド・ビューのテーブルは基底にある元表より小さく、データが事前集計されているため、再ルーティングされた問合せを高速で実行できます。

Oracle Database Metadata Generatorは、メタデータ・ブリッジとして機能します。Oracle Business Intelligence固有のメタデータがPL/SQLコマンドが組み込まれたSQLファイルに変換され、SQLアクセス・アドバイザでディメンションが生成されます。メタデータがSQLファイル変換された後は、SQL*Plusなどのツールを使用して変換後のメタデータをSQLアクセス・アドバイザにインポートしてメタデータ・カタログ表に格納します。メタデータのインポート後は、マテリアライズド・ビューを作成し、このビューを 着信するアプリケーション問合せの最適化に使用します。

この機能は、Oracle Database 9i以降で使用できます。プラットフォームの互換性の詳細は、「システム要件と動作要件」を参照してください。

リリースが10gより古いデータベースでは、SQLアクセス・アドバイザがOracle Databaseサマリー・アドバイザと呼ばれていました。詳細は『Oracle9i データ・ウェアハウス・ガイド』を参照してください。

Oracle Databaseへのメタデータのデプロイ

メタデータをOracle Databaseにデプロイするには、あらかじめOracle Databaseとそのツールを十分に理解しておく必要があります。詳細は、『Oracle Databaseパフォーマンス・チューニング・ガイド』を参照してください。

メタデータのデプロイ前に「ジェネレータの実行」に記載された手順を完了します。キューブ・メタデータをデプロイするには、次の各項で説明されているタスクを実行します。

- Oracle Databaseに対するSQLファイルの実行

- 結合の存在に関する制約の定義

- 問合せワークロードの作成

- マテリアライズド・ビューの作成

Oracle Databaseに対するSQLファイルの実行

SQLアクセス・アドバイザへのSQLファイルのインポートを実行する前に、Oracle Databaseのインポート・ツールを十分に理解しておく必要があります。詳細は、Oracle Databaseのドキュメント・セットを参照してください。

SQL*Plusなどのツールを使用してOracle Database Metadata Generatorが生成したSQLファイルを実行します。ディメンションが既存の場合、またはデータベース・スキーマがRPDファイルのものと異なる場合は、エラー・メッセージが表示される場合があります。スクリプトの実行が正常に完了すると、データベースWebコンソール、またはOracle Enterprise Manager Database Controlを使用して作成されたディメンションが表示されます。Oracle Enterprise Manager Database Controlでは、「ネットワーク」、「データベース」、データベース名、「ウェアハウス」、「サマリー管理」、「ディメンション」、「システム」の各ノードを展開します。

SQLファイルの実行後は、次の事項に注意します。

- 増分メタデータ変更は許可されません。スキーマの変更では、Oracle Databaseのキューブ・モデル・メタデータを手動で削除し、Oracle Business Intelligenceのメタデータを変換しなおす必要があります。たとえば、Oracle BIリポジトリ内のキューブのディメンションを変更する必要がある場合は、Oracle Databaseのキューブ・モデルを削除し、Oracle BIリポジトリからSQLファイルを再生成してSQLアクセス・アドバイザにインポートする必要があります。

- Oracle Database Metadata Generatorではメタデータの削除は実行できません。Oracle Enterprise Manager Database Controlを使用してキューブ・モデルを手動で削除する必要があります。

結合の存在に関する制約の定義

この詳細は、Oracle Databaseのドキュメント・セットを参照してください。

Oracle Databaseでディメンション表とファクト表間の結合が確実に認識できるようにする必要があります。これには、SQL*PlusまたはOracle Enterprise Manager Database Controlで制約を作成します。Oracle Enterprise Manager Database Controlで、制約を作成する表を選択して「制約」タブを選択します。

次のように、表の種類によって、タイプの異なる制約を作成します。

- ディメンション表には、UNIQUEキー制約を作成します。

- ファクト表には、FOREIGNキー制約を作成し、参照先スキーマと参照先表を指定します。「制約の定義」領域に、ファクト表の外部キー列とディメンション表の対応する一意キーを組み込みます。外部キー列データがディメンション表の一意キー列データと一致しないかぎり、ファクト表での外部キーの作成が失敗します。

問合せワークロードの作成

問合せワークロード作成の詳細は、Oracle Databaseのドキュメント・セットを参照してください。

問合せワークロードは、最適化に使用される物理問合せのサンプル・セットです。ワークロードの作成前に実行速度が最低速の問合せに関する情報を使用してトレース・ファイルを生成します。

トレース・ファイルを生成するには:

実行速度が最低速の問合せのトレース・ファイルは、次のように使用するデータベースのバージョンに応じたツールを使用して生成できます。

- 使用状況トラッキング: Oracle Business Intelligenceにある機能で、この機能を使用して問合せとその実行所要時間をログに記録します。実行時間が長いOracle Business Intelligenceの問合せはスクリプトとして実行でき、また、Oracle Databaseのトレース機能とともに使用するとこれらの問合せのOracle Database SQLコードを取得できます。

- Oracle Databaseトレース: このツールは、最低速の物理問合せの特定に使用します。トレース機能は、Oracle Enterprise Manager Database Control内から、またはDBMS_MONITORパッケージとともにSQLコマンドを入力することによって有効化できます。トレース機能を有効化したら、スクリプトを使用してトレース・ファイルを作成し、問合せワークロード表で問合せに使用されるSQLコードを取得します。

- Oracle Enterprise Manager: このツールは実行速度が遅い問合せの追跡に使用されます。

注意:
次に説明する機能は、Oracle Business Intelligenceではなく、Oracle Databaseで使用できます。

トレース・ファイルの情報を分析するには:

1. トレース・ファイルの確認時は、次のガイドラインを使用します。

- バッチ・プロセスのように1度に多数の文をトレースした場合は、問合せ実行時間が許容できる文をただちに廃棄します。実行時間が最長の文に集中します。

- Query列で、すべての問合せおよび副問合せの処理も含めてブロック・アクセスの読取りの整合性をチェックします。多くの場合、非効率的な文ではブロック・アクセス数の大量化が発生します。Current列には、セグメントのヘッダーおよび更新されるブロックなど、読取りの整合性と関連しないアクセス数が示されます。

- Disk列で、ディスクから読み取られたブロックの数をチェックします。ディスクの読取りはメモリーの読取りより低速であるため、この値はQuery列およびCurrent列の合計を大きく下回る可能性があります。このようになっていない場合は、バッファ・キャッシュの問題を確認してください。

- ロックの問題および非効率的なPL/SQLループによって、ブロック・アクセス数が少くてもCPU時間値が高い状況が発生することがあります。

- 単一文に対する複数の解析文のコールがないかを調べます。これは、ライブラリ・キャッシュの問題を示すものです。

2. ファイル内で問題の文を特定したら、実行計画をチェックして、問題の文のそれぞれが発生した原因を調べます。

問合せをワークロードにロードするには:

- トレース・ユーティリティを使用して最低速の物理問合せの名前を特定したら、USER_WORKLOAD表に挿入します。
表G-6に、USER_WORKLOAD表の列について説明します。

- INSERT文を使用して、QUERY列に最低速物理問合せのSQL文を、OWNER列に該当する所有者名を移入します。

表G-6 USER_WORKLOAD表の列

列

データ型

必須

説明

QUERY

すべてのLONGまたはVARCHAR型(すべての文字型)

はい

問合せのSQL文。

OWNER

VARCHAR2 (30)

はい

問合せの最終実行ユーザー。

APPLICATION

VARCHAR2 (30)

いいえ

問合せのアプリケーション名。

FREQUENCY

NUMBER

いいえ

この問合せが実行された回数。

LASTUSE

DATE

いいえ

この問合せの最終実行日付。

PRIORITY

NUMBER

いいえ

ユーザーが指定する問合せのランキング。

RESPONSETIME

NUMBER

いいえ

問合せの実行時間(秒)。

RESULTSIZE

NUMBER

いいえ

問合せが選択した合計バイト数。

SQL_ADDR

NUMBER

いいえ

問合せのキャッシュ・アドレス

SQL_HASH

NUMBER

いいえ

問合せのキャッシュ・ハッシュ値。

マテリアライズド・ビューの作成

問合せワークロード表への移入後は、Oracle Databaseのバージョンに応じたツールを使用してマテリアライズド・ビューを作成します。Oracle Database 10gでは、Oracle Enterprise Manager Database ControlのSQLアクセス・アドバイザを使用して、作成した問合せワークロード表を指定します。

SQLアクセス・アドバイザは、指定したファクト表のパフォーマンス向上に関する推奨事項を生成します。SQLアクセス・アドバイザに適切なマテリアライズド・ビューを作成するSQLコードが表示されます。SQLアクセス・アドバイザでマテリアライズド・ビューの作成を実行する前に、次のヒントを確認してください。

- SQLコードにCAST文が含まれていると、マテリアライズド・ビューの作成が失敗する場合があります。

- CREATE MATERIALIZED VIEW文でワークロード表として指定した問合せと同じものを指定していないことを確認してください。この文で同じ問合せを指定すると、マテリアライズド・ビューに実際のパフォーマンス向上が反映されないことになります。ただし問合せの実行頻度が高い場合はマテリアライズド・ビューの作成が無駄にならない場合もあります。

- SQL文の後のCREATE MATERIALIZED VIEW文の最後にスラッシュを追加します。追加されていない場合は、SQL*Plusワークシートで有効な文であると認識されません。

注意:
また、SQLアクセス・アドバイザは適切な索引付けスキームの決定にも役立ちます。

Oracle Business IntelligenceでのIBM DB2 Cube Viewsの使用

ここでは、DB2 Cube Views Generatorを使用してOracle Business IntelligenceからIBM DB2にメタデータをエクスポートする方法を説明します。

この項には次のトピックが含まれます:

- Oracle Business IntelligenceでのIBM DB2 Cube Viewsの使用について

- キューブ・メタデータのデプロイ

Oracle Business IntelligenceでのIBM DB2 Cube Viewsの使用について

IBM DB2 Cube Viewsは、IBMの登録商標です。プラットフォームの互換性の詳細は、「システム要件と動作要件」を参照してください。

この機能によって、データ・ウェアハウスのパフォーマンスおよびデータベースの機能が向上します。データベースに存在するデータの論理的関係に関するメタデータを、DB2データベースで格納できるようにします。また、効率的なDB2マテリアライズド・クエリー・テーブル(MQT)を使用することによって、データ・ウェアハウスの問合せのスピードが向上します。このMQTは、リレーショナル・データを事前集計して問合せのパフォーマンスを強化します。

問合せの処理時に、DB2のクエリー・リライト機能は可能なかぎりMQTに問合せをルーティングします。このテーブルは基底にある元表より小さく、データが事前集計されているため、再ルーティングされた問合せを高速で実行できます。

DB2 Cube Views Generatorは、Oracle Business Intelligence固有のメタデータをIBM Cube ViewsのXMLファイルに変換するメタデータ・ブリッジとして機能します。メタデータをXMLファイルに変換してから、IBM Cube Viewsを使用して変換後のメタデータをDB2データベースにインポートしてIBM Cube Viewsメタデータ・カタログ表に格納します。メタデータのインポート後は、IBM Optimization Advisorを使用してマテリアライズド・クエリー・テーブル(MQT)およびその索引を作成するスクリプトを生成します。デプロイされたMQTはDB2 Query Reroute Engineで着信するアプリケーション問合せの最適化に使用されます。

DB2には、XMLドキュメントを引数として渡してメタデータ・オブジェクトの作成、変更、削除および読取りを実行するAPI (ストアド・プロシージャとして実装)があります。IBM Cube Viewsの詳細は、IBM DB2のドキュメントを参照してください。

キューブ・メタデータのデプロイ

XMLファイルのインポート前に、DB2 Cube Views Generatorによって生成されたalias-SQLファイルを実行する必要があります。DB2 Cube Views Generatorによって生成されたXMLファイル には、キューブ・メタデータがXML形式で格納されています。XMLファイルをDB2にインポートした後は、マテリアライズ照会表を作成する必要があります。

注意:
XMLファイルのインポート前に、IBM Cube Viewsとそのツールを十分に理解しておくことを強くお薦めします。詳細はIBMのドキュメントを参照してください。

メタデータのデプロイ前に「ジェネレータの実行」に記載された手順を完了します。キューブ・メタデータをデプロイするには、次の各項で説明されているタスクを実行します。

- IBM Cube Viewsに対する別名-SQLファイルの実行

- XMLファイルのインポート

- マテリアライズド・クエリー・テーブル(MQT)作成のガイドライン

IBM Cube Viewsに対する別名-SQLファイルの実行

XMLファイルをDB2データベースにインポートする前に、別名-SQLファイルを実行する必要があります。詳細は、IBMのドキュメントを参照してください。

DB2 Cube Viewsで生成された別名-SQLファイルは、データ・ウェアハウスが配置されたデータベース上のSQLクライアントによって実行する必要があります。実行するとデータベースの表に別名(シノニム)が作成されます。

XMLファイルのインポート

別名-SQLファイルを実行すると、データベースにXMLファイルをインポートできます。詳細は、IBMのドキュメントを参照してください。

注意:
XMLファイルのインポート前に、IBM Cube Viewsとそのツールを十分に理解しておくことを強くお薦めします。詳細はIBMのドキュメントを参照してください。

このファイルのインポートには、次のIBMツールを使用できます。

- IBM OLAPセンター(推奨)。詳細は、「IBM OLAPセンターを使用したXMLファイルのインポートのガイドライン」とIBMのドキュメントを参照してください。

- IBMコマンドライン・クライアント・ユーティリティ(db2mdapiclient.exe)。このユーティリティはDB2に付属しています。コマンドライン・クライアント・ユーティリティ使用の詳細は、IBMのドキュメントを参照してください。

- IBM DB2ストアド・プロシージャ。IBM Cube Viewsは、SQLベースおよびXMLベースのアプリケーション・プログラミング・インタフェース(API)を提供し、これを使用すると、1つのストアド・プロシージャを実行してメタデータ・オブジェクトを作成、変更および取得できます。詳細は、IBMのドキュメントを参照してください。

IBM OLAPセンターを使用したXMLファイルのインポートのガイドライン

IBM OLAPセンターを使用して、キューブのメタデータをDB2にインポートできます。IBM OLAPセンターにはウィザードがあり、ファイルのインポートに使用できます。詳細は、IBMのドキュメントを参照してください。

XMLファイルをインポートするには、次のガイドラインを使用します。

- IBM OLAPセンターのツールを使用して、DB2データベースに接続します。

- インポート・ウィザードで、インポート対象のXMLファイルを選択します。

- データベースに存在しないデータベース構成を参照するメタデータが存在すると、エラー・メッセージが表示されます。

- ウィザードでインポートのオプションを確認されたときは、既存オブジェクトの置換を選択します。

- IBM OLAPセンターに戻ると、キューブ・モデルの図が表示されます。

XMLファイルインポート後のキューブ・メタデータの変更に関するガイドライン

XMLファイルのインポート後に、次の操作の実行が必要な場合があります。

- Oracle OLAPでは外部キーがメタデータとして格納されないため、DB2データベース内の変換後のメタデータには存在しません。IBM Cube Viewsの参照整合性のユーティリティを使用して外部キー情報制約を生成する必要があります。このユーティリティはIBMのWebサイトで提供されています。

- 外部キー結合列がNULL値可能であるなど、その他の問題が発生することがあります。この問題を解決するには、次の方法を使用できます。

- これらの列のデータがNULLでない場合は、列をNOT NULL列に変換します。

- これらの列のデータがNULLの場合、または列のデータがNULL以外でも列のデータ型を変換しないことを選択する場合は、次のガイドラインを使用してキューブ・モデルを変更する必要があります。

- ファクト対ディメンションの結合では、変換後のキューブ・モデルからこのディメンション・オブジェクトを手動で排除し、この結合の外部キーで構成される縮退ディメンション・オブジェクトを作成する必要があります。

- ディメンション対ディメンションの結合では、変換後のキューブ・モデルから結合の主キー側を表すディメンション・オブジェクトを手動で排除し、この結合の外部キーで構成される縮退ディメンション・オブジェクトを作成する必要があります。

- ファクト対ファクトの結合では、変換後のキューブ・モデルから結合の主キー側を表すファクト・オブジェクトを手動で排除し、この結合の外部キーで構成される縮退ディメンション・オブジェクトを作成する必要があります。

- キューブ・ジェネレータでは増分メタデータ変更が許可されません。スキーマの変更では、DB2データベースのキューブ・モデル・メタデータを手動で削除し、Oracle Business Intelligenceのメタデータを変換しなおす必要があります。たとえば、Oracle Business Intelligenceのメタデータ・リポジトリ内のキューブのディメンションを変更する必要がある場合は、DB2データベースのキューブ・モデルを削除し、Oracle Business IntelligenceからXMLファイルを再生成して、DB2データベースにインポートする必要があります。

- DB2 Cube Views Generatorではメタデータの削除はできません。IBM OLAPセンターを使用してキューブ・モデルを手動で削除する必要があります。

- IBM統計ツールとIBM最適化アドバイザを定期的に実行する必要があります。

詳細は、IBMのドキュメントを参照してください。

マテリアライズド・クエリー・テーブル(MQT)作成のガイドライン

詳細は、IBMのドキュメントを参照してください。

キューブのメタデータをデータベースにインポートした後は、IBM最適化アドバイザを実行してSQLスクリプトを生成し、そのスクリプトを実行してMQTを作成する必要があります。実装から最適な結果を取得するにはIBM最適化アドバイザでいくつかのパラメータを指定する必要があります。IBM最適化アドバイザ・ウィザードによってメタデータが分析され、SQL問合せに使用されるデータの格納および索引付けを行うサマリー表を構築する方法をお薦めします。IBM最適化アドバイザの実行は、MQTを最新の状態に保持するためにも役立ちます。また、ETLの実行ごとにデータベースをリフレッシュする必要があります。

MQTを作成するには、次のガイドラインを使用します。

- IBM OLAPセンターで、最適化するキューブ・モデルを選択してIBM最適化アドバイザ・ウィザードを開きます。

- 次の表を参考にして、ウィザードの指示に従います。

確認対象

選択

サマリー表

Deferred (またはImmediate)を選択して、テーブルの表領域を指定します。

制約

最適化パラメータに適切な値を選択します。Data-samplingオプションはオンにします。

SQLスクリプト

サマリー表作成の実行にはスクリプトの作成が必要です。ファイル名と場所を選択します。

- IBM最適化アドバイザが閉じたら、SQLスクリプトを実行してMQTを作成する必要があります。

H ADFマッピングのカスタマイズのためのXMLスキーマ・ファイル

この付録では、app_segment_rule.xsdおよびmapping_rules.xsd XMLスキーマ・ファイルについて説明します。これらのXML検証スキーマに基づいたXMLファイルでは、ADFデータ・ソース・オブジェクトに対する物理から論理へのマッピングの動作を制御するマッピング・ルールを定義します。

この付録には、次の項が含まれます。

- app_segment_rule.xsd XMLスキーマ・ファイル

- app_segment_rules_*.xmlの例

- mapping_rules.xsd XMLスキーマ・ファイル

- mapping_rules_*.xmlの例

app_segment_rule.xsd XMLスキーマ・ファイル

XMLスキーマ・ファイルapp_segment_rule.xsdには、物理表から論理表へのマッピングを定義するマッピング・ルールが含まれています。この項では、app_segment_rule.xsd XMLスキーマ・ファイルの注釈付きのバージョンを提供します。

例H-1 app_segment_rule.xsd

<?xml version="1.0" encoding="utf-8" ?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:complexType name="alias_t">
<xs:attribute name="aliasTableName" type="xs:string" use="required" />
</xs:complexType>
<xs:complexType name="aliasTableList_t">
<xs:sequence>
<xs:element name="AliasTable" type="alias_t" minOccurs="1" maxOccurs=
"unbounded" />
</xs:sequence>
</xs:complexType>
<xs:complexType name="subjectArea_t">
<xs:attribute name="subjectAreaName" type="xs:string" use="required" />
<xs:attribute name="table" type="xs:string" use="optional" />
</xs:complexType>
<xs:complexType name="subjectAreaList_t">
<xs:sequence>
<xs:element name="OTBISubjectArea" type="subjectArea_t" minOccurs="1"
maxOccurs="unbounded" />
</xs:sequence>
</xs:complexType>
<xs:complexType name="columnmapping_t">

<!-- voColumnName specifies the ADF view object column name -->

<xs:attribute name="voColumnName" type="xs:string" use="required" />

<!-- logicalDimColumnName specifies the logical column name -->

<xs:attribute name="logicalDimColumnName" type="xs:string" use="required" />
</xs:complexType>
<xs:complexType name="columnMappingsList_t">
<xs:sequence>

<!-- ColumnMapping specifies the set of column mappings -->

<xs:element name="ColumnMapping" type="columnmapping_t" minOccurs="1"
maxOccurs="unbounded" />
</xs:sequence>
</xs:complexType>
<xs:complexType name="tableName_t">
<xs:attribute name="name" type="xs:string" />
</xs:complexType>
<xs:complexType name="relatedLogicalTablesList_t">
<xs:sequence>
<xs:element name="LogicalTable" type="tableName_t" minOccurs="1"
maxOccurs="unbounded" />
</xs:sequence>
</xs:complexType>
<xs:complexType name="labelToDimMap_t">
<xs:sequence>

<!-- For mapping the _ and _c suffixed value and value set columns in the code,
combine flattened fact view objectS corresponding to the segment mapped to the
logical table -->

<xs:element name="FlattenedFlexVOColumnMappings" type="columnMappingsList_t"
minOccurs="0" maxOccurs="1" />

<!-- TableSpecificColumnMappingOverrides is for future use -->

<xs:element name="TableSpecificColumnMappingOverrides"
type="columnMappingsList_t" minOccurs="0" maxOccurs="1" />

<!-- TableSpecificOTBISubjectAreas specifies the Oracle Transactional Business
Intelligence subjects areas. The unqualified segment Logical Tables Dim - GL
Segment 1 - 10 are dragged to these subject areas. For other use cases, specify
your own repository subject areas. -->

<xs:element name="TableSpecificOTBISubjectAreas" type="subjectAreaList_t"
minOccurs="0" maxOccurs="1" />

<!-- DFFBaseVOAliases specifies the alias view objects of the base view object
mapped to the same logical table. For each of these view objects, the
Administration Tool creates an alias of the DFF view object and joins it to the
base view object alias. -->

<xs:element name="DFFBaseVOAliases" type="aliasTableList_t" minOccurs="0"
maxOccurs="1" />
</xs:sequence>

<!-- RelatedLogicalTables specifies the list of logical tables to which the DFF
view object must be mapped in addition to the logical table mentioned in the
logicalDimTableName attribute. -->

<xs:element name="RelatedLogicalTables" type="relatedLogicalTablesList_t"
minOccurs="0" maxOccurs="1" />
</xs:sequence>

<!-- segmentLabelName is for future use -->

<xs:attribute name="segmentLabelName" type="xs:string" use="optional" />

<!-- logicalDimTableName specifies the logical table to which the ADF view object
is mapped. ADF database properties contain the mapping between the ADF view object
("BIObject_'ADF VO Name'") and logical table mentioned here. -->

<xs:attribute name="logicalDimTableName" type="xs:string" use="required" />

<!-- In role playing dimensions, the logical table specified in the
roleMasterLogicalTableName attribute is used as the master logical table. Whenever
the master logical table is mapped to a view object, the alias of this view object
is created and joined to the table referenced in the flattenedFlexVORoleAlias
attribute. The alias table name is "{ADF_VO_Name}_{Role_Playing_Logical_Table_
Name}". Logical columns are mapped to the columns of this alias table. -->

<xs:attribute name="roleMasterLogicalTableName" type="xs:string"
use="optional" />

<!-- flattenedFlexVORoleAlias specifies the flattened view object alias that needs
to be joined with the role playing view object alias table. -->

<xs:attribute name="flattenedFlexVORoleAlias" type="xs:string" use="optional" />
</xs:complexType>

<!-- The root element for the mapping rule document -->

<xs:complexType name="mappingRules_t">
<xs:sequence>

<!-- GlobalColumnMappings is for future use -->

<xs:element name="GlobalColumnMappings" type="columnMappingsList_t"
minOccurs="0" maxOccurs="1" />

<!-- GlobalOTBISubjectAreas specifies the Oracle Transactional Business
Intelligence subject areas. The unqualified segment Logical Tables Dim - GL
Segment 1 - 10 are dragged to these subject areas. The rules specified here apply
to all logical tables. For other use cases, specify your own subject areas. -->

<xs:element name="GlobalOTBISubjectAreas" type="subjectAreaList_t"
minOccurs="0" maxOccurs="1" />

<!-- LabelToDimensionMappings specifies the rules for a logical table -->

<xs:element name="LabelToDimensionMappings" type="labelToDimMap_t"
minOccurs="0" maxOccurs="unbounded" />
</xs:sequence>

<!-- appName is the ADF Module Name from where the ADF view objects are imported. It is also used as a key for reading the properties from the ADF database. It is
sometimes known as the Category or Module Name. -->

<xs:attribute name="appName" type="xs:string" use="required" />

<!-- businessModelName specifies the business model in the Business Model and
Mapping layer. The ADF view objects are mapped to the logical tables in this
business model. The default business model is "Core." -->

<xs:attribute name="businessModelName" type="xs:string" default="Core"
use="optional" />

<!-- flattenedFlexLogicalTable specifies the logical table to which the flattened
fact view object for the KFF needs to map -->

<xs:attribute name="flattenedFlexLogicalTable" type="xs:string"
use="optional" />
</xs:complexType>

<!-- This is the actual element declaration for the entire Document. -->

<xs:element name="document">
<xs:complexType>
<xs:sequence>

<!--  MappingRules specifies the set of rules. -->

<xs:element name="MappingRules" type="mappingRules_t" minOccurs="0"
maxOccurs="unbounded" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>

app_segment_rules_*.xmlの例

この項では、app_segment_rules.xsdに含まれている検証ルールに基づいたapp_segment_rules_*.xmlファイルの例を示します。実際のファイルは短縮されています。

例H-2 app_segment_rules_*.xmlの例

<?xml version="1.0" encoding="UTF-8" ?>
<document>
<!--  Begin Finance -->
<MappingRules appName="FscmTopModelAM.AccountBIAM" businessModelName="Core"
flattenedFlexLogicalTable="Dim - GL Account">
<GlobalOTBISubjectAreas>
<OTBISubjectArea subjectAreaName="General Ledger - Journals Real Time" />
<OTBISubjectArea subjectAreaName="General Ledger - Transactional Balances Real Time" />
<OTBISubjectArea subjectAreaName="Payables Invoices - Prepayment Invoice Distributions Real
Time" />
<OTBISubjectArea subjectAreaName="Payables Invoices - Transactions Real Time" />
<OTBISubjectArea subjectAreaName="Payables Invoices - Trial Balance Real Time" />
...
</GlobalOTBISubjectAreas>
<LabelToDimensionMappings logicalDimTableName="Dim - Balancing Segment">
<FlattenedFlexVOColumnMappings>
<ColumnMapping voColumnName="_" logicalDimColumnName="Balancing Segment Code" />
<ColumnMapping voColumnName="_c" logicalDimColumnName="Balancing Segment Value Set
Code" />
</FlattenedFlexVOColumnMappings>
<TableSpecificOTBISubjectAreas>
<OTBISubjectArea subjectAreaName="General Ledger - Journals Real Time" table="- Balancing
Segment" />
<OTBISubjectArea subjectAreaName="General Ledger - Transactional Balances Real Time"
table="Balancing Segment" />
<OTBISubjectArea subjectAreaName="Payables Invoices - Prepayment Invoice Distributions
Real Time" table="- Balancing Segment" />
<OTBISubjectArea subjectAreaName="Payables Invoices - Transactions Real Time" table=
"- Balancing Segment" />
<OTBISubjectArea subjectAreaName="Payables Invoices - Trial Balance Real Time"
table="Balancing Segment" />
...
</TableSpecificOTBISubjectAreas>
</LabelToDimensionMappings>
<LabelToDimensionMappings logicalDimTableName="Dim - Cost Center">
<FlattenedFlexVOColumnMappings>
<ColumnMapping voColumnName="_" logicalDimColumnName="Cost Center Segment Code" />
<ColumnMapping voColumnName="_c" logicalDimColumnName="Cost Center Segment Value Set Code"
/>
</FlattenedFlexVOColumnMappings>
<TableSpecificOTBISubjectAreas>
<OTBISubjectArea subjectAreaName="General Ledger - Journals Real Time" table="- Cost
Center Segment" />
<OTBISubjectArea subjectAreaName="General Ledger - Transactional Balances Real Time"
table="Cost Center Segment" />
<OTBISubjectArea subjectAreaName="Payables Invoices - Prepayment Invoice Distributions
Real Time" table="- Cost Center" />
<OTBISubjectArea subjectAreaName="Payables Invoices - Transactions Real Time" table="-
Cost Center" />
<OTBISubjectArea subjectAreaName="Payables Invoices - Trial Balance Real Time" table="Cost
Center" />
...
</TableSpecificOTBISubjectAreas>
</LabelToDimensionMappings>
<LabelToDimensionMappings logicalDimTableName="Dim - Natural Account Segment">
<FlattenedFlexVOColumnMappings>
<ColumnMapping voColumnName="_" logicalDimColumnName="Natural Account Segment Code" />
<ColumnMapping voColumnName="_c" logicalDimColumnName="Natural Account Segment Value Set
Code" />
</FlattenedFlexVOColumnMappings>
<TableSpecificOTBISubjectAreas>
<OTBISubjectArea subjectAreaName="General Ledger - Journals Real Time" table="- Natural
Account Segment" />
<OTBISubjectArea subjectAreaName="General Ledger - Transactional Balances Real Time"
table="Natural Account Segment" />
<OTBISubjectArea subjectAreaName="Payables Invoices - Prepayment Invoice Distributions
Real Time" table="- Natural Account" />
<OTBISubjectArea subjectAreaName="Payables Invoices - Transactions Real Time" table=
"- Natural Account" />
<OTBISubjectArea subjectAreaName="Payables Invoices - Trial Balance Real Time"
table="Natural Account" />
...
</TableSpecificOTBISubjectAreas>
</LabelToDimensionMappings>
<LabelToDimensionMappings logicalDimTableName="Dim - GL Segment1">
<FlattenedFlexVOColumnMappings>
<ColumnMapping voColumnName="_" logicalDimColumnName="Account Segment1 Code" />
<ColumnMapping voColumnName="_c" logicalDimColumnName="Account Segment1 Value Set Code" />
</FlattenedFlexVOColumnMappings>
</LabelToDimensionMappings>
<LabelToDimensionMappings logicalDimTableName="Dim - GL Segment2">
<FlattenedFlexVOColumnMappings>
<ColumnMapping voColumnName="_" logicalDimColumnName="Account Segment2 Code" />
<ColumnMapping voColumnName="_c" logicalDimColumnName="Account Segment2 Value Set Code" />
</FlattenedFlexVOColumnMappings>
</LabelToDimensionMappings>
...
<LabelToDimensionMappings logicalDimTableName="Dim - AP Account Balancing Segment"
roleMasterLogicalTableName="Dim - Balancing Segment" flattenedFlexVORoleAlias="Dim_FLEX_BI_
Account_VI_APAccount">
<TableSpecificOTBISubjectAreas>
<OTBISubjectArea subjectAreaName="Payables Invoices - Prepayment Invoice Distributions
Real Time" table="- Distribution Balancing Segment Value" />
<OTBISubjectArea subjectAreaName="Payables Invoices - Transactions Real Time" table="-
Distribution Balancing Segment Value" />
</TableSpecificOTBISubjectAreas>
</LabelToDimensionMappings>
<LabelToDimensionMappings logicalDimTableName="Dim - AP Account Cost Center"
roleMasterLogicalTableName="Dim - Cost Center" flattenedFlexVORoleAlias="Dim_FLEX_BI_
Account_VI_APAccount">
<TableSpecificOTBISubjectAreas>
<OTBISubjectArea subjectAreaName="Payables Invoices - Prepayment Invoice Distributions
Real Time" table="- Distribution Cost Center Segment Value" />
<OTBISubjectArea subjectAreaName="Payables Invoices - Transactions Real Time" table="-
Distribution Cost Center Segment Value" />
</TableSpecificOTBISubjectAreas>
</LabelToDimensionMappings>
...
</MappingRules>
<MappingRules appName="FscmTopModelAM.LocationBIAM" businessModelName="Core"
flattenedFlexLogicalTable="Dim - Asset Location">
<LabelToDimensionMappings logicalDimTableName="Segment1">
<FlattenedFlexVOColumnMappings>
<ColumnMapping voColumnName="_" logicalDimColumnName="Segment1" />
</FlattenedFlexVOColumnMappings>
</LabelToDimensionMappings>
<LabelToDimensionMappings logicalDimTableName="Segment2">
<FlattenedFlexVOColumnMappings>
<ColumnMapping voColumnName="_" logicalDimColumnName="Segment2" />
</FlattenedFlexVOColumnMappings>
</LabelToDimensionMappings>
...
</MappingRules>
<MappingRules appName="FscmTopModelAM.CategoryBIAM" businessModelName="Core"
flattenedFlexLogicalTable="Dim - Asset Category">
<LabelToDimensionMappings logicalDimTableName="Segment1">
<FlattenedFlexVOColumnMappings>
<ColumnMapping voColumnName="_" logicalDimColumnName="Segment1" />
</FlattenedFlexVOColumnMappings>
</LabelToDimensionMappings>
<LabelToDimensionMappings logicalDimTableName="Segment2">
<FlattenedFlexVOColumnMappings>
<ColumnMapping voColumnName="_" logicalDimColumnName="Segment2" />
</FlattenedFlexVOColumnMappings>
</LabelToDimensionMappings>
...
<LabelToDimensionMappings logicalDimTableName="Major Category">
<FlattenedFlexVOColumnMappings>
<ColumnMapping voColumnName="_" logicalDimColumnName="Major Category" />
</FlattenedFlexVOColumnMappings>
</LabelToDimensionMappings>
<LabelToDimensionMappings logicalDimTableName="Minor Category">
<FlattenedFlexVOColumnMappings>
<ColumnMapping voColumnName="_" logicalDimColumnName="Minor Category" />
</FlattenedFlexVOColumnMappings>
</LabelToDimensionMappings>
</MappingRules>
...
<MappingRules appName="FscmTopModelAM.ExternalTransactionBIAM" businessModelName="Core"
flattenedFlexLogicalTable="">
<!-- Use the below tag if you want any one of the following use cases for the "base logical
table" your DFF is mapped to in ATG -->
<!-- (a) need to expose the base logical table DFF attributes to specific presentation
subject area and table -->
<!-- (b) you have additional VO aliases mapped to the base logical table in addition to the
base VO itself -->
<!-- (c) you have additional "related logical tables" that you want automapped when the base
logical table is mapped in ATG -->
<LabelToDimensionMappings logicalDimTableName="Dim - CE External Cash Transaction Details">
<!-- Use the below tag to indicate the presentation subject area and table where the DFF
attributes need to be exposed -->
<!-- Repeat the OTBISubjectArea tag to expose them in multiple subject areas or tables -->
<TableSpecificOTBISubjectAreas>
<OTBISubjectArea subjectAreaName="Cash Management - External Cash Transactions Real Time"
table="External Cash Transaction Detail" />
</TableSpecificOTBISubjectAreas>
<!-- Use the below tag to give the VO alias names, if any, that are mapped to the base
logical table in addition to the base VO -->
<!-- Repeat the AliasTable tag if you have multiple VO aliases -->
<DFFBaseVOAliases>
<AliasTable aliasTableName="Fact_ExternalTransactionsPVO_JournalEntryLine" />
</DFFBaseVOAliases>
</LabelToDimensionMappings>
</MappingRules>
...
<MappingRules appName="FscmTopModelAM.CalendarTypeDFFBIAM" businessModelName="Core"
flattenedFlexLogicalTable="">
...
<LabelToDimensionMappings logicalDimTableName="Dim - Date Fixed Assets Calendar">
...
<TableSpecificOTBISubjectAreas>
<OTBISubjectArea subjectAreaName="Fixed Assets - Asset Transactions Real Time"
table="Transaction Effective Date" />
</TableSpecificOTBISubjectAreas>
</LabelToDimensionMappings>
<!-- Use the below tag if you have any "role-playing logical tables" for the base logical
table. -->
<LabelToDimensionMappings logicalDimTableName="Dim - Date Placed in Service Fixed Asset
Calendar" roleMasterLogicalTableName="Dim - Date Fixed Assets Calendar"
flattenedFlexVORoleAlias="Dim_CalendarDayPVO_DatePlacedInService">
<!-- Use the below tag to indicate the presentation subject area and table where the DFF
attributes from the role-playig logical table need to be exposed -->
<TableSpecificOTBISubjectAreas>
<OTBISubjectArea subjectAreaName="Fixed Assets - Asset Financial Information Real Time"
table="Date Placed in Service" />
</TableSpecificOTBISubjectAreas>
</LabelToDimensionMappings>
<LabelToDimensionMappings logicalDimTableName="Dim - Transaction Date Fixed Asset Calendar"
roleMasterLogicalTableName="Dim - Date Fixed Assets Calendar" flattenedFlexVORoleAlias="Dim_
CalendarDayPVO_TransactionDate">
<!-- Use the below tag to indicate the presentation subject area and table where the DFF
attributes from the role-playig logical table need to be exposed -->
<TableSpecificOTBISubjectAreas>
<OTBISubjectArea subjectAreaName="Fixed Assets - Asset Assignments Real Time"
table="Transaction Date" />
<OTBISubjectArea subjectAreaName="Fixed Assets - Asset Financial Information Real Time"
table="Transaction Date" />
<OTBISubjectArea subjectAreaName="Fixed Assets - Asset Retirements and Reinstatements Real
Time" table="Transaction Date" />
<OTBISubjectArea subjectAreaName="Fixed Assets - Asset Transactions Real Time"
table="Transaction Date" />
<OTBISubjectArea subjectAreaName="Fixed Assets - Asset Transfer Real Time"
table="Transaction Date" />
</TableSpecificOTBISubjectAreas>
</LabelToDimensionMappings>
...
</MappingRules>
...
<!-- Rule file for AP_TERMS_B -->
<MappingRules appName="FscmTopModelAM.PaymentTermHeaderDffBIAM" businessModelName="Core"
flattenedFlexLogicalTable="">
<LabelToDimensionMappings logicalDimTableName="Dim - AP Terms">
<TableSpecificOTBISubjectAreas>
<OTBISubjectArea subjectAreaName="Payables Invoices - Transactions Real Time" table=
"- Header Information" />
</TableSpecificOTBISubjectAreas>
</LabelToDimensionMappings>
</MappingRules>
<!-- Rule file for AP_PAYMENT_SCHEDULES -->
<MappingRules appName="FscmTopModelAM.InstallmentsDffBIAM" businessModelName="Core"
flattenedFlexLogicalTable="">
<LabelToDimensionMappings logicalDimTableName="Dim - AP Payment Schedule Details">
<TableSpecificOTBISubjectAreas>
<OTBISubjectArea subjectAreaName="Payables Invoices - Installments Real Time"
table="Invoices Installment Details" />
</TableSpecificOTBISubjectAreas>
<DFFBaseVOAliases>
<AliasTable aliasTableName="Fact_InvoicePaymentSchedulePVO_Disbursement" />
</DFFBaseVOAliases>
</LabelToDimensionMappings>
</MappingRules>
...
<!-- Rule file for DFF AP_HOLDS -->
<MappingRules appName="FscmTopModelAM.HoldsDffBIAM" businessModelName="Core"
flattenedFlexLogicalTable="">
<LabelToDimensionMappings logicalDimTableName="Dim - AP Hold Details">
<TableSpecificOTBISubjectAreas>
<OTBISubjectArea subjectAreaName="Payables Invoices - Holds Real Time" table="Invoices
Hold Details" />
</TableSpecificOTBISubjectAreas>
</LabelToDimensionMappings>
</MappingRules>
<!-- End Finance -->

<!-- Rule file for JobAM EFF -->
</MappingRules>
<MappingRules appName="HcmTopModelAnalyticsGlobalAM.JobAM.PER_JOBS_LEG_EFF" businessModelName="Core" flattenedFlexLogicalTable="">
<LabelToDimensionMappings logicalDimTableName="Dim - Job">
<TableSpecificOTBISubjectAreas>
<OTBISubjectArea subjectAreaName="Workforce Management - Worker Assignment Real Time" table="Job" />
</TableSpecificOTBISubjectAreas>
</LabelToDimensionMappings>
</MappingRules>
...
</document>

mapping_rules.xsd XMLスキーマ・ファイル

XMLスキーマ・ファイルmapping_rules.xsdには、物理列から論理列へのマッピングを定義するマッピング・ルールが含まれています。この項では、mapping_rules.xsd XMLスキーマ・ファイルの注釈付きのバージョンを提供します。

例H-3 mapping_rules.xsd

<?xml version="1.0" encoding="utf-8" ?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">

<!-- This XML validation schema defines data extensibility rules that determine
how objects imported at the Physical layer are mapped to the Business
Model and Mapping layer. -->

<xs:simpleType name="yes_no_t">
<xs:restriction base="xs:string">
<xs:enumeration value="yes" />
<xs:enumeration value="no" />
</xs:restriction>
</xs:simpleType>

<!-- Description of one mapping -->

<xs:complexType name="mapping_t">

<!-- The source attribute specifies the physical ADF view object column -->

<xs:attribute name="source" type="xs:string" use="required" />

<!-- The target attribute specifies the target logical column suffix or complete
name -->

<xs:attribute name="target" type="xs:string" use="required" />

<!-- The addprefix attribute specifies whether or not the prefix specified in the
"rule" must be prefixed with the target to get the logical table column name
before performing the mapping -->

<xs:attribute name="addprefix" type="yes_no_t" default="no" use="optional" />
</xs:complexType>
<xs:complexType name="rule_t">
<xs:sequence>

<!-- List of mappings that define the rule -->

<xs:element name="mapping" type="mapping_t" minOccurs="1" maxOccurs="unbounded"
/>
</xs:sequence>

<!-- The name attribute specifies the rule name. This name is used by the instance
to specify which rule to apply. -->

<xs:attribute name="name" type="xs:string" use="required" />
</xs:complexType>
<xs:complexType name="rules_t">
<xs:sequence>

<!-- Each rule defines the source (physical) to target (logical) mapping. It
is used by the Import Metadata Wizard during the Physical to Logical Mapping
phase. Each mapping in a rule can specify whether the default prefix for an
instance should be added. -->

<xs:element name="rule" type="rule_t" minOccurs="1" maxOccurs="unbounded" />
</xs:sequence>
</xs:complexType>
<xs:complexType name="apply_t">

<!-- The rule attribute specifies which rule to apply for the logical table
mentioned in the instance. -->

<xs:attribute name="rule" type="xs:string" use="required" />

<!-- The prefix attribute specifies the string that might or might not be
prepended when performing the mapping between the ADF view object column and the
logical table column. -->

<xs:attribute name="prefix" type="xs:string" default="" use="optional" />
</xs:complexType>
<xs:complexType name="instance_t">
<xs:sequence>

<!-- apply specifies what rule to apply to the logical table -->

<xs:element name="apply" type="apply_t" minOccurs="1" maxOccurs="unbounded" />
</xs:sequence>

<!-- The logicaltable attribute specifies the logical table to which the rule is
applied -->

<xs:attribute name="logicaltable" type="xs:string" use="required" />
</xs:complexType>
<xs:complexType name="instances_t">
<xs:sequence>

<!-- Each instance is associated with a single logical table. It applies any
number of rules, with an optional prefix. The rules are applied in order. Note
that the prefix includes a space at the end. It merely concatenates with the
target logical column to determine the right logical column to map to. -->

<xs:element name="instance" type="instance_t" minOccurs="1" maxOccurs="unbounded" />
</xs:sequence>

<!-- appName is the ADF Module Name from which ADF view objects are imported -->

<xs:attribute name="appName" type="xs:string" />
</xs:complexType>

<!-- The document element is the element declaration for the entire document -->

<xs:element name="document">
<xs:complexType>
<xs:sequence>

<!-- The rules element specifies the set of rules -->

<xs:element name="rules" type="rules_t" minOccurs="1" maxOccurs="1" />

<!-- The instances element specifies the set of instances related to a single ADF
module. -->

<xs:element name="instances" type="instances_t" minOccurs="1" maxOccurs="1" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>

mapping_rules_*.xmlの例

この項では、mapping_rules.xsdに含まれている検証ルールに基づいたmapping_rules_*.xmlファイルの例を示します。実際のファイルは短縮されています。

例H-4 mapping_rules_*.xml

<?xml version="1.0" encoding="UTF-8" ?>
<document>
<rules>

<!-- Each Rule defines the source (physical) to target (logical) mapping. It is
used by the Import Metadata Wizard during the Physical to Logical Mapping phase.
Each mapping in a rule can specify whether it should add the default prefix for an
instance. -->

<rule name="GL Segment Tree Rule">
<mapping source="TreeCode" target="Tree Code" addprefix="no" />
<mapping source="TreeVersionId" target="Tree Version ID" addprefix="no" />
<mapping source="VersionName" target="Tree Version Name" addprefix="no" />
<mapping source="Dep0Pk2Value" target="Segment Value Set Code" addprefix="yes" />
<mapping source="Dep0Value" target="Segment Code" addprefix="yes" />
<mapping source="Dep0Description" target="Segment Description" addprefix="yes" />
<mapping source="Dep1Value" target="Level 1 Code" addprefix="yes" />
<mapping source="Dep1Description" target="Level 1 Description" addprefix="yes" />
<mapping source="Dep2Value" target="Level 2 Code" addprefix="yes" />
<mapping source="Dep2Description" target="Level 2 Description" addprefix="yes" />
<mapping source="Dep3Value" target="Level 3 Code" addprefix="yes" />
<mapping source="Dep3Description" target="Level 3 Description" addprefix="yes" />
...
<mapping source="Distance" target="Fixed Hierarchy Level" addprefix="no" />
<mapping source="VersionEffectiveStartDate" target="Effective From" addprefix="no" />
<mapping source="VersionEffectiveEndDate" target="Effective To" addprefix="no" />
</rule>
<rule name="GL Segment Non-Tree Rule">
<mapping source="Value" target="Segment Code" addprefix="yes" />
<mapping source="ValueSetCode" target="Segment Value Set Code" addprefix="yes" />
<mapping source="Description" target="Segment Description" addprefix="yes" />
</rule>
<rule name="Qualified Segment Tree Rule">
<mapping source="TreeCode" target="Tree Code" addprefix="no" />
<mapping source="TreeVersionId" target="Tree Version ID" addprefix="no" />
<mapping source="VersionName" target="Tree Version Name" addprefix="no" />
<mapping source="Dep0Pk2Value" target="Value Set Code" addprefix="yes" />
<mapping source="Dep0Value" target="Code" addprefix="yes" />
<mapping source="Dep0Description" target="Description" addprefix="yes" />
<mapping source="Dep1Value" target="Level 1 Code" addprefix="yes" />
<mapping source="Dep1Description" target="Level 1 Description" addprefix="yes" />
<mapping source="Dep2Value" target="Level 2 Code" addprefix="yes" />
<mapping source="Dep2Description" target="Level 2 Description" addprefix="yes" />
<mapping source="Dep3Value" target="Level 3 Code" addprefix="yes" />
<mapping source="Dep3Description" target="Level 3 Description" addprefix="yes" />
...
<mapping source="Distance" target="Fixed Hierarchy Level" addprefix="no" />
<mapping source="VersionEffectiveStartDate" target="Effective From" addprefix="no" />
<mapping source="VersionEffectiveEndDate" target="Effective To" addprefix="no" />
<mapping source="Dep0FlexValueAttribute6" target="Group Account Number" addprefix="no" />
</rule>
<rule name="Qualified Segment Non-Tree Rule">
<mapping source="Value" target="Code" addprefix="yes" />
<mapping source="ValueSetCode" target="Value Set Code" addprefix="yes" />
<mapping source="Description" target="Description" addprefix="yes" />
<mapping source="FlexValueAttribute6" target="Group Account Number" addprefix="no" />
</rule>
<rule name="Role Playing KFF Tree Rule 1">
<mapping source="TreeCode" target="Tree Code" addprefix="no" />
<mapping source="TreeVersionId" target="Tree Version ID" addprefix="no" />
<mapping source="Dep0Description" target="Description" addprefix="yes" />
<mapping source="Dep0Pk2Value" target="Value Set Code" addprefix="yes" />
<mapping source="Dep0Value" target="Code" addprefix="yes" />
<mapping source="Value" target="Code" addprefix="yes" />
<mapping source="ValueSetCode" target="Value Set Code" addprefix="yes" />
<mapping source="Description" target="Description" addprefix="yes" />
</rule>
<rule name="Role Playing KFF Tree Rule 2">
<mapping source="TreeCode" target="Tree Code" addprefix="no" />
<mapping source="TreeVersionId" target="Tree Version ID" addprefix="no" />
<mapping source="Dep0Description" target="Desscription" addprefix="yes" />
<mapping source="Dep0Pk2Value" target="Value Set Code" addprefix="yes" />
<mapping source="Dep0Value" target="Code" addprefix="yes" />
<mapping source="Value" target="Code" addprefix="yes" />
<mapping source="ValueSetCode" target="Value Set Code" addprefix="yes" />
<mapping source="Description" target="Desscription" addprefix="yes" />
</rule>
...
</rules>
<instances appName="FscmTopModelAM.AccountBIAM">

<!-- Each instance is associated with the a single logical table. It applies any number of
rules, with an optional prefix. The rules are applied in order. Note that the prefix includes
a space at the end. It merely concatenates with the target logical column to determine the
right logical column to map to. -->

<instance logicaltable="Dim - Balancing Segment">
<apply rule="Qualified Segment Tree Rule" prefix="Balancing Segment" />
<apply rule="Qualified Segment Non-Tree Rule" prefix="Balancing Segment" />
</instance>
<instance logicaltable="Dim - Cost Center">
<apply rule="Qualified Segment Tree Rule" prefix="Cost Center" />
<apply rule="Qualified Segment Non-Tree Rule" prefix="Cost Center" />
</instance>
<instance logicaltable="Dim - Natural Account Segment">
<apply rule="Qualified Segment Tree Rule" prefix="Account" />
<apply rule="Qualified Segment Non-Tree Rule" prefix="Account" />
</instance>
<instance logicaltable="Dim - GL Segment1">
<apply rule="GL Segment Tree Rule" />
<apply rule="GL Segment Non-Tree Rule" />
</instance>
<instance logicaltable="Dim - GL Segment2">
<apply rule="GL Segment Tree Rule" />
<apply rule="GL Segment Non-Tree Rule" />
</instance>
<instance logicaltable="Dim - GL Segment3">
<apply rule="GL Segment Tree Rule" />
<apply rule="GL Segment Non-Tree Rule" />
</instance>
...
<instance logicaltable="Dim - AP Account Balancing Segment">
<apply rule="Role Playing KFF Tree Rule 1" prefix="Balancing Segment" />
</instance>
<instance logicaltable="Dim - AP Asset Account Balancing Segment">
<apply rule="Role Playing KFF Tree Rule 1" prefix="Balancing Segment" />
</instance>
<instance logicaltable="Dim - AP Pay Account Balancing Segment">
<apply rule="Role Playing KFF Tree Rule 1" prefix="Balancing Segment" />
</instance>
<instance logicaltable="Dim - Asset From Balancing Segment">
<apply rule="Role Playing KFF Tree Rule 3" prefix="Asset From Balancing Segment" />
</instance>
<instance logicaltable="Dim - Asset To Balancing Segment">
<apply rule="Role Playing KFF Tree Rule 3" prefix="Asset To Balancing Segment" />
</instance>
<instance logicaltable="Dim - Asset Balancing Segment">
<apply rule="Role Playing KFF Tree Rule 3" prefix="Asset Balancing Segment" />
</instance>
<instance logicaltable="Dim - Distribution Balancing Segment">
<apply rule="Role Playing KFF Tree Rule 3" prefix="Distribution Balancing Segment" />
</instance>
<instance logicaltable="Dim - SLA Balancing Segment">
<apply rule="Role Playing KFF Tree Rule 3" prefix="Balancing Segment" />
</instance>
<instance logicaltable="Dim - CE Asset Balancing Segment Value">
<apply rule="Role Playing KFF Tree Rule 1" prefix="Balancing Segment" />
</instance>
<instance logicaltable="Dim - CE Offset Balancing Segment Value">
<apply rule="Role Playing KFF Tree Rule 1" prefix="Balancing Segment" />
</instance>
...
</instances>
</document>

I 管理ツールのキーボード・ショートカット

この付録では、メニュー項目と対応するキーボード・ショートカット、ダイアログをナビゲートするためのキーボード・ショートカット、物理図とビジネス・モデル図のキーボード・ショートカットなど、Oracle BI管理ツールのキーボード・ショートカットを紹介します。

この付録のトピックは次のとおりです。

- メニューのキーボード・ショートカット

- ダイアログのキーボード・ショートカット

- 物理図およびビジネス・モデル図のキーボード・ショートカット

メニューのキーボード・ショートカット

管理ツールのメニュー・オプションのキーボード・ショートカットを次に説明します。

「ファイル」メニューのショートカット

- 「新規」のショートカットは、[Ctrl]+[N]です。

- 「開く」、続いて「オフライン」のショートカットは、[Ctrl]+[F]です。

- 「開く」、続いて「オンライン」のショートカットは、[Ctrl]+[L]です。

- 「保存」のショートカットは、[Ctrl]+[S]です。

- グローバルな整合性のチェックのショートカットは、[Ctrl]+[K]です。

「編集」メニューのショートカット

- 「切取り」のショートカットは、[Ctrl]+[X]です。

- 「コピー」のショートカットは、[Ctrl]+[C]です。

- 「貼付け」のショートカットは、[Ctrl]+[V]です。

- 「削除」のショートカットは、[Del]です。

「表示」メニューのショートカット

- 「リフレッシュ」のショートカットは、[F5]です。

「ツール」メニューのショートカット

- 整合性チェッカの表示のショートカットは、[Ctrl]+[E]です。

- 「リポジトリの問合せ」のショートカットは、[Ctrl]+[Q]です。

一般的なメニューのショートカット

表I-1に、管理ツール・メニューで一般的に使用できるキーボード・ショートカットを示します。Windowsのメニュー・オプションを使用してメニューからナビゲーション・ペインにフォーカス変更できることに留意してください。

表I-1 メニューのキーボード・ショートカット

アクション

キーボード・ショートカット

アプリケーションの終了

[Alt]+[F4]

メニュー・オプションへのカーソルの移動

[Alt]+下線付き文字のキー

開いているアプリケーションのコントロール・メニュー

[Alt]+[Space]

選択した項目のショートカット・メニューの表示

[Shift]+[F10]

メニュー・バーでの移動

[←]

[→]

メニュー・オプションを開く

[↓]

メニュー・リストでの移動

[↑]

[↓]

現在のメニューを閉じる

[Esc]

チェック・ボックスまたはリストの項目の選択および選択解除

[Space]

隣接しない項目の選択

[Ctrl]+[↑]+[Space]

ダイアログのキーボード・ショートカット

表I-2に、管理ツールのダイアログで使用できるキーボード・ショートカットを示します。

表I-2 ダイアログのキーボード・ショートカット

アクション

キーボード・ショートカット

後続のオプションに移動

[Tab]

前のオプションに移動

[Shift]+[Tab]

リストの項目の選択または選択解除

[Shift]+[↑]

[Shift]+[↓]

現在のダイアログを閉じる

[Esc]

リストの最上部に移動

[Home]

リストの最下部に移動

[End]

リフレッシュ

F5

上矢印ボタンが表示されたダイアログ: 選択した項目をリスト内で上に移動

[Alt]+[↑]

注意: このショートカットは、リスト項目を選択してから使用します。

下矢印ボタンが表示されたダイアログ: 選択した項目をリスト内で下に移動

[Alt]+[↓]

注意: このショートカットは、リスト項目を選択してから使用します。

正符号(追加)ボタンが表示されたダイアログ: リストから項目を挿入

[Alt]+[Insert]

「X」(削除)ボタンが表示されたダイアログ: リストから項目を削除

[Alt]+[Del]

鉛筆(編集)ボタンが表示されたダイアログ: リストの項目を編集

[Alt]+[Enter]

ダイアログの参照: 左ペインに配置されたツリー間のフォーカスの移動

[F5]、[F6]、[Shift]+[Tab]、[Tab]

表の行に子の行がある場合(グリッド): 正符号アイコンが表示されたセルから子の行を開く

この状況は、「リポジトリ・マージ・ウィザード」の「マージ戦略の定義」ページで発生します。

[Space]

注意: このショートカットは正符号アイコンが表示されるセルにフォーカスを移動してから使用します。

表の行にチェック・ボックスがある場合: チェック・ボックスの選択または選択解除

この状況は、「リポジトリ・マージ・ウィザード」の「マージ戦略の定義」ページで発生します。

[Space]

注意: このショートカットはチェック・ボックスを表示するセルにフォーカスを移動してから使用します。

物理図およびビジネス・モデル図のキーボード・ショートカット

表I-3に、物理図およびビジネス・モデル図で使用できるキーボード・ショートカットを示します。「物理図」および「ビジネス・モデル図」のツールバー・オプションは、「図」メニューからも使用できます。

表I-3 図のキーボード・ショートカット

アクション

キーボード・ショートカット

ダイアグラム・オブジェクト非選択時の、図の周囲のパン

矢印キー

ダイアグラム・オブジェクトの選択: 矢印キーを使用してポインタ下のオブジェクト移動し、[Space]を押してオブジェクトを選択

[Space]+矢印キー

選択したダイアグラム・オブジェクトのプロパティ・ダイアログを開く

[Enter]

現在の操作の取消し

[Esc]

パンまたはマーキー・ズーム使用後のデフォルト・モード(選択)の再開

[Esc]

オブジェクトの選択解除

次のいずれかの方法を使用します。

[Esc]

マウスのカーソルがオブジェクト上にない場合は[Space]を押します。

ズームイン

+

ズームアウト

-

パン・ツールの選択

P

図の周囲のパンには矢印キーも使用できます。

自動レイアウトに戻す

S

新しい結合の作成

J

このショートカットによって「新規結合」が選択されます。

新しい表の作成

N

このショートカットによって「新規表」オプションが選択されます。このショートカットの使用後は、矢印キーと[Space]を使用して図の周囲をパンしたり、新規表の「論理表」ダイアログを開くことができます。

マーキー・ズーム・ツールの選択

Z

このショートカットによって「マーキー・ズーム」ツールが選択されます。

現在のビューの全オブジェクトをズームして合せる

F

拡張されたビューの全表を列とともに表示

1

縮小したビューの全表を、列を非表示にして表名のみで表示

2

J 管理ツールのユーザー・インタフェースのコンポーネント

この付録はアイコン参照として使用でき、管理ツールで使用するアイコンのリストを提供します。また、アイコンに対応している各要素のメタデータ・リポジトリ開発での使用方法を説明するトピックの参照としても使用できます。

内容は次のとおりです。

- このアイコン参照について

- 物理レイヤーのアイコン

- ビジネス・モデルとマッピング・レイヤーのアイコン

- プレゼンテーション・レイヤーのアイコン

- Identity Managerのアイコン

- 結合マネージャのアイコン

- 変数マネージャのアイコン

- プロジェクト・マネージャのアイコン

このアイコン参照について

このアイコン参照では、アイコンは、表示される管理ツールのレイヤーまたはウィンドウに応じて分類されています。

複数のウィンドウのアイコン

いくつかのアイコンは管理ツールの複数のウィンドウで表示されます。この例として、式ビルダー・アイコンがあります。

複数のウィンドウに表示されるその他のアイコンには、表の物理バージョン、論理バージョン、プレゼンテーション・バージョンなどのように、1つのオブジェクトの様々なステージまたは使用法を表すものがあります。

オーバーレイ記号

表J-1に、他のアイコンをオーバーレイする管理ツールの記号について説明します。これらの記号は管理ツールの様々なウィンドウに表示できます。

表J-1 オーバレイ記号

記号

説明

参照ショートカット

管理ツールの既存のリポジトリ・オブジェクトに対する参照ショートカットを表します。

オブジェクトのチェックアウト

オンライン・モードで開いているリポジトリでオブジェクトがチェックアウトされたことを登録します。

他の場所に示すアイコン

管理ツールのすべてのアイコンを、このアイコン参照で説明しているわけではありません。主な例外は次のとおりです。

- 管理ツールの特定のアイコンについては、次に示すように、このマニュアルの別の場所で説明しています。

- 表2-5「物理図およびビジネス・モデル図のツールバー・オプション」

- 表4-1「SCM構成エディタで環境変数を管理するためのオプション」

- 図17-4「マージ戦略の定義」画面の要素

- このアイコン参照では、メタデータ・リポジトリ開発に関連するアイコンのみを特定しています。他のガイドでカバーされているオブジェクトおよび関数のアイコンは対象外です。たとえば、ジョブ、セッション、キャッシュ・エントリ、クラスタ関連のアイコンや、Oracleマーケティング・セグメンテーション関連のアイコンなどです。これらのオブジェクトおよび関数のガイドは、管理メニューに関する項で説明するオプションにあります。

- リポジトリ・オブジェクトのアイコンの変更に関する項で説明するように、多くのリポジトリ・オブジェクトに関連付けられているアイコンを変更できます。このアイコン参照には、Oracle Business Intelligenceのリリースに伴うアイコンとオブジェクトの関連付けと、変更前のものが記載されています。

物理レイヤーのアイコン

この項では、物理レイヤーのアイコンを示します。

表J-2 物理レイヤーのアイコン

アイコン

参照先

アナリティック・ワークスペース

Oracle OLAPアナリティック・ワークスペース(AW)オブジェクトでの作業

物理列

リレーショナル表およびキューブ表の列とキーの作成と管理

接続プール

接続プールの作成または変更

キューブ表

物理表と物理キューブ表の作成と管理

キューブ列

リレーショナル表およびキューブ表の列とキーの作成と管理

キューブ表ビュー

不透明なビューのデプロイ

データベース

データベース・オブジェクトの設定

キューブを含むデータベース

物理レイヤーのマルチディメンション・ソースでの作業

Oracle OLAPデータベース

Oracle OLAPデータ・ソースでの作業

物理ディメンション

物理ディメンションおよび物理階層での作業

物理表示フォルダ(クローズ)

物理レイヤーでの表示フォルダの設定

物理表示フォルダ(オープン)

物理レイヤーでの表示フォルダの設定

物理階層

物理ディメンションおよび物理階層での作業

キー

リレーショナル表およびキューブ表の列とキーの作成と管理

マルチディメンショナル・キー

リレーショナル表およびキューブ表の列とキーの作成と管理

物理カタログ

物理レイヤー・カタログおよびスキーマの作成

物理レベル

物理階層オブジェクトでの作業

物理スキーマ

物理レイヤー・カタログおよびスキーマの作成

物理表

物理表での作業

物理別名表

物理別名表について

親子関係表

親子関係表の定義

不透明なビュー

不透明なビュー・オブジェクトのデプロイ

ストアド・プロシージャ

物理レイヤーの表について

ビジネス・モデルとマッピング・レイヤーのアイコン

この項では、ビジネス・モデルとマッピング・レイヤーのアイコンを示します。

表J-3 ビジネス・モデルとマッピング・レイヤーのアイコン

アイコン

参照先

集計

メジャー列の集計のデフォルト・レベルの設定

ビジネス・モデル

ビジネス・モデルの作成

ビジネス・モデル(無効)

ビジネス・モデルの作成

論理列

論理列の作成

論理列(派生)

派生列の作成

論理ディメンション

論理ディメンションの操作

論理表示フォルダ(クローズ)

ビジネス・モデルとマッピング・レイヤーでの表示フォルダの設定

論理表示フォルダ(オープン)

ビジネス・モデルとマッピング・レイヤーでの表示フォルダの設定

無効なオブジェクト

ユーザーの注意を必要とするオブジェクト(たとえば、編集または削除する必要のあるオブジェクト)に関する重大な問題を示しています。

論理キー

論理表の主キーの指定

論理レベル

ディメンション内の論理レベルの作成

論理レベル・キー

ディメンション内の論理レベルの作成

論理参照表

論理表の作成

論理表

論理表の作成

論理ファクト表

論理結合の定義

論理表ソース

論理表ソースの作成と管理

プレゼンテーション・レイヤーのアイコン

この項では、プレゼンテーション・レイヤーのアイコンを示します。

表J-4 プレゼンテーション・レイヤーのアイコン

アイコン

参照先

集計

プレゼンテーション列の作成および管理

プレゼンテーション列

プレゼンテーション列の作成および管理

プレゼンテーション列(派生)

プレゼンテーション列の作成および管理

プレゼンテーション階層

プレゼンテーション階層の作成および管理

キー

プレゼンテーション列の作成および管理

プレゼンテーション・レベル

プレゼンテーション・レベルの作成および管理

サブジェクト・エリア

サブジェクト・エリアの作成

プレゼンテーション表

プレゼンテーション表の作成および管理

Identity Managerのアイコン

この項では、Identity Managerのアイコンを示します。

表J-5 Identity Managerのアイコン

アイコン

参照先

Identity Managerフォルダ

データ・アクセス・セキュリティについて

BIリポジトリ・フォルダ

データ・アクセス・セキュリティについて

アダプタ・フォルダ

Oracle Fusion Middleware Oracle Business Intelligence Enterprise Editionセキュリティ・ガイド

ディレクトリ・サーバー

Oracle Fusion Middleware Oracle Business Intelligence Enterprise Editionセキュリティ・ガイド

カスタム認証者

Oracle Fusion Middleware Oracle Business Intelligence Enterprise Editionセキュリティ・ガイド

ユーザー

オブジェクト権限の設定

アプリケーション・ロール

オブジェクト権限の設定

結合マネージャのアイコン

この項では、結合マネージャのアイコンを示します。

表J-6 結合マネージャのアイコン

アイコン

参照先

一般結合フォルダ

結合マネージャを使用した論理結合の定義

結合マネージャを使用した物理結合の定義

外部キー(論理および物理)

結合マネージャを使用した論理外部キー結合の作成

結合マネージャを使用した物理結合の定義

論理結合

結合マネージャを使用した論理結合の定義

複合結合

結合マネージャを使用した論理結合の定義

結合マネージャを使用した物理結合の定義

式ビルダー

「式ビルダー」の使用

変数マネージャのアイコン

この項では、変数マネージャのアイコンを示します。

表J-7 変数マネージャのアイコン

アイコン

参照先

リポジトリ・フォルダ

リポジトリ変数の操作

リポジトリ初期化ブロック

初期化ブロックの作成

リポジトリ変数フォルダおよび静的変数フォルダ

リポジトリ変数について

静的リポジトリ関数について

動的変数

動的リポジトリ変数について

静的変数

静的リポジトリ関数について

セッション・フォルダ

セッション変数の操作

セッション初期化ブロック

初期化ブロックの作成

セッション変数フォルダ、非システム変数(フォルダ+繰返し)

セッション変数について

マルチソース・セッション変数の使用

システム以外のセッション変数について

セッション・システム変数

システム・セッション変数について

セッション・システム・セキュリティ変数

システム・セッション変数について

プロジェクト・マネージャのアイコン

この項では、プロジェクト・マネージャのアイコンを示します。

表J-8 プロジェクト・マネージャのアイコン

アイコン

参照先

プロジェクト

プロジェクトの設定

プロジェクト・オブジェクトを作成可能なレイヤーと要素:

「プロジェクト」ダイアログについて

用語集

この用語集には、Oracle Business Intelligence Enterprise Editionの用語定義が掲載されています。その他の用語と定義については、Oracle Fusion Middlewareマスター用語集を参照してください。

アクション

関連コンテンツへ移動したり、外部システムで操作、関数またはプロセスを起動する機能を提供します。アクションは、分析、ダッシュボード・ページ、エージェント、スコアカードの目標、スコアカードのイニシアティブおよびKPIに含めることができます。

「アクション・リンク」も参照してください。

アクション・フレームワーク

アクション・フレームワークは、Oracle BI EEアーキテクチャのコンポーネントで、アクション実行サービス(AES)と呼ばれるJ2EEアプリケーションと、Oracle BI EEの一部としてデプロイされる、アクションに固有のJavaScript機能を含んでいます。アクション・フレームワークには、アクションの作成や特定のアクション・タイプをブラウザから直接起動するクライアント側の機能も含まれています。

アクション・リンク

分析、ダッシュボード・ページ、スコアカードの目標、スコアカードのイニシアティブまたはKPIに埋め込まれたアクションへのリンクで、クリックすると、関連付けられているアクションが実行されます。

「アクション」も参照してください。

ADFビジネス・インテリジェンス・コンポーネント

Oracle BIのプレゼンテーション・カタログ・オブジェクトをADFアプリケーションに組み込む機能を開発者に提供します。このコンポーネントでは、カタログへのアクセスにSOAP接続が使用されます。

管理サーバー

WebLogicサーバー・ドメインの一部で、Oracle Business Intelligenceコンポーネントを管理するプロセスを実行します。管理サーバーには、Oracle WebLogic Server管理コンソール、Oracle Fusion Middleware ControlおよびJMX MBeansが含まれています。簡易インストール・タイプの場合は、Oracle BI PublisherおよびOracle Real-Time Decisionsなど、Oracle Business Intelligenceで使用されるJavaコンポーネントも管理サーバーに含まれます。

「Fusion Middleware Control」、「Javaコンポーネント」および「管理対象サーバー」も参照してください。

管理ツール

「Oracle BI管理ツール」を参照してください。

拡張トレリス

たとえばスパーク折れ線グラフ、スパーク棒グラフ、数字など、トレリス・ビューは複数の可視化タイプをグリッド内に表示できます。各可視化タイプには異なるメジャーが表示されます。

拡張トレリスはピボット表と見なすことができますが、ピボット表に追加する各メジャーに対して、オプションでディメンションを関連付けて、そのディメンションをスパーク・グラフの可視化として表示できる点が異なります。

トレリスおよび可視化も参照してください。

エージェント

ビジネス・プロセスの自動化を可能にします。エージェントは、イベント駆動型アラート、スケジュールによるコンテンツの公開および条件付きイベント駆動型アクションの実行に使用できます。

エージェントは、情報ベースで問題と機会を動的に検出し、通知する必要がある適切なユーザーを判断し、そのユーザーに様々なデバイス(電子メール、電話など)で情報を配信します。

集計の永続性

集計表とこれに対応するOracle Business Intelligenceメタデータ・マッピングの作成とロードを自動化し、集計ナビゲーションを可能にする機能。

集計表

ディメンション属性のセットに対して集計される、あらかじめ計算されたメジャーからの結果を格納する表。集計表の各列には、特定のレベルのセットのデータが含まれます。たとえば、月間売上表には、各月の各店舗での各製品の収益の合計があらかじめ計算されて含まれます。集計表を使用すると、パフォーマンスが向上します。

集計ルール

Oracle BIリポジトリで論理列または物理キューブ列に適用されるルールで、SUMなどの特定の集計関数を列データに適用するよう指定します。

プレゼンテーション・サービスで、ユーザーは、リポジトリで適用されたルールを表示できます。ユーザーは、メジャー列に対するデフォルトの集計ルールを変更することもできます。

別名表

別の物理表をソースとして参照する物理表。1つの物理表に様々なロールを設定する必要がある場合に、別名表を使用すると、表ごとにキー、名前および結合を変えて複数の表を設定できます。別名表の名前は物理SQL問合せで使用されるため、別名表を使用して意味のある表名にし、SQL文を読みやすくすることもできます。

分析

ユーザーがプレゼンテーション・サービスの「基準」タブで作成する問合せ。分析には、オプションでフィルタまたは選択ステップを1つ以上含め、結果を限定することができます。

「フィルタ」および「選択ステップ」も参照してください。

分析基準

分析に指定された列、フィルタおよび選択ステップで構成されます。

「分析」も参照してください。

分析プロンプト

分析に追加されたプロンプト。ユーザーがプロンプト値を選択すると、そのプロンプトを含む分析にかぎり、その値によって表示される内容が決まります。

「ダッシュボード・プロンプト」および「プロンプト」を参照してください。

属性

Oracle BIリポジトリでのディメンションの詳細。属性は、通常、ディメンション表の列として表示されます。

属性列

プレゼンテーション・サービスで、メンバーとも呼ばれる値のフラット・リストを保持する列。これらのメンバー間に、階層列のメンバーのような階層関係はありません。製品IDや市などがこの例です。

「階層列」を参照してください。

BIコンポーザ

BIコンポーザは、使用が容易なウィザードで、迅速かつ簡略に分析の作成、編集および表示を実行でき、分析エディタの複雑性を回避できます。

BIドメイン

構成可能なシステム・コンポーネント(コアアプリケーション)とJavaコンポーネント(WebLogic Serverドメイン)が含まれ、Webベースの管理ツールとリソースを利用するアプリケーションも含まれます。

BIドメインは、1つ以上の物理サーバーにまたがるミドルウェア・ホームのセットの場合もあります。

「BIインスタンス」も参照してください。

BIインスタンス

BIドメインのシステム・コンポーネント(コアアプリケーション)のことです。

「BIドメイン」も参照してください。

BIオブジェクト

プレゼンテーション・サービスを使用して作成され、Oracle BIプレゼンテーション・カタログに保存される各ビジネス・インテリジェンス・コンテンツ。BIオブジェクトの例には、分析、ダッシュボード・ページ、スコアカード、KPIなどがあります。

BI検索

プレゼンテーション・サービス外にある検索ツール。管理者がBI検索のURLへのリンクを追加していると、ホーム・ページからBI検索を使用できます。BI検索には、Oracle BIプレゼンテーション・カタログ内のオブジェクトを検索するための全文検索エンジンに似たメカニズムが用意されています。

ブックマーク・リンク

ダッシュボード・ページへのパスとページの状態のあらゆる側面を取り込みます。

「プロンプト・リンク」を参照してください。

ブリッジ表

2つの表の間の多対多関係を解決する表。

ブリーフィング・ブック

「Oracle BIブリーフィング・ブック」を参照してください。

ビジネス・モデル

ビジネス・モデル定義と、論理表と物理表のマッピングが含まれているOracle BIリポジトリ内のオブジェクト。ビジネス・モデルは、物理レイヤーのオブジェクトと異なり、常にディメンション化され、データ・ソースの編成が反映されます。各ビジネス・モデルには、論理表、列および結合が含まれます。

ビジネス・モデルとマッピング・レイヤー

データのビジネス・モデルまたは論理モデルを定義し、ビジネス・モデルと物理レイヤー・スキーマとの間のマッピングを指定するOracle BIリポジトリのレイヤー。このレイヤーには、1つ以上のビジネス・モデルが含まれます。

ビジネス・モデルとマッピング・レイヤーによって、ユーザーに表示される分析動作が決まり、ユーザーが使用できるオブジェクトのスーパーセットが定義されます。ソース・データ・モデルの複雑さも隠します。

ビジネス所有者

ビジネス価値、およびKPIやスコアカード・オブジェクト(目標、原因/結果マップなど)のパフォーマンスの管理と向上の責任を負うユーザー。

カタログ

「Oracle BIプレゼンテーション・カタログ」を参照してください。

原因/結果マップ

目標およびKPIの因果関係を示すスコアカードのコンポーネント。

「Oracle Scorecard and Strategy Management」も参照してください。

時系列キー

ディメンション・レベル内のメンバーの時系列を示す時間ディメンションの列。キーは、そのレベルで一意である必要があります。

クラスタ・コントローラ

プレゼンテーション・サービスや他のクライアントからの新規リクエストの最初の接点となるプロセス。クラスタ・コントローラは、Oracle BIサーバーの可用性と負荷に基づいて、リクエストの振分け先のクラスタ内のOracle BIサーバーを決定します。Oracle BIスケジューラ・インスタンスなどのクラスタ内のサーバーの処理をモニターします。クラスタ・コントローラは、アクティブ/パッシブ構成にデプロイされます。

列

Oracle BIリポジトリでは、列は、物理列、論理列またはプレゼンテーション列です。

プレゼンテーション・サービスでは、分析によって返される個々のデータが示されます。列、およびフィルタや選択ステップによって分析に含まれるデータが決まります。列には、格納される情報のタイプ(アカウント、連絡先など)を示す名前も付けられています。

「分析」、「属性列」、「階層列」および「メジャー列」も参照してください。

列フィルタ

「フィルタ」を参照してください。

列プロンプト

フィルタのタイプの1つで、特定の値プロンプトをデータ列に作成できるようにします。ダッシュボードまたは分析に単体として存在させることも、既存のダッシュボードおよび分析フィルタの拡張または改良に使用することもできます。

「プロンプト」も参照してください。

複合結合

等号以外の式を使用する、Oracle BIリポジトリの物理レイヤーでの結合。

条件

分析またはキー・パフォーマンス・インディケータ(KPI)の評価に基づいて1つのブール値を返すオブジェクト。条件を使用して、エージェントがコンテンツを配信してアクションを実行するかどうか、アクション・リンクをダッシュボード・ページに表示するかどうか、セクションとそのコンテンツをダッシュボード・ページに表示するかどうかが決まります。

「アクション」、「アクション・リンク」、「エージェント」および「キー・パフォーマンス・インディケータ(KPI)」も参照してください。

接続プール

データ・ソースの接続情報を含む、Oracle BIリポジトリの物理レイヤーのオブジェクト。

「物理レイヤー」も参照してください。

コンテンツ・デザイナ

分析、ダッシュボード、スコアカードなどのビジネス・インテリジェンス・オブジェクトを作成するユーザー。

コンテキスト・イベント・アクション

アクション・フレームワークを使用して、ビジネス・インテリジェンス・オブジェクトからADFページの別のリージョンにコンテンツを渡す事前配信済アクション。

「アクション」、「アクション・フレームワーク」および「アクション・リンク」も参照してください。

基準

「分析基準」を参照してください。

キューブ

リレーショナル・データベースよりデータの分析時間が短く、柔軟性が高いOLAP(オンライン分析処理)データ構造。キューブはメジャーで構成され、ディメンションで編成されます。多次元データ・ソースのキューブは、リレーショナル・データベース・モデルのスター・スキーマにほぼ相当します。

通貨プロンプト

分析またはダッシュボードの通貨列に表示される通貨タイプをユーザーが変更できるようにするプロンプト。

「プロンプト」も参照してください。

カスタム・ビュー

ビジネスと戦略のデータのカスタマイズされたビューを表示できるようにするスコアカードのコンポーネント。

「Oracle Scorecard and Strategy Management」も参照してください。

ダッシュボード

企業や外部情報のパーソナライズされたビューを提供するオブジェクト。ダッシュボードは、1つ以上のページで構成されます。ページには、分析の結果、イメージ、エージェントからのアラートなどのWebブラウザでアクセスしたり開くことのできる任意のオブジェクトを表示できます。

ダッシュボード・プロンプト

ダッシュボードに追加されたプロンプト。ユーザーがプロンプト値を選択すると、ダッシュボードに含まれているすべての分析の表示内容がその値によって決まります。

「分析プロンプト」および「プロンプト」を参照してください。

ダッシュボードURL

外部ポータルまたはアプリケーションでの特定のダッシュボードのコンテンツの組込みや参照に使用されます。様々な形式と、動作の制御に使用されるオプションの引数があります。

データ・ソース名(DSN)

特定のデータベースに関する情報を含むデータ構造。通常、ODBCドライバによってデータベースへの接続に使用されます。DSNには、名前、ディレクトリ、データベースのドライバなどの情報が含まれます。

Oracle BIリポジトリの物理レイヤーの接続プール・オブジェクトには、各データ・ソースのDSN情報が含まれています。

データベース・ヒント

SQL文内に配置され、最も効率的に文を実行する方法をデータベース問合せオプティマイザに指定する指示。ヒントはオプティマイザの実行計画をオーバーライドするため、ヒントを使用してオプティマイザにより効率的な計画を使用させ、パフォーマンスを向上させることができます。ヒントは、Oracle Databaseデータ・ソースでのみサポートされます。

ディメンション

論理列(属性)の階層状の編成。1つ以上の論理ディメンション表が最大1つのディメンションに関連付けられます。

ディメンションには、1つ以上の(名前なし)階層が含まれます。論理ディメンションには、レベル・ベースの階層(構造階層)を持つディメンションと親子階層(値階層)を持つディメンションの2種類があります。

時間ディメンションと呼ばれる特定のタイプのレベル・ベースのディメンションは、時系列データをモデリングするための特別な機能を提供します。

「階層」も参照してください。

ディメンション表

特定のディメンションで使用される列を含む論理表。ディメンション表をファクト表にすることはできません。

「ファクト表」も参照してください。

駆動表

一方の表が非常に小さく(駆動表)、他方の表が非常に大きい場合にOracle BIサーバー・プロセスが複数データベース結合を処理する方法の最適化に使用されるメカニズム。

DSN

「データ・ソース名(DSN)」を参照してください。

イベント・ポーリング表

イベント・ポーリング表(イベント表とも呼ばれる)は、更新された物理表に関する情報をOracle BIサーバーに提供します。問合せキャッシュを最新に保つために使用されます。Oracle BIサーバー・キャッシュ・システムはイベント表を調べ、物理表の情報を行から抽出し、それらの物理表を参照する古いキャッシュ・エントリをパージします。

Essbase

Oracleから使用できる多次元データベース管理システムで、ビジネス・インテリジェンス・アプリケーションを構築するベースとなる多次元データベース・プラットフォームを提供します。Oracle Hyperion Essbaseとも呼ばれます。

ファクト表

メジャーを含み、ディメンション表と複雑な結合関係にある、Oracle BIリポジトリ内のビジネス・モデルとマッピング・レイヤーの論理表。

「ディメンション表」も参照してください。

フィルタ

分析の実行時に表示される結果を限定する、属性列とメジャー列に適用される基準。メジャー列の場合、フィルタは問合せの集計前に適用され、問合せと結果の値に作用します。

「プロンプト」および「選択ステップ」も参照してください。

フォーカス・ノード

戦略貢献ホイールの中心の円。戦略貢献ホイールの場合、フォーカス・ノードは図の開始目標を表します。

「戦略コントリビューション・ホイール」および「フォーカス・トレール」も参照してください。

フォーカス・トレール

戦略コントリビューション・ホイールの中央にあるノード、および図に表示されているその祖先を表す一連の連鎖円。各円には、対応するノードのステータス色が表示されます。

「戦略コントリビューション・ホイール」および「フォーカス・ノード」も参照してください。

外部キー

別の表の主キー列を参照する、表の列または列のセット。

断片化の内容

指定されたレベルのデータのセット全体が論理表ソースに含まれていない場合の論理表ソース内の指定されたデータのセットの一部。断片化の内容は、「論理表ソース」ダイアログ・ボックスの「内容」タブの「断片化の内容」ボックスに入力された論理列によって定義されます。

Fusion Middleware Control

Fusion Middlewareコンポーネントのモニターと構成を行えるWebベースの管理ツール。

グローバル・ヘッダー

Oracle BIプレゼンテーション・サービスのユーザー・インタフェース・オブジェクトで、ユーザーが速やかにタスクを開始したり、Oracle BIプレゼンテーション・カタログ内の特定のオブジェクトを検出できるリンクやオプションが含まれます。グローバル・ヘッダーはプレゼンテーション・サービスのユーザー・インタフェースに常に表示されるため、ユーザーはリンクに簡単にアクセスでき、ホーム・ページや「カタログ」ページに移動しなくてもカタログを検索できます。

Go URL

特定のビジネス・インテリジェンスの結果を外部ポータルやアプリケーションに組み込みます。Go URLは、結果をお気に入りに追加したり、ダッシュボードや外部Webサイトへのリクエストにリンクを追加する場合に使用されます。様々な形式と、動作の制御に使用されるオプションの引数があります。

階層列

名前付きレベルと親子関係の両方を使用して編成されたデータ値が含まれたプレゼンテーション・サービス内の列。この列は、ツリーのような構造を使用して表示されます。個々のメンバーは、下位メンバーが上位メンバーにまとめられて略示されます。たとえば、特定の日は特定の月に属し、特定の月は特定の年内にあります。時間や地域などがこの例です。

「属性列」も参照してください。

階層

1対多関係で相互に関連を持つ、Oracle BIリポジトリ内の論理ディメンションのレベルのシステム。すべての階層は共通のリーフ・レベルと共通のルート・レベルを持つ必要があります。

階層は、メタデータでは個別のオブジェクトとしてモデル化されていません。かわりに、ディメンション・オブジェクトに暗黙的に含まれています。

「ディメンション」、「論理レベル」および「プレゼンテーション階層」も参照してください。

階層レベル

ロールアップしたり、他のレベルからロールアップされる、プレゼンテーション・サービスの階層列内のオブジェクト。Oracle BIリポジトリのプレゼンテーション・レベルに相当します。

「プレゼンテーション・レベル」も参照してください。

ホーム・ページ

直観的で、タスク・ベースの方法でプレゼンテーション・サービスの機能を開始します。ホーム・ページはセクションに分かれており、各セクションでは、特定のタスクを素早く開始したり、オブジェクトを検索したり、テクニカル・ドキュメントにアクセスできます。

イメージ・プロンプト

特定の値がマップされた異なる領域のイメージを提供するプロンプト。ユーザーがイメージ領域をクリックすると、プロンプト値が選択され、分析またはダッシュボードに移入されます。

「プロンプト」も参照してください。

初期化ブロック

動的リポジトリ変数、システム・セッション変数およびシステム以外のセッション変数の初期化に使用されます。初期化ブロックにはSQL文が含まれ、これを実行するとそのブロックに関連付けられた変数の初期化やリフレッシュが行われます。

イニシアティブ

スコアカードで使用されます。イニシアティブは、目標を達成するために必要な、時間に固有のタスクまたはプロジェクトです。したがって、目標をサポートするイニシアティブを、戦略ターゲットに対する進捗を示すマイルストンとして使用できます。

「目標」および「Oracle Scorecard and Strategy Management」も参照してください。

内部グラフ

トレリス・グラフのグリッド内のネストされたグラフ。各内部グラフには、「レイアウト」ペインの「可視化」領域に指定された独自のディメンションがあります。

トレリスおよび外部エッジも参照してください。

Javaコンポーネント

1つ以上のJava EEアプリケーション(およびリソースのセット)としてデプロイされ、ノード・マネージャによって管理されるFusion Middleware Controlコンポーネント。

「ノード・マネージャ」も参照してください。

キー・パフォーマンス・インディケータ(KPI)

特定のビジネス・ゴールと戦略目標を定義し、追跡する測定法。KPIをまとめると、モニター、改善および評価を必要とする、より大きな組織の戦略につながることが多くあります。KPIは、通常時間とともに変わる測定可能な値で、スコアとパフォーマンス・ステータスを決定するためのターゲットを持ちます。詳細な分析を可能にするディメンションが含まれ、トレンド用およびパフォーマンス・パターンの特定のために経時的な比較を行えます。

「Oracle Scorecard and Strategy Management」も参照してください。

KPI監視リスト

KPIをエンド・ユーザーに配布する方法。監視リストはKPIを集めたもので、Oracle BIプレゼンテーション・カタログに格納されているKPIを追加して作成します。KPI監視リストを作成して保存すると、カタログ・オブジェクトとして格納され、ダッシュボードやスコアカードに追加できます。

キー・パフォーマンス・インディケータ(KPI)、ウォッチリストおよびOracle Scorecard and Strategy Managementも参照してください。

レベル

「階層レベル」を参照してください。

論理表示フォルダ

Oracle BIリポジトリのビジネス・モデルとマッピング・レイヤーでのオブジェクトの編成に使用されるフォルダ。メタデータ上の意味はありません。

論理結合

論理表間の関係を表す結合。論理結合は、物理的な結合ではなく概念上の結合です。つまり、特定のキーまたは列を結合しません。1つの論理結合が、多数の物理結合に相当することがあります。

論理レイヤー

「ビジネス・モデルとマッピング・レイヤー」を参照してください。

論理レベル

ロールアップしたり、他のレベルからロールアップされる、Oracle BIリポジトリ内のレベル・ベースの階層のコンポーネント。

親子階層では、祖先と子孫の間にメタデータの論理レベル・オブジェクトとして表されない、暗黙的なメンバー間のレベルがあります。親子階層には論理レベル・オブジェクトも含まれますが、それらのレベルはシステムで生成されたもので、全メンバーの集計を可能にするためにのみ存在します。

「ディメンション」および「階層」を参照してください。

論理SQL

Oracle BIサーバーによって解釈されるSQL文。Oracle BIサーバーの論理SQLには、標準のSQLとAGO、TODATE、EVALUATEなどの特別な関数(拡張SQL)が含まれます。

ユーザーがリクエストを行うと、プレゼンテーション・サービスなどのクライアントは、論理SQLをOracle BIサーバーに送信します。また、論理SQLはビジネス・モデルとマッピング・レイヤーで使用され、異機種データベース・アクセスと移植を可能にします。Oracle BIサーバーは、論理SQLを、ソース・データベースで解釈可能な物理SQLに変換します。

論理表

Oracle BIリポジトリのビジネス・モデルとマッピング・レイヤーの表オブジェクト。1つの論理表は、1つ以上の物理表にマップできます。論理表は、ファクト表またはディメンション表のいずれでもかまいません。

「ディメンション表」および「ファクト表」も参照してください。

論理表ソース

Oracle BIリポジトリのビジネス・モデルとマッピング・レイヤーのオブジェクトで、1つの論理表から1つ以上の物理表へのマッピングを定義します。また、物理レイヤーと、ビジネス・モデルおよびマッピング・レイヤーとの間で発生する変換の指定、および集計ナビゲーションと断片化の実現にも物理から論理へのマッピングを使用できます。

管理対象サーバー

個々のJ2EEアプリケーション・コンテナ(JMX MBeanコンテナ)。ローカル・ミドルウェア・ホーム内に含まれるJavaコンポーネントとシステム・コンポーネントに、個別のホストのローカル管理機能を提供し、構成とデプロイメントの全情報については管理サーバーを参照します。

「管理サーバー」および「Fusion Middleware Control」も参照してください。

MDS

Oracle Metadata Services。Application Development Frameworkの中核テクノロジ。MDSは、メタデータを拡張可能でカスタマイズ可能な形で定義および使用するための統一アーキテクチャを提供します。

「MDS XML」も参照してください。

MDS XML

Oracle Metadata Servicesと互換性があるXML形式。MDS XMLはOracle BIリポジトリでサポートされている形式です。サードパーティのソース・コントロール管理システムとの統合が可能になり、オフラインのリポジトリ開発が可能になります。

MDS XML形式は、Oracle BIサーバーXML APIで生成されるXMLとは異なる形式です。

「MDS」、「Oracle BIリポジトリ」および「Oracle BIサーバーXML API」も参照してください。

メジャー列

レコードごとに変化し、合計および集計が可能な列。売上金額や注文数量はメジャーの代表例です。メジャーは、問合せ時にデータ・ソースから計算されます。

メジャー列は、Oracle BIリポジトリ(通常はファクト表)またはプレゼンテーション・サービスで表示されます。

メタデータ

データに関するデータ。メタデータ・オブジェクトには、スキーマの説明(表、列、データ型、主キー、外部キーなど)と論理構造(ファクト表、ディメンション、論理表ソース・マッピングなど)が含まれます。

Oracle BIリポジトリは、Oracle BIサーバーによって問合せの処理に使用されるメタデータで構成されます。

メタデータ・ディクショナリ

列などのメタデータ・オブジェクトについて、そのプロパティや他のメタデータ・オブジェクトとの関係などが記述された静的なXMLドキュメントのセット。メタデータ・ディクショナリは、ユーザーがリポジトリ・オブジェクトのメトリックや属性の詳細を得る場合に役立ちます。

マイクロチャート

他の小さなグラフおよび数値とともにグリッドに表示される小さなグラフで、拡張トレリス・ビューのセル内容を構成します。Oracle BI EEでは、マイクロチャートは常にスパーク・グラフになります。

拡張トレリスおよびスパーク・グラフも参照してください。

ミッション・ステートメント

ビジョンを達成するために必要な主要なビジネス・ゴールと優先度を指定したスコアカード内のステートメント。

ビジョン記述書およびOracle Scorecard and Strategy Managementも参照してください。

複数データベース結合

Oracle BIリポジトリ内の2つの表の結合。各表は異なるデータベース内にあります。

ノード・マネージャ

Javaプロセスが応答しなくなったり、予期せず終了した場合にリモート・サーバーの起動、停止および再起動の機能を提供するデーモン・プロセス。

「Java コンポーネント」も参照してください。

OCI

「Oracle Call Interface (OCI)」を参照してください。

ODBC

「Open Database Connectivity (ODBC)」を参照してください。

オブジェクト・プロパティ

オブジェクト、および所有者がオブジェクトに割り当てた属性に関する情報。プロパティの例には、名前、説明、日付スタンプ、読取り専用アクセス、索引付けなしフラグなどがあります。

「パーミッション」も参照してください。

目標

企業の戦略をまとめたスコアカード内の要求される成果または望ましい結果。

「イニシアティブ」および「Oracle Scorecard and Strategy Management」も参照してください。

オフライン・モード

Oracle BIサーバーにロードされていないリポジトリをリポジトリ作成者が編集できるOracle BI管理ツール内のモード。

オンライン・モード

リポジトリを問合せ処理に使用すると同時にリポジトリ作成者が編集できるOracle BI管理ツール内のモード。オンライン・モードでは、リポジトリ内のサブジェクト・エリアに接続しているユーザーのユーザー・セッション・モニタリングも可能です。

不透明なビュー

SELECT文を構成する物理レイヤー表。Oracle BIリポジトリでは、不透明なビューは、物理データベース内のビュー表のように見えますが、ビューは実際には存在しません。

Open Database Connectivity (ODBC)

リレーショナル・データベースとリレーショナル以外のデータベースの両方のデータのアクセスに使用される標準インタフェース。データベースごとに使用されるデータ格納形式やプログラミング・インタフェースが異なる場合も、データベース・アプリケーションではODBCを使用して、各タイプのデータベース管理システムに格納されているデータにアクセスできます。

OPMN

「Oracle Process Manager and Notification Server (OPMN)」を参照してください。

Oracle BI管理ツール

Oracle BIリポジトリの作成や編集に使用されるWindowsアプリケーション。管理ツールでは、リポジトリの3つの部分(物理レイヤー、ビジネス・モデルとマッピング・レイヤー、およびプレゼンテーション・レイヤー)がグラフィック表示されます。

Oracle BIブリーフィング・ブック

ダッシュボード・ページ、個々の分析およびBI Publisherレポートの静的または更新可能なスナップショットの集まり。ブリーフィング・ブックをPDFまたはMHTML形式でダウンロードし、印刷または表示できます。エージェントを使用して、ブリーフィング・ブックの更新、スケジュールおよび配信を行うこともできます。

Oracle BI JavaHost

Javaライブラリに用意されている、グラフなどのコンポーネントをサポートするための機能をプレゼンテーション・サービスが使用できるようにするサービス。サービスは、リクエスト/レスポンス・モデルに基づいて提供されます。

Oracle BI論理SQLビュー・オブジェクト

開発者が、Oracle BIサーバーにアクセスしてビジネス・インテリジェンス・データをフェッチし、ネイティブADFコンポーネントにバインドしてADFページに含める論理SQL文を作成できるようにします。このビュー・オブジェクトは、BI JDBC接続を使用してOracle BIサーバーに接続します。

Oracle BIプレゼンテーション・カタログ

分析やダッシュボードなどのビジネス・インテリジェンス・オブジェクトを格納し、ユーザーが、オブジェクトの作成、アクセスおよび管理を行ったり、オブジェクト・ベースの特定のタスク(エクスポート、印刷、編集など)を行うインタフェースを提供します。カタログは、共有または個人のいずれかのフォルダに編成されます。

Oracle BIプレゼンテーション・サービス

Webクライアントへのビジネス・インテリジェンス・データのプレゼンテーションに使用されるフレームワークとインタフェースを提供します。このプレゼンテーション・フレームワークのカスタマイズに使用されるプレゼンテーション・カタログ・サービスをファイル・システム上で管理します。このスタンドアロン・プロセスは、ODBC over TCP/IPを使用してOracle BIサーバーと通信します。アンサー、デリバーおよびインタラクティブ・ダッシュボードと呼ばれるコンポーネントで構成されます。

「ODBC」、「Oracle BIサーバー」、「Oracle BIプレゼンテーション・カタログ」、「Oracle BIプレゼンテーション・サービス・サーバー」も参照してください。

Oracle BIプレゼンテーション・サービス・サーバー

情報とデータをOracle BIサーバーと交換するOracle BI Webサーバー。

Oracle BI Publisher

Oracle Business Intelligence内のJ2EEアプリケーションで、エンタープライズ全体の公開サービスを提供します。高度に書式設定された、ピクセル・パーフェクトなレポートを生成します。

「レポート」も参照してください。

Oracle BI Publisherレポート

「レポート」を参照してください。

Oracle BIリポジトリ

Oracle Business Intelligenceメタデータのセットで、論理スキーマ、物理スキーマ、物理から論理へのマッピング、集計表ナビゲーションやその他の構成体を定義します。Oracle BIリポジトリの形式をバイナリ形式(RPD)にして、リポジトリ・メタデータを拡張子.rpdの単一ファイルまたはMDS XMLドキュメントのセットに格納できます。MDS XML形式のリポジトリを使用できるのはオフライン開発時のみで、この形式のリポジトリはOracle BIサーバーにロードできません。Oracle BIリポジトリは両形式とも、Oracle BI管理ツールを使用して編集できます。

「メタデータ」および「Oracle BI管理ツール」も参照してください。

Oracle BIスケジューラ

指定された時間に結果をユーザーに配信するようスケジュールするための拡張可能なスケジューリング・アプリケーション。Oracle BIデリバーの機能をサポートするエンジンです。

「結果」も参照してください。

Oracle BIサーバー

ODBCを介してプレゼンテーション・サービスや他のクライアントに提供する論理データ・モデルを保持するスタンドアロン・プロセス。データ・モデルに関するメタデータは、リポジトリ・ファイルと呼ばれるローカルの専用ファイルに保持されます。Oracle BIサーバーは、ユーザー・リクエストやベースとなるデータ・ソースの問合せを処理します。

Oracle BIサーバーXML API

Oracle BIリポジトリ・メタデータの汎用的なXMLベースのプレゼンテーションを作成するユーティティを提供します。このXMLファイル版のリポジトリは、プログラムによるメタデータの変更に使用できます。Oracle BIサーバーXML APIオブジェクトは、RPDファイル内のメタデータ・リポジトリ・オブジェクトに相当します。これらのオブジェクトは、Oracle BIプレゼンテーション・カタログ内のXMLオブジェクトとは異なります。

Oracle BIサーバーXML APIで生成されるXMLは、サードパーティのソース・コントロール管理システムと統合されたOracle BIリポジトリで使用されるMDS XMLとは異なります。

「MDS XML」も参照してください。

Oracle Business Intelligence Mobile

Oracle Business Intelligence Mobileは、Oracle BIコンテンツをスマートフォンおよびタブレットで表示および操作できるようにするアプリケーションです。

Oracle BI Mobileを使用すると、分析やダッシュボードなどのすべてのBIコンテンツ、BI Publisherコンテンツ、スコアカード・コンテンツおよびOracle BI Mobileアプリケーション・デザイナで作成されたモバイル・アプリケーションにアクセスして分析できます。

Oracle Business Intelligence Mobileアプリケーション・デザイナ

Oracle Business Intelligence Mobileアプリケーション・デザイナは、携帯電話やタブレット向けに特化したアプリケーションを設計するツールです。

Oracle BI Mobileアプリケーション・デザイナで作成されたアプリケーションはプラットフォームおよびデバイスに依存しません。生成されたアプリケーションは最新のHTML5標準に基づいており、ご使用のモバイル・デバイスの最新のブラウザ上で実行できます。クライアントのインストールは必要ありません。

Oracle Business Intelligence Webサービス

「Oracle Business Intelligenceセッション・ベースWebサービス」および「Oracle Business Intelligence SOA用Webサービス」を参照してください。

Oracle Business Intelligenceセッション・ベースWebサービス

SOAPを実装するAPI。これらのWebサービスはプログラムでの使用を目的として設計されており、開発者は、1つのWebサービスから多様なビジネス・インテリジェンス・オブジェクトを起動します。これらのWebサービスは、様々なプレゼンテーション・サービス処理に対する機能を提供します。これらのWebサービスによって、開発者は、Oracle BIプレゼンテーション・サービスから結果を抽出して外部アプリケーションに配信したり、プレゼンテーション・サービス管理機能を実行したり、Oracle Business Intelligenceアラート(インテリジェント・エージェンとも呼ばれる)を実行できます。

「Oracle Business Intelligence SOA用Webサービス」も参照してください。

Oracle Business Intelligence SOA用Webサービス

BIミドルウェアJ2EEアプリケーションによってホストされる、ExecuteAgent、ExecuteAnalysisおよびExecuteConditionの3つのWebサービスを含みます。これらのWebサービスは、開発者がサード・パーティWebサービス・クライアント(Oracle SOA Suiteなど)を使用して、ビジネス・インテリジェンス・オブジェクトを検索したり、サービス指向アーキテクチャ・コンポーネントに含めたりすることを可能にするよう設計されています。

「Oracle Business Intelligenceセッション・ベースWebサービス」も参照してください。

Oracle Call Interface (OCI)

Oracle Databaseデータ・ソースへの接続にOracle BIサーバーが使用する接続インタフェース。Oracle DatabaseからのメタデータのインポートやOracle Databaseへの接続には常にOCIを使用する必要があります。

Oracle OLAP

Oracle Databaseには、埋込み型のフル機能オンライン分析処理サーバーを提供するOLAPオプションがあります。

Oracle Business Intelligenceでは、Oracle OLAPがデータ・ソースとしてサポートされます。Oracle OLAPソースからメタデータをインポートする際は、管理ツールの物理レイヤーにOracle OLAPオブジェクトが表示されます。Oracle OLAPオブジェクトには、関連するキューブを格納するコンテナであるアナリティック・ワークスペースが組み込まれています。

Oracle Process Manager and Notification Server (OPMN)

すべてのシステム・コンポーネント(サーバー・プロセス)を管理し、ローカルと分散の両方のプロセス管理、自動プロセス・リサイクリングおよびプロセスの状態(稼働、停止、起動中、停止中)の伝達をサポートするプロセス管理ツール。OPMNは、プロセスの使用不可の状態を検知し、プロセスを自動的に再起動します。

「システム・コンポーネント」も参照してください。

Oracle Scorecard and Strategy Management

ビジネス戦略を表明して伝達することができる業績管理ツール。企業の戦略や業績をトップ・ダウンまたはボトム・アップで推進したり評価できます。

Oracle Technology Network (OTN)

オラクル社製品に関する技術情報のリポジトリで、記事の検索、ディスカッションへの参加、ユーザー・コミュニティへの技術的な質問およびオラクル社製品とドキュメントの検索とダウンロードを行えます。

外部エッジ

外部エッジは、内部グラフの境界に使用されるトレリス・ビューの部品です。これには、列および行のヘッダー、セクション・ヘッダーなどが含まれます。

トレリスおよび内部グラフも参照してください。

親子階層

タイプがすべて同じメンバーの階層。親子階層のディメンション・メンバーはすべて1つのデータ・ソースに存在します。親子階層では、メンバー間の関係は、ディメンション・メンバー間の親子関係です。

「ディメンション」も参照してください。

親子関係表

親子階層でのメンバー間の関係を明示的に定義する値を持つ表。クローズ表とも呼ばれます。

パススルー計算

Oracle BIサーバーによって計算されるのではなく、別のデータ・ソースに渡される計算。上級ユーザーが、Oracle BIリポジトリを変更することなく、データ・ソースの機能と関数を活用できるようにします。

パフォーマンス・タイル

視覚的に単純かつ目立つ方法で1つの集計メジャー値を表示しながら、ダッシュボード・ビュー内に詳細に表示される可能性があるサマリー・メトリックをただちに示すビュー・タイプ。色、ラベルおよび限定されたスタイルを使用して、または背景色またはメジャー値の条件付き書式設定を使用して、単純な書式で視覚的に目立つようにステータスを通知するパフォーマンス・タイル・ビュー。

パーミッション

オブジェクトへのアクセスが可能なユーザーを指定し、ユーザーのオブジェクトとの対話方法を制限します。パーミッションの例には、書込み、削除、変更などのパーミッションがあります。

「オブジェクト・プロパティ」を参照してください。

パースペクティブ

スコアカードでイニシアティブ、目標およびKPIに関連付ける組織内のカテゴリ。パースペクティブでは、主な利害関係者(顧客、従業員、株主/財務関係者など)や主なコンピテンシ分野(時間、コスト、品質など)を表すことができます。

「イニシアティブ」、「キー・パフォーマンス・インディケータ(KPI)」、「目標」および「Oracle Scorecard and Strategy Management」も参照してください。

物理カタログ

Oracle BIリポジトリの物理レイヤーにある、異なるスキーマをまとめるオブジェクト。カタログには、データベース・オブジェクトのすべてのスキーマ(メタデータ)が含まれます。

物理表示フォルダ

Oracle BIリポジトリの物理レイヤーにオブジェクトを編成するフォルダ。メタデータ上の意味はありません。

物理結合

Oracle BIリポジトリの物理レイヤーの表同士の結合。

物理レイヤー

バックエンド・データ・ソースからの物理データ構成体を表すオブジェクトを含むOracle BIリポジトリのレイヤー。物理レイヤーは、物理問合せの記述に使用できるオブジェクトと関係を定義します。このレイヤーによってソースの依存性がカプセル化され、移植とフェデレーションが可能になります。

物理スキーマ

バックエンド・データベースからのスキーマを表すOracle BIリポジトリの物理レイヤーのオブジェクト。

物理表

Oracle BIリポジトリの物理レイヤーのオブジェクトで、通常、物理データベースに存在する表に相当します。

「物理レイヤー」も参照してください。

視点領域

担当しているビジネス分野など、対象とする特定のデータを表示するKPIおよびスコアボード内の領域。視点領域には、イニシアティブと目標の進捗とパフォーマンスを測定するためにスコアカードで使用されるKPIのディメンションのコントロールが表示されます。

「イニシアティブ」、「キー・パフォーマンス・インディケータ(KPI)」および「目標」も参照してください。

プレゼンテーション階層

プレゼンテーション・サービスやその他のクライアントで多次元モデルを公開する明示的な方法を提供するOracle BIリポジトリの物理レイヤーのオブジェクト。プレゼンテーション階層は、メンバーの選択、カスタム・メンバー・グループ、非対称型問合せなどの分析機能を公開します。ユーザーは、プレゼンテーション階層を使用して階層ベースの問合せを作成できます。

プレゼンテーション・サービスで、プレゼンテーション階層は階層列として表示されます。

「階層列」および「プレゼンテーション・レベル」も参照してください。

プレゼンテーション・レイヤー

カスタマイズされたセキュアなロール・ベースのビジネス・モデルのビューをユーザーに表示する手段を提供します。Oracle BIリポジトリのビジネス・モデルとマッピング・レイヤーに抽象性のレベルを加えます。プレゼンテーション・レイヤーは、プレゼンテーション・サービスやその他のクライアント・ツール、アプリケーションで分析を作成したユーザーに表示されるデータのビューを提供します。

「ビジネス・モデルとマッピング・レイヤー」も参照してください。

プレゼンテーション・レベル

ロールアップしたり、他のレベルからロールアップされる、Oracle BIリポジトリ内のプレゼンテーション階層のコンポーネント。プレゼンテーション・レベルは、プレゼンテーション・サービスで階層列内のレベルとして表示されます。

「階層レベル」および「プレゼンテーション階層」も参照してください。

プレゼンテーション・サービス

「Oracle BIプレゼンテーション・サービス」を参照してください。

プレゼンテーション・サービス・サーバー

「Oracle BIプレゼンテーション・サービス・サーバー」を参照してください。

プレゼンテーション表

ユーザー・コミュニティにとって意味のあるカテゴリへの列の編成に使用されるOracle BIリポジトリのプレゼンテーション・レイヤーのオブジェクト。プレゼンテーション表には、1つ以上の論理表から列を含めることができます。プレゼンテーション表の名前とオブジェクト・プロパティは論理表のプロパティとは無関係です。

主キー

各値が一意で、表の1行を識別する列(または列のセット)。

プロセス・インスタンス

BIインスタンスに関連付けられている、個々のワークステーション上の一意のプロセス。

「BIインスタンス」も参照してください。

プロンプト

フィルタの一種で、コンテンツ・デザイナによるデータ値の作成および指定、およびエンド・ユーザーによる特定のデータ値の選択から、ダッシュボードやダッシュボード・ページに組み込まれた個別または複数の分析に結果セットを提供できるようにします。プロンプトによって既存のダッシュボードおよび分析のフィルタの拡張や改良が行われます。

プロンプトのタイプには、列プロンプト、通貨プロンプト、イメージ・プロンプトおよび変数プロンプトがあります。

「列プロンプト」、「通貨プロンプト」、「フィルタ」、「イメージ・プロンプト」および「変数プロンプト」も参照してください。

プロンプト・リンク

ダッシュボード・ページへのパスとダッシュボード・プロンプトの単純化されたプレゼンテーションを取り込みます。

「ブックマーク・リンク」を参照してください。

問合せ

Oracle BIサーバーに発行される、ベースとなるSQL文が含まれています。Oracle Business Intelligenceの使用に問合せ言語の知識は必要ありません。

問合せキャッシュ

他の問合せで使用できるよう問合せの結果を格納する機能。

不規則な階層

「非バランス型階層」を参照してください。

レポート

問合せの実行からユーザーに返される、Oracle BI Publisherを使用して作成されるレスポンス。レポートは、書式設定、ダッシュボード・ページでの表示、Oracle BIプレゼンテーション・カタログでの保存および他のユーザーとの共有が可能です。

「分析」も参照してください。

リポジトリ

「Oracle BIリポジトリ」を参照してください。

リポジトリ変数

「変数」を参照してください。

結果

Oracle BIサーバーから返される、分析に対する出力。

「分析」も参照してください。

スコアカード

「Oracle Scorecard and Strategy Management」を参照してください。

選択ステップ

問合せの集計後に適用される値の選択。表示されているメンバーにのみ作用し、結果の集計値には作用しません。フィルタ同様、選択ステップは分析の結果を限定します。

「分析」および「フィルタ」も参照してください。

セッション変数

「変数」を参照してください。

単純トレリス

すべてが散布図の場合のように、トレリス・ビューはすべて同じタイプで内部の可視化を表示します。内部の可視化には、共通の軸が常に使用され、同期されたスケールとも呼ばれます。

トレリス、同期されたスケールおよび可視化も参照してください。

レベル・スキップ階層

一部のメンバーが特定の祖先レベルの値を持たない階層。たとえば、米国で、コロンビア特別区のワシントン市は州に属していません。州がなくても、国レベル(米国)からワシントン以下にユーザーが移動できることが期待されます。

「階層」も参照してください。

スマート・ウォッチリスト

スマート・ウォッチリストとは、指定した基準に基づいた、特定のスコアカードに対するビューのことです。たとえば、スマート・ウォッチリストには、スコアカードのパフォーマンス上位10位までのKPI、または特定のビジネス所有者が所有するスコアカードのすべての目標、イニシアティブおよびKPIなどを表示できます。

ウォッチリストおよびOracle Scorecard and Strategy Managementも参照してください。

スノーフレーク・スキーマ

1つ以上のディメンションが部分的あるいは完全に正規化されたディメンション・スキーマ。

スパーク・グラフ

他のミニグラフおよび数値と組み合せて、1つのトレンドを表す埋込みミニグラフ。スパーク・グラフはスパークとも呼ばれます。

スパークには軸またはラベルは含まれず、周囲のコンテンツからコンテキストが取得されます。スパーク・グラフの各タイプには、1つのメジャーのみが存在します。このメジャーは非表示で、自分のみに対して相対的なスケールになります。

スパーク・グラフには、スパーク折れ線、スパーク棒、スパーク面のいずれかのグラフ・サブタイプを指定できます。

マイクロチャートも参照してください。

SQL

「構造化問合せ言語(SQL)」を参照してください。

スター・スキーマ

履歴情報のディメンション分析を可能にするリレーショナル・スキーマ。スター・スキーマでは、論理ディメンション表と論理ファクト表の間に1対多関係があります。各スターは、1つのファクト表と正規化されていない表のセットで構成されます。

戦略コントリビューション・ホイール

一連の同心円(またはホイール図)の親目標に対する特定の目標またはKPIのコントリビューション(または影響)を簡単に確認できるスコアカードのコンポーネント。戦略コントリビューション・ホイール図を使用して、目標、その目標をサポートする子目標、およびKPIの階層を表示します。

「Oracle Scorecard and Strategy Management」も参照してください。

戦略マップ

スコアカードに定義された目標と目標の進捗を測定するKPIをパースペクティブによってどのように関係付けるかを示すスコアカードのコンポーネント。因果関係も示されます。

「Oracle Scorecard and Strategy Management」も参照してください。

戦略ツリー

目標とこれをサポートする子目標およびKPIがツリー図に階層状に表示されるスコアカードのコンポーネント。

「Oracle Scorecard and Strategy Management」も参照してください。

構造化問合せ言語(SQL)

データの問合せと変更のための標準的なプログラミング言語。

「論理SQL」も参照してください。

サブジェクト・エリア

特定のOracle BIリポジトリ内で、ビジネス・モデルに関するデータを編成したり、表示するプレゼンテーション・レイヤーのオブジェクト。プレゼンテーション・レイヤーの最上位レベルのオブジェクトで、プレゼンテーション・サービスでユーザーに表示されるデータのビューを表します。Oracle BIリポジトリのサブジェクト・エリアには、プレゼンテーション表、プレゼンテーション列およびプレゼンテーション階層が格納されます。

プレゼンテーション・サービスでは、サブジェクト・エリアに、フォルダ、メジャー列、属性列、階層列およびレベルが含まれます。

同期されたスケール

(単純トレリスのみに該当) 同期されたスケールとは、トレリス内のすべての可視化が同じスケールで表示される、つまり共通の軸を共有することです。共通の軸があれば、すべてのグラフ・マーカーを行と列で簡単に比較できます。

単純トレリスおよび可視化も参照してください。

システム・コンポーネント

Oracle Process Manager and Notification Server (OPMN)によって管理されるサーバー・プロセス(Javaアプリケーションではない)。

「Oracle Process Manager and Notification Server (OPMN)」も参照してください。

変換

データベースから他の場所(他のデータベースの場合もある)に移動する際にデータに行われる処理。一部の変換は、通常、トランザクション・システムからデータ・ウェアハウス・システムへの移動時にデータに対して行われます。

トレリス

多次元データが、グリッド内の一連のセルとして表示され、各セルは特定のグラフ・タイプを使用するデータのサブセットを表しています。データは、グラフ、マイクロチャートおよび数値で表されます。

トレリス・ビューには、単純トレリスと拡張トレリスの2つのサブタイプがあります。

拡張トレリスおよび単純トレリスも参照してください。

非バランス型階層

リーフの深さが一様でない階層。たとえば、現在の月は日レベルでデータを持ち、前年は月レベルで、過去5年間は四半期レベルでデータを持つよう選択できます。

「階層」も参照してください。

値階層

「親子階層」を参照してください。

変数

管理タスクを効率化したり、変化するデータ環境に合せてメタデータの内容を動的に変更するために使用されるOracle BIリポジトリ内のオブジェクト。

変数は次のいずれかのタイプです。

- リポジトリ変数は、任意の時点で1つの値を持ちます。リポジトリ変数には、静的と動的の2種類があります。

- セッション変数は、各ユーザーのログイン時に作成され、値が割り当てられます。セッション変数には、システムとシステム以外の2種類があります。

変数プロンプト

ダッシュボードに表示する値を、ユーザーが変数プロンプトで指定された値から選択できます。変数プロンプトは列データに依存するのではなく、ユーザーが分析の列データを操作(加算や乗算など)できるようにします。

「プロンプト」も参照してください。

仮想物理表

ストアド・プロシージャまたはSELECT文から作成される物理表。仮想表を作成することによって、Oracle BIサーバーおよびベースとなるデータベースに、高度な問合せリクエストの実行に適したメタデータが提供されます。

ビジョン・ステートメント

組織が将来的にどうありたいかを表した、スコアカード内の簡潔なステートメントです。たとえば、南米ポリプロピレン市場で最も成功した企業になるなどです。

「ミッション・ステートメント」および「Oracle Scorecard and Strategy Management」も参照してください。

可視化

Oracle BI EEの場合、可視化とは、トレリス・ビューのデータ・セル内に表示されるグラフの選択肢のことです。棒グラフ、散布図、スパーク・グラフなど、トレリス・ビューを作成する際には、多数の可視化の中から選択できます。

トレリスも参照してください。

ウォッチリスト

スコアカードの特定の観点に関係し、特定の目的のためにグループ化された、スコアカード・オブジェクト(つまり、イニシアティブ、目標およびKPI)をリストする表。たとえば、KPIウォッチリストやスマート・ウォッチリストなどの様々なタイプのウォッチリストがあります。

KPIウォッチリスト、スマート・ウォッチリストおよびOracle Scorecard and Strategy Managementも参照してください。

ウォーターフォール・グラフ

連続的および累積的に値が増加または減少する状況を可視化できるグラフ・タイプ。ウォーターフォール・グラフでは、色を使用した単純な書式設定を介することによって、ユーザーの注意力は全体合計での各メジャーの分担状況に向けられます。

WebLogicサーバー・ドメイン

SOAP、HTTPおよびその他の形式のリクエストのサービスに加わるよう構成されたJavaコンポーネントが含まれます。

WebLogic Scripting Tool (WLST)

WebLogic Serverインスタンスとドメインの構成、管理および変更の保持と、サーバーの実行時のイベントのモニターおよび管理を可能にするコマンドライン・スクリプティング・インタフェース。

XML API

「Oracle BIサーバーXML API」を参照してください。

索引
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

数字

503 Service Not Availableエラー、回避, 7.3.1.1

A

ABS数学関数、概要, C.5.1

ACOS数学関数、概要, C.5.2

アダプタ・フォルダ・アイコン, Identity Manager, J.5

ADFビジネス・コンポーネント

概要, 6.1

アプリケーションEARファイル、デプロイ, 6.4.3

AppModuleの構成, 7.3.5

AppModuleDefinition, 7.3.5

JDBCデータ・ソース, 6.4.4

接続プールのプロパティ, 7.3.5

URL, 7.3.5

ADFデータ・ソース

AppModuleの構成, 6.5.1

AppModuleDefinition, 6.5.1

カスタム・パラメータの有効化, 6.7

メタデータのインポート, 6.5

ラベルとツールチップの伝播, 6.8

設定, 6.4

URL, 6.5.1

作業, 6

管理ツール(Administration Tool)

概要, 2.1

「図」メニュー, 2.1.4.6

「編集」メニュー, 2.1.4.2

「ファイル」メニュー, 2.1.4.1

「ヘルプ」メニュー, 2.1.4.8

アイコン, 2.1.9

キーボード・ショートカット, I

メイン・ウィンドウ, 2.1.2

「管理」メニュー, 2.1.4.4

開く, 2.1.1

プリファレンスの設定, 2.1.3

ツールバー, 2.1.2

「ツール」メニュー, 2.1.4.5

バージョン, 2.1.4.8

「表示」メニュー, 2.1.4.3

「ウィンドウ」メニュー, 2.1.4.7

管理ツール・ユーティリティ

集計の永続性, 18.2.9

論理列タイプの比較, 18.2.13

プレゼンテーション・フォルダの変換, 18.2.11

文字列の外部化, 18.2.3

論理列タイプのドキュメントの生成, 18.2.12

メタデータ・ディクショナリの生成, 18.2.7

Oracle BIイベント表, 18.2.2

使用されていない物理オブジェクトの削除, 18.2.8

名前変更ウィザード, 18.2.4

論理表ソースの列または表の置換, 18.2.1

リポジトリ・ドキュメント, 18.2.6

物理レイヤーの更新, 18.2.5

AGGREGATE AT集計関数、概要, C.3.1.1 集計関数

概要, C.3.1, C.3.1, C.3.2

AGGREGATE AT, C.3.1.1

代替可能な構文, C.2.4.4

AVG, C.3.1.2

AVGDISTINCT, C.3.1.3

BOTTOMN, C.3.1.4

ベースライン列の集計の計算, C.2.4.1

メジャー列の集計の計算, C.2.4.2

COUNT, C.3.1.5

COUNT (*), C.3.1.7

COUNTDISTINCT, C.3.1.6

表示関数のリセットの動作, C.2.4.3

FIRST, C.3.1.8

GROUPBYCOLUMN, C.3.1.10

GROUPBYLEVEL, C.3.1.11

LAST, C.3.1.12

MAX, C.3.1.14

MEDIAN, C.3.1.15

MIN, C.3.1.16

NTILE, C.3.1.17

PERCENTILE, C.3.1.18

RANK, C.3.1.19

ルール, C.2.4

STDDEV, C.3.1.20

STDDEV_POP, C.3.1.21

SUM, C.3.1.22

SUMDISTINCT, C.3.1.23

TOPN, C.3.1.24

FILTERを使用した条件集計の計算, C.2.4.5

集計アイコン, ビジネス・モデル・レイヤー, J.3 集計アイコン, プレゼンテーション・レイヤー, J.4 集計ナビゲーション

集計表の断片について, 11.8.3

WHERE句フィルタについて, 11.5.2

集計対象の各レベルのファクト・データのソース作成, 11.7

各ソースの集計レベルの指定, 11.7

断片化の内容の指定, 11.8

集計の永続性(aggregate persistence)

概要, 13.1, 13.2

デフォルトの接頭辞, 13.1

問合せの候補の特定, 13.3

指定の実行, 13.8

トラブルシューティング, 13.12

集計の永続性ウィザードの使用, 13.5

手動でのスクリプトの記述, 13.7

集計の永続性ウィザード、概要, 13.5 集計問合せ、概要, C.2.4 集計表の断片

概要, 11.8.3

断片が使用されるようにリポジトリを構成することについて, 11.8.3

仮想表の物理結合の作成, 11.8.3.4

SQL仮想表のコンテンツの作成, 11.8.3.3

SELECT文を使用した物理レイヤー表の定義, 11.8.3.2

集計表のコンテンツの指定, 11.8.3.1

AGGREGATE_PREFIX構成オプション, 13.1 集計の内容、グループ化, 11.5.1 集計ルール

メジャー列に対するデフォルトのルール, 9.6.5

ディメンション固有, 9.6.5.1

Evaluate_Aggr, 9.6.5

マルチディメンション・データ・ソース, 9.6.5.2

Oracle OLAP, 8.8.1

AGO時系列関数、概要, C.3.3.1 別名表

概要, 8.4.2

作成, 8.4.3.2

Essbase, 8.6.2

エイリアス

「別名」タブ、使用, 12.7

マージ, D.2.1.5

デフォルトで直接データベース・リクエストを許可

概要, 7.1.2

有効化に関する推奨事項, 7.1.2.1

「初期化ブロックに最初の接続プールを許可」オプション, 2.1.3 「リポジトリからのインポートの許可」オプション, 2.1.3 「論理外部キー結合作成の許可」オプション, 2.1.3 デフォルトで問合せの移入を許可, 7.1.2 代替階層、概要, 8.6.5 アナリティック・ワークスペース・アイコン, 物理レイヤー, J.2 アナリティック・ワークスペース・オブジェクト、作業, 8.8.2 「祖先参照」列タイプ, 8.6.1 注釈、Oracle Scorecardと戦略管理のための有効化, 15.1 Apache Hive

Oracle BIを使用する際の制限, 5.3.7.2

設定, 5.3.7

Apache Hiveデータベース、DataDirect Connectドライバを使用した接続, 16.3.6 アプリケーションEARファイル、ADFビジネス・コンポーネント, 6.4.3 アプリケーション・モジュール, 6.1 アプリケーション・ロール

権限の付与について, 14.3.1

管理, 1.5

デフォルトのポリシー・ストアでの管理, 14.1.1

パーミッションの継承, 14.3.1

プレースホルダ・ロールの設定, 14.5.1

アプリケーション・ロール・アイコン, Identity Manager, J.5 AppModuleの構成、ADFビジネス・コンポーネント, 7.3.5 AppModuleの構成、ADFデータ・ソース, 6.5.1 AppModuleの定義、ADFビジネス・コンポーネント, 7.3.5 AppModuleの定義、ADFデータ・ソース, 6.5.1 アーキテクチャ

マルチユーザー開発, A.2

Oracle BIサーバー, 1.1.1

リポジトリ, 1.1.2

ASCII文字列関数、概要, C.4.1 ASIN数学関数、概要, C.5.3 ATAN数学関数、概要, C.5.4 ATAN2数学関数、概要, C.5.5 「属性」列タイプ, 8.6.1 監査、データ・アクセス・セキュリティ, 14 AuthenticatedUser, 概要, 14.3 認証

キャッシュ, 2.1.3

管理, 14.1.1

AUTHINITBLOCKONLYシステム・セッション変数, 19.2.1.1 「自動レイアウト」オプション、図, 2.1.5 AVG集計関数、概要, C.3.1.2 AVGDISTINCT集計関数、概要, C.3.1.3

B

メジャーのための「ディメンションに基づく」オプション, 9.6.5

ベースライン列

集計関数での動作, C.2.4.1

例, C.2.4.1

「Between」SQL論理演算子、概要, C.2.5.1 BIリポジトリ・フォルダ・アイコン, Identity Manager, J.5 BIG INTデータ型の制限事項, F.3 bi-init, 2.1.1, 2.2.1, 2.2.1, 2.6.3, 3.4.2.1.3, 4.4.1, 13.4.6, 13.6.4, 15.3, 15.3, 17.1.2, 17.2.3, 17.3.2.3.1, 17.5.2, 18.2.12.1, A.2.1, E.2.2 BINARYデータ型の制限事項, F.3 Oracle BI EEでサポートされているバイナリ・データ型, F.1.4 バイナリ浮動小数点の制限事項, F.3.1 biserverxmlcli, 2.2 biserverxmlexec, 2.2 biserverxmlgen, 2.2 BISystemユーザー, 2.1.3 BITデータ型の制限事項, F.3 BIT_LENGTH文字列関数、概要, C.4.2 空のリポジトリ, 作成, 17.3.1.3 BOTTOMN集計関数、概要, C.3.1.4 ブランチ化、マルチユーザー開発, 3.6, A.3.3 ブリッジ表

概要、9.9

単一ディメンションでのモデリング, 9.9.2

個別のディメンションでのモデリング, 9.9.3

物理レイヤーでのモデリング, 9.9.1

重みファクタ, 9.9

「参照」ダイアログ

使用について, 2.1.8

オブジェクトの問合せ, 2.1.8

オブジェクトの選択, 2.1.8

問合せ結果リストにあるオブジェクトとツリー・コントロール・リストの同期, 2.1.8

バッファ・サイズ、設定, 7.4.1 メトリックの一括作成, 18.3 ビジネス・モデルとマッピング・レイヤー

概要, 1.1.2, 9.1

ディメンションにおけるレベルとメジャーの関連付け, 9.6.6

オブジェクトの自動作成, 9.2.2

論理列の作成, 9.6

論理表ソースのコンテンツ定義の作成, 11.5.1

物理から論理へのマッピングの定義, 11.4

論理表ソースの管理, 11.1

表示フォルダの設定, 9.8

ヒント, 1.4.3

論理表での作業, 9.4

ビジネス・モデル図

使用について, 2.1.5

結合を作成するための使用について, 9.5

表示, 9.3

修飾名の表示, 2.1.3

操作, 9.3

ビジネス・モデル(無効)アイコン, ビジネス・モデル・レイヤー, J.3 ビジネス・モデル・アイコン, ビジネス・モデル・レイヤー, J.3 ビジネス・モデル

作成, 9.2.1

無効化, 9.2.1

サブジェクト・エリアでの複製, 9.2.3

計画, 1.2

概要, 1.2

C

キャッシュ・マネージャ

概要, 2.1.4.4

列の順序, 2.1.3

「キャッシュ」メニュー・オプション, 2.1.4.4 「キャッシュ・リフレッシュ間隔」オプション(認証キャッシュ), 2.1.3 キャッシング

認証キャッシュ, 2.1.3

管理, 1.5

物理表のための設定, 8.4.3.1

計算項目、作成, 11.4, 11.4 CALCULATEDMEMBER

例, C.2.8.4

ルール, C.2.8.2

構文, C.2.8.1

計算ウィザード

概要, 18.3

設定, 2.1.3

使用, 18.3

計算、レベル・ベース・メジャー, 10.2.2.3 カレンダ日付/時刻関数

概要, C.6

CURRENT_DATE, C.6.1

CURRENT_TIME, C.6.2

CURRENT_TIMESTAMP, C.6.3

DAY_OF_QUARTER, C.6.4

DAYNAME, C.6.5

DAYOFMONTH, C.6.6

DAYOFWEEK, C.6.7

DAYOFYEAR, C.6.8

HOUR, C.6.9

MINUTE, C.6.10

MONTH, C.6.11

MONTH_OF_QUARTER, C.6.12

MONTHNAME, C.6.13

NOW, C.6.14

QUARTER_OF_YEAR, C.6.15

SECOND, C.6.16

TIMESTAMPADD, C.6.17

TIMESTAMPDIFF, C.6.18

WEEK_OF_QUARTER, C.6.19

WEEK_OF_YEAR, C.6.20

YEAR, C.6.21

呼出しインタフェース、接続プール, 7.3.1.1 CASE (If)条件式、概要, C.2.6.2 CASE (Switch)条件式、概要, C.2.6.1 CAST変換関数、概要, C.7.1, C.7.2 カタログ、作成, 8.3.1.1 CEILING数学関数、概要, C.5.6 動作要件に関する情報, 1.6 CHARデータ型の制限事項, F.3 CHAR文字列関数、概要, C.4.3 CHAR_LENGTH文字列関数、概要, C.4.4 文字リテラル、概要, C.2.7.1 「オブジェクトを自動的にチェックアウト」オプション, 2.1.3 チェックアウト済オブジェクト記号, J.1 グローバルな整合性のチェック, 2.6.1 変更のチェックイン, 2.5.4 オブジェクトのチェックアウト, 2.5.3 時系列キー

概要, 10.2.1

選択とソート, 10.2.2.5

各レベルに対する設定, 10.4.2.2

循環結合、概要と削除, 1.4.2 クライアント・アプリケーション、接続の有効化, 15.5 Cloudera Impala

設定, 5.3.6

クラスタ・マネージャ, 2.1.4.4 「クラスタ」メニュー・オプション, 2.1.4.4 「すべて縮小」オプション、図, 2.1.5 列(派生)アイコン, プレゼンテーション・レイヤー, J.4 列アイコン, 物理レイヤー, J.2 列アイコン, プレゼンテーション・レイヤー, J.4 列マッピング、物理から論理へ, 11.4 列タイプ、Essbase, 8.6.1 コマンドライン・ユーティリティ, 2.2 共通エンタープライズ情報モデル、概要, 1.1.2 論理列タイプの比較のユーティリティ, 使用, 18.2.13 比較モード、オフ, 17.1.3 「元との比較」メニュー・オプション, 3.4.4 リポジトリの比較, 17.1 複合結合アイコン, 結合マネージャ, J.6 複合結合

「物理複合結合」を参照

CONCAT文字列関数、概要, C.4.5 条件式

概要, C.2.6

CASE (If)、概要と構文, C.2.6.2

CASE (Switch)、概要と構文, C.2.6, C.2.6.1

適合済ディメンション, 1.2.2.2 接続プール・アイコン, 物理レイヤー, J.2 接続プール

概要, 1.4.2, 7.2

変更の自動化, 7.3

ブラックリスト, 7.2.1

呼出しインタフェース, 7.3.1.1

接続スクリプトの作成, 7.3.2

作成または変更, 7.3

データ・ソース名, 7.3.1.1

初期化ブロック, 7.2.1

スタンバイ・データベース構成, 5.7.3

最大接続数, 7.3.1.1

権限, 7.3.1.1

永続接続プール・プロパティ, 7.4

ADFビジネス・コンポーネントのプロパティ, 7.3.5

完全修飾表名が必要, 7.3.1.1

共有ログオン, 7.3.1.1

「Unicodeデータベース・タイプ」オプション, 7.3.4

URL, 7.3.1.2

ライトバック・プロパティ, 7.3.4

XMLプロパティ, 7.3.3

接続スクリプト、接続プール, 7.3.2 整合性チェック

リポジトリの整合性のチェック, 2.6.2

1つのオブジェクトの整合性のチェック, 2.6.2

整合性チェック・マネージャ

リポジトリまたはオブジェクトの整合性のチェックについて, 2.6

メッセージについて, 2.6.1

整合性チェックへの合格について, 2.6

リポジトリの整合性のチェック, 2.6.2

1つのオブジェクトの整合性のチェック, 2.6.2

不整合を示すメッセージのコピー, 2.6.2

不整合の修正, 2.6.2

ディメンションのみの問合せのコンテキスト、指定, 12.2.5, 12.3 変換関数

VARIABLE_REPLACE, C.7.7

変換関数

概要, C.7

CAST, C.7.1

CHOOSE, C.7.2

IFNULL, C.7.3

INDEXCOL, C.7.4

TO_DATETIME, C.7.5

VALUEOF, C.7.6

「プレゼンテーション・フォルダの変換」ユーティリティ, 使用, 18.2.11 COS数学関数、概要, C.5.7 COT数学関数、概要, C.5.8 COUNT集計関数、概要, C.3.1.5 COUNT(*)集計関数、概要, C.3.1.7 COUNTDISTINCT集計関数、概要, C.3.1.6 集計指定の作成、手動での記述, 13.7 新規リポジトリの作成ウィザード, 5.2 CREATE VIEWファンクション, 8.10.2.1 集計の作成/準備の構文, 13.7.3.1 計算項目の作成, 11.4, 11.4 資格証明ストア、システム資格証明の管理, 14.1.1 キューブ列アイコン, 物理レイヤー, J.2 キューブ表アイコン, 物理レイヤー, J.2 キューブ表ビュー・アイコン, 物理レイヤー, J.2 キューブ変数、作業, 8.5.4 キューブ

概要, 1.3.2, 8.5.1

メンバーの表示, 8.5.5

作業, 8

現行のリポジトリ、概要, 17.3.1.1 CURRENT_DATEカレンダ日付/時刻関数、概要, C.6.1 CURRENT_TIMEカレンダ日付/時刻関数、概要, C.6.2 CURRENT_TIMESTAMPカレンダ日付/時刻関数、概要, C.6.3 カスタム認証者アイコン, Identity Manager, J.5 カスタム認証、管理, 14.1.1 カスタム・プロパティ、ADFデータ・ソースのための有効化, 6.7

D

データ・アクセス・セキュリティ

概要, 14.1

オフライン・モードでの適用について, 14.5

監査, 14

データ・フィルタ、設定, 14.2.1 「データの密度が高い」オプション, 9.6.5 データ・モデリング

データ・ソース・コンテンツの特定, 1.3

ディメンションの特定, 1.2.2.3

論理ディメンション表の特定, 1.2.2.2

論理ファクト表の特定, 1.2.2.1

参照表の特定, 1.2.2.4

目的, 1.2.1

ビジネス・モデルの計画, 1.2

データソース

Apache Hiveの設定, 5.3.7

Cloudera Impalaの設定, 5.3.6

データ・ソース名、接続プール, 7.3.1.1 データソース

LinuxおよびUNIXでの、ネイティブODBCドライバを使用した接続, 16.4

DataDirect Connectドライバ, 16.3

DB2接続, 16.8

Essbaseの設定, 5.3.5, 16.7

Hyperion Financial Managementの設定, 5.3.8

Microsoft Analysis Services, 5.5

ODBC DSNの設定, 5.3.1

Oracle Databaseの設定, 5.3.2

Oracle OLAPの設定, 5.3.3

Oracle RPASの設定, 5.3.10, 16.6

事前構成作業, 5.3

SAP/BWの設定, 5.3.9

LinuxおよびUNIXでの設定, 16.1

Oracle Business Intelligenceでサポートされているもの, 1.6

Teradataの設定, 5.3.11

TimesTenの設定, 5.3.4

ネイティブ・ゲートウェイの使用, 16.2

XML, 5.6

データ型

データ型リストへのアクセス, F.2

制限事項, F.3

Oracle DatabaseからOracle BI EEへのマッピング, F.5

Oracle BI EEによるサポート対象, F.1

変換, 11.4

データベース

実行権限の許可または禁止, 14.4.4

機能、概要, 7.1.3

機能、駆動表, 9.5.3

行レベル・セキュリティ, 14.2.2

データベース関数

概要, C.9

EVALUATE, C.9.1

EVALUATE_AGGR, C.9.3

EVALUATE_ANALYTIC, C.9.2

EVALUATE_PREDICATE, C.9.4

データベース・ヒント

概要, 8.11

SQLコメント・マーカーの入力について, 8.11.3

作成, 8.11.3

索引ヒント、概要, 8.11.1.1

Leadingヒント、概要, 8.11.1.2

パフォーマンスに関する考慮事項, 8.11.2

ヒントを受け入れる物理レイヤー・オブジェクト, 8.11

使用例, 8.11.1

データベース・アイコン, 物理レイヤー, J.2 データベース・オブジェクト

データベース・タイプについて, 7.1.1

ODBCタイプの割当て, 7.1.2

タイプの自動割当て, 7.1.1

スタンバイ・データベース構成のための作成, 5.7.2

手動作成, 7.1.2

設定, 7.1

機能の指定, 7.1.3

「仮想プライベート・データベース」オプション, 7.1.2

DATABASEシステム関数、概要, C.11.2 キューブを含むデータベースのアイコン, 物理レイヤー, J.2 データベース、サポートされているもの, 1.6 DataDirect Connect ODBCドライバ

アップグレード, 16.3.1

使用, 16.3

Oracle BI EEでサポートされている日時データ型, F.1.3 DATEデータ型の制限事項, F.3 DATEデータ型、変更, C.7.1 DATE_DISPLAY_FORMAT構成オプション, 2.3 DATE_TIME_DISPLAY_FORMAT構成オプション, 2.3 日時リテラル、概要, C.2.7.2 DAY_OF_QUARTERカレンダ日付/時刻関数、概要, C.6.4 DAYNAMEカレンダ日付/時刻関数、概要, C.6.5 DAYOFMONTHカレンダ日付/時刻関数、概要, C.6.6 DAYOFWEEKカレンダ日付/時刻関数、概要, C.6.7 DAYOFYEARカレンダ日付/時刻関数、概要, C.6.8 DB2 CLI (Unicode)接続プロトコル, 5.4 DB2 Connect、IBM z/OSおよびs/390プラットフォーム, 16.8 DB2 Cube Views

キューブ・メタデータのデプロイ, G.4.2

マテリアライズド・クエリー・テーブル(MQT)に関するガイドライン, G.4.2.3

DB2 Cube Views Generator

概要, G.1, G.4.1

入力ファイルについて, G.2.2

出力ファイルについて, G.2.3

変換ルール, G.2.5

DB2 Cube Viewsへのメタデータのエクスポート, G.4

インポート・ファイルの生成, G.2

オプションのパラメータとデフォルト, G.2.1

トラブルシューティング, G.2.4

DBFeatures.INIファイル, 7.1.3 DECIMALデータ型の制限事項, F.3 小数リテラル、概要, C.2.7.3.2 デフォルトの接頭辞、集計の永続性, 13.1 DEFAULT_PRIVILEGES構成オプション, 1.4.4, 2.3 初期化ブロックの遅延実行, 19.3.2.1 DEGREES数学関数、概要, C.5.9 マルチユーザー開発での委任管理, A.3.3.3 オブジェクトの削除, 2.1.6 「密度」オプション、Oracle OLAP, 8.8.4 DEPTH階層ナビゲーション関数、概要, C.10.1 派生列、作成, 9.6.4 「式を使用して既存の列から派生」オプション, 9.6.4 DESCRIPTIONシステム・セッション変数, 19.2.1.1 記述子ID列、論理列への割当て, 9.6.3 リポジトリ設計のガイドライン, 1.4 「図」メニュー, 概要, 2.1.4.6 図

使用について, 2.1.5

印刷, 2.1.5

ディメンション・アイコン, 物理レイヤー, J.2 ディメンション

概要, 1.2.2.3

階層について, 10.1

自動作成, 10.2.3

レベル数の自動作成, 10.2.4

特定, 1.2.2.3

複数の階層を持つ, 1.2.2.3.1

ディメンション固有の集計ルール、設定, 9.6.5.1 直接データベース・リクエスト、許可または禁止, 14.4.4 ディレクトリ・サーバー・アイコン, Identity Manager, J.5 DISABLE_CACHE_HITシステム・セッション変数, 19.2.1.1 DISABLE_CACHE_SEEDシステム・セッション変数, 19.2.1.1 DISABLE_PLAN_CACHE_HITシステム・セッション変数, 19.2.1.1 DISABLE_PLAN_CACHE_SEEDシステム・セッション変数, 19.2.1.1 DISABLE_SUBREQUEST_CACHEシステム・セッション変数, 19.2.1.1 「RPD更新を許可しない」構成オプション, 2.3, 2.5.5 「ローカル変更の破棄」メニュー・オプション, 3.4.4 表示列、Essbaseキューブ, 8.6.2.1 表示関数

例, C.2.4.3

リセットの動作, C.2.4.3

「図の別名に対する元の名前の表示」オプション, 2.1.3 「図の修飾名の表示」オプション, 2.1.3 DISPLAYNAMEシステム・セッション変数, 19.2.1.1 リポジトリ・マッピングのドキュメント、生成, 18.2.6 DOUBLE

データ型の制限事項, F.3

浮動小数点の制限事項, F.3.1

二重列サポート、有効化, 9.6.3 ドラッグ・アンド・ドロップ

ビジネス・モデル, 12.2.1

物理表および物理列, 9.1

駆動表

概要, 9.5.3

パフォーマンスのチューニング, 9.5.3

DSN、Oracle BIサーバーのための設定, 1.5 ビジネス・モデルとサブジェクト・エリアの複製, 9.2.3 動的名前

物理カタログまたは物理スキーマ, 8.3.2

物理表, 8.4.3.1

動的リポジトリ変数

概要, 19.1.1.2

初期化, 19.3.1.1

動的変数アイコン, 変数マネージャ, J.7

E

「編集」メニュー、概要, 2.1.4.2

オブジェクトの編集, 2.1.6

エンティティ・オブジェクト, 6.1

equalizerpdsユーティリティ, 17.2.3

オブジェクトの等化, 17.2

equalStringSetパラメータ、オブジェクトの等化, 17.2.3

Essbase

代替階層, 8.6.5

メンバー属性の関連付け, 8.6.4

クライアント・ライブラリ, 5.3.5, 16.7

列タイプ, 8.6.1

集計ルールの定義, 9.6.5.2

メタデータのフラット化, 8.6.1

Gen1レベル, 8.6.1

生成, 8.6.1

インポート, 5.5

UDAのインポート, 5.5

増分インポート, 8.6.1.1

メジャー階層, 8.6.6

UDAのモデリング, 8.6.3

設定, 5.3.5, 16.7

SSO, 7.3.1.2

置換変数, 8.6.1

未修飾のメンバー名の使用, 8.6.7

別名表での作業, 8.6.2

物理レイヤーでの作業, 8.6

ESSBASEPATH、設定, 5.3.5.1 レベル評価、使用, 10.2.4 EVALUATEデータベース関数、概要, C.9.1 Evaluate_Aggr集計ルール, 9.6.5 EVALUATE_AGGRデータベース関数、概要, C.9.3 EVALUATE_ANALYTICデータベース関数、概要, C.9.2 EVALUATE_PREDICATEデータベース関数、概要, C.9.4 イベント・ポーリング

スタンバイ・データベース構成での設定, 5.7.6

「Oracle BIイベント表」ユーティリティの使用, 18.2.2

メタデータ交換

概要, G.1

インポート・ファイルの生成, G.2, G.2

IBM DB2 (DB2 Cube Viewsを使用), G.4

Oracle Database (SQLアクセス・アドバイザを使用), G.3

実行優先度、初期化ブロックのための確立, 19.3.4 EXP数学関数、概要, C.5.10 「すべて展開」オプション、図, 2.1.5 「論理キーのエクスポート」オプション、パラメータ化SQL問合せでの使用について, 12.3 式ビルダー

使用について, 18.1

アクセス, 18.1.1

式の作成, 18.1.4.2

カテゴリ、概要, 18.1.3

式の例, 18.1.4

ナビゲート, 18.1.4.1

ツールバー, 18.1.2

式ビルダー・アイコン, 結合マネージャ, J.6 リテラルの表現

文字リテラル、概要と表現, C.2.7

小数、概要と表現, C.2.7.3.2

整数、概要と表現, C.2.7.3.1

BIAPPSの拡張元, 2.1.3 外部集計, 8.5.2.1 外部式、ADFデータ・ソース, 6.2 「文字列の外部化」ユーティリティ、使用, 18.2.3 EXTRACTBIT数学関数、概要, C.5.11 extractprojectsユーティリティ, 3.4.2.1.3

F

機能表

「DBMSの問合せ」を使用したエントリの変更, 7.1.3

デフォルト・エントリのリストア, 7.1.3

「データベース」ダイアログの「機能」タブでの表示, 7.1.3

ファイルの圧縮, 3.1 「ファイル」メニュー、概要, 2.1.4.1 フィルタ、設定, 14.2.1 FIRST集計関数、概要, C.3.1.8 FIRST_PERIOD時系列関数、概要, C.3.1.9 「ウィンドウに合せる」オプション、図, 2.1.5 FLOAT

データ型の制限事項, F.3

浮動小数点の制限事項, F.3.1

浮動小数点の制限事項, F.3.1 浮動小数点リテラル、概要, C.2.7.3.3 FLOOR数学関数、概要, C.5.12 外部キー(論理および物理)アイコン, 結合マネージャ, J.6 外部キー

主キーとの関係, 8.9.1.1

断片化の内容(fragmentation content)

概要, 11.8

指定, 11.5.1

複数列コンテンツ記述の指定, 11.8.2.1

並列コンテンツ記述の指定, 11.8.2.2

単一列の範囲ベースの述語のための指定, 11.8.2

単一列の値ベースの述語のための指定, 11.8.1

不均衡な並列コンテンツ記述の指定, 11.8.2.3

断片化されたデータ、概要, 8.9.1.4 FROM句の構文、概要, C.2.1.5 完全なリポジトリ・マージ、概要, 17.3.1 完全非正規化スキーマ、概要, 1.3.1 完全修飾名、表示, 2.1.3 Fusion Middleware Control

RPD更新を許可しない, 2.3

リポジトリ・ファイル, 2.3

リポジトリ作成者のための設定, 2.3

G

Gen1レベル

概要, 8.6.1

スキップ, 2.1.3

「ADFラベルの生成」オプション, 6.8.3 「ADFツールチップの生成」オプション, 6.8.3 論理列タイプのドキュメントの生成ユーティリティ, 使用, 18.2.12 「メタデータ・ディクショナリの生成」ユーティリティ、使用, 18.2.7 ターゲットDDLを別のファイルに生成オプション, 13.5 ガバナー、設定, 14.4 グレイン、時系列, 10.4.1 総計ディメンションの階層、例, 10.2.2.3 総計レベル、概要, 10.2.1 GROUP BY句

ある場合とない場合の問合せの動作, C.2.4.3

構文、概要, C.2.1.7

GROUPシステム・セッション変数, 19.2.1.1 GROUPBYCOLUMN集計関数、概要, C.3.1.10 GROUPBYLEVEL集計関数、概要, C.3.1.11 グループ、管理, 1.5, 14.1.1

H

ハードウェアの要件, 1.6

「ヘルプ」メニュー、概要, 2.1.4.8

ヘルプ、アクセス, 1.4.1

「レベル・ベースのメジャーの非表示」オプション, 2.1.3

「置換ウィザードで使用できない論理表ソースの非表示」オプション, 2.1.3, 18.2.1

階層

概要, 1.2.2.3, 10.1

レベルベースについて, 10.2.1

複数について, 1.2.2.3.1

タイプの決定, 1.2.2.3

総計階層の例, 10.2.2.3

総計レベル, 10.2.1

レベル属性、概要, 10.2.1

レベル・キー、概要, 10.2.1

レベルベース・メジャーの計算、概要, 10.2.2.3

親子階層のレベルと距離, 10.3.1.1

レベル、作成, 10.2.1

親子、概要, 10.3.1

レベル・ベース・メジャーの計算の設定, 10.2.2.3

スキップレベル, 10.2.1

時間ディメンション、概要, 10.2.1

不均衡, 10.2.1

階層アイコン, 物理レイヤー, J.2 階層アイコン, プレゼンテーション・レイヤー, J.4 階層ナビゲーション関数

概要, C.10

DEPTH, C.10.1, C.10.1

IDOF, C.10.2

ISANCESTOR, C.10.3

ISCHILD, C.10.4

ISDESCENDANT, C.10.5

ISLEAF, C.10.6

ISPARENT, C.10.7

ISROOT, C.10.8

ISSIBLING, C.10.9, C.10.9

PARENT, C.10.10

ヒント

概要, 8.11

作成, 8.11.3

サポート, 8.11

マルチユーザー開発の履歴, 3.7.1 Hive

Oracle BIを使用する際の制限, 5.3.7.2

設定, 5.3.7

Hiveデータベース、DataDirect Connectドライバを使用した接続, 16.3.6 HOURカレンダ日付/時刻関数、概要, C.6.9 HTML表

XML Gateway、アクセス, 5.6.2.2

Hyperion Financial Management

アプリケーション・ビルダー, 5.3.8

インポート, 5.5

POV値, 8.7.1

問合せのサポート, 8.7.3

設定, 5.3.8

SSO, 7.3.1.2

操作, 8.7

Hyperion Planning

POV値, 8.7.2

要件, 8.7.2

SSO, 7.3.1.2

操作, 8.7

I

IBM DB2 Connect、UNIXのための問合せの構成, 16.8

IBM DB2 Cube Views, 2.2

概要, G.1

DB2マテリアライズド・クエリー・テーブルの作成のための使用, G.4

アイコン、変更, 2.1.9 Identity Manager, 2.1.4.4 Identity Managerフォルダ・アイコン, Identity Manager, J.5 「アイデンティティ」メニュー・オプション, 2.1.4.4 IDOF階層ナビゲーション関数, 概要, C.10.2 IFNULL変換関数、概要, C.7.3 Impala

設定, 5.3.6

Impalaデータベース、DataDirect Connectドライバを使用した接続, 16.3.5 潜在ファクト列、設定, 12.2.5 メタデータのインポート・ウィザード, 5.4, 5.5, 5.6.2, 6.5.1 インポート

ADFデータ・ソース, 6.2, 6.5

データ・ソース事前構成作業, 5.3

Essbaseから, 5.5

Hyperion Financial Managementから, 5.5

マルチディメンション・データ・ソースから, 5.5

Oracle OLAPから, 5.5

Oracle RPASから, 5.5

リレーショナル・データ・ソースから, 5.4

SAP/BWから, 5.5

XMLデータ・ソースから, 5.6

XMLAから, 5.5

メタデータ, 5.1

XMLデータ(ODBCを使用), 5.6.3

「In」SQL論理演算子、概要, C.2.5.1 増分インポート、Essbase, 8.6.1.1 INDEXCOL変換関数、概要, 18.1.4.3, C.7.4 索引付け、索引ヒントの指示について, 8.11.1.1 Informixデータベース、DataDirect Connectドライバを使用した接続, 16.3.4 初期化ブロック

接続プールについて, 7.2.1

変数を含む場合の使用について, 19.3.1

遅延実行の許可, 19.3.2.1

変数との関連付け, 19.3.3

作成, 19.3.2

遅延実行, 19.3.1.2

有効化と無効化, 19.3.6

実行順序、設定, 19.3.4

動的リポジトリ変数の初期化, 19.3.1.1

セッション変数の初期化, 19.3.1.2, 19.3.1.2

選択ステップ変数のJSON構文, 19.3.2.2.1

「認証のために必要」オプション, 19.3.2.1

行単位の初期化, 19.3.1.3

遅延実行のルール, 19.3.5

操作, 19.3

INSERT文字列関数、概要, C.4.6 インストール・タイプ、サポートされているもの, 1.6 INTEGERデータ型の制限事項, F.3 整数リテラル、概要, C.2.7.3.1 INTERRUPT_ENABLEDパラメータ, 16.8 無効なオブジェクト・アイコン, ビジネス・モデル・レイヤー, J.3 「Is Null」SQL論理演算子、概要, C.2.5.1 ISANCESTOR階層ナビゲーション関数、概要, C.10.3 ISCHILD階層ナビゲーション関数、概要, C.10.4 ISDESCENDANT階層ナビゲーション関数、概要, C.10.5 ISLEAF階層ナビゲーション関数、概要, C.10.6 ISPARENT階層ナビゲーション関数、概要, C.10.7 ISROOT階層ナビゲーション関数、概要, C.10.8 ISSIBLING階層ナビゲーション関数、概要, C.10.9

J

JDBCデータ・ソース、Oracle ADFアプリケーション, 6.4.4

JDK、サポートされているもの, 1.6

ジョブ・マネージャ, 2.1.4.4

「ジョブ」メニュー・オプション, 2.1.4.4

結合フォルダ・アイコン, 結合マネージャ, J.6

結合マネージャ

概要, 2.1.4.4

論理結合の作成, 9.5.2.1

物理結合の作成, 8.9.3

結合を作成するための使用, 9.5

「結合」メニュー・オプション, 2.1.4.4 初期化ブロックのJSON構文, 19.3.2.2.1

K

キー・アイコン, 物理レイヤー, J.2

キー・アイコン, プレゼンテーション・レイヤー, J.4

管理ツールのキーボード・ショートカット, I

KPI, 1.4.3

L

ラベル、ADFデータ・ソース, 6.8.1

LAST集計関数、概要, C.3.1.12

LAST_PERIOD時系列関数, 概要, C.3.1.13

Leadingヒント、概要, 8.11.1.2

「リーフ」列タイプ, 8.6.1

LEFT文字列関数、概要, C.4.7

LENGTH文字列関数、概要, C.4.8

レベル属性、概要, 10.2.1

レベル・アイコン, プレゼンテーション・レイヤー, J.4

レベル・キー、概要, 10.2.1

レベルベース階層、概要, 10.2.1

レベル・ベース・メジャー

概要, 10.2.2.3

計算, 10.2.2.3

問合せの結果, 10.2.2.3

論理列の辞書式順序でのソート, 9.6.2 ライフサイクル管理、リポジトリ, A 「Like」SQL論理演算子、概要, C.2.5.1 データ型の制限事項, F.3 Oracle BIサーバーの制限事項, F.4 制限事項

最大実行時間の制限, 14.4.3

受け取る行数の制限, 14.4.2

特定の時間帯への問合せの限定, 14.4.3

Linux

データ・ソースの設定について, 16.1

ネイティブODBCドライバを使用した、データ・ソースへの接続, 16.4

データベース設定スクリプト、場所, 16.2

DataDirect Connect ODBCドライバ, 16.3

リテラル、SQL, C.2.7 「起動時にすべてのオブジェクトをロード」オプション、選択について, 2.5.2.1 デシジョン・ファイルのロード・オプション, 17.3.1.2 LOCALE構成オプション, 2.3 ローカライゼーション、概要, 1.5 プレゼンテーション・レイヤーのオブジェクト名と説明のローカライズ, 18.2.3 LOCATE文字列関数、概要, C.4.9 LOG数学関数、概要, C.5.13 LOG10数学関数、概要, C.5.14 ロギング・レベル、BISystemユーザーのための設定, 2.1.3 ロギング、管理, 1.5 論理列(派生)アイコン, ビジネス・モデル・レイヤー, J.3 論理列アイコン, ビジネス・モデル・レイヤー, J.3 論理列

記述子IDの割当て, 9.6.3

論理レベルとの関連付け, 10.2.2.3

ソート順序の変更, 9.6.2

複数通貨サポートのための構成, 9.6.4.1

作成, 9.6

派生列の作成, 9.6.4

ライトバックの有効化, 9.7

辞書式順序でのソート, 9.6.2

物理列へのマッピング, 11.4

移動またはコピー, 9.6.7

ソースからのアンマップ, 11.4.1

論理ディメンション・アイコン, ビジネス・モデル・レイヤー, J.3 論理ディメンション表

概要, 1.2.2.2

特定, 1.2.2.2

論理ディメンション

概要、10.1

キー列を含めることについて, 10.2.2.3

論理列および論理表の関連付け, 10.2.2.3

レベル数の自動設定, 10.2.4

作成, 10.2.2.1

自動作成, 10.2.3

論理レベルの作成, 10.2.2.2

時間ディメンションの作成, 10.4.2

親子階層での作成, 10.3.2

マルチディメンション・データ・ソース, 10.1

時間ディメンションのモデリング, 10.4

レベルベース階層, 10.2

親子階層, 10.3

論理表示フォルダ(クローズ)アイコン, ビジネス・モデル・レイヤー, J.3 論理表示フォルダ(オープン)アイコン, ビジネス・モデル・レイヤー, J.3 論理表示フォルダ、設定, 9.8 論理ファクト表アイコン, ビジネス・モデル・レイヤー, J.3 論理ファクト表

概要, 1.2.2.1

特定, 1.2.2.1

1つのビジネス・モデル, 1.4.3

結合, 1.2.2.1

論理外部キー結合, 9.5, 9.5.2 論理結合アイコン, 結合マネージャ, J.6 論理結合

概要, 9.5

作成について, 9.5

駆動表について, 9.5.3

カーディナリティ, 9.5.1

作成, 9.5.2.1

結合マネージャでの作成, 9.5.2.1

物理表の表示, 9.5.5

ビジネス・モデル図での表示, 9.5.1

駆動表のパフォーマンスのチューニング, 9.5.3

論理キー・アイコン, ビジネス・モデル・レイヤー, J.3 論理キー、プレゼンテーション・レイヤーでのエクスポート, 12.2.4 論理レベル・アイコン, ビジネス・モデル・レイヤー, J.3 論理レベル・キー・アイコン, ビジネス・モデル・レイヤー, J.3 論理レベル

キーについて, 10.2.1

論理列の関連付け, 10.2.2.3

レベル数の自動設定, 10.2.4

作成, 10.2.2.2

時系列キーの指定, 10.4.2.2

総計レベル、例, 10.2.2.3

階層、概要, 10.2.1

レベル数の設定, 10.2.4

主キー、追加, 10.2.2.4

優先ドリル・パスの指定, 10.2.2.6

論理参照表アイコン, ビジネス・モデル・レイヤー, J.3 論理オブジェクト、マップされた物理オブジェクトの表示, 9.5.5 論理演算子, C.2.5.1 論理SQL、概要, C 論理スターおよびスノーフレーク、対応するサブジェクト・エリアの作成, 12.2.1.1 論理表ソース

「マップされていない表を許可」オプション, 11.2

論理表ソース・アイコン, ビジネス・モデル・レイヤー, J.3 論理表ソース

設定について, 11.2

作成, 11.2

集計表のコンテンツの定義, 11.5

コンテンツの定義, 11.5

返される行数の制限, 11.5.1

管理, 11.1

列のマッピング, 11.4

マージ・アルゴリズム, D.2.1

優先度グループ番号の設定, 11.3

親子階層のための設定, 11.6

列または表の置換ウィザードの使用, 18.2.1

Where句フィルタ、物理表の制約のための使用, 11.5.2

論理表

新しい論理表ソースの追加, 11.2

論理ディメンションとの関連付け, 10.2.2.3

作成と管理, 9.4

ドラッグ・アンド・ドロップによる作成, 9.4.1

手動作成, 9.4.1

参照表としての指定, 9.4.1

キー、指定, 9.4.2

操作, 9.4

LOGLEVELシステム・セッション変数, 19.2.1.1 LONGVARBINARYデータ型の制限事項, F.3 LONGVARCHARデータ型の制限事項, F.3 参照表, 1.2.2.4, 2.6.1, 9.4.1 LOWER文字列関数、概要, C.4.10

M

メイン・ウィンドウ、管理ツール, 2.1.2

「管理」メニュー、概要, 2.1.4.4

ManageRepositories権限, 2.5.2.1

認証の管理, 14.1.1

データ型のマッピング, Oracle DatabaseからOracle BI EEへ, F.5

マッピング、物理レイヤー、ビジネス・モデルおよびマッピング・レイヤー間での作成, 11.2

「マーケティング」メニュー・オプション, 2.1.4.4

「マーキー・ズーム」オプション、図, 2.1.5

マスター・リポジトリ

概要, 3.1

「実体化」オプション、Oracle OLAP, 8.8.4 マテリアライズド・クエリー・テーブル(MQT)、概要, G.4.1 マテリアライズド・ビュー

作成, G.3.2.4

使用, G.3

算術関数

概要, C.5

ABS, C.5.1

ACOS, C.5.2

ASIN, C.5.3

ATAN, C.5.4

ATAN2, C.5.5

CEILING, C.5.6

COS, C.5.7

COT, C.5.8

DEGREES, C.5.9

EXTRACTBIT, C.5.11

FLOOR, C.5.12

LOG, C.5.13

LOG10, C.5.14

MOD, C.5.15

PI, C.5.16

POWER, C.5.17

RADIANS, C.5.18

RAND, C.5.19

RANDFROMSEED, C.5.20

ROUND, C.5.21

SIGN, C.5.22

SIN, C.5.23

SQRT, C.5.24

TAN, C.5.25

TRUNCATE, C.5.26

数学演算子、概要, C.2.5.2 MAVG集計実行関数、概要, C.3.2.1 MAX集計関数、概要, C.3.1.14 MAX_PARAMETERS_PER_DRIVE_JOINパラメータ, 9.5.3 MAX_QUERIES_PER_DRIVE_JOINパラメータ, 9.5.3 Oracle BIサーバーでサポートされている最大フィールド長, F.4 SQL識別子の最大長, F.4 最大接続数, 7.3.1.1 MaxThreadsPerClientの設定、Microsoft Analysis Services, 7.3.1.1 メジャー

レベル・ベース・メジャーの計算について, 10.2.2.3

ディメンションにおけるレベルとの関連付け, 9.6.6

「ディメンションに基づく」オプション, 9.6.5

集計関数での動作, C.2.4.2

時系列メジャーの作成, 10.4.3

外部集計, 8.5.2.1

デフォルトの集計ルールの指定, 9.6.5

MEDIAN集計関数、概要, C.3.1.15 「メンバーの別名」列タイプ, 8.6.1 メンバー数、表示, 8.5.5 「メンバー・キー」列タイプ, 8.6.1 memnor列, 8.6.1 メモリーの要件, 1.6 メニュー、概要, 2.1.4 リポジトリ・マージ・ウィザード

ルール, D

使用, 17.3.1.2, 17.3.1.3, 17.3.2.3, D.2

リポジトリのマージ

概要, 17.3

完全なマージについて, 17.3.1

パッチ・マージについて, 17.3.2

ベスト・プラクティス, A.4.3

マージ方法の選択, A.3.4

オブジェクトの等化, 17.2

マージ・ルール, D

共通の親を使用, 17.3.1.2

共通の親を使用しない, 17.3.1.3

メタデータ

問合せと管理, 17.4

メタデータ・ディクショナリ、生成, 18.2.7 Microsoft Analysis Services

接続エラーの回避, 7.3.1.1

インポート, 5.5

MaxThreadsPerClient設定, 7.3.1.1

Microsoft SQL Server、DataDirect Connectドライバを使用した接続, 16.3.2 リポジトリの移行, A.2.1 MIN集計関数、概要, C.3.1.16 ディスク領域の最小要件, 1.6 MINUTEカレンダ日付/時刻関数、概要, C.6.10 「その他」タブ、「接続プール」ダイアログ, 7.3.5 MOD数学関数、概要, C.5.15 モデリング

代替階層, 8.6.5

プレゼンテーション表のベスト・プラクティス, 12.5.1

ブリッジ表, 9.9

物理レイヤーのEssbaseデータ, 8.6.1

Hyperion Financial Managementデータ, 8.7.1

Hyperion Planningデータ, 8.7.2

Oracle OLAPデータ, 8.8.1

親子関係表, 10.3.5

時系列データ, 10.4

UDA, 8.6.3

モード、オフラインとオンライン, 2.5.1 変更済リポジトリ、概要, 17.3.1.1 MONTHカレンダ日付/時刻関数、概要, C.6.11 MONTH_OF_QUARTERカレンダ日付/時刻関数、概要, C.6.12 MONTHNAMEカレンダ日付/時刻関数、概要, C.6.13 MSUM集計実行関数、概要, C.3.2.2 MUD

履歴, 3.7.1

マージ, 3.5.1

共有ネットワーク・ディレクトリ, 3.3

複数通貨サポート、構成, 9.6.4.1 マルチデータベース結合、概要, 8.9.1.3, 8.9.1.3 マルチディメンション・データ・ソース

概要, 1.3.2

インポート, 5.5

マルチディメンショナル・キー・アイコン, 物理レイヤー, J.2 多言語スキーマ, 1.2.2.4 複数階層

概要, 1.2.2.3.1

プレゼンテーション・レイヤー, 12.5.1.1

マルチソース・セッション変数

操作, 19.4

マルチユーザー開発

概要, 3.1

アーキテクチャ, A.2

ベスト・プラクティス, A.4

ブランチ化, 3.6, A.3.3

事例, B

概念, A.2.1

委任管理, A.3.3.3

管理に関するベスト・プラクティス, A.1.1

履歴、表示と削除について, 3.7.1

変更, 3.4

マージ、概要, 3.5.1

メタデータ、変更とテスト, 3.4.1

オプション, 3.8

デプロイの計画, A.1

プラットフォーム, A.2.3

プロジェクト, 3.2, 3.4.2.1, 3.5, A.3.2

変更内容の公開, 3.5

ロールバック, A.5

サンドボックス, A.2.1

ディレクトリの設定, 2.1.3

環境の設定、概要, 3.3

共有ネットワーク・ディレクトリ, 3.3

スタイル, A.2.2

トラブルシューティング, A.5

概要, A.3

「マルチユーザー開発ディレクトリ」オプション, 3.3.3

N

リポジトリ・オブジェクトのネーミングの制限, 2.1.7

NATURAL_JOINキーワード、SELECT_PHYSICAL文での使用, C.2.2.4

プレゼンテーション表のネスト, 12.4.3

「新規結合」オプション、図, 2.1.5

「新規表」オプション、図, 2.1.5

スプール領域不足エラー(Teradata), 5.3.11.1

システム以外のセッション変数, 19.2.1.2

非システム変数アイコン, 変数マネージャ, J.7

正規化スキーマ、概要, 1.3.1

NOWカレンダ日付/時刻関数、概要, C.6.14

nqcmdユーティリティ

データ型リストへのアクセス, F.2

アクセスの禁止, 7.1.2.1

キャッシュ・シードのための実行, 7.1.2.1

使用, 15.3

VARIABLE_REPLACE SQL関数, C.7.7

NQSConfig.INI

AGGREGATE_PREFIX, 13.1

DATE_DISPLAY_FORMAT, 2.3

DATE_TIME_DISPLAY_FORMAT, 2.3

DEFAULT_PRIVILEGES, 1.4.4, 2.3

LOCALE, 2.3

NULL_VALUES_SORT_FIRST, 5.5.1

リポジトリ作成者のためのオプション, 2.3

PREVENT_DIVIDE_BY_ZERO, 9.6.4

TIME_DISPLAY_FORMAT, 2.3

使用, 1.5

NQSGetSQLDataTypesプロシージャによるデータ型リストへのアクセス, F.2 NTILE集計関数、概要, C.3.1.17 NULL_VALUES_SORT_FIRST構成オプション, 5.5.1 NULL値可能、物理列, 8.4.4.1 「キャッシュ・エントリ数」オプション(認証キャッシュ), 2.1.3 「このレベルの要素数」オプション, 10.2.2.2 NUMERICデータ型の制限事項, F.3 Oracle BI EEでサポートされている数値データ型, F.1.2 数値リテラル、概要, C.2.7.3

O

OBIEEBroker

共有ライブラリとしてデプロイ, 6.4.2

URL, 6.5.1, 7.3.5

obieerpdpwdchg, 17.5 obieerpdpwdchgユーティリティ, 17.5 オブジェクト権限、設定, 14.3 オブジェクト

チェックイン, 2.5.4

チェックアウト, 2.5.3

削除, 2.1.6

編集, 2.1.6

ネーミング要件, 2.1.7

並替え, 2.1.6

選択, 2.1.8

ソート, 2.1.10

OCI 10g/11g接続プロトコル, 5.4 OCI接続、トラブルシューティング, 16.2.1 OCTET_LENGTH文字列関数、概要, C.4.11 ODBC

2.0および3.5接続プロトコル, 5.4

データ・ソース、メタデータのインポート, 5.1

LinuxおよびUNIXでのDataDirect Connectドライバ, 16.3

ネイティブ・ドライバ, 16.4

ODBC DSN

Oracle BIサーバー, 1.5

データ・ソースのための設定, 5.3.1

odbc.iniファイル, 16.3.2, 16.3.3, 16.3.4, 16.3.5, 16.3.5, 16.3.6, 16.4, 16.6 オフライン・モード, 2.5.1 オンライン・ヘルプ、アクセス, 1.4.1 オンライン・モード, 2.5.2 不透明なビュー・アイコン, 物理レイヤー, J.2 不透明なビュー

概要、8.10

削除、ガイドライン, 8.10.4

デプロイ, 8.10.2

再デプロイ、ガイドライン, 8.10.5

アンデプロイ, 8.10.3

VALUELISTOF, 8.10.2.1

VALUENAMEOF, 8.10.2.1

使用するタイミング, 1.4.2

オペレーティング・システム、サポートされているもの, 1.6 演算子、SQL, C.2.5 「オプション」ダイアログ、使用, 2.1.3 Oracle Application Development Framework、概要, 6.1 「Oracle BIイベント表」ユーティリティ、使用, 18.2.2 Oracle BIスケジューラの設定、スタンバイ・データベース構成, 5.7.7 Oracle BIサーバー

アーキテクチャ, 1.1.1

ローカル以外のファイル、アクセスについて, 5.6.1

ODBC DSN構成, 1.5

開始と停止, 1.5

ユーティリティ, 2.2

Oracle BIサーバーWebサービス、使用, 1.5 Oracle BIサーバーXML API

使用, 1.5, 2.2

接続プール設定の更新のための使用, 7.3

Oracle BIサーバーXML Gateway

「XML Gateway」を参照

Oracle Business Intelligence

OTN上のホーム・ページ, 2.1.4.8

ローカライズ, 1.5

ロギング, 1.5

新機能, はじめに

開始と停止, 1.5

Oracle Database

メタデータ交換について, G.1

メタデータのデプロイ, G.3.2

インポート, 5.4

設定, 5.3.2

「表またはビューが見つかりません」というエラー, 7.3.1.1

ストアド・プロシージャの使用, 8.4.1

Oracle Database Metadata Generator

概要, G.1

入力ファイルについて, G.2.2

出力ファイルについて, G.2.3

変換ルール, G.2.5

SQLアクセス・アドバイザへのメタデータのエクスポート, G.3

インポート・ファイルの生成, G.2

オプションのパラメータとデフォルト, G.2.1

トラブルシューティング, G.2.4

Oracle Database SQLアクセス・アドバイザ, 2.2 Oracleインスタンス、シェル・ウィンドウの初期化, 2.2.1 Oracle Marketing Segmentation, 2.1.4.4, 2.1.11 Oracle OLAP

概要, 8.8

キューブおよび列について, 8.8.4

ディメンション、階層およびレベルについて, 8.8.3

デフォルトの集計ルール, 8.8.1

「密度」オプション, 8.8.4

インポート, 5.5

「実体化」オプション, 8.8.4

設定, 5.3.3

作業、8.8

Oracle OLAPデータベース・アイコン, 物理レイヤー, J.2 Oracle RPAS

概要, 5.5.1

インポート, 5.5

インポートでお薦めするメタデータ・タイプ, 5.5

SQLExtendedFetchオプションの設定, 5.3.10

設定, 5.3.10, 16.6

Oracle Scorecard and Strategy Management

コメントおよびステータスの上書きの有効化, 15.1

モデリング要件, 1.4.3

Oracle WebLogic Server、管理, 1.5 OracleADF_HTTP接続タイプ, 6.5.1 ORDER BY句の構文, C.2.1.8 元のリポジトリ、概要, 17.3.1.1 変更されたRPDへの元のRPDパスワード, オブジェクトの等化, 17.2.3 孤立したロック、概要, A.5 「その他」列タイプ, 8.6.1 外部結合、モデリング, 1.4.3.1 「アウトライン・ソート」列タイプ, 8.6.1

P

「パン」オプション、図, 2.1.5

並列コンテンツ記述、例, 11.8.2.2.1

PARENT階層ナビゲーション関数, 概要, C.10.10

「親参照」列タイプ, 8.6.1

親子階層

概要, 10.3.1

レベルと距離について, 10.3.1.1

ディメンションの作成, 10.3.2

論理表ソース設定, 11.6

メンテナンス, 10.3.6

親子関係表アイコン, 物理レイヤー, J.2 親子関係表

概要, 10.3.1.2

定義, 10.3.3

モデリング, 10.3.5

パッチ・リポジトリ・マージ

概要, 17.3.2

パッチの適用, 17.3.2.3

パッチの生成, 17.3.2.2

patchrpdユーティリティ、概要, 17.3.2.3.1 PERCENTILE集計関数、概要, C.3.1.18 パフォーマンス

データベースとのメタデータ交換による向上, G.1

必要以上の物理結合条件の回避, 8.9.1.4

マルチデータベース結合の回避, 8.9.1.3

最適な物理結合, 8.9.1.2

駆動表に関する考慮事項, 9.5.3

集計の正しい定義, 9.6.4

問合せグレインでの時系列キーの定義, 10.4.1

集計表を使用した向上, 13

データベース・ヒントを使用した向上, 8.11.2

問合せキャッシュを使用した向上, 1.5

未修飾のメンバー名を使用した向上, 8.6.7

スタンバイ・データベース構成での向上, 5.7

集計を永続化する際のリレーショナル表の索引付け, はじめに

物理レイヤーからの不要なオブジェクトの削除, 5.5

正しい集計ルールの設定, 8.5.2

OCIを使用したOracle Databaseへの接続, 5.4

PERIODROLLING時系列関数、概要, C.3.3.2 リポジトリにおける権限の継承, 14.3.1 権限

デフォルト, 14.1.1

接続プール, 7.3.1.1

プレゼンテーション・レイヤー・オブジェクト, 12.6

データ・フィルタの設定による問合せの制限, 14.2.1

プレゼンテーション・レイヤー・オブジェクトのレポート, 12.6.1

オンライン・モードで必要なもの, 2.5.2.1

列のソート, 12.6.2

PERMISSIONSシステム・セッション変数, 19.2.1.1 永続接続プール

「データベース」ダイアログ, 7.1.2

設定, 7.4

物理別名表アイコン, 物理レイヤー, J.2 物理カタログ・アイコン, 物理レイヤー, J.2 物理カタログ

作成, 8.3.1.1

動的名前の指定, 8.3.2

物理列

作成または編集, 8.4.4

NULL値可能, 8.4.4.1

行数, 8.12

タイプ, 8.4.4.1

データの表示, 8.4.5

物理接続設定、更新, 3.4.1 物理キューブ表、概要, 8.5.1 物理図

使用について, 2.1.5

マルチデータベース結合を指定するための使用について, 8.9.1.3

ビジネス・モデルとマッピング・レイヤーからのアクセス, 9.5.5

表示, 8.2

修飾名の表示, 2.1.3

外部キー結合または複合結合、定義, 8.9.2

物理結合、定義について, 8.9.2

作業, 8.2

物理ディメンション、概要, 8.5.3.1 物理表示フォルダ(クローズ)アイコン, 物理レイヤー, J.2 物理表示フォルダ(オープン)アイコン, 物理レイヤー, J.2 物理表示フォルダ、設定, 8.3.3 物理階層

概要, 8.5.3.2

キューブの追加または削除, 8.5.3.2.1

階層タイプの設定, 8.5.3.2

物理結合

概要, 8.9.1

複合結合について, 8.9.1.2

インポートしたキーと外部キーの結合について, 8.9.1

主キーと外部キーの関係について, 8.9.1.1

不要な結合の回避, 8.9.1.4

結合マネージャでの作成, 8.9.3

物理図での定義, 8.9.2

断片化されたデータ、概要, 8.9.1.4

マルチデータベース結合、概要, 8.9.1.3

作業, 8

物理レイヤー

概要, 1.1.2

作成とメンテナンス、5.1

手動作成, 7.1.2

ヒント、概要, 8.11

ソース・コンテンツの特定, 1.3

論理列から物理列へのマッピング, 11.4

ブリッジ表のモデリング, 9.9.1

物理結合、結合マネージャでの定義, 8.9.3

問合せ、データベースに送信されるタイプの指定, 7.1.3

使用されていないオブジェクトの削除, 18.2.8

表示フォルダの設定, 8.3.3

ヒント, 1.4.2

オブジェクトの更新, 18.2.5

ディメンションおよび階層での作業, 8.5

Essbaseデータ・ソースでの作業, 8.6

Hyperion Financial Managementデータでの作業, 8.7.1

Hyperion Planningデータでの作業, 8.7.2

マルチディメンション・ソースでの作業, 8.5

Oracle OLAPデータでの作業, 8.8.1

物理表での作業, 8.4

物理レベル・アイコン, 物理レイヤー, J.2 物理スキーマ・アイコン, 物理レイヤー, J.2 物理スキーマ

インポートについて, 5.1

作成, 8.3.1.2

動的名前の指定, 8.3.2

物理表

概要, 8.4.1

キャッシュの設定, 8.4.3.1

作成または編集, 8.4.3

行数, 8.12

XMLプロパティの設定, 8.4.3.4

列とキーの指定, 8.4.4

表タイプ, 8.4.1

データの表示, 8.4.5

仮想物理表、作成, 8.4.1

作業, 8, 8.4

PI数学関数、概要, C.5.16 プラットフォーム、サポートされているもの, 1.6 ポイント・オブ・ビュー(POV)値、Hyperion Financial Managementデータ・ソース, 8.7.1 Point of View (POV)値、Hyperion Planningデータ・ソース, 8.7.2 ポリシー、管理, 14.1.1 移入権限、許可または拒否, 14.4.5 POPULATE SQL, 7.1.2 PORTALPATHシステム・セッション変数, 19.2.1.1 POSITION文字列関数、概要, C.4.12 POWER数学関数、概要, C.5.17 プリファレンス、設定, 2.1.3 優先ドリル・パス、特定, 10.2.2.6 PREFERRED_CURRENCYセッション変数, 9.6.4.1 プレゼンテーション列

作業について, 12.4.2

「別名」タブ、使用, 12.7

作成, 12.4.2

削除, 12.2.2

名前の変更, 12.2.3

並替え, 12.4.2

プレゼンテーション階層

概要, 12.5

複数の階層を持つ論理ディメンションに基づく, 12.5.1.1

作成および管理, 12.5.1

プロパティの編集, 12.5.1.2

プレゼンテーション・レイヤー(Presentation layer)

概要, 1.1.2, 12.2

「別名」タブ、使用, 12.7

作成, 12.1

変換キーのローカライズ, 18.2.3

論理キー、サブジェクト・エリアでのエクスポートについて, 12.2.4

メンテナンス, 12.2.6

Oracle BIアンサーにおけるネストされたフォルダ, 1.4.4, 12.4.3

権限レポート, 12.6.1

プレゼンテーション列、作業, 12.4.2

不要な列の削除, 12.2.2

プレゼンテーション列の名前変更, 12.2.3

権限の設定, 12.6

ヒント, 1.4.4

プレゼンテーション・レベル

概要, 12.5

作成および管理, 12.5.2

表示する列の指定, 12.5.2

プレゼンテーション表

「別名」タブ、使用, 12.7

モデリングのベスト・プラクティス, 12.5.1

作成と管理, 12.4.1

ネスト、12.4.3

列の並替え, 12.4.2

サブジェクト・エリアでの並替え, 12.4.1

PREVENT_DIVIDE_BY_ZERO構成オプション, 9.6.4 主キー

外部キー、関係, 8.9.1.1

指定, 8.4.4.2

「印刷」メニュー・オプション, 2.1.5 「印刷プレビュー」メニュー・オプション, 2.1.5 優先度グループ番号

概要, 11.3

例, 11.3

プロセス、開始と停止, 1.5 本番環境、移行, 1.5 プロジェクト要素アイコン, プロジェクト・マネージャ, J.8 プロジェクト・アイコン, プロジェクト・マネージャ, J.8 プロジェクト・マネージャ, 2.1.4.4 「プロジェクト」メニュー・オプション, 2.1.4.4 プロジェクト

概要, 3.2.1, A.3.2

ベスト・プラクティス, A.4.2

チェックアウト, 3.4.2.1

作成, 3.2.2

更新, 3.2.3

「論理列の移動時にプロンプトを表示」オプション, 2.1.3, 9.6.7 PROXYシステム・セッション変数, 19.2.1.1 prunerpdユーティリティ、使用, E.2 リポジトリ・オブジェクトの削除, E.1 「ネットワークに公開」メニュー・オプション, 3.4.4

Q

修飾名、表示, 2.1.3

QUARTER_OF_YEARカレンダ日付/時刻関数、概要, C.6.15

問合せ

集計関数、ルール, C.2.4.3

データベース、送信されるタイプの指定, 7.1.3

最大実行時間による制限, 14.4.3

行数による制限, 14.4.2

特定の時間帯への限定, 14.4.3

問合せキャッシュ

キャッシュの有効期限, 8.4.3.1

キャッシュ永続時間, 8.4.3.1

表を含める, 8.4.3.1

管理, 1.5

問合せの候補、集計のための特定, 13.3 「DBMSの問合せ」ボタン、機能表エントリの変更のための使用, 7.1.3 問合せ制限、設定, 14.4 「問合せ関連オブジェクト」機能, 17.4.2 「リポジトリの問合せ」メニュー・オプション, 2.1.4.5 「リポジトリの問合せ」ツール, 17.4.1 問合せワークロード, 作成, G.3.2.3 リポジトリ・メタデータの問合せ

概要, 17.4

結果のフィルタリング, 17.4.1.1

「問合せ関連オブジェクト」の使用, 17.4.2

「リポジトリの問合せ」ツールの使用, 17.4.1

R

RADIANS数学関数、概要, C.5.18

不規則な階層

「非バランス型階層」を参照

RAND数学関数、概要, C.5.19 RANDFROMSEED数学関数、概要, C.5.20 RANK集計関数、概要, C.3.1.19 RCOUNT集計実行関数、概要, C.3.2.4 rdaadminクライアント・ツール, 16.6 読取り専用モード、概要, 2.5.5 REALデータ型の制限事項, F.3 参照ショートカット記号, J.1 リポジトリのビューのリフレッシュ, 2.1.4.3 「サブセットのリフレッシュ」メニュー・オプション, 3.4.4 リレーショナル・データ・ソース

インポート, 5.4

スキーマ・タイプ, 1.3.1

「使用されていない物理オブジェクトの削除」ユーティリティ、使用, 18.2.8 「マージ後に使用されていない物理表を削除」オプション, 2.1.3 マップの名前変更、オブジェクトの等化, 17.2.3 名前変更ウィザード、使用, 18.2.4 オブジェクトの並替え, 2.1.6 REPEAT文字列関数、概要, C.4.13 列または表の置換ウィザード、使用, 18.2.1 REPLACE文字列関数、概要, C.4.14 リポジトリ

パッチの適用, 17.3.2.3

アーキテクチャ, 1.1.2

整合性のチェック, 15.2

別のリポジトリとの比較, 17.1

圧縮形式, 3.1

設計のガイドライン, 1.4

マッピングのドキュメント, 18.2.6

オブジェクトの等化, 17.2

パッチの生成, 17.3.2.2

レイヤー, 1.1.2

問合せで使用可能にする, 15.4

ライフサイクルの管理, A

別のリポジトリとのマージ, 17.3

移行, A.2.1

オブジェクトのネーミングの制限, 2.1.7

オブジェクト権限, 14.3

オフライン・モード, 2.5.1

オンライン・モード, 2.5.2

開く, 2.1.4.1

元、変更済、現行, 17.3.1.1

不要なオブジェクトの削除, E.1

問合せ制限, 14.4

問合せ, 17.4

読取り専用モード, 2.5.5

リフレッシュ, 2.1.4.3

ロールバック, A.5

行レベル・セキュリティ, 14.2.1

保存, 15.2

テスト, 15.3

アップロード, 15.4

変数の使用, 19

リポジトリ作成者

前もって必要な知識, 1

ヒント, 1.4

「リポジトリ・ドキュメント」ユーティリティ、使用, 18.2.6 リポジトリ・ファイル

空白, 17.3.1.3

新規作成, 5.2

保存時のオプション, 2.6.1

「リポジトリ・ファイル」構成オプション, 2.3 リポジトリ・フォルダ・アイコン, 変数マネージャ, J.7 リポジトリ初期化ブロック・アイコン, 変数マネージャ, J.7 リポジトリ・オブジェクト

等化, 17.2

権限、設定, 12.6

名前変更, 18.2.4

リポジトリ・パスワード、変更, 17.5 リポジトリ変数

概要, 19.1.1

初期化ブロックとの関連付け, 19.3.3

キャッシュのパージに関する考慮事項, 19.1.1.2

作成, 19.1.2

動的, 19.1.1.2

動的リポジトリ変数の初期化, 19.3.1.1

静的, 19.1.1.1

式ビルダーでの使用, 19.1.2.1

リポジトリ変数フォルダ・アイコン, 変数マネージャ, J.7 REQUESTKEYシステム・セッション変数, 19.2.1.1 完全修飾表名が必要, 7.3.1.1 Retail Predictive Application Server

「Oracle RPAS」を参照

REVERSE_LTS_PRIORITYセッション変数, 11.3 REVERSED_LTS_PRIORITY_SA_VECセッション変数, 11.3 REVERSIBLE_LTS_PRIORITY_SA_VECセッション変数, 11.3 RIGHT文字列関数、概要, C.4.15 RMAX集計実行関数、概要, C.3.2.5 RMIN集計実行関数、概要, C.3.2.6 ROLEGUIDSシステム・セッション変数, 19.2.1.1 ROLESシステム・セッション変数, 19.2.1.1 ロール、物理表, 8.4.2 リポジトリを前のバージョンにロールバック, A.5 RollingRestart ODBCプロシージャ, 2.5.2.2 「ルート」列タイプ, 8.6.1 ROUND数学関数、概要, C.5.21 行数

表示, 2.1.3, 8.12

ネイティブ・データベース、更新について, 16.2.2

更新, 2.1.4.5, 8.12

行レベル・セキュリティ、設定, 14.2 行単位の初期化, 19.3.1.3

VALUELISTOF, 19.3.1.3.1

VALUENAMEOF, 19.3.1.3.1

RSUM集計実行関数、概要, C.3.2.3 集計実行関数

概要, C.3.2

MAVG, C.3.2.1

MSUM, C.3.2.2

RCOUNT, C.3.2.4

RMAX, C.3.2.5

RMIN, C.3.2.6

RSUM, C.3.2.3

S

SAシステム・サブジェクト・エリア、概要, 1.5

sametaexport, 2.2

sametaexportユーティリティ

概要, G.1

パラメータ, G.2.1

実行, G.2.1

SampleAppLite.rpd

概要, 2.4

パスワードの変更, 17.5

デフォルトのパスワード, 2.4

SampleApp.rpd, 概要, 2.4 サンドボックス、マルチユーザー開発, A.2.1 SAP/BW

接続プール・プロパティ, 7.3.1.2

インポート, 5.5

設定, 5.3.9

SAP/BWデータ・ソース

キューブ変数を使用した作業, 8.5.4

ファイルへのデシジョンの保存オプション, 17.3.1.2 保存、リポジトリ, 15.2 スキーマ・オブジェクト、物理レイヤーでの作成, 8.3.1.2 スキーマ

タイプについて, 1.3.1

多言語, 1.2.2.4

物理スキーマ、インポートについて, 5.1

リレーショナル, 1.3.1

スクロール速度, 2.1.3 SECONDカレンダ日付/時刻関数、概要, C.6.16 セキュリティ

データ・アクセス, 14

データ・フィルタ, 14.2.1

管理, 1.5

オブジェクト権限, 14.3

パーミッションの継承, 14.3.1

問合せ制限, 14.4

行レベル, 14.2

タスクのサマリー, 14.1.1

セキュリティ・センシティブ・セッション変数, 19.2.2 「選択」オプション、図, 2.1.5 SELECT文

概要と基本構文, C.2.1

条件式, C.2.6

GROUP BY句の構文, C.2.1.7

数学演算子, C.2.5.2

ORDER BY句の構文, C.2.1.8

問合せおよび集計関数のルール, C.2.4

select list構文, C.2.1.4

SQL論理演算子, C.2.5.1

サブ問合せのサポート, C.2.1.3

使用方法に関する注意事項, C.2.1.2

WHERE句の構文, C.2.1.6

SELECT_PHYSICAL文

概要と基本構文, C.2.2

サポートされていない集計関数, C.2.2.2

サポートされている問合せ, C.2.2.3

使用方法に関する注意事項, C.2.2.5

NATURAL_JOINキーワードの使用, C.2.2.4

SELECT_PHYSICALシステム・セッション変数, 19.2.1.1 オブジェクトの選択, 2.1.8 セマンティック・モデル、独立, A.2.2, B.1 セッション・フォルダ・アイコン, 変数マネージャ, J.7 セッション初期化ブロック・アイコン, 変数マネージャ, J.7 セッション・マネージャ, 2.1.4.4 セッション・システム・セキュリティ変数アイコン, 変数マネージャ, J.7 セッション・システム変数アイコン, 変数マネージャ, J.7 セッション変数

概要, 19.2.1

初期化ブロックとの関連付け, 19.3.3

作成, 19.2.2

初期化、概要, 19.3.1.2

ADFデータ・ソースUIヒントのネーミング・スキーム, 6.8.2

システム以外, 19.2.1.2

PREFERRED_CURRENCY, 9.6.4.1

REVERSE_LTS_PRIORITY, 11.3

REVERSED_LTS_PRIORITY_SA_VEC, 11.3

REVERSIBLE_LTS_PRIORITY_SA_VEC, 11.3

行単位の初期化, 19.3.1.3

セキュリティ・センシティブ, 19.2.2

システム, 19.2.1.1

ユーザー認証のための使用, 19.2.1

動的名前フィールドでの使用, 8.3.2

仮想プライベート・データベース, 19.2.2

セッション変数フォルダ・アイコン, 変数マネージャ, J.7 「セッション」メニュー・オプション, 2.1.4.4 共有ログイン、接続プール, 7.3.1.1 共有ネットワーク・ディレクトリ、MUD, 3.3 「計算ウィザードの導入ページの表示」オプション, 2.1.3 「整合性チェッカの表示」メニュー・オプション, 2.1.4.5 「物理ビューで行数の表示」オプション, 2.1.3 「ステータス・バーの表示」オプション, 2.1.3 「表示フォルダの下にある表とディメンションのみを表示」オプション, 2.1.3 オンライン・ログインでテナント情報を表示, 2.1.3 「ツール・バーの表示」オプション, 2.1.3 「問合せリポジトリにアップグレードIDを表示」オプション, 2.1.3 SIGN数学関数、概要, C.5.22 SIN数学関数、概要, C.5.23 サイズ、リポジトリ・ファイル, 3.1 SKINシステム・セッション変数, 19.2.1.1 「Essbaseのドラッグ・アンド・ドロップ・アクションでGen1レベルをスキップ」オプション, 2.1.3 レベル・スキップ階層、概要, 10.2.1 SMALLINTデータ型の制限事項, F.3 スノーフレーク・スキーマ、概要, 1.3.1 ソフトウェア要件, 1.6 オブジェクトのソート・オプション, 2.1.3 論理列のソート, 9.6.2 SPACE文字列関数、概要, C.4.16 SQLアクセス・アドバイザ

概要, G.1

マテリアライズド・ビューを作成するための使用, G.3

SQL Bypassデータベース

指定について, 6.3

設定, 6.5.1, 7.3.5

SQL機能、指定, 7.1.3 SQL関数

集計関数、概要, C.3.1

カレンダ日付/時刻関数、概要, C.6

変換関数、概要, C.7

データベース関数、概要, C.9

リテラルの表現, C.2.7

階層ナビゲーション関数、概要, C.10

数学関数、概要, C.5

集計実行関数、概要, C.3.2

文字列関数、概要, C.4

システム関数、概要, C.11

時系列関数、概要, C.3.3

SQL演算子, C.2.5 SQL構文とセマンティクス

条件式, C.2.6

FROM句の構文、概要, C.2.1.5

GROUP BY句の構文、概要, C.2.1.7

変数の追加と設定, C.2.9

ORDER BY句の構文、概要, C.2.1.8

問合せおよび集計関数、ルール, C.2.4

select list構文, C.2.1.4

SELECT文、概要と基本構文, C.2.1

SELECTの使用方法に関する注意事項, C.2.1.2, C.2.1.3

SQL論理演算子, C.2.5.1, C.2.5.2

WHERE句の構文、概要, C.2.1.6

SQLExtendedFetchオプション、Oracle RPASのための設定, 5.3.10 SQRT数学関数、概要, C.5.24 SSL、有効化, 14.1.1 SSO認証、設定, 14.1.1 SSO、Essbase、Hyperion Financial ManagementとHyperion Planning, 7.3.1.2 スタンバイ・データベース構成

概要, 5.7

接続プールの作成, 5.7.3

データベース・オブジェクトの作成, 5.7.2

Oracle BIスケジューラの構成, 5.7.7

イベント・ポーリングの設定, 5.7.6

使用状況トラッキングの設定, 5.7.5

ライトバック・スクリプトの更新, 5.7.4

Oracle Business Intelligenceでの使用, 5.7.1

プライマリ・ソースのための書込み操作, 5.7.1

スター・スキーマ、概要, 1.3.1 Oracle Business Intelligenceプロセスの開始, 1.5 静的リポジトリ変数, 19.1.1.1 静的変数フォルダ・アイコン, 変数マネージャ, J.7 静的変数アイコン, 変数マネージャ, J.7 ステータス・バー、概要, 2.1.2 ステータス、Oracle Scorecardと戦略管理のための上書きの有効化, 15.1 STDDEV集計関数、概要, C.3.1.20 STDDEV_POP集計関数、概要, C.3.1.21 Oracle Business Intelligenceプロセスの停止, 1.5 ストアド・プロシージャ・アイコン, 物理レイヤー, J.2 文字列関数

概要, C.4

ASCII, C.4.1

BIT_LENGTH, C.4.2

CHAR, C.4.3

CHAR_LENGTH, C.4.4

CONCAT, C.4.5

EXP, C.5.10

INSERT, C.4.6

LEFT, C.4.7

LENGTH, C.4.8

LOCATE, C.4.9

LOWER, C.4.10

OCTET_LENGTH, C.4.11

POSITION, C.4.12

REPEAT, C.4.13

REPLACE, C.4.14

RIGHT, C.4.15

SPACE, C.4.16

SUBSTRING, C.4.17

TRIMBOTH, C.4.18

TRIMLEADING, C.4.19

TRIMTRAILING, C.4.20

UPPER, C.4.21

サブジェクト・エリア・アイコン, プレゼンテーション・レイヤー, J.4 サブジェクト・エリア

「別名」タブ、使用, 12.7

論理的なスターとスノーフレークに基づく自動作成, 12.2.1.1

作成, 12.2.1

1つのビジネス・モデルのための複数の作成, 12.2.1

ビジネス・モデルでの複製, 9.2.3

論理キーのエクスポート, 12.2.4

表の並替えとソート, 12.4.1

潜在ファクト列の設定, 12.2.5

作業、12.3

サブセット・リポジトリ、作成, 3.4.2.1.2 置換変数、Essbase, 8.6.1 SUBSTRING文字列関数、概要, C.4.17 SUM集計関数、概要, C.3.1.22 SUMDISTINCT集計関数、概要, C.3.1.23 代理キー, 1.2.2.2 Sybase ASEデータベース、DataDirect Connectドライバを使用した接続, 16.3.3 システム資格証明、管理, 14.1.1 システム関数

概要, C.11

DATABASE, C.11.2

USER, C.11.1

「システム・ロギング・レベル」オプション, 2.1.3 システム要件, 1.6 システム・セッション変数, 19.2.1.1

T

表アイコン, ビジネス・モデル・レイヤー, J.3

表アイコン, 物理レイヤー, J.2

表アイコン, プレゼンテーション・レイヤー, J.4

表またはビューが見つからない, 7.3.1.1

表タイプ、物理表, 8.4.1

TAN数学関数、概要, C.5.25

「Teradata」

スプール領域不足エラー, 5.3.11.1

設定, 5.3.11

テストから本番へ, 1.5 リポジトリのテスト, 15.3 テキスト文字列、翻訳のための「文字列の外部化」ユーティリティの使用, 18.2.3 Oracle BI EEでサポートされているテキスト・データ型, F.1.1 サード・パーティ製品、サポートされているもの, 1.6 「サイズ変更時に並べて表示」オプション, 2.1.3 TIMEデータ型の制限事項, F.3 時間ディメンション

概要, 10.2.1

作成, 10.4.2

Oracle Scorecardと戦略管理, 1.4.3

モデル化, 10.4

時系列キーの選択とソート, 10.2.2.5

時系列関数

概要, 10.4.1, C.3.3

AGO, 10.4.1, C.3.3.1

メジャーの作成, 10.4.3

FIRST_PERIOD, C.3.1.9

グレイン, 10.4.1

LAST_PERIOD, C.3.1.13

PERIODROLLING, 10.4.1, C.3.3.2

TODATE, 10.4.1, C.3.3.3

式ビルダーでの使用, 10.4.1

TIME_DISPLAY_FORMAT構成オプション, 2.3 TIMESTAMPデータ型の制限事項, F.3 TIMESTAMPADDカレンダ日付/時刻関数、概要, C.6.17 TIMESTAMPDIFFカレンダ日付/時刻関数、概要, C.6.18 TimesTen

設定, 5.3.4

TIMEZONEシステム・セッション変数, 19.2.1.1 TINYINTデータ型の制限事項, F.3 ヒント、リポジトリ作成者向け, 1.4 タイトル・バー、概要, 2.1.2 tnsnames.ora

UNIXでのOracle Database設定, 16.2

Oracle BIサーバー, 5.3.2

TO_DATETIME変換関数、概要, C.7.5 TODATE時系列関数、概要, C.3.3.3 ツールバー

概要, 2.1.2

図のオプション, 2.1.5

「ツール」メニュー、概要, 2.1.4.5 ツールチップ、ADFデータ・ソース, 6.8.1 TOPN集計関数、概要, C.3.1.24 トランザクション境界、設定, 7.4.1 TRIMBOTH文字列関数、概要, C.4.18 TRIMLEADING文字列関数、概要, C.4.19 TRIMTRAILING文字列関数、概要, C.4.20 トラブルシューティング

DB2 Cube Views Generator, G.2.4

Oracle Database Metadata Generator, G.2.4

TRUNCATE数学関数、概要, C.5.26 「比較モードをオフにする」オプション, 2.1.4.1, 17.1.3

U

「UDA」列タイプ, 8.6.1

UDA

インポート, 5.5

モデリング, 8.6.3

UIヒント、ADFデータ・ソースのための伝播, 12.4.2 不均衡階層、概要, 10.2.1 「公開を元に戻す」メニュー・オプション, 3.4.4 Unicodeデータベース, 7.3.4 UNIX

データ・ソースの設定について, 16.1

ネイティブODBCドライバを使用した、データ・ソースへの接続, 16.4

DataDirect Connect ODBCドライバ, 16.3

問合せのためのIBM DB2 Connect、構成, 16.8

ネイティブ・データベース、行数の更新について, 16.2.2

論理列のアンマップ, 11.4.1 未修飾のメンバー名、Essbaseのための使用, 8.6.7 「すべての行数の更新」メニュー・オプション, 2.1.4.5 物理レイヤーの更新ウィザード、使用, 18.2.5 アップグレード

ID, 17.2.1

UPPER文字列関数、概要, C.4.21 URL

ADFビジネス・コンポーネント, 7.3.5

ADFデータソース, 6.5.1

接続プール, 7.3.1.2

リフレッシュ間隔、XMLデータ・ソース, 7.3.3

使用状況トラッキング

管理, 1.5

スタンバイ・データベース構成での設定, 5.7.5

「論理列名の使用」プロパティ, 12.2.3 ユーザー認証、設定, 14.1.1 ユーザー・インタフェース・ヒント、ADFデータ・ソース, 6.8 USERシステム関数、概要, C.11.1 USERシステム・セッション変数, 19.2.1.1 user.cmdファイル, 16.2 USERGUIDシステム・セッション変数, 19.2.1.1 USERLOCALEシステム・セッション変数, 19.2.1.1 ユーザー・アイコン, Identity Manager, J.5 ユーザー、管理, 1.5, 14.1.1 user.shファイル, 16.2 ユーティリティ

集計の永続性, 18.2.9

コマンドライン, 2.2

論理列タイプの比較, 18.2.13

プレゼンテーション・フォルダの変換, 18.2.11

equalizerpds, 17.2.3

文字列の外部化, 18.2.3

extractprojects, 3.4.2.1.3

論理列タイプのドキュメントの生成, 18.2.12

メタデータ・ディクショナリの生成, 18.2.7

nqcmd, 15.3

Oracle BIイベント表, 18.2.2

patchrpd, 17.3.2.3.1

prunerpd, E.2

使用されていない物理オブジェクトの削除, 18.2.8

名前変更ウィザード, 18.2.4

論理表ソースの列または表の置換, 18.2.1

リポジトリ・ドキュメント, 18.2.6

物理レイヤーの更新, 18.2.5

validaterpd, 2.6.3

「ユーティリティ」メニュー・オプション, 2.1.4.5

V

validaterpdユーティリティ, 2.6.3

Valueメジャー、Hyperion Financial Managementデータ・ソース, 8.7.1

値のメジャー、Hyperion Planningデータ・ソース, 8.7.2

VALUELISTOF

物理SQL関数, 8.10.2.1, 19.3.1.3.1

VALUENAMEOF

物理SQL関数, 8.10.2.1, 19.3.1.3.1

VALUEOF変換関数、概要, C.7.6 VARBINARYデータ型の制限事項, F.3 VARCHARデータ型の制限事項, F.3 変数マネージャ, 2.1.4.4 VARIABLE_REPLACE変換関数、概要, C.7.7 変数

リポジトリ変数について, 19.1.1

セッション変数について, 19.2.1

初期化ブロックとの関連付け, 19.3.3

リポジトリ変数の作成, 19.1.2

セッション変数の作成, 19.2.2

SQLにおける追加と設定, C.2.9

式ビルダーでのリポジトリ変数の使用, 19.1.2.1

「変数」メニュー・オプション, 2.1.4.4 データの表示, 8.4.5 ビュー・リンク, 6.1 「表示」メニュー、概要, 2.1.4.3 オブジェクトの表示, 6.1 仮想物理表、「表タイプ」を使用した作成, 8.4.1 仮想プライベート・データベース, 7.1.2, 14.2.2

W

Webサービス、Oracle BIサーバー, 1.5

WEBGROUPSシステム・セッション変数, 19.2.1.1

WEBLANGUAGEシステム・セッション変数, 19.2.1.1

WebLogicドメイン、ADFビジネス・コンポーネント, 6.4.1

WEEK_OF_QUARTERカレンダ日付/時刻関数、概要, C.6.19

WEEK_OF_YEARカレンダ日付/時刻関数、概要, C.6.20

重みファクタ、ブリッジ表, 9.9

WHERE句フィルタ、集計ナビゲーション, 11.5.2

WHERE句の構文、概要, C.2.1.6

「ウィンドウ」メニュー、概要, 2.1.4.7

ウィザード

集計の永続性ウィザード, 13.5, 18.2.9

計算ウィザード, 2.1.3, 18.3

新規リポジトリの作成ウィザード, 5.2

メタデータのインポート・ウィザード, 5.4, 5.5, 5.6.2, 6.5.1

リポジトリ・マージ・ウィザード, 17.3.1.2, 17.3.1.3, 17.3.2.3, D.2

名前変更ウィザード, 18.2.4

列または表の置換ウィザード, 18.2.1

物理レイヤーの更新ウィザード, 18.2.5

ライトバック、論理列での有効化, 9.7 ライトバック・プロパティ、接続プール, 7.3.4 ライトバック・スクリプト、スタンバイ・データベース構成のための更新, 5.7.4

X

XMLデータ・ソース

URLについて, 5.6.1

インポート, 5.6

接続プール・プロパティの設定, 7.3.3

物理表プロパティの設定, 8.4.3.4

URLリフレッシュ間隔, 7.3.3

XML Gateway

使用について, 5.6.2

例, 5.6.2.1

HTML表、アクセス, 5.6.2.2

リフレッシュ間隔, 5.6.2

サポートされているセキュリティ・モード, 5.6.2

XML ODBC

使用について, 5.6.3

例, 5.6.3.1

XMLデータのインポート, 5.6.3

XMLユーティリティ, 2.2 XMLA、インポート, 5.5

Y

YEARカレンダ日付/時刻関数、概要, C.6.21

Z

「ズーム・イン」オプション、図, 2.1.5

「ズーム・アウト」オプション、図, 2.1.5

オラクル社の法律上の注意点について

コピーライトについて

Copyright © 1994-2015, Oracle and/or its affiliates.All rights reserved.

商標と登録商標について

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

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

ライセンス制約の保証と結果的に生じる損害の免責

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

保証免責

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

制限付権利

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

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

危険な用途への使用について

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

第三者のコンテンツ、製品、サービスに対する免責事項

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

ドラフトのアルファ版およびベータ版ドキュメントについて

このドキュメントが試作版の場合:

このドキュメントは試作版であり、デモおよび暫定使用のみを目的としたものです。このソフトウェアを使用するハードウェアに限定するものではありません。オラクル社およびその関連会社は、このドキュメントに関して一切の責任を負わず、いかなる保証もいたしません。また、このドキュメントを使用したことによって損失、費用、あるいは損害が発生しても、一切の責任を負いかねます。