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 語句只適用于單一資料行或一組相關資料行。 這個子句不適用於一組不相關的資料行。
SELECT DISTINCT FROM 語句可讓您直接參考巢狀資料表內的資料行。 例如:
<model>.<table column reference>.<column reference>
SELECT DISTINCT FROM < 模型 > 語句的結果 會根據資料行類型而有所不同。 下表描述支援的資料行類型和 語句的輸出。
欄類型 | 輸出 |
---|---|
離散 | 資料行中的唯一值。 |
離散 | 資料行中每個離散化貯體的中間點。 |
連續 | 資料行中值的中間點。 |
離散資料行範例
下列程式碼範例是以 [TM Decision Tree]
您在基本資料採礦教學課程 中 建立的模型為基礎。 查詢會傳回存在於離散資料行中的唯一值。 Gender
SELECT DISTINCT [Gender]
FROM [TM Decision Tree]
範例結果:
性別 |
---|
F |
M |
對於包含離散值的資料行,結果一律包含遺漏狀態,顯示為 Null 值。
連續資料行範例
下列程式碼範例會傳回資料行中所有值的中間點、最小存留期和最長存留期。
SELECT DISTINCT [Age] AS [Midpoint Age],
RangeMin([Age]) AS [Minimum Age],
RangeMax([Age]) AS [Maximum Age]
FROM [TM Decision Tree]
範例結果:
中點年齡 | 最小年齡 | 最長使用期限 |
---|---|---|
62 | 26 | 97 |
此查詢也會傳回 Null 值的單一資料列,以表示遺漏的值。
離散化資料行範例
下列程式碼範例會針對資料行演算法所 [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]
範例結果:
貯體平均 | 貯體最小值 | 貯體最大值 |
---|---|---|
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]
已離散化為五個貯體,再加上額外的 Null 值列,以表示遺漏值。
結果中的小數位數取決於您用於查詢的用戶端。 在這裡,它們已四捨五入為兩個小數位數,既簡單又能反映 SQL Server Data Tools (SSDT) 中顯示的值。
例如,如果您使用決策樹檢視器流覽模型,然後按一下包含依收入分組客戶的節點,工具提示中會顯示下列節點屬性:
年齡 > =69 AND 年收入 < 39221.41
注意
最小貯體最小值和最大貯體最大值只是最高和最低的觀察值。 假設落在這個觀察到範圍以外的任何值都屬於最小和最大值區。
另請參閱
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應