具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
如图1所示,在一个实施例中,提供了一种电子设备,该电子设备包括通过***总线连接的处理器、内存、存储介质和网络接口。其中,该电子设备的存储介质存储有操作平台、数据库,还存储有一种报表视图生成装置。该报表视图生成装置用于实现一种报表视图生成方法。该电子设备的处理器被配置为执行一种报表视图生成方法。该电子设备可以是一个独立的设备,或者可以是多个可互联通信的电子设备组成的电子设备群,报表视图生成装置的各个功能模块可以分别部署在电子设备群中的各个电子设备上。该电子设备可以是台式计算机。
如图2所示,在一个实施例中,提供了一种报表视图生成方法,本实施例以该方法应用于上述图1中的电子设备来举例说明。所谓视图是一个虚拟表,视图的表现形式与真实的数据表类似,包含一系列带有名称的列和行数据,但是视图并不在数据库中以存储的数据值集形式存在。而报表视图则是基于报表所建立的视图。该方法具体包括如下步骤:
步骤202,接收到报表视图显示指令后,从报表视图配置表中获取待显示的报表视图的各个字段的字段配置信息。
具体地,可以提供报表视图显示触发控件,从而在检测到对该报表视图显示触发控件的操作时,触发报表视图显示指令。报表视图显示触发控件可以是一个按钮或者是菜单页中的一个选项,报表视图建立触发控件上可以显示“查看报表视图”的功能解释性文字。
报表视图配置表存储有各个字段的字段配置信息,每个字段是由若干按照某种界限划分的相同数据类型的数据项组成的集合的名称。数据库中的一个字段通常是指数据库中某一列的数据的名称,而待显示的报表视图的字段,则是指需要显示的报表视图中某列或者某行的名称,具体采用行还是列根据需要确定。
字段配置信息是事先配置的待显示的报表视图中各个字段的属性。在一个实施中,字段配置信息包括但不限于:字段类型、字段所属报表的类型、指标标识以及显示方式等。
其中字段类型是指报表视图中的该字段为原始指标字段或者计算指标字段,原始指标字段是指该字段所对应的指标数据直接来自相应的报表中,而计算指标字段则是指该字段所对应的指标数据通过报表视图中其它字段的指标数据计算而得到。指标数据是指报表中相应的指标字段下的字段值。
报表包括指标字段和维度字段两种字段,维度字段是用于将报表中的数据进行分类汇总的字段,比如软件运行所依赖的操作平台、软件名称、软件版本、网页名称、网页登录时间、登录状态等。指标字段则是用于对报表中的维度字段进行统计以衡量报表的数值特征的字段,比如PV(Page View,页面浏览量)、UV(Unique Visitor,独立访客)、人均PV、在指定时间段内的总登录数、在指定时间段内的访问量以及在指定时间段内的访问人数与登录数的比值等。这里的指定时间段比如可以是一天之内或者一周之内等。PV是指一个页面被访问的次数,UV则是指不同的、通过互联网访问、浏览特定网页的自然人。
字段所属报表的类型,是指当前需要显示的是报表视图还是普通报表。指标标识用以唯一标识出指标池存储表中的一个指标记录,一个指标记录对应一个报表中的一个指标字段,来自不同报表的指标字段可以相同,但它们各自对应的指标标识是不同的。显示方式比如是否按照所属报表中的原格式显示、指标数据显示时的小数位数、是否以百分比形式显示等。
步骤204,遍历获取到的各个字段配置信息,对于包括字段类型为原始指标字段的第一字段配置信息,获取该第一字段配置信息所包括的指标标识。
将字段类型为原始指标字段的字段配置信息定义为第一字段配置信息,类似地,以下将字段类型为计算指标字段的字段配置信息定义为第二字段配置信息,以示区分。
遍历报表视图中的每个字段的字段配置信息,对每个字段的字段配置信息分别进行处理。字段类型为原始指标字段,表示在显示报表视图时,在该字段下,直接从相应的报表中获取相应字段的指标数据进行显示,而不需要基于获取到的指标数据进行进一步的计算。
步骤206,从指标池存储表获取与获取到的指标标识对应的指标配置信息,并根据该指标配置信息所包括的报表标识和指标字段来查询指标数据。
指标池存储表对应存储有指标标识和指标配置信息,称为指标池存储表中的一条指标记录。在一个实施例中,指标池存储表中的一条指标记录可表示为如表一所示:
表一:
如表一所示,指标配置信息与指标标识对应,指标配置信息至少包括:所属报表的报表标识和所属报表中的指标字段,还可以包括但不限于:维度约束条件和指标所有人,可选地,指标配置信息还可以包括所属报表名称、元素标识、维度约束条件含义、所属报表中的指标字段含义、指标状态和指标创建时间。其中指标所有人对应的值为用户标识,用于将指标池存储表中的指标记录与用户关联起来,表示相应的指标标识及指标配置信息专属于该用户,这样每个用户可以维护专属于自己的报表视图。指标状态用来表示相应的指标标识所对应的指标的作用,比如指标是否被启用,是用来显示报表视图还是用来显示指标对比。
从指标池存储表获取到与获取到的指标标识对应的指标配置信息,该指标配置信息包括报表标识和指标字段,根据该报表标识可以确定报表数据的查询方式、查询访问参数以及查询配置信息,从而据之来获取报表数据;而根据该指标字段就可以定位到报表中具体的指标数据,实现指标数据的查询。
报表数据是指报表中的数据,报表数据的查询方式包括但不限于数据库查询方式或者CGI(Common Gateway Interface,通用网关接口)查询方式。若查询方式为数据库查询方式,则相应的查询访问参数包括但不限于数据库的访问地址、端口号、数据库名、数据库用户名以及数据库用户密码等。若查询方式为CGI查询方式,则相应的查询访问参数为CGI的URL(Uniform ResoureLocator:统一资源***)。
若查询方式为数据库查询方式,则报表数据的查询配置信息包括但不限于查询语句、数据来源是数据表还是视图。若查询方式为CGI查询方式,则报表数据的查询配置信息可以是CGI请求参数。
步骤208,对查询到的指标数据按照相应的第一字段配置信息进行显示,以生成报表视图。
指标数据是指报表中指标字段下对应的数据,在查询到指标数据后,比如查询到指标字段为访问量下的指标数据后,可按照相应的第一字段配置信息渲染显示为报表视图中的一列,以此类推,将所有列渲染显示出来,就生成了报表视图。
在一个实施例中,可以对查询到的指标数据按照相应的第一字段配置信息所包括的显示方式进行显示,以生成报表视图。比如显示方式可以包括是否按照所属报表中的原格式显示、指标数据显示时的小数位数、是否以百分比形式显示等。
上述报表视图生成方法,通过指标池存储表和报表视图配置表两张表实现生成报表视图,其中报表视图配置表存储有待显示的各个字段的字段配置信息;指标池存储表则存储有来自各个报表的指标字段的指标配置信息,并通过指标标识来区分各个报表的指标字段。生成报表视图时,遍历报表视图配置表中存储的各个字段的字段配置信息,获取其中第一字段配置信息所包括的指标标识,从而据之来从指标池存储表获取相应的指标配置信息,从而根据该指标配置信息查询到指标数据后进行显示,生成报表视图。
这样只要将需要显示在报表视图的指标字段的指标配置信息加入指标池存储表,就可以按照报表视图配置表来生成所需的报表视图。通过变更指标池存储表就可以变更报表视图所显示的指标字段,报表视图实现与维护成本都很低。
如图3所示,在一个实施例中,该报表视图生成方法还包括从各个报表选择指标字段并写入指标池存储表的步骤,具体包括如下步骤:
步骤302,分别展示各个报表的指标字段集合。
具体地,可以在各个报表的展示页面设置指标字段选择区域,从而当用户查看报表时,就可以在该指标字段选择区域中展示当前报表中的指标字段所构成的指标字段集合。
步骤304,在接收到对于展示的指标字段集合的指标字段选择指令后,据以从展示的指标字段集合中选择指标字段。
具体地,可以先将指标字段集合中所有的指标字段显示在未添加指标字段区域中,用户点击其中的某个指标状态表示该指标字段被选择,将该选择的指标字段从未添加指标字段区域移除或隐藏,并显示在已添加指标字段区域中。直到当用户点击确认按钮而触发确认指令后,将显示在已添加指标字段区域中的所有指标字段作为选择的指标字段。
步骤306,生成指标配置信息,生成的指标配置信息包括选择的指标字段和选择的指标字段所属报表的报表标识。
指标配置信息包括报表标识和指标字段,根据该报表标识可以确定报表数据的查询方式、查询访问参数以及查询配置信息,从而据之来获取报表数据;而根据该指标字段就可以定位到报表中具体的指标数据,实现指标数据的查询。
步骤308,为选择的指标字段分配指标标识,并将分配的指标标识与生成的指标配置信息对应写入指标池存储表。
具体地,自动为选择的指标字段分配指标标识,可以从某一初始值开始,比如从10000开始,每次递增1作为新的指标标识分配给一个选择的指标字段。指标标识是唯一的,来自不同报表的相同指标字段将分配不同的指标标识。
将选择的指标字段的指标标识与生成的指标配置信息对应写入指标池存储表。其中指标标识以及生成的指标配置信息中的每一项,可以分别作为指标池存储表中一条指标记录中各个字段下的一个字段值。具体指标池存储表的内容可以如上述表一所示。
本实施例中,用户可以分别对每个报表的指标字段集合进行选择操作,选择想要加入报表视图显示的指标字段,生成相应的指标配置信息后与自动分配的指标标识对应写入指标池存储表。这样就可以根据用户需求方便、快捷地生成用户所需的报表视图,提高了操作便利性。
如图4所示,在一个实施例中,步骤302具体包括如下步骤:
步骤402,分别展示各个报表的维度字段集合。
具体地,报表包括指标字段和维度字段两种字段,维度字段是用于将报表中的数据进行分类汇总的字段,比如软件运行所依赖的操作平台、软件名称、软件版本、网页名称、网页登录时间、登录状态等。
在一个实施例中,可以在各个报表的展示页面分别展示所属报表的维度字段集合。具体地,当用户查看报表时,可以在当前报表的展示页面设置指标字段选择区域,从而在该指标字段选择区域中展示当前报表的维度字段集合中所有的或者指定的维度字段。
举例来说,参照图5,在用户查看当前的报表时,会在当前报表的展示页面的指标字段选择区域展示维度约束条件选择界面,在该维度约束条件选择界面中展示当前报表中各个可选的维度字段,比如图5中的“操作平台”、“软件版本”、“目标页面”以及“用户状态”等均是展示的维度字段。
步骤404,在接收到对于展示的维度字段集合的维度字段选择指令后,据以从展示的维度字段集合中选定维度字段并设定相应的字段值。
具体地,可以在展示的维度字段周围展示选择框,当用户点击该选择框时表示接收到对于展示的维度字段集合的维度字段选择指令,从而根据该维度字段选择指令将选中的选择框所对应的维度字段作为选定的维度字段。还可以在展示的维度字段周围显示选项列表,若选项列表中为空则表示该展示的维度字段不被选中。
设定与选定的维度字段对应的字段值,可以在展示的维度字段周围显示的选项列表中选择一个字段值选项以设定相应的字段值,或者也可以在维度字段周围显示输入框,获取在输入框中输入的字符作为设定的相应字段值。
举例来说,参照图5,对于展示的维度字段“操作平台”,其周围显示的选项列表中“Android”被选中,表示该展示的维度字段被选中,而且设定其字段值为“Android”。图5中的选项列表是隐藏式的,当点击该选项列表的特定位置时会展示全部的选项,选项列表中除了“Android”,还会有“Windows”、“iOS”等表示操作平台名称的选项。展示的选项列表可以是多选的,比如图5中展示的维度字段“用户状态”,可以选择“状态1”、“状态2”等多个选项。
步骤406,根据选定的维度字段及相应的字段值构成维度约束条件。
具体地,每个维度字段都具有各自的分类汇总功能,选定的一个或多个维度字段以及相应的字段值将构成对报表数据的进一步约束,这里将选定的维度字段及相应的字段值构成的约束称为维度约束条件。
步骤408,展示维度约束条件在所属报表中对应的指标字段集合。
举例来说,当图5中的维度约束条件选择界面被触发确认指令后,触发如图6的指标添加界面。该指标添加界面中构成维度约束条件的维度字段有4个,分别为“操作平台”、“软件版本”、“目标页面”和“用户状态”,且各个维度字段所对应的字段值分别为“Android”、“社交软件4.9版”、“页面1”和“状态1”,这四个维度字段及其相应的字段值构成维度约束条件。
可以在指标添加界面中的指标选择操作区610展示当前报表中上述维度约束条件所对应的指标字段集合。展示的指标字段集合是与维度约束条件所约束的报表数据相关联的。用户在指标选择操作区610的未选指标字段区域612中点击某个指标字段,该指标字段会从该未选指标字段区域612中移除或隐藏,并展示在指标选择操作区610的已选指标字段区域614中,直到确认后,执行步骤304,以将已选指标字段区域614中展示的指标字段作为选择的指标字段。
生成的指标配置信息包括选择的指标字段、选择的指标字段所属报表的报表标识以及构成的维度约束条件。且步骤206具体包括:从指标池存储表获取与获取到的指标标识对应的指标配置信息,并根据该指标配置信息所包括的报表标识、指标字段和维度约束条件来查询指标数据。
具体地,在步骤306中生成指标配置信息时,生成的指标配置信息进一步包括维度约束条件,这样在执行步骤206以查询指标数据时,将根据指标配置信息中的维度约束条件对报表中原有的指标数据进行进一步筛选,这样查询到的指标数据更加准确,符合用户需求。
如图7所示,在一个实施例中,该报表视图生成方法还包括对字段类型为计算指标字段的第二字段配置信息的处理步骤,具体包括以下步骤:
步骤702,对于包括字段类型为计算指标字段的第二字段配置信息,获取该第二字段配置信息所包括的计算关联指标标识。
具体地,遍历报表视图中的每个字段的字段配置信息,对每个字段的字段配置信息分别进行处理。若字段类型为原始指标字段,表示在显示报表视图时,在该字段下,直接从相应的报表中获取相应字段的指标数据进行显示,而不需要基于获取到的指标数据进行进一步的计算。而对于包括的字段类型为计算指标字段的第二字段配置信息,表示在显示报表视图时,在该字段下,需要依据报表中其它字段的指标数据进行进一步计算。这里第二字段配置信息所包括的计算关联指标标识,是指进行计算所依据的指标数据所对应的指标标识。
步骤704,根据第二字段配置信息所包括的计算方式对计算关联指标标识所对应的指标数据进行计算,获得计算结果。
这里的计算方式可以是一个或者多个计算关联指标标识所对应的指标数据之间的函数,这里的函数可以是根据实际需要确定的任意函数,如加和、作差、作商、求乘积等。
举例来说,若两个指标标识分别为“10000”和“10001”,另外一个字段类型为计算指标字段的字段的指标标识为“CAL01”,而计算关联指标标识为“10000”和“10001”,计算方式是[10000]/[10001]。则执行步骤704时,将指标标识为“10000”的指标数据除以指标标识为“10001”中相应的指标数据。
而且本实施例中,步骤208具体包括:对查询到的指标数据按照相应的第一字段配置信息进行显示,对计算出的计算结果按照相应的第二字段配置信息进行显示,以生成报表视图。这样报表视图中将同时显示原始指标字段的指标数据和计算指标字段的计算结果,方便用户进行各种数据分析。
在一个实施例中,步骤204之前,还包括:在获取到的各个字段配置信息中,将包括的字段类型为原始指标字段的第一字段配置信息排列在前,将包括的字段类型为计算指标字段的第二字段配置信息排列在后。本实施例中,考虑到计算指标字段在计算获得计算结果时需要依据原始指标字段,这里根据字段类型进行排序,可以保证在计算时可以直接获得计算所需的数据,提高生成报表视图的效率。
如图8所示,在一个实施例中,该报表视图生成方法还包括对报表视图的字段进行配置的步骤,具体包括以下步骤:
步骤802,根据指标池存储表展示指标选项列表。
具体地,可以提供报表视图建立触发控件,从而在检测到对该报表视图建立触发控件的操作时,触发报表视图建立指令。然后根据触发的报表视图建立指令,生成报表视图配置页面,在该报表视图配置页面中展示指标选项列表。
报表视图建立触发控件可以是一个按钮或者是菜单页中的一个选项,报表视图建立触发控件上可以显示“建立报表视图”的功能解释性文字。指标选项列表包括若干可选的指标选项,其中的一个指标选项对应指标池存储表中的一条指标记录,也对应一个指标标识。
步骤804,接收到指标选项选择指令后,据以从指标选项列表中选定指标选项。
具体地,在接收到作用于报表视图配置页面的指标选项选择指令后,根据该指标选项选择指令从指标选项列表中选定指标选项。选定的指标选项对应一个唯一的指标标识。
在一个实施例中,可以将指标池存储表中的每条指标记录分别展示为一行数据,称为一个指标选项,并且在每一行设置相应的复选框,每行的数据包括但不限于报表标识、报表标识对应的报表名称、维度约束条件等。具体如图9中的报表视图配置页面900中的指标选取区域902中显示的数据。用户在指标选取区域902中选中一个或者多个指标选项所对应的复选框,并点击“加入报表视图”,就可以将该指标选项加入字段配置区域904中。
步骤806,接收到的指标配置指令后,据以生成选定的指标选项的指标标识对应的字段配置信息。
具体地,用户可以在报表视图配置页面900中的字段配置区域904中,对各个选定的指标选项进行各种配置,触发相应的指标配置指令后,从而根据该指标配置指令生成与该选定的指标选项的指标标识对应的字段配置信息。
具体地,用户可以对选中的指标选项进行删除或者增加操作。用户可以选择报表视图中的一个或者多个字段是否显示。用户可以对选中的指标选项进行排序,这样在生成报表视图时会按照这种排序方式显示报表视图的各个字段及相应的字段值。用户可以增加字段类型为计算指标字段的指标选项,此时用户可以输入或者可以自动生成指标标识。优选地,计算指标字段和原始指标字段的指标标识的生成方式是不同的,这样可以防止两种字段类型的指标标识发生冲突。
对于计算指标字段类型的指标选项,用户需要输入计算方式,如图9中报表视图配置页面900中的字段配置区域904中的指标标识为CAL01的指标选项,若用户输入[10066]/[10065],表示在显示报表视图时,该字段下的字段值为指标标识为10066的字段下的字段值与指标标识为10065的字段下的字段值的商。用户还可以设定是否显示各个字段下的字段值的同比和/或环比。本期统计数据与上期比较,例如2005年7月份与2005年6月份相比较,叫环比。与历史同时期比较,例如2005年7月份与2004年7月份相比,叫同比。
用户还可以设定报表视图中各个字段的显示方式,比如显示为百分比,或者显示为相应的指标字段在相应的报表中的原格式。显示方式还可以包括小数位数、标题属性等。
步骤808,将生成的字段配置信息写入报表视图配置表。
具体地,当用户在报表视图配置页面900中的字段配置区域904完成字段配置生成字段配置信息后,将生成的字段配置信息写入报表视图配置表,每个字段配置信息可以其唯一的指标标识来区分。
本实施例中,用户可以根据需求灵活配置待显示的报表视图中的字段的字段配置信息,不需要开发人员介入便可以实现报表视图的自由配置,降低了报表视图的实现成本和维护成本。
如图10所示,在一个实施例中,步骤206具体包括以下步骤:
步骤1002,从指标池存储表获取与获取到的指标标识对应的指标配置信息,并获取日期段信息。
指标池存储表对应存储有指标标识和指标配置信息,指标池存储表中的一条指标记录可表示为如上述表一所示,这里不再赘述。日期段信息是用来确定指标数据的查询范围的信息,该日期段信息可以是预先存储的,也可以是用户在生成报表视图时即时输入的。
步骤1004,根据指标配置信息所包括的报表标识、指标字段、维度约束条件和日期段信息构造查询参数。
具体地,指标配置信息所包括的报表标识和指标字段可以定位报表中的某字段的字段值,维度约束条件和日期段信息则可以用来进一步筛选出需要的指标数据,利用这些信息来构造查询参数,该查询参数就可以用来查询所需的指标数据。
步骤1006,根据查询参数,采用与指标配置信息所包括的报表标识对应的查询方式,查询获得指标数据。
具体地,可以检测指标配置信息所包括的报表标识对应的查询方式,若是数据库查询方式,则可以利用事先配置的访问地址、端口号、数据库名、数据库用户名以及数据库用户密码等参数来访问数据库,从而根据构造的查询参数来从相应的数据库查询获得指标数据。若是CGI查询方式,则可以利用事先配置的CGI的URL等参数,通过CGI来访问相应的服务器来查询获得指标数据。
本实施例中,在生成报表视图时,可以兼容不同的查询方式来查询获得指标数据,可以适用于各种数据来源的报表的报表视图的生成,通用性强。
如图11所示,在一个具体的实施例中,该报表视图生成方法具体包括如下步骤:
步骤1101,分别展示各个报表的维度字段集合,在接收到对于展示的维度字段集合的维度字段选择指令后,据以从展示的维度字段集合中选定维度字段并设定相应的字段值。
步骤1102,根据选定的维度字段及相应的字段值构成维度约束条件,展示维度约束条件在所属报表中对应的指标字段集合。
步骤1103,在接收到对于展示的指标字段集合的指标字段选择指令后,据以从展示的指标字段集合中选择指标字段。
步骤1104,生成指标配置信息,生成的指标配置信息包括选择的指标字段、选择的指标字段所属报表的报表标识以及构成的维度约束条件。
步骤1105,为选择的指标字段分配指标标识,并将分配的指标标识与生成的指标配置信息对应写入指标池存储表。
步骤1106,根据指标池存储表展示指标选项列表,接收到指标选项选择指令后,据以从指标选项列表中选定指标选项。
步骤1107,接收到的指标配置指令后,据以生成选定的指标选项的指标标识对应的字段配置信息,并将生成的字段配置信息写入报表视图配置表。
步骤1108,接收到报表视图显示指令后,从报表视图配置表中获取待显示的报表视图的各个字段的字段配置信息。
步骤1109,遍历获取到的各个字段配置信息。
步骤1110,对于包括字段类型为原始指标字段的第一字段配置信息,获取该第一字段配置信息所包括的指标标识。
步骤1111,从指标池存储表获取与获取到的指标标识对应的指标配置信息,并根据该指标配置信息所包括的报表标识和指标字段来查询指标数据。
步骤1112,对于包括字段类型为计算指标字段的第二字段配置信息,获取该第二字段配置信息所包括的计算关联指标标识。
步骤1113,根据第二字段配置信息所包括的计算方式对计算关联指标标识所对应的指标数据进行计算,获得计算结果。
步骤1114,对查询到的指标数据按照相应的第一字段配置信息进行显示,对计算出的计算结果按照相应的第二字段配置信息进行显示,以生成报表视图。
如图12所示,在一个实施例中,提供了一种报表视图生成装置1200,具有实现上述各个实施例的报表视图生成方法的功能。该报表视图生成装置1200具体包括:视图数据获取模块1202、指标数据获取模块1204和报表视图显示模块1206。
视图数据获取模块1202,用于在接收到报表视图显示指令后,从报表视图配置表中获取待显示的报表视图的各个字段的字段配置信息;遍历获取到的各个字段配置信息,对于包括字段类型为原始指标字段的第一字段配置信息,获取该第一字段配置信息所包括的指标标识。
具体地,视图数据获取模块1202可用于提供报表视图显示触发控件,从而在检测到对该报表视图显示触发控件的操作时,触发报表视图显示指令。报表视图显示触发控件可以是一个按钮或者是菜单页中的一个选项,报表视图建立触发控件上可以显示“查看报表视图”的功能解释性文字。
报表视图配置表存储有各个字段的字段配置信息,每个字段是由若干按照某种界限划分的相同数据类型的数据项组成的集合的名称。数据库中的一个字段通常是指数据库中某一列的数据的名称,而待显示的报表视图的字段,则是指需要显示的报表视图中某列或者某行的名称,具体采用行还是列根据需要确定。
字段配置信息是事先配置的待显示的报表视图中各个字段的属性。在一个实施中,字段配置信息包括但不限于:字段类型、字段所属报表的类型、指标标识以及显示方式等。
其中字段类型是指报表视图中的该字段为原始指标字段或者计算指标字段,原始指标字段是指该字段所对应的指标数据直接来自相应的报表中,而计算指标字段则是指该字段所对应的指标数据通过报表视图中其它字段的指标数据计算而得到。指标数据是指报表中相应的指标字段下的字段值。
报表包括指标字段和维度字段两种字段,维度字段是用于将报表中的数据进行分类汇总的字段,比如软件运行所依赖的操作平台、软件名称、软件版本、网页名称、网页登录时间、登录状态等。指标字段则是用于对报表中的维度字段进行统计以衡量报表的数值特征的字段,比如PV、UV、人均PV、在指定时间段内的总登录数、在指定时间段内的访问量以及在指定时间段内的访问人数与登录数的比值等。这里的指定时间段比如可以是一天之内或者一周之内等。PV是指一个页面被访问的次数,UV则是指不同的、通过互联网访问、浏览特定网页的自然人。
字段所属报表的类型,是指当前需要显示的是报表视图还是普通报表。指标标识用以唯一标识出指标池存储表中的一个指标记录,一个指标记录对应一个报表中的一个指标字段,来自不同报表的指标字段可以相同,但它们各自对应的指标标识是不同的。显示方式比如是否按照所属报表中的原格式显示、指标数据显示时的小数位数、是否以百分比形式显示等。
视图数据获取模块1202还用于遍历报表视图中的每个字段的字段配置信息,对每个字段的字段配置信息分别进行处理。
指标数据获取模块1204,用于从指标池存储表获取与获取到的指标标识对应的指标配置信息,并根据该指标配置信息所包括的报表标识和指标字段来查询指标数据。
字段类型为原始指标字段,表示在显示报表视图时,在该字段下,直接从相应的报表中获取相应字段的指标数据进行显示,而不需要基于获取到的指标数据进行进一步的计算。指标池存储表对应存储有指标标识和指标配置信息,称为指标池存储表中的一条指标记录。在一个实施例中,指标池存储表中的一条指标记录可表示为如表一所示,这里不再赘述。
指标数据获取模块1204用于从指标池存储表获取到与获取到的指标标识对应的指标配置信息,该指标配置信息包括报表标识和指标字段,根据该报表标识可以确定报表数据的查询方式、查询访问参数以及查询配置信息,从而据之来获取报表数据;而根据该指标字段就可以定位到报表中具体的指标数据,实现指标数据的查询。
报表数据是指报表中的数据,报表数据的查询方式包括但不限于数据库查询方式或者CGI查询方式。若查询方式为数据库查询方式,则相应的查询访问参数包括但不限于数据库的访问地址、端口号、数据库名、数据库用户名以及数据库用户密码等。若查询方式为CGI查询方式,则相应的查询访问参数为CGI的URL。
若查询方式为数据库查询方式,则报表数据的查询配置信息包括但不限于查询语句、数据来源是数据表还是视图。若查询方式为CGI查询方式,则报表数据的查询配置信息可以是CGI请求参数。
报表视图显示模块1206,用于对查询到的指标数据按照相应的第一字段配置信息进行显示,以生成报表视图。
指标数据是指报表中指标字段下对应的数据,报表视图显示模块1206在查询到指标数据后,比如查询到指标字段为访问量下的指标数据后,可按照相应的第一字段配置信息渲染显示为报表视图中的一列,以此类推,将所有列渲染显示出来,就生成了报表视图。
在一个实施例中,报表视图显示模块1206可用于对查询到的指标数据按照相应的第一字段配置信息所包括的显示方式进行显示,以生成报表视图。比如显示方式可以包括是否按照所属报表中的原格式显示、指标数据显示时的小数位数、是否以百分比形式显示等。
上述报表视图生成装置1200,通过指标池存储表和报表视图配置表两张表实现生成报表视图,其中报表视图配置表存储有待显示的各个字段的字段配置信息;指标池存储表则存储有来自各个报表的指标字段的指标配置信息,并通过指标标识来区分各个报表的指标字段。生成报表视图时,遍历报表视图配置表中存储的各个字段的字段配置信息,获取其中第一字段配置信息所包括的指标标识,从而据之来从指标池存储表获取相应的指标配置信息,从而根据该指标配置信息查询到指标数据后进行显示,生成报表视图。
这样只要将需要显示在报表视图的指标字段的指标配置信息加入指标池存储表,就可以按照报表视图配置表来生成所需的报表视图。通过变更指标池存储表就可以变更报表视图所显示的指标字段,报表视图实现与维护成本都很低。
如图13所示,在一个实施例中,该报表视图生成装置1200还包括:指标池管理模块1201,用于分别展示各个报表的指标字段集合;在接收到对于展示的指标字段集合的指标字段选择指令后,据以从展示的指标字段集合中选择指标字段;生成指标配置信息,生成的指标配置信息包括选择的指标字段和选择的指标字段所属报表的报表标识;为选择的指标字段分配指标标识,并将分配的指标标识与生成的指标配置信息对应写入指标池存储表。
具体地,指标池管理模块1201可用于在各个报表的展示页面设置指标字段选择区域,从而当用户查看报表时,就可以在该指标字段选择区域中展示当前报表中的指标字段所构成的指标字段集合。
指标池管理模块1201可用于先将指标字段集合中所有的指标字段显示在未添加指标字段区域中,用户点击其中的某个指标状态表示该指标字段被选择,将该选择的指标字段从未添加指标字段区域移除或隐藏,并显示在已添加指标字段区域中。直到当用户点击确认按钮而触发确认指令后,将显示在已添加指标字段区域中的所有指标字段作为选择的指标字段。
指标配置信息包括报表标识和指标字段,根据该报表标识可以确定报表数据的查询方式、查询访问参数以及查询配置信息,从而据之来获取报表数据;而根据该指标字段就可以定位到报表中具体的指标数据,实现指标数据的查询。
指标池管理模块1201可用于自动为选择的指标字段分配指标标识,可以从某一初始值开始,比如从10000开始,每次递增1作为新的指标标识分配给一个选择的指标字段。指标标识是唯一的,来自不同报表的相同指标字段将分配不同的指标标识。
将选择的指标字段的指标标识与生成的指标配置信息对应写入指标池存储表。其中指标标识以及生成的指标配置信息中的每一项,可以分别作为指标池存储表中一条指标记录中各个字段下的一个字段值。具体指标池存储表的内容可以如上述表一所示。
本实施例中,用户可以分别对每个报表的指标字段集合进行选择操作,选择想要加入报表视图显示的指标字段,生成相应的指标配置信息后与自动分配的指标标识对应写入指标池存储表。这样就可以根据用户需求方便、快捷地生成用户所需的报表视图,提高了操作便利性。
在一个实施例中,指标池管理模块1201还用于分别展示各个报表的维度字段集合;在接收到对于展示的维度字段集合的维度字段选择指令后,据以从展示的维度字段集合中选定维度字段并设定相应的字段值;根据选定的维度字段及相应的字段值构成维度约束条件;展示维度约束条件在所属报表中对应的指标字段集合。生成的指标配置信息包括选择的指标字段、选择的指标字段所属报表的报表标识以及构成的维度约束条件;指标数据获取模块1204还用于从指标池存储表获取与获取到的指标标识对应的指标配置信息,并根据该指标配置信息所包括的报表标识、指标字段和维度约束条件来查询指标数据。
具体地,指标池管理模块1201可用于在各个报表的展示页面分别展示所属报表的维度字段集合。具体来说,当用户查看报表时,可以在当前报表的展示页面设置指标字段选择区域,从而在该指标字段选择区域中展示当前报表的维度字段集合中所有的或者指定的维度字段。
指标池管理模块1201可用于在展示的维度字段周围展示选择框,当用户点击该选择框时表示接收到对于展示的维度字段集合的维度字段选择指令,从而根据该维度字段选择指令将选中的选择框所对应的维度字段作为选定的维度字段。还可以在展示的维度字段周围显示选项列表,若选项列表中为空则表示该展示的维度字段不被选中。
设定与选定的维度字段对应的字段值,可以在展示的维度字段周围显示的选项列表中选择一个字段值选项以设定相应的字段值,或者也可以在维度字段周围显示输入框,获取在输入框中输入的字符作为设定的相应字段值。
每个维度字段都具有各自的分类汇总功能,选定的一个或多个维度字段以及相应的字段值将构成对报表数据的进一步约束,这里将选定的维度字段及相应的字段值构成的约束称为维度约束条件。
如图14所示,在一个实施例中,该报表视图生成装置1200还包括:计算模块1203。视图数据获取模块1202还用于对于包括字段类型为计算指标字段的第二字段配置信息,获取该第二字段配置信息所包括的计算关联指标标识。
具体地,视图数据获取模块1202用于遍历报表视图中的每个字段的字段配置信息,对每个字段的字段配置信息分别进行处理。若字段类型为原始指标字段,表示在显示报表视图时,在该字段下,直接从相应的报表中获取相应字段的指标数据进行显示,而不需要基于获取到的指标数据进行进一步的计算。而对于包括的字段类型为计算指标字段的第二字段配置信息,表示在显示报表视图时,在该字段下,需要依据报表中其它字段的指标数据进行进一步计算。这里第二字段配置信息所包括的计算关联指标标识,是指进行计算所依据的指标数据所对应的指标标识。
计算模块1203用于根据第二字段配置信息所包括的计算方式对计算关联指标标识所对应的指标数据进行计算,获得计算结果。这里的计算方式可以是一个或者多个计算关联指标标识所对应的指标数据之间的函数,这里的函数可以是根据实际需要确定的任意函数,如加和、作差、作商、求乘积等。
报表视图显示模块1206还用于对查询到的指标数据按照相应的第一字段配置信息进行显示,对计算出的计算结果按照相应的第二字段配置信息进行显示,以生成报表视图。这样报表视图中将同时显示原始指标字段的指标数据和计算指标字段的计算结果,方便用户进行各种数据分析。
在一个实施例中,视图数据获取模块1202还用于在获取到的各个字段配置信息中,将包括的字段类型为原始指标字段的第一字段配置信息排列在前,将包括的字段类型为计算指标字段的第二字段配置信息排列在后。本实施例中,考虑到计算指标字段在计算获得计算结果时需要依据原始指标字段,这里根据字段类型进行排序,可以保证在计算时可以直接获得计算所需的数据,提高生成报表视图的效率。
如图15所示,在一个实施例中,该报表视图生成装置1200还包括:报表视图配置模块1205,用于根据指标池存储表展示指标选项列表;接收到指标选项选择指令后,据以从指标选项列表中选定指标选项;接收到的指标配置指令后,据以生成选定的指标选项的指标标识对应的字段配置信息;将生成的字段配置信息写入报表视图配置表。
具体地,报表视图配置模块1205可用于提供报表视图建立触发控件,从而在检测到对该报表视图建立触发控件的操作时,触发报表视图建立指令。然后根据触发的报表视图建立指令,生成报表视图配置页面,在该报表视图配置页面中展示指标选项列表。
报表视图建立触发控件可以是一个按钮或者是菜单页中的一个选项,报表视图建立触发控件上可以显示“建立报表视图”的功能解释性文字。指标选项列表包括若干可选的指标选项,其中的一个指标选项对应指标池存储表中的一条指标记录,也对应一个指标标识。
报表视图配置模块1205可用于在接收到作用于报表视图配置页面的指标选项选择指令后,根据该指标选项选择指令从指标选项列表中选定指标选项。选定的指标选项对应一个唯一的指标标识。
在一个实施例中,可以将指标池存储表中的每条指标记录分别展示为一行数据,称为一个指标选项,并且在每一行设置相应的复选框,每行的数据包括但不限于报表标识、报表标识对应的报表名称、维度约束条件等。
用户可以对选中的指标选项进行删除或者增加操作。用户可以选择报表视图中的一个或者多个字段是否显示。用户可以对选中的指标选项进行排序,这样在生成报表视图时会按照这种排序方式显示报表视图的各个字段及相应的字段值。用户可以增加字段类型为计算指标字段的指标选项,此时用户可以输入或者可以自动生成指标标识。优选地,计算指标字段和原始指标字段的指标标识的生成方式是不同的,这样可以防止两种字段类型的指标标识发生冲突。
对于计算指标字段类型的指标选项,用户需要输入计算方式。用户还可以设定报表视图中各个字段的显示方式,比如显示为百分比,或者显示为相应的指标字段在相应的报表中的原格式。显示方式还可以包括小数位数、标题属性等。
本实施例中,用户可以根据需求灵活配置待显示的报表视图中的字段的字段配置信息,不需要开发人员介入便可以实现报表视图的自由配置,降低了报表视图的实现成本和维护成本。
在一个实施例中,指标数据获取模块1204还用于从指标池存储表获取与获取到的指标标识对应的指标配置信息,并获取日期段信息;根据指标配置信息所包括的报表标识、指标字段、维度约束条件和日期段信息构造查询参数;根据查询参数,采用与指标配置信息所包括的报表标识对应的查询方式,查询获得指标数据。
指标池存储表对应存储有指标标识和指标配置信息,指标池存储表中的一条指标记录可表示为如上述表一所示,这里不再赘述。日期段信息是用来确定指标数据的查询范围的信息,该日期段信息可以是预先存储的,也可以是用户在生成报表视图时即时输入的。
指标配置信息所包括的报表标识和指标字段可以定位报表中的某字段的字段值,维度约束条件和日期段信息则可以用来进一步筛选出需要的指标数据,利用这些信息来构造查询参数,该查询参数就可以用来查询所需的指标数据。
指标数据获取模块1204可用于检测指标配置信息所包括的报表标识对应的查询方式,若是数据库查询方式,则可以利用事先配置的访问地址、端口号、数据库名、数据库用户名以及数据库用户密码等参数来访问数据库,从而根据构造的查询参数来从相应的数据库查询获得指标数据。若是CGI查询方式,则可以利用事先配置的CGI的URL等参数,通过CGI来访问相应的服务器来查询获得指标数据。
本实施例中,在生成报表视图时,可以兼容不同的查询方式来查询获得指标数据,可以适用于各种数据来源的报表的报表视图的生成,通用性强。
参照图16,下面用一个具体的实施例来说明上述报表视图生成装置1200的各个模块的工作原理。其中,指标池管理模块1201用于分别展示各个报表的维度字段集合,在接收到对于展示的维度字段集合的维度字段选择指令后,据以从展示的维度字段集合中选定维度字段并设定相应的字段值;根据选定的维度字段及相应的字段值构成维度约束条件,展示维度约束条件在所属报表中对应的指标字段集合。
指标池管理模块1201还用于在接收到对于展示的指标字段集合的指标字段选择指令后,据以从展示的指标字段集合中选择指标字段;生成指标配置信息,生成的指标配置信息包括选择的指标字段、选择的指标字段所属报表的报表标识以及构成的维度约束条件;为选择的指标字段分配指标标识,并将分配的指标标识与生成的指标配置信息对应写入指标池存储表。
报表视图配置模块1205用于根据指标池存储表展示指标选项列表,接收到指标选项选择指令后,据以从指标选项列表中选定指标选项;接收到的指标配置指令后,据以生成选定的指标选项的指标标识对应的字段配置信息,并将生成的字段配置信息写入报表视图配置表。
视图数据获取模块1202用于接收到报表视图显示指令后,从报表视图配置表中获取待显示的报表视图的各个字段的字段配置信息;遍历获取到的各个字段配置信息;对于包括字段类型为原始指标字段的第一字段配置信息,获取该第一字段配置信息所包括的指标标识;对于包括字段类型为计算指标字段的第二字段配置信息,获取该第二字段配置信息所包括的计算关联指标标识。
指标数据获取模块1204用于从指标池存储表获取与获取到的指标标识对应的指标配置信息,并根据该指标配置信息所包括的报表标识和指标字段来查询指标数据。
计算模块1203用于根据第二字段配置信息所包括的计算方式对计算关联指标标识所对应的指标数据进行计算,获得计算结果。
报表视图显示模块1206用于对查询到的指标数据按照相应的第一字段配置信息进行显示,对计算出的计算结果按照相应的第二字段配置信息进行显示,以生成报表视图。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘或只读存储记忆体(Read-Only Memory,ROM)等非易失性存储介质,或可为随机存储记忆体(Random Access Memory,RAM)等。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。