CN104572049A - 一种基于web报表定义模板计算的方法 - Google Patents

一种基于web报表定义模板计算的方法 Download PDF

Info

Publication number
CN104572049A
CN104572049A CN201310489866.9A CN201310489866A CN104572049A CN 104572049 A CN104572049 A CN 104572049A CN 201310489866 A CN201310489866 A CN 201310489866A CN 104572049 A CN104572049 A CN 104572049A
Authority
CN
China
Prior art keywords
report
lattice
definition
method based
report definition
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201310489866.9A
Other languages
English (en)
Inventor
不公告发明人
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
ZHENJIANG DINGTUO TECHNOLOGY INFORMATION Co Ltd
Original Assignee
ZHENJIANG DINGTUO TECHNOLOGY INFORMATION Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ZHENJIANG DINGTUO TECHNOLOGY INFORMATION Co Ltd filed Critical ZHENJIANG DINGTUO TECHNOLOGY INFORMATION Co Ltd
Priority to CN201310489866.9A priority Critical patent/CN104572049A/zh
Publication of CN104572049A publication Critical patent/CN104572049A/zh
Pending legal-status Critical Current

Links

Abstract

一种基于WEB报表定义模板计算的方法是基于语义层设计报表,只需简单地拖拽语义层元素即可,不需要编写复杂表达式和复杂SQL.语义层的加入不仅给用户的操作带来了极大的方便,而且增强了企业数据的安全性。

Description

一种基于WEB报表定义模板计算的方法
技术领域
一种基于WEB报表定义模板计算的方法主要是用于计算程序报表定义领域。
背景技术
报表作为一种信息组织和分析的有利手段,是企业信息系统的重要组成部分之一.据不完全统计,系统实际应用的6o% 以上与报表有关[1].但是一般的软件开发语言都不带报表制作工具,要开发报表模块需要程序员编写大量的代码,这些代码可重用性差、后期维护复杂.所以,企业一般都借助于第三方的专业报表工具来制作报表.但是,目前的报表工具存在专业性不强 3、安全性不高、用户操作复杂和设计复杂报表时效率低下等问题.针对目前专业报表工具中存在的问题,我们介绍了一种语义层报表模型,在报表设计器和企业数据源之间建立语义层,来解决这些问题。
利用传统的报表工具设计报表时,用户直接操作数据源,一方面用户需要学习数据源的专业知识,编写复杂的表达式,书写复杂的SQL语句;另一方面直接操作企业数据,给企业的数据信息带来了安全隐患.本文介绍了一种语义层报表模型,在报表设计器和企业数据源之间建立语义层,在语义层中定义数据模型,用户在报表设计器中基于语义层设计报表,直接拖拽语义层元素即可,极大的减少了用户制作报表时的工作量;虽然增加了语义层,但并没有降低整个报表模型的计算效率,因为用户在拖拽语义层元素设计报表时,系统自动的把语义元素解析成报表引擎可以识别的标签,所以报表计算时不需要访问语义层数据模型XML文件;通过在数据模型上定义过滤条件,对企业数据进行权限控制,增强了企业信息的安全性;语义层数据模型可以在视图上定义视图间的关联关系,也可以在视图字段上定义视图间的关联关系,后者在计算报表时,一个单元格上绑定多个指针,指向关联视图,不需要视图间的连接,不需要多次重复检索关联视图就可以设计出多源报表,极大的提高了复杂报表的计算速度。
发明内容
     我们通过国家专利检索没有发现关于此系统方面的资料。一种基于WEB报表定义模板计算的方法是方法如下:
 1.首先定义一个函数其语法为:public IReport calcReport(ReportDefine r,Context con)
