MDSCHEMA_PROPERTIES行セット

PROPERTIES行セットには、次元の各レベルで使用可能なプロパティの情報が含まれています。ここでは各レベルにメンバー・クラスが定義されていることが前提となっています。このクラス内のすべてのメンバーのプロパティは同一です。名前の付いたレベルをサポートしていないデータ・ストアの場合は、ダミー・レベルに次元内のすべてのメンバーが含まれます。このレベルの名前は、次元の名前と同じです。

デフォルトのソート順序: PROPERTY_TYPE、CATALOG_NAME、SCHEMA_NAME、CUBE_NAME、DIMENSION_UNIQUE_NAME、HIERARCHY_UNIQUE_NAMEおよびLEVEL_UNIQUE_NAME。

GUID: MDSCHEMA_PROPERTIES

表39で、このrowset構造体について説明します。

表 39. MDSCHEMA_PROPERTIES rowset構造体

列名

Essbaseマッピング

CATALOG_NAME

アプリケーション名

CUBE_NAME

データベース名

HIERARCHY_UNIQUE_NAME

次元名

LEVEL_UNIQUE_NAME

次元名

PROPERTY_TYPE

1 (MDPROP_MEMBER)

PROPERTY_NAME

次のいずれかです:

  • 属性次元の場合は、次元名はプロパティ名と同じです

  • UDAの場合はUDA名

  • 別名の場合は別名

PROPERTY_CAPTION

次のいずれかです:

  • 属性次元の場合は属性次元名

  • UDAの場合はUDA名

  • 別名の場合は別名

DATA_TYPE

1 (倍精度) - 属性次元

2 (ブール値) - 属性次元

3 (文字列) - 属性次元、UDAまたは別名

4(整数) - 属性次元

CHARACTER_MAXIMUM_LENGTH

80 (UDAまたは属性次元の場合)

30 (別名の場合)

CHARACTER_OCTET_LENGTH

320 (UDAまたは属性次元の場合)

120 (別名の場合)

PROPERTY_CONTENT_TYPE

0 (MD_PROPTYPE_REGULAR)

SQL_COLUMN_NAME

次のいずれかです:

  • 属性次元の場合は属性次元名

  • UDAの場合はUDA名

  • 別名の場合は別名

PROPERTY_ORIGIN

1 (MD_USER_DEFINED)

PROPERTY_ATTRIBUTE_HIERARCHY_NAME

属性次元の場合は属性次元名

PROPERTY_CARDINALITY

ONE (UDAまたは別名の場合)

MANY (属性次元の場合)

PROPERTY_IS_VISIBLE

TRUE

要求の例

      <SOAP-ENV:Envelope
 xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
 xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance"
 xmlns:xsd="http://www.w3.org/2001/XMLSchema">
 <SOAP-ENV:Body>
  <Discover xmlns="urn:schemas-microsoft-com:xml-analysis"
   SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
    <RequestType>MDSCHEMA_PROPERTIES</RequestType>
    <Restrictions>
     <RestrictionList>
      <CATALOG_NAME>Sample</CATALOG_NAME>
      <CUBE_NAME>Basic</CUBE_NAME>
      <DIMENSION_UNIQUE_NAME>Product</DIMENSION_UNIQUE_NAME>
      <LEVEL_UNIQUE_NAME>SKU</LEVEL_UNIQUE_NAME>
     </RestrictionList>
    </Restrictions>
    <Properties>
     <PropertyList>
      <DataSourceInfo>
       Provider=Essbase;Data Source=localhost
      </DataSourceInfo>
      <Format>Tabular</Format>
     </PropertyList>
    </Properties>
   </Discover>
  </SOAP-ENV:Body>
</SOAP-ENV:Envelope>
   

