CN103902718A - 一种报表控件及其应用 - Google Patents

一种报表控件及其应用 Download PDF

Info

Publication number
CN103902718A
CN103902718A CN201410141220.6A CN201410141220A CN103902718A CN 103902718 A CN103902718 A CN 103902718A CN 201410141220 A CN201410141220 A CN 201410141220A CN 103902718 A CN103902718 A CN 103902718A
Authority
CN
China
Prior art keywords
data
unit
report
browser
row
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
CN201410141220.6A
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.)
Inspur Software Co Ltd
Original Assignee
Inspur Software 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 Inspur Software Co Ltd filed Critical Inspur Software Co Ltd
Priority to CN201410141220.6A priority Critical patent/CN103902718A/zh
Publication of CN103902718A publication Critical patent/CN103902718A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/26Visual data mining; Browsing structured data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
    • G06F9/44526Plug-ins; Add-ons

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明涉及一种报表控件,包括数据请求单元:获取报表数据放入浏览器缓存中;锁定行列单元:生成报表锁定行列所需的DOM结构;数据排序单元:为表头添加点击事件,使用户点击表头排序;数据筛选单元:对报表数据进行筛选;数据透视单元:对报表数据进行透视分析;数据快照单元:对保存数据快照;数据导出单元:将报表数据保存为EXCEL格式;数据打印单元:打印报表;图形转换单元:将报表中的任意列转化为柱状图。本发明适用于在web系统中有大数据量展示需求的场景下,使用本发明可以大幅提高浏览器页面响应速度,同时满足用户对数据进行对比分析的需求。

Description

