SELECT FROM <结构>.CASES
返回用于创建挖掘结构的事例。
如果未对结构启用钻取功能,则该语句将失败。此外,如果用户在挖掘结构上没有钻取权限,则该语句也会失败。
在 Analysis Services 中,默认情况下将启用对新挖掘结构的钻取功能。若要验证是否已对某个特定的结构启用了钻取功能,请检查是否已将 CacheMode 属性的值设置为 KeepTrainingCases。
如果 CacheMode 的值已改为 ClearAfterProcessing,则结构事例会从缓存中清除,因此无法使用钻取功能。
注意 |
---|
不能使用数据挖掘扩展插件 (DMX) 在挖掘结构上启用或禁用钻取功能。 |
语法
SELECT [TOP n] <expression list> FROM <structure>.CASES
[WHERE <condition expression>][ORDER BY <expression> [DESC|ASC]]
参数
n
可选。一个指定返回行数的整数。expression list
一个逗号分隔的表达式列表。该表达式可以包括列标识符、用户定义函数和 VBA 函数。
structure
结构的名称。condition expression
一个限制条件,用于限制从列列表返回的值。expression
可选。一个返回标量值的表达式。
注释
如果对模型和结构都启用了钻取功能,则拥有挖掘结构和模型钻取权限的角色的任何成员都可以使用下面的语法返回模型中未包括的结构列。
SELECT StructureColumn('<column name>') FROM <model>.CASES
因此,若要保护敏感数据或个人信息,应构造数据源视图来屏蔽个人信息,并且仅在需要时才对挖掘结构或挖掘模型授予 AllowDrillthrough 权限。
示例
下面的示例基于挖掘结构“目标邮件”及关联的挖掘模型,而目标邮件则基于 AdventureWorks DW 数据库。有关详细信息,请参阅数据挖掘基础教程。
示例 1:钻取到结构事例
下面的示例返回挖掘结构“目标邮件”中 500 名年龄最大的客户的列表。查询返回挖掘模型中的所有列,但将行限制为购买过自行车的客户,并且按照年龄进行排序。您还可以编辑表达式列表以便仅返回需要的列。
SELECT TOP 500 *
FROM [Targeted Mailing].Cases
WHERE [Bike Buyer] = 1
ORDER BY Age DESC;
示例 2:只钻取到测试或定型事例
下面的示例返回保留用于测试的目标邮件的结构事例列表。如果挖掘结构不包含维持测试集,则在默认情况下所有事例都被视为定型事例,并且此查询将返回 0 个事例。
SELECT [Customer Key], Gender, Age
FROM [Targeted Mailing].Cases
WHERE IsTestCase();
若要返回定型事例,请替换函数 IsTrainingCase()。