共用方式為


ASSL XML 慣例

適用于:SQL Server Analysis Services Azure Analysis Services Fabric/Power BI Premium

Analysis Services 指令碼語言 (ASSL) 將物件階層以一組元素類型來表示,每個元素類型都定義了它們可以包含的子系元素。

為了表示物件階層,ASSL 使用下列 XML 慣例:

  • 除了標準 XML 屬性,例如 'xml:lang' 以外,所有物件和屬性都會表示為專案。

  • 元素名稱與列舉值都會遵循 Microsoft .NET Framework 所採用之 Pascal 大小寫 (不使用底線) 的命名慣例。

  • 所有值的大小寫都會保留。 列舉值也會區分大小寫。

除了這個慣例清單以外,Analysis Services 也會遵循有關基數、繼承、空白、資料類型以及預設值的某些慣例。

基數

當元素具有大於 1 的基數時,就會有封裝此元素的 XML 元素集合。 集合名稱會使用包含在集合中的複數形式之元素。 例如,下列 XML 片段代表Database元素內的Dimensions集合:

<Database>

...

<Dimensions>

<Dimension>

...

</Dimension>

<Dimension>

...

</Dimension>

</Dimensions>

</Database>

``

元素出現的順序並不重要。

繼承

當有不同的物件具有重疊但非常不一樣的屬性集合時,就會使用繼承。 像這類重疊但是相異的物件為虛擬 Cube、連結 Cube 以及一般 Cube。 針對重迭但不同的物件,Analysis Services 會使用 XML 實例命名空間中的標準 類型 屬性來表示繼承。 例如,下列 XML 片段顯示 類型 屬性如何識別 Cube 元素是否繼承自一般 Cube 或虛擬 Cube:

<Cubes>

<Cube xsi:type="RegularCube">

<Name>Sales</Name>

...

</Cube>

<Cube xsi:type="VirtualCube">

<Name>SalesAndInventory</Name>

...

</Cube>

</Cubes>

``

當多個類型都具有相同名稱的屬性時,通常不會使用繼承。 例如, NameID 屬性會出現在許多元素上,但這些屬性尚未升級為抽象類別型。

空白

元素值中的空白會保留下來。 不過,開頭和尾端空白則一律都會修剪。 例如,下列元素有相同的文字,但是在文字中有不同的空白數目,因此會將它們視為不同的值:

<Description>My text<Description>

<Description>My text<Description>

``

不過,下列元素只有開頭和尾端空白不同,因此會將它們視為具有相等的值:

<Description>My text<Description>

<Description> My text <Description>

``

資料類型

Analysis Services 使用下列標準 XML 結構描述定義語言 (XSD) 資料類型:

整數
介於 -231 到 231 - 1 範圍內的整數值。

Long
介於 -263 到 263 - 1 範圍內的整數值。

字串
符合下列全域規則的字串值:

  • 移除控制字元。

  • 修剪開頭和尾端空白。

  • 保留內部空白字元。

名稱和識別碼屬性對字串元素中的有效字元有特殊限制。 如需名稱和識別碼慣例的其他資訊,請參閱ASSL 物件和物件特性

DateTime
.NET Framework的DateTime結構。 DateTime值不可以是 Null。 DataTime資料類型所支援的最低日期是 1601 年 1 月 1 日,可供程式設計人員以DateTime.MinValue的形式使用。 最低支援的日期表示遺漏 DateTime 值。

布林值
只有兩個值的列舉,例如 {true, false} 或是 {0, 1}。

預設值

Analysis Services 會使用下表所列的預設值。

XML 資料類型 預設值
布林值 False
字串 "" (空字串)
整數 0 (零)
Timestamp 12:00:00 AM、1/1/0001 (對應至 .NET Frameworks System.DateTime ,且刻度為 0)

有顯示但為空的元素會解譯成具有 Null 字串值,而不是預設值。

繼承的預設值

物件上指定的某些屬性會針對子物件或下階物件上的相同屬性提供預設值。 例如, Cube.StorageMode 會提供 Partition.StorageMode的預設值。 Analysis Services 套用於繼承預設值的規則如下所示:

  • 當子物件的屬性在 XML 中為 Null 時,其值就會預設為繼承的值。 但是,如果您從伺服器查詢此值,伺服器會傳回 XML 元素的 null 值。

  • 您無法以程式設計方式判斷出子物件的屬性是直接在子物件上設定的,還是繼承而來。

有些元素已定義遺漏元素時會套用的預設值。 例如,即使一個Dimension元素包含 Visible 元素,但另一個 Dimension 元素並未包含下列 XML 片段中的Dimension元素還是相等。

<Dimension>

<Name>Product</Name>

</Dimension>

<Dimension>

<Name>Product</ Name>

<Visible>true</Visible>

</Dimension>

如需繼承預設值的詳細資訊,請參閱 ASSL 物件和物件特性