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

问题描述 投票:0回答:3

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

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

其他尝试使用 =Parameters!ExecutionDateTime or =FORMAT(@ExecutionTime,"dd-MMM-yyyy") or =format(Globals!ExecutionTime , "MMM yyyy") 失败。

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

datetime reporting-services subscription
3个回答
1
投票

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

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

    转到托管您的 Reporting Services 的 SQL 服务器
  1. 打开 SQL Server Management studio 并转到名为
  2. “ReportServer” 的数据库
  3. 扩展数据库
  4. “Reportserver”
  5. 展开表格
  6. 在编辑模式下打开名为
  7. "dbo.Subscriptions" 的表...您将看到一个名为 "Locale" 的列
对于一些显示

“M/d/yyyy” 格式的报告,区域设置将设置为值 “en-US”。

    将值更改为
  1. “en-GB”
现在您所有的报告

(包括旧报告)使用@ExecutionTime将开始以“en-GB”格式显示日期时间。

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


0
投票
难以置信,但却是真的。 @ExecutionTime 变量的日期格式由报表服务器的 Internet Explorer 上的语言设置决定。更改方法如下:

  1. 在 IE 中,打开设置 -> Internet 选项 -> 语言 -> 添加.. -> 英语(印度)[en-IN](或具有您需要的日期格式的语言)

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

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

enter image description here


0
投票
您可以根据需要在报告中更改格式创建订阅并将此语句放入其中

DECLARE @Datum AS CHAR(10) SET @Datum = convert(char(10),getdate(),104)

IF object_id('tempdb..##Kommentar') 不为空 DROP TABLE ##Kommentar
SELECT 'Sehr geehrte Damen und Herren,(#) anbei erhalten Sie den aktuellen Tendenzbericht vom ' + @Datum + ' (#) Mit freundlichen Grüßen' AS Kommentar 进入##Kommentar

从 ##Kommentar 中选择 Kommentar

重要提示:在“(#)”处将其替换为 Html“CR”

然后在报告电子邮件的正文中使用“Kommentar”作为变量

对我有用!

哈比卜·拉比迪

http://www.litbic.com/

© www.soinside.com 2019 - 2024. All rights reserved.