物件命名 (Analysis Services - 多維度資料)
物件名稱、識別碼和參考
一般來說,每一個主要物件都包含下列屬性:
Name 一般來說,同層級物件的名稱在父集合的範圍內是唯一的。例如,兩個不同的 Database 物件可能會有相同的 Dimension 名稱。不過在每一個 Database 中,Dimension 名稱是唯一的。這項規則的例外狀況將於稍後說明。例如,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>
當需要由多個識別碼組成的限定名稱 (例如 CubeID 和 MeasureID 都會指向另一個 Cube 中的量值) 時,便會導入外部元素來包含 ID 元素的集合。
參考例外狀況
由單一點 (.) 會參考目前 OLAP 伺服器的目前資料庫。例如,下列 XML 片段會指向目前 OLAP 伺服器執行個體的目前 Database:
<DataSourceID>.</DataSourceID>
DataSourceView (DSV) 元素的參考是參考規則的例外狀況。Microsoft .NET Framework 中的 DataSet 物件會描述 DSV 的結構描述。在此結構描述中,DSV 物件具有 Name,但是沒有不變的 ID。因此,DSV 物件的參考需要使用 Name 當做識別機制。例如,ColumnBinding.TableID 參考不包含 ID。但是,此參考會包含適當資料表的 Name。
命名方針
ASSL 會將相同的大小寫和空白字元規則套用到 Name 和 ID 屬性 (用於 DSO 8.0 中):
Name 和 ID 的唯一性檢查不區分大小寫。因此在相同資料庫中,不可能同時有 Cube 命名為 “sales”及另一個命名為 “Sales”。
雖然 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
在 XML 中,不允許使用 NULL 當做任何字串中的字元
下表列出特定物件的無效字元。
物件 |
無效字元 |
---|---|
Server |
此名稱必須依照電腦名稱的規則(IP 位址無效)。 |
DataSource |
: / \ * | ? " () [] {} <> |
Level 或 Attribute |
. , ; ' ` : / \ * | ? " & % $ ! + = [] {} < > |
Dimension 或 Hierarchy |
.,, ; ' ` : / \ * | ? " & % $ ! + = () [] {} <,> |
所有其他物件 |
. , ; ' ` : / \ * | ? " & % $ ! + = () [] {} < > |
當地語系化名稱
用戶端可見的物件標題 (例如 Dimension、階層和 Level) 可以當地語系化成不同的語言。透過命令定義之物件的標題 (例如,導出量值和命名集) 會當做物件之 MDX 定義的一部分來提供。
屬性的繫結也允許針對不同語言提供的屬性名稱有不同的來源 (例如,不同的來源資料行)。
無法將物件的名稱當地語系化。