使用 AMO 或 XML/A 可以采用编程方式查询挖掘模型内容,但是使用 DMX 创建查询更简单。同时,在 SQL Server 2008 中,您还可以通过建立与 Analysis Services 服务器的连接并使用 Transact-SQL 语法键入查询,来针对数据挖掘架构行集创建查询。
下面的过程介绍如何使用 DMX 以及通过查询数据挖掘架构行集表来对挖掘模型创建查询。
有关如何使用 XML/A 创建类似查询的示例,请参阅如何使用 XML/A 创建数据挖掘查询。
使用 DMX 查询数据挖掘模型的内容
创建 DMX 模型内容查询
在 SQL Server Management Studio 的“视图”菜单中,单击“模板资源管理器”。
在“模板资源管理器”窗格中,单击四方体图标,以更改列表并显示 Analysis Services 模板。
在模板类别列表中,展开 DMX,再展开 Model Content,然后双击 Content Query。
在“连接到 Analysis Services”对话框中,选择包含要查询的挖掘模型的实例,然后单击“连接”。
此时将在相应代码编辑器中打开“内容查询”模板。元数据窗格列出了当前数据库中的可用模型。若要更改数据库,请从“可用数据库”列表中选择不同的数据库。
在 FROM [<mining model, name, MyModel>].CONTENT 行中输入挖掘模型的名称。如果挖掘模型的名称包含空格,则必须用方括号将该名称括起来。
如果不希望键入名称,则可以在对象资源管理器中选择某个挖掘模型,并将其拖放到模板中。
在 SELECT <select list, expr list, *> 行中,键入挖掘模型内容架构行集中的列的名称。
若要查看可在挖掘模型内容查询中返回的列的列表,请参阅挖掘模型内容(Analysis Services - 数据挖掘)。
或者,您也可以在模板的 WHERE 子句中键入条件,以将返回的行限制为特定的节点或值。
单击“执行”。
查询数据挖掘架构行集
对数据挖掘架构行集创建查询
在 SQL Server Management Studio 的“新建查询”工具栏中,单击“Analysis Services DMX 查询”或“Analysis Services MDX 查询”。
在“连接到 Analysis Services”对话框中,选择包含要查询的对象的实例,然后单击“连接”。
此时将在相应代码编辑器中打开“内容查询”模板。元数据窗格列出了当前数据库中的可用对象。若要更改数据库,请从“可用数据库”列表中选择不同的数据库。
在查询编辑器中,键入以下内容:
SELECT *
FROM $system.DMSCHEMA_MINING_MODEL_CONTENT
WHERE MODEL_NAME = '<model name>'
单击“执行”。
“结果”窗格将显示模型的内容。
注意:
若要查看当前实例上可查询的所有架构行集的列表,请使用以下查询:SELECT * FROM $system.DBSCHEMA_TABLES。或者,若要查看特定于数据挖掘的架构行集的列表,请参阅数据挖掘架构行集。