一种自动扩展的自助分析报表的方法及装置与流程

文档序号:16390711发布日期:2018-12-22 11:31阅读:417来源:国知局
一种自动扩展的自助分析报表的方法及装置与流程

本发明属于大数据处理技术领域,尤其是涉及一种自动扩展的自助分析报表的方法及装置。

背景技术

大数据时代下为了更好地实现所拥有数据的价值,不同商业企业主要通过第三方数据分析系统或进行自有数据分析系统的开发,从而对企业自身运营过程中获得的数据进行分析,从中发现价值。而自助分析报表面向的是不具备it背景的业务分析人员,在企业中的应用场景十分广阔。

现有技术中,通过用户自定义报表所需的展示字段与查询条件,得到定制化报表;或者用户自己编写sql查询自己想要的报表数据。现有报表自助分析技术,分为以下几步:数据采集,数据加工与处理,形成宽表,将该宽表的字段封装成可视化操作界面,从而实现报表的定制化查询。

首先,现有技术不太灵活,当有新的数据要添加到报表自助分析中时,会存在一定的工程开发量来确保完成变化。对于业务发展较快、变化频繁的企业,这种自助分析报表不够灵活,需要大量开发人员响应新需求,不然无法更新。其次,自助分析报表只能覆盖企业数据中的小部分,即宽表里的数据;由于技术、存储容量等问题,企业大部分数据无法加载到宽表中,所以自助分析报表无法覆盖大部分数据,从而可能导致有些需求无法满足。



技术实现要素:

有鉴于此,本发明实施例的目的在于提供一种自动扩展的自助分析报表的方法及装置,旨在提高分析报表的灵活度和增加数据处理的覆盖面,以及在新增数据展示时,无需开发人员的二次工程开发。

本发明采用的技术方案如下:

第一方面,本发明实施例提供的一种自动扩展的自助分析报表的方法,应用于自动扩展的自助分析报表的装置,所述自动扩展的自助分析报表的方法包括以下步骤:

将所述自动扩展的自助分析报表的装置中的元数据表按照预设时间段复制到所述自动扩展的自助分析报表的装置中的数仓中;

对所述数仓中的元数据表进行预处理后,得到描述和标准都一致的基础数据,并形成新表进行存储;

遍历扫描所述数仓中的每个表,对其表结构进行解析后存储字段基本信息;

依次两两对比各表之间的相同字段,判断两表之间是否存在匹配字段;

如果两表之间存在匹配字段,建立并记录所述两表的关联关系数据,否则不记录;

如果两表之间不存在匹配字段且存在关联关系,人工添加所述两表的关联关系数据,并将所述关联关系数据存储到数仓中。

进一步地,所述依次两两对比各表之间的相同字段,判断两表之间是否存在匹配字段的步骤具体包括:

当存在两表的字段名称完全相等时,判断所述两表之间存在匹配字段;

将每个表通过同一个映射表将字段名称进行转化,当转化后的字段名称完全相等时,判断所述两表之间存在匹配字段。

进一步地,所述对所述数仓中的元数据表进行预处理的步骤包括:

将多处存在的元数据表统一口径;

将多种描述形式的元数据表进行统一的格式处理或编码转化;

对异常数据进行过滤清洗,所述异常数据包括空值和不符合规范的数据。

进一步地,所述将所述自动扩展的自助分析报表的装置中的元数据表按照预设时间段复制到所述自动扩展的自助分析报表的装置中的数仓中的步骤具体包括:

确认待备份元数据表的基本信息,所述基本信息包括所在库、表名、表结构、字段类型、备份方式和存储生命周期;

根据所述基本信息在所述数仓中建立与所述待备份元数据表同样的表;

按照预设时间段执行编写的结构化查询语言。

进一步地,所述自动扩展的自助分析报表的方法还包括:

获取用户在搜索区输入的查找指标信息,并在所述数仓中进行对应搜索,将搜索结果进行展示;

接收用户选择的指标信息,并进行指标信息的组合后得到选择指标集合;

在生成报表指令的触发下,根据所述选择指标集合自动组装结构化查询语言,完成报表的查询和数据展示。

综上所述,本发明将所述自动扩展的自助分析报表的装置中的元数据表按照预设时间段复制到所述自动扩展的自助分析报表的装置中的数仓中,对所述数仓中的元数据表进行预处理后,得到描述和标准都一致的基础数据,并形成新表进行存储。如此,使得装置对报表进行分析时,不局限于小部分的数据,能够对企业的大部分数据进行分析。

另外,本发明通过遍历扫描所述数仓中的每个表,对其表结构进行解析后存储字段基本信息;依次两两对比各表之间的相同字段,判断两表之间是否存在匹配字段;如果两表之间存在匹配字段,建立并记录所述两表的关联关系数据,否则不记录;如果两表之间不存在匹配字段且存在关联关系,人工添加所述两表的关联关系数据,并将所述关联关系数据存储到数仓中。如此,能够提高分析报表的灵活度,并且在新增数据展示时,无需开发人员的二次工程开发。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1为本发明实施例提供的一种自动扩展的自助分析报表的方法的流程示意图。

