首页 > 解决方案 > 从自定义代码返回字符串数组的 SSRS 数据集查询参数

问题描述

问题 在数据集查询中使用参数,该参数有时只是一个字符串,有时是多个值,这些值是从自定义代码返回的。

示例查询

SELECT *
FROM myTable
WHERE tblCol IN (@Parameter)

有时,@Parameter 中返回的所有内容都是一个简单的字符串值,而其他时候它需要是多个字符串值。

标签: sql-serverreporting-services

解决方案


为此处理:

  1. 在“数据集属性”窗口中创建查询并指定参数名称
  2. 在数据集属性中选择参数选项
  3. 您将看到您在查询中创建的参数已列出。点击功能按钮
  4. 将参数与适当的函数相关联,即在表达式窗口中类似于 =Code.myfunction()

然后你的函数需要返回,就像这样(注意没有指定函数将返回什么数据类型(ReturnType),这很重要,就像你指定“as string”或“as string()”或任何它不起作用一样正确):

Function myfunction()
Return {"value1","value2"}
End Function

如果您的函数要在不同时间动态返回不同的字符串,只需确保每个返回都用 {} 包装。这将处理返回一个或多个值。


推荐阅读