答案 0 :(得分:0)
这个答案是基于我使用Excel的经验,而不是报告服务,但它可能是同样的问题。
您的图表可能是散点图图而不是行图表(注意:这是Excel术语)。散点图在数据中没有内在排序。折线图可以。
解决方案(对于散点图)只是按x值对数据进行排序。这可能对你有用。如果要从数据库中提取数据,那么order by
可以实现此目的。否则,您可以对应用程序中的数据进行排序。
答案 1 :(得分:0)
使用this post作为起点,您可以看到可以使用从数据库中提取数据的SQL查询来计算图表的移动平均值。
例如,在我的数据库mySalesTable
myDate sales myDate sales myDate sales
---------- ------ ---------- ------ ---------- ------
01/01/2015 456 16/01/2015 546 31/01/2015 658
02/01/2015 487 17/01/2015 12 01/02/2015 121
03/01/2015 245 18/01/2015 62 02/02/2015 654
04/01/2015 812 19/01/2015 516 03/02/2015 261
05/01/2015 333 20/01/2015 1 04/02/2015 892
06/01/2015 449 21/01/2015 65 05/02/2015 982
07/01/2015 827 22/01/2015 15 06/02/2015 218
08/01/2015 569 23/01/2015 656 07/02/2015 212
09/01/2015 538 24/01/2015 25 08/02/2015 312
10/01/2015 455 25/01/2015 549 09/02/2015 21
11/01/2015 458 26/01/2015 261
12/01/2015 542 27/01/2015 21
13/01/2015 549 28/01/2015 21
14/01/2015 432 29/01/2015 61
15/01/2015 685 30/01/2015 321
您可以提取此数据,并使用以下数据集查询基于最近5个日期创建移动平均值
SELECT mst.myDate, mst.sales, avg(mst_past.sales) AS moving_average
FROM mySalesTable mst
JOIN mySalesTable as mst_past
ON mst_past.myDate
BETWEEN DATEADD(D, -4, mst.myDate) AND mst.myDate
GROUP BY mst.myDate, mst.sales
ORDER BY mst.myDate ASC
这有效地加入了包含前4个日期和当前日期的每一行的子表,并找到这些日期的平均值,并将其输出为列moving_average
然后您可以正常地将这两个字段绘制成图表,以提供以下输出(使用数据表以便您查看实际计算的移动平均值)
希望这会对你有所帮助。如果您需要进一步的帮助,请告诉我