オブジェクトの名前付け (Analysis Services - 多次元データ)
オブジェクトの名前、ID、および参照
一般に、すべての主要なオブジェクトには次のプロパティがあります。
Name 通常、兄弟オブジェクトの名前は親コレクションのスコープ内で一意です。たとえば、2 つの異なる Database オブジェクトが、同じ Dimension 名を持つ場合がありますが、Dimension 名は各 Database 内で一意です。このルールの例外については、後半で説明します。たとえば、Measure 名は Cube レベルで一意である必要がありますが、親 MeasureGroup のレベルでは一意である必要はありません。
ID Name プロパティに適用される一意性の制限は、ID プロパティにも適用されます。また、ID プロパティは変更できません。ID プロパティは作成時にユーザーまたはアプリケーションによって割り当てられるか、サーバーによって自動的に割り当てられます (プロパティが指定されていない場合)。サーバーによって ID プロパティが割り当てられると、ID プロパティはオブジェクトの初期名に設定されます。
Description
オブジェクトの参照
オブジェクトは ID プロパティによって参照されます。ID プロパティの名前付け規則では、対象の型に基づく名前で始め、"ID" というサフィックスを追加します。場合によっては、オブジェクトが果たすロールに関する追加情報を示すプレフィックスを追加します。たとえば、オブジェクトが Cube で使用される既定のメジャーであるとします。オブジェクトの対象の型は Measure です。この対象の型の名前に、"ID" サフィックスと "Default" プレフィックスを追加します。作成された ID プロパティ名は、次のコードのように DefaultMeasureID になります。
<Cube>
<DefaultMeasureID>Amount</DefaultMeasureID>
…
<Cube>
複数の ID から構成される修飾名が必要な場合 (たとえば、CubeID と MeasureID の両方が別の Cube のメジャーを参照する場合)、ID 要素のセットを含めるために外部要素が取り込まれます。
参照の例外
1 つのドット (.) を含む DataSource 参照は、現在の OLAP サーバーの現在のデータベースを参照します。たとえば、次の XML フラグメントでは、現在の OLAP サーバー インスタンスの現在の Database を参照します。
<DataSourceID>.</DataSourceID>
DataSourceView (DSV) 要素の参照は、参照ルールの例外です。Microsoft .NET Framework の DataSet オブジェクトでは DSV のスキーマを記述します。スキーマの DSV オブジェクトには、変更不可の ID ではなく Name があります。そのため、DSV オブジェクトの参照では、識別メカニズムとして Name を使用する必要があります。たとえば、ColumnBinding.TableID という参照には、ID が含まれていません。代わりに、この参照には適切なテーブルの Name が含まれています。
名前付けガイドライン
ASSL では、大文字と小文字およびスペースに関して、DSO 8.0 と同じルールを Name プロパティと ID プロパティに適用します。
Name と ID の一意性の確認では、大文字と小文字が区別されません。そのため、同じデータベース内に "sales" と "Sales" という 2 つの Cube が存在することはできません。
Name または ID プロパティの文字列内にスペースを含めることはできますが、先頭および末尾に含めることはできません。先頭および末尾にあるスペースは暗黙的に切り捨てられます。このルールは、オブジェクトの Name と ID、および Name と ID を参照する要素の値に適用されます。
Name および ID プロパティには、次のルールも適用されます。これらのルールは DSO 8.0 のルールと同様です。
使用できる文字数は最大 100 文字です。
識別子の最初の文字に関する特別な要件はありません。最初の文字には有効な任意の文字を使用できます。
次の予約済みの名前は使用できません。
AUX
CLOCK$
COM1 ~ COM9 (COM1、COM2、COM3 など)
CON
LPT1 ~ LPT9 (LPT1、LPT2、LPT3 など)
NUL
PRN
NULL は XML 内の文字列の文字として許容されません。
次の表では、特定のオブジェクトで無効な文字を示します。
オブジェクト |
無効な文字 |
---|---|
Server |
名前は、コンピュータ名の規則に従う必要があります。IP アドレスは無効です。 |
DataSource |
: / \ * | ? " () [] {} <> |
Level または Attribute |
. , ; ' ` : / \ * | ? " & % $ ! + = [] {} < > |
Dimension または Hierarchy |
.,, ; ' ` : / \ * | ? " & % $ ! + = () [] {} <,> |
他のすべてのオブジェクト |
. , ; ' ` : / \ * | ? " & % $ ! + = () [] {} < > |
名前のローカライズ
クライアントに表示されるオブジェクトのキャプション (たとえば、Dimension、階層、Level など) は、さまざまな言語にローカライズできます。コマンドによって定義されるオブジェクトのキャプション (たとえば、計算されるメジャーや名前付きセットなど) は、オブジェクトの MDX 定義の一部として指定されます。
また、属性のバインドを使用すると、属性名の異なるソース (異なるソース列など) をさまざまな言語について指定できます。
オブジェクトの名前をローカライズすることはできません。