Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Analysis Services Scripting Language (ASSL) rappresenta la gerarchia di oggetti come set di tipi di elemento, ognuno dei quali definisce gli elementi figlio che possono contenere.
Per rappresentare la gerarchia di oggetti, ASSL usa le convenzioni XML seguenti:
Tutti gli oggetti e le proprietà vengono rappresentati come elementi, ad eccezione degli attributi XML standard, ad esempio 'xml:lang'.
Sia i nomi degli elementi che i valori di enumerazione seguono la convenzione di denominazione di Microsoft .NET Framework con maiuscole e minuscole Pascal senza caratteri di sottolineatura.
La distinzione tra maiuscole e minuscole di tutti i valori viene mantenuta. Anche i valori per le enumerazioni fanno distinzione tra maiuscole e minuscole.
Oltre a questo elenco di convenzioni, Analysis Services segue anche alcune convenzioni relative alla cardinalità, all'ereditarietà, agli spazi vuoti, ai tipi di dati e ai valori predefiniti.
Cardinalità
Quando un elemento ha una cardinalità maggiore di 1, è presente una raccolta di elementi XML che incapsula questo elemento. Il nome della raccolta utilizza la forma plurale degli elementi contenuti nella raccolta. Ad esempio, il frammento XML seguente rappresenta la Dimensions raccolta all'interno di un Database elemento :
<Database>
...
<Dimensions>
<Dimension>
...
</Dimension>
<Dimension>
...
</Dimension>
</Dimensions>
</Database>
``
L'ordine in cui gli elementi vengono visualizzati non è importante.
Ereditarietà
L'ereditarietà viene utilizzata quando sono presenti oggetti distinti con sovrapposizione ma con set di proprietà significativamente diversi. Esempi di tali oggetti sovrapposti ma distinti sono cubi virtuali, cubi collegati e cubi normali. Per l'oggetto sovrapposto ma distinto, Analysis Services usa l'attributo standard type dello spazio dei nomi dell'istanza XML per indicare l'ereditarietà. Ad esempio, il frammento XML seguente mostra come l'attributo type identifica se un Cube elemento eredita da un normale cubo o da un cubo virtuale:
<Cubes>
<Cube xsi:type="RegularCube">
<Name>Sales</Name>
...
</Cube>
<Cube xsi:type="VirtualCube">
<Name>SalesAndInventory</Name>
...
</Cube>
</Cubes>
``
L'ereditarietà non viene in genere utilizzata quando più tipi hanno una proprietà con lo stesso nome. Ad esempio, le Name proprietà e ID vengono visualizzate in molti elementi, ma queste proprietà non sono state alzate di livello a un tipo astratto.
Spazi vuoti
Gli spazi vuoti all'interno di un valore di elemento sono mantenuti. Tuttavia, gli spazi vuoti iniziali e finali vengono sempre tagliati. Ad esempio, gli elementi seguenti hanno lo stesso testo, ma quantità diverse di spazi vuoti all'interno di tale testo e vengono quindi considerati come se abbiano valori diversi:
<Description>My text<Description>
<Description>My text<Description>
``
Tuttavia, gli elementi seguenti variano solo negli spazi vuoti iniziali e finali e vengono quindi considerati come se abbiano valori equivalenti:
<Description>My text<Description>
<Description> My text <Description>
``
Tipi di dati
Analysis Services usa i tipi di dati XSD (XML Schema Definition Language) standard seguenti:
Int
Valore intero compreso nell'intervallo tra -231 e 231 - 1.
Long
Valore intero compreso nell'intervallo compreso tra -263 e 263 - 1.
String
Valore stringa conforme alle regole globali seguenti:
I caratteri di controllo vengono rimossi.
Lo spazio vuoto iniziale e finale viene tagliato.
Gli spazi vuoti interni sono mantenuti.
Name le proprietà e ID presentano limitazioni speciali sui caratteri validi negli elementi stringa. Per altre informazioni su e convenzioni, vedere AsSL Objects and Object Characteristics.For additional information about Name and ID conventions, see ASSL Objects and Object Characteristics.
DateTime
Struttura DateTime di .NET Framework. Un DateTime valore non può essere NULL. La data più bassa supportata dal DataTime tipo di dati è il 1° gennaio 1601, disponibile per i programmatori come DateTime.MinValue. La data più bassa supportata indica che manca un DateTime valore.
Boolean
Enumerazione con solo due valori, ad esempio {true, false} o {0, 1}.
Valori predefiniti
Analysis Services usa le impostazioni predefinite elencate nella tabella seguente.
| Tipo di dati XML | Valore predefinito |
|---|---|
Boolean |
Falso |
String |
"" (stringa vuota) |
Integer o Long |
0 (zero) |
Timestamp |
12:00:00, 1/1/0001 (corrispondente a un .NET Framework System.DateTime con 0 tick) |
Un elemento presente ma vuoto viene interpretato come avere un valore di una stringa Null, non il valore predefinito.
Valori predefiniti ereditati
Alcune proprietà specificate in un oggetto forniscono valori predefiniti per la stessa proprietà per gli oggetti figlio o discendenti. Ad esempio, Cube.StorageMode fornisce il valore predefinito per Partition.StorageMode. Di seguito sono riportate le regole applicabili ad Analysis Services per i valori predefiniti ereditati:
Quando la proprietà per l'oggetto figlio è Null nel codice XML, il valore predefinito è il valore ereditato. Tuttavia, se si esegue una query sul valore dal server, il server restituisce il valore Null dell'elemento XML.
Non è possibile determinare a livello di programmazione se la proprietà di un oggetto figlio è stata impostata direttamente sull'oggetto figlio o ereditata.
Alcuni elementi hanno definito impostazioni predefinite che si applicano quando l'elemento non è presente. Ad esempio, gli Dimension elementi nel frammento XML seguente sono equivalenti anche se un Dimension elemento contiene un Visible elemento, ma l'altro Dimension elemento non lo è.
<Dimension>
<Name>Product</Name>
</Dimension>
<Dimension>
<Name>Product</ Name>
<Visible>true</Visible>
</Dimension>
Per altre informazioni sulle impostazioni predefinite ereditate, vedere AsSL Objects and Object Characteristics.For more information on inherited defaults, see ASSL Objects and Object Characteristics.