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



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

当前工作,单值参数代码:…member_id='"amp;参数!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。

最新更新