一种自动报表生成方法及其装置与流程

文档序号:11250860阅读:411来源:国知局
一种自动报表生成方法及其装置与流程

本发明涉及数据库技术领域,具体涉及一种自动报表生成方法及其装置。



背景技术:

业界报表工具一般都需要人工先定义报表,报表定义完成后才可以查看该报表。报表内容按照表头顺序平铺式展示,便于查看详细信息。一般基础信息表可以用列表式体现。通常报表由维度和指标组成,维度例如包括:供应商、产品类别、产品名称等,用来表示一个项目的物理属性,表明这个项目具体是什么;指标例如包括:单位数量,订购量,单价等,是这个项目的变量。现有技术中放在一张报表中的每个指标多具有不同的维度,因为每个指标的维度不同导致不方便工作人员观看、统计,要想将相同维度的指标放置于一个报表内需要人工的进行摘选,需要耗费大量的人力。



技术实现要素:

因此,本发明要解决的技术问题在于克服现有技术中的报表生成方法不能自动将统一维度的指标进行自动划分为同一报表所带来的缺陷。

为此,提供一种自动报表生成方法,包括:

调取至少一个指标库,每个指标库中包括维度的名称、维度的取值、各个取值的维度所具有的指标的名称和取值;

分析所述至少一个指标库中各自所包括的指标的名称和指标所归属的维度的名称,确定出归属于相同维度的指标的名称,所述相同维度包括至少一个维度;

根据所述归属于所述相同维度的指标的名称、和所述相同维度的名称,建立新报表。

进一步的,所述根据所述归属于所述相同维度的指标的名称、和所述相同维度的名称,建立新报表,包括:

在同一行或者同一列中,逐一列出所述归属于所述相同维度的指标的名称、和所述相同维度的名称,形成新报表。

进一步的,所述分析所述至少一个指标库中各自所包括的指标的名称和指标所归属的维度的名称,包括:

对至少一个指标库中各自所包括的指标的名称进行语义分析,将具有相同含义的指标的名称进行名称统一化处理;

对至少一个指标库中各自所包括的维度的名称进行语义分析,将具有相同含义的维度的名称进行名称统一化处理;

对所述统一化处理后的至少一个指标库进行分析,确定出归属于相同维度的指标的名称。

进一步的,所述对至少一个指标库中各自所包括的指标的名称进行语义分析,将具有相同含义的指标的名称进行名称统一化处理,包括:

确定具有相同含义的各个指标的名称在所述至少一个指标库中共出现的数目;

将出现数目最多的指标的名称设置为该相同含义的各个指标的最终名称;

所述对至少一个指标库中各自所包括的维度的名称进行语义分析,将具有相同含义的维度的名称进行名称统一化处理,包括:

确定具有相同含义的各个维度的名称在所述至少一个指标库中共出现的数目;

将出现数目最多的维度的名称设置为该相同含义的各个维度的最终名称。

进一步的,将出现数目最多的指标的名称设置为该相同含义的各个指标的最终名称,包括:

考虑与其他指标的名称同时出现的次数的影响,对指标的名称出现次数进行修正;

修正方法为,通过以下公式修正:

n=n0+σ[ni×(ni/mi)k]

n是修正后的指标出现次数,n0是原始的指标出现次数,ni是这个指标和第i个维度的另一个指标与该指标同时出现的次数,mi是第i个维度中一出现次数最多的指标的出现次数,k是正实数;

考虑其他数据库中所使用的名称的影响,对指标的名称出现次数进行二次修正;

n={n0+∑[ni×(ni/mi)k]}×[1+(tfidf/∑tfidf)s]

其中tfidf其他数据库指标的名称的词频逆文本频率指数,∑tfidf为该维度的所有指标的名称的词频逆文本频率指数之和,s为一正实数。

进一步的,所述根据所述归属于所述相同维度的指标的名称、和所述相同维度的名称,建立新报表,包括:

对所述新报表内的维度的名称、维度的取值、各个取值的维度所具有的指标的名称和取值进行调取;

检测新报表内是否包括了指标库内所有的维度的名称、维度的取值、各个取值的维度所具有的指标的名称和取值;

如果是,则结束流程;

如果否,则重复所述根据所述归属于所述相同维度的指标的名称、和所述相同维度的名称,建立新报表的操作,直到新报表内包括了指标库内所有的维度的名称、维度的取值、各个取值的维度所具有的指标的名称和取值,结束流程。

一种自动报表生成装置,包括:

调取模块,用于调取至少一个指标库,并提取每个指标库中包括维度的名称、维度的取值、各个取值的维度所具有的指标的名称和取值;

