穿透方法及系统的制作方法

文档序号:6339038阅读:393来源:国知局
专利名称:穿透方法及系统的制作方法
技术领域
本发明涉及数据处理技术领域,更具体地说,涉及穿透方法及系统。
背景技术
负债表、明细表、凭证、现金流量表等OLAP(联机分析处理)报表(如图1和图2 所示),是展现在用户面前的一幅幅多维视图,也可称为数据立方体。OLAP报表中的最小单位为度量值,以“环球集团2004年在北京的销售额为1亿”为例,1亿这一度量值对应组织、时间、销售区域三个维度,某一或某些维度还可以存在细节程度不同的各个维度成员, 例如,时间维度可包括日期、月份、季度、年等层次逐渐提高的维度成员,并且每一维度成员都可以有具体的维度值,比如2004年就是“年”这一维度成员的维度值。OLAP报表的一般穿透操作为向下钻取和向上钻取,其中向上钻取是指在某一维上将低层次的细节数据概括到高层次的汇总数据,或者减少维数;而向上钻取则相反,是从汇总数据深入到细节数据进行观察或增加新维数。上述穿透均是在同一主题上的穿透,比如,由年资产负债表总表穿透至月季度资产负债表等,而资产负债表、现金流量表、损益表、库存台账、库存明细账等之间均有直接或间接的关系。单一主题的钻取(穿透),无法完成从某一主题的OLAP报表至另一 OLAP报表的穿透。

发明内容
有鉴于此,本发明目的在于提供穿透方法及系统,以解决现有穿透操作主题单一的问题。为实现上述目的,本发明提供如下技术方案一种穿透方法,包括在接收用户的穿透启动指令后,确定与源报表所选中的度量值相对应的预设的穿透协议,所述与源报表相对应的预设的穿透协议定义了所述度量值对应的各维度成员与目标方的各维度成员之间的映射关系;从所述源报表获取所述穿透协议需要的维度值;将所述维度值与所述穿透协议结合生成穿透条件;根据所述穿透条件进行向所述目标方的穿透,并展示穿透结果。一种穿透系统,包括接收接口,用于接收用户指令;确定单元,用于在所述接收接口接收到用户的穿透启动指令后,确定与源报表所选中的度量值相对应的预设的穿透协议,所述与源报表相对应的预设的穿透协议定义了所述度量值对应的各维度成员与目标方的各维度成员之间的映射关系;获取单元,用于从所述源报表获取所述穿透协议需要的维度值;穿透规则引擎,用于将所述维度值与所述穿透协议结合生成穿透条件;
穿透引擎,用于根据所述穿透条件进行向所述目标方的穿透,得到穿透结果;第一展示单元,用于展示所述穿透结果。从上述的技术方案可以看出,在本发明中,所确定的穿透协议定义了用户所选中度量值对应的各维度成员与目标方的各维度成员之间的映射关系,上述协议与源报表中的维度值结合可生成穿透条件,利用上述穿透条件可完成向目标方的穿透。而通过对目标方的设定,可完成跨报表穿透,比如源报表为资产负债表、目标方为现金流量表时,可完成由资产负债表至现金流量表的穿透。从而解决了现有穿透操作主题单一的问题。


