SELECT (DMX)
資料採礦延伸模組 (DMX) 中的 SELECT 陳述式用於資料採礦的下列工作:
瀏覽現有採礦模型的內容
從現有的採礦模型建立預測
建立現有採礦模型的副本
瀏覽採礦結構
雖然這個陳述式的完整語法很複雜,不過用於瀏覽模型及其基礎結構的主要子句可以摘要說明如下:
SELECT [FLATTENED] [TOP <n>] <select list>
FROM <model/structure>[.aspect]
[WHERE <condition expression>]
[ORDER BY <expression>[DESC|ASC]]
FLATTENED
某些資料採礦用戶端不能接受資料採礦提供者所提供的階層式格式結果集。用戶端可能缺少處理階層的能力,或者可能必須將結果儲存在單一反正規化資料表中。若要將巢狀資料表中的資料轉換到扁平化資料表,必須要求查詢結果扁平化。
若要將查詢結果扁平化,請使用 SELECT 語法配合 FLATTENED 選項,如以下範例中所示:
SELECT FLATTENED <select list> FROM ...
TOP <n> 與 ORDER BY
您可以使用運算式來排序查詢的結果,然後可以使用 ORDER BY 與 TOP 子句的組合傳回結果的子集。這在您只想將結果傳送至最可能的回應者的目標郵寄等狀況中很有用。您可以依預測可能性來排序目標郵寄預測查詢的結果,然後只傳回前 <n> 個結果。
選取清單
<select list> 可以包含純量資料行參考、預測函數及運算式。可使用的選項是根據演算法及下列內容而定:
您是否查詢採礦結構或採礦模型
您是否查詢內容或案例
來源資料是否為關聯式資料表或 Cube
您是否進行預測
在許多案例中,您可以使用別名,或根據選取清單中的項目建立簡單運算式。例如,下列範例顯示模型資料行上的簡單運算式:
SELECT [CustomerID], [Last Name] + ', ' + [FirstName] AS FullName
FROM <model>.CASES
下列範例會針對包含預測函數結果的資料行建立別名:
SELECT Predict([Column1], 'Value') as Column1Prediction
FROM MyModel
JOIN <source data query>
WHERE
您可以使用 WHERE 子句限制查詢所傳回的案例。WHERE 子句指定 WHERE 運算式中的資料行參考必須與 SELECT 陳述式的 <select list> 中的資料行參考具有相同的語意,而且只能傳回布林運算式。WHERE 子句的語法如下
WHERE < condition expression >
SELECT 陳述式的選取清單與 WHERE 子句必須遵守下列規則:
選取清單必須包含不傳回布林結果的運算式。您可以修改運算式,但是運算式必須傳回非布林結果。
WHERE 子句必須包含傳回布林結果的運算式。您可以修改子句,但是子句必須傳回布林結果。
預測
您可以使用兩種類型的語法來建立預測:
第一種類型的預測可以讓您即時或批次建立複雜的預測。
第二種預測類型會在採礦模型裡的可預測資料行上建立空白的預測聯結,並傳回資料行的最可能狀態。這個查詢的結果完全以採礦模型的內容為準。
您可以使用以下語法,將 SELECT 陳述式插入 SELECT FROM PREDICTION JOIN 陳述式的來源查詢。
SELECT FROM PREDICTION JOIN (<SELECT statement>) AS t, WHERE <SELECT statement>
如需有關建立預測查詢的詳細資訊,請參閱<預測查詢 (DMX)>。
子句語法
由於使用 SELECT 陳述式瀏覽的複雜性,詳細的語法元素與引數會依子句說明。如需有關每個子句的詳細資訊,請按一下以下清單中的主題:
SELECT DISTINCT FROM <model > (DMX)
SELECT FROM <model>.CONTENT (DMX)
SELECT FROM <model>.CASES (DMX)
SELECT FROM <model>.SAMPLE_CASES (DMX)
SELECT FROM <model>.DIMENSION_CONTENT (DMX)