处理模块,用于分析所述至少一个指标库中各自所包括的指标的名称和指标所归属的维度的名称,确定出归属于相同维度的指标的名称,所述相同维度包括至少一个维度;

自动建立模块,用于根据所述归属于所述相同维度的指标的名称、和所述相同维度的名称,建立新报表。

进一步的,所述自动建立模块,还用于将在同一行或者同一列中,逐一列出所述归属于所述相同维度的指标的名称、和所述相同维度的名称,形成新报表。

进一步的,所述处理模块,包括:

指标名称统一单元,用于对至少一个指标库中各自所包括的指标的名称进行语义分析,将具有相同含义的指标的名称进行名称统一化处理;

维度名称统一单元,用于对至少一个指标库中各自所包括的维度的名称进行语义分析,将具有相同含义的维度的名称进行名称统一化处理;

生成单元,用于对所述统一化处理后的至少一个指标库进行分析,并确定出归属于相同维度的指标的名称。

所述指标名称统一单元,还用于确定具有相同含义的各个指标的名称在所述至少一个指标库中共出现的数目,将出现数目最多的指标的名称设置为该相同含义的各个指标的最终名称;

所述维度名称统一单元,还用于确定具有相同含义的各个维度的名称在所述至少一个指标库中共出现的数目;将出现数目最多的维度的名称设置为该相同含义的各个维度的最终名称。

进一步的,所述装置还包括:

检测模块,用于对所述新报表内的维度的名称、维度的取值、各个取值的维度所具有的指标的名称和取值进行调取;检测新报表内是否包括了指标库内所有的维度的名称、维度的取值、各个取值的维度所具有的指标的名称和取值;如果是,则结束流程;如果否,则控制所述自动建立模块继续操作,直到新报表内包括了指标库内所有的维度的名称、维度的取值、各个取值的维度所具有的指标的名称和取值,结束流程。

本发明技术方案,具有如下优点:

1.本发明提供的自动报表生成方法具有自动将相同维度的指标分别置于一个表的功能,方便工作人员对报表的统计、观看以及筛选。

2.通过检测模块可对新报表内是否包括了指标库内所有的维度的名称、维度的取值、各个取值的维度所具有的指标的名称和取值进行检测,以防止生成的新报表错误而出现漏吊指标的情况出现,并且当出现漏掉指标的情况下也可以自动重复执行指标库分成新报表的过程,使该自动报表生成装置更加稳定、精准。

附图说明

为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为自动报表生成方法的流程图;

图2为指标库示意图;

图3为新报表一示意图;

图4为新报表二示意图;

图5为新报表三示意图;

图6为步骤s12示意图;

图7为步骤s121的流程示意图;

图8为步骤s122的流程示意图;

图9为自动报表生成装置的结构示意图。

附图标记:1、调取模块;2、处理模块;3、自动建立模块。

具体实施方式

下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明实施例提供了一种自动报表生成方法,如图1所示,包括步骤s11~s13:

步骤s11、调取至少一个指标库,每个指标库中包括维度的名称、维度的取值、各个取值的维度所具有的指标的名称和取值。

其中,如图2所示为一个指标库,其中维度的名称例如该报表中顶层一行中所写的“供应商”、“产品类别”、以及“产品名称”,维度的取值例如该图报表中的“佳佳乐”、“饮料”和“苹果汁”等,每个维度的名称可对应多个取值,通过维度的名称以及维度的取值用来表示一个项目的物理属性,表明这个项目具体是什么。

其中指标的名称例如该图中顶层一行中所写的“单位数量”、“订购量”以及“单价”,指标的取值例如该图中的,“每箱24瓶”、“0.00”以及“18.00”,每个指标的名称可对应多个取值。指标的名称是维度的名称以及维度取值所确定项目的变量的名称。指标的取值可看成是相应变量的取值。

例如维度名称为供应商、产品类别、产品名称,其有一组取值分别为康富有食品、调味品、盐,定义出了一个项目是康富有食品生成的一种“调味-盐。该项目对应的指标的名称分别为单位数量、订购量、价格,取值分别为每箱12瓶、0.00、22.00。

步骤s12、分析至少一个指标库中各自所包括的指标的名称和指标所归属的维度的名称,确定出归属于相同维度的指标的名称,相同维度包括至少一个维度。

例如:指标一归属于4个维度(a,b,c,d),指标二归属于3个维度(a,b,c),指标三有2个维度(c,d),那么,根据步骤s12,可确定出归属于相同维度的指标的名称有三种,第一种:指标一和指标二,它们都归属于(a,b,c)这三个维度;第二种:指标一和指标三,它们都归属于(c,d)这两个维度;第三种:指标一、指标二和指标三,它们都归属于(c)这一个维度。