定义过程序:
public IReport calcReport(ReportDefine r,Context con)
{获取r中定义的数据集列表;
根据报表运行上下文con到数据源中检索出
每一个数据集对应的数据;
获取r的一个未计算格,令P一这个未计算
格;
while(P不为空){
if(P不是扩展格){
计算P表达式的值;
把计算的结果赋给P.value;
把P的状态置为已计算;
}else{
调用扩展格计算算法cellExp;
获取r的一个未计算格,令P一这个未计算格;
}}}
2.定义扩展格计算函数,其语法:public void cellExp(IReport ir,M ap dateM ap,Cell c)。
  定义过程:
public void cellExp(IReport ir,M ap dateM ap,Cell c)
{计算c的取值表达式,设计算结果为( 。, ,? ,
); for(int 一1; < 一 ; + +){
令 value=Vi;
把c的状态置为已计算;
把指向 所在记录的行集指针保存到c中;
获取C的后跟格,令 一c的后跟格;
while(m 不为空){
if(m为扩展格){
递归调用扩展格计算算法cellExp;
}else{
if(m与c来自同一个数据集){
从c保存的行集指针指向的记录中取
出/7"/表达式的值赋给 .value;
把 的状态置为已计算;
}else{以报表中定义的两个数据集的关联关系为过滤条件到m来自的数据
集中检索m 表达式的值赋给 value;把 的状态置为已计算;}
if(m有后跟格){
获取m的后跟格,令m= m 的后跟格;
}else{
break;
}}}
对c所在的行执行1次行复制算法;令c—c对应的复制格;}}
假设每个数据集中有 条记录,报表定义模板中有 列,对类似于表1所示的报表定义模板进
行计算的时间复杂度为O(n * )。 表1中B2和D2单元格表达式中的字段都来自于student数据集,而利用以上算法进行计算时我们发现在cellExp函数中两次重复的以关联规则为过滤条件去检索name和grade字段的值。
现实现如下:
如果把学生(student)和成绩(score)之间的关联关系定义在成绩视图的学生ID字段上,那么报
表进行运算public void cellExp(IReport ir,Map dateM ap,Cell c)
{
计算C的取值表达式,设计算结果为(v1 ,v2 ,…vn);
for(int i一1; < 一 ;i+ +){
令C.value=vi ;
把c的状态置为已计算;
把指向 所在记录的行集指针保存到c中;
if(f包含关联规则){ 以数据集间的关联关系为过滤条件到关联数据集中检索与C值对应的记录,把指向该
记录的行集指针保存到C中,C中可能包含多个关联规则,行集指针采用Map结构进行保存;}
获取C的后跟格,令m—C的后跟格;
while(m不为空){
 if(m为扩展格){ 递归调用扩展格计算算法cellExp;
}else{
从C保存的行集指针指向的记录中取出m 表达式的值赋给m.value;把m 的状态置为已计算;
if(m 有后跟格){ 获取m的后跟格,令m=m 的后跟格;
}else{ break;}}}
对C所在的行执行1次行复制算法;
令c=c对应的复制格;}}
定义在字段上的关联关系在主扩展格中保留多个行集指针,分别指向相关联的数据集,不需要重复遍历关联数据集就可以获得需要的数据.假设每个数据集中有 条记录,报表定义模板中有m列,通常情况下民n >m,对类似于表1所示的报表定义模板进行计算的时间复杂度为O(n2).对比以上两种建立视图问关联关系的方法,如果m 比较大或报表定义模板中包含嵌套的扩展格,那么定义在字段上的关联关系在计算效率上的优势就非常明显了。模型中对以上两种方法都提供了支持。建在字段上的关联关系只对该字段起作用,建在视图上的关联关系对视图中所有字段都起作用,在我们无法确定把关系建在哪个字段上时,就把它建在视图上.字段上的关联关系优先级高于视图上的关联关系。

Claims (4)

