SSRS 将多值文本参数转换为 SQL 语法中的字符串

SSRS Converting MultiValue Text Paramater into a String in SQL Syntax

我被迫为 SSRS 报表生成器使用 ODBC 源,源是 Impala SQL,它不支持使用参数。所以我不得不使用字符串生成器函数将参数获取到我的脚本中。这很好用,但是要求在文本参数中允许多个值。我不确定如何将这些值转化为允许脚本正确执行的语法,即每个值用逗号分隔包裹单引号。

当前工作,单值参数代码: ...member_id = ' "&Parameters!MemberSearch.Value()&"'...

原始数据集有超过 1700 万条记录,当尝试使用过滤器而不是参数时内存不足。

非常感谢任何帮助。

JOIN 可用于将数组转换为字符串。

="SELECT * FROM TABLE 
WHERE member_id IN ('" & JOIN(Parameters!MemberSearch.Value, "', '") & "')"

价值

Bill Mark Tom

将转换为

Bill', 'Mark', 'Tom

JOIN 的第二个参数 ("', '") 将在每个值之间放置一个结束单引号、逗号和一个开始单引号。表达式文本中的单引号将是字符串所需的开始和结束引号。

我不知道 Impala 但对于大多数 DBMS,您需要将 EQUALS 更改为 IN 以获得多值。