重複メンバーのアウトラインの作成および使用

この項の内容:

アウトラインでの重複するメンバー名の作成

アウトラインでの重複するメンバー名および別名の制限

重複するメンバー名および別名を指定する構文

重複するメンバー名の使用

この章の情報は、ブロック・ストレージと集約ストレージ・データベースに適用されます。

関連項目:

アウトラインでの重複するメンバー名の作成

アウトライン内で重複する名前を使用できるのは、アウトラインでメンバーの重複を許可するオプションが有効になっている場合のみです。

アウトラインでメンバー名の重複が使用可能になっている場合、Essbaseではアウトラインに同じ名前を使用する複数のメンバーが表示されます。名前は通常の方法で作成します。次元、メンバーおよび別名の命名規則を参照してください。

アウトラインを保管すると、Essbaseによって重複するメンバー名を持つアウトラインが検証され、保存されます。重複するメンバー名は、修飾名のフォーマットによって区別されます。

図38に、重複するメンバー名のあるアウトラインの例を示します。StateメンバーNew YorkとCityメンバーNew Yorkは、アウトラインにはNew Yorkと表示されます。

図 38. 重複するメンバー名「New York」

この図は、この図の前のテキストで説明されている、2つのメンバーが同じ名前を使用している重複メンバーアウトラインを示しています。

図38の例の修飾メンバー名は、[State].[New York]および[City].[New York]です。重複するメンバー名および別名を指定する構文を参照してください。

  重複するメンバー名が使用可能なアウトラインを作成したり、一意のメンバー名のアウトラインを重複するメンバー名のアウトラインに変換するには、次のツールを使用します:

ツール

トピック

場所

Administration Services

重複メンバー名のアウトラインの作成

Oracle Essbase Administration Services Online Help

MaxL

create database

『Oracle Essbaseテクニカル・リファレンス』

注:

アウトラインの変更を重複メンバー名のアウトラインに変換する前に、その変更を保存します。未保存の変更が含まれているアウトラインは変換できません。アウトラインを重複メンバー・アウトラインに変換した後、その他のアウトラインの変更を続ける前にそのアウトラインを保存します。重複メンバー・アウトラインを変換して一意のメンバー・アウトラインに戻すことはできません。

重複メンバー・アウトライン内では、特定の次元、世代およびレベルを一意または重複としてタグ付けして、データベース内での重複メンバー名の使用を制限できます。これにより、重複メンバー・アウトライン内のメンバー名の一意性をより細かいレベルで指定できます。

重複するメンバーのアウトラインを作成すると、デフォルトではアウトラインのすべての次元に重複のタグが付けられます。

次元内で重複メンバーを使用可能な場合は、次元内の特定の世代またはレベルを一意としてタグ付けできます。メンバーが重複するプロパティに割当てられている場合は、一意のプロパティが優先します。

  次元内の重複メンバー名を使用可能または使用不可にするには、『Oracle Essbase Administration Servicesオンライン・ヘルプ』の「次元に対する一意のタグ付け」を参照してください。

  次元の特定の世代またはレベルでの重複メンバー名を使用不可にするには、『Oracle Essbase Administration Servicesオンライン・ヘルプ』の「世代およびレベルの名前付け」を参照してください。

注:

重複メンバー・アウトラインの属性次元には、接頭辞または接尾辞は付けられません。これらは一意のアウトライン内の属性次元に適用されます。たとえば、重複メンバーのブール属性次元では、メンバーには、TRUEおよびFALSEメンバーに付けられた次元、親、親の親、または祖先は組み込まれません。属性次元のメンバー名における、接頭辞および接尾辞のフォーマットの設定を参照してください。

アウトラインでの重複するメンバー名および別名の制限

データベース・アウトライン内に重複するメンバー名と別名を作成するとき、次のものを必ず一意にする必要があります:

  • 次元名

  • 世代名/レベル名

  • 親メンバーの下の兄弟

別名を使用する場合は、重複する別名を含む別名テーブルは、重複メンバー・アウトラインでのみ有効であるという、追加の制限が適用されます。

注:

メンバー、次元または別名には、引用符(" ")、大カッコ([ ])またはタブを使用しないでください。たとえば、[New York].[Area 1]というメンバー名は作成できません。アウトラインの確認では、一連の無効な文字を含むメンバー名に対するエラーは表示されず、アウトラインを保存できます。ただし、Essbaseでデータを正確にクエリーできなくなります。

重複するメンバー名および別名を指定する構文

アウトライン内に重複するメンバー名が存在している場合でも、データベース内のメンバーは、それぞれの非共有のメンバー名によって一意に識別されます。重複するメンバー名は、修飾名のフォーマットによって区別されます。Administration Servicesエディタを使用している場合は、アウトライン・ツリーの修飾メンバー名を選択できます。重複するメンバーの修飾メンバー名は、Administration Servicesのアウトライン・ビューアの「メンバーのプロパティ」ダイアログ・ボックスで確認できます。重複するメンバー名を指定するには、修飾名を使用する必要があります。

修飾メンバーや別名は、次のいずれかのフォーマットで指定できます:

  • 完全修飾メンバー名

  • 祖先を区別することによって修飾されるメンバー名

  • ショートカットの修飾メンバー名

