【问题标题】:SSRS Report Parameter IssueSSRS 报告参数问题
【发布时间】:2019-06-14 16:02:58
【问题描述】:

我有一份包含 3 个参数的报告。开始日期、结束日期和段。 Segment 参数是一个多值并且被设置为默认值。当我运行报告时(单击查看报告后),Segment 参数值变为空白。当我选择多个值时,报告会运行,但是当我选择所有参数时会删除默认值。我试图解决 Visual Studio 2013 中的问题,它运行良好,问题是当它从 SSRS 报表服务器运行时。请指教。谢谢。

【问题讨论】:

  • 如何填充 Segment 参数的默认值?
  • 它来自另一个表。我还发现,如果我取消选中其中一个部分,报告运行良好。这背后的原因是一个段没有数据,但仍然在 Visual Studios 中运行并选择所有段很好,但在 SSRS 报表服务器中出现了问题。谢谢。

标签: reporting-services


【解决方案1】:

您可以通过以下方式解决无数据问题:

假设您的参数名称是:

@startdate、@enddate、@segment

为您的分段数据集获取不同分段值的列表。

为此,您需要执行以下操作

假设您的表名称是 segmenttable 并且您的列是 segmentcolumn 并且您在某处有一个日期加入以获取日期之间的所有不同段列.. 将段参数列表的查询设置为以下(当然是类似的)

select distinct 
segmentcolumn 
from segmenttable 
where segmenttable.segmentdate between @start_date and @enddate

这将始终确保段参数仅具有所选日期之间的值,并且永远不会具有与段关联的“无数据”的任何值..

现在,从此数据集中为 @segment 参数设置可用值和默认值。完成!

【讨论】:

  • 开始和结束日期不起作用,因为段是在开始和结束日期之前创建的。我们发现段的长度大于源表数据的长度,但令我感到困惑的是,该报告在 Visual Studio 中运行良好但在 ssrs 报告服务器中运行良好。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-09-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多