CN107977459B - 报表生成方法及装置 - Google Patents

报表生成方法及装置 Download PDF

Info

Publication number
CN107977459B
CN107977459B CN201711375948.5A CN201711375948A CN107977459B CN 107977459 B CN107977459 B CN 107977459B CN 201711375948 A CN201711375948 A CN 201711375948A CN 107977459 B CN107977459 B CN 107977459B
Authority
CN
China
Prior art keywords
query
query task
report
target
state
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN201711375948.5A
Other languages
English (en)
Other versions
CN107977459A (zh
Inventor
梁福坤
刘海宇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Xingxuan Technology Co Ltd
Original Assignee
Beijing Xingxuan Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Xingxuan Technology Co Ltd filed Critical Beijing Xingxuan Technology Co Ltd
Priority to CN201711375948.5A priority Critical patent/CN107977459B/zh
Publication of CN107977459A publication Critical patent/CN107977459A/zh
Application granted granted Critical
Publication of CN107977459B publication Critical patent/CN107977459B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/248Presentation of query results
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • G06F40/186Templates

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • General Health & Medical Sciences (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明实施方式提供了报表生成方法及装置,涉及计算机应用技术领域。其中,所述报表生成方法包括:从模板文件中解析出与目标报表对应的查询媒介,其中,所述查询媒介包括:查询语句或者查询任务标识符;基于所述查询媒介查询报表数据;根据所述报表数据和指定的报表样式及报表属性生成所述目标报表。本发明所提供的方法分别利用查询语句和查询任务标识符来良好地支持个性化指标的查询需求和通用化指标的查询需求,从而实现了个性化指标查询与通用化指标查询的融合,提高了报表生成方案的兼容性。

Description

报表生成方法及装置
技术领域
本发明涉及计算机应用技术领域,更为具体而言,涉及报表生成方法及装置。
背景技术
报表是指向上级报告情况的表格。简单的说,报表就是用表格、图表等格式来动态显示数据,可以用公式表示为:“报表=多样的格式+动态的数据”。其中,报表数据由维度和指标组成,维度是指可指定不同值的对象的描述性属性或特征,例如,城市、日期等,指标是指可以按总数或比值衡量的具体维度元素,例如,订单量、骑士数等。在数据可视化这样一个领域中,有时会存在既需要展示通用化指标(例如,新用户数等),又需要展示个性化指标(例如,截止到20171030的月累计新用户数)的场景。
然而,现有的报表生成方案存在着兼容性低的问题,无法良好地兼顾个性化指标展示需求和通用化指标展示需求,由此降低了用户的体验度。
发明内容
在现有的解决方案中,报表***仅能良好地满足一种展示需求(个性化指标展示需求或者通用化指标展示需求),报表***之间相互独立,不能完全融合,因此,现有的报表生成方案存在着兼容性低的问题,无法良好地兼顾个性化指标展示需求和通用化指标展示需求,由此降低了用户的体验度。
对此,本发明实施方式提供了报表生成方法及装置,用以解决现有技术中所存在的上述技术问题。
第一方面,本发明实施方式提供了一种报表生成方法。
具体地,所述方法包括:
从模板文件中解析出与目标报表对应的查询媒介,其中,所述查询媒介包括:查询语句或者查询任务标识符;
基于所述查询媒介查询报表数据;
根据所述报表数据和指定的报表样式及报表属性生成所述目标报表。
在本实施方式中,分别利用查询语句和查询任务标识符来良好地支持个性化指标的查询需求和通用化指标的查询需求,从而实现了个性化指标查询与通用化指标查询的融合,提高了报表生成方案的兼容性。
结合第一方面,在本发明的一些实施方式中,在所述查询媒介包括查询任务标识符的情形下,基于所述查询媒介查询报表数据包括:
根据所述查询任务标识符从第一数据表中解析出查询任务的状态信息;
在所述状态信息指示查询任务的执行状态为第一状态的情形下,根据所述查询任务标识符从第二数据表中读取报表数据。
在本实施方式中,在从数据表中读取报表数据之前先判断查询任务的状态,因此,可以提高查询过程的健壮性。
结合第一方面,在本发明的一些实施方式中,所述方法还包括:
从所述第一数据表中识别出目标查询任务,其中,所述目标查询任务的执行状态为第二状态;
执行所述目标查询任务;
将所述目标查询任务的查询任务标识符和所查询出的报表数据写入所述第二数据表中;
响应于所述写入,将所述第一数据表中所述目标查询任务的状态信息修改为指示查询任务的执行状态为第一状态。
结合第一方面,在本发明的一些实施方式中,执行所述目标查询任务包括:
获取与所述目标查询任务对应的时间类型、查询维度和查询指标;
根据所述时间类型和当前时间确定查询时间;
基于所述查询时间、查询维度和查询指标执行所述目标查询任务。
在本实施方式中,增设了时间类型这一参数,由此可以更加便捷地实现动态更新查询时间。
结合第一方面,在本发明的一些实施方式中,所述方法还包括:
将所述第一数据表中被触发的查询任务的状态信息重置为指示查询任务的执行状态为第二状态。
由于当某查询任务完成后,会将该查询任务的状态更新为第一状态,因此在扫描第一数据表时不会扫描出该查询任务(在扫描第一数据表时只会扫描出第二状态的查询任务)。对此,在本实施方式中,将第一数据表中被触发的查询任务的状态信息重置为指示查询任务的执行状态为第二状态,以使得被触发的查询任务能够重新被扫描到,从而执行该查询任务,实现例行化。
第二方面,本发明实施方式提供了一种报表生成装置。
具体地,所述装置包括:
解析模块,用于从模板文件中解析出与目标报表对应的查询媒介,其中,所述查询媒介包括:查询语句或者查询任务标识符;
查询模块,用于基于所述查询媒介查询报表数据;
生成模块,用于根据所述报表数据和指定的报表样式及报表属性生成所述目标报表。
在本实施方式中,分别利用查询语句和查询任务标识符来良好地支持个性化指标的查询需求和通用化指标的查询需求,从而实现了个性化指标查询与通用化指标查询的融合,提高了报表生成方案的兼容性。
结合第二方面,在本发明的一些实施方式中,所述查询模块包括:
解析单元,用于根据所述查询任务标识符从第一数据表中解析出查询任务的状态信息;
读取单元,用于在所述状态信息指示查询任务的执行状态为第一状态的情形下,根据所述查询任务标识符从第二数据表中读取报表数据。
在本实施方式中,在从数据表中读取报表数据之前先判断查询任务的状态,因此,可以提高查询过程的健壮性。
结合第二方面,在本发明的一些实施方式中,所述装置还包括:
识别模块,用于从所述第一数据表中识别出目标查询任务,其中,所述目标查询任务的执行状态为第二状态;
执行模块,用于执行所述目标查询任务;
写入模块,用于将所述目标查询任务的查询任务标识符和所查询出的报表数据写入所述第二数据表中;
修改模块,用于响应于所述写入,将所述第一数据表中所述目标查询任务的状态信息修改为指示查询任务的执行状态为第一状态。
结合第二方面,在本发明的一些实施方式中,所述执行模块包括:
获取单元,用于获取与所述目标查询任务对应的时间类型、查询维度和查询指标;
确定单元,用于根据所述时间类型和当前时间确定查询时间;
执行单元,用于基于所述查询时间、查询维度和查询指标执行所述目标查询任务。
在本实施方式中,增设了时间类型这一参数,由此可以更加便捷地实现动态更新查询时间。
结合第二方面,在本发明的一些实施方式中,所述装置还包括:
重置模块,用于将所述第一数据表中被触发的查询任务的状态信息重置为指示查询任务的执行状态为第二状态。
由于当某查询任务完成后,会将该查询任务的状态更新为第一状态,因此在扫描第一数据表时不会扫描出该查询任务(在扫描第一数据表时只会扫描出第二状态的查询任务)。对此,在本实施方式中,利用重置模块将第一数据表中被触发的查询任务的状态信息重置为指示查询任务的执行状态为第二状态,以使得被触发的查询任务能够重新被扫描到,从而执行该查询任务,实现例行化。
本发明的这些方面或其他方面在以下具体实施方式的描述中会更加简明易懂。
附图说明
为了更清楚地说明本发明实施方式的技术方案,下面将对实施方式描述中所需要使用的附图作一简单的介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据本发明方法实施方式1的报表生成方法的流程图;
图2示出了图1所示的处理S2的一种实施方式;
图3示出了本发明方法实施方式3中与处理S2并发执行的处理过程;
图4示出了图3所示的处理S5的一种实施方式;
图5是根据本发明产品实施方式1的报表生成装置的结构示意图;
图6示出了图5所示的查询模块200的一种实施方式;
图7是根据本发明产品实施方式3的报表生成装置的结构示意图;
图8示出了图7所示的执行模块500的一种实施方式;
图9是根据本发明实施方式的一种终端设备的结构示意图。
具体实施方式
以下结合附图和具体实施方式对本发明的各个方面进行详细阐述。其中,在本发明的各个具体实施方式中,众所周知的操作过程、程序模块、单元及其相互之间的连接、链接、通信或操作没有示出或未作详细说明。
并且,所描述的特征、架构或功能可在一个或一个以上实施例中以任何方式组合。
此外,本领域技术人员应当理解,下述的各种实施方式只用于举例说明,而非用于限制本发明的保护范围。本领域的技术人员还可以容易理解,本文所述和附图所示的各实施方式中的程序模块、单元或步骤可以按多种不同配置进行组合和设计。
对于未在本说明书中进行具体说明的技术术语,除非另有特定说明,都应以本领域最宽泛的意思进行解释。
在本发明的说明书和权利要求书及上述附图中的描述的一些流程中,包含了按照特定顺序出现的多个操作,但是应该清楚了解,这些操作可以不按照其在本文中出现的顺序来执行或并行执行,操作的标号如S10、S11等,仅仅是用于区分开各个不同的操作,序号本身不代表任何的执行顺序。另外,这些流程可以包括更多或更少的操作,并且这些操作可以按顺序执行或并行执行。需要说明的是,本文中的“第一”、“第二”等描述,是用于区分不同的消息、设备、模块等,不代表先后顺序,也不限定“第一”和“第二”是不同的类型。
下面将结合附图,对本发明实施方式中的技术方案进行清楚、完整地描述,显然,所描述的实施方式仅仅是本发明的一部分实施方式,而不是全部的实施方式。基于本发明中的实施方式,本领域技术人员在没有付出创造性劳动的前提下所获得的所有其他实施方式,都属于本发明保护的范围。
【方法实施方式1】
图1是根据本发明方法实施方式1的报表生成方法的流程图。参见图1,在本实施方式中,所述方法包括:
S1:从模板文件中解析出与目标报表对应的查询媒介。
其中,所述查询媒介例如为查询语句或者查询任务标识符等。
S2:基于所述查询媒介查询报表数据。
S3:根据所述报表数据和指定的报表样式及报表属性生成所述目标报表。
在本实施方式中,分别利用查询语句和查询任务标识符来良好地支持个性化指标的查询需求和通用化指标的查询需求,从而实现了个性化指标查询与通用化指标查询的融合,提高了报表生成方案的兼容性。
【方法实施方式2】
本实施方式所提供的报表生成方法包括了方法实施方式1中的全部内容,在此不再赘述。参见图2,在所述查询媒介为查询任务标识符的情形下,通过下述处理实现处理S2,包括:
S21:根据所述查询任务标识符从第一数据表中解析出查询任务的状态信息。
S22:判断所述状态信息是否指示查询任务的执行状态为第一状态(例如,查询结果已保存至第二数据表中)。若是,则执行S23,若否,则等待n秒后返回执行S21。
S23:根据所述查询任务标识符从第二数据表中读取报表数据。
在本实施方式中,在从数据表中读取报表数据之前先判断查询任务的状态,因此,可以提高查询过程的健壮性。
【方法实施方式3】
本实施方式所提供的报表生成方法包括了方法实施方式2中的全部内容,在此不再赘述。参见图3,本实施方式所提供的方法还包括下述处理(与处理S2并发执行):
S4:从所述第一数据表中识别出目标查询任务,其中,所述目标查询任务的执行状态为第二状态(新建查询任务)。
S5:执行所述目标查询任务。
S6:将所述目标查询任务的查询任务标识符和所查询出的报表数据写入所述第二数据表中。
S7:响应于所述写入,将所述第一数据表中所述目标查询任务的状态信息修改为指示查询任务的执行状态为第一状态。
【方法实施方式4】
本实施方式所提供的报表生成方法包括了方法实施方式3中的全部内容,在此不再赘述。参见图4,在本实施方式中,通过下述处理实现处理S5,包括:
S51:获取与所述目标查询任务对应的时间类型、查询维度和查询指标。
所述时间类型例如为前一天、近3天、近5天等。
S52:根据所述时间类型和当前时间确定查询时间。
需要说明的是,在本实施方式中,所述查询时间为广义上的时间,例如,可以时间点也可以是时间区段。
S53:基于所述查询时间、查询维度和查询指标执行所述目标查询任务。
在本实施方式中,增设了时间类型这一参数,由此可以更加便捷地实现动态更新查询时间。
【方法实施方式5】
本实施方式所提供的报表生成方法包括了方法实施方式3或方法实施方式4中的全部内容,在此不再赘述。其中,本实施方式所提供的方法还包括以下处理:将所述第一数据表中被触发的查询任务的状态信息重置为指示查询任务的执行状态为第二状态。
由于当某查询任务完成后,会将该查询任务的状态更新为第一状态,因此在扫描第一数据表时不会扫描出该查询任务(在扫描第一数据表时只会扫描出第二状态的查询任务)。对此,在本实施方式中,将第一数据表中被触发的查询任务的状态信息重置为指示查询任务的执行状态为第二状态,以使得被触发的查询任务能够重新被扫描到,从而执行该查询任务,实现例行化。
【方法实施方式6】
下面结合具体示例对本实施方式所提供的报表生成方法进行具体描述。在本实施方式中,所述方法包括:
(1)获取模板文件。
在本实施方式中,一个模板文件配置多个表格(或图形,例如,折线图、柱状图、扇形图等),例如,一个模板文件包括若干个适于展示个性化指标的第一表格(或图形)以及若干个适于展示通用化指标的第二表格(或图形)。
下面以表格为例,分别给出模板文件中第一表格和第二表格的配置代码示例。
第一表格:
<table class=’tpl-container’>
<tr class=’tpl-header’>
<td style=”text-align:center;”>城市id</td>
<td style=”text-align:center;”>城市name</td>
</tr>
<table-rows-iterator source=”hive-x”db=”waimai”
sql=”select city_id,city_name from aoi_city limit 20”>
<tr class=”tpl-body”>
<td>@@city_id@@</td>
<td>@@city_name@@</td>
</tr>
<table-rows-iterator>
</table>
第二表格:
<table class=”tpl-table renxing-table”>
<renxing renxing-id=”203267”></renxing>
</table>
当然,本领域的技术人员也可以不嵌套table标签,此外,本领域的技术人员也可以采用其他方式命名查询任务标识符以及查询任务标识符的载体标签。
(2)从模板文件中解析出与目标报表对应的查询媒介。
其中,查询媒介例如为查询语句(例如,sql(Structured Query Language,结构化查询语言)语句)或者查询任务标识符(例如,上面的renxing-id)。若解析出sql语句,则执行步骤(3),若解析出查询任务标识符,则执行步骤(6)。
(3)将sql语句提交到查询队列。
(4)接收查询结果并对查询结果进行解析以得到报表数据。
(5)根据报表数据和指定的报表样式及报表属性(格式信息,例如数据保留两位小数等)生成所述目标报表。
(6)根据所述查询任务标识符从配置表中解析出查询任务的状态信息。
其中,该配置表会提供一个status(状态)字段用于记录查询任务的状态信息。例如,对于新创建的查询任务而言,其status字段的值为0,对于查询成功的查询任务而言,其status字段的值为1,对于查询失败的查询任务而言,其status字段的值为2,对于正在查询中的查询任务而言,其status字段的值为3。
(7)判断所述状态信息是否指示查询任务的执行状态为第一状态(查询结果已存入结果表中)。若是,则执行步骤(8),若否,则等待n秒后返回执行步骤(6)。
其中,n可以设置为10以下的数字,例如2、3、5等。
(8)根据所述查询任务标识符从结果表中读取查询结果。
(9)对查询结果依次执行二进制还原处理、解码处理和解析处理以得到报表数据,然后跳转到步骤(5)。
本实施方式所提供的方法还包括以下处理(与步骤(6)至步骤(9)并发执行):
(10)定时扫描配置表,根据查询任务的状态信息识别出执行状态为第二状态(新创建)的查询任务(为方便描述,以下称为目标查询任务)。
(11)获取目标查询任务的时间类型、查询维度和查询指标。
在本实施方式中,可以在前端增设一个控件来供用户选择可能的时间类型,例如,前一天、近3天、近5天等。相应地,在配置表中保存查询任务时也一并保存查询任务的时间类型。以便于在后续例行查询的过程中,根据时间类型来动态更新查询时间。
当然,本发明的实施方式不限于此,本领域的技术人员也可以直接在模板文件中指定时间类型,以实现将查询任务(或者查询任务标识符)与时间类型进行绑定。
下面仍以表格为例,给出模板文件中第二表格的配置代码的另一示例。
<table class=”tpl-table renxing-table”>
<renxing renxing-id=”203267”time-type=”近一个月”></renxing>
</table>
(12)根据该时间类型和当前时间确定查询时间(例如可以是时间点,也可以是时间区间)。
例如,若时间类型为“前一天”,当前日期为20171031,则确定查询时间为:20171030,若时间类型为“近一个月”,当前日期为20171031,则确定查询时间为20171001-20171031。
(13)基于该查询时间、查询维度和查询指标执行所述目标查询任务。
(14)将所述目标查询任务的查询任务标识符和所查询出的报表数据写入所述结果表中。其中,为了节省空间,数据以二进制压缩的形式进行存储。
(15)响应于所述写入,将所述配置表中所述目标查询任务的状态信息修改为指示查询任务的执行状态为第一状态(查询结果已存入结果表中)。
此外,在本实施方式中,通过例行模块实现在合适的时机触发(时间触发或者依赖触发)指定的报表生成作业,以实现例行化。
然而,由上述内容可知,当某查询任务完成后,会将该查询任务的状态更新为第一状态(查询结果已存入结果表中),因此在后续扫描配置表时不会扫描出该查询任务(在扫描配置表时只会识别出第二状态的查询任务)。
对此,为了满足例行化,在本实施方式中,增加了一个刷新模块(即下文中的重置模块)来将配置表中被触发的查询任务的状态信息更新为指示查询任务的执行状态为第二状态,以使得被触发的查询任务能够重新被扫描到,从而执行该查询任务,实现例行化。
另外,在本实施方式中,支持可视化配置模板文件。即在模板文件之上做了一层可视化封装,通过可视化的配置自动生成模板文件。
【产品实施方式1】
图5是根据本发明产品实施方式1的报表生成装置的结构示意图。参见图5,在本实施方式中,报表生成装置10包括:解析模块100、查询模块200和生成模块300,具体地:
解析模块100用于从模板文件中解析出与目标报表对应的查询媒介。
其中,所述查询媒介例如为查询语句或者查询任务标识符等。
查询模块200用于基于解析模块100解析出的查询媒介查询报表数据。
生成模块300用于根据查询模块200查询出的报表数据和指定的报表样式及报表属性生成所述目标报表。
在本实施方式中,分别利用查询语句和查询任务标识符来良好地支持个性化指标的查询需求和通用化指标的查询需求,从而实现了个性化指标查询与通用化指标查询的融合,提高了报表生成方案的兼容性。
【产品实施方式2】
本实施方式所提供的报表生成装置包括产品实施方式1中的全部内容,在此不再赘述。如图6所示,在本实施方式中,查询模块200包括:解析单元210和读取单元220,具体地:
解析单元210用于根据所述查询任务标识符从第一数据表中解析出查询任务的状态信息。
读取单元220用于在解析单元210解析出的状态信息指示查询任务的执行状态为第一状态(例如,查询结果已保存至第二数据表中)的情形下,根据所述查询任务标识符从第二数据表中读取报表数据。
在本实施方式中,在从数据表中读取报表数据之前先判断查询任务的状态,因此,可以提高查询过程的健壮性。
【产品实施方式3】
本实施方式所提供的报表生成装置包括产品实施方式2中的全部内容,在此不再赘述。如图7所示,在本实施方式中,报表生成装置10还包括:识别模块400、执行模块500、写入模块600和修改模块700,具体地:
识别模块400用于从所述第一数据表中识别出目标查询任务。
其中,所述目标查询任务的执行状态为第二状态(新建查询任务)。
执行模块500用于执行识别模块400识别出的目标查询任务。
写入模块600用于将所述目标查询任务的查询任务标识符和经由执行模块500查询出的报表数据写入所述第二数据表中。
修改模块700用于响应于写入模块600的写入操作,将所述第一数据表中所述目标查询任务的状态信息修改为指示查询任务的执行状态为第一状态。
【产品实施方式4】
本实施方式所提供的报表生成装置包括产品实施方式3中的全部内容,在此不再赘述。如图8所示,在本实施方式中,执行模块500包括:获取单元510、确定单元520和执行单元530,具体地:
获取单元510用于获取与所述目标查询任务对应的时间类型、查询维度和查询指标。
所述时间类型例如为前一天、近3天、近5天等。
确定单元520用于根据获取单元510获取的时间类型和当前时间确定查询时间。
需要说明的是,在本实施方式中,所述查询时间为广义上的时间,例如,可以时间点也可以是时间区段。
执行单元530用于基于确定单元520确定的查询时间以及获取单元510获取的查询维度和查询指标执行所述目标查询任务。
在本实施方式中,增设了时间类型这一参数,由此可以更加便捷地实现动态更新查询时间。
【产品实施方式5】
本实施方式所提供的报表生成装置包括产品实施方式3或产品实施方式4中的全部内容,在此不再赘述。其中,在本实施方式中,报表生成装置10还包括重置模块,具体地,该重置模块用于将所述第一数据表中被触发的查询任务的状态信息重置为指示查询任务的执行状态为第二状态。
由于当某查询任务完成后,会将该查询任务的状态更新为第一状态,因此在扫描第一数据表时不会扫描出该查询任务(在扫描第一数据表时只会扫描出第二状态的查询任务)。对此,在本实施方式中,利用重置模块将第一数据表中被触发的查询任务的状态信息重置为指示查询任务的执行状态为第二状态,以使得被触发的查询任务能够重新被扫描到,从而执行该查询任务,实现例行化。
如图9所示,本发明的实施方式还提供了一种终端设备,包括存储器21和处理器22;其中,
存储器21用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被处理器22执行时能够实现如方法实施方式1至方法实施方式6中任意一项所述的方法。
在本实施方式中,分别利用查询语句和查询任务标识符来良好地支持个性化指标的查询需求和通用化指标的查询需求,从而实现了个性化指标查询与通用化指标查询的融合,提高了报表生成方案的兼容性。
此外,本发明的实施方式还提供一种计算机存储介质,所述计算机存储介质用于存储一条或多条计算机指令,其中,当所述一条或多条计算机指令被执行时能够实现如方法实施方式1至方法实施方式6中任意一项所述的方法。
在本实施方式中,分别利用查询语句和查询任务标识符来良好地支持个性化指标的查询需求和通用化指标的查询需求,从而实现了个性化指标查询与通用化指标查询的融合,提高了报表生成方案的兼容性。
本领域的技术人员可以清楚地了解到本发明可全部通过软件实现,也可借助软件结合硬件平台的方式来实现。基于这样的理解,本发明的技术方案对背景技术做出贡献的全部或者部分可以以软件产品的形式体现出来,所述计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,智能手机或者网络设备等)执行本发明各个实施方式或者实施方式的某些部分所述的方法。
本文中所使用的“软件”等词均指一般意义上的任意类型的计算机编码或者计算机可执行指令集,可以运行所述编码或者指令集来使计算机或其他处理器程序化以执行如上所述的本发明的技术方案的各个方面。此外,需要说明的是,根据实施方式的一个方面,在执行时实施本发明的技术方案的方法的一个或多个计算机程序不必须要在一台计算机或处理器上,而是可以分布于多个计算机或者处理器中的模块中,以执行本发明的技术方案的各个方面。
计算机可执行指令可以有许多形式,如程序模块,可以由一台或多台计算机或是其他设备执行。一般地,程序模块包括例程、程序、对象、组件以及数据结构等等,执行特定的任务或是实施特定的抽象数据类型。特别地,在各种实施方式中,程序模块进行的操作可以根据各个不同实施方式的需要进行结合或者拆分。
并且,本发明的技术方案可以体现为一种方法,并且已经提供了所述方法的至少一个示例。可以通过任何一种合适的顺序执行动作,所述动作表现为所述方法中的一部分。因此,实施方式可以构造成可以按照与所示出的执行顺序不同的顺序执行动作,其中,可以包括同时地执行一些动作(尽管在示出的实施方式中,这些动作是连续的)。
本文所给出的和使用的定义,应当对照字典、通过引用而并入的文档中的定义、和/或其通常意思进行理解。
在权利要求书中以及上述的说明书中,所有的过度短语,例如“包括”、“具有”、“包含”、“承载”、“具有”、“涉及”、“主要由…组成”以及类似词语是应理解为是开放式的,即,包含但不限于。
本发明说明书中使用的术语和措辞仅仅为了举例说明,并不意味构成限定。本领域技术人员应当理解,在不脱离所公开的实施方式的基本原理的前提下,对上述实施方式中的各细节可进行各种变化。因此,本发明的范围只由权利要求确定,在权利要求中,除非另有说明,所有的术语应按最宽泛合理的意思进行理解。
以上具体描述了本发明的各种不同的实施方式,下面以另一种形式描述本发明各实施方式的技术方案的各个方面或特征,并且其不限于下述一系列段落,为了清楚起见,可给这些段落中的一些或所有段落指定字母数字。这些段落中的每一段可以以任何合适的方式与一个或多个其他段落的内容组合。在不限定合适的组合中的一些的实例的条件下,下文中的一些段落特别引用其他段落并且进一步限定其他段落。
A1、一种报表生成方法,所述方法包括:
从模板文件中解析出与目标报表对应的查询媒介,其中,所述查询媒介包括:查询语句或者查询任务标识符;
基于所述查询媒介查询报表数据;
根据所述报表数据和指定的报表样式及报表属性生成所述目标报表。
A2、如A 1所述的方法中,在所述查询媒介包括查询任务标识符的情形下,基于所述查询媒介查询报表数据包括:
根据所述查询任务标识符从第一数据表中解析出查询任务的状态信息;
在所述状态信息指示查询任务的执行状态为第一状态的情形下,根据所述查询任务标识符从第二数据表中读取报表数据。
A3、如A2所述的方法中,所述方法还包括:
从所述第一数据表中识别出目标查询任务,其中,所述目标查询任务的执行状态为第二状态;
执行所述目标查询任务;
将所述目标查询任务的查询任务标识符和所查询出的报表数据写入所述第二数据表中;
响应于所述写入,将所述第一数据表中所述目标查询任务的状态信息修改为指示查询任务的执行状态为第一状态。
A4、如A3所述的方法中,执行所述目标查询任务包括:
获取与所述目标查询任务对应的时间类型、查询维度和查询指标;
根据所述时间类型和当前时间确定查询时间;
基于所述查询时间、查询维度和查询指标执行所述目标查询任务。
A5、如A3或A4所述的方法中,所述方法还包括:
将所述第一数据表中被触发的查询任务的状态信息重置为指示查询任务的执行状态为第二状态。
B6、一种报表生成装置,所述装置包括:
解析模块,用于从模板文件中解析出与目标报表对应的查询媒介,其中,所述查询媒介包括:查询语句或者查询任务标识符;
查询模块,用于基于所述查询媒介查询报表数据;
生成模块,用于根据所述报表数据和指定的报表样式及报表属性生成所述目标报表。
B7、如B6所述的装置中,所述查询模块包括:
解析单元,用于根据所述查询任务标识符从第一数据表中解析出查询任务的状态信息;
读取单元,用于在所述状态信息指示查询任务的执行状态为第一状态的情形下,根据所述查询任务标识符从第二数据表中读取报表数据。
B8、如B7所述的装置中,所述装置还包括:
识别模块,用于从所述第一数据表中识别出目标查询任务,其中,所述目标查询任务的执行状态为第二状态;
执行模块,用于执行所述目标查询任务;
写入模块,用于将所述目标查询任务的查询任务标识符和所查询出的报表数据写入所述第二数据表中;
修改模块,用于响应于所述写入,将所述第一数据表中所述目标查询任务的状态信息修改为指示查询任务的执行状态为第一状态。
B9、如B8所述的装置中,所述执行模块包括:
获取单元,用于获取与所述目标查询任务对应的时间类型、查询维度和查询指标;
确定单元,用于根据所述时间类型和当前时间确定查询时间;
执行单元,用于基于所述查询时间、查询维度和查询指标执行所述目标查询任务。
B10、如B8或B9所述的装置中,所述装置还包括:
重置模块,用于将所述第一数据表中被触发的查询任务的状态信息重置为指示查询任务的执行状态为第二状态。
C11、一种终端设备,包括存储器和处理器;其中,
所述存储器用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器执行时能够实现如A1至A5中任一项所述的方法。
D12、一种计算机存储介质,用于存储一条或多条计算机指令,其中,当所述一条或多条计算机指令被执行时能够实现如A1至A5中任一项所述的方法。

Claims (12)

1.一种报表生成方法,其特征在于,所述方法包括:
获取模板文件;所述模板文件包括若干个展示个性化指标的第一表格或第一图形、以及若干个展示通用化指标的第二表格或第二图形;
从模板文件中解析出与目标报表对应的查询媒介,其中,所述查询媒介包括:指示所述个性化指标的查询语句和指示所述通用化指标的查询任务标识符;
基于所述查询媒介查询报表数据;
根据所述报表数据和指定的报表样式及报表属性生成所述目标报表;
其中,基于所述查询媒介查询报表数据包括:
在所述查询媒介包括查询任务标识符的情形下,根据所述查询任务标识符从第一数据表中解析出查询任务的状态信息;
在所述查询媒介包括查询语句的情形下,将所述查询语句提交到查询队列。
2.如权利要求1所述的方法,其特征在于,在所述查询媒介包括查询任务标识符的情形下,基于所述查询媒介查询报表数据还包括:
在所述状态信息指示查询任务的执行状态为第一状态的情形下,根据所述查询任务标识符从第二数据表中读取报表数据。
3.如权利要求2所述的方法,其特征在于,所述方法还包括:
从所述第一数据表中识别出目标查询任务,其中,所述目标查询任务的执行状态为第二状态;
执行所述目标查询任务;
将所述目标查询任务的查询任务标识符和所查询出的报表数据写入所述第二数据表中;
响应于所述写入,将所述第一数据表中所述目标查询任务的状态信息修改为指示查询任务的执行状态为第一状态。
4.如权利要求3所述的方法,其特征在于,执行所述目标查询任务包括:
获取与所述目标查询任务对应的时间类型、查询维度和查询指标;
根据所述时间类型和当前时间确定查询时间;
基于所述查询时间、查询维度和查询指标执行所述目标查询任务。
5.如权利要求3或4所述的方法,其特征在于,所述方法还包括:
将所述第一数据表中被触发的查询任务的状态信息重置为指示查询任务的执行状态为第二状态。
6.一种报表生成装置,其特征在于,所述装置包括:
获取模块,用于获取模板文件;所述模板文件包括若干个展示个性化指标的第一表格或第一图形、以及若干个展示通用化指标的第二表格或第二图形;
解析模块,用于从模板文件中解析出与目标报表对应的查询媒介,其中,所述查询媒介包括:指示所述个性化指标的查询语句和指示所述通用化指标的查询任务标识符;
查询模块,用于基于所述查询媒介查询报表数据;
生成模块,用于根据所述报表数据和指定的报表样式及报表属性生成所述目标报表;
其中,所述查询模块包括:
第一解析单元,用于在所述查询媒介包括查询任务标识符的情形下,根据所述查询任务标识符从第一数据表中解析出查询任务的状态信息;
第二解析单元,用于在所述查询媒介包括查询语句的情形下,将所述查询语句提交到查询队列。
7.如权利要求6所述的装置,其特征在于,所述查询模块还包括:
读取单元,用于在所述状态信息指示查询任务的执行状态为第一状态的情形下,根据所述查询任务标识符从第二数据表中读取报表数据。
8.如权利要求7所述的装置,其特征在于,所述装置还包括:
识别模块,用于从所述第一数据表中识别出目标查询任务,其中,所述目标查询任务的执行状态为第二状态;
执行模块,用于执行所述目标查询任务;
写入模块,用于将所述目标查询任务的查询任务标识符和所查询出的报表数据写入所述第二数据表中;
修改模块,用于响应于所述写入,将所述第一数据表中所述目标查询任务的状态信息修改为指示查询任务的执行状态为第一状态。
9.如权利要求8所述的装置,其特征在于,所述执行模块包括:
获取单元,用于获取与所述目标查询任务对应的时间类型、查询维度和查询指标;
确定单元,用于根据所述时间类型和当前时间确定查询时间;
执行单元,用于基于所述查询时间、查询维度和查询指标执行所述目标查询任务。
10.如权利要求8或9所述的装置,其特征在于,所述装置还包括:
重置模块,用于将所述第一数据表中被触发的查询任务的状态信息重置为指示查询任务的执行状态为第二状态。
11.一种终端设备,包括存储器和处理器;其中,
所述存储器用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器执行时能够实现如权利要求1至5中任一项所述的方法。
12.一种计算机存储介质,用于存储一条或多条计算机指令,其中,当所述一条或多条计算机指令被执行时能够实现如权利要求1至5中任一项所述的方法。
CN201711375948.5A 2017-12-19 2017-12-19 报表生成方法及装置 Expired - Fee Related CN107977459B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711375948.5A CN107977459B (zh) 2017-12-19 2017-12-19 报表生成方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711375948.5A CN107977459B (zh) 2017-12-19 2017-12-19 报表生成方法及装置

Publications (2)

Publication Number Publication Date
CN107977459A CN107977459A (zh) 2018-05-01
CN107977459B true CN107977459B (zh) 2020-11-03

Family

ID=62007053

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711375948.5A Expired - Fee Related CN107977459B (zh) 2017-12-19 2017-12-19 报表生成方法及装置

Country Status (1)

Country Link
CN (1) CN107977459B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109597812B (zh) * 2018-11-27 2023-04-21 平安科技(深圳)有限公司 会议室批量上线方法、装置、计算机设备及存储介质
CN110222321A (zh) * 2019-04-16 2019-09-10 中国平安人寿保险股份有限公司 报表生成方法、装置、计算机装置及计算机可读存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103020158A (zh) * 2012-11-26 2013-04-03 中兴通讯股份有限公司 一种报表创建方法、装置和***
CN103902646A (zh) * 2013-12-27 2014-07-02 北京天融信软件有限公司 一种分布式任务管理***与方法
CN107092625A (zh) * 2016-12-28 2017-08-25 北京小度信息科技有限公司 数据配置方法、数据处理方法及装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040221233A1 (en) * 2003-04-29 2004-11-04 David Thielen Systems and methods for report design and generation

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103020158A (zh) * 2012-11-26 2013-04-03 中兴通讯股份有限公司 一种报表创建方法、装置和***
CN103902646A (zh) * 2013-12-27 2014-07-02 北京天融信软件有限公司 一种分布式任务管理***与方法
CN107092625A (zh) * 2016-12-28 2017-08-25 北京小度信息科技有限公司 数据配置方法、数据处理方法及装置

Also Published As

Publication number Publication date
CN107977459A (zh) 2018-05-01

Similar Documents

Publication Publication Date Title
US10726195B2 (en) Filtered stylesheets
CN111367976B (zh) 基于java反射机制的excel文件数据的导出方法及装置
US20070239742A1 (en) Determining data elements in heterogeneous schema definitions for possible mapping
CN112328224B (zh) 业务接口的对接方法、装置、存储介质以及电子设备
CN111126019B (zh) 基于模式定制的报表生成方法、装置和电子设备
US10489024B2 (en) UI rendering based on adaptive label text infrastructure
CN107515866B (zh) 一种数据操作方法、装置和***
CN113268500B (zh) 业务处理方法、装置及电子设备
CN111460011A (zh) 页面数据展示方法、装置、服务器及存储介质
CN110806866A (zh) 一种前端管理***的生成方法及装置
CN107977459B (zh) 报表生成方法及装置
CN113835692A (zh) 字典的数据处理方法、装置、电子设备及计算机存储介质
US10503823B2 (en) Method and apparatus providing contextual suggestion in planning spreadsheet
CN114003818A (zh) 页面推荐方法、装置、服务器及存储介质
CN112650492A (zh) 一种Web页面的渲染方法、***及相关装置
CN109240660B (zh) 一种广告数据的接入方法、存储介质、电子设备及***
CN114968917A (zh) 一种文件数据快速导入方法及装置
CN113742529A (zh) 一种多笔表格前端处理方法及装置
CN114760365B (zh) 一种数据提取方法、装置及电子设备
CN112883082B (zh) 一种查询动态列的实现方法、装置及设备
CN114780896B (zh) 网页内容生成方法、装置及计算机可读存储介质
CN111708592B (zh) 一种节目组件显示方法及装置
CN111126015B (zh) 一种报表编制方法、设备
CN114218442A (zh) 一种数据处理方法、***、电子设备及可读存储介质
CN116466920A (zh) 应用服务软件架构生成方法和装置,存储介质和电子设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information

Address after: 100085 Beijing, Haidian District on the road to the information on the ground floor of the 1 to the 3 floor of the 2 floor, room 11, 202

Applicant after: Beijing Xingxuan Technology Co.,Ltd.

Address before: 100085 Beijing, Haidian District on the road to the information on the ground floor of the 1 to the 3 floor of the 2 floor, room 11, 202

Applicant before: Beijing Xiaodu Information Technology Co.,Ltd.

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20201103