注:

修飾名は、すべて別名で構成するか、すべてメンバー名で構成する必要があります。修飾名でメンバー名と別名を混在できません。

完全修飾メンバー名の使用

完全修飾メンバー名は、重複するメンバー名または別名と、次元名までを含むすべての祖先で構成されます。それぞれの名前は、大カッコ([ ])で囲み、ピリオド(.)で区切る必要があります。構文は次のとおりです:

      [
      DimensionMember
      ].[
      Ancestors...
      ].[
      DuplicateMember
      ]
   

例:

      [Market].[East].[State].[New York]
[Market].[East].[City].[New York]
   

祖先の区別によるメンバーの修飾

祖先を区別することによって修飾されるメンバー名では、メンバー名または別名と、重複するメンバーまたは別名を一意に識別する祖先までを含むすべての祖先が使用されます。パス内の最初の祖先は、常に一意のメンバー名になります。それぞれの名前は、大カッコ([ ])で囲み、ピリオド(.)で区切る必要があります。構文は次のとおりです:

      [
      DifferentiatingAncestor
      ].[
      Ancestors...
      ].[
      DuplicateMember
      ]
   

例:

      [State].[New York]
[City].[New York]
   

ショートカットの修飾メンバー名の使用

Essbaseでは、重複メンバー・アウトライン内のメンバーのショートカットの修飾名が、内部で構築されます。これらは、Administration Servicesを使用して、メンバー名を右クリックし、「メンバー名を挿入」をクリックすることで、スクリプト内に挿入できます。スクリプト、スプレッドシートまたはMDXクエリーに、ショートカット修飾名を手動で挿入することもできます。

Essbaseでは、表14に示されている構文を使用して、ショートカットの修飾名を構築します。スクリプト、スプレッドシートおよびMDXクエリーでメンバーを参照するときにEssbaseで使用される構文と同じ構文を使用するのが最適ですが、必須ではありません。

表 14. ショートカットの修飾名の構文

シナリオ

修飾名構文

重複するメンバー名は世代2に存在する

[ DimensionMember ].[ DuplicateMember ]

[Year].[Jan]

[Product].[Jan]

重複するメンバー名はアウトライン内に存在するが、次元内で一意である

[ DimensionMember ]@[ DuplicateMember ]

[Year]@[Jan]

重複するメンバー名に一意の親がある

[ ParentMember ].[ DuplicateMember ]

[East].[New York]

重複するメンバー名は世代3に存在する

[ DimensionMember ].[ ParentMember ].[ DuplicateMember ]

[Products].[Personal Electronics].[Televisions]

重複するメンバー名は、指定された世代またはレベルに存在し、そのメンバーは世代またはレベルで一意の存在です

[ DimensionMember ]@[ GenLevelName ]|[ DuplicateMember ]

[2006]@[Gen1]|[Jan]

シナリオによっては、祖先を区別する方法がショートカットとして使用されます。

[ DifferentiatingAncestor ].[ Ancestors... ].[ DuplicateMember ]

[2006].[Qtr1].[Jan]

一意のメンバー名アウトラインでの修飾メンバー名の使用

修飾メンバー名は、一意のメンバー名アウトライン(重複するメンバー名が使用可能になっていないアウトライン)でのメンバー名の参照にも適用できます。修飾メンバー名を使用すると、共有メンバーと元のメンバーを区別できます。

たとえば、Sample Basicデータベースにおいて、メンバー[100-20]は親[100]の下の元のメンバーで、親[Diet]の下に共有メンバーが関連付けられています。次のクエリーで示すように、共有メンバー[100-20]は、一意の名前[Diet].[100-20]を使用して明示的に参照できます:

      SELECT
 {Sales} 
ON COLUMNS,
 {[[Diet]].[100-20]]]} PROPERTIES MEMBER_UNIQUE_NAME
ON ROWS
FROM Sample.Basic;
   

重複するメンバー名の使用

このトピックでは、Administration Servicesで重複するメンバー名を定義する構文について説明します。

重複するメンバー名を指定するには、次のものを使用します:

  • Smart View (Oracle Hyperion Smart View for Office User's Guideを参照)

  • API (『Oracle Essbase APIリファレンス』を参照)

MaxLおよびMDXで重複するメンバー名を使用するには、『Oracle Essbaseテクニカル・リファレンス』を参照してください。

注:

別名とメンバー名が同一であるのに同じメンバーが示されない場合は、別名による検索がクライアント(Administration ServicesやAPIなど)でサポートされていません。

Administration Servicesでは、メンバー選択ツールを使用してアウトライン・ツリーから重複するメンバー名を挿入すると、修飾メンバー名が自動的に挿入されます。

重複するメンバー名をエディタに直接入力する場合は、修飾メンバー名を入力し、その修飾名を二重引用符("")で囲みます。たとえば、

      "[State].[New York]"
   

MDXおよびMaxLでは、修飾メンバー名は引用符で囲みませんOracle Essbase Administration Services Online Helpの「MDXスクリプトでの次元名およびメンバー名の挿入」を参照してください。Administration Servicesのデータ・プレビュー機能では、メンバー・アウトラインの重複はサポートされていません。