s-s-rS 报告的有效期

Posted

技术标签:

【中文标题】s-s-rS 报告的有效期【英文标题】:Validity period for s-s-rS reports 【发布时间】:2018-11-16 17:45:57 【问题描述】:

我们有 s-s-rs 2008 r2 rdls。我打开一个 s-s-rS 报告并在我的浏览器中保持打开状态超过 30 分钟。如果我现在通过操作或转到报告单击任何钻取。我不希望报告让我知道这些信息。它应该说明报告已过期。

是否已经有解决方案。未来版本的 SQL Server 是否有解决方案。

【问题讨论】:

从您对首字母缩略词的使用和这个简短的解释中不清楚您正在尝试做什么,您尝试了什么,以及您得到了什么结果。花时间尽可能清楚地解释您的问题和结果,格式化文本以明确您在做什么。如果您无法提供minimal reproducible example,也许您需要在dba.stackexchange.com 上进行研究。 问题的澄清应该在问题本身中。 Edit 问题,并在文本中明确说明您想要做什么,您使用minimal reproducible example 尝试了什么以及您得到了什么结果,包括任何错误消息。从您的 cmets 看来,这与编码无关,因此对于 Stack Overflow 而言,这可能是题外话。 @jdv - 如果报告已打开超过 30 分钟,OP 希望 s-s-rS 报告链接不起作用。如果您不了解产品,也许您不应该发表评论。大多数开发人员都知道 MCVE 很糟糕 - 大多数 *** 问题都没有。 @HannoverFist 您似乎是专家,那么您为什么要在评论中提出潜在的答案?或者,也许,您可以编辑问题以更清楚地说明此处实际询问的内容。无论哪种方式,cmets 都不是为了回答或抱怨。它们用于澄清和改进问答。 【参考方案1】:

在 s-s-rS 中没有内置的方法来本地执行此操作。

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

我对 javascript 的了解还不够,无法知道您是否可以将逻辑添加到 JavaScript URL,以便创建空白链接或指向页面过期页面的链接。

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

【讨论】:

【参考方案2】:

您可以在主报表上创建一个隐藏的日期时间参数并将其默认值设置为当前时间:=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)  

【讨论】:

以上是关于s-s-rS 报告的有效期的主要内容,如果未能解决你的问题,请参考以下文章

Reporting Services [s-s-rS] 表达式的有效样式格式字符串是啥?

s-s-rS 数据源连接问题?

从以前的 s-s-rS 实例中恢复旧的 RDL 文件

如何有效地报告Bug

如何有效地报告 Bug

s-s-rS 2008 报告 SQL 选项