一种报表控件及其应用
技术领域
本发明涉及一种报表控件及其应用,属于计算机数据报表的技术领域。
背景技术
报表在当前计算机业务系统中较为常见,是数据查询分析的主要工具,报表查询慢也是用户经常反应的问题。究其原因主要有两个:后台数据量大导致SQL执行缓慢;查询结果数据量大导致浏览器展现速度慢。针对后一种情况,对数据进行分页处理可以较好的解决慢的问题,但是按照人们的使用习惯,一次展现的数据越多越有利于对数据进行对比、分析等操作,因此对数据分页处理不是好的解决方案,这也是目前大部分报表都不分页的原因,所以目前急需一种既可以解决展现速度慢,又可以规避以上缺陷的报表控件及其应用。
中国专利CN102521413A提供了一种基于网络报表的取数装置和方法,该装置包括:请求发送单元,将报表查询请求发送至网络服务器;数据获取单元,获取报表数据;报表创建单元,建立第一中间表、第二中间表和第三中间表;数据导入单元,将对应的报表数据导入第一中间表、第二中间表、第三中间表;序号添加单元,在第一中间表中添加第一序号列,为第二中间表添加第二序号列;排序单元,将第一中间表中的报表数据进行排序;分组单元,将第二中间表中的报表数据进行分组;依赖数值确定单元,确定依赖数值;数值范围确定单元,确定数值范围;数据输出单元,将报表数据中的相应数据输出至浏览器。通过本发明的技术方案,可以准确获取部分数据,避免服务器缓存不足。但是该篇对比专利与本发明的主要的技术区别在于:对比专利重点解决服务器缓存不足,而本发明专注于大数据量情况大,保证渲染速度的同时方便用户对报表数据的对比与分析;该对比专利的技术不足:在对比专利的数据输出单元,对比专利描述“将报表数据中的相应数据输出至浏览器”,并没有给出当“相应数据”数据量过大时会导致浏览器渲染过程缓慢问题的解决途径。而本发明采用分步式渲染技术减少浏览器一次渲染的数据量,加快报表展现速度。
中国专利CN102521415A提供了一种在报表中引入外部数据的装置,包括:语义模型创建单元,建立语义模型;数据获取单元,利用所述语义模型,从目标数据库中获取目标数据;扩展单元,在报表中建立扩展区;导入单元,将所述数据获取单元获取的所述目标数据导入所述扩展区。相应地,本发明还提出了一种在报表中引入外部数据的方法。通过本发明的技术方案,可以简化在报表中引入外部数据的过程,增加了报表的易用性。但是该篇对比专利与本发明的主要的技术区别在于:对比专利重点解决报表在引入外部数据过程中的易用性问题,而本发明专注于大数据量情况大,保证渲染速度的同时方便用户对报表数据的对比与分析;该对比专利的技术不足:对比专利简化了在报表中引入外部数据的过程,但是没有具体描述当报表数据量过大时,浏览器渲染过程缓慢问题的解决途径。而本发明采用分步式渲染技术减少浏览器一次渲染的数据量,加快报表展现速度。
发明内容
针对现有技术的不足,本发明提供一种报表控件。该报表控件采用分步式渲染技术,有效的解决在大数据量情况下报表展现速度慢的问题,并且能够兼顾用户对报表数据进行对比分析的需求。
本发明还涉及一种上述报表控件的应用。
本发明的技术方案如下
一种报表控件,包括数据请求单元、锁定行列单元、数据排序单元、数据筛选单元、数据透视单元、数据快照单元、数据导出单元、数据打印单元、图形转换单元和报表输出单元;
所述数据请求单元:获取报表数据放入浏览器缓存中;
所述锁定行列单元:生成报表锁定行列所需的DOM结构;
所述数据排序单元:为表头添加点击事件,使用户点击表头排序;
所述数据筛选单元:对报表数据进行筛选;
所述数据透视单元:对报表数据进行透视分析;
所述数据快照单元:对保存数据快照;
所述数据导出单元:将报表数据保存为EXCEL格式;
所述数据打印单元:打印报表;
所述图形转换单元:将报表中的任意列转化为柱状图。所述报表输出单元:根据浏览器可视范围,本单元通过分步式渲染技术,尽可能减少提交给浏览器渲染的数据量。
本发明所述报表控件采用分步式渲染技术解决大数据量情况下报表展现速度慢的问题。所谓分步式渲染技术,用通俗的语言讲就是“你看不到的数据就不渲染”,其实现原理如下:通常使用的显示器分辨率都在800*600到1920*1200像素之间,一般报表的行高大概在30个像素左右,通过简单的除法可知,即使比较大的显示器使用全屏来显示报表,用户一次最多也就能看到40行=1200/30数据,我们知道如果浏览器只展现40行数据的话,展现速度将会非常快,高性能报表控件正是利用这一点,将成千上万行的数据的展现过程转化为40行数据的展现过程。具体展现过程如下:高性能报表控件先从后台拿到抽象的报表数据放到浏览器内存中,再通过计算浏览器的高度获取目前能显示开的报表行数,计算对应数据的起始行和结尾行,只将这些数据交给浏览器去渲染。当用户拖动滚动条或滑动滚轮时,根据滚动条距离顶部的距离和滚动条的总高度,再次计算对应的数据起始行和结尾行,并将对应数据交给浏览器去渲染。这些过程不需要使用报表控件的开发人员参与,完全由报表控件自动完成。客户端浏览器不需要安装任何插件,报表控件对浏览器的版本也做了适配,支持IE7-10,chrome,firefox等主流浏览器。
一种上述报表控件的应用,包括步骤如下:
(1)所述报表控件先从后台拿到所有报表数据放到浏览器内存中,同时拿到报表数据的总行数n、报表的行高a,计算出如果展现全部报表数据所需的高度H,所述H=n×a;
(2)报表控件通过浏览器接口获取浏览器高度b,计算浏览器一次最多能显示的报表行数H2,所述H2=b/a,然后生成一个滚动条,该滚动条总高度为H,可见高度为H2,所述报表控件同时监听滚动条的滚动位置:当用户拖动滚动条时获取到滚动位置c,设初始为0,由此计算报表数据的起始行m=(c+0),其结尾行m’=(c+H2);
(3)最后报表控件将步骤(1)和步骤(2)中涉及到的参数:n、a、H、b、H2、c、m和m’存放在浏览器内存中的报表数据里,根据起始行m、结尾行m’拿到对应的报表行,交给浏览器去渲染。
本发明作为报表控件,报表开发人员在开发报表时,需要提前将本发明引入到页面,同时填写本发明所需的必要参数(表体数据,表头描述),本发明将自动将数据组装成报表在页面展示;
本发明作为BI展现工具,BI开发人员丰富本发明对数据的分析和二次加工能力,可以生成一些预警或数据异常信息反馈给用户,也可以添加对数据的钻取和切面能力,为用户提供直观的数据分析体验。
本发明作为自定义报表工具的展示层,自定义报表工具允许用户通过只写一段SQL,自动的生成一张报表,自定义报表工具开发人员只需要在后台写一段程序,分析SQL生成本发明所必须的参数(表体数据,表头描述),即可实现自定义报表工具。
本发明所述的应用过程不需要使用报表控件的开发人员参与,完全由报表控件自动完成。客户端浏览器不需要安装任何插件,本发明的报表控件对浏览器的版本按照现有技术做了适配,支持IE7-10,chrome,firefox等主流浏览器。
本发明的优势在于:
1.本发明适用于在web系统中有大数据量展示需求的场景下,使用本发明可以大幅提高浏览器页面响应速度,同时满足用户对数据进行对比分析的需求。
2.本发明作为报表展现控件,在web信息系统中使用。
3.本发明可以作为丰富其数据分析、处理能力,扩展为BI展现工具。
4.本发明利用其相对固定的接口,使其成为自定义报表工具的展现层。
附图说明
图1为分别利用本发明与现有技术对展开报表时间的对比表;
图2为本发明作为报表控件在实际应用场景的前端效果截图。
具体实施方式
下面结合实施例和说明书附图对本发明做详细的说明,但不限于此。
实施例1、
一种报表控件,包括数据请求单元、锁定行列单元、数据排序单元、数据筛选单元、数据透视单元、数据快照单元、数据导出单元、数据打印单元、图形转换单元和报表输出单元;
所述数据请求单元:获取报表数据放入浏览器缓存中;
所述锁定行列单元:生成报表锁定行列所需的DOM结构;
所述数据排序单元:为表头添加点击事件,使用户点击表头排序;
所述数据筛选单元:对报表数据进行筛选;
所述数据透视单元:对报表数据进行透视分析;
所述数据快照单元:对保存数据快照;
所述数据导出单元:将报表数据保存为EXCEL格式;
所述数据打印单元:打印报表;
所述图形转换单元:将报表中的任意列转化为柱状图。所述报表输出单元:根据浏览器可视范围,本单元通过分步式渲染技术,尽可能减少提交给浏览器渲染的数据量。
本发明所述报表控件采用分步式渲染技术解决大数据量情况下报表展现速度慢的问题。所谓分步式渲染技术,用通俗的语言讲就是“你看不到的数据就不渲染”,其实现原理如下:通常使用的显示器分辨率都在800*600到1920*1200像素之间,一般报表的行高大概在30个像素左右,通过简单的除法可知,即使比较大的显示器使用全屏来显示报表,用户一次最多也就能看到40行=1200/30数据,我们知道如果浏览器只展现40行数据的话,展现速度将会非常快,高性能报表控件正是利用这一点,将成千上万行的数据的展现过程转化为40行数据的展现过程。具体展现过程如下:高性能报表控件先从后台拿到抽象的报表数据放到浏览器内存中,再通过计算浏览器的高度获取目前能显示开的报表行数,计算对应数据的起始行和结尾行,只将这些数据交给浏览器去渲染。当用户拖动滚动条或滑动滚轮时,根据滚动条距离顶部的距离和滚动条的总高度,再次计算对应的数据起始行和结尾行,并将对应数据交给浏览器去渲染。这些过程不需要使用报表控件的开发人员参与,完全由报表控件自动完成。客户端浏览器不需要安装任何插件,报表控件对浏览器的版本也做了适配,支持IE7-10,chrome,firefox等主流浏览器。
实施例2、
一种如实施例1所述报表控件的应用,包括步骤如下:
(1)所述报表控件先从后台拿到所有报表数据放到浏览器内存中,同时拿到报表数据的总行数n、报表的行高a,计算出如果展现全部报表数据所需的高度H,所述H=n×a;
(2)报表控件通过浏览器接口获取浏览器高度b,计算浏览器一次最多能显示的报表行数H2,所述H2=b/a,然后生成一个滚动条,该滚动条总高度为H,可见高度为H2,所述报表控件同时监听滚动条的滚动位置:当用户拖动滚动条时获取到滚动位置c,设初始为0,由此计算报表数据的起始行m=(c+0),其结尾行m’=(c+H2);
(3)最后报表控件将步骤(1)和步骤(2)中涉及到的参数:n、a、H、b、H2、c、m和m’存放在浏览器内存中的报表数据里,根据起始行m、结尾行m’拿到对应的报表行,交给浏览器去渲染。
本发明所述的报表控件在展现大数据量报表时的速度比传统报表控件快很多,如图1所示,当数据行数超过1000行时,本发明所述的报表控件的展现时间远远优于传统的报表控件的展现时间。