步骤s13、根据归属于相同维度的指标的名称、和相同维度的名称,建立新报表。

延续前述例子,由于指标一和指标二同属于(a,b,c)三个维度,所以生成新报表一,如图3所示;指标一和指标三同属于(c,d)两个维度,所以生成新报表二,如图4所示;指标一、指标二和指标三同属于(c)这个维度、所以生成新报表三,如图5所示;。

自动报表生成方法可将相同维度的指标放置于一个报表内,方便工作人员对报表的统计、观看以及筛选。

具体的,前述步骤s13可实施为:在同一行或者同一列中,逐一列出归属于相同维度的指标的名称、和相同维度的名称,形成新报表。

在一个实施例中,前述步骤s12可具体实施为如图6所示的步骤s121~s123:

步骤s121、对至少一个指标库中各自所包括的指标的名称进行语义分析,将具有相同含义的指标的名称进行名称统一化处理;

例如:多个具有相同含义的指标的名称,包括数量、数目以及个数,将该三个具有相同含义的指标的名称统称为数量、数目或者个数中的任意一个,使得在确定归属于相同维度的指标的名称时更加方便快捷。

针对步骤s121,将出现数目最多的指标的名称设置为该相同含义的各个指标的最终名称;由于考虑到若干指标的名称同时出现的次数的影响,本发明还提供了一种确定指标最终名称的修正方法,用于对指标的名称出现次数进行修正;包括:

通过以下公式修正:

n=n0+∑[ni×(ni/mi)k]

n是修正后的指标出现次数,n0是原始的指标出现次数,ni是这个指标和第i个维度的另一个指标与该指标同时出现的次数,mi是第i个维度中一出现次数最多的指标的出现次数,k是正实数;

在一个实施例中,例如“单价”这个指标的原始出现次数为x即n0为x,这个指标在另一维度处出现的次数为y次即ni为y,在另一维度中有一指标的名称为“供应量”,其出现的次数最多,且其出现的次数为z次,即mi为z,设置k的值取为v,则其修正后的系数为n为

x+∑[y×(y/z)v]

分别计算出各个相似指标的名称的修正系数,并可根据修正系数的数值对指标的名称进行选择,取修正系数最大值所对应的指标的名称作为该同义指标的名称的最终名称。

考虑其他数据库中所使用的名称的影响,对指标的名称出现次数进行二次修正;

n={n0+∑[ni×(ni/mi)k]}×[1+(tfidf/∑tfidf)s]

其中tfidf其他数据库指标的名称的词频逆文本频率指数,∑tfidf为该维度的所有指标的名称的词频逆文本频率指数之和,s为一正实数。

例如“单价”这个指标的原始出现次数为x即n0为x,这个指标在另一维度处出现的次数为y次即ni为y,在另一维度中有一指标的名称为“供应量”,其出现的次数最多,且其出现的次数为z次,即mi为z,设置k的值取为v,另一维度中该指标的名称出现次数为a,所有指标出现的总次数为b,则该修正系数n为

x+∑[y×(y/z)v]×[1+(a/b)s]

分别计算出各个相似指标的名称的修正系数,并可根据修正系数的数值对指标的名称进行选择,取修正系数最大值所对应的指标的名称作为该同义指标的名称的最终名称。

其中,步骤s121可实施为如图7所示:

步骤s1211、确定具有相同含义的各个指标的名称在至少一个指标库中共出现的数目;

例如指标的名称包括数量、数目以及个数,并将数量、数目以及个数这三个指标的名称出现的数目进行统计,例如个数出现过3次,数量出现过2次,数目出现过1次。

步骤s1212、将出现数目最多的指标的名称设置为该相同含义的各个指标的最终名称;

将个数出现过3次,数量出现过2次,数目出现过1次进行比对,指标的名称中个数出现过3次,次数最多,则将个数命名为最终名称,并自动将数量以及数目更名为个数。

步骤s122、对至少一个指标库中各自所包括的维度的名称进行语义分析,将具有相同含义的维度的名称进行名称统一化处理;

例如:多个具有相同含义的维度的名称,包括供货商、供应商和送货单位,将该三个具有相同含义的维度的名称统称为供货商、供应商或送货单位中的任意一个,使得在确定归属于相同维度的指标的名称时更加方便快捷。

其中,步骤s122可实施为如图8所示:

步骤s1221、确定具有相同含义的各个维度的名称在至少一个指标库中共出现的数目;

例如维度的名称包括供货商、供应商以及送货单位,并将供货商、供应商以及送货单位这三个维度的名称出现的数目进行统计,例如供货商出现过3次,供应商出现过2次,送货单位出现过1次。

