首页> 中国专利> 多层级汇总统计报表协同填报处理方法

多层级汇总统计报表协同填报处理方法

摘要

本发明涉及多层级汇总统计报表协同填报处理方法,包括以下步骤:在客户端将用户输入的信息进行配置并根据信息的类型分别存储到数据库中的各表中;根据数据库内的报表之间的关系、从顶层依次遍历每张报表,并对报表进行生成和提取。本发明实现了大规模关联性业务报表的递推式全自动生成过程,提高了报表的生成速度。通过配置过程,减少了因为报表格式修改导致的系统程序修改,提高了系统的通用性。

著录项

  • 公开/公告号CN105677625A

    专利类型发明专利

  • 公开/公告日2016-06-15

    原文格式PDF

  • 申请/专利权人 中国科学院沈阳自动化研究所;

    申请/专利号CN201410669791.7

  • 申请日2014-11-21

  • 分类号G06F17/24(20060101);G06F17/30(20060101);

  • 代理机构21002 沈阳科苑专利商标代理有限公司;

  • 代理人许宗富;周秀梅

  • 地址 110016 辽宁省沈阳市东陵区南塔街114号

  • 入库时间 2023-12-18 15:32:47

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2019-03-26

    授权

    授权

  • 2016-07-13

    实质审查的生效 IPC(主分类):G06F17/24 申请日:20141121

    实质审查的生效

  • 2016-06-15

    公开

    公开

说明书

技术领域

本发明涉及多层级汇总统计报表协同填报处理方法,属于信息技术领域。

背景技术

企业的生产运营基础数据分散在各个部门,管理部门需要按周期收集这些 数据,对这些数据进行加工整理,汇总出更为直观、关键的顶层数据,从而评 判企业在某一段时间内的运行情况,进而预测数据在下一阶段的走势,对企业 下一阶段的经营决策提供依据。

管理部门按周期收集各部门报表,部门报表特点是以数据量大、以本期基 础数据为主、表格样式多样性。企业管理部门收集后,对基础数据进行加工计 算,形成企业生产运营报表。企业级报表特点是尽可能将各期数据展现在同一 张报表上面、包含大量计算和换算公式。

企业目前报表生成的方法,主要不足如下:一是忽略了报表间业务数据之 间的联系,对报表独立,生成速度较慢。二是对报表格式和内容改变的适配能 力较差。本发明意在解决当前企业报表生成所存在不足之处,缩短报表形成时 间、提高系统对于报表格式和内容改变的适配能力,减少由于报表格式和内容 改变造成的系统程序修改。

发明内容

针对上述技术不足,本发明的目的提供多层级汇总统计报表协同填报处理 方法。该方法可以在复杂的轨道环境中,快速的提供给天车最短的移动路线。

本发明解决其技术问题所采用的技术方案是:多层级汇总统计报表协同填 报处理方法,包括以下步骤:

在客户端将用户输入的信息进行配置并根据信息的类型分别存储到数据库 中的各表中;根据数据库内的报表之间的关系、从顶层依次遍历每张报表,并 对报表进行生成和提取。

所述将用户输入的信息进行配置包括:

定义报表结构,属性包括编码、名称;其中编码作为报表的唯一标识;

定义报表之间的关系,包括报表编码、父报表编码、报表层数、报表序号; 报表编码、父报表编码代表报表间的层级关系;报表层数代表所在报表体系中 的层级;报表序号表示该报表在其父报表所有子报表中的顺序号;

定义数据源结构,包括编码、类型、地址、参数、数据单元;参数的属性 包括编码、名称、类型、地址、默认值;

定义报表与数据源的关系,包括报表编码、数据源编码;

定义数据单元结构,包括编码、目标报表编码、目标报表行特征值、目标 报表列特征值、源报表编码、源报表行特征值、源报表列特征值、数据类型、 数值;其中编码做为数据单元的唯一标识;

定义数据单元之间的四则运算表达式。

