首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >具有Like语句的SSRS参数的多值

具有Like语句的SSRS参数的多值
EN

Stack Overflow用户
提问于 2019-10-25 15:31:04
回答 1查看 980关注 0票数 0

我需要找到一种多值参数的方法来过滤我的报告,在查询中我有一个LIKE语句。

我有一个参数,为我提供了一个器官(肝脏、肾脏、心脏)的列表,在这里我可以选择多个值。我需要影响两列(referral_organs和registration_organs)。有可能在同一细胞中有两个器官供转诊或登记--例如,每一栏中都可能有“肝/肾”或“肺/肝”值。为了处理这个问题,我在WHERE子句中使用了一个LIKE语句:

代码语言:javascript
复制
WHERE (F.REFERRAL_ORGANS LIKE '%' + @ORGAN + '%' OR F.REGISTERED_ORGANS LIKE '%' + @ORGAN + '%')

我的器官列表来自另一个数据集。

这对于一个被选中的器官很好,但是在多个选择上失败。

我在这里找到了一个相当接近的解决方案:https://dba.stackexchange.com/questions/162845/multi-values-for-ssrs-parameter-with-like-statement

但是这个解决方案声明为您的数据集输入一个表达式,而不是像这样的查询

代码语言:javascript
复制
="SELECT "
&     "[NationalIDNumber],"
&      "[JobTitle]"
&"FROM [AdventureWorks2014].[HumanResources].[Employee]"
&"WHERE [JobTitle] LIKE '%" & Join(Parameters!jobtitle.Label, "%' OR [JobTitle] LIKE '%") & "%'"

但我不清楚如何实现这一目标。

如何为器官参数选择多个值,并在查询中使用LIKE语句筛选表?谢谢。

EN

回答 1

Stack Overflow用户

发布于 2019-10-25 18:43:52

我将使用CHARINDEX在Join中找到REFERRAL_ORGANS (参数!ORGAN.Label,“\”)。

代码语言:javascript
复制
&"WHERE CHARINDEX(F.REFERRAL_ORGANS'" & Join(Parameters!ORGAN.Label, "|") & "') > 0 ...

如果REFERRAL_ORGANS是而不是,则CHARINDEX将返回0,这是在器官参数标签的连接字符串中找到的,因此您的表达式将查找大于一个的字符串。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58561540

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档