多维数据展现装置和多维数据展现方法

文档序号:6372522阅读:272来源:国知局
专利名称:多维数据展现装置和多维数据展现方法
技术领域
本发明涉及计算机技术领域,具体而言,涉及一种多维数据展现装置和一种多维数据展现方法。
背景技术
对于多维查询结果集合的展现方式透视表,格式相对固定,大部分的BA厂商将查询结果固定为一张二维表格,比如微软Excel中的透视表,可对表格进行展开折叠操作,却没有更多的针对表格的交互操作,但是客户所需要的不是一个格式规范的表格,他们需要的表格中表达更多的内容,以符合其个性化的需求。因此,需要一种新的透视表展现方案,能够使透视表的展现更加的灵活,更好地满足客户需求。

发明内容
本发明所要解决的技术问题在于,提供一种多维数据展现装置,能够使透视表的展现更加的灵活,更好地满足客户需求。有鉴于此,本发明提供了一种多维数据展现装置,包括数据模型设置模块,为透视表中的单元格设置数据模型,并在所述数据模型中存储位于所述单元格之前和/或之后的空行数量和空行内容;空行处理模块,在用户选中的数据行中包含所述特定单元格时,根据所述数据模型,在所述数据行之前和/或之后按所述空行数量插入空行,并根据所述空行内容填充所述空行。在该技术方案中,通过在透视表中插入空行以及在空行中填充所需的内容,透视表的展现不再是一张固定的表,可以在表中任意的插入空行,在空行中可以保存文本,公式等,表的交互更为灵活,能够更好地满足用户的需求。优选地,所述数据模型设置模块还在所述透视表发生变化,使得所述单元格的内容移动至其他单元格时,将所述数据模型设置给所述其他单元格。在该技术方案中,保持原有单元格与内容的对应关系不变,不会影响原有透视表的执行效率,也不会影响透视表的其它渲染规则的执行。优选地,所述空行内容包括公式,所述空行处理模块根据所述公式,从所述透视表相关的数据表取值并进行计算,将计算结果填充到所述空行中。在该技术方案中,可以在空行内填充公式,再将根据公式进行计算得到的结果展现出来,使得透视表的展现方式更加多样,更好地满足用户的需求。优选地,所述数据模型中还存储所述单元格的名称,所述空行处理模块根据所述数据行中所有单元格的名称,查询到对应于所述单元格的所述数据模型。在该技术方案中,在该技术方案中,通过单元格的名称可以更加方便地查询单元格的数据模型。优选地,所述特定单元格为所述透视表中第一列中的单元格。在该技术方案中,统一采用第一列中的单元格,查询更加方便。本发明还提供了一种多维数据展现方法,包括步骤202,为透视表中的单元格设置数据模型,并在所述数据模型中存储位于所述单元格之前和/或之后的空行数量和空行内容;步骤204,在用户选中的数据行中包含所述特定单元格时,根据所述数据模型,在所述数据行之前和/或之后按所述空行数量插入空行,并根据所述空行内容填充所述空行。在该技术方案中,通过在透视表中插入空行以及在空行中填充所需的内容,透视表的展现不再是一张固定的表,可以在表中任意的插入空行,在空行中可以保存文本,公式等,表的交互更为灵活,能够更好地满足用户的需求;而且由于只是在透视表中插入空行,并未做其它更改,所以不会影响原有透视表的执行效率,也不会影响透视表的其它渲染规则的执行。
优选地,所述的多维数据展现方法还包括在所述透视表发生变化,使得所述单元格的内容移动至其他单元格时,将所述数据模型设置给所述其他单元格。在该技术方案中,保持原有单元格与内容的对应关系不变,不会影响原有透视表的执行效率,也不会影响透视表的其它渲染规则的执行。优选地,所述空行内容包括公式,所述步骤204包括根据所述公式,从所述透视表相关的数据表取值并进行计算,将计算结果填充到所述空行中。在该技术方案中,可以在空行内填充公式,再将根据公式进行计算得到的结果展现出来,使得透视表的展现方式更加多样,更好地满足用户的需求。 优选地,所述数据模型中还存储所述单元格的名称,所述步骤204还包括根据所述数据行中所有单元格的名称,查询到对应于所述单元格的所述数据模型。在该技术方案中,通过单元格的名称可以更加方便地查询单元格的数据模型。优选地,所述特定单元格为所述透视表中第一列中的单元格。在该技术方案中,统一采用第一列中的单元格,查询更加方便。综上所述,通过本发明,在透视表中,选中某一行,可在当前行前后插入空行。可在空行添加内容,公式等,选中透视表中的第一列的某个成员,可在此成员的前后插入空行。添加的空行可以随着成员进行展开折叠等操作。添加空行后,可对空行单元格进行编辑,内容可保存,比如可以在空行处添加公式;透视表不再是一张有固定结构的表,可以根据需要灵活改变;提高了透视表的灵活性,满足了客户的个性化需求;通过在透视表中插入空行以及在空行中填充所需的内容,透视表的展现不再是一张固定的表,可以在表中任意的插入空行,在空行中可以保存文本,公式等,表的交互更为灵活,能够更好地满足用户的需求;而且不会影响原有透视表的执行效率,也不会影响透视表的其它渲染规则的执行。


