Reporting services 默认为Now()的SSRS 2008R2报告参数不自动刷新

Reporting services 默认为Now()的SSRS 2008R2报告参数不自动刷新,reporting-services,ssrs-2008,reportbuilder,Reporting Services,Ssrs 2008,Reportbuilder,系统-使用report builder 3.0的SSRS 2008R2(如果您认为答案在那里,也可以投标) 目标-创建一份报告,显示每个销售区域过去24小时的销售数据。报告需要每10分钟刷新一次,并始终显示上次刷新后的最后24小时。但是,用户仍然需要能够更改时间范围 我做了什么 构建了一个报告,该报告根据三个参数显示单个地区的销售数据:开始时间、结束时间和地区代码。我们称之为区域销售 构建了一个主报告,其中包含多个子区域销售报告。主报表有两个参数-StartTime(具有默认值dateadd(“

系统-使用report builder 3.0的SSRS 2008R2(如果您认为答案在那里,也可以投标)

目标-创建一份报告,显示每个销售区域过去24小时的销售数据。报告需要每10分钟刷新一次,并始终显示上次刷新后的最后24小时。但是,用户仍然需要能够更改时间范围

我做了什么

  • 构建了一个报告,该报告根据三个参数显示单个地区的销售数据:开始时间、结束时间和地区代码。我们称之为区域销售
  • 构建了一个主报告,其中包含多个子区域销售报告。主报表有两个参数-StartTime(具有默认值dateadd(“h”、-24,Now())和EndTime(具有默认值Now())。我向子报表发送StartTime和EndTime,每个子报表都分配了自己的区域
  • 我已将主报告的自动刷新属性设置为600
  • 结果- 起初,一切似乎都很完美-主报告加载,并且显示的数据对于加载时间来说是正确的(假设为22:08)。但是,在自动刷新(发生在22:18)之后,数据到22:08仍然正确

    问题在于,在第一次加载报告时,参数会获得我所述的默认值(StartTime=10/12/2011 22:08&EndTime=11/12/2011 22:08)。 但是,在自动刷新而不是参数更新
    (因此我将得到StartTime=10/12/2011 22:18&EndTime=11/12/2011 22:18)
    时,我仍然得到旧值
    (StartTime=10/12/2011 22:08&EndTime=11/12/2011 22:08)

    有没有想过为什么,我该如何改变这一点


    谢谢

    如果我理解正确

    不幸的是,除非用户手动单击“查看报告”按钮,否则报告参数只能在第一次加载时获取其值


    为了解决这个问题,我尝试将日期参数转换为不使用默认值,而是从查询中获取它们的值,并对RDBMS使用等效的GETDATE()。如果我没有弄错的话,这将要求您在报告中添加另一个数据集。。。但它并不是一个真正的数据集,因为对它的查询将只是SELECT GETDATE()[或您的RDBMS的等效项]以及为此需要进行的任何转换。

    您在report server上测试过它吗?开发环境有复杂的刷新规则。当然,所有报表都发布到报表服务器。