图2为本发明实施例提供的另一种自动扩展的自助分析报表的方法的流程示意图。

图3为本发明实施例提供的一种自动扩展的自助分析报表的装置的功能模块示意图。

图4为本发明实施例提供的图3中包括的数据采集模块的功能模块框图。

主要元件符号说明:

自动扩展的自助分析报表的装置10;数据采集模块100;预处理模块200;

解析模块300;判断模块400;记录模块500;添加模块600;

搜索模块700;选择模块800;查询展示模块900;确认单元101;

建立单元102;执行单元103。

具体实施方式

下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。

现有报表自助分析技术,分为以下几步:数据采集,数据加工与处理,形成宽表,将该宽表的字段封装成可视化操作界面,从而实现报表的定制化查询。首先,现有技术不太灵活,当有新的数据要添加到报表自助分析中时,会存在一定的工程开发量来确保完成变化。对于业务发展较快、变化频繁的企业,这种自助分析报表不够灵活,需要大量开发人员响应新需求,不然无法更新。其次,自助分析报表只能覆盖企业数据中的小部分,即宽表里的数据;由于技术、存储容量等问题,企业大部分数据无法加载到宽表中,所以自助分析报表无法覆盖大部分数据,从而可能导致有些需求无法满足。

有鉴于此,本发明实施例的目的在于提供一种自动扩展的自助分析报表的方法及装置,旨在提高分析报表的灵活度和增加数据处理的覆盖面,以及在新增数据展示时,无需开发人员的二次工程开发。

首先对以下几个术语进行说明。

报表:报表就是用表格、图表等格式来动态显示数据,可以用公式表示为:“报表=多样的格式+动态的数据”。

自助分析报表:报表中的“要展示数据”、“展示格式”、“查询条件”等因素,可以由操作人员自助控制或选择。

指标图谱:这个名词拆为两部分解释;第一部分为指标:衡量目标的方法;预期中打算达到的指数、规格、标准,一般用数据表示;第二部分为图谱:是一种记录数据关系的方式;指标图谱即为衡量目标方法的逻辑关系型数据。

如图1所示,是本发明实施例提供的一种自动扩展的自助分析报表的方法的流程示意图。本实施例中,所述自动扩展的自助分析报表的方法可应用于图3所示的自动扩展的自助分析报表的装置10中。其中,所述自动扩展的自助分析报表的方法可以包括以下步骤。

步骤s101:将所述自动扩展的自助分析报表的装置10中的元数据表按照预设时间段复制到所述自动扩展的自助分析报表的装置10中的数仓中。

优选地,通过大数据技术将所述自动扩展的自助分析报表的装置10中的元数据表基于其数据库的备份机制,按照预设时间段完整地复制到所述自动扩展的自助分析报表的装置10中的数仓中进行存储,并保证在所述数仓中存储的数据与原数据库中的数据一致。

具体地,首先确认待备份元数据表的基本信息。所述基本信息可以包括所在库、表名、表结构、字段类型、备份方式和存储生命周期,所述备份方式包括增量备份和整表备份。然后根据所述基本信息在所述数仓中建立与所述待备份元数据表同样的表。接着按照预设时间段执行编写的结构化查询语言(structuredquerylanguage,sql)。其中,所述结构化查询语言可以由开发人员根据所述基本信息编写。

步骤s102:对所述数仓中的元数据表进行预处理后,得到描述和标准都一致的基础数据,并形成新表进行存储。

本实施例中,所述预处理主要包括:首先将多处存在的元数据表统一口径,以保证数据的一致。在处理数据时,可以按照指定的字段作为加工源。其次,将多种描述形式的元数据表进行统一的格式处理或编码转化。其中,所述元数据表中数据可以是时间、职业和学历等。实施时,可以先在数据库中建立字典表,在数据处理时,根据所述字典表进行转换。最后,对异常数据进行过滤清洗,所述异常数据包括空值和不符合规范的数据。所述异常数据可以包括空值和不符合规范的数据。可选地,通过程序或者sql编写逻辑扫描全表,当匹配到空值或者不规范值时,将该值处理成统一值或去掉相关数据。

步骤s103:遍历扫描所述数仓中的每个表,对其表结构进行解析后存储字段基本信息。

其中,所述字段的基本信息可以包括指标识别号、名称、值类型和描述四个字段。值得说明的是,各个字段之间的关系可以包括指标识别号、指标名、对应表、用于关联的指标识别号以及关联条件等。本实施例中,将所述字段的基本信息和各字段之间的关系部分合称为指标图谱存储结构。

步骤s104:依次两两对比各表之间的相同字段,判断两表之间是否存在匹配字段。

本实施中,判断两表之间是否存在匹配字段的方式有两种。具体地,第一种方式为:当存在两表的字段名称完全相等时,判断所述两表之间存在匹配字段。第二种方式为:将每个表通过同一个映射表将字段名称进行转化,当转化后的字段名称完全相等时,判断所述两表之间存在匹配字段。

