一种基于Extjs框架的数据智能分析系统及方法

文档序号:9432311阅读:458来源:国知局
一种基于Extjs框架的数据智能分析系统及方法
【技术领域】
[0001] 本发明设及数据处理技术领域,尤其设及一种基于Extjs框架的数据智能分析系 统及方法。
【背景技术】
[0002] 在地铁能源管理系统中,报表主要用于各车站空调系统、通风系统、照明系统、给 排水系统、供配电系统、电扶梯等管理对象的能耗统计和能耗分析。由于各车站、子系统中 设备类型、设备数量相同或相近,需要统计分析的运行参数一致,所W在报表应用中,会存 在大量的内容格式、运算过程都完全相同的报表,如各车站10KV电度负荷统计报表等等。 但在实际中运些报表均是独立配置,导致大量的重复劳动,增加工作成本。
[0003] 另一方面,随着地铁能源管理系统从传统的C/S架构逐步向B/S架构转移,相应的 越来越多的报表应用将在Web环境下开发与运行。近年来,对于web报表的研究也在逐渐 增加,但存在W下两点问题:
[0004] 1、部分软件只是实现了通过web方式查询和发布报表的功能,而基本的报表配置 工具仍然基于C/S架构实现。 阳0化]2、大多数web报表软件基于微软Excel平台开发,使得其无法兼容当今大量使用 的非IE内核浏览器(如化rome、FireFox等),通用性大大降低。

【发明内容】

[0006] 针对W上两个方面的问题,本发明公开了一种基于Extjs框架的数据智能分析系 统及方法,本发明的报表模板和报表的确定方法用于解决上述对于内容格式相同的报表需 要重复配置的问题,且所有的报表配置和查询操作都可W在浏览器上完成,能够实现跨系 统平台及跨浏览器运行。
[0007] 为了实现上述目的,本发明采用的技术方案为:一种基于Extjs框架的数据智能 分析方法,采用B/S架构,提供报表模板和报表。
[0008] 根据本发明的一个方面,其特征在于:
[0009] 将报表的内容划分为一系列的单元格、行、列,每个单元格、行、列都确定为一个数 据规则,据此划分,报表的内容是由一系列数据规则组成。根据数据规则中数据来源的不 同,将数据规则划分为静态、运算、数据库=类。其中:
[0010] 静态来源,包括报表的标题、表头、表尾W及表体中用于表示行、列名称或其他说 明性含义的部分;
[0011] 运算来源,包括表体中某些需要通过其他部分的数据进行特定运算后才能得到结 果的单元格、行或者列;
[0012] 数据库来源,表体中某些与数据库测点对象绑定,需要通过与数据库交互来获取 结果的单元格、行或列。
[0013] 进一步,本发明的报表模板的确定方法,具体包括步骤:
[0014] SIO :确定模板的大小,及模板的行数和列数;
[001引 S11 :确定模板的类型,即日报、周报、月报、年报等;
[0016] S12 :确定一个数组用于保存添加的数据规则,添加数据规则的方法:将模板的内 容划分为不同的数据规则并确定数据来源,依次创建相应的数据规则添加到模板中;
[0017] 进一步,创建数据规则的具体包括步骤:
[0018] S121 :确定数据规则的Id,模板中每条数据规则具有唯一的Id ;
[0019] S122 :确定数据规则的数据来源,即来源于静态、运算还是数据库;
[0020] S123 :确定数据规则的类型,数据规则的类型有单元格、行或者列S种;
[0021] S124 :确定数据规则的位置,即数据规则所作用的行、列位置;
[0022] S125 :确定数据规则的长度,即该从步骤S124确定位置开始,根据步骤S123确定 的类型,该数据规则在行或者列方向上包含多少个单元格,单元格类型的数据规则长度定 义为1 ; 阳02引 S126 :确定数据规则的内容,根据步骤S122确定的数据来源:
[0024] 静态规则需要确定内容包括静态数值或字符串;
[00巧]运算规则需要确定的内容包括运算表达式和参与运算的单元格、行或者列;
[00%] 静态规则需要确定的内容包括对数据库查询所得原始数据的处理方法,如取最 大、最新、平均值等等,也可用一个计算表达式表示。
[0027] 进一步,本发明的报表的确定方法,具体包括步骤:
[0028]S20 :选定一个报表模板,本发明所确定的报表都需要依赖于一个报表模板才能够 运行;
[0029] S21 :展开所选定报表模板包含的数据规则;
[0030]S22:对数据来源为数据库的数据规则绑定具体的数据库对象测点,测点与数据规 则--对应。
[0031] 根据本发明的另一个方面,提供了一种基于Extjs框架的数据智能分析系统,包 括web客户端,后台服务器,所述后台服务器连接数据库,其特征在于:
[0032] 所述web客户端采用B/S架构,包括模板配置模块、报表配置模块、报表查询和生 成模块;
[0033] 所述各模炔基于Ext js表格控件Ext. grid. Panel实现,且所述各模块通过Ext js 的事件监听机制捕捉用户的操作指令并作出反应,同时通过Ajax请求与所述后台服务器 进行交互。
[0034]所述模板配置模块用于实现所述报表模板确定,包括:创建模板、浏览模板、修改 模板、保存模板等,报表模板的内容采用JS0N数据格式保存;
[0035] 所述报表配置模块用于实现前述的报表确定,包括:创建报表、浏览报表、修改报 表、保存报表等,报表内容采用JS0N数据格式保存;
[0036] 所述报表查询和生成模块,用于提供查询生成报表功能。
[0037] 后台服务器用于实现:
[0038] web发布,提供浏览器访问接口,并响应web客户端发起的Ajax请求;
[0039] 数据处理,保存、读取、解析报表模板和报表,执行报表数据的统计和运算;
[0040] 数据查询,在查询生成报表时从所述数据库获取需要的数据;
[0041] 文件存储,存储配置好的报表模板及报表文件。
[0042] 进一步,查询生成报表,包括W下步骤:
[0043] S30:将选择的查询报表和查询时间作为参数通过Ajax发送到所述后台服务器;
[0044] S31:解析报表文件获取模板名称和报表中配置的数据库对象测点;
[0045] S32:解析所述报表模板,获得其大小、类型和数据规则,并生成一个与所述报表模 板大小相同的二维数组;
[0046] S33:展开数据来源为静态的数据规则,将其中包含的数组或字符串填入到所述二 维数组的相应位置;
[0047] S33:将解析获取的数据库对象测点写入到对应的数据规则中;
[0048] S34:根据模板的类型、查询时间对每条写入了数据库对象测点的数据规则生成 S化语句,执行每条S化语句获取原始数据,并执行统计运算后,把统计运算结果填入到二 维数组的相应位置;
[0049] S35:展开数据来源为运算的数据规则,执行每条规则包含的运算表达式,将结果 入到二维数组的相应位置;
[0050]S36 :把二维数组返回所述报表查询和生成模块,根据数据生成报表。 阳051] 进一步,本发明还提供了一种对于Ext. grid. Panel单元格数据快速更新的方法, 包括W下步骤:S40:获取表格组件即Ext. grid. Panel实例的所对应的dom对象;
[0052]S41 :获取用户修改的单元格位置及数据;
[0053]S42 :根据用户所修改的单元格行位置,在表格组件dom的chil化en对象数组中找 到对应的tr节点;
[0054]S43 :根据用户所修改的单元格列位置,在步骤S42所找到的tr节点的chil化en 对象数组中找到对应的td节
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1