識別子 (DMX)

MicrosoftSQL ServerAnalysis Services のオブジェクトはすべて識別子を持っています。サーバー、データベース、およびデータベース オブジェクト (データ ソース、データ ソース ビュー、キューブ、ディメンション、マイニング モデルなど) はすべて識別子を持っています。

オブジェクト識別子は、オブジェクトの定義時に作成されます。オブジェクトの名前が識別子となります。オブジェクトを参照するには、この作成された識別子を使用します。

データ マイニング拡張機能 (DMX) には 2 つのクラスの識別子があります。

  • 標準識別子

  • 区切られた識別子

識別子の種類に関係なく、識別子は 100 文字以下である必要があります。

標準識別子

標準識別子は、識別子の形式に関する Analysis Services の規則に準拠している名前です。DMX の標準識別子には区切り記号は必要ありません。区切りなし標準識別子を使用する DMX ステートメントの例は、次のとおりです。

SELECT * FROM Clustering.CONTENT

この例では、"Clustering" がマイニング モデルの名前であり識別子でもあります。識別子にスペースやその他の特殊文字が含まれていないので、これは標準識別子であり、角かっこで囲む必要はありません。

標準識別子に関する規則

標準識別子の形式に関する規則は、次のとおりです。

  1. 標準識別子の最初の文字は、次のうちのいずれかである必要があります。

    • Unicode 規格 2.0 で定義されている文字。これには、ラテン文字 a ~ z と A ~ Z、および各国言語の文字が含まれます。

    • アンダースコア (_)。

  2. 名前の先頭以外では、次の文字を使用できます。

    • Unicode 規格 2.0 で定義されている文字

    • Basic Latin スクリプトまたはその他の各国スクリプトの 10 進数

    • アンダースコア (_)

  3. DMX 予約語を識別子として使用することはできません。DMX では、予約語の大文字と小文字は区別されません。詳細については、「予約されているキーワード (DMX)」を参照してください。

  4. 埋め込まれたスペースや特殊文字を識別子に含めることはできません。

これらの規則に従っていない識別子を DMX ステートメントで使用する場合は、角かっこで囲む必要があります。

区切られた識別子

区切られた識別子は角かっこ ([ ]) で囲まれた識別子です。区切られた識別子を使用した DMX ステートメントの例は、次のとおりです。

SELECT * FROM [Marketing_Clusters].CONTENT

この例では、マイニング モデルの識別子は [Marketing_Clusters] です。標準識別子の条件を満たしていても、名前は角かっこで囲まれています。角かっこが不要な場合でもわかりやすくするために識別子に角かっこを使用し、コードのメンテナンスと移行に伴う問題を最小限に抑えることをお勧めします。

標準識別子の形式に関する規則に従わない識別子は必ず区切り記号で区切る必要があります。スペースを含んでいる区切られた識別子を使用した DMX ステートメントの例は、次のとおりです。

SELECT * FROM [Targeted Mailing].CONTENT

区切られた識別子を使用する必要があるのは、次のような場合です。

  • 予約語をオブジェクト名やオブジェクト名の一部に使用する場合。

    予約語はオブジェクト名に使用しないことをお勧めします。以前のバージョンの Analysis Services からアップグレードしたデータベースには、以前のバージョンの Analysis Services では予約されていなかったものの、それ以降のバージョンでは予約キーワードとなっている語を含む識別子が含まれている場合があります。オブジェクト名の変更が可能になるまで、このようなオブジェクトを参照するには、区切られた識別子を使用します。

  • 通常の識別子に関する規則で定義されていない文字を使用する場合。

    Analysis Services では、現在のコード ページ内の文字はすべて区切られた識別子に使用することができますが、特殊文字をオブジェクト名に使用すると、DMX ステートメントの読み取りおよびメンテナンスが難しくなる場合があります。たとえば、クライアント アプリケーションの中にコード ページを使用できないものがある場合、そのアプリケーションのユーザーは特殊文字を表示できないことがあります。識別子は、使用する可能性のあるクライアントからの読み取りおよび入力が可能なものを使用することをお勧めします。

    注意注意

    Analysis Services データベースを以前のバージョンから SQL Server 2008 にアップグレードするときに、一意性を維持するためにオブジェクト名が変更される場合があります。詳細については、「SQL Server 2008 の Analysis Services 機能における重大な変更」を参照してください。

区切られた識別子に関する規則

区切られた識別子の形式に関する規則は、次のとおりです。

  1. 区切られた識別子は、標準識別子の場合と同じ文字数、つまり、区切り記号を除いた 1 ~ 100 文字で構成されます。

  2. 識別子の本体は、区切り記号を含め、現在のコード ページ内で使用される文字の任意の組み合わせで構成されます。識別子の本体に区切り記号が含まれている場合は、特別な処理が必要になります。

    • 識別子の本体に左かっこ ([) が含まれている場合は、処理を行う必要はありません。

    • 識別子の本体に右かっこ (]) が含まれている場合は、識別子内で単一の右かっこを表現するために右かっこを 2 つ (]]) 指定する必要があります。

複数の部分に区切られた識別子

修飾されたオブジェクト名を使用する際、場合によってはオブジェクト名を構成している複数の識別子を区切る必要があります。各識別子は個々に区切ってください。次の例では、複数の区切られた識別子を含む修飾されたオブジェクト名を示します。

[AdventureWorks DW 2008].[Targeted Mailing DT]