Claims (2)

1.一种报表控件,其特征在于,该报表控件包括数据请求单元、锁定行列单元、数据排序单元、数据筛选单元、数据透视单元、数据快照单元、数据导出单元、数据打印单元、图形转换单元和报表输出单元;所述数据请求单元:获取报表数据放入浏览器缓存中;所述锁定行列单元:生成报表锁定行列所需的DOM结构;所述数据排序单元:为表头添加点击事件,使用户点击表头排序;所述数据筛选单元:对报表数据进行筛选;所述数据透视单元:对报表数据进行透视分析;所述数据快照单元:对保存数据快照;所述数据导出单元:将报表数据保存为EXCEL格式;所述数据打印单元:打印报表;所述图形转换单元:将报表中的任意列转化为柱状图。
2.一种如权利要求1所述报表控件的应用,包括步骤如下:
(1)所述报表控件先从后台拿到所有报表数据放到浏览器内存中,同时拿到报表数据的总行数n、报表的行高a,计算出如果展现全部报表数据所需的高度H,所述H=n×a;
(2)报表控件通过浏览器接口获取浏览器高度b,计算浏览器一次最多能显示的报表行数H2,所述H2=b/a,然后生成一个滚动条,该滚动条总高度为H,可见高度为H2,所述报表控件同时监听滚动条的滚动位置:当用户拖动滚动条时获取到滚动位置c,设初始为0,由此计算报表数据的起始行m=(c+0),其结尾行m’=(c+H2);
(3)最后报表控件将步骤(1)和步骤(2)中涉及到的参数:n、a、H、b、H2、c、m和m’存放在浏览器内存中的报表数据里,根据起始行m、结尾行m’拿到对应的报表行,交给浏览器去渲染。
CN201410141220.6A 2014-04-09 2014-04-09 一种报表控件及其应用 Pending CN103902718A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410141220.6A CN103902718A (zh) 2014-04-09 2014-04-09 一种报表控件及其应用

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410141220.6A CN103902718A (zh) 2014-04-09 2014-04-09 一种报表控件及其应用

