数据处理设备和方法_4

文档序号:9865481阅读:来源:国知局
DE IN Listland Erpinv_Id = 5812},它们是相同的。同样,针对其它条件C(J7)、C(Jll)、C(J14),也可以进行同样的替换。
[0093]3、对于每个条件,将可能与该条件重叠的所有条件的公式与该条件相关联。在子集Pl中,条件与公式关联如下:c(J2): {J2?J6, J20} ;C(J7): {J7?J10, J20};C(Jll): {J11 ?J13、J20} ;C(J14):{J14 ?J18、J20} ;else: {J20}
[0094]在子集P2中,条件与公式关联如下:C(J20):{J2?J18,J20} ;else: {} 0
[0095]在上述关联式中,C(J2): {J2?J6,J20}表示条件C(J2)与公式J2, J3, J4, J5, J6, J20 相关联,公式 J2, J3, J4, J5, J6, J20 对应的条件分别是 C(J2),C(J3)
,C (J4),C (J5),C (J6),C (J20),而条件 C (J2),C (J3),C (J4),C (J5),C (J6),C (J20)与条件C(J2)可能重叠。其它的关联式的含义与上述相同。
[0096]4、对所述多个子集的每个子集建立索引,使得当给定一个数据记录时,能够在所述子集中定位对应的条件。例如,利用字段Erpinv_Id为子集Pl建立索引。
[0097]5、存储所有可分解的非模糊公式的中间结果,使得这些中间结果能够被快速定位和更新。例如,由于公式(J2?J18)(即公式(I))是可分解的,并且是非模糊公式,在计算了公式J2?J18的结果后,利用公式结果存储器存储可分解的公式(I)的结果:Result (J2) = 11;Result(J7) = 12 ;Result(Jll) = 10 ;Result(J14) = 15。
[0098]由于公式J20不是可分解的,在根据本发明一个实施例的实时数据更新中,公式J20没有结果值。在这种情况下,可以根据本发明实施例的历史数据更新方法,基于数据库中的历史数据以及来自数据源的新数据,周期性地更新目标单元格J20的值。根据本发明的一个实施例,实时数据更新器被配置为:对于插入到数据库中的新数据,查找其在每个子集中的条件;获得与这些条件相关联的多个公式集合;计算所述多个公式集合的交集;利用公式结果存储器更新所获得的交集中的每个公式的值。
[0099]具体地,对于实时插入到数据库的每个新数据记录,利用索引查找该新数据记录在每个子集中对应的条件,并获得与上述条件相关联的多个公式集合。例如,新数据进入数据库,该新数据例如是 CTRYCODE = 616, Erpinv_Id = 5812, response_time = 50,此时,判断CTRYCODE = 616在Iistl中,并通过索引Erpinv_Id = 5812查找上述新数据在每个子集中与其相关的对应条件。这里,在子集Pl= {C (J2), C (J7), C (Jl I), C (J14) ,else}中,利用该新数据的索引Erpinv_Id = 5812查找到相关的条件为C (J2)和C(J20),而根据上述条件与公式的关联关系可知,与条件C(J2)关联的公式为J2?J6,J20,与条件C(J20)关联的公式为J2?J18,J20。由此,可以获得两个公式集合{J2?J6,J20}和{J2?J18,J20}。
[0100]计算上述多个公式集合的交集,获得一个公式集合。例如,计算这些公式集合的交集,获得一个公式集合{J2,J3,J4,J5,J6,J20}。然后,利用公式结果存储器,获得公式J2, J3, J4, J5, J6的结果,并将这些结果分别与50进行比较。如果这些结果小于50,则将公式12,13,14,界,邛的值更新为50。否则,不做更新。因为公式J20是不可分解的,所以不能实时更新。根据本发明的一个实施例,可以改变单元格J20在电子数据表中的显示颜色,以将其标记为过期数据,表示J20不能实时更新数据。
[0101]更新电子数据表201中的每个单元格J2,J3, J4, J5, J6的显示结果。
[0102]图8是示出根据本发明实施例的数据处理方法的流程图。
[0103]如图8所示,在步骤S801,在电子数据表中提供数据显示行和超行,所述数据显示行用于显示在数据库中查询到的部分数据,所述超行用于表示在所述数据库中查询到的、所述数据显示行显示的所述部分数据之外的数据。在步骤S802,响应于在所述电子数据表中创建公式,以及所述公式引用所述超行中的至少一个单元格,基于在所述数据库中查询到的数据计算所述公式的值。
[0104]根据本发明的一个实施例,在所述数据库中查询到的数据包含历史数据和来自数据源的新数据中的至少一个。
[0105]根据本发明的一个实施例,在上述方法中,在所述数据显示行中显示的所述部分数据和所述超行表示的所述数据显示行显示的所述部分数据之外的数据是通过执行第一数据库查询获得的。
[0106]根据本发明的一个实施例,上述方法还包括步骤:根据所述公式修改所述第一数据库查询,以生成第二数据库查询。
[0107]根据本发明的一个实施例,上述方法还包括步骤:执行所述第二数据库查询,以根据所述历史数据和所述新数据中的至少一个来计算所述公式的值。
[0108]根据本发明的一个实施例,上述方法还包括步骤:构建公式结果存储器,以存储所述公式的值。
[0109]根据本发明的一个实施例,上述方法还包括步骤:利用所述公式结果存储器存储的、基于所述新数据计算的值,来更新所述公式的值。
[0110]根据本发明的一个实施例,上述方法还包括步骤:利用所述公式结果存储器存储根据所述历史数据计算的所述公式的值,作为所述公式的初始值。
[0111]根据本发明的一个实施例,其中构建所述公式结果存储器的步骤包括:从电子数据表的函数、数据库查询语句的条件子句中收集不同条件,构成条件集合;将所述条件集合分解为多个子集,每个子集中的条件互不重叠;对于每个条件,将与该条件重叠的所有条件的公式与该条件相关联;对每个子集建立索引,使得当给定一个数据记录时,能够在所述子集中快速定位重叠的条件。
[0112]根据本发明的一个实施例,其中更新所述公式的值的步骤包括:利用所述索引查找所述新数据在每个子集中的条件;获得与这些条件相关联的多个公式集合;计算所述多个公式集合的交集;利用所述公式结果存储器更新所获得的交集中的每个公式的值。以上详细描述了根据本发明的实施例的利用电子数据表分析数据的设备和方法。
[0113]本发明可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本发明的各个方面的计算机可读程序指令。
[0114]计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是一一但不限于一一电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPR0M或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(⑶-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
[0115]这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
[0116]用于执行本发明操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言一诸如Smalltalk、C++等,以及常规的过程式编程语目一诸如“C”语目或类似的编程语目。
当前第4页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1