美文网首页
简单的查询统计图表

简单的查询统计图表

作者: 骄傲牛 | 来源:发表于2016-01-13 11:47 被阅读0次

最近蛋疼,觉得总是要查数据出图表麻烦,就搞了一个直接粘贴sql,出图表的页面,长得是下面这个样子


Paste_Image.png

说实话,highcharts和js我都不是高手,所以也有拿来练手的意思。

sql查询

这个没什么好说的,就是一个输入框,把sql搞进去,放到后台执行返回结果到前台。
由于前端的需要,需要对查询结果做一定的处理。

将行数据转换成列数据

sql评语查询返回的是行数据,因为highcharts的需要,每列数据应该是一个数组

for( Map data : queryResult ) { for ( Map.Entry entry : ( Iterable< Map.Entry > ) data.entrySet() ) { String key = ( String ) entry.getKey(); Object[] array = cache.get( key ); Object value = entry.getValue(); if ( array == null ) { array = new Object[]{}; columnInfo.put( key, isNumber( value ) ); } cache.put( key, ArrayUtils.add( array, value ) ); } }

区分列数值和非数值

上面代码中是isNumber方法用来判断该列的值是否为数值型,对于highcharts来说,只有数值弄可以当作数据来使用,非数值型只能用来统计

private boolean isNumber( Object o ) { return o instanceof Number; }

表格

表格的实现也很简单。
表头根据是否为数值型,显示不同的颜色,数值型为绿色,非数值型为蓝色。
非数值型表头点击,可以排序后进行,然后生成图表。
这里有些小算法:
对于排序的列,数据去重后用作图表中x轴的值(这也是为什么要排序。。。因为排序后容易去重);
其它非数值型的列,以排序列为依赖,以数值列做计算,分类汇总,生成数据行(每个一个数组)。
最上面图中,date字段做排序,status字段共有4个值,在每个date里都有一个值,共生成4个数组

图表

使用的是highcharts,只用到了highcharts的最简单属性,还可以设置颜色神马的,以后有空再玩

    chart: {type: 'column'}, // 图表类型
    title: {text: '统计图'}, // 图表标题
    yAxis: {title: {text: '数量'}}, // y轴单位
    xAxis: {categories: ['2015/12/15','2015/12/15' .....]}, // x轴数据
    series: [
           {name:'status_1',data:[1,0,3,5....]},
           {name:'status_2',data:[1,0,3,5....]},
           ...
    ]// 数据行
}```

相关文章

  • 简单的查询统计图表

    最近蛋疼,觉得总是要查数据出图表麻烦,就搞了一个直接粘贴sql,出图表的页面,长得是下面这个样子 说实话,high...

  • SQL常用语法

    创建库: 创建表 修改表 简单查询1 简单查询2(通配符) 简单查询3 连接查询 外部连接查询: 嵌套查询1: 注...

  • mongoose学习笔记

    首先是基础crud操作 查询简单查询条件查询 插入 更新 查询 简单查询 mongoose: 条件查询 (>) 大...

  • DQL命令-基础操作

    基础操作,简单查询,比较运算,逻辑运算,排序查询,分组查询,分页查询,复制数据到已存在的表格 简单查询 条件查询 ...

  • spring-data-jpa 简单查询:封装及使用

    简单查询条件封装 简单查询条件使用

  • Android自定义控件:通用验证码输入框

    关于自定义控件的基础知识-- 可自行查询资料。-- 也可关注我们,后期介绍自定义统计图表时,会统一介绍自定义控件的...

  • 简单查询

    一、结构化查询语言 结构化查询语言简介 结构化查询语言(Structured Query Language)简称S...

  • 简单查询

    一、 二、 三、

  • 简单查询

    简单查询语句: 查询指定列:select 列名 from 表名查询所有:select * from 表名 可以在s...

  • 简单查询

    简单查询 --select (列名) from (表名)1.查什么;2.从哪里查null参与运算结果一定为null...

网友评论

      本文标题:简单的查询统计图表

      本文链接:https://www.haomeiwen.com/subject/vmeckttx.html