在ssrs中创建值括在单引号中的串联字符串
以上问题有什么答案吗?。我也遇到了同样的问题:
ssrs端的查询是:
select *
from xyz.test_table1
where f1 in (?)
在本例中,数据源是一个配置单元表。用户对参数的选择是一个多值参数,我希望将其替换为:
where in ('value1','value2')
执行查询时。但是,当查看配置单元端的查询执行时,会发现:
where in ('value1,value2')
我怎样才能解决这个问题?
在ssrs中创建值括在单引号中的串联字符串
以上问题有什么答案吗?。我也遇到了同样的问题:
ssrs端的查询是:
select *
from xyz.test_table1
where f1 in (?)
在本例中,数据源是一个配置单元表。用户对参数的选择是一个多值参数,我希望将其替换为:
where in ('value1','value2')
执行查询时。但是,当查看配置单元端的查询执行时,会发现:
where in ('value1,value2')
我怎样才能解决这个问题?
2条答案
按热度按时间fiei3ece1#
从这里的文档来看,配置单元查询语言似乎支持公共表表达式。
因此,类似于以下内容的工作应该是:
如果您不想在所有的数据集中都使用这个僵化的规则,那么您需要将这个逻辑封装到任何与SQLServer表值参数等价的配置单元中,也许是udtf?
在sql server中,函数定义如下:
nbewdwxp2#
我想出来了!为其他用户发布答案。
以如下表达式提供查询(在ssrs中的query下):
=“selectfrom xyz.test\u table1 where f1 in('”&join(参数)!参数值,“','”&“')”
上面的字符串操作转换为:
从xyz.test\u table1中选择其中f1在('value1','value2')
注:value1,value2这里是用户选择的多值参数的值