【问题标题】:Execute one of the dataset based on one of the parameter value while each database has its own stored procedures根据参数值之一执行数据集之一,而每个数据库都有自己的存储过程
【发布时间】:2018-09-24 21:45:00
【问题描述】:

朋友们,

我使用两个不同的存储过程为 SSRS 报告创建了两个数据集,一个在存储过程执行时获取“摘要”记录,另一个数据集获取“详细”记录。

报告有 4 个参数@beginDate, @endDate, @renewalDate, @level。当用户填充所有参数@level 时,他们可以从下拉列表中选择“摘要”或“详细信息”。

在报表正文中,我创建了两个不同的表,一个用于汇总记录,一个用于详细记录(不能进行钻取或子报表)以保存数据集值

根据参数@level = "summary""detail",如何为数据集执行正确的存储过程?

【问题讨论】:

  • 出于好奇,为什么不在报告中只包含一个存储过程并有两个 tablix。一个 tablix 显示详细信息,一个 tablix 进行聚合并显示摘要(分组等)并隐藏其中一个根据参数?只是一个想法。
  • 我也可以试试,感谢您的想法。

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


【解决方案1】:

我想我在搜索更多之后找到了答案...我可以通过单击来完成

选择表格或矩阵报表项,单击鼠标右键,然后选择 Tablix 属性。

在 Tablix 属性对话框中,单击“可见性”窗格。

通过首先将报表最初运行时间选项更改为基于表达式显示或隐藏来更改显示选项。


=IIF(Parameters!pLevel.Value = "Summary",false,true)

=IIF(Parameters!pLevel.Value = "Detail",false,true)


欢迎提供更多答案。谢谢!!

【讨论】:

  • 这并没有达到您最初的问题所要求的......只运行一个存储过程..而不是它运行两个但对你隐藏一个..
猜你喜欢
  • 1970-01-01
  • 2021-07-19
  • 1970-01-01
  • 2019-12-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-07-08
相关资源
最近更新 更多