在SSRS报告中显示滚动的12周图表

时间:2014-04-08 13:37:06

标签: sql visual-studio-2008 reporting-services ssrs-2008

我在ssrs中调用数据查询,如下所示:

SELECT * FROM [DATABASE].[dbo].[mytable]

因此,当前一周是查询的最后一周(例如3/31 - 4/4),每个数字代表前一周,直到我们达到本周前的12周并显示在点图表中。

如何按周将所有地点的所有访问分组并将其添加到图表中?

2 个答案:

答案 0 :(得分:1)

您将要在SQL中对访问进行分组。您应该能够将一个计算列添加到您的表中,这类似于WorkWeek,它应该根据某天(例如星期日)的天差来计算。然后,此列将按您的X值而不是您使用的日期字段。

这是一篇很好的文章,进入一周的第一天:First Day of Week

答案 1 :(得分:1)

我建议您按Dense_Rank的降序DatePart(Week,ARRIVED_DATE)将SQL查询更新为Group。在这个例子中,我有一个访问列,因为我无法确定您使用哪些列来获取访问次数:

-- load some test data
if object_id('tempdb..#MyTable') is not null
drop table #MyTable
create table #MyTable(ARRIVED_DATE datetime,Visits int)
while (select count(*) from #MyTable) < 1000
    begin
        insert into #MyTable values
            (dateadd(day,round(rand()*100,0),'2014-01-01'),round(rand()*1000,0))
    end

-- Sum Visits by WeekNumber relative to today's WeekNumber
select
    dense_rank() over(order by datepart(week,ARRIVED_DATE) desc) [Week],
    sum(Visits) Visits
from #MyTable
where datepart(week,ARRIVED_DATE) >= datepart(week,getdate()) - 11
group by datepart(week,ARRIVED_DATE)
order by datepart(week,ARRIVED_DATE)

如果我能提供更多详细信息来帮助您,请告诉我。