オブジェクトの名前付け (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 定義の一部として指定されます。
また、属性のバインドを使用すると、属性名の異なるソース (異なるソース列など) をさまざまな言語について指定できます。
オブジェクトの名前をローカライズすることはできません。