使用 Analysis Services DMX 查询设计器 (Reporting Services)
使用 SQL ServerAnalysis Services 数据源创建数据集时,如果检测到有效多维数据集,则报表设计器将显示多维表达式 (MDX) 查询设计器。如果未检测到多维数据集,但有数据挖掘模型可用,则报表设计器将会显示数据挖掘扩展插件 (DMX) 查询设计器。若要在 MDX 设计器与 DMX 设计器之间切换,请单击工具栏上的**“命令类型 DMX”**() 按钮。使用 DMX 查询设计器以交互方式生成使用图形元素的 DMX 查询。若要使用 DMX 查询设计器,指定的数据源必须已具有可提供数据的数据挖掘模型。查询结果被转换为要在报表中使用的平展行集。
注意 |
---|
在设计报表前必须为模型定型。有关详细信息,请参阅数据挖掘项目(Analysis Services - 数据挖掘)。 |
设计模式
DMX 查询设计器将在设计模式下打开。设计模式包含用于选择单个数据挖掘模型和输入表的图形设计图面,同时还包含用于指定预测查询的网格。DMX 查询设计器还有其他两种模式:查询模式和结果模式。在查询模式中,查询窗格取代了设计模式中的网格,您可以在查询窗格中键入 DMX 查询。在结果模式中,由查询返回的结果集显示在数据网格中。
若要更改 DMX 查询设计器的模式,请在查询设计图面上单击鼠标右键,并选择**“设计”、“查询”或“结果”**。有关详细信息,请参阅 Analysis Services DMX 查询设计器用户界面和如何从数据挖掘模型检索数据 (DMX)。
设计预测查询
设计模式的“查询设计”窗格中包含两个窗口:“挖掘模型”和“选择输入表”。使用**“挖掘模型”窗口可选择要在查询中使用的挖掘模型。使用“选择输入表”窗口可选择预测所基于的表。如果希望使用单独查询而不是输入表,请在“查询设计”窗格中单击鼠标右键,并选择“单独查询”。“单独查询输入”窗口将取代“选择输入表”**窗口。
在设计模式中,可以将**“挖掘模型”窗口和“选择输入表”窗口中的字段拖至“网格”窗格中的“字段”**列。您还可以填充其余列来指定别名、在结果中显示字段、将字段组合在一起以及指定运算符根据给定条件或参数限制字段值。如果使用的是查询模式,请通过将字段拖至“查询”窗格来生成 DMX 查询。
有关使用 DMX 查询设计器生成 DMX 预测查询的详细信息,请参阅使用预测查询生成器创建 DMX 预测查询。
下面的示例显示了如何使用 DMX 查询设计器创建报表数据集。
示例:检索数据挖掘模型中的数据
Reporting Services 示例包含一个项目,该项目基于 SQL Server 示例数据库 AdventureWorksDW 部署两个挖掘模型。有关详细信息,请参阅 Reporting Services 示例。
安装并发布 AdventureWorks 示例报表,然后部署 Analysis Services 多维数据集。有关详细信息,请参阅 Reporting Services 示例。
打开 AdventureWorks 示例报表项目,然后向该项目中添加空报表定义 (.rdl) 文件。
创建使用 AdventureWorksAS 共享数据源的新数据集。在**“数据集属性”对话框中,单击“查询设计器”。MDX Analysis Services 查询设计器将以“设计”**模式打开。
单击工具栏上的**“命令类型 DMX”**() 按钮。
单击**“是”**切换到 DMX 查询设计器。
单击**“选择模型”,展开“目标邮件”**,然后选择 TM Decision Tree。单击“确定”。
单击**“选择事例表”**,滚动到 vTargetMail (dbo) 并选定它。单击“确定”。
在“网格”窗格中,单击**“源”,然后选择“TM Decision Tree 挖掘模型”。“字段”**列中将会显示 Bike Buyer。
在下一行中,单击**“源”,然后选择“vTargetMail 表”。“字段”**列中将显示 CustomerKey。
右键单击**“查询设计”窗格,并选择“结果”以查看结果集。结果视图中将显示包含 18484 行的行集。若要切换回设计模式,请右键单击“结果”窗格并选择“设计”**。
使用参数
您可以将报表参数传递到 DMX 查询参数。若要如此操作,必须向 DMX 查询添加一个参数,在**“查询参数”对话框中定义相应的查询参数,再修改相关联的报表参数。若要定义查询参数,请单击工具栏上的“查询参数”**() 按钮。若要查看有关如何在 DMX 查询中定义参数的说明,请参阅如何在 Analysis Services 的 MDX 查询设计器中定义参数。
有关如何管理报表参数与查询参数之间的关系的详细信息,请参阅如何将查询参数与报表参数相关联。有关参数的详细信息,请参阅向报表中添加参数。
带参数的查询示例
以下查询检索指示可能购买自行车的客户及其购买概率的报表数据。
SELECT
t.FirstName, t.LastName,
(Predict ([Bike Buyer])) as [PredictedValue],
(PredictProbability([Bike Buyer])) as [Probability]
From
[TM Decision Tree]
PREDICTION JOIN
OPENQUERY([Adventure Works DW],
'SELECT
[FirstName],
[LastName],
[CustomerKey],
[MaritalStatus],
[Gender],
[YearlyIncome],
[TotalChildren],
[NumberChildrenAtHome],
[HouseOwnerFlag],
[NumberCarsOwned],
[CommuteDistance]
FROM
[dbo].[DimCustomer]
') AS t
ON
[TM Decision Tree].[Marital Status] = t.[MaritalStatus] AND
[TM Decision Tree].[Gender] = t.[Gender] AND
[TM Decision Tree].[Yearly Income] = t.[YearlyIncome] AND
[TM Decision Tree].[Total Children] = t.[TotalChildren] AND
[TM Decision Tree].[Number Children At Home] = t.[NumberChildrenAtHome]
AND
[TM Decision Tree].[House Owner Flag] = t.[HouseOwnerFlag] AND
[TM Decision Tree].[Number Cars Owned] = t.[NumberCarsOwned] AND
[TM Decision Tree].[Commute Distance] = t.[CommuteDistance]
WHERE
(Predict ([Bike Buyer]))=@Buyer AND
(PredictProbability([Bike Buyer]))>@Probability
注意 |
---|
此示例使用 DimCustomer 表作为输入表。这仅用于演示。在 AdventureWorks 数据库中,DimCustomer 表用于定型此示例中使用的模型。通常情况下,将使用以前未用于定型的输入表。 |
本示例中,在创建查询之后,您必须使用**“查询参数”对话框定义查询参数。若要执行此操作,请单击查询设计器工具栏上的“查询参数”**() 按钮。
按如下方式添加参数。每个参数还必须有一个默认值。
参数 |
默认值 |
---|---|
Buyer |
1 |
Probability |
.75 |
注意 |
---|
在“查询参数”对话框中指定的参数必须与查询中的参数相同,不带 @ 符号。 |
切换到“设计”视图创建报表时,将会基于查询参数创建新的报表参数。报表运行时,会按照报表参数的设置向用户显示。您可以更新报表参数以提供用户从中选择值的列表,指定默认值,还可以更改其他报表参数属性。
有关使用报表参数的详细信息,请参阅: