ITTC数据挖掘平台介绍(五) 数据导入导出向导和报告生成
一. 前言
经过了一个多月的努力,软件系统又添加了不少新功能。这些功能包括非常实用的数据导入导出,对触摸进行优化的画布和画笔工具,以及对一些智能分析的报告生成模块等。进一步加强了平台系统级的功能。
马上要进入研三了,这套系统和我本人一样,前途未卜。一方面,实验室要求重新以JAVA开发一套数据挖掘框架而放弃当前的.NET版本,我的思路是两边一起发展,优势互补,可惜后继无人。另一方面,马上毕业的我,未来做不做数据挖掘工作都是两说,在多方面的压力下,开发软件目前近似于奢侈的选择。但是,就算是为了自己心里的那个“爽”字,少打一会游戏,做这个事情还是值得的。
下一步,我会做一个针对实习和招聘的微博数据分析工具,整合分析所有相关信息,为我近几个月的找工作事业提供帮助。看看能不能做到WEB端。
革命尚未成功,同志仍需努力!
ITTC数据挖掘平台介绍(七)强化的数据库,虚拟化,脚本编辑器
二.数据导入和导出
对于一般用户而言,数据通常都不保存在数据库,而是文件的形式,常用的txt, Excel或者XML都是可用的选择。同样,用户也需要随时将分析的结果,采集到的数据导出到文件中。因此,数据导入导出必不可少。
考虑需要用户选择的参数,在导入方面,需要知道数据的类型(微博,微博用户,还是新闻等),数据格式(JSON,XML还是EXCEL),还要知道导入哪些字段; 在导出方面,要知道导出的数据源名称,数据格式和导出的位置。因此,我们选择了向导作为导入导出的基本设置UI。
在数据管理器中,点击“数据导入导出”按钮。
骚气的海绵宝宝。
可选择导入还是导出。
因为要对数据进行反序列化操作,因此必须知道导入的数据类型。所有在系统中实现了IComputable基类接口的数据,在此都能被选择。
选择文件类型格式,目前支持了以上五种常用格式,但未能直接支持EXCEL. 所谓CompressJson,是Json数据通过ZIP压缩获取的数据。
选取导入/导出的字段,这是整个系统的精髓,首先不是所有字段都能导出,比如List列表,而且也不是所有字段都需要导出。因此用户可通过多选选择字段。
所有向导完成后,即可将数据以所需的格式导出到文件之中,方便进一步的分析。
当然,缺点在于,所有数据的表头字段必须和系统内定义的属性名称一致。例如,Name必须是Name, 这也是无可奈何的事情,难不成用户还需要设置像ORM一样的映射关系?这一点,还是需要我们从SPSS和EXCEL这些系统中学习。
三. 触摸优化
大规模可视化画布,在大型触摸屏的效果可谓可圈可点。这非常便于客户展示和交互。因此,我对触摸功能做了大幅度的增强,用户可方便的通过单指拖拽,双指放缩/旋转,以及在画布上手写注释等功能。
为了提升操作体验,还加入了个惯性效果,移动,旋转和放缩都有一定的惯性。操作更为流畅。
笔触方面,可以选择不同大小的笔触,可实现压力感应(根据硬件有关),选择不同的画笔颜色,如下图所示。
经过优化后,系统在大型触摸板上的体验效果非常好。但不可避免的是,在点数量较多(超过1000以上),动态惯性效果就有明显的卡顿。
四. 报告生成系统
绝大多数应用场合,用户直接面对的不是软件,而是生成的报告和文档。因此在这一次迭代更新上,开发了报告生成系统,利用开源的DocX组件,可以非常方便的生成Word文档,可被EXCEL 2007和2010版本打开。
使用起来也非常简单,以“微博传播分析”为例,勾选“生成Word文档”选项,即可生成文档。
生成的报告如下图所示:
当然,缺点也很明显, DocX对Chart的控制能力并不好,样式和颜色等都不能很好的设定。只能满足基本的功能,但用户还是可以在图表中点击右键自行修改,远比简单的贴图好得多。
另外,文档生成速度也很快,几十页的图文并茂的文档,包括表格和图片,也仅仅需要一两秒钟,性能优异。
五. 总结
千里之行始于足下,任何功能都是人一个一个写出来的。这些功能都是算法和数据无关的,可重用能力很强,各类数据可以无缝的使用这些新功能。
未来将加入更多有用的新功能,打造不需要写代码的简单易用的数据分析和挖掘引擎!
ITTC数据挖掘平台介绍(五) 数据导入导出向导和报告生成的更多相关文章
- ITTC数据挖掘平台介绍(七)强化的数据库, 虚拟化,脚本编辑器
一. 前言 好久没有更新博客了,最近一直在忙着找工作,目前差不多尘埃落定.特别期待而且准备的都很少能成功,反而是没怎么在意的最终反而能拿到,真是神一样的人生. 言归正传,一直以来,数据挖掘系统的数据类 ...
- ITTC数据挖掘平台介绍(四) 框架改进和新功能
本数据挖掘框架在这几个月的时间内,有了进一步的功能增强 一. 超大网络的画布显示虚拟化 如前几节所述,框架采用了三级层次实现,分别是数据,抽象Node和绘图的DataPoint,结构如下: ...
- 从零自学Hadoop(16):Hive数据导入导出,集群数据迁移上
阅读目录 序 导入文件到Hive 将其他表的查询结果导入表 动态分区插入 将SQL语句的值插入到表中 模拟数据文件下载 系列索引 本文版权归mephisto和博客园共有,欢迎转载,但须保留此段声明,并 ...
- Oracle数据导入导出imp/exp命令总结
racle数据导入导出imp/exp就相当于oracle数据还原与备份.exp命令可以把数据从远程数据库服务器导出到本地的dmp文件,imp命令可以把dmp文件从本地导入到远处的数据库服务器中. 利用 ...
- Linux下mongodb安装及数据导入导出教程
Linux下mongodb安装及数据导入导出教程 #查看linux发行版本 cat /etc/issue #查看linux内核版本号 uname -r 一.Linux下mongodb安装的一般步骤 1 ...
- Oracle数据导入导出imp/exp命令 10g以上expdp/impdp命令
Oracle数据导入导出imp/exp就相当于oracle数据还原与备份.exp命令可以把数据从远程数据库服务器导出到本地的dmp文件,imp命令可以把dmp文件从本地导入到远处的数据库服务器中. 利 ...
- Oracle数据导入导出命令
IMP 和EXP命令 Oracle数据导入导出imp/exp就相当于oracle数据还原与备份.exp命令可以把数据从远程数据库服务器导出到本地的dmp文件,imp命令可以把dmp文件从本地导入到远处 ...
- oracle数据导入/导出
Oracle数据导入导出imp/exp 功能:Oracle数据导入导出imp/exp就相当与oracle数据还原与备份. 大多情况都可以用Oracle数据导入导出完成数据的备份和还原(不会造成数据 ...
- Oracle数据导入导出
Oracle数据导入导出imp/exp 在oracle安装目录下有EXP.EXE与IMP.EXE这2个文件,他们分别被用来执行数据库的导入导出.所以Oracle数据导入导出imp/exp就相当与ora ...
随机推荐
- 如何一步一步用DDD设计一个电商网站(十)—— 一个完整的购物车
阅读目录 前言 回顾 梳理 实现 结语 一.前言 之前的文章中已经涉及到了购买商品加入购物车,购物车内购物项的金额计算等功能.本篇准备把剩下的购物车的基本概念一次处理完. 二.回顾 在动手之前我对之 ...
- Chrome出了个小bug:论如何在Chrome下劫持原生只读对象
Chrome出了个小bug:论如何在Chrome下劫持原生只读对象 概述 众所周知,虽然JavaScript是个很灵活的语言,浏览器里很多原生的方法都可以随意覆盖或者重写,比如alert.但是为了保证 ...
- 使用 .NET WinForm 开发所见即所得的 IDE 开发环境,实现不写代码直接生成应用程序
直接切入正题,这是我09年到11年左右业余时间编写的项目,最初的想法很简单,做一个能拖拖拽拽就直接生成应用程序的工具,不用写代码,把能想到的业务操作全部封装起来,通过配置的方式把这些业务操作组织起来运 ...
- Java数据库连接技术——JDBC
大家好,今天我们学习了Java如何连接数据库.之前学过.net语言的数据库操作,感觉就是一通百通,大同小异. JDBC是Java数据库连接技术的简称,提供连接各种常用数据库的能力. JDBC API ...
- Dapper where Id in的解决方案
简单记一下,一会出去有点事情~ 我们一般写sql都是==>update NoteInfo set NDataStatus=@NDataStatus where NId in (@NIds) Da ...
- Android 问题汇总(持续更新)
Q1:Error:(93, 12) 错误: 需要常量表达式 问题描述:这个问题是在添加一个module到项目中时遇到的,主要原因是因为原来module中的R文件是不会以final形式存在的,但是在mo ...
- JavaScript实现常用的排序算法
▓▓▓▓▓▓ 大致介绍 由于最近要考试复习,所以学习js的时间少了 -_-||,考试完还会继续的努力学习,这次用原生的JavaScript实现以前学习的常用的排序算法,有冒泡排序.快速排序.直接插入排 ...
- 苹果强制使用HTTPS传输了怎么办?——关于HTTPS,APP开发者必须知道的事
WeTest 导读 2017年1月1日起,苹果公司将强制使用HTTPS协议传输.本文通过对HTTPS基础原理和通信过程内容的讲解,介绍APP开发者在这个背景下的应对办法. 几周前,我们在<htt ...
- 深入浅出Redis-redis哨兵集群
1.Sentinel 哨兵 Sentinel(哨兵)是Redis 的高可用性解决方案:由一个或多个Sentinel 实例 组成的Sentinel 系统可以监视任意多个主服务器,以及这些主服务器属下的所 ...
- 每天一个设计模式-7 生成器模式(Builder)
每天一个设计模式-7 生成器模式(Builder) 一.实际问题 在讨论工厂方法模式的时候,提到了一个导出数据的应用框架,但是并没有涉及到导出数据的具体实现,这次通过生成器模式来简单实现导出成文本,X ...