用于动态报表区域的公式处理系统及其方法

文档序号:6618825阅读:142来源:国知局
专利名称:用于动态报表区域的公式处理系统及其方法
技术领域
本发明涉及动态表格区域处理技术,更具体地涉及用于动态报 表区域的公式处理系统及其方法。
背景技术
从系统中提炼出有价值的数据信息,及时掌握企业动态,以帮 助企业领导^L出经营决策,真正实现企业才艮表分冲斤的随需而动。在现有的企业报表分析系统中,在数据抽取和转换方面有很多 限制,动态报表区域不支持按照单元位置定义和计算公式,不能灵 活组合出复杂的条件。格式和数据的关联性很强,数据填充规则可 以灵活的把数据填充和扩展到轻量级的数据才莫型中。用户不能将关 注的数据抽取、转换并灵活地填充、扩展出来。发明内容为了解决上述技术问题至少之 一 ,本发明提供了 一种用于动态报表区域的公式处理系统,包括取数公式生成装置,用于在所述 动态报表区域按照单元位置生成取数公式,使用所述取数公式从报 表的单元位置取数;公式解析装置,用于对所述取数公式进行解析, 验证所述取数公式的合法性;/>式才莫型装置,用于储存动态才艮表区 域的取数公式;以及动态区模型装置,用于储存所述动态报表区域。在上述7>式处理系统中,进一步包^":计算和调度引擎,用于在计算发起后,使用所述取数公式抽取和转换数据。公式模型装置 还可以^f诸存主表的耳又凄t/^式。在上述/>式处理系统中,所述y^式处理系统二換照动态区域j史寺居 扩充和填充规则将所述一各式模型和所述动态区模型转换成轻量数据 模型。报表包括本报表和其他报表。上述公式处理系统进一步包括格式模型装置,用于储存所述报 表中的单元格式信息、公式模型、动态区模型,并将所述单元格式 信息、所述7>式才莫型、所述动态区才莫型持久化到物理数据库中。上述公式处理系统进一步包括公式链构建装置,用于根据所述 公式模型装置所储存的所述公式数据模型和所述动态区模型装置所 储存的数据模型,来构建公式链,以供所述公式解析装置使用。本发明还提供了一种用于动态报表区域的公式处理方法,包括 步骤602,在所述动态报表区域按照单元位置生成取数公式,使用 所述取数公式从报表的单元位置取数;步骤604,通过公式解析装 置解析所述取数公式,— 险证所述取数公式的合法性;步骤606,将 动态报表区域的取数公式储存在公式模型中;以及步骤608,将所 述动态报表区域储存在动态区才莫型中。上述/>式处理方法进一步包4舌在计算发起后,通过计算和调 度引擎使用所述取数公式抽取和转换数据。所述7>式处理系统按照动态区域数据扩充和填充身见则将所述公 式的数据模型和所述动态区域报表的数据模型转换成轻量数据模型o上述 >式处理方法进一步包括通过7>式《连构建装置4艮据所述公式数据模型和所述数据才莫型,来构建公式链,以供所述公式解析 装置使用。在上述公式处理方法中,使用格式模型装置储存所述报表中的 单元格式信息、公式模型、动态区模型,并将所述单元格式信息、 所述公式模型、所述动态区模型持久化到物理数据库中。才艮表包括本才艮表和其他^艮表。通过上述技术方案,彻底打破了传统4艮表工具在数据抽取和转 换上的种种限制,动态区域内4姿照单元位置定义和计算7>式,由,> 式4由耳又和转换后的凄t据可以纟要照 一种-见则灵活的填充和扩展到动态 区i或内。上述4支术方案具有以下4尤点至少之一动态报表区域支持按照单元位置定义和计算公式。公式模型、公式解析器(公式驱动)、公式计算和调度引擎服务, 可以灵活组合出复杂的条件,支持组合出通用的集合运算。格式和数据的弱关联性具有格式模型和轻量数据模型,数据 可以在动态区内动态灵活、有层次的扩展。数据填充规则可以灵活的把数据填充和扩展到轻量级的数据模 型中。


