示例查询 3:检索 ARTxp 模型的公式
对于 ARTxp 模型,不同的信息存储在树的每个级别。有关 ARTxp 模型的结构以及如何解释公式中的信息的详细信息,请参阅时序模型的挖掘模型内容(Analysis Services - 数据挖掘)。
下面的 DMX 语句检索部分 ARTxp 树的信息,表示 R250 型号在 Europe 的销售数量。
注意:
必须将嵌套表列的名称 VARIANCE 括在括号中,以便将它与同名的保留关键字区分开来。由于嵌套表列 PROBABILITY 和 SUPPORT 在大多数情况下为空,因此这两列不包括在内。
(SELECT ATTRIBUTE_NAME, ATTRIBUTE_VALUE,
[VARIANCE]
FROM NODE_DISTRIBUTION) AS t
FROM Forecasting.CONTENT
WHERE NODE_ATTRIBUTE_NAME = 'R250 Europe:Quantity'
时序模型的预测查询
在 SQL Server 2008 Enterprise 中,可以向时序模型添加新数据,并自动将新数据合并到模型中。您可以通过下列两种方式之一向时序挖掘模型添加新数据:
使用 PREDICTION JOIN 将外部源中的数据联接到定型数据。
使用单独预测查询每次向数据提供一个切片。有关如何创建单独预测查询的信息,请参阅创建 DMX 预测查询。
向时序模型添加新数据时,可以指定是否扩展或替换定型数据:
如果扩展该数据,Analysis Services 会将新数据添加到现有定型数据的末尾。定型事例的数量会增加。如果需要连续使用新数据更新模型,扩展模型事例很有用。
若要扩展数据,可以在时序模型上创建一个 PREDICTION JOIN,指定新数据源,然后使用 EXTEND_MODEL_CASES 参数。
如果要替换数据,Analysis Services 将保留定型模型,但使用新数据替换全部或部分现有定型事例。因此,定型数据的大小永远不会发生变化,但事例本身却可以使用更新的数据不断进行替换。如果您提供了足够的新数据,则可以使用全新的序列替换定型数据。
如果您想对一组事例的某个模型定型,然后将该模型应用到不同的数据序列,则替换模型事例非常有用。
若要替换数据,可以在时序模型上创建一个 PREDICTION JOIN,指定新数据源,然后使用 REPLACE_MODEL_CASES 参数。
添加新数据时不能进行历史预测。另外,无论您是扩展还是替换定型数据,预测始终发生在结束原始定型集的时间戳处。因此,如果您的新数据包含 n 个时间段,并且您请求对时间步长 1 至 n 的预测,则预测将与新数据的时间段一致。若要获取对数据未覆盖的时间段的新预测,您必须从新数据序列之后的时间段 n+1 处开始预测,或者确保您请求了其他的时间段。
例如,假定现有模型具有六个月积累的数据。您想通过添加最近三个月的销售数字来扩展该模型。同时,您还想对接下来三个月进行预测。添加新数据时如果只想获得新的预测,则将起点指定为时间段 4,终点指定为时间段 7。您可能还要请求全部六个预测,但是,前三个预测的时间段会与刚添加的新数据重叠。
使用 EXTEND_MODEL_CASES 进行预测
根据您是要扩展还是替换模型事例,预测行为会有所不同。如果要扩展模型,新数据会附加到序列的末尾,并且定型集的大小会增加。但是,用于预测查询的时间段始终从原始序列的末尾开始。因此,如果您要添加三个新数据点并请求六个预测,返回的前三个预测将会与新数据重叠。在这种情况下,Analysis Services 会返回实际的新数据点,而不是进行预测,直到所有新数据点用完为止。然后,Analysis Services 会根据组合序列进行预测。
通过这种行为,您可以添加新数据,然后在预测图表中显示实际的销售数字,而不是查看预测。
例如,若要添加三个新数据点并进行三个新预测,您需要执行下列操作:
在时序模型上创建一个 PREDICTION JOIN,然后指定三个月新数据的来源。
请求六个时间段的预测。为此,请指定 6 个时间段,其中起点是时间段 1,终点是时间段 7。这仅适用于EXTEND_MODEL_CASES。
若要仅获取新预测,请将起点指定为 4,终点指定为 7。
您必须使用参数 EXTEND_MODEL_CASES。
将返回前三个时间段的实际销售数字,并返回接下来三个时间段的基于扩展模型的预测。