所述行特征值和列特征值分别为报表中行和列的特征值;特征值由多层关 键字表示,属性包括特征值编码、关键字、上层特征值编码;关键字包含静态 和动态两种类型;静态类型为普通文本,动态类型为数据库SQL语句。

所述根据数据库内的报表之间的关系、从顶层依次遍历每张报表,并对报 表进行生成和提取包括以下步骤:

当生成报表时,系统通过数据库存储的报表之间的关系数据、自动从最顶 层报表进行递归遍历;

在最底层根据报表序号的顺序依次生成报表并进行数据提取,将提取的数 据存储到数据库;在上一层按顺序依次生成报表并进行数据提取,将提取的数 据存储到数据库;直至遍历所有层的报表。

所述生成报表包括以下步骤:

生成某一报表时,通过报表与数据源关系获取当前报表的数据源编码;根 据数据源的类型访问数据源地址;

如果数据源参数有默认值,则直接访问数据源;如果没有,则根据参数的 地址,生成参数输入框,根据用户选择的内容向数据源发出请求;数据源返回 一个包含多项数据单元的结果集;客户端根据数据单元的行特征值与列特征值 对报表赋值。

所述生成报表还包括:查询数据库数据单元中目标报表编码为此报表编码 的数据单元数值,然后根据查询的数据单元之间的四则运算表达式进行运算, 并将运算结果根据数据单元的行特征值与列特征值对报表赋值。

所述根据数据单元的行特征值与列特征值对报表赋值包括以下步骤:

首先对数据单元的行特征值进行递归遍历,通过各层的关键字寻找到报表 上唯一一行;然后对数据单元的列特征值进行递归遍历,通过各层的关键字寻 找到报表上唯一一列;最后通过行列交叉定位唯一报表单元格;将数据单元数 值给此单元格赋值。

所述的根据数据单元的行特征值与列特征值对报表赋值还包括:如果为动 态关键字,系统执行SQL语句,根据结果集与其他层次的关键字拼接成最终关 键字。

进行数据提取具体为:查询数据单元中源报表编码等于此报表编码的数据 单元,根据数据单元的行特征值与列特征值将此报表数据赋值到此数据单元、 并存储至数据库。

所述根据数据单元的行特征值与列特征值将此报表数据赋值到此数据单元 包括以下步骤:

首先对数据单元的行特征值进行递归遍历,通过各层的关键字寻找到报表 上唯一一行;然后对数据单元的列特征值进行递归遍历,通过各层的关键字寻 找到报表上唯一一列;最后通过行列交叉定位唯一报表单元格,将此单元格数 据给数据单元数值赋值

本发明具有以下有益效果及优点:

1.报表数据收集和生成的自动化,减少了人工输入、提高了数据的准确性。

2.报表生成的系统化,缩短了报表形成的时间。

3.企业生产运营数据的独立化,提高了数据使用的灵活性。

4.本发明实现了大规模关联性业务报表的递推式全自动生成过程,提高了 报表的生成速度。通过配置过程,减少了因为报表格式修改导致的系统程序修 改,提高了系统的通用性。

附图说明

图1为本发明的业务报表示例图一;

图2为本发明的业务报表示例图二;

图3为本发明的业务报表示例图三;

图4为本发明的业务报表示例图四;

图5为报表间关系图;

图6为报表处理流程图;

图7为报表与数据单元关系图。

具体实施方式

下面结合实施例对本发明做进一步的详细说明。

附图1、2、3、4分别展示了四张报表。附图1为某一业务报表,展示了项 目A、项目B、项目C等本月、本月累计、同期累计的数据。本申请以如下的情 况进行举例:其中项目A的本月数据来自于附图2报表的合计数据。附图2报 表的合计通过自身的项目A1、A2、A3、A4计算得出。项目A1数据的计算公式 为附图3报表的项目a数据除以附图4报表的项目b乘以5。本月累计数据为本 年度1月份至本月的累计数据。同期累计数据为上年度1月份至上年当月的累 计数据。

