【问题标题】:SSRS subscription is not recognising a date parameter default that I have definedSSRS 订阅无法识别我定义的日期参数默认值
【发布时间】:2014-12-12 10:40:38
【问题描述】:

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

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

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

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

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

我可以使用表达式返回特定日期作为解决方法,但我这里的问题是,为什么本地运行的报告能够识别此默认参数时,部署的报告却无法识别它?

【问题讨论】:

  • 不是答案,因为它是一种解决方法,但您可以使用表达式返回特定日期,然后报表服务器和订阅设置将其识别为默认日期:=DateValue("February 01 2013")

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


【解决方案1】:

只需检查几件事,因为这应该有效,我一直这样做。

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

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

接下来转到订阅选项卡,编辑订阅,在底部你会看到报告参数值,开始日期和结束日期参数文本框应该是灰色的,旁边的框使用默认值应该被勾选。

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-02-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-05
    • 1970-01-01
    相关资源
    最近更新 更多