SELECT DISTINCT FROM <model > (DMX)
適用: SQL Server Analysis Services
モデル内の選択された列に対して可能なすべての状態を返します。 返される値は、指定された列に不連続値、分離された数値、または連続する数値が含まれているかどうかによって異なります。
構文
SELECT [FLATTENED] DISTINCT [TOP <n>] <expression list> FROM <model>
[WHERE <condition list>][ORDER BY <expression>]
引数
n
省略可能。 返す行数を指定する整数。
式リスト
関連する列識別子 (モデルから派生) または式のコンマ区切りのリスト。
model
モデル識別子。
条件リスト
列リストから返される値を制限する条件。
式 (expression)
省略可能。 スカラー値を返す式。
注釈
SELECT DISTINCT FROM ステートメントは、1 つの列または関連する列のセットでのみ機能します。 この句は、関連しない列のセットでは動作しません。
SELECT DISTINCT FROM ステートメントを使用すると、入れ子になったテーブル内の列を直接参照できます。 次に例を示します。
<model>.<table column reference>.<column reference>
SELECT DISTINCT FROM <モデル> ステートメントの結果は、列の種類によって異なります。 次の表は、サポートされている列の型およびステートメントからの出力について示しています。
列の型 | 出力 |
---|---|
離散 | 列の一意の値。 |
Discretized | 列内の分離された各バケットの中間点。 |
継続的 | 列の値の中間点。 |
不連続列の例
次のコード サンプルは、基本的なデータ マイニング チュートリアルで作成したモデルに基づいています[TM Decision Tree]
。 クエリは、不連続列 に存在する一意の値 を返します Gender
。
SELECT DISTINCT [Gender]
FROM [TM Decision Tree]
結果の例:
性別 |
---|
F |
M |
不連続値を含む列の場合、結果には常に Null 値として表示される Missing 状態が含まれます。
連続列の例
次のコード サンプルは、列内のすべての値の中間点、最小経過時間、最大経過時間を返します。
SELECT DISTINCT [Age] AS [Midpoint Age],
RangeMin([Age]) AS [Minimum Age],
RangeMax([Age]) AS [Maximum Age]
FROM [TM Decision Tree]
結果の例:
Midpoint Age | Minimum Age | 最大有効期間 |
---|---|---|
62 | 26 | 97 |
また、欠落値を表すために、クエリは null 値の 1 行を返します。
離散化列の例
次のコード サンプルは、 列 のアルゴリズムによって作成された各バケットの中間値、最大値、 [Yearly Income]
最小値を返します。 この例の結果を再現するには、 と同じ [Targeted Mailing]
新しいマイニング構造を作成する必要があります。 ウィザードで、列のコンテンツ タイプを [連続] Yearly Income
から [分離] に変更します。
注意
また、基本的なマイニング チュートリアルで作成したマイニング モデルを変更して、 [Yearly Income]
マイニング構造列 を分離することもできます。 これを行う方法については、「 マイニング モデルの列の分離を変更する」を参照してください。 ただし、列の分離を変更した場合は、マイニング構造が強制的に再処理され、その構造を使用して作成した他のモデルの結果が変更されます。
SELECT DISTINCT [Yearly Income] AS [Bucket Average],
RangeMin([Yearly Income]) AS [Bucket Minimum],
RangeMax([Yearly Income]) AS [Bucket Maximum]
FROM [TM Decision Tree]
結果の例:
バケットの平均 | Bucket Minimum | Bucket Maximum |
---|---|---|
24610.7 | 10000 | 39221.41 |
55115.73 | 39221.41 | 71010.05 |
84821.54 | 71010.05 | 98633.04 |
111633.9 | 98633.04 | 124634.7 |
147317.4 | 124634.7 | 170000 |
列の値が、欠損値を [Yearly Income]
表すために、5 つのバケットに加えて null 値の追加行に分離されていることがわかります。
結果の小数点以下表示桁数は、クエリに使用するクライアントによって異なります。 ここでは、わかりやすくするためと、SQL Server Data Tools (SSDT) に表示される値を反映するために、小数点以下 2 桁に丸められています。
たとえば、デシジョン ツリー ビューアーを使用してモデルを参照し、収入ごとにグループ化された顧客を含むノードをクリックすると、次のノードのプロパティがツールヒントに表示されます。
年齢 >=69 年収入 < 39221.41
注意
最小バケットの最小値および最大バケットの最大値は、計測された値のうちの最大値と最小値になります。 この観測範囲を超える値は、最小バケットと最大バケットに属するものと見なされます。
参照
SELECT (DMX)
データ マイニング拡張機能 (DMX) データ操作ステートメント
データ マイニング拡張機能 (DMX) ステートメント リファレンス
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示