Publications (1)

Publication Number Publication Date
CN103902718A true CN103902718A (zh) 2014-07-02

Family

ID=50994040

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410141220.6A Pending CN103902718A (zh) 2014-04-09 2014-04-09 一种报表控件及其应用

Country Status (1)

Country Link
CN (1) CN103902718A (zh)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104317571A (zh) * 2014-09-30 2015-01-28 浪潮软件股份有限公司 一种通过报表控件缩短浏览器响应时间的方法
CN106294301A (zh) * 2016-08-09 2017-01-04 广州唯品会信息科技有限公司 报表生成方法和装置
CN106708877A (zh) * 2015-11-16 2017-05-24 北京国双科技有限公司 数据处理方法和装置
CN106802778A (zh) * 2017-02-15 2017-06-06 路新喜 一种智能打印方法及系统
CN106844526A (zh) * 2016-12-29 2017-06-13 金蝶软件(中国)有限公司 单据处理方法和装置
CN107944042A (zh) * 2017-12-14 2018-04-20 郑州云海信息技术有限公司 一种iop平台的表格导出方法
CN109062932A (zh) * 2018-06-13 2018-12-21 武汉擎动网络科技有限公司 报表展现方法及系统
CN109284488A (zh) * 2018-09-06 2019-01-29 郑州云海信息技术有限公司 基于本地存储修改前端表格列数据的方法、装置及介质
CN109947328A (zh) * 2019-03-21 2019-06-28 珠海格力电器股份有限公司 多参数显示方法、装置及空调机组监测设备
CN112732397A (zh) * 2021-01-28 2021-04-30 上海上讯信息技术股份有限公司 一种加载显示大数据报表的方法与设备
CN113010583A (zh) * 2021-03-02 2021-06-22 金蝶蝶金云计算有限公司 基于报表的排序方法、装置、计算机设备和存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101876971A (zh) * 2010-06-22 2010-11-03 北京伟库电子商务科技有限公司 报表展现方法和装置
CN102521413A (zh) * 2011-12-28 2012-06-27 畅捷通信息技术股份有限公司 基于网络报表的取数装置和方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101876971A (zh) * 2010-06-22 2010-11-03 北京伟库电子商务科技有限公司 报表展现方法和装置
CN102521413A (zh) * 2011-12-28 2012-06-27 畅捷通信息技术股份有限公司 基于网络报表的取数装置和方法

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104317571A (zh) * 2014-09-30 2015-01-28 浪潮软件股份有限公司 一种通过报表控件缩短浏览器响应时间的方法
CN106708877A (zh) * 2015-11-16 2017-05-24 北京国双科技有限公司 数据处理方法和装置
CN106294301A (zh) * 2016-08-09 2017-01-04 广州唯品会信息科技有限公司 报表生成方法和装置
CN106294301B (zh) * 2016-08-09 2020-10-13 广州品唯软件有限公司 报表生成方法和装置
CN106844526A (zh) * 2016-12-29 2017-06-13 金蝶软件(中国)有限公司 单据处理方法和装置
CN106844526B (zh) * 2016-12-29 2019-12-10 金蝶软件(中国)有限公司 单据处理方法和装置
CN106802778A (zh) * 2017-02-15 2017-06-06 路新喜 一种智能打印方法及系统
CN107944042A (zh) * 2017-12-14 2018-04-20 郑州云海信息技术有限公司 一种iop平台的表格导出方法
CN107944042B (zh) * 2017-12-14 2020-10-16 浪潮云信息技术股份公司 一种iop平台的表格导出方法
CN109062932A (zh) * 2018-06-13 2018-12-21 武汉擎动网络科技有限公司 报表展现方法及系统
CN109284488B (zh) * 2018-09-06 2021-11-19 郑州云海信息技术有限公司 基于本地存储修改前端表格列数据的方法、装置及介质
CN109284488A (zh) * 2018-09-06 2019-01-29 郑州云海信息技术有限公司 基于本地存储修改前端表格列数据的方法、装置及介质
CN109947328A (zh) * 2019-03-21 2019-06-28 珠海格力电器股份有限公司 多参数显示方法、装置及空调机组监测设备
CN109947328B (zh) * 2019-03-21 2020-12-08 珠海格力电器股份有限公司 多参数显示方法、装置及空调机组监测设备
CN112732397A (zh) * 2021-01-28 2021-04-30 上海上讯信息技术股份有限公司 一种加载显示大数据报表的方法与设备
CN113010583A (zh) * 2021-03-02 2021-06-22 金蝶蝶金云计算有限公司 基于报表的排序方法、装置、计算机设备和存储介质

