変数を使用することで、同じ情報およびテキストが複数の場所で正確に提供されるようになります。
分析、ダッシュボード、KPI、アクション、エージェントや条件など、Oracle BI Enterprise Editionの様々な領域で変数を参照できます。たとえば、現在のユーザー名をタイトルに表示する分析を作成するとします。これは、変数を参照することによって行えます。
使用できる変数は5種類あります:
セッション
リポジトリ
プレゼンテーション
リクエスト
グローバル
セッション変数は、各ユーザーのログイン時に初期化される変数です。
ユーザーがセッションを開始すると、Oracle BIサーバーでセッション変数の新規インスタンスが作成され、初期化されます。
セッション変数のインスタンスの数は、Oracle BIサーバー上のアクティブなセッションと同じです。セッション変数の各インスタンスは、異なる値で初期化できます。
セッション変数は、初期化ブロック(INIT BLOCK)で指定された問合せによって移入されます。これらのセッションINIT BLOCKは通常、ログイン時に1回のみ実行されます。ただし、INIT BLOCKが遅延としてマークされている場合は、後で関連する変数が参照されたときに実行できます。
通常、セッションINIT BLOCKは問合せ文に関連付けられますが、LDAPオブジェクトに関連付けることもできます。INIT BLOCKの詳細は、Oracle Business Intelligence Enterprise Editionメタデータ・リポジトリ作成者ガイドの初期化ブロックの操作を参照してください。
セッション変数には2種類あります:
システム - Oracle BIサーバーとOracle BIプレゼンテーション・サービスが特定の用途で使用するセッション変数。
システム・セッション変数には、他の種類の変数(静的または動的リポジトリ変数やシステム以外のセッション変数)に使用できない予約名が付けられています。
システム以外 - 管理者が作成して名前を付けるシステム変数。たとえば、管理者は、ユーザーの販売地域の名前を初期化するSalesRegionというシステム以外の変数を作成できます。
管理者は、Oracle BI管理ツールを使用して、システム以外のセッション変数を作成します。
注意:
特定のシステム・セッション変数(USERGUID、ROLESなど)をリクエスト変数でオーバーライドすることはできません。DATA_TZ、DATA_DISPLAY_TZ (タイムゾーン)などのその他のシステム・セッション変数は、Oracle BI管理ツールで構成されている場合、オーバーライドできます。詳細は、Oracle Business Intelligence Enterprise Editionメタデータ・リポジトリ作成者ガイドのリポジトリ変数の操作を参照してください。
詳細は、Oracle Business Intelligence Enterprise Editionメタデータ・リポジトリ作成者ガイドのセッション変数についてを参照してください。
リポジトリ変数は、どの時点でも1つの値を持つ変数です。
リポジトリ変数には2種類あります:
静的 - 管理者が変更するまで値が存続して変わらないリポジトリ変数。
動的 — INIT BLOCKで指定された問合せによって移入された値を持つリポジトリ変数。INIT BLOCKがリフレッシュされる間隔を指定できます。動的INIT BLOCKは、指定された間隔で変数の値を自動的にリフレッシュします。
動的INIT BLOCKは、問合せ(つまり、SQL文、ADF問合せまたはその他のサポートされているデータ・ソースによって)にのみ関連付けることができます。INIT BLOCKの詳細は、Oracle Business Intelligence Enterprise Editionメタデータ・リポジトリ作成者ガイドの初期化ブロックの操作を参照してください。
管理者は、Oracle BI管理ツールを使用して、リポジトリ変数を作成します。
詳細は、Oracle Business Intelligence Enterprise Editionメタデータ・リポジトリ作成者ガイドのリポジトリ変数についてを参照してください。
プレゼンテーション変数は、ダッシュボード・プロンプトにより作成および使用されます。
プレゼンテーション変数は、次のいずれかのタイプのダッシュボード・プロンプトを作成する過程で作成できる変数です:
列プロンプト - 列プロンプトの一部として作成されるプレゼンテーション変数は列と関連付けられ、とり得る値は列値からの値です。
列プロンプトの一部としてプレゼンテーション変数を作成するには、「新規プロンプト」ダイアログ(または「プロンプトの編集」ダイアログ)の「変数の設定」フィールドで「プレゼンテーション変数」を選択し、「変数名」フィールドに変数の名前を入力する必要があります。
列プロンプトの操作の詳細は、列プロンプトの作成を参照してください。
変数プロンプト - 変数プロンプトの一部として作成されるプレゼンテーション変数は列に関連付けられないため、ユーザーがとり得る値を定義します。
変数プロンプトの一部としてプレゼンテーション変数を作成するには、「新規プロンプト」ダイアログ(または「プロンプトの編集」ダイアログ)の「プロンプト対象」フィールドで「プレゼンテーション変数」を選択し、「変数名」フィールドに変数の名前を入力する必要があります。
変数プロンプトの操作の詳細は、変数プロンプトの作成を参照してください。
プレゼンテーション変数の値は、同時に作成された列プロンプトまたは変数プロンプトによって移入されます。つまり、ユーザーが列プロンプトまたは変数プロンプトで1つ以上の値を選択するたびに、プレゼンテーション変数の値が、ユーザーが選択した値に設定されます。
リクエスト変数は、プロンプト・データベース・リクエストを一時的に上書きします。
リクエスト変数を使用すると、セッション変数の値をオーバーライドできますが、オーバーライドできるのは、列プロンプトまたは変数プロンプトから開始されたデータベース・リクエストの間のみです。
注意:
特定のシステム・セッション変数(USERGUID、ROLESなど)をリクエスト変数でオーバーライドすることはできません。DATA_TZ、DATA_DISPLAY_TZ (タイムゾーン)などのその他のシステム・セッション変数は、Oracle BI管理ツールで構成されている場合、オーバーライドできます。詳細は、Oracle Business Intelligence Enterprise Editionメタデータ・リポジトリ作成者ガイドのリポジトリ変数の操作を参照してください。
次のいずれかのタイプのダッシュボード・プロンプトを作成する過程の一部として、リクエスト変数を作成できます。
列プロンプト - 列プロンプトの一部として作成されるリクエスト変数は列と関連付けられ、とり得る値は列値からの値です。
列プロンプトの一部としてリクエスト変数を作成するには、「新規プロンプト」ダイアログ(または「プロンプトの編集」ダイアログ)の「変数の設定」フィールドで「リクエスト変数」を選択し、「変数名」フィールドに、オーバーライドするセッション変数の名前を入力する必要があります。
列プロンプトの操作の詳細は、列プロンプトの作成を参照してください。
変数プロンプト - 変数プロンプトの一部として作成されるリクエスト変数は列に関連付けられないため、ユーザーがとり得る値を定義します。
変数プロンプトの一部としてリクエスト変数を作成するには、「新規プロンプト」ダイアログ(または「プロンプトの編集」ダイアログ)の「プロンプト対象」フィールドで「リクエスト変数」を選択し、「変数名」フィールドに、オーバーライドするセッション変数の名前を入力する必要があります。
変数プロンプトの操作の詳細は、変数プロンプトの作成を参照してください。
リクエスト変数の値は、同時に作成された列プロンプトまたは変数プロンプトによって移入されます。つまり、ユーザーが列プロンプトまたは変数プロンプトで値を選択するたびに、リクエスト変数の値が、ユーザーが選択した値に設定されます。ただし、値が有効なのは、ユーザーがプロンプトの「実行」ボタンを押した時点から、分析結果がダッシュボードに返されるまでです。
注意:
複数の値がサポートされるのは、文字列および数値のリクエスト変数のみです。その他のデータ型では最初の値のみが渡されます。グローバル変数は、特定のデータ型と値の組合せによって作成される列です。
値には、文字列、数値、日付、時刻、式などを指定できます。グローバル変数は、分析の作成過程で「列式の編集」ダイアログを使用して作成できます。グローバル変数はカタログに保存されるため、特定のテナント・システムに属する他のすべての分析で使用できます。
グローバル変数は、分析の作成過程で作成できます。
グローバル変数には、次のタイプがあります:
日付
日付と時間
数値
テキスト
時間
グローバル変数を作成するには:
グローバル変数は分析の実行時に評価され、グローバル変数の値が適切に置き換えられます。適切な権限を持つユーザーのみが、グローバル変数を管理(追加、編集および削除)できます。