共用方式為


物件命名 (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 定義的一部分來提供。

屬性的繫結也允許針對不同語言提供的屬性名稱有不同的來源 (例如,不同的來源資料行)。

無法將物件的名稱當地語系化。