`
zhzhiqun2005
  • 浏览: 220830 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

三维数据在fustionchart上的统计分析

阅读更多
这几天做东西,总是遇到三维数据展示的问题,郁闷得我头都大,第一个是在做GIS的图表展示的时候,遇到的是在各个政区中,展示关于各统计指标项目的数量图.第二个是查询出其中的各政区上企业的业务审核通过,为不通过,以及审核中,暂存,重新采集五种状态,其中还遇到关联表,而且有些政区上面是没有其中的五种状态的数据,这样还是要以0来显示.刚开始的时候看到这个业务头都大了。后来分析了一下感觉不难,然后开始写sql,通过对状态的分组,政区的分组关联等等,才写完,写完的数据是以各种状态有一行记录的形式,而且有些状态没有企业就没有数据, 感觉写得很烂,但心想也不致于统计不出来, 画不出图吧。以是开始写java代码,后来才发现,不管是怎么写,并不是想像的那样,可以通过一些逻辑处理就得处理得过来的,发现走不下去了。以是没有办法,重写sql。终于,通过 sum + case的方法,把五种状态都显示在一条记录中,并且通过右外连接的形式把所有的政区显示出来了, 不管有没有企业的政区。这样就好办多了, 以后来做成fusionchart就好办多了。
 select t2.*, t1.* from 
(select t.street ,count(*) as sum
,sum(case t.state when 'y' then 1 else 0 end) as sumy
,sum(case t.state when 'n' then 1 else 0 end) as sumn
,sum(case t.state when '0' then 1 else 0 end) as sum0
,sum(case t.state when '1' then 1 else 0 end) as sum1
,sum(case t.state when '2' then 1 else 0 end) as sum2
from C_YGDW_CAIJI t group by  t.street) t1 --,   --t1里面查的是各状态的企业数量,以及街道id 
 RIGHT  JOIN                               --右外连接
(select d.deptid as deptid,d.displayname as deptname
  from buffalo_org_departments d
 where d.deptid in (select t.memberid
                    from buffalo_org_groupmembers t
                   where t.groupid = '5') 
                   --and d.deptid in (14,15,26)   这里是添加街道ID的地方
                   ) t2   --这里查的是所有部门的id 和部门名称 
                   ON  t1.street = to_char(t2.deptid) --这里通过部门ID 和街道ID 来进行 做右外连接


java代码中处理如下:

 FCTitle.append("<?xml version='1.0' encoding=\'UTF-8\'?><chart palette='0' baseFont='宋体' baseFontSize='12' caption='各街乡数据采集、审核情况统计'  xaxisName='街乡名称' yAxisName='采集到的企业数量' useRoundEdges='1' shownames='1' showvalues='0' showSum='1' legendBorderAlpha='0' formatNumberScale='0'>");
			
			StringBuffer categories= new StringBuffer().append("<categories>");
			StringBuffer dataset_1= new StringBuffer().append("<dataset seriesname='未审核' color='8BBA00'>");
			StringBuffer dataset_Y= new StringBuffer().append("<dataset seriesname='审核通过' color='A66EDD' >");
			StringBuffer dataset_N= new StringBuffer().append("<dataset seriesname='审核不通过' color='F984A1'>");

			String sum1="";
			String sumY="";
			String sumN="";
			while(rs.next()){
				
				sum1=rs.getString("sum1");
				sumY=rs.getString("sumy");
				sumN=rs.getString("sumn");
				sum1=sum1==null?"0":sum1;
				sumY=sumY==null?"0":sumY;
				sumN=sumN==null?"0":sumN;
			    categories.append("<category label='"+rs.getString("deptname")+"' />");
			    
			    dataset_1.append("<set value='"+sum1+"' link='javascript:entinfo(1,"+rs.getString("deptid")+")'/>");
				
			    dataset_Y.append("<set value='"+sumY+"' link='javascript:entinfo(2,"+rs.getString("deptid")+")'/>");
				
			    dataset_N.append("<set value='"+sumN+"' link='javascript:entinfo(3,"+rs.getString("deptid")+")'/>");
				
			}
			categories.append("</categories>");
			
			dataset_1.append("</dataset>");
			
			dataset_Y.append("</dataset>");
			
			dataset_N.append("</dataset>");
			
			FCTitle.append(categories).append(dataset_1).append(dataset_Y).append(dataset_N);
			FCTitle.append("</chart>");



显示效果如下图:

0
0
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics