ヘッダーをスキップ
Oracle® OLAP DMLリファレンス
11gリリース2 (11.2)
B61346-03
  ドキュメント・ライブラリへ移動
ライブラリ
製品リストへ移動
製品
目次へ移動
目次
索引へ移動
索引

前
 
次
 

$DEFAULT_LANGUAGE

$DEFAULT_LANGUAGEプロパティは、ディメンションがその定義先のアナリティック・ワークスペースの言語ディメンションであることを示し、その言語ディメンションのデフォルトの言語を指定するプロパティです。


注意:

各アナリティック・ワークスペースには言語ディメンションが1つしか存在せず、$DEFAULT_LANGUAGEプロパティを指定できるのはその言語ディメンションのみです。


関連項目:

LOCK_LANGUAGE_DIMSSESSION_NLS_LANGUAGEおよびSTATIC_SESSION_LANGUAGEオプション

構文

言語ディメンションに対して$DEFAULT_LANGUAGEプロパティの追加または削除を行う場合は、そのディメンションを、直近に定義または検討されたオブジェクト(DEFINEおよびCONSIDERコマンドを参照)にする必要があります。$DEFAULT_LANGUAGEプロパティは、次のPROPERTY文を使用して追加します。

  • プロパティを追加する場合は、次の文を発行します。

    PROPERTY '$DEFAULT_LANGUAGE' language

  • プロパティを削除する場合は、次の文を発行します。

    PROPERTY DELETE '$DEFAULT_LANGUAGE'

パラメータ

language

言語ディメンションに含まれる値または空の文字列を表すTEXT式。

使用上の注意

言語ディメンションに関連する処理

言語ディメンションは、$DEFAULT_LANGUAGEプロパティが定義されているディメンションです。各アナリティック・ワークスペースには言語ディメンションが1つしか存在しません。言語ディメンションに関連する処理は次のとおりです。

言語ディメンションの作成 言語ディメンションは次の手順に従って作成します。

  1. DEFINE DIMENSIONを使用してTEXTディメンションを定義します。

  2. サポートする言語名を言語ディメンションに移入します。言語名には、NLS_LANGUAGEに対して有効な値を使用する必要があります。

  3. $DEFAULT_LANGUAGEプロパティをディメンションに追加します。これにより、このディメンションは、Oracle OLAPにおいてアナリティック・ワークスペースの言語ディメンションとして認識されます。

言語ディメンションによりディメンション化された複数言語変数の定義 複数言語変数を作成するには、言語ディメンションを変数のディメンションに加えます(例4-8「言語ディメンションのアタッチ」を参照)。

言語ディメンション・ステータスの処理 言語ディメンションを持つアナリティック・ワークスペースがアタッチされると、Oracle OLAPでは次のように、言語ディメンションのステータスが初期化されます。

  1. 言語ディメンションにSESSION_NLS_LANGUAGEオプションの値が含まれている場合は、言語ディメンションがその値に制限されます。

  2. SESSION_NLS_LANGUAGEオプションに設定されている値が言語ディメンションに含まれていない場合、$DEFAULT_LANGUAGEプロパティに言語ディメンションの値が設定されていれば、言語ディメンションは、そのディメンションの$DEFAULT_LANGUAGEプロパティに指定されている言語に制限されます。

  3. SESSION_NLS_LANGUAGEオプションに設定されている値が言語ディメンションに含まれていないのに加え、言語ディメンションの$DEFAULT_LANGUAGEプロパティに値が設定されていない、もしくは存在しない値が指定されている場合、言語ディメンションは、ディメンションのデフォルトの順序における先頭の値に制限されます。

デフォルトでは、初期化後に言語ディメンション・ステータスは変更できません。ただし、LOCK_LANGUAGE_DIMSオプションの値をTRUEからFALSEに変更すれば、言語ディメンションのステータスはALLに変更され、ディメンションに対してLIMIT文を発行できるようになるため、言語ディメンション・ステータスの変更は可能になります。

言語ディメンションのエクスポート

EXPORT(EIF)を使用してアナリティック・ワークスペースをエクスポートする場合、Oracle OLAPでは、エクスポートする言語ディメンションの値が次の手順に従って決定されます。

  • EXPORT文が実行される際にLOCK_LANGUAGE_DIMSオプションの値がFALSEであれば、Oracle OLAPでは、現行の言語ディメンション・ステータスに従ってエクスポートが実行されます。

  • EXPORT文が実行される際にLOCK_LANGUAGE_DIMSオプションの値がTRUEの場合は、Oracle OLAPにより次の処理が行われます。

    1. EXPORT文が実行される前に、LOCK_LANGUAGE_DIMSオプションの値がFALSEに変更(したがってステータスはALLに設定)されます。

    2. EXPORT文が実行されます。言語ディメンションのすべての値がエクスポートされます。

    3. LOCK_LANGUAGE_DIMSオプションの値がTRUEに変更され、SESSION_NLS_LANGUAGEオプションの値に基づいて言語ディメンション・ステータスがリセットされます。

例4-7 言語ディメンションの作成

ここでは例として、mylangsという言語ディメンションを作成します。この言語ディメンションはデフォルト言語が英語で、フランス語と英語をサポートします。

NLS_LANGUAGE = 'AMERICAN'
DEFINE mylangs DIMENSION TEXT
MAINTAIN mylangs ADD 'FRENCH' 'AMERICAN'
CONSIDER mylangs
PROPERTY '$DEFAULT_LANGUAGE' 'AMERICAN'
 
SHOW OBJ(PROPERTY '$DEFAULT_LANGUAGE' 'mylangs')
AMERICAN
 
REPORT mylangs
MYLANGS
--------------
FRENCH
AMERICAN

例4-8 言語ディメンションのアタッチ

ここでは、myawというアナリティック・ワークスペースで、言語ディメンションmylangsを作成(例4-7「言語ディメンションの作成」を参照)したとします。また、次のような定義と値を持つproductsディメンションおよびprod-desc変数を作成したとします。

DEFINE MYLANGS DIMENSION TEXT
SHOW OBJ(PROPERTY '$DEFAULT_LANGUAGE' 'mylangs')
AMERICAN
 
DEFINE PRODUCTS DIMENSION TEXT
DEFINE PROD_DESC VARIABLE TEXT <PRODUCTS MYLANGS>

MYLANGS
--------------
FRENCH
AMERICAN
 
PRODUCTS
--------------
PROD01
PROD02
 
               ------PROD_DESC------
               ------PRODUCTS-------
MYLANGS          PROD01     PROD02
-------------- ---------- ----------
FRENCH         Pantalons  JupesAMERICAN       Trousers   Skirts
 

アナリティック・ワークスペースをアタッチするとします。アナリティック・ワークスペースのオプションを表示し、mylangsおよびprod_descのレポートを要求すると、mylangsディメンションが、SESSION_NLS_LANGUAGEオプションの値であるAMERICAN(英語)に制限されていることがわかります。

SHOW NLS_LANGUAGE
AMERICAN
AW ATTACH myaw RW
" Get the default language in our language dimension
SHOW OBJ(PROPERTY '$DEFAULT_LANGUAGE' 'mylangs')
AMERICAN
SHOW SESSION_NLS_LANGUAGE
AMERICAN
SHOW LOCK_LANGUAGE_DIMS
yes
SHOW STATIC_SESSION_LANGUAGE
no

REPORT mylangs

MYLANGS
--------------
AMERICAN
 
REPORT prod_desc
               ------PROD_DESC------
               ------PRODUCTS-------
MYLANGS          PROD01     PROD02
-------------- ---------- ----------
AMERICAN       Trousers   Skirts

例4-9 NLS_LANGUAGEの変更

