我被迫为SSRS报表生成器使用ODBC源,源是Impala SQL,它不支持使用参数。所以我不得不使用一个字符串生成器函数来将参数输入到我的脚本中。这运行得很好,但是要求在文本参数中允许多个值。我不知道如何将这些值转换为允许脚本正确执行的语法,即每个值都用逗号分隔单引号。
当前工作,单值参数代码:…member_id='"amp;参数!MemberSearch.Value((";'。。。
原始数据集有1700多万条记录,在尝试使用过滤器而不是参数时内存不足。
非常感谢您的帮助。
="SELECT * FROM TABLE
WHERE member_id IN ('" & JOIN(Parameters!MemberSearch.Value, "', '") & "')"
值
Bill Mark Tom
将转换为
Bill’,Mark’,Tom
JOIN的第二个参数("','"(将在每个值之间放置一个结束单引号、逗号和一个开始单引号。表达式文本中的单引号将是字符串所需的左引号和右引号。
我不知道Impala,但对于大多数DBMS,您需要将多值的EQUALS更改为IN。