目前在做项目中,需要做一个考勤报表,考勤报表中主表的数据来自一个数据表,子表的数据来自另外一个数据表。并且主表和子表的数据根据工号关联,如下图:
目前该方案的问题有:1、渲染数据时间长,2、主、子表数据字体不一致(主子表字体已经设置为一致了,但是渲染后还是不一致)。想看看大家有没有更好的思路。
1、报表结果展示
2、子报表排班情况数据组合
3、将子报表插入主报表,将主报表的列作为子报表的参数进行查询
子报表是根据主报表的列作为参数进行组合得到的,并不能直接简单的用sql语句join进行处理
在SQL中就进行关联,select 工号,姓名,日期,考勤 from 主表 left join 子表 on 主表.工号=子表.工号 where 月份=‘${月份}’
这样会提升查询效率
为啥要做成主子报表呀?
是的,在数据库中处理好数据,然后报表展现,是最快速稳定的方式。
所以,建议还是在数据库中做好数据。
如果是异构的数据源,先抽取到本地(即同一个数据源内),然后整理输出。
每天刷新的话再添加数据自动抽取任务。
按照你这样 你可以 新建一个数据集,然后直接设置过滤条件, 就好了啊
哈哈哈哈哈哈同款报表
加载慢这个问题我昨天整了一天也没解决,原因是底层数据打卡表和排班表是一个均匀表,无论你加索引或是加条件都不能明显提升查询速度。这两个表每次查询都是全表扫描的。不知道有没有其他人解决过这个问题,我也很期待解决方案。