集算水晶报表demov5.0怎么看demo

润乾报表附加数据集在集算报表中的处理方法
您当前位置: &
[ 所属分类
在润乾报表中提供了附加数据集功能,可以在一个单元格(主格)中关联多个数据集,关联后多个数据集如同一个数据集使用。当数据集较多需要相互关联,甚至多个数据集来源于不同数据库时,使用附加数据集可以快速完成关联且能够获得更高的报表性能。
集算报表在润乾报表的基础上去掉了附加数据集的功能,取而代之可以使用集算器或脚本数据集完成多数据集关联,通过脚本返回的层次数据集快速完成这类报表的开发。
下面通过例子来比较一下二者的不同。
润乾报表附加数据集
一个报表中需要使用来源于三个数据集(ds1:订单、ds2:客户、ds3:运货商)的数据,在润乾报表使用使用附加数据集可以这样完成:
本文数据库(综合)相关术语:系统安全软件
转载请注明本文标题:本站链接:
分享请点击:
1.凡CodeSecTeam转载的文章,均出自其它媒体或其他官网介绍,目的在于传递更多的信息,并不代表本站赞同其观点和其真实性负责;
2.转载的文章仅代表原创作者观点,与本站无关。其原创性以及文中陈述文字和内容未经本站证实,本站对该文以及其中全部或者部分内容、文字的真实性、完整性、及时性,不作出任何保证或承若;
3.如本站转载稿涉及版权等问题,请作者及时联系本站,我们会及时处理。
登录后可拥有收藏文章、关注作者等权限...
循路觅宗师,形影不相离,师知吾亦知,吾乃成宗师。
手机客户端
,专注代码审计及安全周边编程,转载请注明出处:http://www.codesec.net
转载文章如有侵权,请邮件 admin[at]codesec.net& & & &&报表开发中,经常会碰到一些需要进行非常规统计的报表,预置分组、可重复分组、组内排序,还包括跨行组计算的报表,甚至有些报表本身无数据来源、以及需要对数据源再计算。这些报表本身具备一定的特殊xìng,使用常规方法往往难于实现。
&&&&&&&& 本文通过一个例子来了解集算报表在制作此类特殊统计报表的便捷过程。
& & & &&&根据销售管理系统数据统计某年客户所在地区的订单总额,地区并按订单总额降序排列,要求每个地区中显示销售额在前五名的销售人员及其订单数量和订单jīn额,其他人员归入“其他”项中。报表样式如下:
& & & &&&应该注意的是地区分组中如果销售人数shao于5个则不显示“其他”项(如上图中的华东地区)。这个报表的麻烦之chǔ在于需要较复杂的数据计算工作,但一般报表工具的计算能力较弱,如果采用报表工具本身来完成这个计算工作则会相当复杂,比如采用用润乾报表来实现将会是这样的:
& & & & &在润乾报表中,使用ds.group()的多个参数,结合条件判断隐藏行,多种使用方法结合完成了报表开发,可见润乾报表的强大之chǔ。
& & & &&&但是由于要按照分组后汇总的订单jīn额排序,所以在B3的分组表达式中应用ds1.sum(订单jīn额)表达式作为ds.group()的参数,对于原始数据量较大的情况下,该表达式效率较低;而且,由于只显示前5名销售,在C3(排名)和D3(其他)中设置了隐藏行表达式,对于分组较多的情况仍然会存在xìng能问题;另外需要在E3和F3中使用格集过滤表达式计算其他销售人员合计,计算时要带着单元格属xìng计算,效率仍然不高。
& & & &&&润乾报表已经是计算能力很强的报表工具了,采用其它报表工具只会更麻烦甚至实现不了。
& & & &&&另一种办法是事先把数据计算准备好,报表工具只需要负责呈现和简单计算。但无论是使用复杂SQL、存储过程和自定义JAVA数据集编程,对于这样的复杂运算(实际情况往往比这个例子更麻烦得多)都是一件工作量很大的事情,而且难以维hù。
& & & &&&集算报表本身内置了适合结构化计算的脚本,可以方便地写出数据准备的计算(相当于一种更使用更简单的自定义数据集)。上述报表需求使用集算报表可以这样完成:
编写集算脚本
&&&&&&&& 首先使用集算脚本编辑器设置脚本参数。
& & & &&&编写脚本完成数据分组汇总以及排序等运算。
& & & &&&A1:建立数据库连接;
& & & &&&A2:执行sql根据年份参数查询订单信息,得到初步汇总订单数据;
& & & &&&A3:按照地区分组后组内成员按订单jīn额排序。
& & & &&&A4-C8:循环A3,取前五名记录,并将超过第五的记录都归入“其他”项,结果写回A3。
& & & &&&A9:结果按地区总额降序排列后返回给报表。
编辑报表模板
&&&&&&&& 使用集算报表编辑器,设置数据源,用于报表预览。
& & & &&&新建报表参数,并设置默认值。
& & & &&&新建报表并设置集算器数据集,调用上述编辑好的脚本文件。
& & & &&&其中,dfx文件路径既可以是绝对路径,也可以是相对路径,相对路径是相对选项中配置的dfx主目录的;参数year为报表模板参数,d_year为脚本参数,可以设置二者重名。
& & & &&&编辑报表表达式,直接使用集算脚本返回的结果集,完成报表制作。
& & & &&&对于排名,需要设置B2格左主格为C2,并设置B2显示值表达式if(B2&5,&--&)。
& & & &&&使用集算器脚本可以快速完成组内排序类报表,外置的集算脚本具有可视化的编辑调试环境,编辑好的脚本还可以复用(被其他报表或程序调用)。不过,如果脚本已经调试好,而且不需要复用的时候,要维hù两个文件(集算脚本和报表模板)的一致xìng会比较麻烦,这时候直接使用集算报表的脚本数据集就比较简单了。
&&&&&&&& 在脚本数据集中可以分步编写脚本完成计算任务,语法与集算器一致,还可以直接使用报表定义好的数据源和参数。本例使用脚本数据集可以这样完成:
& & & &&&1.& 在数据集设置窗口中点击“增加”按钮,弹出数据集类型对话框,选择“脚本数据集”;
& & & &&&2. &在弹出的脚本数据集编辑窗口中编写脚本;
& & & &&&这里可以看到,在脚本数据集中直接使用了报表中定义好的数据源demo,比起单独的集算脚本更加简单、直接。
& & & &&&3. &报表模板和表达式与使用集算器数据集方式一致,不再赘述。
集算报表的下载地址:.cn/?p=208&.
&此文从网络中自动搜索生成,不代表本网站赞成被搜索网站的内容或立场
&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&& 22:27:00
软件世界网- &2014 蜀ICP备号 三峰网旗下网站&&国之画&&&& &&&&&&
&& &&&&&&&&&&&&&&&&&&&&
鲁ICP备号-4
打开技术之扣,分享程序人生!报表工具与大数据
大数据时代,作为数据呈现的主要环节,报表工具应当怎样适应大数据?
我们经常看到用户希望报表工具能支持大数据,也经常看到某些报表工具宣称支持大数据,那么,这在技术上到底意味着什么?
事实上,报表的呈现部分和大数据并没有直接关系。报表是给人看的,人类的视觉能力不可能一次看太多的数据,上万个数据同时呈现已经超过了人的极限。报表本身没有呈现大数据的必要,从这个意义上讲,报表工具的呈现部分没必要在容量上支持大数据。
那么大数据和报表工具就没有关系了吗?
当然也不是,虽然报表最后呈现的数据可能很少,但涉及到的源数据很可能是巨大的,只是这些巨大数据的计算处理不应当由报表工具的呈现部分来完成,呈现部分的任务应当是灵活的显示复杂格式的报表,而且修改起来很方便。而报表工具应该与大数据计算方案很容易的集成,或者具备相对独立的大数据计算引擎,才能称之为支持大数据。
那么,现有的报表工具计算大数据的方式存在什么问题呢?
数据库是最常见的能处理大数据的计算方案,而所有的报表工具都能够利用数据库来完成数据计算。但是,有些报表的计算较为复杂,使用SQL实现会非常困难,这时,程序员就会采用报表工具呈现部分的直观计算方式来完成数据的计算,从而导致报表工具的呈现部分要直接处理大数据。而报表工具的呈现部分大都采用内存计算方式,并在计算过程中带有呈现属性,这样不仅性能低下,而且很容易造成内存溢出。
由此看来,仅仅依靠数据库来支持大数据计算是不够的,很可能由于SQL的编写困难导致大数据处理被转移到报表工具呈现部分。我们需要比SQL更方便的计算方案,使得报表工具可以完全专注于要呈现的那部分小数据上。
现在流行的大数据方案Hadoop可以吗?
因为HADOOP的对外接口大都是自定义风格的API,很少有报表工具能够直接访问HDFS中的数据,当然更不用说能基于这些数据做报表了。所以,对于大多数报表工具而言,Hadoop可用的接口只有类数据库的JDBC
的SQL接口,如Hive,这和普通关系数据库没有区别(甚至能力会更弱一些)。
润乾公司推出的集算报表可以很好地解决这些问题。集算报表内置了开发语言集算器(esProc)专门用于数据计算。esProc的服务器是集算报表的可选组件,支持并行数据计算,是大数据计算的利器。esProc能提供比SQL更敏捷的编程能力,同时也提供外存及并行计算能力。集算报表的呈现部分可以从esProc获取大数据处理的结果,而不需要直接处理大数据。集算报表还可以通过esProc来访问和计算HDFS中的数据。
集算报表对大数据的支持具体介绍如下:
一:集算报表的esProc提供比SQL更方便的计算能力,特别是有外存及并行计算能力,可以相对独立的处理大数据计算任务。
1、集算报表的esProc提供比SQL更敏捷、方便的计算能力。
经过对比发现,同样的数据计算目标,esProc可以用更少的代码实现,而且脚本更接近自然思维,可以降低开发难度,减少维护成本。例如:计算股票连续上涨的最大天数,SQL和esProc代码的对比很明显.
SQL语句(以Oracle为例):
max(continuousDays)
from (select count(*)
continuousDays
from (select
sum(changeSign)over(order by tradeDate) unRiseDays
from (select
tradeDate,
case when closePrice&lag(closePrice)
over(order by tradeDate)
then 0 else 1 end
changeSign
from stock) )
unRiseDays)
esProc脚本:
esProc之所以比SQL更敏捷、高效,是因为esProc除了提供完备的结构化、半结构化计算类库之外,还提供了SQL不具备的能力。包括:分步计算,更彻底集合化,有序计算,对象引用等。
2、集算报表的esProc具备外存计算和并行计算能力。
集算报表的可选组件esProc服务器支持多机并行,并行计算架构非常简洁,开发难度要远远低于Mapreduce。并行结构如下图:
上图可以看到,子程序从各种异构数据源中取得巨量数据,并行计算后汇总给主程序。在这个过程中,少量数据可以直接存放在内存中。如果数据量大,可以使用集算器提供的外存计算类库,方便有效的解决报表内存溢出的问题。
二 集算报表可以通过esProc访问和计算HDFS中的数据
大多数报表工具是无法直接访问HDFS中的数据文件的,但是集算报表可以通过内置的esProc编程语言来实现这个需求。esProc支持包括HDFS在内的多种异构数据源,可以很方便的取数、存数。具体的代码如下图:
从上图可以看出,esProc的hdfsfile函数可以访问hdfs文件。外存计算的游标函数cursor,可以分段从hdfs的数据文件读取数据。读入之后,就可以通过group、sort、max、count等数据计算函数来统一计算了。
三:集算报表调用esProc的方式直观简洁。
在集算报表中,复杂的大数据计算完全由esProc来独立完成了,报表呈现部分可以调用和接收计算结果,直接呈现。调用的方法如下图:
上图中的ds1、ds2、ds3是从esProc的程序中,返回三个结果集。dfx文件的名字,就是esProc程序文件的名字。
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。君,已阅读到文档的结尾了呢~~
润乾集算报表的集算器数据集部署,润乾报表,润乾报表官网,润乾报表 序号,润乾报表 ..
扫扫二维码,随身浏览文档
手机或平板扫扫即可继续访问
润乾集算报表的集算器数据集部署
举报该文档为侵权文档。
举报该文档含有违规或不良信息。
反馈该文档无法正常浏览。
举报该文档为重复文档。
推荐理由:
将文档分享至:
分享完整地址
文档地址:
粘贴到BBS或博客
flash地址:
支持嵌入FLASH地址的网站使用
html代码:
&embed src='/DocinViewer-4.swf' width='100%' height='600' type=application/x-shockwave-flash ALLOWFULLSCREEN='true' ALLOWSCRIPTACCESS='always'&&/embed&
450px*300px480px*400px650px*490px
支持嵌入HTML代码的网站使用
您的内容已经提交成功
您所提交的内容需要审核后才能发布,请您等待!
3秒自动关闭窗口

我要回帖

更多关于 unity5.0 官方demo 的文章

 

随机推荐