識別子 (MDX)
識別子は Analysis Services オブジェクトの名前です。 すべてのオブジェクトは、識別子を持つ必要があります。 これには、キューブ、ディメンション、階層、レベル、メンバーなどが含まれます。 多次元式 (MDX) ステートメントの中でオブジェクトを参照するには、オブジェクトの識別子を使用します。
オブジェクトに名前を付ける方法に応じて、オブジェクト識別子の識別子は通常の識別子または区切られた識別子になります。
Note
通常の識別子と区切られた識別子の両方に、1 ~ 100 文字を含める必要があります。
標準識別子の使用
通常の識別子は、通常の識別子に対する次の書式設定規則に準拠するオブジェクト名です。 通常の識別子は、区切り記号の有無にかかわらず使用できます。
標準識別子の書式設定規則
最初の文字が次のいずれかである必要があります。
Unicode 規格 2.0 で定義されている文字。 他の言語の文字に加えて、文字の Unicode 定義には、a から z、および A から Z までのラテン文字が含まれます。
アンダースコア (_)。
後続の文字は次のとおりです。
Unicode 規格 2.0 で定義されている文字
Basic Latin スクリプトまたはその他の各国スクリプトの 10 進数
アンダースコア (_)。
MDX の予約されたキーワードを識別子にすることはできません。 予約済みキーワードは、MDX では大文字と小文字が区別されません。 詳細については、「 予約キーワード (MDX 構文)」を参照してください。
埋め込み型スペースおよび特殊文字は使用できません。
標準識別子の例
以下の MDX ステートメントで、Measures
、Product
、および Style
識別子は、標準識別子の形式の規則に従っています。 これらの通常の識別子には区切り記号は必要ありません。
SELECT Measures.MEMBERS ON COLUMNS,
Product.Style.CHILDREN ON ROWS
FROM [Adventure Works]
``
必須ではありませんが、標準識別子に区切り記号を使用することもできます。 次の MDX ステートメントでは、Measures
Product
およびStyle
標準識別子が角かっこを使用して正しく区切られます。
SELECT [Measures].MEMBERS ON COLUMNS,
[Product].[Style].CHILDREN ON ROWS
FROM [Adventure Works]
``
区切り識別子の使用
標準識別子の形式の規則に従わない識別子は、必ず角かっこ ([]) で区切る必要があります。
Note
区切り記号は識別子専用です。 キーワードが Analysis Services で予約済みとしてマークされているかどうかに関係なく、区切り記号をキーワードに使用することはできません。
区切り記号付き識別子は、次の状況で使用します。
オブジェクトの名前または名前の一部に予約語を使用する場合。
予約済みキーワードはオブジェクト名として使用しないことをお勧めします。 以前のバージョンの Analysis Services からアップグレードされたデータベースには、以前のバージョンでは予約されていないが、現在予約されている単語を含む識別子が含まれている場合があります。 オブジェクトの識別子を変更できるようになるまでの間は、区切られた識別子を使ってオブジェクトを参照できます。
オブジェクトの名前に、修飾された識別子として示されていない文字を使用する場合。
Analysis Services を使用すると、区切り識別子で現在のコード ページ内の任意の文字を使用できます。 しかし、むやみにオブジェクト名に特殊文字を使用すると、MDX ステートメントやスクリプトが読みにくくなり、メンテナンスが困難になります。
区切られた識別子の形式の規則
区切り記号付き識別子の本体には、現在のコード ページ内の任意の組み合わせの文字 (区切り文字自体を含む) を含めることができます。 区切られた識別子の本体に区切り記号が含まれている場合、特殊な処理が必要です。
識別子の本体に左角かっこ ([) のみが含まれている場合、追加の処理は必要ありません。
識別子の本体に右角かっこ (]) が含まれている場合は、2 つの右角かっこ (]]) を指定する必要があります。
区切り記号付き識別子の例
次の仮定の MDX ステートメントでは、、Sales Volume
Sales Cube
、 select
は区切られた識別子です。
-- The [Sales Volume] and [Sales Cube] identifiers contain a space.
SELECT Measures.[Sales Volume]
FROM [Sales Cube]
WHERE Product.[select]
-- The [select] identifier is a reserved keyword.
次の例のオブジェクトの名前は Total Profit [Domestic]
です。 このオブジェクトを参照するには、以下の区切られた識別子を使用する必要があります。
[Total Profit [Domestic]]]
Domestic
の前の左角かっこを変更せずに、区切られた識別子を作成できることに注意してください。 しかし、Domestic
の後の右角かっこは、2 つの右角かっこに置き換える必要があります。
複数の部分で識別子を区切る
修飾オブジェクト名を使用する場合は、オブジェクト名を構成する複数の識別子を区切る必要がある場合があります。 たとえば、次のコードの Front Brakes 識別子を区切る必要があります。
[メジャー] を選択します。列のメンバー、
[製品]。[製品]。[フロントブレーキ]ON ROWS
FROM [Adventure Works]
さらに、前の例の Measures 識別子は、複数の識別子の区切りを示すために区切られました。
参照
MDX 言語リファレンス (MDX)
MDX クエリの基礎 (Analysis Services)
MDX 構文要素 (MDX)