Typ zestawu wierszy danych (XMLA)
Definiuje typ danych pochodnych, który reprezentuje głównego element, która zwraca dane tabelaryczne z Discover lub Wykonywanie wywołanie metoda.
Obszar nazw urn: schemas-microsoft-com: XML-analizy: zestawu zestaw wierszy.
Składnia
<root xmlns="urn:schemas-microsoft-com:xml-analysis:rowset">
<!-- The following elements extend Resultset -->
<!-- Optional schema elements -->
<row>...</row>
</root>
Właściwości typu danych
Charakterystyka |
Opis |
---|---|
Typy danych podstawowych |
|
Typy pochodne danych |
Brak |
Relacje typów danych
Uwagi
XML nie zezwala na pewne znaki jako nazwy elementów i atrybut.To address this naming constraint, XML for Analysis (XMLA) supports encoding as defined by Microsoft SQL Server.Dla kolumna , których nazwy zawierają XML nazwę znaki, które nie są prawidłowe, zgodnie ze specyfikacją XML 1.0, XMLA używa odpowiadające im wartości szesnastkowe do kodowania znaków Unicode, które są nieprawidłowe.Wartości szesnastkowe są wyjściowym jako xHHHH, gdzie HHHH oznacza czterocyfrowy UCS-2 kodu szesnastkowego znaku w najbardziej znaczący bit pierwszego zamówienia.Na przykład XMLA koduje nazwę "Opisy zamówień", jak Order_x0020_Details zastępując odpowiedniego kodu szesnastkowego znaku spacji.
Kodowanie może utrudnić przekształcenia Extensible Style Language (XSL).Do obsługi szybkiego wyszukiwania rzeczywistych, unencoded nazwy kolumn, Dodaj sql:field atrybut schematu XML zestawu zestaw wierszy dla każdej kolumna, jak pokazano w następującym przykładzie:
<xsd:element name="Order_x0020_Details" type="string" sql:field="Order Details" />
Ostrzeżenie
sql:field Atrybut jest w "urn:schemas-microsoft-com:xml-sql" obszaru nazw.
Wyrażanie wartość Null
Express wartość null kolumna w wierszu na dwa sposoby:
Brak elementu kolumny oznacza, że kolumna jest null.
Element kolumna mogą używać xsi:nil='true' atrybut, aby wskazać, że ma wartość null.
Na przykład wiersz ma jedną kolumna o nazwie Store_Name, i wartość kolumna jest NULL.Wartości kolumna Store_Name może być reprezentowana jako Brak elementu kolumna:
<row>
</row>
Lub wartości kolumna Store_Name można przedstawić za pomocą xsi:nil='true' atrybut:
<row>
<Store_name xsi:nil='true'/>
</row>
Przykład
XMLA wierszy danych płaski
Płaski danych kolumna nazwy, które są specyficzne dla kwerendy są zdefiniowane w schemacie jako nazwy elementu.Ponadto para <row> tagi hermetyzuje każdego wiersza.
Poniższy przykład przedstawia format XMLA zestaw wierszy danych płaski.
<return>
<root xmlns="urn:schemas-microsoft-com:xml-analysis:rowset">
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:sql="urn:schemas-microsoft-com:xml-sql">
</xsd:element>
<xsd:complexType name="row">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="CATALOG_NAME" type="xsd:string" sql:field="CATALOG_NAME"></xsd:element>
<xsd:element name="DESCRIPTION" type="xsd:string" sql:field="DESCRIPTION"></xsd:element>
<xsd:element name="ROLES" type="xsd:string" sql:field="ROLES"></xsd:element>
<xsd:element name="DATE_MODIFIED" type="xsd:time" sql:field="DATE_MODIFIED"></xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:schema>
<row>
<CATALOG_NAME>FoodMart 2000</CATALOG_NAME>
<DESCRIPTION></DESCRIPTION>
<ROLES>All Users</ROLES>
<DATE_MODIFIED>3/11/2001 6:49:36 PM</DATE_MODIFIED>
</row>
...
</root>
Zestaw wierszy XMLA hierarchicznej danych
Niektóre zestawy wierszy zawiera hierarchicznych danych (lub zagnieżdżonych zestawów wierszy).Zestawów wierszy zwracanych przez kwerendy wyszukiwanie danych są hierarchiczne.Hierarchiczne danych struktury wierszy nie ulega zmianie, ale schemat specyficznych danych definiuje podtypu elementu, zawierający dane zagnieżdżonych.
Poniższy przykład przedstawia format zestaw wierszy XMLA hierarchicznej danych.W tym przykładzie jest podtypem elementu zawierającego zagnieżdżony dane <NODE_DISTRIBUTION>.
<?xml version="1.0" encoding="UTF-8"?>
<root xmlns="urn:schemas-microsoft-com:xml-analysis:rowset">
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:sql="urn:schemas-microsoft-com:xml-sql">
<xsd:complexType name="row">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:sequence maxOccurs="unbounded" minOccurs="0">
<xsd:element name="NODE_DISTRIBUTION" sql:field="NODE_DISTRIBUTION">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="ATTRIBUTE_NAME" type="xsd:string" sql:field="ATTRIBUTE_NAME"></xsd:element>
<xsd:element name="ATTRIBUTE_VALUE" type="xsd:string" sql:field="ATTRIBUTE_VALUE"></xsd:element>
<xsd:element name="SUPPORT" type="xsd:double" sql:field="SUPPORT"></xsd:element>
<xsd:element name="PROBABILITY" type="xsd:double" sql:field="PROBABILITY"></xsd:element>
<xsd:element name="VARIANCE" type="xsd:double" sql:field="VARIANCE"></xsd:element>
<xsd:element name="VALUETYPE" type="xsd:int" sql:field="VALUETYPE"></xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
<xsd:element name="MODEL_CATALOG" type="xsd:string" sql:field="MODEL_CATALOG"></xsd:element>
<xsd:element name="MODEL_SCHEMA" type="xsd:string" sql:field="MODEL_SCHEMA"></xsd:element>
<xsd:element name="MODEL_NAME" type="xsd:string" sql:field="MODEL_NAME"></xsd:element>
<xsd:element name="ATTRIBUTE_NAME" type="xsd:string" sql:field="ATTRIBUTE_NAME"></xsd:element>
<xsd:element name="NODE_NAME" type="xsd:string" sql:field="NODE_NAME"></xsd:element>
<xsd:element name="NODE_UNIQUE_NAME" type="xsd:string" sql:field="NODE_UNIQUE_NAME"></xsd:element>
<xsd:element name="NODE_TYPE" type="xsd:unsignedInt" sql:field="NODE_TYPE"></xsd:element>
<xsd:element name="NODE_GUID" type="xsd:string" sql:field="NODE_GUID"></xsd:element>
<xsd:element name="NODE_CAPTION" type="xsd:string" sql:field="NODE_CAPTION"></xsd:element>
<xsd:element name="CHILDREN_CARDINALITY" type="xsd:unsignedInt" sql:field="CHILDREN_CARDINALITY"></xsd:element>
<xsd:element name="PARENT_UNIQUE_NAME" type="xsd:string" sql:field="PARENT_UNIQUE_NAME"></xsd:element>
<xsd:element name="NODE_DESCRIPTION" type="xsd:string" sql:field="NODE_DESCRIPTION"></xsd:element>
<xsd:element name="NODE_RULE" type="xsd:string" sql:field="NODE_RULE"></xsd:element>
<xsd:element name="MARGINAL_RULE" type="xsd:string" sql:field="MARGINAL_RULE"></xsd:element>
<xsd:element name="NODE_PROBABILITY" type="xsd:double" sql:field="NODE_PROBABILITY"></xsd:element>
<xsd:element name="MARGINAL_PROBABILITY" type="xsd:double" sql:field="MARGINAL_PROBABILITY"></xsd:element>
<xsd:element name="NODE_SUPPORT" sql:type="xsd:double" sql:field="NODE_SUPPORT"></xsd:element>
<xsd:element name="MSOLAP_MODEL_COLUMN" sql:type="xsd:string" sql:field="MSOLAP_MODEL_COLUMN"></xsd:element>
<xsd:element name="MSOLAP_NODE_SCORE" sql:type="xsd:double" sql:field="MSOLAP_NODE_SCORE"></xsd:element>
<xsd:element name="MSOLAP_NODE_SHORT_CAPTION" sql:type="xsd:string" sql:field="MSOLAP_NODE_SHORT_CAPTION"></xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:schema>
<row>
<MODEL_CATALOG>FoodMart 2000</MODEL_CATALOG>
<MODEL_NAME>customer pattern discovery</MODEL_NAME>
<ATTRIBUTE_NAME>Customers.Name.Member Card</ATTRIBUTE_NAME>
<NODE_NAME>2147483652</NODE_NAME>
<NODE_UNIQUE_NAME>2147483652</NODE_UNIQUE_NAME>
<NODE_TYPE>2</NODE_TYPE>
<NODE_CAPTION>All</NODE_CAPTION>
<CHILDREN_CARDINALITY>8</CHILDREN_CARDINALITY>
<PARENT_UNIQUE_NAME>0</PARENT_UNIQUE_NAME>
<NODE_DESCRIPTION>All</NODE_DESCRIPTION>
<NODE_RULE></NODE_RULE>
<MARGINAL_RULE></MARGINAL_RULE>
<NODE_PROBABILITY>1</NODE_PROBABILITY>
<MARGINAL_PROBABILITY>1</MARGINAL_PROBABILITY>
<NODE_DISTRIBUTION>
<ATTRIBUTE_NAME>Customers.Name.Member Card</ATTRIBUTE_NAME>
<ATTRIBUTE_VALUE>missing</ATTRIBUTE_VALUE>
<SUPPORT>0</SUPPORT>
<PROBABILITY>0</PROBABILITY>
<VARIANCE>0</VARIANCE>
<VALUETYPE>1</VALUETYPE></NODE_DISTRIBUTION>
<NODE_DISTRIBUTION>
<ATTRIBUTE_NAME>Customers.Name.Member Card</ATTRIBUTE_NAME>
<ATTRIBUTE_VALUE>Bronze</ATTRIBUTE_VALUE>
<SUPPORT>3077</SUPPORT>
<PROBABILITY>0.551334886221107</PROBABILITY>
<VARIANCE>0</VARIANCE>
<VALUETYPE>4</VALUETYPE></NODE_DISTRIBUTION>
<NODE_DISTRIBUTION>
<ATTRIBUTE_NAME>Customers.Name.Member Card</ATTRIBUTE_NAME>
<ATTRIBUTE_VALUE>Golden</ATTRIBUTE_VALUE>
<SUPPORT>659</SUPPORT>
<PROBABILITY>0.118079197276474</PROBABILITY>
<VARIANCE>0</VARIANCE>
<VALUETYPE>4</VALUETYPE></NODE_DISTRIBUTION>
<NODE_DISTRIBUTION>
<ATTRIBUTE_NAME>Customers.Name.Member Card</ATTRIBUTE_NAME>
<ATTRIBUTE_VALUE>Normal</ATTRIBUTE_VALUE>
<SUPPORT>1332</SUPPORT>
<PROBABILITY>0.238666905572478</PROBABILITY>
<VARIANCE>0</VARIANCE>
<VALUETYPE>4</VALUETYPE></NODE_DISTRIBUTION>
<NODE_DISTRIBUTION>
<ATTRIBUTE_NAME>Customers.Name.Member Card</ATTRIBUTE_NAME>
<ATTRIBUTE_VALUE>Silver</ATTRIBUTE_VALUE>
<SUPPORT>513</SUPPORT>
<PROBABILITY>9.19190109299409E-02</PROBABILITY>
<VARIANCE>0</VARIANCE>
<VALUETYPE>4</VALUETYPE></NODE_DISTRIBUTION>
<NODE_SUPPORT>5581</NODE_SUPPORT>
<MSOLAP_MODEL_COLUMN>Customers.Name.Member Card</MSOLAP_MODEL_COLUMN>
<MSOLAP_NODE_SCORE>1948.401692055</MSOLAP_NODE_SCORE>
<MSOLAP_NODE_SHORT_CAPTION>All</MSOLAP_NODE_SHORT_CAPTION>
</row>
</root>