报表动态列的展示方法及装置制造方法

文档序号:6489205阅读:102来源:国知局
报表动态列的展示方法及装置制造方法
【专利摘要】本发明公开一种报表动态列的展示方法,包括:定义一个用于保存动态列各种sql片段语句的实体类;根据预置过滤条件,将实体类的属性进行赋值;根据赋值后的实体类和sql片段语句,获取临时表中已更新的动态列的数据,将动态列的数据输出并在报表展示界面进行显示。本发明还公开一种报表动态列的展示装置。本发明通过定义一个用于保存动态列各种sql片段语句的实体类并将实体类的属性进行赋值、根据赋值后的实体类和sql片段语句,获取临时表中已更新的动态列的数据并将动态列的数据输出且在报表展示界面进行显示的方法,具有快速、便捷地展示报表动态列的有益效果,提高了报表动态列展示的通用性和易维护性,提升了用户体验。
【专利说明】报表动态列的展示方法及装置
【技术领域】
[0001]本发明涉及数据处理【技术领域】,尤其涉及一种报表动态列的展示方法及装置。
【背景技术】
[0002]一般的报表如财务账表都是固定列展示,现有技术对固定列显示与否的常用处理方式如下:根据报表的过滤条件,获取报表展示时需要展示的列(包括固定列和动态列);设置报表需要展示的列(包括固定列和动态列);在Sql (Structured Query Language,结构化查询语言)语句中拼接查询Sql语句;查询固定列数据;查询动态列相关的数据,并对动态列一行一行地更新数据。
[0003]现有技术所采用的处理方式处理效率不高,而且处理起来也比较繁琐;对动态列和实际业务处理时,二者代码混合,增加了代码处理的难度且容易出错;现有技术的这种处理方法不通用,处理时每个报表都需要重新处理一遍;如果数据量较大,则对处理性能有很大影响;且后期的维护成本也比较高,不利于代码跟踪,尤其是异常定位。

【发明内容】

[0004]本发明的主要目的是提供一种报表动态列的展示方法及装置,旨在解决报表动态列展示时繁琐的处理过程及通用性不高的问题,提升用户的体验。
[0005]本发明公开了一种报表动态列的展示方法,包括以下步骤:
[0006]定义一个用于保存动态列各种结构化查询语言sql片段语句的实体类;
[0007]根据预置过滤条件,将所述实体类的属性进行赋值;
[0008]根据赋值后的所述实体类和sql片段语句,获取临时表中已更新的动态列的数据,将所述动态列的数据输出并在报表展示界面进行显示。
[0009]优选地,所述根据赋值后的所述实体类和sql片段语句,获取临时表中已更新的动态列的数据,将所述动态列的数据输出并在报表展示界面进行显示的步骤之前还包括步骤:
[0010]创建所述临时表。
[0011]优选地,所述根据赋值后的所述实体类和sql片段语句,获取临时表中已更新的动态列的数据,将所述动态列的数据输出并在报表展示界面进行显示的步骤具体包括:
[0012]业务处理时,根据所述实体类,处理固定列的数据;并将获取的所述动态列的数据进行赋值和标记;
[0013]将标记的所述动态列的数据更新至临时表中对应的动态列;
[0014]根据赋值后的所述实体类中动态列的属性,查询sql片段语句,获取临时表中已更新的动态列的数据;
[0015]将所述动态列的数据输出,并在报表展示界面进行显示。
[0016]优选地,所述将所述动态列的数据输出,并在报表展示界面进行显示的步骤之前还包括步骤:[0017]根据所述预置过滤条件,判断所述动态列的数据是否进行展示。
[0018]优选地,所述将标记的所述动态列的数据更新至临时表中对应的动态列的更新方式为:动态列的一列采用一条所述sql片段语句,批量执行更新。
[0019]本发明还公开一种报表动态列的展示装置,包括:
[0020]实体定义模块,用于定义一个用于保存动态列各种sql片段语句的实体类;
[0021]属性赋值模块,用于根据预置过滤条件,将所述实体类的属性进行赋值;
[0022]数据展示模块,用于根据赋值后的所述实体类和sql片段语句,获取临时表中已更新的动态列的数据,将所述动态列的数据输出并在报表展示界面进行显示。
[0023]优选地,所述报表动态列的展示装置还包括:
[0024]临时表创建模块,用于创建所述临时表。
[0025]优选地,所述数据展示模块具体包括:
[0026]数据标记单元,用于在业务处理时,根据所述实体类,处理固定列的数据;并将获取的所述动态列的数据进行赋值和标记;
[0027]数据更新单元,用于将标记的所述动态列的数据更新至临时表中对应的动态列;
[0028]数据展示单元,用于根据赋值后的所述实体类中动态列的属性,查询sql片段语句,获取临时表中已更新的动态列的数据;将所述动态列的数据输出,并在报表展示界面进行显示。
[0029]优选地,所述数据展示单元还用于:
[0030]根据所述预置过滤条件,判断所述动态列的数据是否进行展示。
[0031]优选地,所述数据更新单元具体用于:
[0032]将标记的所述动态列的数据更新至临时表中对应的动态列的更新方式为:动态列的一列采用一条所述sql片段语句,批量执行更新。
[0033]本发明通过定义一个用于保存动态列各种sql片段语句的实体类、根据预置过滤条件,将实体类的属性进行赋值、根据赋值后的实体类和sql片段语句,获取临时表中已更新的动态列的数据、将动态列的数据输出并在报表展示界面进行显示的方法,具有快速、便捷地展示报表动态列的有益效果,提高了报表动态列展示的通用性和易维护性,提升了用户体验。
【专利附图】

