如何在SSRS报表中添加最后缓存日期,而非打开时间?
如何在SSRS报表中显示缓存的最后刷新时间
当然可以实现,以下是两种实用方法:
方法一:使用SSRS内置表达式
直接在报表中添加文本框,设置其表达式为:
=Format(Globals!ExecutionTime, "yyyy-MM-dd HH:mm:ss")
这个值对应的是报表缓存生成的时间(也就是数据最后刷新的时间),用户打开缓存报表时该值不会变化,直到缓存下次刷新。如果用户手动刷新报表,该值会更新为手动刷新的时间。
方法二:查询SSRS系统数据库获取缓存刷新时间
如果需要精准获取缓存刷新计划的执行时间,可以创建一个数据集,查询ReportServer数据库的系统视图:
SELECT MAX(els.TimeStart) AS LastRefreshTime FROM CacheRefreshPlans crp JOIN ExecutionLogStorage els ON crp.ReportID = els.ReportID WHERE crp.ReportID = (SELECT ItemID FROM Catalog WHERE Name = '你的报表名称')
将报表名称替换为实际名称后,在报表中添加文本框绑定LastRefreshTime字段,格式化显示即可。
注意:查询ReportServer数据库需要具备相应权限,不同SSRS版本的系统视图可能略有差异。
内容的提问来源于stack exchange,提问作者Simran Kaur
相关产品推荐
相关产品推荐