首先对附图1、2、3、4展示的四张报表进行编码,分别为101,102,103,104。 报表101、102、103和104构成了附图5显示的层级性的报表关系。那么报表 101项目A的本月数据可以通过报表102、103、104分解计算得出。即首先生成 报表103和104,然后通过103和104的数据生成102,最后通过102的数据生 成101的项目A数据。

通常的报表生成方法并不考虑报表之间的数据关联,对报表采用逐一生成。 根据上述的分析,可以说明相关业务的报表之间存在层级性的关联关系,本申 请根据这种关系,提供了一种递推式快速生成方法。

对各个报表进行定义,存储编码、名称、填报人、查阅人等基础信息,其 中编码作为报表的唯一标识。如“101,报表A、李明、王玲”、“102,报表B、 张红、杨丽”等。其中填报人和查阅人用来控制报表的填报和查阅权限。

配置报表之间的关联信息并进行存储,包括报表编码、父报表编码、报表 层数、报表序号等。如“101,空,1,1”、“102,101,2,1”、“103,102,3,1”、 “104,102,3,2”。层数和序号均从1开始计数。如附图5,报表101所在位置 为报表体系中的第1层,报表102所在位置为报表体系中的第2层,报表103 和104所在位置为报表体系中的第3层,并且103和104在相同层的序号为1,2。

本申请抽象了两种数据来源。一是内部数据源,是来自于其他报表所提供 的数据,在本申请内不再描述。二是外部数据源,即每张报表都可以从外围系 统获取数据,在本申请后续所述的数据源如无特殊说明,均指外部数据源。

常用的Web服务请求方式往往将Web服务的基本信息硬编码写入系统程序 中,这样就会造成由于Web服务的信息变化导致系统程序修改。本申请提供了 一种动态请求和动态获取服务参数的方法,灵活地配置了报表与其数据源的关 系,减少了由于数据源的修改而导致的程序变动,简化了系统的维护工作。详 细描述如下。

通过WebService和SQL语句两种方式进行对数据源进行封装。数据源信 息包括编码、名称、类型、地址等。其中编码作为数据源的唯一标识,类型用 来区分是WebService或者SQL方式,0表示前者,1表示后者。地址存储Web Service地址或者SQL语句。如果是WebService方式,系统通过访问服务地址 获取数据结果集。如果是SQL语句方式,系统通过执行SQL语句获取结果集。 每个服务可以有若干个输入参数。首先需要设定一些基本信息,对于数据源的 输入参数在系统界面以日期、文本框、下拉列表三种方式展现,分别用0、1、2 代表。参数信息包括编码、名称、类型、数据源编码、地址等。通过数据源编 码将参数与其数据源进行关联。以下拉列表方式展现的参数,地址信息中存入 SQL语句。这样就实现了数据源的动态获取和输入参数的动态获取。以附图3的 报表103为例,通过数据源对报表103生成。如果是通过WebService方式获 取数据,数据源信息为“203,获取本月产量数据,192.168.1.1/Product.asmx”。 如果是通过SQL方式获取数据,数据源信息为“203,获取本月产量数据,1, select*fromproduct”。输入参数有两个,年月和部门,年月在界面显示为 日历控件,部门显示为下拉列表。参数年月的信息为“301,年月,0,203,空”, 参数部门的信息为“302,部门,2,203,select*fromdepartments”。

配置报表与数据源的关联信息并进行存储,包括报表编码、数据源编码等。 如配置附图3报表103的数据源信息,为“103,203”。

根据数据源生成报表时,根据报表编码查询数据源编码。找到后向数据源 地址发送请求后,数据源会返回结果集。结果集由若干条数据组成,每条数据 应该包含行特征值、列特征值、数值等信息。根据行特征值和列特征值,在报 表中寻找相应的单元格,将数值给单元格赋值。

