SELECT FROM <model>。CONTENT (DMX)
適用対象: SQL Server Analysis Services
指定したデータ マイニング モデルのマイニング モデル スキーマ行セットを返します。
構文
SELECT [FLATTENED] [TOP <n>] <expression list> FROM <model>.CONTENT
[WHERE <condition expression>]
[ORDER BY <expression> [DESC|ASC]]
引数
n
省略可能。 返す行数を指定する整数値です。
式リスト
コンテンツ スキーマ行セットから派生した列のコンマ区切りのリスト。
model
モデル識別子。
condition 式
省略可能。 列リストから返される値を制限する条件。
式 (expression)
省略可能。 スカラー値を返す式。
解説
SELECT FROM <model>。CONTENT ステートメントは、各アルゴリズムに固有のコンテンツを返します。 たとえば、カスタム アプリケーションで関連付けルール モデルのすべてのルールの説明を使用できます。 SELECT FROM <model>を使用できます。CONTENT モデルのNODE_RULE列の値を返すステートメント。
次の表に、マイニング モデルのコンテンツに含まれる列を示します。
Note
アルゴリズムは、コンテンツを正しく表すために列を異なる方法で解釈する場合があります。 各アルゴリズムのマイニング モデル コンテンツの説明と、各モデルの種類のマイニング モデル コンテンツを解釈およびクエリする方法に関するヒントについては、「 モデル コンテンツのマイニング (Analysis Services - データ マイニング)」を参照してください。
CONTENT 行セット列 | 説明 |
---|---|
MODEL_CATALOG | カタログ名です。 プロバイダーがカタログをサポートしない場合は NULL です。 |
MODEL_SCHEMA | 修飾されていないスキーマ名。 プロバイダーがスキーマをサポートしない場合は NULL です。 |
MODEL_NAME | モデル名。 この列に NULL を含むことはできません。 |
ATTRIBUTE_NAME | ノードに対応する属性の名前です。 |
NODE_NAME | ノード名。 |
NODE_UNIQUE_NAME | モデル内のノードの一意の名前。 |
NODE_TYPE | ノードの種類を表す整数です。 . |
NODE_GUID | ノード GUID。 GUID がない場合は NULL。 |
NODE_CAPTION | ノードに関連付けられているラベルまはたキャプションです。 主に表示目的で使用されます。 キャプションが存在しない場合は、NODE_NAMEが返されます。 |
CHILDREN_CARDINALITY | ノードが持つ子の数です。 |
PARENT_UNIQUE_NAME | ノードの親の一意な名前です。 |
NODE_DESCRIPTION | ノードの説明です。 |
NODE_RULE | ノードに埋め込まれた規則を表す XML フラグメント。 XML 文字列の形式は、PMML 標準に基づいています。 |
MARGINAL_RULE | 親からノードへのパスを記述する XML フラグメント。 |
NODE_PROBABILITY | パスの末尾がノードになる確率です。 |
MARGINAL_PROBABILITY | 親ノードからノードに到達する確率です。 |
NODE_DISTRIBUTION | ノード内の値の分布を表す統計を含むテーブル。 |
NODE_SUPPORT | このノードをサポートしているケースの数。 |
例
次のコードは、Targeted Mailing マイニング構造に追加されたデシジョン ツリー モデルの親ノードの ID を返します。
SELECT MODEL_NAME, NODE_NAME FROM [TM Decision Tree].CONTENT
WHERE NODE_TYPE = 1
期待される結果:
MODEL_NAME | NODE_NAME |
---|---|
TM_DecisionTree | 0 |
次のクエリでは、 IsDescendant 関数を使用して、前のクエリで返されたノードの直下の子を返します。
Note
NODE_NAMEの値は文字列であるため、sub-select ステートメントを使用して、 IsDescendant 関数の引数としてNODE_IDを返すことはできません。
SELECT NODE_NAME, NODETYPE, NODE_CAPTION
FROM [TM Decision Tree].CONTENT
WHERE ISDESCENDANT('0')
期待される結果:
モデルはデシジョン ツリー モデルであるため、モデル親ノードの子孫には、単一の限界統計ノード、予測可能な属性を表すノード、および入力属性と値を含む複数のノードが含まれます。 詳細については、「 デシジョン ツリー モデルのモデル コンテンツの作成 (Analysis Services - データ マイニング)」を参照してください。
FLATTENED キーワードの使用
多くの場合、マイニング モデル コンテンツには、入れ子になったテーブル列のモデルに関する有用な情報が含まれています。 FLATTENED キーワードを使用すると、階層行セットをサポートするプロバイダーを使用せずに、入れ子になったテーブル列からデータを取得できます。
次のクエリでは、Naive Bayes モデルからマージナル統計ノード (NODE_TYPE = 26) という 1 つのノードが返されます。 ただし、このノードには、NODE_DISTRIBUTION列に入れ子になったテーブルが含まれています。 その結果、入れ子になったテーブル列がフラット化され、入れ子になったテーブルの行ごとに 1 つの行が返されます。 スカラー列 MODEL_NAME の値は、入れ子になったテーブルの各行に繰り返し表示されます。
また、入れ子になったテーブル列の名前のみを指定すると、入れ子になったテーブルの各列に対して新しい列が返されることに注意してください。 既定では、入れ子になったテーブルの名前が、入れ子になったテーブル列それぞれの名前の先頭に含まれます。
SELECT FLATTENED MODEL_NAME, NODE_DISTRIBUTION
FROM [TM_NaiveBayes].CONTENT
WHERE NODE_TYPE = 26
結果の例:
MODEL_NAME | NODE_DISTRIBUTION.ATTRIBUTE_NAME | NODE_DISTRIBUTION。ATTRIBUTE_VALUE | NODE_DISTRIBUTION.SUPPORT | NODE_DISTRIBUTION。確率 | NODE_DISTRIBUTION.VARIANCE | NODE_DISTRIBUTION.VALUETYPE |
---|---|---|---|---|---|---|
TM_NaiveBayes | Bike Buyer | Missing | 0 | 0 | 0 | 1 |
TM_NaiveBayes | Bike Buyer | 0 | 6556 | 0.506685215240745 | 0 | |
TM_NaiveBayes | Bike Buyer | 1 | 6383 | 0.493314784759255 | 0 |
次の例は、下位選択ステートメントを使用して、入れ子になったテーブルから一部の列のみを返す方法を示しています。 次に示すように、入れ子になったテーブルのテーブル名の別名を付けることで、表示を簡略化できます。
SELECT MODEL_NAME,
(SELECT ATTRIBUTE_NAME, ATTRIBUTE_VALUE, [SUPPORT] AS t
FROM NODE_DISTRIBUTION)
FROM TM_NaiveBayes.CONTENT
WHERE NODE_TYPE = 26
結果の例:
MODEL_NAME | T.ATTRIBUTE_NAME | t.ATTRIBUTE_VALUE | t.SUPPORT |
---|---|---|---|
TM_NaiveBayes | Bike Buyer | Missing | 0 |
TM_NaiveBayes | Bike Buyer | 0 | 6556 |
TM_NaiveBayes | Bike Buyer | 1 | 6383 |
参照
SELECT (DMX)
データ マイニング拡張機能 (DMX) データ操作ステートメント
データ マイニング拡張機能 (DMX) ステートメント リファレンス