主子报表的问题

目前在做项目中,需要做一个考勤报表,考勤报表中主表的数据来自一个数据表,子表的数据来自另外一个数据表。并且主表和子表的数据根据工号关联,如下图:

目前该方案的问题有:1、渲染数据时间长,2、主、子表数据字体不一致(主子表字体已经设置为一致了,但是渲染后还是不一致)。想看看大家有没有更好的思路。

1、报表结果展示image.png


2、子报表排班情况数据组合image.png

3、将子报表插入主报表,将主报表的列作为子报表的参数进行查询

image.png

子报表是根据主报表的列作为参数进行组合得到的,并不能直接简单的用sql语句join进行处理

FineReport tiantian333 发布于 2019-8-29 15:25 (编辑于 2019-8-29 16:17)
1min目标场景问卷 立即参与
回答问题
悬赏:4 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共5回答
最佳回答
0
x50854968Lv4见习互助
发布于2019-8-29 15:38

在SQL中就进行关联,select 工号,姓名,日期,考勤  from 主表 left join 子表 on 主表.工号=子表.工号  where 月份=‘${月份}’

这样会提升查询效率


最佳回答
0
半世Lv5中级互助
发布于2019-8-29 15:53

为啥要做成主子报表呀?

最佳回答
0
杨饭帆Lv5见习互助
发布于2019-8-29 16:07

是的,在数据库中处理好数据,然后报表展现,是最快速稳定的方式。

所以,建议还是在数据库中做好数据。

如果是异构的数据源,先抽取到本地(即同一个数据源内),然后整理输出。

每天刷新的话再添加数据自动抽取任务。

  • tiantian333 tiantian333(提问者) 想偷个懒撒,帆软报表目前已经实现了,但是还有点缺陷,想看看有没有其它的更好的方案。
    2019-08-29 16:20 
最佳回答
0
孤陌Lv6资深互助
发布于2019-8-30 08:24

按照你这样 你可以 新建一个数据集,然后直接设置过滤条件, 就好了啊

  • tiantian333 tiantian333(提问者) 关键是没办法在主报表页面建立子报表的数据集,因为子报表的数据集是以主报表的列为参数的
    2019-08-30 15:01 
  • 孤陌 孤陌 回复 tiantian333(提问者) 可以的
    2019-08-30 17:03 
最佳回答
0
郁金香Lv2见习互助
发布于2019-8-30 09:48

哈哈哈哈哈哈同款报表

加载慢这个问题我昨天整了一天也没解决,原因是底层数据打卡表和排班表是一个均匀表,无论你加索引或是加条件都不能明显提升查询速度。这两个表每次查询都是全表扫描的。不知道有没有其他人解决过这个问题,我也很期待解决方案。

Image1.png


  • tiantian333 tiantian333(提问者) 额。。。。
    2019-08-30 15:09 
  • 郁金香 郁金香 回复 tiantian333(提问者) 把你的主子表做个视图,查询视图,再加上条件筛选,不如部门区域什么的,不要一次全架加载。
    2019-08-30 15:26 
  • 7关注人数
  • 816浏览人数
  • 最后回答于:2019-8-30 09:48
    请选择关闭问题的原因
    确定 取消
    返回顶部