CN101556579B - 用于动态报表区域的公式处理系统及其方法 - Google Patents
用于动态报表区域的公式处理系统及其方法 Download PDFInfo
- Publication number
- CN101556579B CN101556579B CN200910083855A CN200910083855A CN101556579B CN 101556579 B CN101556579 B CN 101556579B CN 200910083855 A CN200910083855 A CN 200910083855A CN 200910083855 A CN200910083855 A CN 200910083855A CN 101556579 B CN101556579 B CN 101556579B
- Authority
- CN
- China
- Prior art keywords
- formula
- model
- dynamic
- data
- selection
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明提供了一种用于动态报表区域的公式处理系统,包括:取数公式生成装置,用于在所述动态报表区域按照单元位置生成取数公式,使用所述取数公式从报表的单元位置取数;公式解析装置,用于对所述取数公式进行解析,验证所述取数公式的合法性;公式模型装置,用于储存动态报表区域的取数公式;以及动态区模型装置,用于储存所述动态报表区域。从而,可以灵活的把抽取和转换出的数据填充和扩展到轻量级的数据模型中。
Description
技术领域
本发明涉及动态表格区域处理技术,更具体地涉及用于动态报表区域的公式处理系统及其方法。
背景技术
从系统中提炼出有价值的数据信息,及时掌握企业动态,以帮助企业领导做出经营决策,真正实现企业报表分析的随需而动。
在现有的企业报表分析系统中,在数据抽取和转换方面有很多限制,动态报表区域不支持按照单元位置定义和计算公式,不能灵活组合出复杂的条件。格式和数据的关联性很强,数据填充规则可以灵活的把数据填充和扩展到轻量级的数据模型中。用户不能将关注的数据抽取、转换并灵活地填充、扩展出来。
发明内容
为了解决上述技术问题至少之一,本发明提供了一种用于动态报表区域的公式处理系统,包括:取数公式生成装置,用于在所述动态报表区域按照单元位置生成取数公式,使用所述取数公式从报表的单元位置取数;公式解析装置,用于对所述取数公式进行解析,验证所述取数公式的合法性;公式模型装置,用于储存动态报表区域的取数公式;以及动态区模型装置,用于储存所述动态报表区域。
在上述公式处理系统中,进一步包括:计算和调度引擎,用于在计算发起后,使用所述取数公式抽取和转换数据。公式模型装置还可以储存主表的取数公式。
在上述公式处理系统中,所述公式处理系统按照动态区域数据扩充和填充规则将所述格式模型和所述动态区模型转换成轻量数据模型。报表包括本报表和其他报表。
上述公式处理系统进一步包括格式模型装置,用于储存所述报表中的单元格式信息、公式模型、动态区模型,并将所述单元格式信息、所述公式模型、所述动态区模型持久化到物理数据库中。
上述公式处理系统进一步包括公式链构建装置,用于根据所述公式模型装置所储存的所述公式数据模型和所述动态区模型装置所储存的数据模型,来构建公式链,以供所述公式解析装置使用。
本发明还提供了一种用于动态报表区域的公式处理方法,包括:步骤602,在所述动态报表区域按照单元位置生成取数公式,使用所述取数公式从报表的单元位置取数;步骤604,通过公式解析装置解析所述取数公式,验证所述取数公式的合法性;步骤606,将动态报表区域的取数公式储存在公式模型中;以及步骤608,将所述动态报表区域储存在动态区模型中。
上述公式处理方法进一步包括:在计算发起后,通过计算和调度引擎使用所述取数公式抽取和转换数据。
所述公式处理系统按照动态区域数据扩充和填充规则将所述公式的数据模型和所述动态区域报表的数据模型转换成轻量数据模型。
上述公式处理方法进一步包括:通过公式链构建装置根据所述公式数据模型和所述数据模型,来构建公式链,以供所述公式解析装置使用。
在上述公式处理方法中,使用格式模型装置储存所述报表中的单元格式信息、公式模型、动态区模型,并将所述单元格式信息、所述公式模型、所述动态区模型持久化到物理数据库中。报表包括本报表和其他报表。
通过上述技术方案,彻底打破了传统报表工具在数据抽取和转换上的种种限制,动态区域内按照单元位置定义和计算公式,由公式抽取和转换后的数据可以按照一种规则灵活的填充和扩展到动态区域内。
上述技术方案具有以下优点至少之一:
动态报表区域支持按照单元位置定义和计算公式。
公式模型、公式解析器(公式驱动)、公式计算和调度引擎服务,可以灵活组合出复杂的条件,支持组合出通用的集合运算。
格式和数据的弱关联性:具有格式模型和轻量数据模型,数据可以在动态区内动态灵活、有层次的扩展。
数据填充规则可以灵活的把数据填充和扩展到轻量级的数据模型中。
附图说明
通过下面结合附图的具体描述可以更清楚地理解本发明的上述和其他方面、特征以及其他优点。
图1是根据本发明的一个实施例的用于动态报表区域的公式处理系统的框图;
图2示出了根据本发明的一个实施例的公式定义、解析、存储的流程图;
图3示出了根据本发明的一个实施例的公式解析、计算、调度、数据抽取转换的流程图;
图4示出了根据本发明的一个实施例的用于动态报表区域的公式处理方法的流程图;
图5示出了根据本发明的一个实施例中使用的取数公式的模型示意图。
具体实施方式
下面将参考附图具体描述本发明的示例性实施例。
图1是根据本发明的一个实施例的用于动态报表区域的公式处理系统的框图。
该公式处理系统10包括:取数公式生成装置102,用于在所述动态报表区域按照单元位置生成取数公式,使用所述取数公式从报表的单元位置取数;公式解析装置104,用于对所述取数公式进行解析,验证所述取数公式的合法性;公式模型装置106,用于储存动态报表区域的取数公式;以及动态区模型装置108,用于储存所述动态报表区域。
在上述公式处理系统中,进一步包括:计算和调度引擎110,用于在计算发起后,使用取数公式抽取和转换数据。公式模型装置106还可以储存主表的取数公式。
在上述公式处理系统中,所述公式处理系统10按照动态区域数据扩充和填充规则将所述格式模型和所述动态区模型转换成轻量数据模型。报表包括本报表和其他报表。
上述公式处理系统进一步包括格式模型装置112,用于储存所述报表中的单元格式信息、公式模型、动态区模型,并将所述单元格式信息、所述公式模型、所述动态区模型持久化到物理数据库中。
上述公式处理系统进一步包括公式链构建装置114,用于根据所述公式模型装置所储存的所述公式数据模型和所述动态区模型装置所储存的数据模型,来构建公式链,以供所述公式解析装置使用。
图2示出了根据本发明的一个实施例的公式定义、解析、存储的流程图。
流程说明如下:
定义灵活的取数公式:在报表的动态区内,可以按照单元位置定义公式,此单元位置可以是本表的也可以是其他报表的。
公式解析器:公式驱动程序把定义好的公式进行语法、语义检查,确保公式定义的合法性。灵活组合出复杂的条件,支持组合出通用的集合。解析出的公式保存在公式模型中。
动态区域中定义的公式,按照动态区PK保存到公式模型中。
格式模型存储公式模型,最后把格式模型持久化到物理数据库。
图3示出了根据本发明的一个实施例的公式解析、计算、调度、数据抽取转换的流程图。
流程说明如下:
由格式模型、公式模型构建公式链。
公式解析:公式驱动程序把定义好的公式进行语法、语义检查,确保公式定义的合法性。
计算、调度引擎服务:计算发起之后,公式通过计算、调度引擎抽取和转换数据。
动态区数据扩展、填充规则:由于公式是按照单元位置定义在动态区内的,所以数据填充规则会自动地把数据扩展和填充到动态区域内。
由格式模型、公式模型、动态区模型转化成轻量级的数据模型,抽取和转换后的数据灵活的扩展到轻量级的数据模型中,体现出格式和数据的弱关联性。
图4示出了根据本发明的一个实施例的用于动态报表区域的公式处理方法的流程图。
用于动态报表区域的公式处理方法包括:步骤602,在所述动态报表区域按照单元位置生成取数公式,使用所述取数公式从报表的单元位置取数;步骤604,通过公式解析装置对所述取数公式进行解析,验证所述取数公式的合法性;步骤606,将动态报表区域的公式储存在公式模型中;以及步骤608,将所述动态报表区域储存在动态区模型中。
上述公式处理方法进一步包括:在计算发起后,通过计算和调度引擎使用所述公式抽取和转换数据。
所述公式处理系统按照动态区域数据扩充和填充规则将所述格式模型和所述动态区模型转换成轻量数据模型。
上述公式处理方法进一步包括:通过公式链构建装置根据所述公式数据模型和所述数据模型,来构建公式链,以供所述公式解析装置使用。
在上述公式处理方法中,使用格式模型装置储存所述报表中的单元格式信息、公式模型、动态区模型,并将所述单元格式信息、所述公式模型、所述动态区模型持久化到物理数据库中。报表包括本报表和其他报表。
通过上述技术方案,彻底打破了传统报表工具在数据抽取和转换上的种种限制,动态区域内按照单元位置定义和计算公式,由公式抽取和转换后的数据可以按照一种规则灵活的填充和扩展到动态区域内。
本发明中使用的一些术语定义如下:
格式模型:存储报表中单元格式信息、以及其它格式模型的数据模型,其他格式模型比如:公式模型、动态区模型等。
轻量数据模型:在格式模型的基础上,轻量、灵活的填充和扩展数据,负责数据的展示。
动态区模型:存储动态区的数据模型:报表中的动态区域,相当于表中表,也可以理解为此报表的子表,此区域负责灵活的数据填充和扩展机制,甚至可以加上对此动态区数据的处理。
公式模型:存储各种公式的数据模型,包括主表和动态区的公式。
公式解析器(驱动):解析公式模型中的公式,由各个公式驱动推动:公式语法、语义检查。
计算、调度引擎服务:一套包含公式计算、调度的服务。
动态区PK:在一个报表数据模型中唯一的标识一个动态区域,相当于此动态区域的主键。
本技术方案所述的报表动态区域支持按照单元位置定义和计算公式的方法包括两大流程(可以参考技术方案中的两个流程图:图2和图3,方便理解):
1.公式定义、解析、存储流程
2.公式解析、调度、计算、数据抽取转换流程
为使本技术方案的目的、特征和优点能够更加明显易懂,下边将结合例子做进一步详细说明:
例如公式:
数据集公式:GETDATA(′销售情况′,′分公司编码,公司名称,日期,销售额′,′月′=ZMONTH())。
该公式描述:
1.该公式定义在报表的动态区域上,比如此区域是A6:F6,此区域是数据填充和转换的一个动态区域块;
2.公式的含义:从数据集“销售情况”中把所有分公司当前月的销售额数据抽取并展示出来;
3.公式条件:′月′=ZMONTH(),其中ZMONTH()也是一个公式,取当前月的值。
此公式的结构(请参见图5):
一般公式结构包括:公式名称和公式参数两个部分,而公式参数根据函数的功能而不同,比如有的公式参数含有过滤条件GETDATA(′销售情况′,′分公司编码,公司名称,日期,销售额′,′月′=ZMONTH())
公式解析:
上边定义好的公式,由公式驱动负责公式的语法检查,保证公式的正确性,公式包括一下几个步骤:
1.检查函数名称是否合法;
2.检查函数中的符号是否匹配,比如符号:( )、‘’;
3.检查函数各个参数是否合法:比如有些参数是数据库的字段,检查此参数是否存在;
4.检查运算符,是否符合系统预制的运算符;
5.函数可以嵌套,也要保证每个函数的正确性;
6.如果该公式通过语法检查,要把公式翻译成数据库形式,以便读取时还能翻译成用户形式。
公式存储:
把解析出的公式数据库表达式加入到公式链和公式模型中,并存入数据库。
公式计算、抽取和转换数据到动态扩展区域:
下边将详细介绍一下公式的计算、调度、抽取数据的流程:
1.公式解析;
2.计算服务、调度引擎服务执行公式计算;
3.动态区域把抽取和转换后的数据根据填充规则,将数据横向或者纵向的扩展。
公式解析:
由公式驱动解析出公式各个参数:把每个参数构建成各个表达式或者批命令,包括操作符。每个表达式里面含有每个参数的详细信息。
比如上边的公式会解析出以下表达式:
1.公式名称;
2.数据集名称;
3.字段信息:包括要取出那些字段的数据;
4.过滤条件,此函数中的过滤条件又是一个公式;
5.操作符:如果含有操作符号,操作符号也是一个表达式,可以从表达式中知道是哪个操作符。
计算服务、调度引擎执行公式的计算,抽取和转换数据
各个公式执行器负责把解析出的各个表达式,从中抽取数据:此函数中含有过滤条件′月′=ZMONTH(),会先执行过滤条件,把所有的过滤条件汇总成最终的条件,取出当前月的所有分公司的销售额情况明细。
数据填充:
抽取和转换后的数据填充到轻量的数据模型中,动态区域会负责数据的横向或者纵向扩展。
上述技术方案具有以下优点至少之一:
动态报表区域支持按照单元位置定义和计算公式。
公式模型、公式解析器(公式驱动)、公式计算和调度引擎,可以灵活组合出复杂的条件,支持组合出通用的集合运算。
格式和数据的弱关联性:具有格式模型和轻量数据模型,数据可以在动态区内动态灵活、有层次的扩展。
数据填充规则可以灵活的把数据填充和扩展到轻量级的数据模型中。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (8)
1.一种用于动态报表区域的公式处理系统,其特征在于,包括:
取数公式生成装置,用于在所述动态报表区域按照单元位置生成取数公式,使用所述取数公式从报表的单元位置取数;
公式解析装置,用于对所述取数公式进行解析,验证所述取数公式的合法性;
公式模型装置,用于储存动态报表区域的取数公式;
动态区模型装置,用于储存所述动态报表区域,
其中,所述公式处理系统按照动态区域数据扩充和填充规则将所述取数公式的数据模型和动态报表区域的数据模型转换成轻量数据模型。
2.根据权利要求1所述的公式处理系统,其特征在于,进一步包括:计算和调度引擎,用于在计算发起后,使用所述取数公式抽取和转换数据。
3.根据权利要求1或2所述的公式处理系统,其特征在于,所述公式处理系统进一步包括格式模型装置,用于储存所述报表中的单元格式信息、公式模型、动态区模型,并将所述单元格式信息、所述公式模型、所述动态区模型持久化到物理数据库中。
4.根据权利要求1或2所述的公式处理系统,其特征在于,所述公式处理系统进一步包括公式链构建装置,用于根据所述公式模型装置所储存的所述取数公式的数据模型和所述动态区模型装置所储存的所述动态报表区域的数据模型,构建公式链,以供所述公式解析装置使用。
5.一种用于动态报表区域的公式处理方法,其特征在于,包括:
步骤602,在所述动态报表区域按照单元位置生成取数公式,使用所述取数公式从报表的单元位置取数;
步骤604,通过公式解析装置对所述取数公式进行解析,验证所述取数公式的合法性;
步骤606,将动态报表区域的取数公式储存在公式模型中;
步骤608,将所述动态报表区域储存在动态区模型中;以及
步骤610,按照动态区域数据扩充和填充规则将所述取数公式的数据模型和所述动态报表区域的数据模型转换成轻量数据模型。
6.根据权利要求5所述的公式处理方法,其特征在于,进一步包括:在计算发起后,通过计算和调度引擎服务使用所述取数公式抽取和转换数据。
7.根据权利要求5或6所述的公式处理方法,其特征在于,使用格式模型装置储存所述报表中的单元格式信息、公式模型、动态区模型,并将所述单元格式信息、所述公式模型、所述动态区模型持久化到物理数据库中。
8.根据权利要求5或6所述的公式处理方法,其特征在于,进一步包括:通过公式链构建装置根据所述公式模型和所述动态区模型,构建公式链,以供所述公式解析装置使用。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200910083855A CN101556579B (zh) | 2009-05-08 | 2009-05-08 | 用于动态报表区域的公式处理系统及其方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200910083855A CN101556579B (zh) | 2009-05-08 | 2009-05-08 | 用于动态报表区域的公式处理系统及其方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101556579A CN101556579A (zh) | 2009-10-14 |
CN101556579B true CN101556579B (zh) | 2012-10-10 |
Family
ID=41174697
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200910083855A Expired - Fee Related CN101556579B (zh) | 2009-05-08 | 2009-05-08 | 用于动态报表区域的公式处理系统及其方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101556579B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101719131B (zh) * | 2009-12-01 | 2013-08-07 | 金蝶软件(中国)有限公司 | 一种报表数据的处理方法、装置和系统 |
CN102446172B (zh) * | 2010-10-08 | 2014-10-01 | 金蝶软件(中国)有限公司 | 数据业务的处理方法及装置 |
CN102446164A (zh) * | 2010-10-12 | 2012-05-09 | 金蝶软件(中国)有限公司 | 一种报表公式的解析方法、装置及业务系统 |
CN103034905A (zh) * | 2011-09-30 | 2013-04-10 | 哈尔滨奇安科技发展有限公司 | 报表智能分析方法 |
CN102789486A (zh) * | 2012-06-28 | 2012-11-21 | 用友软件股份有限公司 | 用于数据分析系统的公式处理装置和公式处理方法 |
CN103488622A (zh) * | 2013-09-04 | 2014-01-01 | 用友软件股份有限公司 | 隐藏数据计算系统和隐藏数据计算方法 |
CN105930516A (zh) * | 2016-05-18 | 2016-09-07 | 广东源恒软件科技有限公司 | 一种对多个数据库中的纳税数据进行综合分析的方法 |
CN107967247A (zh) * | 2016-10-19 | 2018-04-27 | 航天信息股份有限公司 | 用于生成报表公式的方法、报表计算方法及其装置 |
CN106874244B (zh) * | 2017-01-03 | 2022-05-20 | 宁波财经学院 | 一种基于工作序列的文档自动生成模型的构建方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1614589A (zh) * | 2003-11-08 | 2005-05-11 | 鸿富锦精密工业(深圳)有限公司 | 报表生成系统及方法 |
CN101021839A (zh) * | 2007-03-23 | 2007-08-22 | 北京润乾信息系统技术有限公司 | 非线性报表生成方法 |
CN101266597A (zh) * | 2008-04-09 | 2008-09-17 | 顾宝仁 | 一种在Excel中生成质量管理常用工具图的方法 |
-
2009
- 2009-05-08 CN CN200910083855A patent/CN101556579B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1614589A (zh) * | 2003-11-08 | 2005-05-11 | 鸿富锦精密工业(深圳)有限公司 | 报表生成系统及方法 |
CN101021839A (zh) * | 2007-03-23 | 2007-08-22 | 北京润乾信息系统技术有限公司 | 非线性报表生成方法 |
CN101266597A (zh) * | 2008-04-09 | 2008-09-17 | 顾宝仁 | 一种在Excel中生成质量管理常用工具图的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN101556579A (zh) | 2009-10-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101556579B (zh) | 用于动态报表区域的公式处理系统及其方法 | |
CN106874248B (zh) | 基于人工智能的文章生成方法和装置 | |
CN105786797B (zh) | 一种基于语音输入的信息处理方法及装置 | |
CN105095168B (zh) | 一种合同文档的自动生成方法和装置 | |
CN103823796A (zh) | 一种翻译系统及翻译方法 | |
CN109710703A (zh) | 一种血缘关系网络的生成方法及装置 | |
CN103024077B (zh) | 日程关联信息的推送方法、系统和服务器 | |
CN106776584A (zh) | 文字显示方法、翻译表生成方法、文件翻译方法及装置 | |
CN109003623A (zh) | 车载唱歌评分系统、方法、设备及存储介质 | |
CN104538031A (zh) | 智能语音服务开发云平台及方法 | |
CN107329941A (zh) | 一种基于特种设备检验报告的编辑和预览系统 | |
CN105938454A (zh) | 一种测试用例的生成方法及系统 | |
CN104951456A (zh) | 一种用于获得答案信息的方法、装置和设备 | |
CN106598672A (zh) | 应用配置方法及装置 | |
CN102939585A (zh) | 根据电子表格创建文本函数 | |
CN102609412A (zh) | 基于rss的多线程图文信息同步爬取的控制方法及系统 | |
CN109117377A (zh) | 一种基于建表语句的测试数据自动生成方法、装置及设备 | |
CN106100919A (zh) | 一种fc总线测试系统及fc总线测试方法 | |
CN110147544A (zh) | 一种基于自然语言的指令生成方法、装置以及相关设备 | |
CN109271428A (zh) | 数据抽取方法及基于地理信息的数据展示方法 | |
CN105022806A (zh) | 基于翻译模板的互联网网页建构移动页面的方法与系统 | |
CN109325806A (zh) | 一种用户信息的处理方法及装置 | |
CN110413759A (zh) | 一种用于自媒体的多平台用户互动数据分析方法及系统 | |
CN102236573A (zh) | 用于类型化程序设计语言的名称绑定可扩展性 | |
CN103645895B (zh) | 自动配置方法以及云编译系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C56 | Change in the name or address of the patentee |
Owner name: YONYOU NETWORK TECHNOLOGY CO., LTD. Free format text: FORMER NAME: UFIDA SOFTWARE CO., LTD. |
|
CP01 | Change in the name or title of a patent holder |
Address after: 100094 Haidian District North Road, Beijing, No. 68 Patentee after: Yonyou Network Technology Co., Ltd. Address before: 100094 Haidian District North Road, Beijing, No. 68 Patentee before: UFIDA Software Co., Ltd. |
|
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20121010 Termination date: 20180508 |