XML-Konventionen in ASSL

Gilt für: SQL Server Analysis Services Azure Analysis Services Fabric/Power BI Premium

Die Analysis Services Scripting Language (ASSL) stellt die Hierarchie von Objekten als Satz von Elementtypen dar, die jeweils die untergeordneten Elemente definieren, die sie enthalten können.

Für die Darstellung der Objekthierarchie verwendet ASSL folgende XML-Konventionen:

  • Alle Objekte und Eigenschaften werden als Elemente dargestellt, mit Ausnahme von XML-Standardattributen wie "xml:lang".

  • Sowohl Elementnamen als auch Enumerationswerte befolgen die Microsoft .NET Framework-Benennungskonvention der Schreibweise von Pascal ohne Unterstriche.

  • Die Groß-/Kleinschreibung aller Werte wird beibehalten. Bei Werten für Enumerationen wird ebenfalls die Groß-/Kleinschreibung unterschieden.

Zusätzlich zu dieser Konventionsliste werden in Analysis Services bestimmte Konventionen in Bezug auf Kardinalität, Vererbung, Leerzeichen, Datentypen und Standardwerte befolgt.

Kardinalität

Wenn ein Element eine Kardinalität besitzt, die größer als 1 ist, wird dieses Element von einer XML-Elementauflistung gekapselt. Der Name der Auflistung verwendet die Pluralform der in der Auflistung enthaltenen Elemente. Das folgenden XML-Fragment stellt beispielsweise die Dimensions -Auflistung innerhalb eines Database -Elements dar:

<Database>

...

<Dimensions>

<Dimension>

...

</Dimension>

<Dimension>

...

</Dimension>

</Dimensions>

</Database>

``

Die Reihenfolge der Elemente ist bedeutungslos.

Vererbung

Die Vererbung wird bei unterschiedlichen Objekten verwendet, die über überlappende, jedoch deutlich unterschiedliche Sätze von Eigenschaften verfügen. Beispiele für derartige überlappende, jedoch unterschiedliche Objekte sind virtuelle Cubes, verknüpfte Cubes und reguläre Cubes. Für überlappende, jedoch unterschiedliche Objekte wird in Analysis Services das type -Standardattribut aus dem XML-Instanzennamespace verwendet, um die Vererbung anzugeben. Das folgende XML-Fragment zeigt, wie das type -Attribut ermittelt, ob ein Cube -Element von einem regulären Cube oder von einem virtuellen Cube erbt:

<Cubes>

<Cube xsi:type="RegularCube">

<Name>Sales</Name>

...

</Cube>

<Cube xsi:type="VirtualCube">

<Name>SalesAndInventory</Name>

...

</Cube>

</Cubes>

``

Die Vererbung wird im Allgemeinen nicht verwendet, wenn mehrere Typen eine Eigenschaft mit dem gleichen Namen besitzen. Die Name - und die ID -Eigenschaft sind beispielsweise auf zahlreichen Elementen vorhanden, diese Eigenschaften wurden jedoch nicht zu einem abstrakten Typ heraufgestuft.

Leerraum

Leerzeichen innerhalb eines Elementwerts werden beibehalten. Führende und nachfolgende Leerzeichen werden jedoch immer entfernt. Die folgenden Elemente besitzen beispielsweise den gleichen Text, jedoch eine unterschiedliche Anzahl von Leerzeichen innerhalb dieses Texts, daher werden sie behandelt, als besäßen sie unterschiedliche Werte:

<Description>My text<Description>

<Description>My text<Description>

``

Die folgenden Elemente unterscheiden sich jedoch nur durch führende und nachfolgende Leerzeichen, daher werden sie behandelt, als besäßen sie die gleichen Werte.

<Description>My text<Description>

<Description> My text <Description>

``

Datentypen

In Analysis Services werden die folgenden XSD-Standarddatentypen (XML Schema Definition Language) verwendet:

Int
Ein ganzzahliger Wert im Bereich von -231 bis 231 bis 1.

Long
Ein ganzzahliger Wert im Bereich von -263 bis 263 bis 1.

String
Ein Zeichenfolgenwert, der den folgenden allgemeinen Regeln entspricht:

  • Steuerzeichen werden entfernt.

  • Führende und nachfolgende Leerzeichen werden entfernt.

  • Interne Leerzeichen werden beibehalten.

DieName - und die ID -Eigenschaft besitzen spezielle Beschränkungen für gültige Zeichen in Zeichenfolgenelementen. Weitere Informationen zu Namens - und ID-Konventionen finden Sie unter ASSL-Objekte und Objektmerkmale.

DateTime
Eine DateTime -Struktur aus dem .NET Framework. Ein DateTime -Wert darf nicht NULL sein. Das früheste von dem DataTime -Datentyp unterstützte Datum ist der 1. Januar 1601, das für Programmierer als DateTime.MinValuezur Verfügung steht. Das früheste unterstützte Datum gibt an, dass ein DateTime -Wert fehlt.

Boolescher Wert
Eine Enumeration mit nur zwei Werten wie {true, false} oder {0, 1}.

Standardwerte

Analysis Services verwendet die in der folgenden Tabelle aufgelisteten Standardwerte:

XML-Datentyp Standardwert
Boolescher Wert False
String "" (leere Zeichenfolge)
Integer oder Long 0 (Null)
Timestamp 12:00:00 AM, 1/1/0001 (entsprechend den .NET Frameworks- System.DateTime mit 0 Takten)

Eine Element, das vorhanden, jedoch leer ist, wird interpretiert, als hätte es den Wert einer NULL-Zeichenfolge, nicht den Standardwert.

Geerbte Standards

Einige auf einem Objekt angegebene Eigenschaften stellen Standardwerte für die gleiche Eigenschaft auf untergeordneten oder nachfolgenden Objekten bereit. Beispielsweise stellt Cube.StorageMode den Standardwert für Partition.StorageModebereit. Folgende Regeln werden von Analysis Services auf geerbte Standardwerte angewendet:

  • Wenn die Eigenschaft für das untergeordnete Objekt in XML NULL ist, nimmt ihr Wert standardmäßig den geerbten Wert an. Wenn Sie den Wert jedoch vom Server abfragen, gibt der Server den NULL-Wert des XML-Elements zurück.

  • Es ist nicht möglich, programmgesteuert festzustellen, ob die Eigenschaft eines untergeordneten Objekts direkt auf dem untergeordneten Objekt festgelegt oder geerbt wurde.

Einige Elemente besitzen definierte Standards, die gelten, wenn das Element fehlt. Beispielsweise entsprechen sich die Dimension -Elemente in den folgenden XML-Fragmenten, obwohl ein Dimension -Element ein Visible -Element enthält, das andere Dimension -Element jedoch nicht.

<Dimension>

<Name>Product</Name>

</Dimension>

<Dimension>

<Name>Product</ Name>

<Visible>true</Visible>

</Dimension>

Weitere Informationen zu geerbten Standardwerten finden Sie unter ASSL-Objekte und Objektmerkmale.