这样设置根本没作用,还导致查不到数据。(图)

0)”,”marks”:[]}]}],”state”:{}},{“type”:”block”,”id”:”H219-1656925610735″,”name”:”paragraph”,”data”:{},”nodes”:[{“type”:”text”,”id”:”BWka-1656925610734″,”leaves”:[{“text”:”运算符:=”,”marks”:[]}]}],”state”:{}},{“type”:”block”,”id”:”jbYX-1656925619852″,”name”:”paragraph”,”data”:{},”nodes”:[{“type”:”text”,”id”:”hese-1656925619851″,”leaves”:[{“text”:”值:=True”,”marks”:[]}]}],”state”:{}},{“type”:”block”,”id”:”Sk59-1656925678306″,”name”:”paragraph”,”data”:{},”nodes”:[{“type”:”text”,”id”:”D87I-1656925678304″,”leaves”:[{“text”:”这种也不怕反复保存Tablix属性页,搞定!”,”marks”:[]}]}],”state”:{}}]’>

筛选器的IN运算,在Microsoft的官网上没像样儿的例子,不好设置,很容易错

Microsoft上的文档:

常见问题

在筛选器中,一个字段需要匹配多值时,值怎么设置?

1.错误用法

照着文档和想当然,逗号间隔了事,如图。这样的设置根本没作用,还导致查不到数据。

2.自以为是的正确用法

应该设置成

这样就OK了,能正确筛选数据了。但是,这是暂时的。

图片[1]-这样设置根本没作用,还导致查不到数据。(图)-唐朝资源网

为什么这样说,问题出在未来对Tablix属性页的修改上,可以说是状况不断。事情是酱紫的。

按如上设置保存后,如果又想修改Tablix属性页上是的设置,就再次查看筛选器的设置,会发现筛选器的值已不是原来的样子了。

依然什么也不改,直接保存。此时,查报表已经没法匹配到数据了——坏掉了!再查查看筛选器的设置,会发现筛选器的值又变样儿了。

还是什么也不改,直接保存,出现报错了

图片[2]-这样设置根本没作用,还导致查不到数据。(图)-唐朝资源网

什么玩意儿?我们所认为的“保存什么打开就是什么”常识在这里幻化出妖性了。

不知道为什么会这样,但可以肯定,这不是个好方法,必须找一个经得起反复保存考验的方法。

可靠方法

方法1:绑一个多值参数

(1)添加1个多值参数

(2)筛选器绑定到多值参数

方法2:演变表达式

如果不想专门加一个参数解决问题,那怎么设置IN运算呢?

答案是:不用IN运算,用“=”运算。那就需要将IN运算要表达的意思,用“=”运算表达出来。表达式本身就是很灵活的东西,这样不行,那样总行,思维可以放宽些。

其中,

表达式:=(InStr(“,backup,restore,”, “,” & Fields!faction.Value & “,”)>0)

运算符:=

值:=True

这种也不怕反复保存Tablix属性页,搞定!

© 版权声明
THE END
喜欢就支持一下吧
点赞115赞赏 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容