例4-8「言語ディメンションのアタッチ」で説明したアナリティック・ワークスペースmyawをアタッチしたとします。NLS_LANGUAGEの値をFRENCH(フランス語)に変更します。STATIC_SESSION_LANGUAGEの値がNOに設定されているため、NLS_LANGUAGEの値の変更によって、SESSION_NLS_LANGUAGEオプションの値がFRENCHに変更されます。mylangsおよびprod_descのレポートに表示されているとおり、SESSION_NLS_LANGUAGEオプションの値がFRENCHになれば、mylangsディメンションはフランス語に制限されます。

SET NLS_LANGUAGE= 'FRENCH'
SHOW OBJ(PROPERTY '$DEFAULT_LANGUAGE' 'mylangs')
AMERICAN
SHOW NLS_LANGUAGE
FRENCH
SHOW SESSION_NLS_LANGUAGE
FRENCH
SHOW LOCK_LANGUAGE_DIMS
oui
SHOW STATIC_SESSION_LANGUAGE
non

REPORT mylangs
MYLANGS
--------------
FRENCH
 
REPORT prod_desc
               ------PROD_DESC------
               ------PRODUCTS-------
MYLANGS          PROD01     PROD02
-------------- ---------- ----------
FRENCH         Pantalons  Jupes

例4-10 NLS_LANGUAGEを言語ディメンションに指定されていない値に設定する

アナリティック・ワークスペースmyaw(例4-9「NLS_LANGUAGEの変更」を参照)において、NLS_LANGUAGEの値をまずAMERICANに設定し、続いてSPANISH(スペイン語)に設定します。次のコードに示されているとおり、言語ディメンションmylangsにはSPANISHという値は指定されていないため、mylangsディメンションは$DEFAULT_LANGUAGEプロパティの値(ここではAMERICAN)に制限されます。

"Change the value of NLS_LANGUAGE to AMERICAN
SET NLS_LANGUAGE= 'AMERICAN'
"Change the value of NLS_LANGUAGE to SPANISH
SET NLS_LANGUAGE= 'SPANISH'
 
SHOW OBJ(PROPERTY '$DEFAULT_LANGUAGE' 'mylangs')
AMERICAN
 
SHOW NLS_LANGUAGE
SPANISH
 
SHOW SESSION_NLS_LANGUAGE
SPANISH
 
SHOW LOCK_LANGUAGE_DIMS
sí

SHOW STATIC_SESSION_LANGUAGE
no
 
REPORT mylangs
MYLANGS
--------------
AMERICAN
 
REPORT prod_desc
               ------PROD_DESC------
               ------PRODUCTS-------
MYLANGS          PROD01     PROD02
-------------- ---------- ----------
AMERICAN       Trousers   Skirts

次のコードを使用し、デフォルトの言語を指定しないで言語ディメンションmylangsを定義したとします。

DEFINE mylangs DIMENSION TEXT
MAINTAIN mylangs ADD 'FRENCH' 'AMERICAN'
CONSIDER mylangs
PROPERTY '$DEFAULT_LANGUAGE' ''

この場合、NLS_LANGUAGEの値をSPANISHに設定すると、言語ディメンションmylangsには$DEFAULT_LANGUAGEプロパティに指定された値が含まれていないため、mylangsディメンションは、その先頭の値(ここではFRENCH)に制限されます。

NLS_LANGUAGE = 'SPANISH'
SHOW OBJ(PROPERTY '$DEFAULT_LANGUAGE' 'mylangs')

SHOW NLS_LANGUAGE
SPANISH
SHOW SESSION_NLS_LANGUAGE
SPANISH
SHOW LOCK_LANGUAGE_DIMS
sí
SHOW STATIC_SESSION_LANGUAGE
no

REPORT mylangs
MYLANGS
--------------
FRENCH

REPORT prod_desc
               ------PROD_DESC------
               ------PRODUCTS-------
MYLANGS          PROD01     PROD02
-------------- ---------- ----------
FRENCH         Pantalons  Jupes