【问题标题】:What happens when all items in a drop down list are selected选择下拉列表中的所有项目时会发生什么
【发布时间】:2014-06-16 12:56:36
【问题描述】:

我在网上的任何地方都没有找到这个答案。在 SSRS 2008 中,当使用允许多选的参数时,如果选中“全选”,所有可用值是否会在逗号分隔列表中返回?

【问题讨论】:

  • 是的,所有值都以逗号分隔的列表形式返回。您可以在一个简单的测试中通过连接到数据库并检查 SQL Server Profiler 中的数据库调用的报告来确认自己。
  • 补充一点说明:如果您的 SQL 嵌入到您的报告中,该参数将被替换为逗号分隔的字符串值列表 - 例如:'cat','dog ','长颈鹿'.如果将参数传递给存储过程,则存储过程将接收一个逗号分隔值的字符串 - 例如:'cat,dog,giraffe'。您可以对报表中嵌入的 SQL 中的多值参数使用 IN 操作,但不能对传递给存储过程的参数使用 IN 操作(您需要先解析该参数)。

标签: reporting-services ssrs-2008


【解决方案1】:

参数值由 SSRS 在内部保存在一个数组中。

它们如何传递给 SQL 取决于您在 SQL 中引用它的方式,以及 SSRS 中数据集定义的参数页面。

典型的风格是在 SQL 语句的 WHERE 子句中引用参数,例如

WHERE My_Column IN ( @My_Parameter)

默认情况下,这会将数据集的参数页面上的引用设置为:

=Parameters!My_Parameter.Value

这就像传递一个逗号分隔的列表,但这不是实际的机制。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-04-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-09-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多