reporting-services - 在 SSRS 中隐藏子报告(并且不执行存储过程)

标签 reporting-services ssrs-2008 ssrs-tablix ssrs-grouping

<分区>

我可以使用隐藏/显示子报表的表达式设置隐藏属性,但我使用 SQL Profiler 发现,子报表存储过程仍在执行,即使子报表被隐藏.

除了更改存储过程本身之外,是否有人知道避免这种情况的方法。如果不是,有没有人知道为什么即使子报表被隐藏也执行存储过程的原因?

这与 This one 是同一个问题但那里没有答案所以我再次询问任何帮助都会很棒

最佳答案

我有一个大型复杂报表(最多 10k 控制行),其中 7 个子报表中有 1:n 行。除非您可以抑制子报表中的 SQL 执行(因为大多数子报表大部分时间都是隐藏的),否则它会像狗一样运行。

千辛万苦后发现,抑制子报表渲染和数据集执行真的很简单。您所需要的只是子报表中的必需报表参数。通常有一个 ID 字段传递给子报表,所以这应该没有问题。

在主报表中,参数通过类似如下的表达式传递:

=Iif(Fields!SubReportXisHidden.Value,Nothing,Fields!ID.Value)

子报表将因缺少参数而呕吐,不会呈现,也不会执行 SQL。

深深的喜悦!

关于reporting-services - 在 SSRS 中隐藏子报告(并且不执行存储过程),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18230215/

相关文章:

reporting-services - ssrs rdl 文本框表达式串联字符串和字段

excel - SSRS 导出到 Excel 未格式化

sql-server - 在 SQL Server Reporting Services 中,如何在打印或下载为文件(csv、pdf 等)时显示隐藏列

c# - 如何在SSRS中动态进行水平合并

reporting-services - ssrs在行组上设置列可见性

excel - 在 SSRS 中将条件边框导出到 Excel

c# - 通过 'normal' url 打开 Excel 格式的 ssrs 报告,webrequest 返回 401

grouping - 将新组添加到具有现有组的 SSRS tablix?

ssrs-2008 - SSRS 根据 rdl 文件中的参数以编程方式显示/隐藏 Tablix 列

reporting-services - SSRS 2008 R2 按需向下钻取到子报表