DISCOVER_CSDL_METADATA 行セット
概念スキーマ定義言語 (CSDL) のモデルの定義を含む表形式のデータ モデルの情報を返します。 CSDL は Entity Data Framework によって使用される XML スキーマであり、Analysis Services サーバーと Power View クライアントの間の通信に使用されます。 テーブル データ モデルの詳細については、「テーブル モデルの CSDL 拡張機能の概要」を参照してください。
返される行セットは、コマンドのセキュリティ コンテキストの影響を受けます。 サーバーから CSDL 定義を取得するには、Analysis Services インスタンスの読み取り権限が必要です。
行セット要求を発行するクライアントの言語識別子はコマンドの接続文字列に組み込まれており、行セットの一部として返される各種プロパティの表示言語に影響を及ぼします。 言語識別子の影響を受ける可能性のあるプロパティとその説明については、「解説」を参照してください。
適用対象: テーブル モデル
行セットの列
DISCOVER_CSDL_METADATA 行セットには、次の列が含まれています。
列名 |
型を表すインジケーター |
制限 |
説明 |
---|---|---|---|
CATALOG_NAME |
DBTYPE_WSTR |
Yes |
CSDL 記述の要求対象となるデータベースの名前を指定します。 省略した場合は、現在のデータベースが使用されます。 DISCOVER_CSDL_METADATA 行セットはこの列を使用して制限する必要があります。 |
PERSPECTIVE_NAME |
DBTYPE_WSTR |
Yes |
CATALOG_NAME によって指定されたモデルに定義されているパースペクティブの名前を指定します。 DISCOVER_CSDL_METADATA 行セットは、この列を使用して制限することもできます。 この制限は、複数のキューブやパースペクティブを含んでいる多次元データベースに対する CSDL クエリで必要になります。 この機能は SQL Server 2012 SP1 で導入されました。 |
METADATA |
DBTYPE_WSTR |
データ ソースとそのプロパティの XML 定義を CSDL スキーマに従って保持する文字列です。 |
解説
DISCOVER_CSDL_METADATA には、次の要件があります。
CATALOG_NAME の制限を使用してデータベースが指定されていないと、DISCOVER 要求は失敗します。
制限としてパースペクティブが指定された場合、モデルの場合と同じ CSDL 行セットが返されます。 ただし、モデルには含まれているが指定されたパースペクティブには含まれていないオブジェクトはすべて Hidden = True としてマークされます。
テーブルおよび列に関して、DISCOVER 要求は、常にキューブ ディメンションからの値を出力します。 キューブ ディメンションのプロパティが設定されていない場合は、ディメンションからの値が返されます。
DISCOVER 要求は、セマンティック エラーを含んだメジャーまたは計算列を返すことができません。
DISCOVER 要求は、プロパティ値を持たないオブジェクトの情報は一切返しません。 また、既定値が使用された属性の値も、DISCOVER 要求からは返されません。
行セットとして返された XML 文字列には、次の言語固有のプロパティまたは値が含まれていることがあります。 たとえば、LCID が 0403 (Catalan Spanish) であるクライアントから行セット要求を発行した場合、プロパティからは、Catalan Spanish に応じた適切な値が返されます。 サーバー上に翻訳が存在しない場合は、サーバーの既定の言語の文字列が返されます。
Caption
Qualifier
SortDirection
IsRightToLeft
使用例
次の XMLA クエリは、データベース (Model) の CSDL 表現を現在の接続で返します。
<Discover xmlns="urn:schemas-microsoft-com:xml-analysis">
<RequestType>DISCOVER_CSDL_METADATA</RequestType>
<Restrictions>
<RestrictionList>
<CATALOG_NAME>Model</CATALOG_NAME>
</RestrictionList>
</Restrictions>
<Properties>
<PropertyList>
<FORMAT>Tabular</FORMAT>
</PropertyList>
</Properties>
</Discover>
ADOMD.NET を使用した行セットのリターン
ADOMD.NET とスキーマ行セットを使用してメタデータを取得する場合、GetSchemaDataSet メソッドで GUID または文字列を使用してスキーマ行セット オブジェクトを参照できます。 詳細については、「ADOMD.NET でのスキーマ行セットの操作」を参照してください。
次の表に、この行セットを識別する GUID と文字列の値を示します。
引数 |
値 |
---|---|
GUID |
87B86062-21C3-460F-B4F8-5BE98394F13B |
ADOMDNAME |
Csdl |