名前変更ユーティリティのマップ・ファイルは、リポジトリで名前が変更されるディメンションとメンバーを定義します。これは、各ディメンションとメンバーの完全な論理パスを定義するXMLファイルです。次に、サンプルのマップ・ファイル(行番号付き)と各セクションの説明を示します。
[01] <map name="Rename Map 01"> [02] <server name="essbase9x" [03] <serverAlias>essbase9x.hyperion.comserverAlias>essbase9x.hyperion.com> [04] <application name="Sample"> [05] <database name="Basic"> [06] [07] <dim oldName="Year" newName="NewYear" /> [08] [09] <dim oldName="Market" newName="NewMarket" [10] oldAlias="Market" newAlias="My New Market"> [11] <member oldName="South" newName="NewSouth"/> [12] <member oldName="East" newName="NewEast"/> [13] oldAlias="Eastern" newAlias="New Eastern"> [14] </dim> [15] [16] <newDim name="NewDim" alias="NewDim Alias" /> [17] [18] <newDim name="Attr" alias="Attribute" parentDim="product"> [19] [20] <newDim name="Features" alias="Prod Features"> [21] <attrDim name="Attr1"/> [22] <attrDim name="Attr2"/> [23] <attrDim name="Attr3"/> [24] </newDim> [25] [26] </database> [27] </application> [28] </server> [29] [30] <server name="server2"> [31] <...> [xx] </server> [xy] [xz] </map>
マップ・ファイルの一番上の要素は、行[01]に示す<map>要素でなければなりません。これは名前の属性を持っている必要があり、引用符で括った任意のテキストです。<map>要素はマップ・ファイルに1つだけ持つことができます。この要素は内部で使用され、このマップ・ファイルに含まれるサーバーのリストを格納します。1つまたは複数の<server>要素を含めることができます。
この要素は、ディメンションやメンバーの名前を変更したEssbaseサーバーを識別します。例を、行[02]および[30]に示します。例に示したように、1つのマップ・ファイルには複数のserver要素を含めることができます。必須の属性のnameを1つ持ちます。この名前は、Web Analysisのリポジトリに保管されたEssbaseデータベース接続のサーバー名と一致する必要があります。DNSやホストの参照は行われず、IPアドレスの変換も行われません。そのため、<server name=”127.0.0.1”>は<server name=”localhost”>とは同じではありません。server要素には1つまたは複数のapplication要素を含めることができます。
この要素では、ユーザーは同じEssbaseサーバーを識別する代替の名前を指定できます。たとえば、サーバーess9xは、ess9x.hyperion.com、172.27.31.126、またはlocalhostとして識別できます。マップ・ファイルでserverAlias要素を使用すると、サーバーのディメンションやメンバーのマッピングを、リポジトリでの参照方法に関係なく、そのサーバーに適用できます。行[03]に例を示します。この例は、essbase9x.hyperion.comという代替名を持つサーバーessbase9xのすべてのディメンションとメンバーに関連します。serverAlias要素は属性を持たず、その本文がサーバーの別名を指定します。
この要素は、Essbaseアプリケーションの特定のインスタンスを識別します。例を行[04]に示します。application要素には、nameという属性が1つあり、これは必須です。この名前は、Web Analysisのリポジトリに保管されたEssbaseデータベース接続内のアプリケーション名と一致する必要があります。application要素には、1つまたは複数のdatabase要素を含めることができます。
この要素は、Essbaseデータベースの特定のインスタンスを識別します。例を行[05]に示します。database要素には、nameといる属性が1つあり、これは必須です。この名前は、Web Analysisのリポジトリに保管されたEssbaseデータベース接続内のデータベース名と一致する必要があります。database要素には、1つまたは複数のdim要素やnewDim要素を含める必要があります。
この要素は、一意のデータベース内のEssbaseディメンションの特定のインスタンスを識別します。例を行[07]と[09]に示します。dim要素には、ディメンションを識別する属性oldNameを含める必要があります。各要素には、オプションとして次の3つの属性があります。
newName - このディメンションの新規名前
oldAlias - このディメンションの現在の別名
newAlias - このディメンションの新規別名
dim要素にnewNameまたはnewAlias属性がない場合は、名前変更は行われません。この例は、ディメンション名が変更されなかったときのケースと同じになりますが、そのディメンション内のメンバーは名前変更が行われました。oldAlias属性は、アウトラインで定義されているため、別名を使用した上位メンバーの選択を識別できます。Essbaseでは、ディメンションの上位メンバーはディメンション名や別名を使用するため、これは必要です。メンバーはリポジトリ・オブジェクトに名前や別名で保管される場合があるため、oldNameおよびoldAliasをすべてのdim要素に含める必要があります。この要素には、ゼロまたはそれ以上のmember要素のみを含めることができます。これは、ディメンション名または別名のみが変更されたが、そのディメンション内のメンバーの名前が変更されなかった場合に、該当します。
この要素は、一意のディメンション内のEssbaseメンバーの特定のインスタンスを識別します。例を行[11]と[12]に示します。member要素には、次元を識別する属性oldNameを含める必要があります。各要素には、オプションとして次の3つの属性があります。
newName - このメンバーの新規名前
oldAlias - このメンバーの現在の別名
newAlias - このメンバーの新規別名
oldAlias属性は、アウトラインで定義されている場合は、別名を使用したそのメンバー選択が識別できるように、その属性を含める必要があります。メンバーは名前や別名でリポジトリ・オブジェクトに保管される場合があるため、oldNameおよびoldAliasは、すべてのmember要素に含める必要があります。この要素には他の要素を含めることはできません。
この要素は、一意のデータベース内の新規のEssbaseディメンションの特定のインスタンスを識別します。newDim要素には、ディメンションに一意の名前を付けるために、name属性を含める必要があります。このディメンションの別名を定義するには、オプションとしてalias属性があります。この例を行[16]に示します。
ディメンションが属性ディメンションの場合は、その属性ディメンションを親ディメンションと関連付けるために、必須のXML属性のparentDimを要素に含める必要があります。この例を上記の行[18]に示します。
最後に、ディメンションが属性ディメンションに関連付けられている場合は、その属性ディメンションはattrDim要素で定義される必要があります。これは、newDim要素が子要素を含み、複数のattrDim要素がその中にある唯一の場合です。
この要素は、新規ディメンションに関連付けるOracle Essbase属性ディメンションの特定のインスタンスを識別します。例を行[21]、[22]、[23]に示します。attrDim要素は、属性ディメンションを一意に識別する属性nameを含んでいる必要があります。この要素は他の要素を含むことはできません。