你从探索预测模型中看到,虽然大多数区域的销售额遵循类似的模式,但一些区域和一些模型(如太平洋地区的 M200 模型)表现出非常不同的趋势。 这并不奇怪你,因为你知道区域之间的差异是常见的,可能是由许多因素造成的,包括营销促销、不准确的报告或地缘政治事件。
但是,你的用户要求一个可在全球应用的模型。 因此,为了最大程度地减少单个因素对投影的影响,你决定构建一个基于全球销售聚合度量值的模型。 然后,可以使用此模型为每个单个区域进行预测。
在此任务中,你将生成执行高级预测任务所需的所有数据源。 你将创建两个数据源视图,用作预测查询的输入,以及一个用于生成新模型的数据源视图。
步骤
创建新的扩展销售数据
若要更新销售数据,需要获取最新的销售数据。 特别感兴趣的是来自太平洋地区的数据,该区域推出了区域销售促销,以引起人们对新商店的关注,并提高他们对产品的认识。
对于此方案,我们假设数据已从 Excel 工作簿导入,该工作簿仅包含几个区域的三个月新数据。 你将使用 Transact-SQL 脚本为数据创建表,然后定义用于预测的数据源视图。
创建包含新销售数据的表
在 Transact-SQL 查询窗口中,执行以下语句,将销售数据添加到 AdventureWorksDW 数据库(或任何其他数据库)。
USE [database name]; GO IF OBJECT_ID ([dbo].[NewSalesData]) IS NOT NULL DROP TABLE [dbo].[NewSalesData]; GO CREATE TABLE [dbo].[NewSalesData]([Series] [nvarchar](255) NULL, [NewDate] [datetime] NULL, [NewQty] [float] NULL, [NewAmount] [money] NULL) ON [PRIMARY] GO使用以下脚本插入新值。
INSERT INTO [NewSalesData] (Series,NewDate,NewQty,NewAmount) VALUES('T1000 Pacific', '7/25/08', 55, '$130,170.22'), ('T1000 Pacific', '8/25/08', 50, '$114,435.36 '), ('T1000 Pacific', '9/25/08', 50, '$117,296.24 '), ('T1000 Europe', '7/25/08', 37, '$88,210.00 '), ('T1000 Europe', '8/25/08', 41, '$97,746.00 '), ('T1000 Europe', '9/25/08', 37, '$88,210.00 '), ('T1000 North America', '7/25/08', 69, '$164,500.00 '), ('T1000 North America', '8/25/08', 66, '$157,348.00 '), ('T1000 North America', '9/25/08', 58, '$138,276.00 '), ('M200 Pacific', '7/25/08', 65, '$149,824.35'), ('M200 Pacific', '8/25/08', 54, '$124,619.46'), ('M200 Pacific', '9/25/08', 61, '$141,143.39'), ('M200 Europe', '7/25/08', 75, '$173,026.00'), ('M200 Europe', '8/25/08', 76, '$175,212.00'), ('M200 Europe', '9/25/08', 84, '$193,731.00'), ('M200 North America', '7/25/08', 94, '$216,916.00'), ('M200 North America', '8/25/08', 94, '$216,891.00'), ('M200 North America', '9/25/08', 91,'$209,943.00');警告
引号与货币值一起使用,以防止出现逗号分隔符和货币符号的问题。 还可以采用以下格式传入货币值:
130170.22请注意,示例数据库中使用的日期已对此版本进行更改。 如果使用早期版本的 AdventureWorks,则可能需要相应地调整插入的日期。
使用新的销售数据创建数据源视图
在 解决方案资源管理器中,右键单击 “数据源视图”,然后选择“ 新建数据源视图”。
在“数据源视图”向导中,进行以下选择:
数据源:Adventure Works DW 多维 2012
选择表和视图:选择刚刚创建的表 NewSalesData。
单击“完成”。
在数据源视图设计图面中,右键单击 NewSalesData,然后选择“ 浏览数据 ”以验证数据。
警告
仅使用此数据进行预测,因此数据不完整并不重要。
为交叉预测模型创建数据
原始预测模型中使用的数据已按视图 vTimeSeries 进行分组,该视图将多个自行车模型折叠为少量类别,并将各个国家/地区的结果合并为区域。 若要创建可用于全球投影的模型,可以直接在数据源视图设计器中创建一些额外的简单聚合。 新的数据源视图将只包含所有区域的所有产品的销售额和平均值。
创建用于模型的数据源后,必须创建新的数据源视图才能用于预测。 例如,如果要使用新的全球模型预测欧洲的销售,则必须仅向欧洲区域提供数据。 因此,你将设置一个新的数据源视图来筛选原始数据,并更改每个预测查询集的筛选条件。
使用自定义数据源视图创建模型数据
在 解决方案资源管理器中,右键单击 “数据源视图”,然后选择“ 新建数据源视图”。
在向导的欢迎页上,单击“ 下一步”。
在 “选择数据源 ”页上,选择 Adventure Works DW 多维 2012,然后单击“ 下一步”。
在页面中, 选择表和视图,不添加任何表,只需单击“ 下一步”。
在页面上, 完成向导,键入名称
AllRegions,然后单击“ 完成”。接下来,右键单击空白数据源视图设计图面,然后选择“ 新建命名查询”。
在“ 创建命名查询 ”对话框中,对于 “名称”、“类型
AllRegions”和 “说明”,键入 “总和”和所有模型和区域的销售额平均值。在 SQL 文本窗格中,键入以下语句,然后单击“确定” :
SELECT ReportingDate, SUM([Quantity]) as SumQty, AVG([Quantity]) as AvgQty, SUM([Amount]) AS SumAmt, AVG([Amount]) AS AvgAmt, 'All Regions' as [Region] FROM dbo.vTimeSeries GROUP BY ReportingDate右键单击
AllRegions该表,然后选择“ 浏览数据”。
创建用于交叉预测的序列数据
在 解决方案资源管理器中,右键单击 “数据源视图”,然后选择“ 新建数据源视图”。
在“数据源视图”向导中,进行以下选择:
数据源:Adventure Works DW Multidimensional 2012
选择表和视图:不选择任何表
名称:
T1000 Pacific Region单击“完成”。
右键单击 T1000 Pacific Region.dsv 的空设计图面,然后选择“ 新建命名查询”。
此时会显示“ 创建命名查询 ”对话框。 重新键入名称,然后添加以下说明:
名称:
T1000 Pacific Region说明:按区域和模型进行筛选
vTimeSeries在文本窗格中,键入以下查询,然后单击“确定” :
SELECT ReportingDate, ModelRegion, Quantity, Amount FROM dbo.vTimeSeries WHERE (ModelRegion = N'T1000 Pacific')注释
由于需要单独为每个序列创建预测,因此可能需要复制查询文本并将其保存到文本文件中,以便可以将其重新用于其他数据系列。
在数据源视图设计图面中,右键单击 T1000 Pacific,然后选择“ 浏览数据 ”以验证数据是否已正确筛选。
创建交叉预测查询时,将此数据用作模型的输入。