数据处理设备和方法_2

文档序号:9865481阅读:来源:国知局
可能有几百万条甚至有数十亿条,这些信息全部显示在电子数据表中是非常困难的,电子数据表中仅适于显示一部分数据记录。根据本发明的一个实施例,其它不能显示出来的数据记录用超行来表示。根据本发明的实施例,电子数据表可以将数据库中的前η条数据记录显示在电子数据表的数据显示行中,而将自第η+1条后的数据记录(含第η+1条数据记录)放置在超行中,用超行来表示这些数据记录,这里η是自然数。根据本发明的一个实施例,超行可以被插入在电子数据表的最后一行。
[0033]图3所示的示例是数据表的布局为以横行显示数据记录。上述示例不对本发明的范围构成限制,当电子数据表中以竖列的方式显示数据记录时,本发明的超行也适于以竖列方式显示的数据记录。
[0034]根据本发明的一个实施例,例如,在电子数据表201的数据显示行中显示的部分数据和用超行表示的、数据显示行显示的部分数据之外的数据是通过执行第一数据库查询获得的。
[0035]这里,以处理有关发票的财务数据库管理应用为例进行说明。例如,针对电子数据表确定以下数据库查询(这里例如但不限于是SQL)语句(以下可以称为第一数据库查询):select Liable_Ctry_Cd, Pr_Status_Cd, Pr_Gross_Amt, Inv_Tm, Supp_Id, Erpinv_Id, Proc_Step_Num, Proc_Step_Num, Response_Time from A a, B b where a.Erpinv_Id =b.Erpinv_Id and b.CTRYCODE IN(’ 616’,’ 652’,’ 672’,’ 709’,’ 736’,’ 749’,’ 766’,’ 778’,
’ 796’,’ 818’,’ 834’,’ 855’,’ 856’,’ 858’,’ 615’,’ 605’)。
[0036]上述例子仅为示例性,不对本发明的范围构成限制,也可以采用任何其它的示例来进行说明。
[0037]数据处理器(例如是图2所示的数据处理器202)解析、存储并执行该第一数据库查询。该第一数据库查询从上述财务数据库管理应用的数据库中提取有关付款和开具发票的处理过程的各个字段的名称和数据,并将各个字段的名称和数据显示在电子数据表(例如是图2所示的电子数据表201)中。
[0038]如图3所示,上述参数η的值被设置为例如18,即该电子数据表201的前18行用于显示数据库中的上述字段名和数据,第19行作为超行,用于放置数据库中的更多大量数据。这样,通过数据处理器202执行该第一数据库查询,首先将数据库中的字段名以及前17条数据记录载入到空白的电子数据表201中,将超行19插入到该电子数据表的后面,用以放置数据库中第18条以后的数据记录。执行上述第一数据库查询后,可以在电子数据表201中显示如图3所示的各个信息。如图3所示,在该电子数据表201中,第19行是超行,超行的每个单元格的值用“…”来表示,其代表经执行上述第一数据库查询而查询到的、显示在电子数据表201的第2-18数据显示行的各单元格的数据记录以外的所有数据记录。
[0039]图4是示出根据本发明的另一个实施例的电子数据表的示意性图。
[0040]根据本发明的另一个实施例,在电子数据表201中新增加一列J,其字段名称为Max_Resp_Time (最大响应时间)。
[0041]例如在单元格J2中设定公式:
[0042]{ = MAX(IF($F$2:$F$19 = F2, $1$2: $1$19))} (I)
[0043]可以利用电子数据表的自动填充功能,通过从J2到J19拖曳光标来将上述公式
(I)自动填充至J3至J19的每个单元格,其中单元格J19位于超行中。
[0044]根据本发明的一个实施例,上述“公式”是指在电子数据表的单元格内建立的以“=”开头后跟一系列运算操作的算式。
[0045]上述公式(I)表示,在发票ID(Erpinv_Id,位于电子数据表201的F列)的值相同的条件下,求响应时间(Response_Time,位于电子数据表201的I列)的最大值,并将该最大值填充在与发票ID对应的J列的相应单元格中。
[0046]上述公式的具体形式以及求值的类型仅为示例,不对本发明的范围构成限制,也可以采用任何其他的公式来进行示例。
[0047]如果公式(I)没有被填充到单元格J19中,而仅仅是填充到J2至J18的各个单元格中,由于J2至J18所对应的各行的所有单元格的数据均显示在电子数据表201中,此时可以直接利用电子数据表201中显示的A列至I列中相关的各个单元格中的数据的值,来计算公式(I)的相应值。
[0048]对于公式(I),存在两种情况。一种情况是,经该公式计算,在一个单元格内会获得多个结果值,这些结果值不可能同时在一个单元格中显示,这种情况下,可以将该公式称为“模糊公式”。例如某一公式是对每一行数据输出一个结果(即多行多结果),比如其是要把数据库里的所有记录都取出来分别乘以10。如果数据库里有100万条记录,就要输出100万个结果,而这100万个结果不可能同时显示在一个单元格中。还有一种情况是,经该公式计算后仅获得一个结果值,可以被显示在一个单元格中,这种情况下,可以将该公式称为“非模糊公式”。例如该公式是对多行数据输出一个结果,例如是仅输出一个最大值到目标单元格。综上,当一个单元格的公式要输出多个结果的时候,这个公式是模糊的,当一个单元格的公式仅输出一个结果的时候,这个公式是非模糊的。
[0049]在超行中的单元格J19中构建的公式为非模糊公式的情况下,可以利用两种方法来计算目标单元格J19的值。一种方法是根据本发明实施例的历史数据更新方法,基于原始的第一数据库查询和上述公式(I)来生成新的第二数据库查询,通过该第二数据库查询,根据数据库中的历史数据和/或来自数据源的新数据来计算目标单元格J19的值。另一种方法是利用根据本发明实施例的实时数据更新方法,利用公式结果存储器,根据来自数据源的新数据来更新目标单元格J19的值。
[0050]在超行中的单元格J19中构建的公式为模糊公式的情况下,根据本发明的一个实施例,可以将该单元格高亮显示,或者标记为不同的显示颜色,以表示该单元格不能获得确定的结果值。
[0051]根据本发明实施例的公式结果存储器是一种数据存储结构,将在下面进行详细描述。
[0052]图5是示出根据本发明的另一个实施例的数据处理器的示意性结构图。
[0053]根据本发明的另一个实施例,数据处理器202可以进一步包括公式-数据库查询转换器501和历史数据更新器502,以及公式结果存储器503和实时数据更新器504。
[0054]公式-数据库查询转换器501被配置为基于公式(例如是上述公式(I))和所述第一数据库查询生成新的数据库查询(也可称为第二数据库查询)。例如但不限于,所述公式-数据库查询转换器501可以被配置为根据所述公式修改所述第一数据库查询的查询条件(例如但不限于以查询树的形式表示),以获得所述第二数据库查询的条件(例如但不限于以查询树的形式表示),由此获得所述第二数据库查询。
[0055]具体地,公式可以由数据库中的不同函数(例如但不限于:+、_、*、/、sum、max等)构成,因此可以生成一个关于数据库查询条件的变换,例如根据上述公式(I)对第一数据库查询进行修改,生成该第二数据库查询。
[0056]例如,解析上述第一数据库查询:selectLiable_Ctry_Cd, Pr_Status_Cd, Pr_Gross_Amt, Inv_Tm, Supp_Id, Erpinv_Id, Proc_Step_Num, Proc_Step_Num, Response_Time,where a.Erpinv_Id = b.Erpinv_Id and b.CTRYCODE IN(’ 616’,’ 652’,’ 672’,’ 709’,’ 736,,,749’,,766’,,778’,,796’,,818’,,834’,,855’,,856’,,858’,,615’,,605’),可以获得上述第一数据库查询的查询条件。
[0057]图6是示出根据本发明一个实施例的数据库查询的查询条件的示例图。
[0058]如图6所示,上述第一数据库查询中包含两个条件,它们是WHERE b.CTRYCODE IN(’ 616’,’ 652’,’ 672’,’ 709’,’ 736’,’ 749’,’ 766’,’ 778’,’ 796’,’ 818’,’ 834’,’ 855’,’ 856’
,’ 8
当前第2页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1