SSRS的5分平均值

时间:2015-12-17 14:26:16

标签: reporting-services

我尝试在我的图表中放置5点平均值。我添加了一条趋势线,但它看起来像这样: enter image description here

然后我创建了一个新系列来计算平均值。这看起来像这样: enter image description here

但我希望以5分的平均值来表明这一点。我怎么能这样做?

2 个答案:

答案 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

然后您可以正常地将这两个字段绘制成图表,以提供以下输出(使用数据表以便您查看实际计算的移动平均值)

enter image description here

希望这会对你有所帮助。如果您需要进一步的帮助,请告诉我