SELECT FROM <模型>。案例(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 数据库及其关联的挖掘模型的挖掘结构目标邮件。 有关详细信息,请参阅 基本数据挖掘教程

示例 1:钻取到模型事例和结构列

以下示例返回用于测试目标邮件模型的所有事例的列。 如果建立模型所依据的挖掘结构不存在维持测试数据集,此查询将返回 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) 语句参考