【附图说明】
[0034]图1是本发明报表动态列的展示方法第一实施例流程示意图;
[0035]图2是本发明报表动态列的展示方法第二实施例流程示意图;
[0036]图3是本发明报表动态列的展示方法中将动态列进行展示一实施例流程示意图;
[0037]图4是本发明报表动态列的展示装置第一实施例结构示意图;
[0038]图5是本发明报表动态列的展示装置第二实施例结构示意图;
[0039]图6是本发明报表动态列的展示装置中数据展示模块一实施例结构示意图。
[0040]本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
【具体实施方式】
[0041]以下结合说明书附图及具体实施例进一步说明本发明的技术方案。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0042]参照图1,图1是本发明报表动态列的展示方法第一实施例流程示意图;如图1所示,本发明报表动态列的展示方法包括以下步骤:
[0043]步骤S01、定义一个用于保存动态列各种sql片段语句的实体类;
[0044]首先要定义一个实体类,用于保存位置动态列的各种sql片段语句,即该实体类的实体属性包括构建动态列的各种情况;如创建动态列的sql片段语句、查询动态列的sql片段语句、动态列求和的sql片段语句、动态列赋初值的sql片段语句、动态列名命名规则(包括币别因素影响列名)等。定义了保存上述sql片段语句的实体,则在实际业务逻辑处理中,只要对不同的sql查询语句附加不同的sql片段语句即可。
[0045]为了保证本发明报表动态列的展示方法的通用性,定义的实体类可以采取继承方式,保证基类能最大限度包含公共的属性,而各报表在处理时,如有特殊的处理,则创建的实体类都继承自这一基类,否则可以用基类做实体类;只要是在构建未知列上需要用到的各种sql片段语句以及未知列判断都可以用实体属性来处理。
[0046]步骤S02、根据预置过滤条件,将所述实体类的属性进行赋值;
[0047]通过设置的报表的过滤条件,将该实体类的属性进行赋值;这样可以保证与后续功能实现处理的一致性,而且后续不再需要考虑未知列的情况,直接使用该实体类即可,保证了后续对动态列的处理只有一个“源头”。
[0048]步骤S03、根据赋值后的所述实体类和sql片段语句,获取临时表中已更新的动态列的数据,将所述动态列的数据输出并在报表展示界面进行显示。
[0049]根据定义的上述实体类及实体属性,通过查询包括sql片段语句的sql查询语句,获取临时表中已经更新的动态列的数据,将该动态列的数据输出,并显示在报表展示界面。
[0050]在一优选的实施例中,将输出的动态列的数据显示在报表展示界面之前,可以根据报表的过滤条件,灵活地处理动态列是否进行展示;比如,对于财务的帐表来说,可以根据实际需要将类似“无发生额”的动态列表不进行显示。
[0051]本实施例通过定义一个用于保存动态列各种sql片段语句的实体类、根据预置过滤条件,将实体类的属性进行赋值、根据赋值后的实体类和sql片段语句,获取临时表中已更新的动态列的数据、将动态列的数据输出并在报表展示界面进行显示的方法,具有快速、便捷地展示报表动态列的有益效果,提高了报表动态列展示的通用性和易维护性,提升了用户体验。
[0052]参照图2,图2是本发明报表动态列的展示方法第二实施例流程示意图;本实施例与本发明报表动态列的展示方法第一实施例的区别是,仅增加了步骤S04 ;本实施例仅对步骤S04作具体描述,本发明报表动态列的展示方法所涉及的其他步骤请参照相关实施例的具体描述,在此不再赘述。
[0053]如图2所示,在步骤S03、根据赋值后的所述实体类和sql片段语句,获取临时表中已更新的动态列的数据,将所述动态列的数据输出并在报表展示界面进行显示的步骤之前还包括步骤:
[0054]步骤S04、创建所述临时表。
[0055]创建用于取数的临时表,该临时表主要用于存储发生更新的数据;创建该临时表时,只需要把实体中为创建动态列的属性附加到创建临时表的sql语句中即可,则在后续从该临时表中获取发生更新的动态列的数据时,根据sql查询语句便可准确获取到上述数据。
[0056]本实施例通过创建用于取数的临时表的方法,方便后续可准确地从该临时表中获取到更新的动态列的数据,且获取是只需根据sql查询语句即可,提高了动态列展示的便捷性和通用性。
[0057]参照图3,图3是本发明报表动态列的展示方法中将动态列进行展示一实施例流程示意图;本实施例仅对步骤S03作进一步描述,本发明报表动态列的展示方法所涉及的其他步骤请参照相关实施例的具体描述,在此不再赘述。
[0058]如图3所示,本发明报表动态列的展示方法中,步骤S03、根据所述实体类和sql片段语句,获取临时表中已更新的动态列的数据,将所述动态列的数据输出并在报表展示界面进行显示的步骤具体包括:
[0059]步骤S11、业务处理时,根据所述实体类,处理固定列的数据;并将获取的所述动态列的数据进行赋值和标记;
[0060]业务处理取数时,暂不处理动态列,只是处理固定列的数据,并对动态列赋初值,同时将动态列相关的数据取出来,并且给予标记,为后续将动态列的数据更新作好识别准备。
[0061]步骤S12、将标记的所述动态列的数据更新至临时表中对应的动态列;
[0062]将步骤Sll中标记的动态列的数据更新到临时表中的,在一优选的实施例中,更新方式采取一列一条更新语句批量执行更新,把前面做过标记的数据更新到相应的动态列,即动态列的一列采用一条所述sql片段语句,批量进行更新做过标记的数据;动态列数据更新其实就是一个数据“行转列”的处理过程,并将更新后的数据放置在对应的动态列中。
[0063]步骤S13、根据赋值后的所述实体类中动态列的属性,查询sql片段语句,获取临时表中已更新的动态列的数据;将所述动态列的数据输出,并在报表展示界面进行显示。
[0064]根据实体类中动态列的属性,查询包括sql片段语句的查询语句,获取临时表中已更新的动态列的数据;在一优选的实施例中,可以根据预先设置的过滤条件,灵活地对更新后的动态列的数据进行显示;具体地,可根据预置过滤条件,判断所述动态列的数据是否进行展示;若是,则将所述动态列的数据输出至报表展示界面,进行展示。若否,则将不需要展示的动态列的数据不进行显示。
[0065]本实施例通过根据赋值后的实体类和sql片段语句,获取临时表中已更新的动态列数据,并将所述动态列数据展示在报表展示界面的方法,具有便捷地展示报表动态列的有益效果,且可以根据需要灵活地选择是否进行动态列的展示,更进一步地提高了用户的体验。
[0066]参照图4,图4是本发明报表动态列的展示装置第一实施例结构示意图;如图4所示,本发明报表动态列的展示装置具体包括:
[0067]实体定义模块01,用于定义一个用于保存动态列各种sql片段语句的实体类;
[0068]首先实体定义模块01要定义一个实体类,用于保存位置动态列的各种sql片段语句,即该实体类的实体属性包括构建动态列的各种情况;如创建动态列的sql片段语句、查询动态列的sql片段语句、动态列求和的sql片段语句、动态列赋初值的sql片段语句、动态列名命名规则(包括币别因素影响列名)等。实体定义模块Ol定义了保存上述sql片段语句的实体,则在实际业务逻辑处理中,只要对不同的sql查询语句附加不同的sql片段语句即可。
[0069]为了保证本发明报表动态列的展示方法的通用性,实体定义模块01定义的实体类可以采取继承方式,保证基类能最大限度包含公共的属性,而各报表在处理时,如有特殊的处理,则创建的实体类都继承自这一基类,否则可以用基类做实体类;只要是在构建未知列上需要用到的各种sql片段语句以及未知列判断都可以用实体属性来处理。
[0070]属性赋值模块02,用于根据预置过滤条件,将所述实体类的属性进行赋值;
[0071]通过设置的报表的过滤条件,属性赋值模块02将该实体类的属性进行赋值;这样可以保证与后续功能实现处理的一致性,而且后续不再需要考虑未知列的情况,直接使用该实体类即可,保证了后续对动态列的处理只有一个“源头”。
[0072]数据展示模块03,用于根据赋值后的所述实体类和sql片段语句,获取临时表中已更新的动态列的数据,将所述动态列的数据输出并在报表展示界面进行显示。
[0073]根据实体定义模块01定义的上述实体类及属性赋值模块02赋值的实体属性,数据展示模块03通过查询包括sql片段语句的sql查询语句,获取临时表中已经更新的动态列的数据,并将该动态列的数据输出至报表展示界面。
[0074]在一优选的实施例中,数据展示模块03将输出的动态列的数据显示在报表展示界面之前,可以根据报表的过滤条件,灵活地处理动态列是否进行展示;比如,对于财务的帐表来说,数据展示模块03可以根据实际需要将类似“无发生额”的动态列表不进行显示。
[0075]本实施例通过定义一个用于保存动态列各种sql片段语句的实体类、根据预置过滤条件,将实体类的属性进行赋值、根据赋值后的实体类和sql片段语句,获取临时表中已更新的动态列的数据、将动态列的数据输出并在报表展示界面进行显示,具有快速、便捷地展示报表动态列的有益效果,提高了报表动态列展示的通用性和易维护性,提升了用户体验。
[0076]参照图5,图5是本发明报表动态列的展示装置第二实施例结构示意图;本实施例与本发明报表动态列的展示装置第一实施例的区别是,仅增加了临时表创建模块04,本实施例仅对临时表创建模块04作具体描述,本发明报表动态列的展示装置所涉及的其他模块请参照相关实施例的具体描述,在此不再赘述。
[0077]如图5所示,本发明报表动态列的展示装置还包括:
[0078]临时表创建模块04,用于创建所述临时表。
[0079]临时表创建模块04创建用于取数的临时表,该临时表主要用于存储发生更新的数据;临时表创建模块04创建该临时表时,只需要把实体中为创建动态列的属性附加到创建临时表的sql语句中即可,则在后续从该临时表中获取发生更新的动态列的数据时,根据sql查询语句便可准确获取到上述数据。
[0080]本实施例通过创建用于取数的临时表,方便后续可准确地从该临时表中获取到更新的动态列的数据,且获取是只需根据sql查询语句即可,提高了动态列展示的便捷性和通用性。
[0081]参照图6,图6是本发明报表动态列的展示装置中数据展示模块一实施例结构示意图。本实施例仅对数据展示模块03作进一步描述,本发明报表动态列的展示装置所涉及的其他模块请参照相关实施例的具体描述,在此不再赘述。
[0082]如图6所示,本发明报表动态列的展示装置中,数据展示模块03具体包括:
[0083]数据标记单元031,用于在业务处理时,根据所述实体类,处理固定列的数据;并将获取的所述动态列的数据进行赋值和标记;
[0084]数据标记单元031进行业务处理取数时,暂不处理动态列,只是处理固定列的数据,并对动态列赋初值,同时将动态列相关的数据取出来,并且给予标记,为后续将动态列的数据更新作好识别准备。
[0085]数据更新单元032,用于将标记的所述动态列的数据更新至临时表中对应的动态列;
[0086]数据更新单元032将数据标记单元031中标记的动态列的数据更新到临时表中的,在一优选的实施例中,数据更新单元032的更新方式采取一列一条更新语句批量执行更新,把前面做过标记的数据更新到相应的动态列,即动态列的一列采用一条所述sql片段语句,批量进行更新做过标记的数据;数据更新单元032进行动态列数据更新其实就是一个数据“行转列”的处理过程,并将更新后的数据放置在对应的动态列中。
[0087]数据展示单元033,用于根据赋值后的所述实体类中动态列的属性,查询sql片段语句,获取临时表中已更新的动态列的数据;将所述动态列的数据输出,并在报表展示界面进行显示。
[0088]数据展示单元033根据实体类中动态列的属性,查询包括sql片段语句的查询语句,获取临时表中已更新的动态列的数据;在一优选的实施例中,数据展示单元033可以根据预先设置的过滤条件,灵活地对更新后的动态列的数据进行显示;具体地,数据展示单元033可根据预置过滤条件,判断所述动态列的数据是否进行展示;若是,则将所述动态列的数据输出至报表展示界面,进行展示。若否,则将不需要展示的动态列的数据不进行显示。
[0089]本实施例通过根据实体类和sql片段语句,获取临时表中已更新的动态列的数据,并将所述动态列的数据输出至报表展示界面,具有便捷地展示报表动态列的有益效果,且可以根据需要灵活地选择是否进行动态列的展示,更进一步地提高了用户的体验。
[0090]以上所述仅为本发明的优选实施例,并非因此限制其专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,直接或间接运用在其他相关的【技术领域】,均同理包括在本发明的专利保护范围内。
【权利要求】
1.一种报表动态列的展示方法,其特征在于,包括以下步骤: 定义一个用于保存动态列各种结构化查询语言Sql片段语句的实体类; 根据预置过滤条件,将所述实体类的属性进行赋值; 根据赋值后的所述实体类和sql片段语句,获取临时表中已更新的动态列的数据,将所述动态列的数据输出并在报表展示界面进行显示。
2.如权利要求1所述的方法,其特征在于,所述根据赋值后的所述实体类和sql片段语句,获取临时表中已更新的动态列的数据,将所述动态列的数据输出并在报表展示界面进行显示的步骤之前还包括步骤: 创建所述临时表。
3.如权利要求1或2所述的方法,其特征在于,所述根据赋值后的所述实体类和sql片段语句,获取临时表中已更新的动态列的数据,并将所述动态列的数据输出并在报表展示界面进行显示的步骤具体包括: 业务处理时,根据所述实体类,处理固定列的数据;并将获取的所述动态列的数据进行赋值和标记; 将标记的所述动态列的数据更新至临时表中对应的动态列; 根据赋值后的所述实体类中动态列的属性,查询sql片段语句,获取临时表中已更新的动态列的数据; 将所述动态列的数据输出,并在报表展示界面进行显示。
4.如权利要求3所述的方法,其特征在于,所述将所述动态列的数据输出,并在报表展示界面进行显示的步骤之前还包括步骤: 根据所述预置过滤条件,判断所述动态列的数据是否进行显示。
5.如权利要求3所述的方法,其特征在于,所述将标记的所述动态列的数据更新至临时表中对应的动态列的更新方式为:动态列的一列采用一条所述sql片段语句,批量执行更新。
6.一种报表动态列的展示装置,其特征在于,包括: 实体定义模块,用于定义一个用于保存动态列各种sql片段语句的实体类; 属性赋值模块,用于根据预置过滤条件,将所述实体类的属性进行赋值; 数据展示模块,用于根据赋值后的所述实体类和sql片段语句,获取临时表中已更新的动态列的数据,将所述动态列的数据输出并在报表展示界面进行显示。
7.如权利要求6所述的装置,其特征在于,还包括: 临时表创建模块,用于创建所述临时表。
8.如权利要求6或7所述的装置,其特征在于,所述数据展示模块具体包括: 数据标记单元,用于在业务处理时,根据所述实体类,处理固定列的数据;并将获取的所述动态列的数据进行赋值和标记; 数据更新单元,用于将标记的所述动态列的数据更新至临时表中对应的动态列;数据展示单元,用于根据赋值后的所述实体类中动态列的属性,查询sql片段语句,获取临时表中已更新的动态列的数据;将所述动态列的数据输出,并在报表展示界面进行显/Jn ο
9.如权利要求8所述的装置,其特征在于,所述数据展示单元还用于:根据所述预置过滤条件,判断所述动态列的数据是否进行显示。
10.如权利要求8所述的装置,其特征在于,所述数据更新单元具体用于: 将标记的所述动态列的数据更新至临时表中对应的动态列的更新方式为:动态列的一列采用一条所述sql片段语句`,批量执行更新。
【文档编号】G06F17/30GK103678413SQ201210361039
【公开日】2014年3月26日 申请日期:2012年9月25日 优先权日:2012年9月25日
【发明者】吴祥武 申请人:金蝶软件(中国)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1