SELECT FROM <model>.CONTENT (DMX)
指定されたデータ マイニング モデルのマイニング モデル スキーマ行セットを返します。
構文
SELECT [FLATTENED] [TOP <n>] <expression list> FROM <model>.CONTENT
[WHERE <condition expression>]
[ORDER BY <expression> [DESC|ASC]]
引数
n
省略可。返す行数を指定する整数値です。expression list
Content スキーマ行セットから派生する、列のコンマ区切りのリストです。model
モデル識別子です。condition expression
省略可。列のリストから返される値を制限する条件です。expression
省略可。スカラ値を返す式です。
説明
SELECT FROM <model>.CONTENT ステートメントは各アルゴリズムに指定するコンテンツを返します。たとえば、カスタム アプリケーション内のアソシエーション ルール モデルに関するすべてのルールの記述を使用する場合があります。その場合、SELECT FROM <model>.CONTENT ステートメントを使用して、モデルの NODE_RULE 列内の値を返すことができます。
次の表に、マイニング モデル コンテンツに含まれる列を示します。
注意 |
---|
アルゴリズムでは、コンテンツを適切に表すため、列の解釈が異なる場合があります。各アルゴリズムのマイニング モデル コンテンツの説明、および各種のモデルのマイニング モデル コンテンツを解釈およびクエリする方法のヒントについては、「マイニング モデル コンテンツ (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 関数を使用して、上記のクエリで返されたノードの直下の子を返します。
注意 |
---|
NODE_NAME の値は文字列なので、下位選択ステートメントを使用して、IsDescendant 関数の引数として NODE_ID を返すことはできません。 |
SELECT NODE_NAME, NODETYPE, NODE_CAPTION
FROM [TM Decision Tree].CONTENT
WHERE ISDESCENDANT('0')
期待される結果を次に示します。
モデルがデシジョン ツリー モデルであるため、モデルの親ノードの子孫には、1 つのマージナル統計ノード、予測可能な属性を表すノード、および入力属性と入力値を含む複数のノードが含まれています。詳細については、「デシジョン ツリー モデルのマイニング モデル コンテンツ (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.PROBABILITY |
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 |