我想在SSRS报告构建器中添加带有通配符的LIKE过滤器。我尝试使用报告构建器的过滤器数据部分中包含的contains子句。我尝试了'*'和'%',但其中的失败了。SSRS - 为报告构建器添加“LIKE”过滤器条件
我试图 MyFieldName包含2451 - 这succeds MyFieldName包含24 * - 失败 MyFieldName含有24% - 这失败
从下面的链接,我觉得这是一个老问题没有解决,直到呢。
你们有什么建议?
感谢
拉维笈多
我想在SSRS报告构建器中添加带有通配符的LIKE过滤器。我尝试使用报告构建器的过滤器数据部分中包含的contains子句。我尝试了'*'和'%',但其中的失败了。SSRS - 为报告构建器添加“LIKE”过滤器条件
我试图 MyFieldName包含2451 - 这succeds MyFieldName包含24 * - 失败 MyFieldName含有24% - 这失败
从下面的链接,我觉得这是一个老问题没有解决,直到呢。
你们有什么建议?
感谢
拉维笈多
您可以使用InStr
功能
=IIF(InStr(Fields!MyFieldName.Value, "2451"),TRUE,FALSE)
报表生成器不支持LIKE
操作。您必须使用CONTAINS
;
回答我的问题,下面的功能为我工作:
IF(FIND(MyFieldName, “24”)= 1,TRUE,FALSE)
这仅仅是一个部分答案因为这将适用于像(blabla *)这样的情况,但它不适用于像(bla * bla,blabla *)这样的情况。所以任何有更好主意的人都会受到欢迎。
有想法从上面Darren的评论做到这一点。
感谢
拉维笈多
然后upvote他。 :) –
@Cygal - 谢谢 –
在SSRS我们不能使用Like
。而不是你可以使用的Contains
。
IIF((MyFieldName).ToString().Contains("RequiredString"),"True","False)
在Visual Studio中的报告生成器中有一个Like,它有效。在搜索字符串中使用*作为通配符
感谢darren提供了及时回复,我需要的是 “= IIF(InStr(Fields!MyFieldName.Value,”2451 *“),TRUE,FALSE)”,我得到错误当我写这个时说无效字符。 – TechnicalSmile
下面为我工作 IF(FIND(MyFieldName,“24”)= 1,TRUE,FALSE) 从你的答案中得到了这个想法。谢谢。我会添加这个答案作为我自己的问题的答案,但只能在8小时后这样做。 – TechnicalSmile
在我看来,这并没有真正回答这个问题,因为它不处理通配符。 OP很高兴能够继续他的项目,但它不会帮助正在寻找在SSRS过滤器中使用通配符的未来用户。 –