通过下面结合附图的具体描述可以更清楚地理解本发明的上述 和其^f也方面、特;f正以及其他/f尤点。图1是根据本发明的一个实施例的用于动态报表区域的公式处理系统的才匡图;图2示出了才艮据本发明的一个实施例的公式定义、解析、存储 的流程图;图3示出了根据本发明的一个实施例的公式解析、计算、调度、 凄t据抽耳又转换的流程图;图4示出了根据本发明的一个实施例的用于动态净艮表区域的7> 式处理方法的济u禾呈图;图5示出了根据本发明的一个实施例中使用的取数公式的模型 示意图。
具体实施方式
下面将参考附图具体描述本发明的示例性实施例。图1是根据本发明的一个实施例的用于动态报表区域的公式处 理系统的4匡图。该7>式处理系统10包括|又数7>式生成装置102,用于在所述 动态报表区域按照单元位置生成取数公式,使用所述取数公式从报 表的单元位置取lt; />式解4斤装置104,用于对所述耳又H仝式进4亍 解析,验证所述取数公式的合法性;公式模型装置106,用于储存 动态报表区域的取数公式;以及动态区模型装置108,用于储存所 述动态报表区域。在上述7>式处理系统中,进一步包4舌计算和调度引擎110, 用于在计算发起后,使用取数公式抽取和转换数据。公式才莫型装置 106还可以^f诸存主表的耳又^y^式。在上述公式处理系统中,所述公式处理系统10按照动态区域数 据扩充和填充规则将所述格式模型和所述动态区模型转换成轻量数 据模型。报表包括本报表和其他报表。上述公式处理系统进一步包括格式才莫型装置112,用于储存所 述报表中的单元格式信息、公式模型、动态区模型,并将所述单元 格式信息、所述公式模型、所述动态区模型持久化到物理数据库中。上述/>式处理系统进一步包括7>式《连构建装置114,用于才艮据 所述公式模型装置所储存的所述公式数据模型和所述动态区模型装 置所储存的数据模型,来构建公式链,以供所述公式解析装置使用。图2示出了根据本发明的一个实施例的公式定义、解析、存储 的流禾呈图。流禾呈i兌明如下定义灵活的取JPA式在才良表的动态区内,可以4姿照单元位置 定义公式,此单元位置可以是本表的也可以是其他报表的。公式解析器公式驱动程序把定义好的公式进行语法、语义检 查,确保公式定义的合法性。灵活组合出复杂的条件,支持组合出 通用的集合。解析出的公式保存在公式模型中。动态区域中定义的公式,按照动态区PK保存到公式模型中。格式模型存储公式模型,最后把格式模型持久化到物理数据库。图3示出了根据本发明的一个实施例的公式解析、计算、调度、 数据抽耳又转换的流程图。;充禾呈i兌明i口下由格式模型、公式模型构建公式链。公式解析公式驱动程序4巴定义好的公式进行语法、语义4全查, 确保/>式定义的合法性。计算、调度引擎服务计算发起之后,公式通过计算、调度引 擎抽取和转换数据。动态区f史据扩展、填充^见则由于7>式是4安照单元4立置定义在 动态区内的,所以凄t据填充^见则会自动地4巴数据扩展和填充到动态 区i或内。由格式模型、公式模型、动态区模型转化成轻量级的数据模型, 抽取和转换后的数据灵活的扩展到轻量级的数据才莫型中,体现出格式和lt据的弱关联性。图4示出了根据本发明的一个实施例的用于动态才艮表区域的乂> 式处J里方法的流禾呈图。用于动态报表区域的公式处理方法包括步骤602,在所述动 态报表区域按照单元位置生成取数公式,使用所述取数公式从报表 的单元位置耳又凄t;步骤604,通过7>式解析装置对所述耳又#:/>式进 行解析,验证所述取数公式的合法性;步骤606,将动态才艮表区域 的公式储存在公式模型中;以及步骤608,将所述动态报表区域储 存在动态区模型中。上述/>式处理方法进一步包4舌在计算发起后,通过计算和调 度引擎使用所述公式抽取和转换数据。所述公式处理系统按照动态区域数据扩充和填充规则将所述才各 式模型和所述动态区模型转换成轻量数据模型。上迷公式处理方法进一步包括通过公式链构建装置根据所述 公式数据模型和所述数据模型,来构建公式链,以供所述公式解析 装置使用。在上述公式处理方法中,使用格式模型装置储存所述报表中的 单元格式信息、公式模型、动态区模型,并将所述单元格式信息、 所述公式模型、所述动态区模型持久化到物理数据库中。才艮表包括 本报表和其他报表。通过上迷技术方案,彻底打破了传统报表工具在数据抽取和转 换上的种种限制,动态区域内按照单元位置定义和计算公式,由公 式抽取和转换后的数据可以按照 一种规则灵活的填充和扩展到动态 区i或内。本发明中使用的一些术语定义如下格式模型存储报表中单元格式信息、以及其它格式模型的数 据模型,其他格式模型比如公式模型、动态区模型等。轻量数据模型在格式模型的基础上,轻量、灵活的填充和扩 展数据,负责数据的展示。动态区模型存储动态区的数据模型报表中的动态区域,相 当于表中表,也可以理解为此报表的子表,此区域负责灵活的数据 填充和扩展才儿制,甚至可以加上对此动态区lt寺居的处理。公式模型存储各种公式的数据模型,包括主表和动态区的公式。公式解析器(驱动)解析公式模型中的公式,由各个7>式驱动 推动公式语法、语义检查。计算、调度引擎服务 一套包含公式计算、调度的服务。动态区PK:在一个报表数据模型中唯一的标识一个动态区域, 相当于此动态区域的主4建。本技术方案所述的报表动态区域支持按照单元位置定义和计算 公式的方法包括两大流程(可以参考技术方案中的两个流程图..图 2和图3,方^更理解)1. />式定义、解析、存〗诸流程2. 公式解析、调度、计算、数据抽取转换流程为4吏本4支术方案的目的、特征和优点能够更加明显易懂,下边 将结合例子^f故进一步详细i兌明例如公式数据集公式GETDATA('销售情况','分公司编码/>司名称,日期, 销售额','月'=ZMONTH())。该公式描述1.该/>式定义在才艮表的动态区域上,比如此区*或是A6:F6,此区 域是数据填充和转换的一个动态区域块;2. 公式的含义从数据集"销售情况"中把所有分乂>司当前月 的销售额数据抽取并展示出来;3. 公式条件'月,=ZMONTH(),其中ZMONTH()也是一个公式,耳又当前月的<直。此乂A式的结构(请参见图5):一般公式结构包括公式名称和公式参数两个部分,而公式参 数才艮据函数的功能而不同,比如有的7>式参#1含有过滤条件 GETDATA('销售情况','分7>司编码,7>司名称,日期,销售额','月 '=ZMONTH(》7〉式解析上边定义好的公式,由公式驱动负责公式的语法检查,保证公 式的正确性,/>式包纟舌一下几个步-骤1. 检查函数名称是否合法;2. ;险查函凄t中的符号是否匹配,比如符号()、',;3. 检查函数各个参数是否合法比如有些参数是数据库的字段, 检查此参ft是否存在;4. 4企查运算符,是否符合系统预制的运算符;5. 函数可以嵌套,也要保证每个函数的正确性;6. 如果该公式通过语法4企查,要把公式翻译成数据库形式,以 4更读耳又时还能翻i,成用户形式。公式存储把解析出的公式数据库表达式加入到公式链和公式模型中,并 存入豸t据库。7>式计算、抽取和转换数据到动态扩展区域下边将详细介绍一下公式的计算、调度、抽取数据的流程1. 公式解析;2. 计算服务、调度引擎服务执行公式计算;3. 动态区域把抽取和转换后的数据根据填充规则,将数据横 向或者纵向的扩展。7>式解析由公式驱动解析出公式各个参数把每个参数构建成各个表达式 或者批命令,包括操作符。每个表达式里面含有每个参数的详细信 自、比如上边的乂>式会解4斤出以下表达式 l乂^式名称;2. tt据集名称;3. 字段信息包括要取出那些字段的数据;4. 过滤条件,此函数中的过滤条件又是一个公式;5. 操作符如果含有操作符号,操作符号也是一个表达式, 可以乂人表达式中知道是哪个冲喿作符。计算服务、调度引擎执^亍7^式的计算,抽取和转换数据各个公式执行器负责把解析出的各个表达式,从中抽取数据 此函数中含有过滤条件'月'-ZMONTH(),会先执行过滤条件,把所 有的过滤条件汇总成最终的条件,取出当前月的所有分公司的销售 额情况明细。数据填充抽取和转换后的数据填充到轻量的数据才莫型中,动态区域会负 责数据的横向或者纵向扩展。上述4支术方案具有以下优点至少之一动态报表区域支持按照单元位置定义和计算公式。公式模型、公式解析器(公式驱动)、公式计算和调度引擎,可 以灵活组合出复杂的条件,支持组合出通用的集合运算。格式和数据的弱关联性具有格式模型和轻量数据模型,数据 可以在动态区内动态灵活、有层次的扩展。数据填充规则可以灵活的把数据填充和扩展到轻量级的数据模 型中。以上所述仅为本发明的优选实施例而已,并不用于限制本发明, 对于本领域的寺支术人员来说,本发明可以有各种更改和变化。凡在 本发明的精神和原则之内,所作的任何修改、等同替换、改进等, 均应包含在本发明的4呆护范围之内。
权利要求
1.一种用于动态报表区域的公式处理系统,其特征在于,包括取数公式生成装置,用于在所述动态报表区域按照单元位置生成取数公式,使用所述取数公式从报表的单元位置取数;公式解析装置,用于对所述取数公式进行解析,验证所述取数公式的合法性;公式模型装置,用于储存动态报表区域的取数公式;动态区模型装置,用于储存所述动态报表区域。
2. 根据权利要求1所述的公式处理系统,其特征在于,进一步包 括计算和调度引擎,用于在计算发起后,使用所述取数公式 抽耳又和转换f史据。
3. 根据权利要求1或2所述的公式处理系统,其特征在于,所述 7>式处理系统4安照动态区域Jt据扩充和填充身见则将所述耳又凄丈 公式的数据模型和动态报表区域的数据模型转换成轻量数据 模型。
4. 根据权利要求1或2所述的公式处理系统,其特征在于,所述 公式处理系统进一步包括格式模型装置,用于储存所述报表中 的单元格式信息、公式模型、动态区模型,并将所述单元格式 信息、所述公式模型、所述动态区模型持久化到物理数据库中。
5. 根据权利要求1或2所述的公式处理系统,其特征在于,所述 公式处理系统进一步包括公式链构建装置,用于根据所述公式 模型装置所储存的所述取数公式的数据模型和所述动态区才莫型装置所储存的数据模型,构建公式链,以供所述公式解析装 置使用。
6. —种用于动态报表区域的7>式处理方法,其特征在于,包括步骤602,在所述动态报表区域按照单元位置生成取数公 式,使用所述取数公式从报表的单元位置取数;步骤604,通过公式解析装置对所述取数公式进行解析, 验证所述取数公式的合法性;步骤606,将动态报表区域的取数公式储存在公式模型中;步骤608,将所述动态报表区域储存在动态区模型中。
7. 根据权利要求6所述的公式处理方法,其特征在于,进一步包 括在计算发起后,通过计算和调度引擎服务使用所述取数公 式抽耳又和转换lt据。
8. 一艮据权利要求6或7所述的/>式处理方法,其特4正在于,所述 7>式处理系统4要照动态区域凄丈据扩充和填充少见则将所述耳又凄t 公式的数据模型和所述动态才艮表区域的数据才莫型转换成轻量 数据模型。
9. 根据权利要求6或7所述的公式处理方法,其特征在于,使用 格式模型装置储存所述报表中的单元格式信息、公式模型、动 态区模型,并将所述单元一各式信息、所述公式才莫型、所述动态 区才莫型持久化到物理凝:据库中。
10. 根据权利要求6或7所述的公式处理方法,其特征在于,进一 步包括通过公式链构建装置根据所述公式数据模型和所述数 据才莫型,构建公式链,以供所述公式解析装置使用。
全文摘要
本发明提供了一种用于动态报表区域的公式处理系统,包括取数公式生成装置,用于在所述动态报表区域按照单元位置生成取数公式,使用所述取数公式从报表的单元位置取数;公式解析装置,用于对所述取数公式进行解析,验证所述取数公式的合法性;公式模型装置,用于储存动态报表区域的取数公式;以及动态区模型装置,用于储存所述动态报表区域。从而,可以灵活的把抽取和转换出的数据填充和扩展到轻量级的数据模型中。
文档编号G06F17/24GK101556579SQ20091008385
公开日2009年10月14日 申请日期2009年5月8日 优先权日2009年5月8日
发明者王宇光 申请人:用友软件股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1