次の方法で共有


SELECT FROM <model>.CASES (DMX)

ドリルスルーをサポートし、モデルのトレーニングに使用されたケースを返します。 マイニング構造とマイニング モデルについてドリルスルーを有効にした場合、ユーザーが適切な権限を持っているときは、モデルに含まれていない構造列も返すことができます。

ドリルスルーがマイニング モデルで使用可能でない場合、このステートメントは失敗します。

注意

データ マイニング拡張機能 (DMX) では、ドリルスルーはモデルの作成時にのみ可能です。 SQL Server データ ツール (SSDT) を使用して既存のモデルにドリルスルーを追加することは可能ですが、ケースの表示またはクエリを実行する前にモデルを再処理する必要があります。

ドリルスルーを使用可能にする方法の詳細については、「CREATE MINING MODEL (DMX)」、「SELECT INTO (DMX)」、および「ALTER MINING STRUCTURE (DMX)」を参照してください。

構文

SELECT [FLATTENED] [TOP <n>] <expression list> FROM <model>.CASES
[WHERE <condition expression>][ORDER BY <expression> [DESC|ASC]]

引数

  • n
    省略可能です。 返す行数を指定する整数値です。

  • expression list
    式のコンマ区切りのリストです。 式には、列識別子、ユーザー定義関数、UDF、VBA 関数などを含めることができます。

    マイニング モデルに含まれていない構造列を含めるには、関数 StructureColumn('<structure column name>') を使用します。

  • model
    モデル識別子です。

  • condition expression
    列のリストから返される値を制限する条件です。

  • expression
    省略可。 スカラー値を返す式です。

説明

マイニング モデルとマイニング構造の両方についてドリルスルーを有効にした場合、そのモデルと構造に対するドリルスルー権限を持つロールのメンバー ユーザーが、マイニング モデルに含まれていないマイニング構造の列にアクセスできるようになります。 したがって、機密データまたは個人情報を保護するため、個人情報をマスクするデータ ソース ビューを構築し、マイニング構造に対する AllowDrillthrough 権限は必要な場合にのみ許可する必要があります。

Lag (DMX) 関数は、時系列モデルに使用して、各ケースと初期時間の間のタイム ラグを返したりフィルターすることができます。

WHERE 句に IsInNode (DMX) 関数を使用して、スキーマ行セットの NODE_UNIQUE_NAME 列によって指定されたノードに関連付けられたケースのみを返します。

使用例

次の例は、 AdventureWorksDW2012 データベースに基づいたマイニング構造である Targeted Mailing と、関連するマイニング モデルに基づいています。 詳細については、「基本的なデータ マイニング チュートリアル」を参照してください。

例 1 : モデル ケースと構造列にドリルスルーする

次の例は、Targeted Mailing モデルのテストに使用されたすべてのケースの列を返します。 モデルの基となるマイニング構造に、提示されたテスト データセットが含まれていない場合、このクエリはケースを返しません。 必要な列のみを返す式のリストを使用できます。

SELECT * FROM [TM Decision Tree].Cases
WHERE IsTestCase();

例 2 : 特定のノードのトレーニング ケースにドリルスルーする

次の例は、Cluster 2 のトレーニングに使用されたケースのみを返します。 Cluster 2 のノードの NODE_UNIQUE_NAME 列の値は '002' です。 また、この例ではマイニング モデルに含まれていなかった構造列 [Customer Key] を返し、その列の別名 CustomerID を指定します。 構造列の名前は文字列値として渡されるので、角かっこではなく引用符で囲む必要があります。

SELECT StructureColumn('Customer Key') AS CustomerID, * 
FROM [TM_Clustering].Cases
WHERE IsTrainingCase()
AND IsInNode('002')

構造列を返すには、マイニング モデルとマイニング構造の両方についてドリルスルー権限を有効にする必要があります。

注意

すべての種類のマイニング モデルでドリルスルーがサポートされるわけではありません。 ドリルスルーをサポートするモデルについては、「ドリルスルー クエリ (データ マイニング)」を参照してください。

関連項目

参照

SELECT (DMX)

データ マイニング拡張機能 (DMX) データ定義ステートメント

データ マイニング拡張機能 (DMX) データ操作ステートメント

データ マイニング拡張機能 (DMX) ステートメント リファレンス