SELECT FROM <model>。CASES (DMX)
適用於:SQL Server Analysis Services
支持鑽研,並傳回用來定型模型的案例。 如果您已在採礦結構和採礦模型上啟用鑽研,而且您擁有適當的許可權,您也可以傳回未包含在模型中的結構數據行。
如果未在採礦模型上啟用鑽研,此語句將會失敗。
注意
在數據採礦延伸模組 (DMX) 中,您只能在建立模型時啟用鑽研。 您可以使用 SQL Server Data Tools (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
選擇性。 整數,指定要傳回的數據列數目。
表達式清單
以逗號分隔的表達式清單。 表達式可以包含數據行標識碼、用戶定義函數、UDF 和 VBA 函式,以及其他。
若要包含未包含在採礦模型中的結構資料列,請使用 函式 StructureColumn('<structure column name>')
。
model
模型標識碼。
條件表達式
限制從數據行清單傳回之值的條件。
expression
選擇性。 傳回純量值的運算式。
備註
如果在採礦模型和採礦結構上啟用鑽研,則屬於具有模型鑽研許可權的角色成員的使用者,而且結構可以存取採礦結構的數據行,而該數據行不包含在採礦模型中。 因此,若要保護敏感數據或個人資訊,您應該建構數據源檢視來遮罩個人資訊,並在必要時才對採礦結構授與 AllowDrillthrough 許可權。
Lag (DMX) 函式可以搭配時間序列模型使用,以傳回或篩選每個案例與初始時間之間的時間延遲。
在 WHERE 子句中使用 IsInNode (DMX) 函式只會傳回與架構數據列集之NODE_UNIQUE_NAME數據行所指定的節點相關聯的案例。
範例
下列範例是以以資料庫及其相關聯採礦模型為基礎的 AdventureWorksDW2022
採礦結構 Targeted Mailing 為基礎。 如需詳細資訊,請參閱 基本數據採礦教學課程。
範例 1:鑽研模型案例和結構數據行
下列範例會傳回用來測試 Targeted Mailing 模型之所有案例的數據行。 如果建置模型的採礦結構沒有鑒效組測試數據集,此查詢會傳回 0 個案例。 您可以使用表示式清單只傳回您需要的數據行。
SELECT * FROM [TM Decision Tree].Cases
WHERE IsTestCase();
範例 2:鑽研至特定節點中的定型案例
下列範例只會傳回用來定型叢集 2 的案例。 叢集 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) 陳述式參考