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) 陳述式參考