1.一种基于WEB报表定义模板计算的方法其特征是报表定义模板类对象,假设其对象模块定义为R。
2.根据权利要求1的定义,其必须要定义报表运行上下文,为报表提供数据来源,其定义为con。
3.根据权利要求2的定义,其必须要返回计算后的报表,IReport是报
表接口,ReportDefine实现了这个接口,其返回值定义为Return。
4.根据权利要求3的定义其需要进行扩展格计算其必须定义中间计算报表ir,报表定义数据集列表dateMap,要计算的单元格c。
CN201310489866.9A 2013-10-18 2013-10-18 一种基于web报表定义模板计算的方法 Pending CN104572049A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310489866.9A CN104572049A (zh) 2013-10-18 2013-10-18 一种基于web报表定义模板计算的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310489866.9A CN104572049A (zh) 2013-10-18 2013-10-18 一种基于web报表定义模板计算的方法

Publications (1)

Publication Number Publication Date
CN104572049A true CN104572049A (zh) 2015-04-29

Family

ID=53088224

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310489866.9A Pending CN104572049A (zh) 2013-10-18 2013-10-18 一种基于web报表定义模板计算的方法

Country Status (1)

Country Link
CN (1) CN104572049A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108037909A (zh) * 2017-09-25 2018-05-15 广联达科技股份有限公司 关联数据集计算方法及系统和计算机设备

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1588369A (zh) * 2004-09-06 2005-03-02 杭州恒生电子股份有限公司 一种关系型数据库系统及其查询和报表方法
CN102841938A (zh) * 2012-08-14 2012-12-26 北京久其软件股份有限公司 一种参数化报表的生成方法及系统

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1588369A (zh) * 2004-09-06 2005-03-02 杭州恒生电子股份有限公司 一种关系型数据库系统及其查询和报表方法
CN102841938A (zh) * 2012-08-14 2012-12-26 北京久其软件股份有限公司 一种参数化报表的生成方法及系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
林碧英 等: "基于XML的语义层报表模型的研究与实现", 《四川大学学报(自然科学版)》 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108037909A (zh) * 2017-09-25 2018-05-15 广联达科技股份有限公司 关联数据集计算方法及系统和计算机设备

Similar Documents

Publication Publication Date Title
CN105912381B (zh) 一种基于规则库的编译期代码安全检测方法
CN102542027B (zh) 一种基于关系模式学习本体的数据集成系统的构建方法
US9098630B2 (en) Data selection
CN102982168B (zh) 一种基于xml文档的元数据模式匹配方法
CN101996271A (zh) 实现pscad电力系统仿真计算模型自动生成的软件接口
CN103793432A (zh) 一种数据库读写分离方法及装置
CN102880468A (zh) 一种用于ecu程序开发的代码智能提示方法及其系统
CN109359112A (zh) 一种代码的自动生成方法及代码生成器
CN110162297A (zh) 一种源代码段自然语言描述自动生成方法及系统
CN103488738A (zh) 一种自动实现java对象及数据表sql文件的方法及系统
CN105930325A (zh) 一种文件报表比对差异的逆向分析方法及装置
CN110020834A (zh) 一种建模和调试融合的在线智能大数据开发方法
CN103778524A (zh) 一种基于xml的语义层报表模型的方法
CN102915476A (zh) 一种可视化的业务流程设计方法
CN104572049A (zh) 一种基于web报表定义模板计算的方法
Schek et al. From extensible databases to interoperability between multiple databases and GIS applications
CN102214092A (zh) 一种软件开发辅助工具包
CN103778106A (zh) 一种报表定义模板运算的方法
CN103399746B (zh) 一种便于二次开发的信息管理系统及开发方法
CN105786787A (zh) 基于Java的高效PDF报表测试方法
De Francesco et al. Modeling concurrent accesses to shared data via Petri nets
CN113076421B (zh) 一种社交噪音文本实体关系抽取优化方法及系统
CN101246473B (zh) 一种分词系统的评测方法和一种分词评测系统
Zhao et al. STOC: extending oracle to support spatiotemporal data management
Yan et al. XML modeling of fuzzy data with relational databases

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20150429