SSRS订阅 - 更改主题行上的日期格式(@ExecutionTime)

时间:2014-08-22 04:51:44

标签: datetime reporting-services subscription

问题:SSRS订阅电子邮件中的默认主题行使用@ExecutionTime预定义变量,并在运行时将其替换为日期时间,单位为mm / dd / yyyy hh:mm:ss格式。由于我们已经为印度客户部署了我们的产品,我们希望日期格式为dd / mm / yyyy格式。

互联网上的大多数帖子都建议使用数据驱动的报告订阅来构建自定义电子邮件主题。但是根据SQL Server文档,此功能仅适用于Enterprise和BI版本。

其他尝试使用=参数!ExecutionDateTime = FORMAT(@ ExecutionTime," dd-MMM-yyyy") =格式(Globals !ExecutionTime," MMM yyyy")失败了。

两天徒劳的尝试解决这个问题。将继续寻找,并希望SO社区可以提供帮助。

2 个答案:

答案 0 :(得分:1)

除了Tushar Sood的回答之外,我还想补充一点:可以用于订阅,在更改语言设置后添加

这可以通过在报告数据库中执行以下步骤来实现:

  1. 转到托管Reporting Services的SQL服务器
  2. 打开SQL Server Management工作室并转到名为“ReportServer”的数据库
  3. 展开数据库“Reportserver”
  4. 展开表格
  5. 在编辑模式下打开名为“dbo.Subscriptions”的表格...您将看到一个名为“Locale”的列
  6. 对于某些显示“M / d / yyyy”格式的报告,区域设置将设置为值“en-US”。

    1. 将值更改为“en-GB”
    2. 现在,使用 @ExecutionTime 的所有报告(包括旧版)将以“en-GB”格式开始显示日期时间。< / p>

      就是这样......快乐报道!!!

答案 1 :(得分:0)

难以置信,但却是如此。 @ExecutionTime变量的日期格式由报表服务器的Internet Explorer上的“语言”设置确定。以下是改变它的方法:

  1. 在IE中,打开设置 - &gt;互联网选项 - &gt;语言 - &gt;添加.. - &gt;英语(印度)[en-IN](或具有您所需日期格式的语言)

  2. 现在添加新的SSRS订阅并验证收到的电子邮件。

  3. PS:这仅适用于更改语言设置后添加的订阅。较早的订阅电子邮件将继续使用早期格式。

    enter image description here