【问题标题】:SSRS Date Time ParameterSSRS 日期时间参数
【发布时间】:2015-11-29 21:11:23
【问题描述】:

我有一份 SSRS 报告,我想将默认结束日期设置为今天日期前 6 个月,并将开始日期设置为结束日期前 2 年。如果我在 9 月运行它,结束日期将为 3 月,下个月结束日期应自动更新为 4 月。如何在 SSRS 中配置它?

【问题讨论】:

    标签: sql sql-server-2008 reporting-services ssrs-2008-r2


    【解决方案1】:

    试试这个:

    开始日期:=DateAdd(m, -30, GetDate())

    结束日期:=DateAdd(m, -6, GetDate())

    这里有很好的参考:

    SQL Server DATEADD() Function

    SQL Date Functions

    【讨论】:

      【解决方案2】:

      下面的表达式将根据您的需要工作,您需要将它们放在参数默认值部分并选择“指定值” -

      开始日期 =DateAdd(DateInterval.Month,-30,Now())

      结束日期 =DateAdd(DateInterval.Month,-6,NOW())

      同样选择参数为Date/Time。 下面的快照显示我选择开始日期为Date/Time 和结束日期为Text 的差异

      【讨论】:

      • 我的数据类型是 DateTime,这就是为什么我会收到“为报告参数 'StartDate' 提供的值对其类型无效”错误?
      • 我怀疑你需要FORMAT你的datetime。请检查您的系统日期格式,因为 SSRS 要求所有日期参数都是美国格式。
      • 它们都是美国格式,不知道为什么它总是向我抛出“为报告参数提供的值不是有效类型”错误。
      • 您能否提供一些屏幕截图以供参考,如果可能的话,在报告的某个文本框中显示 StartDate/EndDate 值并检查。要验证该值,您始终可以使用IsDate,然后决定需要什么显示出来。
      • StartDate DATETIME , EndDate DATETIME , AS BEGIN SET NOCOUNT ON SELECT AD.AccountNumber , DealerNameNumber , DealerNumber , DatePurchased as DatePurchased
      【解决方案3】:

      创建参数,并设置默认值如下:

      开始日期:=DateAdd(DateInterval.Month, -30, Today()))

      结束日期:=DateAdd(DateInterval.Month, -6, Today()))

      在数据集查询中使用这些参数值来过滤掉结果。

      【讨论】:

      • 试过了,这是我收到的错误:为报告参数“StartDate”提供的值对其类型无效。
      • 我还尝试将“Now”更改为 GETDATE()。同样的错误。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多