本申请提供了一种共用数据单元的方法。通过分析可以得出,各个报表都 可以给其他报表包括自身提供数据,也可以利用数据源或者其他报表提供的数 据进行生成。数据单元的信息包括编码、目标报表编码、目标报表行特征值、 目标报表列特征值、源报表编码、源报表行特征值、源报表列特征值、数据类 型、年月、数值等。其中编码做为数据单元的唯一标识。如附图6所示,生成 报表时,在数据库中查询目标报表编码为本报表编码的数据单元,通过行特征 值和列特征值将数据单元数值给报表赋值。提取报表数据时,在数据库中查询 源报表编码为本报表的数据单元,通过行特征值和列特征值将报表数据给数据 单元数值赋值,并存入数据库。

附图7为附图6的进一步说明。如图,数据单元集合为在数据库中存储的 若干个数据单元信息。根据报表的关系,采用递归方法从底层到顶层对各个报 表采用如附图7所示的操作。先使用数据库中的信息生成报表,再将生成报表 的数据提取提取存入数据库,供其他报表生成。

为了简化用户配置数据单元特征值的操作,本申请提供了一种动态特征值 的生成方法。动态特征值有有种约束。一是只有行特征值支持动态。二是如果 为目标报表的行特征值与源报表列特征值要么均为静态,要么均为动态。动态 特征值具体的生成方法为在数据单元的目标报表和源报表行特征值关键字中存 入SQL语句。当进行报表提取时,执行SQL语句,根据结果集生成关键字。假 设,附图3报表103项目a数据用于生成附图1报表101的项目A数据,并且 项目a和项目A可以从数据库中进行查询。则可以配置数据单元 “301,101,select*fromXXX,月份完成情况,103,select*fromYYY,月份 完成情况”。当对报表103进行数据提取时,则会根据SQL返回结果集的数量, 动态生成数据单元“301_1,101,项目A,月份完成情况,103,项目a,月份完成 情况”。接着根据动态生成的数据单元进行数据提取。

本申请提供了一种数据单元之间的计算方法。例如,A数据单元的数值通过 B和C计算得出,则表达式为{0}={1}+{2}。表达式包含参数,参数存储数 据单元编码。表达式中单元格具有顺序,系统判断等号右边的数据单元的源报 表是否均已生成。如果生成,则进行计算,将计算结果赋值给等号右边的数据 单元。

本申请详细描述说明1所述的情形的数据单元配置信息:从底层向顶层进 行配置。附图3报表103的数据单元信息为“301,102,项目A1,实际产量,103, 项目a,月份完成情况”。附图4报表104的数据单元信息为“302,102,项目A1, 实际产量,104,项目,b,月份完成情况”。附图2报表102的数据单元信息为 “303,101,项目A,月份完成情况,102,项目A1,实际产量”。附图1报表101 的数据单元信息为“304,101,项目A,本月止累计完成情况->月份完成情况,101, 项目A,月份完成情况”和“305,101,项目A,本月止累计完成情况->上年同 期,101,项目A,月份完成情况”。配置计算公式信息为“{0}={1}/{2}*5”, 参数为“102,103,104”。

本申请详细描述附图1、2、3、4所示报表的生成过程:系统对报表关系信 息进行递归遍历,首先完成最底层报表的填报,待最底层所有报表均填报结束 后,向上层递推逐一生成每个报表。首先对报表103,根据报表数据源的信息, 生成报表103。接着在数据库中查询数据源单元信息中源报表编码等于103的数 据单元,如“301,102,项目A1,实际产量,103,项目a,月份完成情况”,根据源 报表行特征值和列特征值,将项目a数据存储进入数据库,并附加月份信息如 201410。接着对报表104进行同样处理。当报表103和104处理结束后,在数 据库中查询数据源单元信息中目标报表编码等于102的数据单元信息。根据数 据102的计算公式,如“{0}={1}/{2}*5”,计算得出数据单元的具体数 据给报表102赋值。然后对报表102进行数据提取,在数据库中查询数据源单 元信息中源报表编码等于103的数据单元,如“303,101,项目A,月份完成情 况,102,项目A1,实际产量”,,根据源报表行特征值和列特征值,将项目a数 据存储进入数据库,并附加月份信息如201410。最后处理报表101,在数据库 中查询数据源单元信息中目标报表编码等于101的数据单元信息,根据数据单 元的行特征值和列特征值生成报表101。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号