Oracle® Fusion Middleware Oracle Business Intelligence Publisherデータ・モデリング・ガイド 12c (12.2.1.1.0) E77222-02 |
|
![]() 前へ |
![]() 次へ |
BI Publisherは、現在のユーザーについての情報を格納します。この情報には、レポート・データ・モデルからアクセスできます。
このユーザー情報は、次に説明するシステム変数に格納されています。
システム変数 | 説明 |
---|---|
xdo_user_name |
レポートを実行しているユーザーのユーザーID。例: Administrator |
xdo_user_roles |
レポートを実行しているユーザーに割り当てられたロール。例: XMLP_ADMIN、XMLP_SCHEDULER |
xdo_user_report_oracle_lang |
ユーザーのアカウント・プリファレンスに基づくレポート言語。例: ZHS |
xdo_user_report_locale |
ユーザーのアカウント・プリファレンスに基づくレポート・ロケール。例: en-US |
xdo_user_ui_oracle_lang |
ユーザーのアカウント・プリファレンスに基づくユーザー・インタフェース言語。例: US |
xdo_user_ui_locale |
ユーザーのアカウント・プリファレンスに基づくユーザー・インタフェース・ロケール。例: en-US |
ユーザー情報をデータ・モデルに追加するには、パラメータとして変数を定義して、データ・モデルでパラメータ値を要素として定義します。
また、単にパラメータとして変数を追加して、そのパラメータ値をレポート内で参照できます。
次の問合せがあるとします。
select :xdo_user_name as USER_ID, :xdo_user_roles as USER_ROLES, :xdo_user_report_oracle_lang as REPORT_LANGUAGE, :xdo_user_report_locale as REPORT_LOCALE, :xdo_user_ui_oracle_lang as UI_LANGUAGE, :xdo_user_ui_locale as UI_LOCALE from dual
次の結果が戻されます。
<?xml version="1.0" encoding="UTF-8"?> <! - Generated by Oracle BI Publisher - > <DATA_DS> <G_1> <USER_ROLES>XMLP_TEMPLATE_DESIGNER, XMLP_DEVELOPER, XMLP_ANALYZER_EXCEL, XMLP_ADMIN, XMLP_ANALYZER_ONLINE, XMLP_SCHEDULER </USER_ROLES> <REPORT_LANGUAGE>US</REPORT_LANGUAGE> <REPORT_LOCALE>en_US</REPORT_LOCALE> <UI_LANGUAGE>US</UI_LANGUAGE> <UI_LOCALE>en_US</UI_LOCALE> <USER_ID>administrator</USER_ID> </G_1> </DATA_DS>
次の例では、返されるデータをユーザーIDで制限しています。
select EMPLOYEES.LAST_NAME as LAST_NAME, EMPLOYEES.PHONE_NUMBER as PHONE_NUMBER, EMPLOYEES.HIRE_DATE as HIRE_DATE, :xdo_user_name as USERID from HR.EMPLOYEES EMPLOYEES where lower(EMPLOYEES.LAST_NAME) = :xdo_user_name
lower()関数を使用しているため、xdo_user_nameは必ず小文字の書式になります。BI PublisherはUSERIDを保持しないため、ユーザー名を使用する必要があります。このユーザー名を問合せ内で直接使用するか、参照表に問い合せてユーザーIDを検索します。
LDAPディレクトリに格納されたユーザー属性の値をデータ問合せにバインドするには、BI Publisherに属性名を定義して、必要なバインド変数を作成します。
バインド変数の作成に使用できる属性は、管理者が「セキュリティ構成」ページで定義する必要があります。
この属性は、LDAPの「セキュリティ・モデル」定義にある「データ問合せバインド変数の属性名」フィールドで定義します。このフィールドの詳細は、Oracle Business Intelligence Publisher管理者ガイドのLDAPプロバイダを認証および認可に使用するためのBI Publisherの構成を参照してください。ユーザーに対して定義された任意の属性を使用できます(例: memberOf、sAMAccountName、primaryGroupID、mail)。
LDAPの「セキュリティ・モデル」定義にある「データ問合せバインド変数の属性名」フィールドに入力した属性名は、問合せ内で参照できます。
次に、バインド変数の構築方法を示します:
xdo_<attribute name>
たとえば、サンプル属性のmemberOf、sAMAccountName、primaryGroupID、mailが入力済だと仮定します。これらの属性は、次のバインド変数として問合せ内で使用できます。
xdo_memberof xdo_SAMACCOUNTNAME xdo_primaryGroupID xdo_mail
属性については大文字と小文字が区別されませんが、接頭辞のxdo_は小文字にする必要があります。
これらのバインド変数は、データ・モデル内で次のように使用します。
SELECT :xdo_user_name AS USER_NAME, :xdo_user_roles AS USER_ROLES, :xdo_user_ui_oracle_lang AS USER_UI_LANG, :xdo_user_report_oracle_lang AS USER_REPORT_LANG, :xdo_user_ui_locale AS USER_UI_LOCALE, :xdo_user_report_locale AS USER_REPORT_LOCALE, :xdo_SAMACCOUNTNAME AS SAMACCOUNTNAME, :xdo_memberof as MEMBER_OF, :xdo_primaryGroupID as PRIMARY_GROUP_ID, :xdo_mail as MAIL FROM DUAL
LDAPバインド変数は、ユーザーがログインしているLDAPディレクトリに格納された値を返します。