FineReport制作可动态展开的组织递归树报表

简介:

先看看效果:

20150724092537083



报表软件:FineReport


1.分析-与正常查询的对比

如果不做这种树状结构展开的报表的话,正常的SQL应该是这样写的,以单据表为例,假设单据的机构为分公司,经营部

select 分公司编码,分公司名称,经营部编码,经营部名称,sum(数量) 总数量,sum(金额) 总金额

from order_header,order_itemoi

whereoh.order_id=oi.order_id

andoh.party_id_from in ('$(分公司编码)')

andoh.confirm_date >to_date('${startDatre}','yyyy-mm-dd')

andoh.confirm_date<to_date('${endDatre}','yyyy-mm-dd')+1

group by 分公司编码,分公司名称,经营部编码,经营部名称

2.SQL-over partition的应用

如果要做成在经营部级别汇总金额和数量,同时在分公司级别也要汇总数量和金额的话,那么,需要在1中的基础上做增加,在每一行上增加一列,来表示当前行所在的分公司的汇总的金额和数量,SQL如下

select 分公司编码,分公司名称,经营部编码,经营部名称,

sum(数量) 经营部总数量,sum(sum(数量)) over (partition by 分公司编码)  分公司数量,

sum(金额) 经营部总金额,sum(sum(金额)) over (partition by 分公司编码)  分公司金额

fromorder_header,order_item oi

whereoh.order_id=oi.order_id

andoh.party_id_from in ('$(分公司编码)')

andoh.confirm_date >to_date('${startDatre}','yyyy-mm-dd')

andoh.confirm_date<to_date('${endDatre}','yyyy-mm-dd')+1

group by 分公司编码,分公司名称,经营部编码,经营部名称

3.展示界面的设置和访问注意事项

展示界面的设置,一点点写比较麻烦,我就不讲了。最后,访问的时候需要在url后面加上参数op=sheet



本文转自 雄霸天下啦 51CTO博客,原文链接:http://blog.51cto.com/10549520/1677829,如需转载请自行联系原作者
相关文章
|
3月前
|
敏捷开发 监控 数据可视化
项目仪表盘的妙用:让管理更清晰、更高效、更智能
项目仪表盘是现代项目管理中的重要工具,提供实时数据、多维分析及高度定制的可视化界面,帮助管理者快速决策、优化资源分配、提高团队协作效率和项目可控性。推荐的工具包括板栗看板、Jira、Trello、Asana 和 ClickUp,它们各有特色,适用于不同规模和类型的团队。
118 4
|
10月前
|
SQL Java 关系型数据库
java 递归返回树形组织结构(附带树形菜单的搜索)
java 递归返回树形组织结构(附带树形菜单的搜索)
167 0
|
存储 小程序 算法
【易售小程序项目】小程序首页完善(滑到底部数据翻页、回到顶端、基于回溯算法的两列数据高宽比平衡)【后端基于若依管理系统开发】
【易售小程序项目】小程序首页完善(滑到底部数据翻页、回到顶端、基于回溯算法的两列数据高宽比平衡)【后端基于若依管理系统开发】
131 0
|
SQL 移动开发 前端开发
好大一棵树,新春的祝福(二):功能节点的数据结构和页面展示
var oldDiv_Over var oldDiv_Active var oldCss1 var oldCss2 var oldCss_Over f...
885 0
|
存储 BI 数据处理
如何用报表工具实现树状层级结构的填报表
数据填报中,表头项如果是科目或者地区等有层级关系的维度数据,常常会希望表头能以树状形式展示,以便用户能更直观的理解填报业务,方便录入数据,点击 <a href="http://c.raqsoft.com.
1291 0
动态交叉表头报表的制作
动态交叉表头报表
1461 0
|
算法
13、【分类模块管理】——查询节点和递归查找功能开发
该接口是我们查询出所有的结点个子节点,在查询的时候利用父节点parentId属性来进行递归查询,当子节点不再有的时候,我们就结束递归查询,然后将查询到的结果全部返回给客户端。
820 0