次の方法で共有


NamingTemplate 要素 (ASSL)

DimensionAttribute 親要素から構築された親子階層内におけるレベルの名前付け方法を定義します。

構文

<DimensionAttribute>
   ...
      <NamingTemplate>...</NamingTemplate>
   ...
</DimensionAttribute>

要素の特性

特性 説明

データ型と長さ

String

既定値

なし

カーディナリティ

0-1 : 省略可能な要素で、出現する場合は 1 回だけの出現が可能です

要素のリレーションシップ

リレーションシップ 要素

親要素

DimensionAttribute

子要素

なし

解説

NamingTemplate 要素の値は親属性によってのみ使用されます (つまり、DimensionAttribute 親要素の Usage 要素の値は Parent に設定されています)。

親属性を使用して階層が構築されている場合、その階層のレベルは、親属性に含まれているメンバ間の親子関係によって決定されます。したがって、他のディメンションとは異なり、階層に使用されている属性名からレベル名を得ることはできません。

その代わり、名前付けテンプレートを使用して親子階層のレベル名を生成します。親属性で定義されている NamingTemplate 要素には、レベル名を定義するための文字列式が含まれています。親属性の名前付けテンプレートを定義するには、名前付けパターンをデザインする方法と、名前の一覧を指定する方法の 2 つがあります。

名前付けパターンには、新しい深い階層レベルの名前に増分しながら挿入されるカウンタのプレースホルダ文字としてアスタリスク (*) が含まれています。たとえば、"(すべて)" レベルが定義されていない場合、Level * を使用すると、レベル名 Level 01Level 02Level 03 が生成されます。名前付けパターンにプレースホルダ文字が含まれていない場合、最初はその名前付けパターンがそのまま使用され、その後のレベル名はパターンの末尾にスペースと番号を追加して生成されます。たとえば、Level を使用すると、レベル名 LevelLevel 01Level 02 が生成されます。

名前付けで名前の具体的なセットを使用するには、NamingTemplate 要素の値を、レベル名をセミコロンで区切った一覧に設定します。一覧内のそれぞれの名前は、後続のレベル名の生成に使用されます。レベル数が一覧の名前の数より多い場合は、追加のレベル名のテンプレートとして一覧内の最後の名前が使用されます。つまり、前述のように、最後の名前にスペースと序数を追加して追加のレベル名が生成されます。たとえば、Division;Group;Unit を使用すると、レベル名 DivisionGroupUnitUnit 01、および Unit 02 が生成されます。これに対し、Division;Group;Unit * を使用すると、レベル名 DivisionGroupUnit 03、および Unit 04 が生成されます。

レベル名の一意性は、一覧内の各名前がテンプレートとして処理されることによって確保されます。たとえば、Manager;Team Lead;Manager;Team Lead;Worker * を使用すると、レベル名 ManagerTeam LeadManager 01Team Lead 01Worker 05Worker 06 が生成されます。

名前付けテンプレートの一部としてアスタリスク (*) 文字をレベル名に含めるには、2 つのアスタリスク (**) を使用します。

分析管理オブジェクト (AMO) オブジェクト モデルで NamingTemplate の親に対応する要素は、DimensionAttribute です。

参照

関連項目

NamingTemplateTranslations 要素 (ASSL)
DimensionAttribute データ型 (ASSL)
プロパティ (ASSL)

ヘルプおよび情報

SQL Server 2005 の参考資料の入手