Bagikan melalui


Konvensi XML ASSL

Berlaku untuk: SQL Server Analysis Services Azure Analysis Services Fabric/Power BI Premium

Analysis Services Scripting Language (ASSL) mewakili hierarki objek sebagai sekumpulan jenis elemen, yang masing-masing mendefinisikan elemen anak yang dapat dikandungnya.

Untuk mewakili hierarki objek, ASSL menggunakan konvensi XML berikut:

  • Semua objek dan properti direpresentasikan sebagai elemen, kecuali untuk atribut XML standar seperti 'xml:lang'.

  • Nama elemen dan nilai enumerasi mengikuti konvensi penamaan Microsoft .NET Framework casing Pascal tanpa garis bawah.

  • Kasus semua nilai dipertahankan. Nilai untuk enumerasi juga peka huruf besar/kecil.

Selain daftar konvensi ini, Analysis Services juga mengikuti konvensi tertentu mengenai kardinalitas, pewarisan, spasi putih, jenis data, dan nilai default.

Kardinalitas

Ketika elemen memiliki kardinalitas yang lebih besar dari 1, ada koleksi elemen XML yang merangkum elemen ini. Nama koleksi menggunakan bentuk jamak dari elemen yang terkandung dalam koleksi. Misalnya, fragmen XML berikut mewakili koleksi Dimensi dalam elemen Database :

<Database>

...

<Dimensions>

<Dimension>

...

</Dimension>

<Dimension>

...

</Dimension>

</Dimensions>

</Database>

``

Urutan di mana elemen muncul tidak penting.

Warisan

Pewarisan digunakan ketika ada objek berbeda yang memiliki tumpang tindih tetapi secara signifikan berbeda set properti. Contoh objek yang tumpang tindih tetapi berbeda adalah kubus virtual, kubus tertaut, dan kubus reguler. Untuk objek yang tumpang tindih tetapi berbeda, Analysis Services menggunakan atribut jenis standar dari Namespace Instans XML untuk menunjukkan pewarisan. Misalnya, fragmen XML berikut menunjukkan bagaimana atribut jenis mengidentifikasi apakah elemen Kubus mewarisi dari kubus biasa atau dari kubus virtual:

<Cubes>

<Cube xsi:type="RegularCube">

<Name>Sales</Name>

...

</Cube>

<Cube xsi:type="VirtualCube">

<Name>SalesAndInventory</Name>

...

</Cube>

</Cubes>

``

Pewarisan umumnya tidak digunakan ketika beberapa jenis memiliki properti dengan nama yang sama. Misalnya, properti Nama dan ID muncul di banyak elemen, tetapi properti ini belum dipromosikan ke jenis abstrak.

Whitespace

Spasi kosong dalam nilai elemen dipertahankan. Namun, spasi kosong di depan dan di belakang selalu dipangkas. Misalnya, elemen berikut memiliki teks yang sama tetapi jumlah spasi kosong yang berbeda dalam teks tersebut, dan karenanya diperlakukan seolah-olah mereka memiliki nilai yang berbeda:

<Description>My text<Description>

<Description>My text<Description>

``

Namun, elemen-elemen berikut hanya bervariasi dalam spasi kosong di awal dan akhir, dan karenanya diperlakukan seolah-olah mereka memiliki nilai yang setara:

<Description>My text<Description>

<Description> My text <Description>

``

Jenis Data

Analysis Services menggunakan jenis data bahasa definisi XML (XSD) standar berikut:

Int
Nilai bilangan bulat dalam rentang -231 hingga 231 - 1.

Panjang
Nilai bilangan bulat dalam rentang -263 hingga 263 - 1.

String
Nilai string yang sesuai dengan aturan global berikut:

  • Karakter kontrol dilucuti.

  • Spasi putih di depan dan di belakang dipangkas.

  • Ruang putih internal dipertahankan.

Properti nama dan ID memiliki batasan khusus pada karakter yang valid dalam elemen string. Untuk informasi tambahan tentang konvensi Nama dan ID , lihat Objek ASSL dan Karakteristik Objek.

DateTime
Struktur DateTime dari .NET Framework. Nilai DateTime tidak boleh NULL. Tanggal terendah yang didukung oleh jenis data DataTime adalah 1 Januari 1601, yang tersedia untuk pemrogram sebagai DateTime.MinValue. Tanggal terendah yang didukung menunjukkan bahwa nilai DateTime hilang.

Boolean
Enumerasi dengan hanya dua nilai, seperti {true, false} atau {0, 1}.

Nilai Default

Analysis Services menggunakan default yang tercantum dalam tabel berikut.

Jenis data XML Nilai default
Boolean Salah
String "" (string kosong)
Bilangan Bulat atau Panjang 0 (zero)
Tanda waktu 12:00:00, 1/1/0001 (sesuai dengan .NET Frameworks System.DateTime dengan 0 tick)

Elemen yang ada tetapi kosong ditafsirkan memiliki nilai string null, bukan nilai default.

Default yang Diwariskan

Beberapa properti yang ditentukan pada objek menyediakan nilai default untuk properti yang sama pada objek turunan atau turunan. Misalnya, Cube.StorageMode menyediakan nilai default untuk Partition.StorageMode. Aturan yang diterapkan Analysis Services untuk nilai default yang diwariskan adalah sebagai berikut:

  • Ketika properti untuk objek anak null di XML, nilainya default ke nilai yang diwariskan. Namun, jika Anda mengkueri nilai dari server, server mengembalikan nilai null dari elemen XML.

  • Tidak dimungkinkan untuk menentukan secara terprogram apakah properti objek anak telah diatur langsung pada objek anak atau diwariskan.

Beberapa elemen telah menentukan default yang berlaku saat elemen hilang. Misalnya, elemen Dimensi dalam fragmen XML berikut setara meskipun satu elemen Dimensi berisi elemen Terlihat , tetapi elemen Dimensi lainnya tidak.

<Dimension>

<Name>Product</Name>

</Dimension>

<Dimension>

<Name>Product</ Name>

<Visible>true</Visible>

</Dimension>

Untuk informasi selengkapnya tentang default yang diwariskan, lihat Objek ASSL dan Karakteristik Objek.