专利名称:生成报表模板的方法与装置的制作方法
技术领域:
本发明涉及计算机信息服务技术领域,更具体地,涉及一种生成报表模板的方法
与装置。
背景技术:
目前,各类报表工具提供的功能非常多,然而,在日常应用中由于客户的需求是多种多样的,所以只用到了固定格式报表的很小一部分。为了满足客户的各种需求,如果基于目前的各类报表工具进行二次开发则需要非常大的工作量,尤其缺乏简单易行的生成用户自定义程度较高的报表模板的技术方案。
发明内容
本发明要解决的一个技术问题是提供一种生成报表模板的方法,能够简单且灵活地生成自定义程度高的报表模板。本发明提供了一种生成报表模板的方法,包括确定报表模板待统计的事实表和统计指标,并选择统计条件;利用雪花模型关联统计条件和事实表;按照统计条件对事实表中的统计指标进行排序和分组,动态存储排序和分组后的结果以生成报表模板。根据本发明方法的一个实施例,按照统计条件对事实表中的统计指标进行排序的步骤具体为按升序或降序对事实表中的统计指标进行排序。根据本发明方法的另一实施例,在按照统计条件对事实表中的统计指标进行排序和分组的步骤之前,该方法还包括根据用户需求创建、编辑或删除统计指标。根据本发明方法的又一实施例,在生成报表模板的步骤之前,该方法还包括调整报表的输出格式。根据本发明方法的再一实施例,在生成报表模板之后,该方法还包括定义报表模板的使用权限;在报表模板的使用权限内根据用户需求编辑、复制或删除报表模板。根据本发明方法的再一实施例,统计条件包括关联条件、过滤条件、时间条件、汇总方式和统计粒度。本发明提供的生成报表模板的方法,利用雪花模型将统计条件与报表模板待统计的事实表关联起来,再按照统计条件对事实表中待统计的指标进行排序和分组,动态地生成报表模板。本发明相对于现有的固定报表实现更简单、灵活,无需二次开发就可以提供满足用户需求的自定义程度较高的报表,极大地提高了自定义报表模板的开发速度。本发明要解决的另一技术问题是提供一种生成报表模板的装置,能够简单且灵活地生成自定义程度高的报表模板。本发明还提供了一种生成报表模板的装置,包括信息确定模块,用于确定报表模板待统计的事实表和统计指标;选择模块,用于选择统计条件;关联模块,分别与信息确定模块和选择模块相连,用于利用雪花模型关联统计条件和事实表;排序与分组模块,分别与信息确定模块、选择模块以及关联模块相连,用于按照统计条件对事实表中的统计指标进行排序和分组,动态存储排序和分组后的结果以生成报表模板。根据本发明装置的一个实施例,该装置还包括统计指标处理模块,与排序与分组模块相连,用于根据用户需求创建、编辑或删除统计指标。根据本发明装置的另一实施例,该装置还包括调整模块,与排序与分组模块相连, 用于调整报表的输出格式。根据本发明装置的又一实施例,该装置还包括使用权限管理模块,与排序与分组模块相连,用于定义报表模板的使用权限,以及在报表模板的使用权限内根据用户需求编辑、复制或删除报表模板。根据本发明装置的再一实施例,统计条件包括关联条件、过滤条件、时间条件、汇总方式和统计粒度。本发明提供的生成报表模板的装置,利用雪花模型将统计条件与报表模板待统计的事实表关联起来,再按照统计条件对事实表中待统计的指标进行排序和分组,动态地生成报表模板。本发明相对于现有的固定报表实现更简单、灵活,无需二次开发就可以提供满足用户需求的自定义程度较高的报表,极大地提高了自定义报表模板的开发速度。
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分。在附图中图1是本发明方法的第一实施例的流程示意图。图2是雪花模型的一个具体示意图。图3是利用本发明生成报表模板的方法制作报表实例的示意图。图4是本发明生成报表模板的装置的一个实施例的结构示意图。图5是本发明生成报表模板的装置的另一实施例的结构示意图。图6是本发明生成报表模板的装置的又一实施例的结构示意图。图7是本发明生成报表模板的装置的再一实施例的结构示意图。
具体实施例方式下面参照附图对本发明进行更全面的描述,其中说明本发明的示例性实施例。本发明的示例性实施例及其说明用于解释本发明,但并不构成对本发明的不当限定。本发明通过分析业务数据库中各项数据的关联关系,提供了一种生成报表模板的方法与装置,解决了熟悉业务、但对报表工具各项功能不熟悉的用户在配置自定义报表时遇到的问题。电信网管系统的数据模型具有这样的特点数据(即,数据库表)是分成两类的, 一类是原始数据,另一类是配置数据。原始数据表中的数据是由设备自动产生的,所以数据量很大,而配置数据是由人工录入的,所以数据量要小得多。被统计的对象实际上是原始数据表,而配置数据表充当的是选择器的角色,是统计条件的一部分。从数据仓库的概念来看,原始数据表是事实表,而配置数据表是维表。事实表是被统计的对象,而维表用于确定被统计的数据范围。事实表与维表之间存在着关联关系。图1是本发明方法的第一实施例的流程示意图。
如图1所示,该实施例包括以下步骤S102,确定报表模板待统计的事实表和统计指标,并选择统计条件,其中,事实表即是用户想要查询的报表,例如,可以是去话电路群1小时话务表,来去话电路群1小时话务表,来去话目的码1小时话务表;统计指标可以是事实表中的某些参数或系统中预定义的参数,例如,试呼次数、接通次数、双向电路利用率等;统计条件可以包括关联条件、过滤条件、时间条件、汇总方式和统计粒度。具体地,可以将针对配置数据表(即,维表)的条件称为关联条件,将针对原始数据表(即,事实表)的字段称为过滤条件。关联条件是约束维表的某个字段作为报表的查询条件。过滤条件是很常见的,它的约束是针对事实表本身,其可以对经过关联条件选出来的记录集合进行进一步地约束以缩小被统计的数据范围。过滤条件可以是施加于个别字段的(例如,可以选择那些可用电路数大于100条的记录),也可以是施加于几个字段的(例如,可用电路数小于开放电路数)。对于过滤条件,可以通过统计指标、比较符、逻辑运算符和数值等来定义过滤条件的计算公式。另外,在制作报表模板的过程中还可以将新增的过滤条件加入到报表模板中,并且还可以对过滤条件进行编辑和删除操作。过滤条件可以是一个,也可以是多个。需要说明的是,过滤条件施加约束的字段并不仅限于被统计的字段。通过指定关联条件和过滤条件,待统计的数据范围就被锁定了。接下来,还需要指定待统计的指标是什么。也就是说,选择关联条件和过滤条件是在事实表的“行”方面做文章,确定的是哪些行参加统计,而确定统计指标就是在事实表的“列”方面做文章,确定有哪些列参加统计。有时直接从数据库中取出列的值就可以了,例如统计某些电路群的呼叫次数、可用电路数等,而更多的则是要在列的基础上做运算,计算出网管参数,例如,接通率、 应占比、应试比和闭塞率等,甚至有可能是用户自己定义的计算公式,这是利用本发明生成报表模板的突出优点。时间条件包括统计时间类型和是否允许对比历史数据。例如,统计时间类型可以是连续时区、连续日期离散时区以及离散日期离散时区中的一种或多种。汇总方式可以包括累计或平均。统计粒度,即数据结果的汇总粒度。报表模板可以提供多种统计粒度,例如, 可以按源端、对端信息进行汇总统计,也可以按电路群的某些属性进行汇总统计。报表的统计结果会根据所选的统计粒度将各个统计粒度显示在同一张报表结果中,从而无需对多个统计粒度进行多次统计,提高了统计的效率。另外,统计条件还可以包括汇总时间单位,例如,可以按小时汇总和/或按日期汇总。单独按小时汇总时,统计结果会将多天同一小时的数据按小时进行汇总;单独按日期汇总时,统计结果会将每天所选小时的数据按日期进行汇总。S104,利用雪花模型关联统计条件和事实表,其中,雪花模型和星形模型是目前常用的概念数据模型,但是,星形模型对客观世界的描述能力有限,一般仅限于由一个事实表与多个维表构成一到多对应的关联关系的简单情况,如果情况的复杂程度提升(例如,维表本身也需要其他的实体作进一步的说明),则星形模型就无能为力了,必须借助于雪花模型。图2是雪花模型的一个具体示意图。如图2所示,雪花模型是在星形模型的基础上拓展而来的,它在事实表和维表的基础上,增加了一类新的表-“详细类别表”,用于对维表进行描述。在星形模型中,事实表的规范化程度是比较高的,维表的数据冗余程度未加限制。而在雪花模型中,引入详细类别表的目的就是为了将维表的数据进一步分解,以提高数据模型的规范化程度,并使之具有较低的粒度。因此,雪花模型的维表具有较少的数据冗余,易于维护,节省了存储空间,具有较高的灵活性。在图2中,各个元素的含义如下EndType表示端点类型,其取值可以为例如,任意/城市/交换机/电路群;TimeType表示时间类型,其取值可以为一个、一组或所有,例如,一天、若干天或所有天,一个小时、若干小时或M个小时;AggType表示汇总方式,其取值可以为平均或累加;OrderType表示排序方法,其取值可以为升序或降序;ColumnType表示报表列类型,其取值可以为网管参数或配置数据;GranType表示统计粒度,其取值可以为例如,城市、交换机或电路群等;Bas_parameter表示统计指标,其是报表的基本元素,所有事实表中的字段都是网管参数,都会在本表有一条对应的记录;Param_constraint是施加在一个统计指标上的限制,若干这样的限制就构成了一 张报表的过滤条件。S106,按照统计条件对事实表中的统计指标进行排序和分组,动态存储排序和分组后的结果以生成报表模板,排序和分组操作是对结果集合的排列方法,要指定按哪个字段排序,或按哪个字段分组。例如,可以按升序或降序对事实表中的统计指标(即,某个字段或某几个字段)进行排序。在排序和分组后,将上述报表模板的各项定义存储起来即形成了报表模板,例如,可以通过一组数据库表来实现。现有技术中固定报表的存储过程都是预先编写的,而本发明的自定义报表模板, 是按用户输入的多个条件自动地生成的后台存储过程,在数据库中创建它,而不是预先写好和建好的。因为允许用户自己定义一些统计指标的公式,所以预先写好是不可能的。因此,本发明无需二次开发就可以提供满足用户需求的自定义程度高的报表。在本发明方法的另一实施例中,在按照统计条件对事实表中的统计指标进行排序和分组的步骤之前,还可以包括根据用户需求创建、编辑或删除统计指标。在建立报表模板时,可以利用已有的参数定义新的统计指标,并将其显示在输出结果中。在定义新的统计指标的过程中,可以指定统计指标的数据类型(例如,整数、浮点数、比率等),并使用已有的参数和运算符编辑所需的计算公式,从而得到新的统计指标。通过该实施例可以灵活地确定各种统计指标,使得报表模板的自定义程度更高。在本发明方法的又一实施例中,在生成报表模板的步骤之前,还可以包括调整报表的输出格式。例如,可以根据用户需求调整表格各列的前后顺序,还可以对报表的配置栏目提供隐藏和/或显示功能。对于报表结果的展示,可以提供多种方式,例如,表格、直方图、折线图、饼图和/或柱状图等,以及这些方式的显示切换功能。此外,还可以调整关联条件和过滤条件中内容的先后顺序。通过该实施例可以提供灵活和多样的界面显示功能,能够满足用户提出的各种显示需求。在本发明方法的再一实施例中,在生成报表模板之后,还可以包括定义报表模板的使用权限;在报表模板的使用权限内根据用户需求编辑、复制或删除报表模板。例如,为了方便用户创建新的报表模板,可以首先对已有的报表模板进行复制,然后再基于两个报表模板的不同点修改复制后的报表模板,提高了新报表模板的制作效率。另外,在生成报表模板时,可以对其设置使用权限,例如,是否是所有用户均有使用权,还是只有部分用户有使用权。被授权的用户在登录后才可以对报表模板进行编辑,这样有效地保证了报表模板的安全性。图3是利用本发明生成报表模板的方法制作报表实例的示意图。如图3所示,在完成报表的定义和存储过程后,可以采用导航的方式制作报表。后台程序从数据库中调出对报表的定义,引导用户填写各项条件的实际取值,然后调用存储过程,得到实际的报表统计结果,并展示该报表。通过图3所示的方式来制作报表,使得报表操作方便快捷,只需用鼠标拖拉便能制作、查询、修改报表格式和内容,大大节省了制作报表的时间,并在真正意义上实现了报表的自定义。图4是本发明生成报表模板的装置的一个实施例的结构示意图。如图4所示,该实施例的装置包括信息确定模块11,用于确定报表模板待统计的事实表和统计指标;选择模块12,用于选择统计条件,其中,统计条件可以包括关联条件、 过滤条件、时间条件、汇总方式和统计粒度;关联模块13,分别与信息确定模块和选择模块相连,用于利用雪花模型关联统计条件和事实表;排序与分组模块14,分别与信息确定模块11、选择模块12以及关联模块13相连,用于按照统计条件对事实表中的统计指标进行排序和分组,动态存储排序和分组后的结果以生成报表模板。具体地,可以通过编写数据库脚本来实现对数据库中配置数据表的配置,再增加相关统计的存储过程,由存储过程完成具体的数据计算,这样就实现了报表模板的制作。该实施例是按用户输入的多个条件自动地生成的后台存储过程,在数据库中创建它,而不是预先写好和建好的。因为允许用户自己定义一些统计指标的公式,所以预先写好是不可能的。因此,本发明无需二次开发就可以提供满足用户需求的自定义程度高的报表。图5是本发明生成报表模板的装置的另一实施例的结构示意图。如图5所示,与图4中的实施例相比,该实施例的装置还包括统计指标处理模块 21,与排序与分组模块14相连,用于根据用户需求创建、编辑或删除统计指标。在建立报表模板时,可以利用已有的参数定义新的统计指标,并将其显示在输出结果中。在定义新的统计指标的过程中,可以指定统计指标的数据类型(例如,整数、浮点数、比率等),并使用已有的参数和运算符编辑所需的计算公式,从而得到新的统计指标。通过该实施例可以灵活地确定各种统计指标,使得报表模板的自定义程度更高。图6是本发明生成报表模板的装置的又一实施例的结构示意图。如图6所示,与图4中的实施例相比,该实施例的装置还包括调整模块31,与排序与分组模块14相连,用于调整报表的输出格式。例如,可以根据用户需求调整表格各列的前后顺序,还可以对报表的配置栏目提供隐藏和/或显示功能。对于报表结果的展示,可以提供多种方式,例如,表格、直方图、折线图、饼图和/或柱状图等,以及这些方式的显示切换功能。此外,还可以调整关联条件和过滤条件中内容的先后顺序。通过该实施例可以提供灵活和多样的界面显示功能,能够满足用户提出的各种显示需求。
图7是本发明生成报表模板的装置的再一实施例的结构示意图。如图7所示,与图4中的实施例相比,该实施例的装置还包括使用权限管理模块 41,与排序与分组模块14相连,用于定义报表模板的使用权限,以及在报表模板的使用权限内根据用户需求编辑、复制或删除报表模板。例如,为了方便用户创建新的报表模板,可以首先对已有的报表模板进行复制,然后再基于两个报表模板的不同点修改复制后的报表模板,提高了新报表模板的制作效率。另外,在生成报表模板时,可以对其设置使用权限,例如,是否是所有用户均有使用权,还是只有部分用户有使用权。被授权的用户在登录后才可以对报表模板进行编辑,这样有效地保证了报表模板的安全性。本发明的描述是为了示例和描述起见而给出的,而并不是无遗漏的或者将本发明限于所公开的形式。很多修改和变化对于本领域的普通技术人员而言是显而易见的。选择和描述实施例是为了更好说明本发明的原理和实际应用,并且使本领域的普通技术人员能够理解本发明从而设计适于特定用途的带有各种修改的各种实施例。
权利要求
1.一种生成报表模板的方法,其特征在于,所述方法包括 确定报表模板待统计的事实表和统计指标,并选择统计条件; 利用雪花模型关联所述统计条件和所述事实表;按照所述统计条件对所述事实表中的所述统计指标进行排序和分组,动态存储排序和分组后的结果以生成所述报表模板。
2.根据权利要求1所述的方法,其特征在于,所述按照统计条件对所述事实表中的所述统计指标进行排序的步骤具体为按升序或降序对所述事实表中的所述统计指标进行排序。
3.根据权利要求1所述的方法,其特征在于,在所述按照统计条件对所述事实表中的所述统计指标进行排序和分组的步骤之前,所述方法还包括根据用户需求创建、编辑或删除所述统计指标。
4.根据权利要求1所述的方法,其特征在于,在所述生成报表模板的步骤之前,所述方法还包括调整报表的输出格式。
5.根据权利要求1所述的方法,其特征在于,在所述生成报表模板之后,所述方法还包括定义所述报表模板的使用权限;在所述报表模板的使用权限内根据用户需求编辑、复制或删除所述报表模板。
6.根据权利要求1所述的方法,其特征在于,所述统计条件包括关联条件、过滤条件、 时间条件、汇总方式和统计粒度。
7.—种生成报表模板的装置,其特征在于,所述装置包括 信息确定模块,用于确定报表模板待统计的事实表和统计指标; 选择模块,用于选择统计条件;关联模块,分别与所述信息确定模块和所述选择模块相连,用于利用雪花模型关联所述统计条件和所述事实表;排序与分组模块,分别与所述信息确定模块、所述选择模块以及所述关联模块相连,用于按照所述统计条件对所述事实表中的所述统计指标进行排序和分组,动态存储排序和分组后的结果以生成所述报表模板。
8.根据权利要求7所述的装置,其特征在于,所述装置还包括统计指标处理模块,与所述排序与分组模块相连,用于根据用户需求创建、编辑或删除所述统计指标。
9.根据权利要求7所述的装置,其特征在于,所述装置还包括 调整模块,与所述排序与分组模块相连,用于调整报表的输出格式。
10.根据权利要求7所述的装置,其特征在于,所述装置还包括使用权限管理模块,与所述排序与分组模块相连,用于定义所述报表模板的使用权限, 以及在所述报表模板的使用权限内根据用户需求编辑、复制或删除所述报表模板。
11.根据权利要求7所述的装置,其特征在于,所述统计条件包括关联条件、过滤条件、 时间条件、汇总方式和统计粒度。
全文摘要
本发明公开了一种生成报表模板的方法与装置。其中,该方法包括确定报表模板待统计的事实表和统计指标,并选择统计条件;利用雪花模型关联统计条件和事实表;按照统计条件对事实表中的统计指标进行排序和分组,动态存储排序和分组后的结果以生成报表模板。本发明利用雪花模型将统计条件与报表模板待统计的事实表关联起来,再按照统计条件对事实表中待统计的指标进行排序和分组以动态地生成报表模板。本发明相对于现有的固定报表实现更简单、灵活,无需二次开发就可以提供自定义程度较高的报表,极大地提高了报表模板的开发速度。
文档编号G06Q10/00GK102279848SQ20101019575
公开日2011年12月14日 申请日期2010年6月9日 优先权日2010年6月9日
发明者伍思源, 周文红, 张继平, 李洪, 杜民, 渠凯, 王燕川, 董晓庄, 郑超, 黄玲 申请人:中国电信股份有限公司