Rowset データ型 (XMLA)
Discover メソッド呼び出しまたは Execute メソッド呼び出しから表形式データを返すルート要素を表す派生データ型を定義します。
名前空間 urn:schemas-microsoft-com:xml-analysis:rowset
構文
<root xmlns="urn:schemas-microsoft-com:xml-analysis:rowset">
<!-- The following elements extend Resultset -->
<!-- Optional schema elements -->
<row>...</row>
</root>
データ型の特性
特徴 | 説明 |
---|---|
基本データ型 | Resultset |
派生データ型 | なし |
データ型のリレーションシップ
リレーションシップ | 要素 |
---|---|
親要素 | なし |
子要素 | row |
派生要素 | root |
注釈
XML には、要素名および属性名として使用できない文字があります。 この名前付け制約に対処するために、XML for Analysis (XMLA) では、 の定義に従ってエンコードAnalysis Services。 XML 1.0 仕様に従って無効な XML 名文字を含む列名の場合、XMLA は対応する 16 進数の値を使用して、無効な Unicode 文字をエンコードします。 16 進数の値は _x HHHH_ としてエスケープされます。 HHHH は、文字の 4 桁の 16 進数 UCS-2 コードを最も大きなビットの最初の順序で表します。 たとえば、XMLA では "Order Details" という名前が Order_x0020_Details とエンコードされます。この場合、空白文字が対応する 16 進数コードに置換されています。
エンコードのために Extensible Stylesheet Language (XSL) 変換が難しくなる可能性があります。 実際のコード化されていない列名の簡単な検索をサポートするには、次の例に示すように、各列の XML 行セット スキーマに sql:fieldattribute を追加します。
<xsd:element name="Order_x0020_Details" type="string" sql:field="Order Details" />
注意
sql:field 属性は 名前空間内に存在"urn:schemas-microsoft-com:xml-sql"
します。
NULL 値の表現
行の中の列に NULL 値を指定する方法は、次の 2 つです。
列要素が欠落している場合、その列が NULL であることを暗黙に意味します。
列要素は、 属性を使用
xsi:nil='true'
して、null 値を持つ場合があります。
たとえば、Store_Name という 1 つの列が行に含まれ、その列の値が NULL であるとします。 Store_Name 列の値は、見つからない列要素として表される場合があります。または、 属性を使用して Store_Name 列の値を表 xsi:nil='true'
します。
<row>
<Store_name xsi:nil='true'/>
</row>
例
フラット データ用の XMLA 行セット
フラット データの場合、クエリに固有の列名は、スキーマ内で要素名として定義されます。 また、タグのペアによって <row>
各行がカプセル化されます。
次の例は、フラット データ用の XMLA 行セット フォーマットを示しています。
<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>
階層データ用の XMLA 行セット
行セットの中には、階層データ (入れ子になった行セット) を含むものもあります。 データ マイニング クエリによって返される行セットは階層データです。 階層データの場合、行の構造は変更されませんが、入れ子になったデータを含む要素サブタイプは、データ固有のスキーマによって定義されます。
次の例は、階層データ用の XMLA 行セット フォーマットを示しています。 この例では、入れ子になったデータを含む要素のサブタイプは '<>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>