Obiee-variables
OBIEE –変数
OBIEEでは、一般的に使用される2種類の変数があります-
- リポジトリ変数
- セッション変数
これとは別に、プレゼンテーション変数とリクエスト変数を定義することもできます。
リポジトリ変数
リポジトリ変数には、任意の時点で単一の値があります。 リポジトリ変数は、Oracle BI Administrationツールを使用して定義されます。 リポジトリ変数は、式ビルダーウィザードの定数の代わりに使用できます。
リポジトリ変数には2つのタイプがあります-
- 静的リポジトリ変数
- 動的リポジトリ変数
静的リポジトリ変数は変数ダイアログボックスで定義され、それらの値は管理者によって変更されるまで存在します。
静的リポジトリ変数には、数値または文字値であるデフォルトの初期化子が含まれています。 さらに、式ビルダーを使用して、日付や時刻などの定数をデフォルトの初期化子として挿入できます。 静的リポジトリ変数のデフォルトの初期化子として他の値または式を使用することはできません。
古いBIバージョンでは、管理者ツールは静的リポジトリ変数の値を制限していませんでした。 リポジトリが古いバージョンからアップグレードされている場合、一貫性チェックで警告が表示される場合があります。 そのような場合、デフォルトの初期化子が定数値を持つように、静的リポジトリ変数を更新します。
動的リポジトリ変数は静的変数と同じですが、値はクエリから返されたデータによって更新されます。 動的リポジトリ変数を定義するときは、初期化ブロックを作成するか、SQLクエリを含む既存のブロックを使用します。 Oracle BIサーバーが問合せを実行し、変数の値を定期的に更新するために従うスケジュールを設定することもできます。
動的リポジトリ変数の値が変更されると、ビジネスモデルに関連付けられているすべてのキャッシュエントリが自動的に削除されます。
各クエリは複数の変数を更新できます:クエリの各列に1つの変数。 これらのクエリは、Oracle BIサーバーによって実行されるようにスケジュールします。
動的リポジトリ変数は、論理テーブルソースのコンテンツを定義するのに役立ちます。 たとえば、注文に関する情報のソースが2つあるとします。 1つのソースには現在の注文が含まれ、もう1つのソースには履歴データが含まれます。
リポジトリ変数を作成する
管理ツール→管理に移動→変数を選択→変数マネージャー→アクションに移動→新規→リポジトリー>変数。
[変数]ダイアログで、変数の名前を入力します(すべての変数の名前は一意である必要があります)→変数のタイプを選択します-静的または動的。
動的変数を選択する場合は、初期化ブロックリストを使用して、継続的に値を更新するために使用される既存の初期化ブロックを選択します。
新しい初期化ブロックを作成するには→[新規]をクリックします。 デフォルトのイニシャライザ値を追加するには、デフォルトのイニシャライザボックスに値を入力するか、Expression BuilderボタンをクリックしてExpression Builderを使用します。
静的リポジトリ変数の場合、デフォルトの初期化ウィンドウで指定した値が保持されます。 変更しない限り変更されません。 文字ストリングを使用して変数を初期化する場合は、ストリングを単一引用符で囲みます。 静的リポジトリ変数には、定数値であるデフォルトの初期化子が必要です→[OK]をクリックして、ダイアログボックスを閉じます。
セッション変数
セッション変数は動的リポジトリ変数に似ており、初期化ブロックから値を取得します。 ユーザーがセッションを開始すると、Oracle BIサーバーはセッション変数の新しいインスタンスを作成して初期化します。
セッション変数のインスタンスは、Oracle BIサーバー上のアクティブなセッションと同数です。 セッション変数の各インスタンスは、異なる値に初期化できます。
セッション変数には2種類あります-
- システムセッション変数
- 非システムセッション変数
システムセッション変数は、特定の目的でOracle BIおよびPresentation Serverによって使用されます。 他の変数で使用できない予約済みの名前が事前に定義されています。
USER | This variable holds the value the user enters with login name. This variable is typically populated from the LDAP profile of the user. |
USERGUID | This variable contains the Global Unique Identifier (GUID) of the user and it is populated from the LDAP profile of the user. |
GROUP | It contains the groups to which the user belongs. When a user belongs to multiple groups, include the group names in the same column, separated by semicolons (Example - GroupA;GroupB;GroupC). If a semicolon must be included as part of a group name, precede the semicolon with a backslash character (\). |
ROLES | This variable contains the application roles to which the user belongs. When a user belongs to multiple roles, include the role names in the same column, separated by semicolons (Example - RoleA;RoleB;RoleC). If a semicolon must be included as part of a role name, precede the semicolon with a backslash character (\). |
ROLEGUIDS | It contains the GUIDs for the application roles to which the user belongs. GUIDs for application roles are the same as the application role names. |
PERMISSIONS | It contains the permissions held by the user. Example - oracle.bi.server.manageRepositories. |
非システムセッション変数は、ユーザーフィルターの設定に使用されます。 たとえば、ユーザーのsale_regionの名前に初期化されるSale_Regionという非システム変数を定義できます。
セッション変数を作成する
管理ツール→管理に移動→変数を選択します。
「変数マネージャー」ダイアログで、「アクション」→「新規」→「セッション」→「変数」をクリックします。
[セッション変数]ダイアログで、変数名を入力します(すべての変数の名前は一意である必要があり、システムセッション変数の名前は予約されており、他のタイプの変数には使用できません)。
セッション変数の場合、次のオプションを選択できます-
- すべてのユーザーが値を設定できるようにする-このオプションは、初期化ブロックが値を入力した後にセッション変数を設定するために使用されます。 例-このオプションを使用すると、管理者以外のユーザーがサンプリング用にこの変数を設定できます。
- Security sensitive -これは、仮想プライベートデータベース(VPD)などの行レベルのデータベースセキュリティ戦略を使用するときに、セキュリティに敏感な変数を識別するために使用されます。
初期化ブロックリストオプションを使用して、値を定期的に更新するために使用される初期化ブロックを選択できます。 新しい初期化ブロックを作成することもできます。
デフォルトのイニシャライザ値を追加するには、デフォルトのイニシャライザボックスに値を入力するか、Expression BuilderボタンをクリックしてExpression Builderを使用します。 [OK]をクリックして、ダイアログボックスを閉じます。
管理者は、Oracle BI Administrationツールを使用してシステム以外のセッション変数を作成できます。
プレゼンテーション変数
プレゼンテーション変数は、ダッシュボードプロンプトの作成で作成されます。 使用できるダッシュボードプロンプトには2つのタイプがあります-
列プロンプト
列プロンプトで作成されたプレゼンテーション変数は列に関連付けられており、取得できる値は列の値から取得されます。
プレゼンテーション変数を作成するには、[新しいプロンプト]ダイアログまたは[プロンプトの編集]ダイアログに移動し、[変数のセット]フィールドで[プレゼンテーション変数]を選択し、変数の名前を入力します。
可変プロンプト
変数プロンプトとして作成されたプレゼンテーション変数はどの列にも関連付けられていないため、値を定義する必要があります。
変数プロンプトの一部としてプレゼンテーション変数を作成するには、「新規プロンプト」ダイアログまたは「プロンプトの編集」ダイアログで→「プロンプト」フィールドで「プレゼンテーション変数」を選択→変数の名前を入力します。
プレゼンテーション変数の値は、それが作成された列または変数プロンプトによって設定されます。 ユーザーが列または変数プロンプトで値を選択するたびに、プレゼンテーション変数の値はユーザーが選択した値に設定されます。
初期化ブロック
初期化ブロックは、OBIEE変数を初期化するために使用されます:動的リポジトリ変数、システムセッション変数、および非システムセッション変数。
そのブロックに関連付けられた変数を初期化または更新するために実行されるSQLステートメントが含まれています。 実行されるSQLステートメントは、接続プールを使用してアクセスできる物理テーブルを指します。 接続プールは、初期化ブロックダイアログで定義されます。
初期化ブロックのクエリにデータベース固有のSQLを含める場合、そのクエリのデータベースタイプを選択できます。
初期化ブロックを使用して動的リポジトリ変数を初期化する
初期化ブロックのデフォルトの開始文字列フィールドは、動的リポジトリ変数の値を設定するために使用されます。 また、問合せを実行して変数の値をリフレッシュするためにOracle BIサーバーが従うスケジュールを定義します。 ログレベルを2以上に設定すると、変数の値を取得するために実行されたすべてのSQLクエリのログ情報がnqquery.logファイルに保存されます。
BIサーバー上のこのファイルの場所-
ORACLE_INSTANCE \ diagnostics \ logs \ OracleBIServerComponent \ coreapplication_obisn
初期化ブロックを使用してセッション変数を初期化する
セッション変数も初期化ブロックから値を取得しますが、時間間隔によって値が変わることはありません。 ユーザーが新しいセッションを開始すると、Oracle BIサーバーはセッション変数の新しいインスタンスを作成します。
Identity Managerユーザーオブジェクトでログレベルが2以上に設定されている場合、またはVariable ManagerでLOGLEVELシステムセッション変数が2以上に設定されている場合、BIサーバーによってセッション変数情報を取得するために実行されるすべてのSQLクエリはnqquery.logに保存されますファイル。
BIサーバー上のこのファイルの場所-
ORACLE_INSTANCE \ diagnostics \ logs \ OracleBIServerComponent \ coreapplication_obisn
管理者ツールで初期化ブロックを作成する
「マネージャー」→「変数」→「変数マネージャー」に移動し、ダイアログボックスが表示されます。 「アクション」メニューに移動→「新規」→「リポジトリー」→「初期化ブロック」→初期化ブロックの名前を入力します。
[スケジュール]タブに移動→開始日時と更新間隔を選択します。
あなたは、初期化ブロックの次のオプションを選択することができます-
- 無効-このオプションを選択すると、初期化ブロックは無効になります。 初期化ブロックを有効にするには、変数マネージャーで既存の初期化ブロックを右クリックし、有効化を選択します。 このオプションを使用すると、初期化ブロックダイアログを開かずにこのプロパティを変更できます。
- 遅延実行の許可-これにより、セッション中に関連するセッション変数に初めてアクセスするまで、初期化ブロックの実行を延期できます。
- 認証に必要-これを選択した場合、ユーザーがログインするには初期化ブロックを実行する必要があります。 初期化ブロックが実行されない場合、ユーザーはOracle BIへのアクセスを拒否されます。