使用帆软已两月有余,制作关注于数据的报表也过百了,特将学习使用过程中的一些小技巧和注意事项分享出来。如有遗漏和不妥贴的地方,请回帖或私信我,我会及时修改。谢谢 --学习一技之长,让生活更充实 一、数据集方面 报表的核心是数据,数据集是否合理决定报表的质量。 1.每张报表都应该有一个主数据集,为了降低维护时的工作量,尽量将所有字段置于主数据集,除非在某些情况下,不使用多源数据集会导致主数据集异常复杂。 2.在制作报表之前,尽量考虑到所有需要展示的数据字段,在数据库软件中,合理编写sql语句,大数据情况尽量做优化。 3.关于数据库的连接,有专门的教程,不做赘述 数据连接 http://www.finereporthelp.com/help/31/folder.html 但是在连接失败时,是否没有任何提示,这时候我们可以在 文件→选项→高级 此处打开日志,查看原因 4.多源数据集需要做过滤。简单多源报表 http://www.finereporthelp.com/help/9/0/0.html 5.数据集参数需要做空值判断,否则在参数未赋值时,sql语句会报错。 ${if(len(area) == 0,"如果需要在参数为空的时候,查不到数据,则此处可以写成一个永远不成立的 1=2之类的","and 货主地区 = '" + area + "'")} 6.简单粗暴快速 二、设计器技巧 1. 行号 a.普通行号: =&B2 以B2格子为左父格,取出当前行数 b.分组后的行序号=seq() 效果 2.行间隔色 a.普通的行间隔色通过条件属性可以直接实现 b.分组后同样需要间隔色的处理 在设计时,需要在明细字段单元格添加条件属性(此处 码头 为明细字段),A3为首列(已添加行号) 效果 c.报表添加页码 模板—报表页脚 即可增加每页显示“第几页 共几页” 三、参数设计界面 1.下拉复选框 对应的数据集引用 ${if(len(state) == 0, "", " and t.state in ('" + state+ "')")} 包含 2.对比一中关于参数为空时不查询数据的处理,可采用更为友好的方式 在点击查询的时候,判断参数为空时,最弹窗提醒,并停止查询,可防止大数据量造成的资源消耗 3.参数联动,请参考 下拉复选框参数联动 http://www.finereporthelp.com/help/10/0/3/1.html 下拉框参数联动 http://www.finereporthelp.com/help/10/0/3/0.html 4.下拉显示多列 下拉框显示多列 http://www.finereporthelp.com/help/13/30/1/3.html |