【问题标题】:SSRS - Report Based on Parameter SelectionSSRS - 基于参数选择的报告
【发布时间】:2017-06-16 18:55:07
【问题描述】:

我们有一份基于网络的报告,我们正在迁移到 SSRS。在SSRS报表中,我需要一个报表能够根据参数值的选择调用三个不同的存储过程,输出/报表显示也会不同。

我相信我可以为每个过程创建三个不同的数据集,但我不希望当用户选择“查看报告”时所有三个数据集都实际运行,因为那样会过度执行。

我怎样才能只调用一个过程,并根据参数只显示正确的报告部分?

如果以上没有意义,让我试着举个例子:

参数:报告类型 值:日/月/年

如果用户选择“Day”作为报告类型参数,我需要调用“SP_ReportDay”。如果用户选择“月”,我需要调用“SP_ReportMonth”,如果用户选择“年”,我需要调用“SP_ReportYear”。

每种报告类型都会显示不同的数据。 ecah 报告的列不同,显示的数据也不同。

如何根据选择标准显示/隐藏部分以及调用正确的程序?

【问题讨论】:

  • 您打算如何处理不同的列?这听起来像三份报告会更好。也许使用子报告,您可以将其作为一份报告显示给用户。
  • 我同意三份报告会更好,但不幸的是我的方向是一份报告。我可以查看子报表选项

标签: sql-server reporting-services


【解决方案1】:

如果结果集不同,除了运行所有三个存储过程之外,您别无选择。但是您可以向每个 sproc 添加一个参数,分别告诉它们实际上不返回任何结果。您的报告可以在运行时设置此参数。您必须相应地修改存储过程的主体。

【讨论】:

  • 我明白你在说什么。对于目前的困境,这似乎是最好的解决方案。
  • 3 个 sprocs 分别与 3 个 tablixs 绑定,是否有机会根据参数查看 tablixs。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-12-25
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多