SSRS报告的有效期

时间:2018-11-16 17:45:57

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

我们有ssrs 2008 r2 rdls。我打开了SSRS报告,并在浏览器中将其打开了30分钟以上。如果我现在单击通过操作或转到报告的任何向下钻取。我不希望报告向我提供该信息。它应说明报告已过期。

是否已有可用的解决方案。将来的SQL Server版本是否有解决方案?

2 个答案:

答案 0 :(得分:0)

在SSRS中没有内置的方法可以原生完成此操作。

我之前从未听说过有人问过这样的要求,所以我怀疑是否已经有一些东西要添加它。

我对JavaScript的了解还不足以知道是否可以向JavaScript URL添加逻辑,以在该URL中创建空白链接或链接到“页面过期”页面。

="javascript:void(window.open('https://na5.salesforce.com/','_blank'))"

答案 1 :(得分:0)

您可以在主报表上创建一个隐藏的datetime参数,并将其默认值设置为当前时间:=Now()。我们将此参数称为@MainReportRuntime

在子报表上使用相同的隐藏参数,并将@MainReportRuntime传递到子报表。

修改子报表的SQL,以便仅在日期距主报表运行时半小时之内返回数据,并在大于半小时的报表中添加报表到期消息:

SELECT SomeField
FROM SomeTable
WHERE @MainReportRuntime >= DateAdd(mi, -30, Current_Timestamp) 
UNION ALL 
SELECT 'Report has expired - please rerun report to get current data'
WHERE @MainReportRuntime < DateAdd(mi, -30, Current_Timestamp)