応答の例(抜粋)

      <?xml version="1.0"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" 
 SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
  <SOAP-ENV:Body>
   <m:DiscoverResponse xmlns:m="urn:schemas-microsoft-com:xml-analysis">
    <m:return xsi:type="xsd:string" 
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xmlns:xsd="http://www.w3.org/2001/XMLSchema">
     <root xmlns="urn:schemas-microsoft-com:xml-analysis:rowset"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xmlns:xsd="http://www.w3.org/2001/XMLSchema">
      <xsd:schema xmlns="urn:schemas-microsoft-com:xml-analysis:rowset" 
       targetNamespace="urn:schemas-microsoft-com:xml-analysis:rowset" 
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:xsd="http://www.w3.org/2001/XMLSchema"
       xmlns:sql="urn:schemas-microsoft-com:xml-sql"
       elementFormDefault="qualified">
       <xsd:element name="root">
        <xsd:complexType>
         <xsd:sequence minOccurs="0" maxOccurs="unbounded">
          <xsd:element name="row" type="row"/>
         </xsd:sequence>
        </xsd:complexType>
       </xsd:element>
       <xsd:complexType name="row">
        <xsd:sequence maxOccurs="unbounded" minOccurs="0">
         <xsd:element name="CATALOG_NAME" type="xsd:string" 
          sql:field="CATALOG_NAME"/>
         <xsd:element name="CUBE_NAME" type="xsd:string" 
          sql:field="CUBE_NAME"/>
         <xsd:element name="DIMENSION_UNIQUE_NAME" type="xsd:string" 
          sql:field="DIMENSION_UNIQUE_NAME"/>
         <xsd:element name="HIERARCHY_UNIQUE_NAME" type="xsd:string" 
          sql:field="HIERARCHY_UNIQUE_NAME"/>
         <xsd:element name="LEVEL_UNIQUE_NAME" type="xsd:string" 
          sql:field="LEVEL_UNIQUE_NAME" minOccurs ="0"/>
         <xsd:element name="MEMBER_UNIQUE_NAME" type="xsd:string" 
          sql:field="MEMBER_UNIQUE_NAME" minOccurs ="0"/>
         <xsd:element name="PROPERTY_TYPE" type="xsd:short" 
          sql:field="PROPERTY_TYPE" minOccurs ="0"/>
         <xsd:element name="PROPERTY_NAME" type="xsd:string" 
          sql:field="PROPERTY_NAME" minOccurs ="0"/>
         <xsd:element name="PROPERTY_CAPTION" type="xsd:string" 
          sql:field="PROPERTY_CAPTION" minOccurs ="0"/>
         <xsd:element name="DATA_TYPE" type="xsd:unsignedShort" 
          sql:field="DATA_TYPE" minOccurs ="0"/>
         <xsd:element name="CHARACTER_MAXIMUM_LENGTH" 
          type="xsd:unsignedInt" 
          sql:field="CHARACTER_MAXIMUM_LENGTH" minOccurs ="0"/>
         <xsd:element name="CHARACTER_OCTET_LENGTH" type="xsd:unsignedInt" 
          sql:field="CHARACTER_OCTET_LENGTH" minOccurs ="0"/>
         <xsd:element name="NUMERIC_PRECISION" type="xsd:unsignedShort" 
          sql:field="NUMERIC_PRECISION" minOccurs ="0"/>
         <xsd:element name="NUMERIC_SCALE" type="xsd:short" 
          sql:field="NUMERIC_SCALE" minOccurs ="0"/>
         <xsd:element name="DESCRIPTION" type="xsd:string" 
          sql:field="DESCRIPTION" minOccurs ="0"/>
         <xsd:element name="PROPERTY_CONTENT_TYPE" type="xsd:short" 
          sql:field="PROPERTY_CONTENT_TYPE" minOccurs ="0"/>
         <xsd:element name="SQL_COLUMN_NAME" type="xsd:string" 
          sql:field="SQL_COLUMN_NAME" minOccurs ="0"/>
         <xsd:element name="LANGUAGE" type="xsd:unsignedShort" 
          sql:field="LANGUAGE" minOccurs ="0"/>
         <xsd:element name="PROPERTY_ORIGIN" type="xsd:unsignedShort" 
          sql:field="PROPERTY_ORIGIN" minOccurs ="0"/>
         <xsd:element name="PROPERTY_ATTRIBUTE_HIERARCHY_NAME" 
          type="xsd:string" 
          sql:field="PROPERTY_ATTRIBUTE_HIERARCHY_NAME" minOccurs ="0"/>
         <xsd:element name="PROPERTY_CARDINALITY" type="xsd:string" 
          sql:field="PROPERTY_CARDINALITY" minOccurs ="0"/>
         <xsd:element name="MIME_TYPE" type="xsd:string" 
          sql:field="MIME_TYPE" minOccurs ="0"/>
         <xsd:element name="PROPERTY_IS_VISIBLE" type="xsd:boolean" 
          sql:field="PROPERTY_IS_VISIBLE" minOccurs ="0"/>
        </xsd:sequence>
       </xsd:complexType>
      </xsd:schema>
      <row>
       <CATALOG_NAME>Sample</CATALOG_NAME>
       <CUBE_NAME>Sample.Basic</CUBE_NAME>
       <DIMENSION_UNIQUE_NAME>[Product]</DIMENSION_UNIQUE_NAME>
       <HIERARCHY_UNIQUE_NAME>[Product]</HIERARCHY_UNIQUE_NAME>
       <LEVEL_UNIQUE_NAME>[Product]</LEVEL_UNIQUE_NAME>
       <PROPERTY_TYPE>1</PROPERTY_TYPE>
       <PROPERTY_NAME>Caffeinated</PROPERTY_NAME>
       <PROPERTY_CAPTION>Caffeinated</PROPERTY_CAPTION>
       <DATA_TYPE>2</DATA_TYPE>
       <PROPERTY_CONTENT_TYPE>0</PROPERTY_CONTENT_TYPE>
       <SQL_COLUMN_NAME>Caffeinated</SQL_COLUMN_NAME>
       <PROPERTY_ORIGIN>1</PROPERTY_ORIGIN>
       <PROPERTY_ATTRIBUTE_HIERARCHY_NAME>Caffeinated
       </PROPERTY_ATTRIBUTE_HIERARCHY_NAME>
       <PROPERTY_CARDINALITY>MANY</PROPERTY_CARDINALITY>
       <PROPERTY_IS_VISIBLE>true</PROPERTY_IS_VISIBLE>
      </row>
      < ................More Rows............. >
     </root>
    </m:return>
   </m:DiscoverResponse>
  </SOAP-ENV:Body>
</SOAP-ENV:Envelope>