【问题标题】:How to create a report subscription in SSRS which passes today's date to paramters?如何在 SSRS 中创建将今天的日期传递给参数的报告订阅?
【发布时间】:2018-11-16 18:10:28
【问题描述】:

我创建了一个带有 StartDate 和 EndDate 参数的报告。如果我想查看一天的信息,我在两个参数中使用相同的日期。我现在想为此报告创建订阅,以便它每天运行。报告运行时如何使用当前日期并将其传递给这些参数?谢谢!

【问题讨论】:

    标签: ssrs-2016


    【解决方案1】:

    第 1 步:您将拥有 defaultDates 数据集。可以是查询,也可以将其包装为存储过程。

    Select TodaysDate = cast(getdate() as date)
    

    第 2 步:然后,在两个参数的默认值下,您将锚定从数据集获取值并指向该数据集,即 defaultDates。

    第 3 步:在本地进行测试。确保从工作目录中删除 .DATA 以强制执行新数据。

    第 4 步:构建并部署到任何测试位置。

    【讨论】:

      【解决方案2】:

      编辑:这仅适用于企业版。

      首先,编写一个查询,获取当前日期并将其格式化以匹配参数中的 VALUE(例如,它是 DD-MM-YYYY、YYYY-MM-DD 吗?)。确保将您的列命名为有意义的名称,例如“CurrentDate”。

      select cast(current_timestamp as date) as CurrentDate
      

      然后为您的报告创建一个新订阅。选择数据驱动订阅,而不是标准订阅。现在选择您的 SQL 数据源并粘贴到您的查询中。按验证以确保它运行正常。点击确定。

      现在您可以进入页面最底部的订阅参数。将值的来源设置为“从数据集中获取值”,然后从下拉列表中选择您的“当前日期”。

      就是这样,当前日期的数据驱动订阅。

      【讨论】:

      • 没有运气,没有双关语:-> 我想我没有企业版,所以我没有数据驱动订阅选项。你能想出别的办法吗?我只想每天运行一次报告并使用当前日期输入到查询中。谢谢!
      • 在您的存储过程或查询端,您还需要 2 个日期或日期时间参数。您将在 where 子句中将它们设置为... where your_Date_column 在 @Date_1 和 .@Date_2 之间(请记住日期和日期时间数据类型的行为)。您可以随时运行报告,这些参数将设置为今天的日期。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-10-02
      • 1970-01-01
      相关资源
      最近更新 更多