知识库

推荐内容

快逸做的更好

产品优势

您的位置: 首页 > 报表技术分享 > 快逸轻松实现动态统计

快逸轻松实现动态统计

在Web项目中,经常会以不同的角度去统计某些统计指标(比如:生产企业的订单数量,需要以地区,产品,销售人员等角度去分别统计),一般的报表软件,都是制作多张报表文件来实现;这样,如果某个样式需要修改(比如:表格颜色,数据显示格式等),就要修改多张表,这对开发人员来说,将是一件繁重的工作。

快逸报表能在一张报表中轻松实现这个功能。下面,来看详细制作步骤:

第一步:复杂报表设计" target="_blank" class="quieeLink1">设计报表 1, 连接数据源,demo;

2, 建表,

1)建一张参数模板,一张报表模板,分别如图: 模板参数: 报表模板:

 2)报表模板进行设置 建数据集,SQL:SELECT 订单.货主地区,订单.货主城市,订单.订单ID,订单.运货费,订单.运货商,订单.雇员ID,订单明细.产品ID,订单明细.单价,订单明细.数量,产品.类别ID,运货商.公司名称,雇员.姓氏 + 雇员.名字 as 姓名,类别.类别名称 FROM 订单,订单明细,产品,运货商,雇员,类别 WHERE 订单.订单ID = 订单明细.订单ID AND 订单明细.产品ID = 产品.产品ID AND 产品.类别ID = 类别.类别ID AND 订单.运货商 = 运货商.运货商ID AND 订单.雇员ID = 雇员.雇员ID 表中各单元格的设置,如下图: 在A1,B1,C1,D1中分别输入:“分组统计”,“订单数量”,“订单金额”,“运货费”; 在A2中输入:“总计”; 在B2,C2,D2中分别输入:=sum(B3{}),=sum(C3{}),=sum(D3{}); 在A3,B3,C3,D3中分别输入:=ds1.${macro1},=ds1.count(),= ds1.sum(数量*单价),=ds1.sum(运货费); 为报表添加一个参数,名称为“arg1”,数据类型为字符串,参数类型为普通参数。 再为报表添加一个宏,名称为“macro1”,类型为动态宏, 宏表达式为: case(arg1,list(“1″),”group(货主地区,false)”,list(“2″),”group(货主城市,false)”,list(“3″),”group(姓名,false)”,list(“4″),”group(公司名称,false)”,list(“5″),”group(类别名称,false)”)

3)对参数模板的设置: 在A1中输入“统计列”; 在B1中,在填报属性里,设置填报类型为字符串,是否可写选中,编辑风格选“下拉列表框”,并对其设置,见下图: 在B1的属性里,在“变量名”属性中,输入:“arg1”: 报表就做完了,发布后,就能看到效果(第三步中的效果)。

第二步:设计发布报表的jsp Jsp页面代码:

XX.raq是报表模板的文件名,XX_arg.raq是参数模板的文件名

第三步:发布,浏览效果 访问页面,统计列后的下拉框中选择“货主地区”,点“查询”按扭: 在页面上,统计列后的下拉框中选择“销售”,点“查询”按扭: 在页面上,统计列后的下拉框中选择“销售”,点“供应商”按扭: 在页面上,统计列后的下拉框中选择“产品类别”,点“查询”按扭: 总结: 快逸实现动态统计很轻松,而且能完成其他报表工具难以实现的功能,感觉很好吧。这样的报表,在制作和后期维护中将大大减少开发人员和管理人员的工作量,提高系统的稳定性。

 

本文标签: