时间序列算法数据源

时间:2013-06-23 20:58:31

标签: sql data-mining

我想预测我的利润,我有订单表包含订单日期和价值, 所以我做了这个观点:

   SELECT     TOP (100) PERCENT CAST(YEAR(OrderDate) AS CHAR(4)) + CAST(MONTH(OrderDate) AS varchar(2)) AS [Year/Month], SUM(TotalValue) AS Total
FROM         dbo.[Order]
GROUP BY YEAR(OrderDate), MONTH(OrderDate)
ORDER BY MONTH(OrderDate)

我用时间序列算法创建了一个新的挖掘结构。

问题是算法无法识别列[年/月] AS日期,因此可预测的值例如是201217 201218。

我该怎么办?错误究竟在哪里?

1 个答案:

答案 0 :(得分:0)

那么,为什么不将列更改为自第0天起的月数?你可以这样做:

SELECT     TOP (100) PERCENT YEAR(OrderDate)*12 + MONTH(OrderDate) AS [Year/Month],
           SUM(TotalValue) AS Total
FROM         dbo.[Order]
GROUP BY YEAR(OrderDate), MONTH(OrderDate)
ORDER BY MONTH(OrderDate);

将值转换回年份和月份:

year = floor((val - 1) / 12);
month = (val - 1) % 12 + 1;

-1是因为1月被计为“1”而不是“0”。