系统 - 使用报告构建器3.0的SSRS 2008R2(如果您认为答案在那里,则为BIDS)
目标 - 创建一个报告,显示每个销售区域过去24小时的销售数据。报告需要每10分钟刷新一次,并始终显示上次刷新后的最后24小时。但是 - 用户仍然需要能够更改时间范围。
我做了什么?
结果 - 起初一切看起来都很完美 - 主报告加载,显示的数据对于加载时间是正确的(比方说22:08)。但是,在自动刷新(发生在22:18)之后,数据仍然是22:08。
问题在于,在报告的第一次加载时,参数会按照我所说的(StartTime = 10/12/2011 22:08 & EndTime = 11/12/2011 22:08)
获得默认值。
但是,在自动刷新而不是更新(So I'll get StartTime = 10/12/2011 22:18 & EndTime = 11/12/2011 22:18)
的参数时,我仍然会获得旧值(StartTime = 10/12/2011 22:08 & EndTime = 11/12/2011 22:08)
任何关于原因的想法,以及如何更改此内容?
谢谢!
答案 0 :(得分:1)
如果我理解正确......
不幸的是,除非用户手动点击“查看报告”按钮,否则报告参数仅在第一次加载时获取其值。
为了解决这个问题,我尝试将日期参数转换为不使用默认值,而是从查询中获取它们的值,并使用与RDBMS等效的GETDATE()。如果我没有弄错,这将要求你在报告中添加另一个DataSet ......但它实际上并不是一个数据集,因为它的查询只是SELECT GETDATE()[或者你的RDBMS的等价物]和无论你需要做什么转变。