我在ssrs中调用数据查询,如下所示:
SELECT * FROM [DATABASE].[dbo].[mytable]
因此,当前一周是查询的最后一周(例如3/31 - 4/4),每个数字代表前一周,直到我们达到本周前的12周并显示在点图表中。
如何按周将所有地点的所有访问分组并将其添加到图表中?
答案 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)
如果我能提供更多详细信息来帮助您,请告诉我。