Similar Documents

Publication Publication Date Title
CN103902718A (zh) 一种报表控件及其应用
CN108537269B (zh) 一种弱交互式的物体检测深度学习方法及其系统
US9577897B2 (en) Providing visualizations of event sequence data
CN110929489A (zh) 一种表单生成及表单数据处理方法及系统
CN112507806B (zh) 智慧课堂信息交互方法、装置及电子设备
DE102014010217A1 (de) Dynamische Informationsanpassung für ein Computergerät mit mehreren Leistungsmodi
US11841839B1 (en) Preprocessing and imputing method for structural data
CN111078094B (zh) 分布式机器学习可视化装置
CN107357812A (zh) 一种数据查询方法及装置
CN113420009B (zh) 一种基于大数据的电磁数据分析装置、系统及方法
CN113160395B (zh) 一种基于cim的城市多维信息交互及场景生成的方法、装置及介质
WO2021012861A1 (zh) 数据查询耗时评估方法、装置、计算机设备和存储介质
CN110309463A (zh) 落地页优化方法、装置、计算机存储介质及网络设备
CN104346378B (zh) 一种实现复杂数据处理的方法、装置及系统
CN110532319A (zh) 一种分布式气象数据定时处理系统
CN111680026B (zh) 一种基于mvvm模式的气动数据分析方法
CN110517547B (zh) 基于人机交互的力学智能分析系统
CN112100530A (zh) 网页分类方法、装置、电子设备及存储介质
CN103150391A (zh) 基于配置文件的通用数据库表网页展示方法
CN102866985A (zh) 用于联机分析处理系统的数据格式化装置和方法
CN103034579B (zh) 图形运维操作有效性的自动分析处理方法和系统
CN115169578A (zh) 一种基于元宇宙数据标记的ai模型生产方法及系统
CN116610667A (zh) 业务数据处理方法、装置、计算机设备和存储介质
CN113051874B (zh) 一种用户行为数据渲染方法和装置
TWI522827B (zh) Real-time storage and real-time reading of huge amounts of data for non-related 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: 20140702