識別碼是分析服務物件的名稱。 每個物件都可以且必須擁有識別碼。 這包括立方體、尺寸、階層、層級、成員等等。 你在多維表達式(MDX)語句中使用物件的識別碼來指稱該物件。
根據你如何命名物件,物件識別碼的識別碼會是常規識別碼或分隔識別碼。
Note
一般識別碼與分隔識別碼皆須包含 1 至 100 字元。
使用常規識別碼
一般識別碼是一種物件名稱,符合以下常規識別碼格式規則。 規則識別碼可使用,可加或不加分隔符。
常規識別碼的格式規則
第一個字元必須是下列其中一個:
根據Unicode標準2.0所定義的字母。 除了其他語言的字母外,Unicode 對字母的定義還包括從 a 到 z 以及 A 到 Z 的拉丁字母。
底線(_)。
後續字元可以有:
字母依據Unicode標準2.0定義。
基本拉丁文或其他國家文字系統的十進位數。
底線(_)。
識別碼不得為 MDX 保留關鍵字。 保留關鍵字在 MDX 中不區分大小寫。 欲了解更多資訊,請參閱保留關鍵字(MDX 語法)。
不允許內嵌空格或特殊字元。
規則識別碼範例
在以下 MDX 陳述中,識別碼 Measures、 Product、 Style、 符合一般識別碼的格式規則。 這些規則識別碼不需要分隔符。
SELECT Measures.MEMBERS ON COLUMNS,
Product.Style.CHILDREN ON ROWS
FROM [Adventure Works]
雖然不是必須,但你也可以使用帶有規則識別碼的分隔符。 在接下來的 MDX 陳述中,MeasuresProductStyle已正確以括號區隔、、及一般識別碼。
SELECT [Measures].MEMBERS ON COLUMNS,
[Product].[Style].CHILDREN ON ROWS
FROM [Adventure Works]
使用分隔識別碼
不符合一般識別碼格式規則的識別碼,必須始終以括號([])來界定。
Note
分隔符僅用於識別碼。 無論關鍵字在分析服務中是否被標記為保留,都不能使用分隔符。
你在以下情況下使用分隔識別碼:
當物件或名稱的一部分使用保留詞時,
我們建議不要將保留關鍵字用作物件名稱。 從早期版本的分析服務升級後,資料庫可能包含包含先前版本未保留但現在已保留的字詞的識別碼。 在你能更改物件識別碼之前,你可以用分隔識別碼來參考物件。
當物件名稱使用未列為合格識別碼的字元時。
Analysis Services 允許分隔識別碼使用當前代碼頁中的任何字元。 然而,物件名稱中不加區別使用特殊字元,可能會使 MDX 語句與腳本難以閱讀與維護。
分隔識別碼格式規則
分隔識別碼的主體可以包含目前代碼頁中任意組合的字元,包括分隔字元本身。 若分隔識別符的正文包含分隔字元,則需特殊處理:
若識別碼主體僅包含左括號([),則無需額外處理。
如果識別碼的正文包含右括號(]),你必須指定兩個右括號(])。
分隔識別碼的範例
在以下假設的 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 的後方支架必須被兩個右側的支架取代。
用多部分來界定識別碼
當你使用合格物件名稱時,可能需要分隔多個組成物件名稱的識別碼。 例如,以下代碼中的前煞車識別碼需要界定。
選擇[度量]。各位專欄成員,
[產品]。[產品]。[前煞車聲]在排隊上
摘自[冒險作品]
此外,前述範例中的 Measures 識別碼被劃分以示界定多個識別碼。