为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为OLAP报表;图2为另一种OLAP报表;图3为本发明实施例所提供的穿透系统结构示意图;图4为本发明实施例所提供的穿透方法流程图;图5为本发明实施例所提供的单选对话框结构示意图;图6为本发明实施例所提供的映射关系示意图;图7为本发明实施例所提供的穿透协议⑶I界面;图8为本发明实施例所提供的穿透适配器的配制⑶I界面;图9为本发明实施例所提供的浏览器窗口。
具体实施例方式为了引用和清楚起见,下文中使用的技术名词、简写或缩写总结如下GUI, Graphical User Interface,图形用户界面;String,字符串;OLAP 联机分析处理;对话框一种次要窗口,包含按钮和各种选项,通过它们可以完成特定命令或任务。用户对对话框进行设置,计算机就会执行相应的命令。对话框中有单选框、复选框等。 对话框与窗口有区别,它没有最大化按钮、没有最小化按钮、大都不能改变形状大小;消息框消息框是用于给用户一些提示或警告的窗口。例如,消息框能够在应用程序执行某项任务过程中出现问题时通知用户。下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。负债表、明细表、凭证、现金流量表等OLAP(联机分析处理)报表(如图1和图2 所示),是展现在用户面前的一幅幅多维视图,也可称为数据立方体。OLAP报表中的最小单位为度量值,以“环球集团2004年在北京的销售额为1亿”为例,1亿这一度量值对应组织、时间、销售区域三个维度,某一或某些维度还可以存在细节程度不同的各个维度成员, 例如,时间维度可包括日期、月份、季度、年等层次逐渐提高的维度成员,并且每一维度成员都可以有具体的维度值,比如2004年就是“年”这一维度成员的维度值。OLAP报表的一般穿透操作为向下钻取和向上钻取,其中向上钻取是指在某一维上将低层次的细节数据概括到高层次的汇总数据,或者减少维数;而向上钻取则相反,是从汇总数据深入到细节数据进行观察或增加新维数。上述穿透均是在同一主题上的穿透,比如,由年资产负债表总表穿透至月季度资产负债表等,而资产负债表、现金流量表、损益表、库存台账、库存明细账等之间均有直接或间接的关系。单一主题的钻取(穿透),无法完成从某一主题的OLAP报表至另一 OLAP报表的穿透。有鉴于此,本发明实施例提供了一种穿透系统,图3示出了其一种结构,包括接收接口 1,用于接收用户指令;确定单元2,用于在接收接口 1接收到用户的穿透启动指令后,确定与源报表所选中的度量值相对应的预设的穿透协议(穿透协议可存储于协议库3中),在本实施例中,上述与源报表相对应的穿透协议定义了所选中度量值对应的各维度成员与目标方的各维度成员之间的映射关系;获取单元4,用于从源报表获取所述穿透协议需要的维度值;获取单元4可首先获得源报表所包含的全部维度值,然后再进行过滤,过滤出穿透协议需要的维度值。此外,上述获取既可以是主动从源报表处获得,也可以是被动接收源报表发送的维度值。穿透规则引擎5,用于将所述维度值与所述穿透协议结合生成穿透条件;穿透引擎6,用于根据所述穿透条件进行向所述目标方的穿透,得到穿透结果;第一展示单元7,用于展示所述穿透结果。与上述系统相对应,本发明实施例还提供了一种穿透方法,参见图4,包括Si、在接收用户的穿透启动指令后,确定与源报表所选中的度量值相对应的预设的穿透协议;穿透启动指令的下达有多种方式,比如一种方式是用户点击度量值就下达了穿透启动指令;也可以单独在源报表上设置按钮,用户选定度量值后,再单击或双击该按钮下达穿透启动指令。S2、从所述源报表获取所述穿透协议需要的维度值;S3、将所述维度值与所述穿透协议结合生成穿透条件;S4、根据所述穿透条件进行向所述目标方的穿透,并展示穿透结果。上述穿透结果既可为穿透失败提示,也可为穿透至的目标方。可见,所确定的穿透协议定义了用户所选中度量值对应的各维度成员与目标方的各维度成员之间的映射关系,上述协议与源报表中的维度值结合可生成穿透条件,利用上述穿透条件可完成向目标方的穿透。而通过对目标方的设定,可完成跨报表穿透,比如源报表为资产负债表、目标方为现金流量表时,可完成由资产负债表至现金流量表的穿透。从而解决了现有穿透操作主题单一的问题。
上述目标方可为报表,甚至还可为非报表的第三方,本发明实施例后续将作详细赘述。下面将先以目标方为报表为例,对本发明的技术方案进行描述。在本实施例中,穿透引擎6以及步骤S4中提及的“根据所述穿透条件进行向所述目标方的穿透,并展示穿透结果”的具体实现方式为查找符合穿透条件的目标报表,如果有,则展示查找到的目标报表,否则,查找符合所述穿透条件的记录,使用查找出的记录生成目标报表并展示。当然,在既查找不到已有的目标报表又查找不到记录时,可弹出消息框,提示穿透失败。此外,还可设计为,当查找不到符合穿透条件的目标报表或记录,采用默认的穿透协议生成穿透条件进行穿透,或采用与所确定的穿透协议最接近或相关联的穿透协议重新生成穿透条件进行穿透。无论是报表还是记录,一般都存储于数据库中,上述穿透条件实际上即为查询条件,当数据库中已存在一些离散式的报表,并且该报表正好是符合上述穿透条件(查询条件)时,可以直接展示查找到的报表,而当无符合上述穿透条件的报表时,则在数据库中查找符合上述穿透条件的记录,并使用查找出的记录构建目标报表展示。同一度量值可能只对应一个穿透协议,也可能同时对应多个,当对应多个时,只需要直接执行即可,而同时对应多个时,就需要进行选择了。在本发明其他实施例中,以上所有实施例中“确定与源报表相对应的预设的穿透协议”的具体实现方式可为展示与所述度量值相对应的所有预设的穿透协议的标识;根据用户选择的标识确定穿透协议。更详尽地说,参见图5,当用户下达穿透启动指令后(图5中,直接点取具有下划线的度量值,就下达了穿透启动指令),当前界面可以弹出单选对话框501,该对话框上具有 “查看各月”和“按费用类别穿透”的标识,这两个标识分别对应两个不同的穿透协议。用户可根据需要对上述两个标识进行择一选择从而确定预设协议。除对话框外,还可以穿透菜单的形式展示上述标识。当然,在本发明其他实施例中,可设定源报表中的部分度量值对应穿透协议或穿透协议的标识,其他度量值即使选中也无法下达穿透启动指令。或者,也可设定无需单独选中度量值,只须点击专门按钮即可视为选择源报表中的所有度量值。本领域技术人员可根据需要进行灵活设置,在此不再赘述。本领域技术人员可以理解的是,目标报表也可以作为源报表进行下一轮的穿透, 由于其穿透操作及原理与本发明以上实施例所提供的相类似,在此不作赘述。这样,可实现资产负债表穿透至明细帐,再由明细帐穿透至凭证,或者资产负债表联查当前会计期间的现金流量表等等。在本发明其他实施例中,以上实施例述及的方法还可包括如下步骤定义度量值对应的各维度成员与目标方的各维度成员之间的映射关系。相应的,上述系统也可还包括定义单元,用于定义度量值对应的各维度成员与目标方的各维度成员之间的映射关系。现以一业务场景对上述定义进行实例说明
假设,总体销售汇总表中显示环球集团2004年6月在北京的销售额为1亿。基于上述业务场景,现用户需要从总体销售报表查看销售明细表中当前期间、当前销售区域下的销售产品明细。可得到总体销售汇总表包含的维度有组织维度(环球集团),时间维度(2004年 6月),销售区域维度(北京),度量值为1亿。销售明细表中包含的维度有组织维度(环球集团),时间维度(2004年6月),销售区域维度(北京),度量值为1亿。其中,无论总体销售汇总表还是销售明细表中的组织维度都有其维度成员,并且维度成员具有层次,分为一级组织和二级组织,二者在时间维度上的维度成员也可分为多级(以N来代表多级,可包括年、月、日,或者年、季度、月、日等等),此外,在销售区域维度上的维度成员也可分为多级。图6示出了一种定义方式一相同层级定义定义总体销售汇总表与销售明细表相同维度成员(也即层级)间进行映射,以最终实现相同层级的穿透。其代码段如下<0DP CACHE =,FALSE,> 〈SOURCE〉销售汇总表〈/SOURCE〉〈DESTINATION〉销售明细表〈/DESTINATION〉〈DIMENSION-MAPPING SRC_DIMENSI0N =,组织,DEST_DIMENSI0N =,组织‘〉<LEVEL_MAPPING SRC_LEVEL =,一级组织,DEST_LEVEL =,一级组织,><LEVEL_MAPPING SRC_LEVEL =,二级组织,DEST_LEVEL =,二级组织,>〈/DIMENSION-MAPPING〉............................</0DP>此外,也可根据需要设计源报表与目标报表各维度成员间的映射。需要说明的是, 当源报表为多维(比如三维),而目标报表为一维或二维时,也同样可实现穿透,比如源报表具有时间、组织和销售区域三个维度,而目标报表具有组织和销售区域两个维度,则在进行映射时,可不对时间维度进行映射,这样形成穿透协议,并由此生成的穿透条件在时间上将无限制。上述的穿透协议相当于模板,在未获取到所需要维度值时,还无法真正执行。比如,假设源报表为资产负债表而目标方为现金流量表,穿透协议可为按时间维度穿透至现金流量表。当从源报表获取到的时间维度值为2004年(“2004”为“年”这一维度成员对应的维度值)6月(“6”为“月份”这一维度成员对应的维度值)时,将生成穿透至2004年 6月的现金流量表这一穿透条件。用户可通过如图7所示的穿透协议GUI界面对穿透协议进行制订。以上所有实施例中的穿透协议事先已生成并进行了存储。在本发明其他实施例中,还可实现对穿透协议的热编译。下面将介绍穿透协议的热编译。
在本实施例中,穿透引擎6以及步骤S4中提及的“根据所述穿透条件进行向所述目标方的穿透,并展示穿透结果”的具体实现方式为展示度量值对应的各维度成员;接收用户选择的维度成员;定义用户所选择的维度成员与目标方的各维度成员之间的映射关系,并根据所述映射关系生成穿透协议。现对其进行详细说明当用户选定度量值(下达穿透启动指令)后,向用户展示可供穿透的目标报表名称或向用户展示其可输入目标报表名称的操作区域,在接收接口 1接收到用户的目标报表名称选择指令或用户输入的目标报表名称后,自动抽取上述度量值对应的维度及每一维所包括的维度成员,连同所述目标报表所包含的维度及每一维所包括的维度成员展现给用户,用户可设定源报表中维度成员与目标报表维度成员之间的映射关系,在定义完成后,根据所述映射关系生成穿透协议。同时,利用从源报表获取所述预设的穿透协议需要的维度值与现场生成的穿透协议结合生成穿透条件,进行穿透。当然,如果用户不选择目标报表名称或者也不自行设置目标报表名称,那么默认为与用户当前操作的报表名称相同。比如用户正在浏览损益表,用户要求穿透,默认目标报表仍为损益表。另外,如果用户对源报表和目标报表的某一或某些维度成员之间的映射关系不进行定义,那么默认为平级或等级映射。比如,源报表的时间维度为2010年4月,如果用户不对时间维度的维度成员进行选择,默认目标报表也为2010年4月。在向用户展示目标报表时,可利用数据挖掘中的聚类分析及关联规则分析展示与源报表具有显性或隐性关系的目标报表名称,以实现灵活穿透。与之相对应,以上所有实施例中的确定单元,包括第二展示单元,用于展示所述度量值对应的各维度成员,并获取用户选择的维度成员;协议生成单元,用于定义用户所选择的维度成员与目标方的各维度成员之间的映射关系,并根据所述映射关系生成穿透协议。需要注意的是,在日常的业务应用当中,预设的穿透协议并不完全能满足用户穿透的需求(如资产负债表的2009年第四会计期间,要穿透至2008第一会计期间至2009第四会计期间的所有数据这需求),此时,可使用穿透适配器来完成。穿透适配器至少兼具上述系统中确定单元、获取单元、穿透规则引擎以及穿透引擎的功能,并且自身预先存储有穿透协议。一个穿透适配器一般仅能完成自身预先存储的穿透协议转化出的穿透功能,具有特定性。而以上所有实施例提及的确定单元、获取单元、 穿透规则引擎以及穿透引擎具有通用型。上述介绍了目标方为报表,下面将以穿透至第三方为对象,对本发明进行介绍。对第三方进行穿透一般是以URL穿透适配器来加以实现的,穿透适配器的配制 GUI界面可参见图8。在URL穿透适配器中有两种填法一,直接写入URL地址
假设,用户在“固定资产”相关度量值上需要给非财务人员作一个解释,可定义一个URL的穿透,穿透目标方为“百度”。可直接在URL穿透适配器中填入“http://zhida0. baidu.com/q ? word = <igetDimensionValue ( ‘ item ‘ )@>&ct = 17&pn = O&tn = ikaslist&rn = lO&lm = O&fr = search”,其中<_>之间的表达式的意思是获取当前度量值的维度值,如固定资产。当用户点击“固定资产”时,可弹出穿透菜单,在穿透菜单中可显示“解释”字样, 当用户点击“解释”字样时,即可打开如图9所示的浏览器窗口。二,填写穿透插件的类路径,以便引入插件jar包。例如,填入插件的类路径com. kingdee. drillthrough. plugin. TranslationDrillThroughPlugi。第二禾中方式中,穿透插件需要继承超类AbstractDrillThroughAdapter (此类为所有穿透适配器的最高抽象类)。本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统和装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。本领域普通技术人员可以理解实现上述所有实施例中所公开的方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,所述程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory, ROM)或随机存储记忆体(Random AccessMemory, RAM)等。此外,上述程序可以后台运行的方式对数据进行快照操作。当然,也可以控件的形式,嵌入某一类或某些系统、操作界面(类似金山词霸可嵌入Word中),或者以独立的软件的形式出现,此时,当用户需要对数据进行快照操作时,可通过鼠标点击或双击启动上述程序,并进而完成快照操作、数据查询、数据恢复等功能。对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。 对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
权利要求
1.一种穿透方法,其特征在于,所述方法包括在接收用户的穿透启动指令后,确定与源报表所选中的度量值相对应的预设的穿透协议,所述与源报表相对应的预设的穿透协议定义了所述度量值对应的各维度成员与目标方的各维度成员之间的映射关系;从所述源报表获取所述穿透协议需要的维度值;将所述维度值与所述穿透协议结合生成穿透条件;根据所述穿透条件进行向所述目标方的穿透,并展示穿透结果。
2.如权利要求1所述的方法,其特征在于,所述目标方具体为目标报表;所述根据所述穿透条件进行向所述目标方的穿透,并展示穿透结果的具体实现方式为查找符合所述穿透条件的目标报表,如果有,则展示查找到的目标报表,否则,查找符合所述穿透条件的记录,使用查找出的记录生成目标报表并展示。
3.如权利要求1所述的方法,其特征在于所述确定与源报表相对应的预设的穿透协议的具体实现方式为 展示与所述度量值相对应的所有预设的穿透协议的标识; 根据用户选择的标识确定穿透协议。
4.如权利要求3所述的方法,其特征在于,还包括定义所述度量值对应的各维度成员与目标方的各维度成员之间的映射关系。
5.如权利要求2所述的方法,其特征在于所述确定与源报表相对应的预设的穿透协议的具体实现方式为 展示所述度量值对应的各维度成员; 接收用户选择的维度成员;定义用户所选择的维度成员与目标方的各维度成员之间的映射关系,并根据所述映射关系生成穿透协议。
6.一种穿透系统,其特征在于,包括 接收接口,用于接收用户指令;确定单元,用于在所述接收接口接收到用户的穿透启动指令后,确定与源报表所选中的度量值相对应的预设的穿透协议,所述与源报表相对应的预设的穿透协议定义了所述度量值对应的各维度成员与目标方的各维度成员之间的映射关系; 获取单元,用于从所述源报表获取所述穿透协议需要的维度值; 穿透规则引擎,用于将所述维度值与所述穿透协议结合生成穿透条件; 穿透引擎,用于根据所述穿透条件进行向所述目标方的穿透,得到穿透结果; 第一展示单元,用于展示所述穿透结果。
7.如权利要求6所述的系统,其特征在于,还包括定义单元,用于定义所述度量值对应的各维度成员与目标方的各维度成员之间的映射关系。
8.如权利要求6所述的方法,其特征在于 所述确定单元包括第二展示单元,用于展示所述度量值对应的各维度成员,并获取用户选择的维度成员;协议生成单元,用于定义用户所选择的维度成员与目标方的各维度成员之间的映射关系,并根据所述映射关系生成预设的穿透协议。
全文摘要
本发明实施例公开了穿透方法及系统,以解决现有穿透操作主题单一的问题。上述方法包括在接收用户的穿透启动指令后,确定与源报表所选中的度量值相对应的预设的穿透协议,所述与源报表相对应的预设的穿透协议定义了所述度量值对应的各维度成员与目标方的各维度成员之间的映射关系;从所述源报表获取所述穿透协议需要的维度值;将所述维度值与所述穿透协议结合生成穿透条件;根据所述穿透条件进行向所述目标方的穿透,并展示穿透结果。可以看出,通过对目标方的设定,可完成跨报表穿透,从而解决了现有穿透操作主题单一的问题。
文档编号G06Q10/00GK102567792SQ20101059372
公开日2012年7月11日 申请日期2010年12月17日 优先权日2010年12月17日
发明者刘岳嘉 申请人:金蝶软件(中国)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1