步骤s1222、将出现数目最多的维度的名称设置为该相同含义的各个维度的最终名称。

将供货商出现过3次,供应商出现过2次,送货单位出现过1次进行比对,维度的名称中供货商出现过3次,次数最多,则将供货商命名为最终名称,并自动将供应商以及送货单位更名为供货商。

步骤s123、对统一化处理后的至少一个指标库进行分析,确定出归属于相同维度的指标的名称。

在一个实施例中,前述步骤s13“根据归属于相同维度的指标的名称、和相同维度的名称,建立新报表”之后,所述方法还可以包括如下步骤a1~a2:

a1、对新报表内的维度的名称、维度的取值、各个取值的维度所具有的指标的名称和取值进行调取;

a2、检测新报表内是否包括了指标库内所有的维度的名称、维度的取值、各个取值的维度所具有的指标的名称和取值;如果是,则结束流程;如果否,则重复执行步骤s13的操作,直到新报表内包括了指标库内所有的维度的名称、维度的取值、各个取值的维度所具有的指标的名称和取值,结束流程。

例如新报表有两张,第一张包括维度(a,b,c)、指标一和指标二,第二张包括维度(d,e)、指标三和指标四。

指标库中包括维度(a,b,c,d,e)、指标一、指标二、指标三、指标四和指标五,检测新报表内是否包括了指标库内所有的维度的名称、维度的取值、各个取值的维度所具有的指标的名称和取值。

新报表中指标的名称没有指标库中为指标五的指标名称,故重复执行步骤s13。

通过步骤a1~a2可对指标库内所有的维度的名称、维度的取值、各个取值的维度所具有的指标的名称和取值进行检测,以防止生成的新报表错误而出现漏吊指标的情况出现,并且当出现漏掉指标的情况下也可以自动重复执行步骤s13,进行再次将指标库分成新报表的过程,使该自动报表生成装置更加稳定。

对应本发明实施例提供的上述方法,本发明实施例还提供了一种自动报表生成装置,如图9所示,包括:

调取模块1,用于调取至少一个指标库,并提取每个指标库中包括维度的名称、维度的取值、各个取值的维度所具有的指标的名称和取值;

处理模块2,用于分析所述至少一个指标库中各自所包括的指标的名称和指标所归属的维度的名称,确定出归属于相同维度的指标的名称,所述相同维度包括至少一个维度;

自动建立模块3,用于根据所述归属于所述相同维度的指标的名称、和所述相同维度的名称,建立新报表。

进一步的,所述自动建立模块3,还用于将在同一行或者同一列中,逐一列出所述归属于所述相同维度的指标的名称、和所述相同维度的名称,形成新报表。

进一步的,所述处理模块2,包括:

指标名称统一单元,用于对至少一个指标库中各自所包括的指标的名称进行语义分析,将具有相同含义的指标的名称进行名称统一化处理;

维度名称统一单元,用于对至少一个指标库中各自所包括的维度的名称进行语义分析,将具有相同含义的维度的名称进行名称统一化处理;

生成单元,用于对所述统一化处理后的至少一个指标库进行分析,并确定出归属于相同维度的指标的名称。

进一步的,所述指标名称统一单元,还用于确定具有相同含义的各个指标的名称在所述至少一个指标库中共出现的数目,将出现数目最多的指标的名称设置为该相同含义的各个指标的最终名称;

所述维度名称统一单元,还用于确定具有相同含义的各个维度的名称在所述至少一个指标库中共出现的数目;将出现数目最多的维度的名称设置为该相同含义的各个维度的最终名称。

进一步的,所述装置还包括:

检测模块,用于对所述新报表内的维度的名称、维度的取值、各个取值的维度所具有的指标的名称和取值进行调取;检测新报表内是否包括了指标库内所有的维度的名称、维度的取值、各个取值的维度所具有的指标的名称和取值;如果是,则结束流程;如果否,则控制所述自动建立模块3继续操作,直到新报表内包括了指标库内所有的维度的名称、维度的取值、各个取值的维度所具有的指标的名称和取值,结束流程。

指标库用于存放一个公司或单位的经营指标,每一个指标涵盖两部分内容:指标的维度以及指标的数值。指标的维度是指指标查看的视角,例如:地区、人口性质、性别,指标值就是指标的度量(也就是指标的值),例如:人口数,收入,成本,利润等。通过该自动报表生成装置可将该指标库内的所有具有类似维度的指标放在一张报表中,加快该公司、该单位的办公效率。

显然,上述实施例仅仅是为清楚地说明所作的举例,而并非对实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。而由此所引伸出的显而易见的变化或变动仍处于本发明创造的保护范围之中。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1