图I是根据本发明实施例的多维数据展现装置的框图;图2是根据本发明实施例的多维数据展现方法的流程图;图3是根据本发明实施例的空行信息存储和空单元格的插入的流程图;图4是根据本发明实施例的空单元格信息的渲染的流程图;图5至图7是根据本发明实施例的透视表的展现效果图。
具体实施例方式为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施方式
对本发明进行进一步的详细描述。
在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是,本发明还可以采用其他不同于在此描述的其他方式来实施,因此,本发明并不限于下面公开的具体实施例的限制。如图I所示,本发明提供了一种多维数据展现装置100,包括数据模型设置模块102,为透视表中的单元格设置数据模型,并在数据模型中存储位于单元格之前和/或之后的空行数量和空行内容;空行处理模块104,在用户选中的数据行中包含特定单元格时,根据数据模型,在数据行之前和/或之后按空行数量插入空行,并根据空行内容填充空行。在该技术方案中,通过在透视表中插入空行以及在空行中填充所需的内容,透视表的展现不再是一张固定的表,可以在表中任意的插入空行,在空行中可以保存文本,公式等,表的交互更为灵活,能够更好地满足用户的需求。优选地,数据模型设置模块102还在透视表发生变化,使得单元格的内容移动至其他单元格时,将数据模型设置给其他单元格。在该技术方案中,保持原有单元格与内容的对应关系不变,不会影响原有透视表的执行效率,也不会影响透视表的其它渲染规则的执行。 优选地,空行内容包括公式,空行处理模块104根据公式,从透视表相关的数据表取值并进行计算,将计算结果填充到空行中。在该技术方案中,可以在空行内填充公式,再将根据公式进行计算得到的结果展现出来,使得透视表的展现方式更加多样,更好地满足用户的需求。优选地,数据模型中还存储单元格的名称,空行处理模块104根据数据行中所有单元格的名称,查询到对应于单元格的数据模型。在该技术方案中,在该技术方案中,通过单元格的名称可以更加方便地查询单元格的数据模型。优选地,特定单元格为透视表中第一列中的单元格。在该技术方案中,统一采用第一列中的单元格,查询更加方便。如图2所示,本发明还提供了一种多维数据展现方法,包括步骤202,为透视表中的单元格设置数据模型,并在数据模型中存储位于单元格之前和/或之后的空行数量和空行内容;步骤204,在用户选中的数据行中包含特定单元格时,根据数据模型,在数据行之前和/或之后按空行数量插入空行,并根据空行内容填充空行。在该技术方案中,通过在透视表中插入空行以及在空行中填充所需的内容,透视表的展现不再是一张固定的表,可以在表中任意的插入空行,在空行中可以保存文本,公式等,表的交互更为灵活,能够更好地满足用户的需求;而且由于只是在透视表中插入空行,并未做其它更改,所以不会影响原有透视表的执行效率,也不会影响透视表的其它渲染规则的执行。优选地,的多维数据展现方法还包括在透视表发生变化,使得单元格的内容移动至其他单元格时,将数据模型设置给其他单元格。在该技术方案中,保持原有单元格与内容的对应关系不变,不会影响原有透视表的执行效率,也不会影响透视表的其它渲染规则的执行。优选地,空行内容包括公式,步骤204包括根据公式,从透视表相关的数据表取值并进行计算,将计算结果填充到空行中。在该技术方案中,可以在空行内填充公式,再将根据公式进行计算得到的结果展现出来,使得透视表的展现方式更加多样,更好地满足用户的需求。
优选地,数据模型中还存储单元格的名称,步骤204还包括根据数据行中所有单元格的名称,查询到对应于单元格的数据模型。在该技术方案中,通过单元格的名称可以更加方便地查询单元格的数据模型。优选地,特定单元格为透视表中第一列中的单元格。在该技术方案中,统一采用第一列中的单元格,查询更加方便。根据本发明,透视表的交互中加入‘添加空行’操作后,不应该影响到原有的透视表数据内容的展现,也不能影响其执行的效率。执行添加空行操作后,原有的透视表的区域会发生变化,重新计算透视区域是一个要解决的问题。添加空行后空行内存储信息的渲染。透视表展现的是多维查询结果,查询结果是一个二维的对象数组,数组中每一对象是一个多维成员。添加空行的处理过程可分为“空行信息存储”,“空单元格的插入”,“空单元格信息的渲染”。
第一步,介绍“空行信息存储”,空行扩展信息存储在当前成员上,分为前后两部分扩展信息,可在当前成员前面或后面插入空行。扩展模型中存储着插入空行的行数,空行中保存的编辑内容,公式等。第二步,介绍“空单元格的插入”,插入的空行要随着透视表成员的展开折叠操作显示和隐藏,每一个空单元格的地位等同于成员。所以处理过程的第一步在查询结果集中插入空行成员。第一步和第二步的逻辑处理流程如图3所示,包括步骤302,透视表的执行结果集合记为PivotCell [M] [N],M行N列的透视表单元格数组。步骤304,取透视表单元格为PivotCell [X]
。逐行遍历首列透视表单元格,单元格,取出标识该单元格的唯一名称,根据此名称,在扩展模型中寻找其对应的扩展信息,扩展信息中存储着该单元格向前向后要插入的空行数量,空行内的存储内容。记录该单元格向前向后插入的空行数量,记为preNum,afterNum。其中的afterNum要作为一个循环变量存储,以备和下一个单元格的向前插入的空行数合并。计算出在此单元格处要向前插入的空行数目,为当次循环的preNum与上次循环的afterNum之和。步骤306,根据空行数量,在透视表单元格数组中插入整行空单元格,并记录插入的空行与所属单元格的对应关系。步骤308,重新计算透视表的区域信息。由于插入了空的单元格行,数组的行数增力口,所以需要重新计算透视表的区域信息。步骤310,得到添加了空单元格的透视表单元数组。第三部是‘空单元的渲染’,将空单元格的中所存储的内容,公式等显示在透视表中。其逻辑流程图如图4所示,包括步骤402,根据返回的透视表单元格数组,逐个遍历每个透视表单元格。步骤404,根据单元格的唯一名称判断是否添加了扩展模型,如果是,则进入步骤406,如果否,则返回步骤402。步骤406,从扩展模型中取出向前插入空行单元信息,并逐个渲染空行单元。步骤408,从扩展模型中取出向后入空行单元信息,并逐个渲染空行单元。
步骤410,记录扩展区域与当前成员的对应关系。单元格渲染完成之后,需要记录扩展区域与当前成员的对应关系,因为透视表经过展开折叠操作后,这种关系会动态变化,所以要记录。基于以上处理方法,下面以实例对每个步骤进行详细的说明如图5所示,在成员‘Drink’上向后添加一个空行,‘Food’上向前添加一个空行。逐行扫描,当扫描到成员‘Food’时,应该在其前插入两个空行。记录成员与空行的对应关系,空行及其所属成员的行号,图4中这种情况对应关系为2 34 5数组全部扫描后,整表加入了两行空行。
然后如图5所示,在空行处插入公式,文字。如在空行中编辑内容“饮料合计”,在第二个单元格处插入公式。无论对透视表做何种操作,“Food”成员前面要显示空行存储的信息,空行的内容存储在上成员的扩展模型中。对透视表进行操作后,会对透视表进行渲染。当渲染到‘Food’成员时,发现其添加了空行,从扩展模型中取出空行的存储信息饮料合计公式将信息内容显示到相应的单元格内,如图6所示。如果‘Food’成员设置了后扩展区域,同样也需要渲染,如图7所示。渲染完成后,要记录渲染区域与所对应成员的对应关系。如本例其对应关系如下用‘Food’成员的键值来代表此成员,其键值为[产品].[Food],如下表所示
「 nr电口 1「r前才广展区域A6 C6-[ ] 后扩展区域 A8: C9综上所述,通过本发明,在透视表中,选中某一行,可在当前行前后插入空行。可在空行添加内容,公式等,选中透视表中的第一列的某个成员,可在此成员的前后插入空行。添加的空行可以随着成员进行展开折叠等操作。添加空行后,可对空行单元格进行编辑,内容可保存,比如可以在空行处添加公式;透视表不再是一张有固定结构的表,可以根据需要灵活改变;提高了透视表的灵活性,满足了客户的个性化需求;通过在透视表中插入空行以及在空行中填充所需的内容,透视表的展现不再是一张固定的表,可以在表中任意的插入空行,在空行中可以保存文本,公式等,表的交互更为灵活,能够更好地满足用户的需求;而且不会影响原有透视表的执行效率,也不会影响透视表的其它渲染规则的执行。以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种多维数据展现装置,其特征在于,包括 数据模型设置模块,为透视表中的单元格设置数据模型,并在所述数据模型中存储位于所述单元格之前和/或之后的空行数量和空行内容; 空行处理模块,在用户选中的数据行中包含所述特定单元格时,根据所述数据模型,在所述数据行之前和/或之后按所述空行数量插入空行,并根据所述空行内容填充所述空行。
2.根据权利要求I所述的多维数据展现装置,其特征在于,所述数据模型设置模块还在所述透视表发生变化,使得所述单元格的内容移动至其他单元格时,将所述数据模型设置给所述其他单元格。
3.根据权利要求I所述的多维数据展现装置,其特征在于,所述空行内容包括公式,所述空行处理模块根据所述公式,从所述透视表相关的数据表取值并进行计算,将计算结果填充到所述空行中。
4.根据权利要求I所述的多维数据展现装置,其特征在于,所述数据模型中还存储所述单元格的名称,所述空行处理模块根据所述数据行中所有单元格的名称,查询到对应于所述单元格的所述数据模型。
5.根据权利要求I至4中任一项所述的多维数据展现装置,其特征在于,所述特定单元格为所述透视表中第一列中的单元格。
6.一种多维数据展现方法,其特征在于,包括 步骤202,为透视表中的单元格设置数据模型,并在所述数据模型中存储位于所述单元格之前和/或之后的空行数量和空行内容; 步骤204,在用户选中的数据行中包含所述特定单元格时,根据所述数据模型,在所述数据行之前和/或之后按所述空行数量插入空行,并根据所述空行内容填充所述空行。
7.根据权利要求6所述的多维数据展现方法,其特征在于,还包括 在所述透视表发生变化,使得所述单元格的内容移动至其他单元格时,将所述数据模型设置给所述其他单元格。
8.根据权利要求6所述的多维数据展现方法,其特征在于,所述空行内容包括公式,所述步骤204包括 根据所述公式,从所述透视表相关的数据表取值并进行计算,将计算结果填充到所述空行中。
9.根据权利要求6所述的多维数据展现方法,其特征在于,所述数据模型中还存储所述单元格的名称,所述步骤204还包括 根据所述数据行中所有单元格的名称,查询到对应于所述单元格的所述数据模型。
10.根据权利要求6至9中任一项所述的多维数据展现方法,其特征在于,所述特定单元格为所述透视表中第一列中的单元格。
全文摘要
本发明提供了一种多维数据展现装置,包括数据模型设置模块,为透视表中的单元格设置数据模型,并在所述数据模型中存储位于所述单元格之前和/或之后的空行数量和空行内容;空行处理模块,在用户选中的数据行中包含所述特定单元格时,根据所述数据模型,在所述数据行之前和/或之后按所述空行数量插入空行,并根据所述空行内容填充所述空行。本发明还提供了一种多维数据展现方法。通过本发明,能够使透视表的展现更加的灵活,更好地满足客户需求。
文档编号G06F17/30GK102799652SQ201210224948
公开日2012年11月28日 申请日期2012年6月29日 优先权日2012年6月29日
发明者宋晶晶 申请人:用友软件股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1