如图,模板参数为2020年和21年,报表是两个数据库的数据,条件属性来控制选择某年度只显示该年度的数据。问题:选择某一个年度,我感觉都是该报表全部运行之后才过滤另一个年度行高为0。请问怎么实现选择某年度,报表只是获取该年度也就是该数据库的数据。(因为数据量较大,每次全部运行在过滤行高为0,效率太低)。
关联数据集-通过参数过滤:https://help.fanruan.com/finereport/doc-view-125.html?source=4#5
————————
这个没有办法,但是为什么要把两年的都查询出来呢?你只查询一年不可以,反正隐藏啊
两个数据库额,参考动态数据源/数据库-https://help.fanruan.com/finereport/doc-view-983.html
抱歉没看清楚。是两个数据库!建一个视图把你要查询的数据合并起来
create view [view_name] as
SELECT 你的字段 from 2020
uninl all
SELECT 你的字段 from 2021
然后从view_name 中按需查数
再或者两个SQL分别最后加判断
SELECT 你的字段 from 2020 where 你的条件 ${if(year=='2020年','',' and 1<>1')}----year不是2020年时 1<>1永远为空
SELECT 你的字段 from 2021 where 你的条件 ${if(year=='2021年','',' and 1<>1')}----year不是2021年时 1<>1永远为空
仍然要查询两条语句,不过有一条没得数据,页面加载要快点
直接在数据集里过滤就好 了
SELECT * FROM `hypx`where pxdx='${year}
另外给数据集也这样写 参数名一样 这样就可以过滤了
这样就可以了
然后2行写个条件属性 隐藏行高 判断条件 选择公式 len($$$)=0 就可以把空白数据集的行隐藏了
模版设计不变,还是两行两个数据集数据
两个数据集同时按年度参数查询
行高的条件换一下,改成len(单元格)==0