Sql server SSRS-添加“安全”字样;例如;报表生成器的筛选条件
我想在SSRS报表生成器中添加一个类似于带通配符的过滤器。我尝试使用报表生成器的filter data部分中的contains子句。我尝试了“*”和“%”,但都失败了 我试过了 MyFieldName包含2451-此成功 MyFieldName包含24*-此操作失败 MyFieldName包含24%-此操作失败 从下面的链接,我觉得这是一个老问题,至今没有解决办法 你们有什么建议 谢谢Sql server SSRS-添加“安全”字样;例如;报表生成器的筛选条件,sql-server,reporting-services,report-builder2.0,Sql Server,Reporting Services,Report Builder2.0,我想在SSRS报表生成器中添加一个类似于带通配符的过滤器。我尝试使用报表生成器的filter data部分中的contains子句。我尝试了“*”和“%”,但都失败了 我试过了 MyFieldName包含2451-此成功 MyFieldName包含24*-此操作失败 MyFieldName包含24%-此操作失败 从下面的链接,我觉得这是一个老问题,至今没有解决办法 你们有什么建议 谢谢 拉维·古普塔您可以使用InStr功能 =IIF(InStr(Fields!MyFieldName.Value
拉维·古普塔您可以使用
InStr
功能
=IIF(InStr(Fields!MyFieldName.Value, "2451"),TRUE,FALSE)
报表生成器不支持
LIKE
运算符。您必须使用包含 回答我自己的问题,下面的函数对我很有用:
IF(FIND(MyFieldName,“24”)=1,TRUE,FALSE)
这只是一个部分答案,因为它适用于(blabla*)这样的情况,但不适用于(bla*bla,blabla*)这样的情况。因此,任何有更好想法的人都是最受欢迎的
达伦在上面的评论中提出了这样做的想法
谢谢
拉维·古普塔在SSR中,我们不能像
那样使用。您可以使用Contains
来代替它
IIF((MyFieldName).ToString().Contains("RequiredString"),"True","False)
在VisualStudio中的报表生成器中,有一个Like,它可以正常工作。在搜索字符串中使用*作为通配符这已经很晚了,但我为数据集的参数过滤器找到了解决方案。
使用
表达式:
=IIF(InStr(Fields!AccountName.Value, Parameters!paramAccountName.Value) OR Parameters!paramAccountName.Value = "*", TRUE, FALSE)
类型
Boolean
操作员
=
值
true
该参数默认为“*”,因此报告在默认情况下似乎会捕获所有内容。我刚刚遇到了这个旧线程,我很好奇为什么您不能使用like关键字,因为我一直使用它。
你试过这样的吗?
其中(AccountName,如“%”+@paramAccountName+'%”或“@paramAccountName=”)感谢darren的及时回复,我需要的是“=IIF(InStr(Fields!MyFieldName.Value,“2451*”),TRUE,FALSE)”,我在写这篇文章时会出错,说无效字符。如果(FIND(MyFieldName,“24”)=1,TRUE,FALSE),下面的代码对我有用从你的回答中得到了这个想法。谢谢我将把这个作为我自己问题的答案,但只能在8小时后才能这样做。在我看来,这并不能真正回答问题,因为它不处理通配符。OP能够继续他的项目是件好事,但这对正在寻找在SSRS过滤器中使用通配符的方法的未来用户没有帮助。@TabAlleman这个答案已经被接受并帮助了OP,这是我的目标。如果您有更好的解决方案,请随时发布。