第 1 课:创建时序挖掘模型和挖掘结构
适用于: SQL Server 2016 Preview
在本课中,将创建一个挖掘模型,可以使用该模型根据历史数据预测一段时间内的值。 创建该模型时,基础结构会自动生成,且可以用作其他挖掘模型的基础。
本课假定您已熟悉预测模型以及 Microsoft 时序算法的要求。 有关详细信息,请参阅 Microsoft Time Series Algorithm。
CREATE MINING MODEL 语句
为了直接创建挖掘模型和自动生成基础挖掘结构,您使用 CREATE MINING MODEL #40; DMX ) 语句。 可以将语句中的代码分为下列几部分:
命名模型
定义时间戳
定义可选序列键列
定义可预测属性
下面是 CREATE MINING MODEL 语句的一般示例:
CREATE MINING MODEL [<Mining Structure Name>]
(
<key columns>,
<predictable attribute columns>
)
USING <algorithm name>([parameter list])
WITH DRILLTHROUGH
代码的第一行定义了挖掘模型的名称:
CREATE MINING MODEL [Mining Model Name]
通过在模型名称后追加“_structure”,Analysis Services 自动生成基础结构的名称,这样可以确保将结构名称与模型名称区分开。 有关命名 DMX 中的某个对象的信息,请参阅 标识符 #40; DMX )。
代码中的下一行定义了挖掘模型的键列,如果是时序模型,则它可唯一标识源数据中的时间步长。 使用标识的时间步长 KEY TIME 关键字后的列名称和数据类型。 如果时序模型具有单独的序列键,它由使用标识 密钥 关键字。
<key columns>
代码中的下一行用于定义将预测的模型中的列。 一个挖掘模型中可以有多个可预测属性。 如果有多个可预测属性,Microsoft 时序算法会为每个序列生成一个单独的分析:
<predictable attribute columns>
课程任务
在本课程中,将执行以下任务︰
创建新的空白查询
更改查询以创建挖掘模型
执行查询
创建查询
第一步是连接到 Analysis Services 实例,并在 SQL Server Management Studio 中创建一个新的 DMX 查询。
在 SQL Server Management Studio 中创建一个新的 DMX 查询
打开 SQL Server Management Studio。
在 连接到服务器 对话框中,为 服务器类型, ,选择 Analysis Services。 在 服务器名称, ,类型 LocalHost, ,或实例名称 Analysis Services 想要连接到本课程中。 单击 “连接”。
在 对象资源管理器, ,用鼠标右键单击实例 Analysis Services, ,指向 新查询, ,然后单击 DMX。
将打开查询编辑器,其中包含一个新的空白查询。
更改查询
下一步是修改 CREATE MINING MODEL 语句,以创建用于预测的挖掘模型及其基础挖掘结构。
自定义 CREATE MINING MODEL 语句
在查询编辑器中,将 CREATE MINING MODEL 语句的一般示例复制到空白查询中。
将
[mining model name]
使用︰
[Forecasting_MIXED]
将
<key columns>
使用︰
[Reporting Date] DATE KEY TIME, [Model Region] TEXT KEY
时间键 关键字指示 ReportingDate 列包含步长值用于对值进行排序的时间。 时间步长可以为日期和时间、整数或任何有序数据类型,只要值唯一且数据有序即可。
文本 和 密钥 关键字指示 ModelRegion 列包含额外的序列键。 只能有一个序列键,并且该列中的值必须是唯一的。
将
< predictable attribute columns> )
使用︰
[Quantity] LONG CONTINUOUS PREDICT, [Amount] DOUBLE CONTINUOUS PREDICT )
将
USING <algorithm name>([parameter list]) WITH DRILLTHROUGH
使用︰
USING Microsoft_Time_Series (AUTO_DETECT_PERIODICITY = 0.8, FORECAST_METHOD = 'MIXED') WITH DRILLTHROUGH
算法参数 AUTO_DETECT_PERIODICITY = 0.8,指示你想要在数据中检测周期的算法。 如果将此值设置为接近于 1 的数,往往会发现许多模式,不过会降低处理速度。
算法参数 FORECAST_METHOD, ,该值指示是否希望使用 ARTXP、 ARIMA 或两者的混合要分析的数据。
关键字, WITH DRILLTHROUGH, ,指定您希望能够在模型完成后,源数据中查看详细统计信息。 如果希望使用 Microsoft 时序查看器浏览模型,则必须添加此子句。 它不是预测所必需的。
现在,完整的语句应该如下所示:
CREATE MINING MODEL [Forecasting_MIXED] ( [Reporting Date] DATE KEY TIME, [Model Region] TEXT KEY, [Quantity] LONG CONTINUOUS PREDICT, [Amount] DOUBLE CONTINUOUS PREDICT ) USING Microsoft_Time_Series (AUTO_DETECT_PERIODICITY = 0.8, FORECAST_METHOD = 'MIXED') WITH DRILLTHROUGH
在 文件 菜单上,单击 dmxquery1.dmx 另存为。
在 另存为 对话框中,浏览到相应的文件夹,并将文件 Forecasting_MIXED.dmx。
执行查询
最后一步是执行查询。 创建并保存查询后,需要执行查询,以在服务器上创建挖掘模型及其挖掘结构。 有关在查询编辑器中执行查询的详细信息,请参阅 数据库引擎查询编辑器 (SQL Server Management Studio )。
若要执行查询
在查询编辑器中,在工具栏上,单击 Execute。
查询的状态将显示在 消息 在底部的查询编辑器执行完语句后的选项卡。 所显示的消息应为:
Executing the query Execution complete
名为的新结构 Forecasting_MIXED_Structure 现在存在于服务器上,与相关的挖掘模型一起 Forecasting_MIXED。
在下一课中,您将添加到挖掘模型 Forecasting_MIXED 刚创建的挖掘结构。