集算报表
文章平均质量分 72
刨坑数据
这个作者很懒,什么都没留下…
展开
-
用润乾集算报表实现实时报表(T+0)的方案
在报表项目中,客户越来越关注源数据的实时性,希望看到最新发生的数据在报表中体现出来。但是,传统的报表工具+数据仓库+ETL方式很难做到这一点,往往是只能看到昨天、上周甚至是上个月的情况,也就是T+1、T+7、T+30统称T+n报表。很难实现T+0报表,也就是能体现实时信息的报表。 分析其原因在于:1、如果报表的历史数据和最新数据都从客户的生产系统读取,虽然可以实现T+0报表,但原创 2015-02-17 09:43:35 · 2576 阅读 · 0 评论 -
报表数据源之JSON
JSON作为一种轻量级数据格式应用非常广泛,报表读取json数据源进行报表开发的需求也很常见,另外有些报表还会接收来自HTTP服务器的数据进行报表展现。这里通过例子分别来看一下集算报表使用json数据源和http数据源的过程。一般JSON数据源 报表说明 学生成绩在应用中以json文件存在,现需要汇总学生成绩,并按总成绩排名,结果以报表展现。报表样式如下:原创 2015-04-24 10:38:13 · 2843 阅读 · 0 评论 -
报表多样性数据源之MongoDB
MongoDB等nosql数据库具有易扩展和高性能等优势,但计算能力比传统SQL要弱,例如MongoDB的分组结果不能太大,且不直接支持join运算等,而集算报表内置的计算引擎再正好可以补充这一点,在获得MongoDB的优势的同时还拥有较强的计算能力。 我们通过一个分组实例来了解一下集算报表使用MongoDB数据源开发报表的过程。报表说明 学生成绩信原创 2015-04-21 08:49:49 · 2718 阅读 · 0 评论 -
报表数据源之多结果集
多样性数据源在报表开发中越来越常见,润乾集算报表对多样性数据源的有效支持使得这类报表开发变得非常简单,目前集算报表除了支持不同类型的数据源(RDB、TXT文本、Excel、JSON、HTTP、Hadoop、mongodb)外,还支持在一个数据集中为报表返回多个结果集使用,这样可以有效避免重复运算,提升报表开发效率和运算性能。下面通过一个实例说明多结果集的使用过程。报表说明根据学生成绩表查询原创 2015-04-17 13:34:54 · 1422 阅读 · 0 评论 -
报表数据源之Hadoop
集算报表支持的数据源类型除传统的关系型数据库外,还支持:TXT文本、Excel、JSON、HTTP、Hadoop、mongodb等。 对于Hadoop,集算报表既可以直接访问Hive,也可以读取HDFS中的数据,完成数据计算和报表开发。Hive的访问和普通数据库一样使用JDBC就可以,这里不再赘述了。下面通过一个例子来看直接访问HDFS的过程。报表说明 股票原创 2015-04-28 10:09:43 · 2858 阅读 · 5 评论 -
报表开发实例——动态多层次KPI钻取报表(II)
在报表开发实例——动态多层次KPI钻取报表(I)中,我们说到了动态层次报表需要层次钻取的场景,并介绍了利用oracle复杂sql的实现方法。这里仍然通过该报表来了解一下使用“脚本+本地文件”的开发方法。 各级部门KPI报表的格式和具体要求参见(I)。有所不同的是,报表数据源从数据库表变为本地文件:tree.b(树形结构维表)和kpi.b(指标事实表),数据如下图:原创 2015-05-12 07:53:21 · 1558 阅读 · 0 评论 -
多样性数据源之文本文件
多样性数据源在报表开发中越来越常见,润乾集算报表对多样性数据源的有效支持使得这类报表开发变得非常简单,目前集算报表支持的数据源类型除传统的关系型数据库外,还支持:TXT文本、Excel、JSON、HTTP、Hadoop、mongodb等。 这里通过两个例子介绍集算报表使用文本数据源制作报表的步骤,对于小文本文件和大文本文件在集算报表中可以采用不同的方式进行处理。小文本文件原创 2015-05-05 14:16:30 · 1042 阅读 · 0 评论 -
批量绘制报表统计图
报表应用中往往要在一张报表中显示多个统计图,如按照一级分类扩展,再按照该分类下某维度进行统计图绘制。润乾集算报表提供了批量绘制统计图的方式,下面通过实例来看一下实现方式。 根据订单表中地区和城市分组汇总订单金额,需要显示每个地区下各城市订单总额统计图,如下图示: 在报表设计器中新建报表,报表样式如下: 报表按照地区和城市原创 2015-05-15 09:17:05 · 1107 阅读 · 0 评论 -
报表开发实例——动态多层次KPI钻取报表(I)
在报表项目中有时会有动态层次报表,而且还需要层次钻取的场景,开发难度较大。这里记录了使润乾集算报表开发《各级部门KPI报表》的过程。 《各级部门KPI报表》初始状态如下图: 当前节点是根节点“河北省”,要求报表显示当前节点的下一级节点“地市”汇总的KPI数值。Kpi又分为普通指标和VIP指标两类,共四项。如果点击“石家庄”来钻取的时候,要求能够将原创 2015-05-08 11:48:09 · 4203 阅读 · 0 评论 -
带SVG统计图的报表实现(附svg部分页面源代码)
SVG作为一种矢量图形,具有任意缩放而不失真、可以被高质量打印、文件较小、交互性强等特性,成为当前一种主流的图片格式。润乾集算报表可以生成SVG格式的统计图,在HTML5中可以直接嵌入SVG统计图,方便用户在PC或移动端查看。制作报表 1、 连接数据源 打开集算报表设计器,菜单栏选择工具-数据源,在弹出的数据源编辑窗口中新建数据源或连接现有数据源,这原创 2015-05-22 09:30:23 · 3096 阅读 · 0 评论 -
变动间距时间序列报表的绘制
报表开发中除了一般的固定统计图,有时还需要根据不同条件的不同数据生成需要变动的统计图。像http://www.oschina.net/question/2274562_193376中提到的问题就是一个比较典型的此类需求。 这类问题的关键实际上是报表数据源的准备,如何能根据指定条件生成相应时间、段的报表数据源对生成统计图至关重要。使用SQL基本很难完成,要依靠存储过程,但存储过程由原创 2015-05-19 08:11:26 · 976 阅读 · 0 评论 -
报表系统结构优化之中间数据外置
绝大多数报表项目的数据库中,除了支撑系统运行的业务数据表之外,还有很多中间表。业务数据表是报表系统必须的基础数据表,是支持报表系统运行的持久化数据层,例如:销售报表系统中的订单、客户、产品等等。报表中间表则是计算和生成报表的中间计算过程,中间表的名字经常是五花八门。 按道理说,业务数据表应该是大部分,报表中间表只是小部分。但是,实际情况却恰恰相反。有些运行了较长时间的报表系统中,报原创 2015-06-05 09:24:21 · 1578 阅读 · 0 评论 -
优化报表系统结构之报表服务器计算
在报表项目中,常常会碰到数据库压力很大影响整个系统性能的问题。由下面的传统方案的结构示意图可以看出,全部数据存储和源数据计算都放在数据库完成。当并发访问量较大的时候,虽然每个报表的数据量不大,还是会造成数据库压力过大,成为性能的瓶颈。多数数据库厂商提供的jdbc接口传输数据比较缓慢,在并发量较大的情况,对报表系统性能的影响也非常明显。 这种情况时可以考虑采用润乾集算原创 2015-06-09 11:49:01 · 1118 阅读 · 0 评论 -
带渐进色统计图的报表绘制
润乾集算报表在报表统计图方面进行了全面的细化,通过统计图众多属性的(组合)设置可以使统计图效果更加美观,以满足用户对统计图效果的全面要求。这里来看一下如何设置统计图渐进色。 新建报表 这里以统计学生数语外成绩为例,制作报表如下:设置统计图属性 设置A5中的统计图属性,这里为了表示每名学生的单科成绩和总成绩,使用了三维堆积柱形图,其图形原创 2015-05-26 08:13:21 · 1249 阅读 · 1 评论 -
用脚本实现报表的动态数据源
报表系统中有一些报表往往要根据条件连接不同的数据源,从而完成报表展现。这种需要在不同数据源间切换的情况我们称为动态数据源。一般报表工具实现动态数据源往往要依靠第三方程序(JAVA等)实现,润乾集算报表则可以通过内置的脚本完成,本文将通过一个例子来了解实现过程。 报表说明 学生信息中通过参数控制报表连接的数据源,参数status为1时连接数据源一(dev_1),否则连接数据原创 2015-04-14 08:24:13 · 1460 阅读 · 0 评论 -
润乾集算报表用脚本实现混合数据源报表
润乾集算报表支持在同一报表内使用不同类型的数据源,可以是RDB、TXT文本、Excel、JSON、HTTP、Hadoop、mongodb等。集算报表中使用混合数据源不依赖第三方程序(如JAVA),使用内置的脚本(数据集)即可完成,下面通过例子来说明使用过程。 业务系统中将订单信息存储到JSON格式的文件中,报表查询时需要读取JSON文件与数据库表(维表)进行联合查询。这里以查询某原创 2015-04-07 09:50:15 · 1019 阅读 · 0 评论 -
减少报表隐藏单元格提升报表性能
如果报表携带大量隐藏格,会对其性能影响很大。这是因为大量隐藏格会占用内存、降低运算速度。而且隐藏单元格除了单元格值外,还记录了很多显示属性值,比如:字体、颜色、显示方式等等。虽然单元格隐藏了,但是这些属性还在,而且带着这些属性计算,也会影响计算速度。 下面这个《1997年订单情况统计》报表就是比较典型的隐藏格影响性能的例子:这个报表的“比去年同期”是指与去年同月原创 2015-02-10 14:09:02 · 723 阅读 · 0 评论 -
非常规统计报表之制作按段分组报表的新办法
报表开发中,经常会碰到一些需要进行非常规统计的报表,固定分组、可重复分组、组内排序,还包括跨行组计算的报表,甚至有些报表本身无数据来源、以及需要对数据源再计算。这些报表本身具备一定的特殊性,使用常规方法往往难于实现。 对于按段分组报表,各段之间可以有重复,也就可能出现按段可重复的分组报表。集算报表在完成这类特殊统计报表时比较简单,这里通过一个实例说明实现过程。报表说明原创 2015-02-27 14:37:15 · 801 阅读 · 0 评论 -
报表补齐数据
实际系统由于历史设计的原因,业务数据有时无法直接满足报表需求,从而需要在报表中补足数据,以满足报表展现需要。像http://bbs.csdn.net/topics/100074605中提到的问题,就是一个比较典型的此类需求。 这类问题使用SQL或存储过程往往复杂度过高,如帖子中贴出的答案;而使用一般报表工具则需要不断地重复遍历进行数据关联,还要借助隐藏格和做大量的条件判断才能完成,实现难度和原创 2015-03-04 14:29:48 · 967 阅读 · 0 评论 -
灵活数据源的固定行列交叉报表的制作
论坛里,http://bbs.csdn.net/topics/390883416中提的问题,其目的是为了实现一个固定行列的交叉表,用SQL准备好固定行数的数据源很麻烦。而润乾集算报表则有很灵活的计算能力,可以充分利用问题特点应付各种非常规的计算需求。这里就以链接中业务为背景,给出集算报表实现某种固定列交叉报表的方案。报表背景 源数据如下: 现需要原创 2015-03-20 10:51:34 · 1088 阅读 · 0 评论 -
报表数据源的多重判断
报表在数据源准备阶段往往要根据实际业务进行各种判断计算以后才能得到最终的报表数据源,而使用SQL在这种情况下则难于编写,http://bbs.csdn.net/topics/390938280中提到的考勤问题就是其中之一,这个计算看起来是给财务或人力部门的考勤报表服务的。计算逻辑并不算复杂,但使用SQL却很难做,用存储过程(要取首尾记录)也很麻烦,而一般的报表工具由于不具备强计算能力,常常只能写用原创 2015-03-06 14:16:03 · 829 阅读 · 0 评论 -
润乾报表附加数据集在集算报表中的处理方法
在润乾报表中提供了附加数据集功能,可以在一个单元格(主格)中关联多个数据集,关联后多个数据集如同一个数据集使用。当数据集较多需要相互关联,甚至多个数据集来源于不同数据库时,使用附加数据集可以快速完成关联且能够获得更高的报表性能。 集算报表在润乾报表的基础上去掉了附加数据集的功能,取而代之可以使用集算器或脚本数据集完成多数据集关联,通过脚本返回的层次数据集快速完成这类报表的开发。原创 2015-03-27 14:37:58 · 2644 阅读 · 0 评论 -
关联跨行计算报表的制作
实际信息系统中很多数据计算是为前端展示而进行的,其中报表是最常见的一种形式。这些计算的实现过程往往并不简单,使用SQL或存储过程实现起来比较困难,从而影响到前端报表设计。像http://bbs.csdn.net/topics/390813196中提的问题,其目的往往是为了实现一个供生产或采购部门使用的报表(包含库存覆盖周期,方便生产调度或实施采购任务),用SQL写起来会比较麻烦,一般报表工具又不具原创 2015-03-17 10:35:20 · 914 阅读 · 0 评论 -
不定列(动态列)报表的数据源处理
动态列报表是动态报表的一种,在报表应用中很常见。这类报表由于无法事先确定列数,因而无法在报表中使用固定列的表达式,而且更加棘手的是报表数据源的准备,因为SQL不支持不定列的结果集,需要动态拼出SQL语句去执行,有时业务逻辑并不很简单,还需要使用存储过程分步完成。而存储过程对集合运算的支持不够,难以使用中间结果(要用临时表),导致完成这类运算并不轻松。 像http://bbs.csd原创 2015-03-10 16:14:19 · 2950 阅读 · 0 评论 -
报表非常规统计之固定分组
报表开发中,经常会碰到一些需要进行非常规统计的报表,固定分组、可重复分组、组内排序,还包括跨行组计算的报表,甚至有些报表本身无数据来源、以及需要对数据源再计算。这些报表本身具备一定的特殊性,使用常规方法往往难于实现。 而集算报表在完成这类特殊统计报表时则比较简单,这里来看下使用集算报表完成固定分组报表的实现过程。所谓固定分组报表是指分组没有规律,可能是分组范围没有规律,也可能原创 2015-03-13 11:02:04 · 1061 阅读 · 0 评论 -
集算报表与润乾报表处理动态报表时的异同
集算报表继承了润乾报表的宏机制来处理动态报表,对于简单的动态报表使用宏实现非常方便。对于一些复杂的动态报表,集算报表还提供了脚本数据集来处理动态报表,适合宏无法实现的场景,而润乾报表中要实现复杂动态报表时则需要编写自定义数据集来完成。下面通过几个例子来详细比较一下集算报表和润乾报表在处理动态报表时的相同与不同点。相同点 集算报表和润乾报表都提供了宏,使用方式几乎完全一致,且都原创 2015-03-31 08:58:56 · 1231 阅读 · 0 评论 -
简化报表数据源的复杂集合运算
报表数据源计算中经常会使用到集合运算,SQL对集合运算的支持使得大部分简单的集合运算都能轻松完成。但是,当集合运算比较复杂,需要使用存储过程完成时,由于存储过程对集合运算的支持不够,也无法使用中间结果导致这类运算实现起来非常困难。 像http://bbs.csdn.net/topics/390902711中提到的问题,就是一个比较典型的复杂集合运算问题,这类计算往往都是为前台报表原创 2015-03-24 11:43:46 · 915 阅读 · 0 评论 -
报表应用的计算中间层
在传统的报表应用中,源数据的计算一般有三种方式:1、报表工具直接连接数据库取数,源数据的计算是提交SQL由数据库完成的;2、报表工具利用自身的计算能力(单元格函数或格间计算),实现部分数据计算;3、报表工具通过API调用Java程序实现数据计算。 下面,我们比较一下这三种方式,并探讨最佳方案。 首先,来看数据库计算。 数据库计算的优势是:数据一原创 2015-04-03 10:51:25 · 799 阅读 · 0 评论 -
润乾集算报表用脚本实现动态SQL传递
大多数情况下报表的数据源SQL都是固定的,但有时也需要动态变动其中某些部分实现动态拼出,比如在报表应用中允许用户通过选择表和字段查询自己关心的报表数据,报表开发时则希望对同类报表(明细或汇总)使用同一模板。这时就需要在报表中接收相应参数拼接出动态SQL进行查询后制作动态报表。 与一般报表工具需要在第三方程序(如JAVA)中实现不同,在润乾集算报表中提供了内置的脚本(数据集),可以快速完成这原创 2015-04-10 15:31:47 · 2713 阅读 · 0 评论 -
报表应用结构优化之数据分库存储
报表项目中,可能会出现报表源数据来自于不同数据库的情况。这是因为同一张报表可能会从多个业务系统取数据。例如:员工信息从人力资源系统中取出,销售数据从销售系统中取出。还有一种可能是,同一应用系统的数据库负载太大,不得已分成多个数据库的情况。例如:销售系统数据分成当前库和历史库。 报表工具需要连接的可能是同样类型的数据库,比如都是oracle或者db2;也可能是不同类型的数据库。原创 2015-06-12 09:55:19 · 1131 阅读 · 0 评论