ssrs-2008 - Select All 参数在 SSRS 中不起作用

标签 ssrs-2008 reporting-services

我有一个报告,它为指定的日期范围和事件类型创建了一个事件列表。

日期范围和事件类型是报告中定义的参数。日期参数(@DateFrom 和@DateTo)正常工作。

但是,@EventType 参数定义为数据集提供的值列表(选中“允许多个值”),在使用 {Select All} 复选框时不提供预期的行为。如果我通过选中列表中的多个框来选择一种或多种事件类型,报告将显示与指定事件类型正确匹配的事件。

但是,如果我单击 {Select All} 框(然后突出显示所有其他可能的值),报告不会显示所有这些事件类型值的事件。它似乎错过了 {Select All} 框选择的几个值。如果我专门针对那些缺失值运行报告,报告将返回与这些类型匹配的事件。这向我表明,这些类型的数据并不缺乏。

出于这个原因,在我看来,{Select All} 被窃听了……或者可能缓存在某个地方?我试过删除报告/参数数据集并重新部署无济于事。值得注意的是,这种行为也在部署之前在本地发生。

有没有人以前见过这个,或者有没有人有任何建议?

编辑 - 我还应该提到有问题的参数(@EventType)没有分配默认值。

最佳答案

你如何声明变量的谓词?它应该是这样的:

where thing in (@Variable)

其中@Variable 是一个多值参数。

您可以尝试通过定义它们来查看多值参数的值是否也在某处被丢弃。通常,如果数据类型不同,多值参数的收集方法会导致问题。

你也可以尝试在运行时设计你的数据集来构建而不是静态查询。 EG:为您的数据集设置一个表达式,例如:
="Select * from table where thing in (" & Parameters!Variable.Value & ")"

这将导致参数作为字符串的一部分构建,然后在运行时而不是从传统查询进行评估。

关于ssrs-2008 - Select All 参数在 SSRS 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15835907/

相关文章:

reporting-services - SSRS 2008 NULL 参数

reporting-services - 如何使用TSQL删除SSRS中的用户

ssrs-2008 - SSRS 报告每个类别都有一个单独的表格/网格

reporting-services - 在条形图中条形上方垂直显示标签

ssrs-2008 - SSRS表达式中的WHERE子句

c# - ReportingServices SetReportDataSources 您正尝试对项目进行的异常操作错误

mysql - Report Builder 3.0 前向依赖报告参数

reporting-services - 如何通过 SSRS Web 服务获取报告 URL?

ssrs-2008 - 定义日期参数

ssrs-2008 - SSRS ReportingService2010 将嵌入式数据源更改为共享数据源