步骤s105:如果两表之间存在匹配字段,建立并记录所述两表的关联关系数据,否则不记录。

步骤s106:如果两表之间不存在匹配字段且存在关联关系,人工添加所述两表的关联关系数据,并将所述关联关系数据存储到数仓中。

具体地,人工添加可以是,系统人员整理出对应的数据,给到数据处理人员(可以是excel),再由数据处理人员导入数据库中。

如图2所示,是本发明实施例提供的一种自动扩展的自助分析报表的方法的流程示意图。其中,所述自动扩展的自助分析报表的方法还包括:

步骤s201:获取用户在搜索区输入的查找指标信息,并在所述数仓中进行对应搜索,

将搜索结果进行展示。

步骤s202:接收用户选择的指标信息,并进行指标信息的组合后得到选择指标集合。

从用户层面来说,用户先在搜索区页面搜索自己想要的指标。在搜索结果展示中,完成

具体指标的选择,将选择结果添加到“已选指标区”

步骤s203:在生成报表指令的触发下,根据所述选择指标集合自动组装结构化查询语言,完成报表的查询和数据展示。

同样地,用户在“指标选择区”完成所有指标的选择组合,并点击生成报表,后台服务会根据选择指标自动组装sql,完成报表的查询和展示。

如图3所示,是本发明实施例提供的一种自动扩展的自助分析报表的装置10的功能模块框图。其中,所述自动扩展的自助分析报表的装置10可以包括数据采集模块100,预处理模块200,解析模块300,判断模块400,记录模块500,添加模块600,搜索模块700,选择模块800和查询展示模块900。

请参阅图4,是本发明实施例提供的一种数据采集模块100的功能模块框图。其中,所述数据采集模块100可以包括确认单元101、建立单元102和执行单元103。

下面将对以上功能模块进行展开描述。

所述数据采集模块100,用于将所述自动扩展的自助分析报表的装置10中的元数据表按照预设时间段复制到所述自动扩展的自助分析报表的装置10中的数仓中。

其中,所述确认单元101,用于确认待备份元数据表的基本信息,所述基本信息包括所在库、表名、表结构、字段类型、备份方式和存储生命周期。

所述建立单元102,用于根据所述基本信息在所述数仓中建立与所述待备份元数据表同样的表。

所述执行单元103,用于按照预设时间段执行编写的结构化查询语言。

所述预处理模块200,用于对所述数仓中的元数据表进行预处理后,得到描述和标准都一致的基础数据,并形成新表进行存储。

本实施例中,所述预处理模块200,具体用于将多处存在的元数据表统一口径;将多种描述形式的元数据表进行统一的格式处理或编码转化;以及对异常数据进行过滤清洗,所述异常数据包括空值和不符合规范的数据。

所述解析模块300,用于遍历扫描所述数仓中的每个表,对其表结构进行解析后存储字段基本信息。

所述判断模块400,用于依次两两对比各表之间的相同字段,判断两表之间是否存在匹配字段。

本实施例中,所述判断模块400,具体用于当存在两表的字段名称完全相等时,判断所述两表之间存在匹配字段,以及将每个表通过同一个映射表将字段名称进行转化,当转化后的字段名称完全相等时,判断所述两表之间存在匹配字段。

所述记录模块500,用于在两表之间存在匹配字段,建立并记录所述两表的关联关系数据,否则不记录;

所述添加模块600,用于在两表之间不存在匹配字段且存在关联关系,人工添加所述两表的关联关系数据,并将所述关联关系数据存储到数仓中。

所述搜索模块700,用于获取用户在搜索区输入的查找指标信息,并在所述数仓中进行对应搜索,将搜索结果进行展示。

所述选择模块800,用于接收用户选择的指标信息,并进行指标信息的组合后得到选择指标集合。

所述查询展示模块900,用于在生成报表指令的触发下,根据所述选择指标集合自动组装结构化查询语言,完成报表的查询和数据展示。

值得注意的是,本发明实施例所提供的装置,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。

综上所述,本发明将所述自动扩展的自助分析报表的装置10中的元数据表按照预设时间段复制到所述自动扩展的自助分析报表的装置10中的数仓中,对所述数仓中的元数据表进行预处理后,得到描述和标准都一致的基础数据,并形成新表进行存储。如此,使得装置对报表进行分析时,不局限于小部分的数据,能够对企业的大部分数据进行分析。

另外,本发明通过遍历扫描所述数仓中的每个表,对其表结构进行解析后存储字段基本信息;依次两两对比各表之间的相同字段,判断两表之间是否存在匹配字段;如果两表之间存在匹配字段,建立并记录所述两表的关联关系数据,否则不记录;如果两表之间不存在匹配字段且存在关联关系,人工添加所述两表的关联关系数据,并将所述关联关系数据存储到数仓中。如此,能够提高分析报表的灵活度,并且在新增数据展示时,无需开发人员的二次工程开发。

在本申请所提供的实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。另外,在本发明各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。

所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。

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