场景:打开后首先显示的你要的那个记录,这当然要用到筛选器,过滤其它不用的,只显示你要看的。这时同时需要,你点其它类别的,前面的显示要能够随着你的点击进行切换,也就是说后面点击产生的筛选要覆盖前面一个筛选,不然会显示为空。
![8223cc5d53332a168637cda44da55cdc.png](https://i-blog.csdnimg.cn/blog_migrate/37d3dc0b1b01ef56f374185266d8c3cd.jpeg)
办法: 利用表计算函数。
详解:表计算的过滤器只是显示出过滤后的,底层数据中是没有过滤,这就给了机会。我们能够用一个优先级高的过滤器放在上面,完全无视表计算的这个过滤器。
技巧:显示过滤一般是基于一个文本字段的,本例中是“集团标记”,里面有两个值,一个是未审批版本,一个是集团确认版本。
要将这类记录与表计算函数关联上,你用其过滤才有可能,我采取的方式是字符转为长度,再用RANK表计算函数,这样确保这类记录的这个值与众不同,注意这个办法必须让各分类的值长度不同,都一样,没有差别了,就无法过滤显示你要的记录了。再将这个字段放到筛选器面板,选定你要的值就行了。
注意表计算过滤显示出来是你想要的,但实际底层数据是没有过滤的。
![89d09778b86e3de2075eee2bfb47213e.png](https://i-blog.csdnimg.cn/blog_migrate/7b45eb7baf200a37719d6957cc5cdbb3.png)
以 是另外一种方式,如下,用ATTR函数:只要有文本就行了,比较方便。但重要的是,其它不相关的值必须为'',就是说在ELSE中要定义一下,不定义显示就是NULL值,导致用表计算函数过滤的的失效。什么原理不清楚,等明确。
![2302eb47b8232b3273ab3d1fd37c142a.png](https://i-blog.csdnimg.cn/blog_migrate/1e1f4931435a4aa548722979021b3a9f.png)