SSRS订阅无法识别我已定义的日期参数默认值

时间:2014-12-12 10:40:39

标签: sql-server visual-studio-2012 reporting-services reporting

我的报告包含2个参数@startdate@enddate,它们是日期/时间格式。报表运行时,您可以从日历中选择日期。我将报告部署到运行SQL Server 2012报告服务器的报告服务器。

我现在已经为这两个参数设置了默认值,因为我想将范围设置为今年的开头到今天。我在Visual Studio的参数属性中使用“指定值”设置默认值,如下所示:

@startdate设为01/02/2013 00:00:00
@enddate设置为表达式=today()

当我在Visual Studio中本地预览报表时,它正确地填充了我期望的两个参数。我部署到报表服务器,然后进入报表管理器创建订阅,但它在startdate参数框旁边没有“使用默认值”。我还注意到enddate参数框选择了“使用默认值”,但是这个和输入框都是灰色的。

起初我认为这是订阅设置的问题,但是当我从报表管理器(以及从sharepoint页面)运行已部署的报表时,它不会使用我的默认值作为开始日期,并且直到我手动选择开始日期才将结束日期设置为今天的日期。

我可以使用表达式返回特定日期作为变通方法,但我的问题是为什么部署的报表在本地运行的报表识别出来时无法识别此默认参数?

1 个答案:

答案 0 :(得分:1)

只需检查一下,因为这应该有效,我会一直这样做。

确保报告参数的类型为日期/时间,并且它具有默认值。 这应该是这种情况,因为您可以从VS运行它并且默认值是可见的。

接下来,通过浏览器导航到报表服务器,找到报表的rdl文件,右键单击(或向下箭头) - >管理。选择“参数”选项卡,确保勾选了“HAS DEFAULT”框,然后单击“接受”。当您第一次上传报告时,它会保存参数,如果您随后更改VS中的参数并再次上传,它似乎不会覆盖初始参数。我总是在上传后仔细检查数据源和参数。

接下来转到订阅标签,编辑订阅,在底部您将看到报告参数值,开始日期和结束日期参数文本框应该显示为灰色,旁边应该勾选USE DEFAULT框

希望这可以帮助您找到问题。