一个简单的Web报表工具开发与应用

报表工具是数据统计与分析或商业智能(BI)工作中一个非常重要的工具,市面上已经有一大堆相关的软件产品,有功能强大的,也有玩具型的,总之是百花齐放,百家争鸣,各有各的优势。由我之前的工作关系,需要为公司的App每天收集的埋点日志进行统计分析并进行cpc广告精准投放。最开始时候,由于app的用户量还不是很大,团队有几个兄弟专门负责一些统计指标(pv,uv,cvr,crt等)的报表输出,他们每天或每周出一些固定的报表,报表也就十几张。后来用户量在几个月时间达到千万级(应该下载在4千万级,日活几百万级)。他们的报表统计指标也在变多,报表输出也越来越频繁。最开始他们使用的Eclipse Birt 这个开源报表工具做报表开发,后来他们有点力不从心,因为Birt每个报表格式都是以xml格式定义。我记得当初一个兄弟跟大家说,一种新的格式的报表,他们大概需要3个小时才开发出来。所以,只要出新格式报表他们忙不停。后来,我去了解一下业务需求,最后利用我自己的业余时间及20%的工作时间,做了一个简单web报表工具
       该工具只是简单的从数据库(MySQL,Oracle,SQLServer,HBase等)中的事实表读取数据,并转换成HTML表格形式展示。并支持表格的跨行(RowSpan)与跨列(ColSpan)。同时它还支持报表Excel导出、图表显示及固定表头与左边列的功能。不支持CUBE、钻取、切片等复杂OLAP相关的功能。该系统架构如下:


生成的报表示例:
1.报表元数据设置
   
2.报表示例


时间: 2024-10-31 11:56:22

一个简单的Web报表工具开发与应用的相关文章

使用 CodeIgniter 创建一个简单的 Web 站点

原文:使用 CodeIgniter 创建一个简单的 Web 站点   参考源自: http://www.ibm.com/developerworks/cn/web/wa-codeigniter/index.html 我的第一个 CodeIgniter 项目(除HelloWorld外),现整理记录下来.   相关环境: 系统:ubuntu-10.04.3 Apache:httpd-2.4.7 PHP:php-5.4.22 MySQL:mysql-5.6.16 CI:CodeIgniter-2.2.

一个简单的web服务器

写在前面 新的一年了,新的开始,打算重新看一遍asp.net本质论这本书,再重新认识一下,查漏补缺,认认真真的过一遍. 一个简单的web服务器 首先需要引入命名空间: System.Net,关于网络编程的大部分类型及操作都可以在这个命名空间下找到. IPAddress:类用来表示一个ip地址. IPEndPoint:用来表示一个IP地址和一个端口号的组合,称为网络的端点. System.Net.Sockets:命名空间中提供了基于Socket编程的数据类型. Socket类封装了Socket的操

SharePoint中创建一个简单的Web Part 部件

标准的Web部件有时候可以非常强大,可以执行许多函数.本文主要讲解如何使用Visual Studio 创建一个简单的Web部件. 1. 打开VS,点击文件----新建项目. 2. 选择空白SharePoint项目.命名SmallvilleWebPartProject,点击确定.选择部署为场解决方案. 3. 右击项目添加新项目. 4. 选择Web部件. 5. 命名CustomerInformation,点击添加. 6. 右击新的Web部件项目,选择添加类,命名CustomerData,点击确定.

使用NetBeans IDE创建并运行一个简单的web应用程序

在本教程中,您将使用 NetBeans IDE 创建并运行一个简单的 web 应用程序,Hello Web.本示例应用程序要求您输入一个名字,之后使用那个名字显示一条信息.首先,您需要使用一个输入框来实现这个页面.之后您使用一个用户可以选择名字的下拉列表来替换那个输入框.下拉列表中输入的名字来自数据库表. 本教程需要以下技术以及资源的支持 JavaServer Faces 组件/Java EE 平台 1.2 with Java EE 5*1.1 with J2EE 1.4 Travel 数据库

phptags tag tidier 1.0发布 一个简单的命令行工具

phptags是一个简单的命令行工具用于自动重写PHP打开和关闭的标签.它可以在短的和长的开放标签之前进行转换,添加漏掉的关闭标签或删除它们,并且可以调整行距或在尾部添加空格.它利用正则表达式或编译器. phptags tag tidier 1.0此版本已还原UTF-8依赖的空格重写.在标记编译器模式,间距现在可以在更多的情况下保存.一个针对PHP5.2兼容性修补程序已被应用. 下载地址: phptags-1.0.deb&http://www.aliyun.com/zixun/aggregati

《深入剖析Tomcat》一第 1 章 一个简单的Web服务器

第 1 章 一个简单的Web服务器 本章介绍Java Web服务器是如何运行的.Web服务器也称为超文本传输协议(HyperText Transfer Protocol,HTTP)服务器,因为它使用HTTP与其客户端(通常是Web浏览器)进行通信.基于Java的Web服务器会使用两个重要的类:java.net.Socket类和java.net.ServerSocket类,并通过发送HTTP消息进行通信.本章先介绍HTTP协议和这两个类,然后介绍一个简单的Web服务器.

Web报表工具的设计 ------实现思路

web|设计 设计 -------------------------------------------------------------------------------- 简介 本文介绍了一种WEB报表设计工具的实现思路和解决办法,该工具可以同数据库连接,让用户自己设计报表,报表的数据从数据库中获取,用户修改后的数据可以存回到数据库中.该工具可以实现任意形式(规整.不规整)的报表设计:不仅可以作为最终产品提交给用户使用,对于开发人员来说,也可以作为报表和数据库的设计工具来开发自己的产品

通过ASP.NET Web API + JQuery创建一个简单的Web应用

看了dudu的<HttpClient + ASP.NET Web API, WCF之外的另一个选择>一文,想起多很久之前体现ASP.NET Web API而创建的一个Demo.这是一个只涉及到简单CRUD操作的Web应用,业务逻辑以Web API的形式定义并以服务的形式发布出来,前台通过jQuery处理用户交互并调用后台服务. 一.一个简单的基于CRUD的Web应用 这个简单的Demo应用用于模拟"联系人管理".当页面加载的时候,所有的联系人列表被列出来.在同一个页面中,我

如何用node.js实现一个简单的web服务器

node.js实现web服务器还是比较简单的,我了解node.js是从<node入门>开始的,如果你不了解node.js也可以看看! 我根据那书一步一步的练习完了,也的确大概了解了node.js,不过里面写的路由的地方总感觉不方便,十一放假最后一天,试着写了个简单的web服务器,现在分享记录于此! http模块已提供了基本功能,所以我主要解决两个问题,1是静态资源的处理,2是动态资源的路由. 静态资源在node.js里的意思是不变的,如图片.前端js.css.html页面等. 动态资源我们一般