CN112966482A - 一种报表生成方法、装置及设备 - Google Patents
一种报表生成方法、装置及设备 Download PDFInfo
- Publication number
- CN112966482A CN112966482A CN202110183542.7A CN202110183542A CN112966482A CN 112966482 A CN112966482 A CN 112966482A CN 202110183542 A CN202110183542 A CN 202110183542A CN 112966482 A CN112966482 A CN 112966482A
- Authority
- CN
- China
- Prior art keywords
- report
- template
- operator
- user
- target
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/166—Editing, e.g. inserting or deleting
- G06F40/177—Editing, e.g. inserting or deleting of tables; using ruled lines
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/242—Query formulation
- G06F16/2428—Query predicate definition using graphical user interfaces, including menus and forms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/166—Editing, e.g. inserting or deleting
- G06F40/186—Templates
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Artificial Intelligence (AREA)
- Mathematical Physics (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Human Computer Interaction (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
本说明书实施例提供一种报表生成方法、装置及设备。所述方法包括:将至少两种报表模板展示给用户;所述报表模板中包含有至少一个报表项目;所述报表项目用于描述不同类型的报表信息;在接收到用户输入的模板选取指令的情况下,将对应于目标报表模板的运算符推送给用户;所述模板选取指令用于选取所述目标报表模板;在接收到用户输入的运算符选取指令的情况下,利用选定运算符构建对应于所述目标报表模板的报表运算公式;所述运算符选取指令用于选取所述选定运算符;基于获取到的报表数据,根据所述目标报表模板和报表运算公式生成报表。上述方法能够满足业务场景和用户的不同需求,适应了数据复杂多变的环境,提高了业务处理质量和用户使用体验。
Description
技术领域
本说明书实施例涉及大数据技术领域,特别涉及一种报表生成方法、装置及设备。
背景技术
报表是一种用于记录和处理各项业务数据的表格,在不同领域中都能够得到相应的运用。通过报表对不同的业务数据或金融数据进行有序的整理和运算,使得能够利用报表对业务整体情况以及业务细节得到直观的掌握,从而对业务人员的工作提供相应的帮助。
目前在制定及生成报表时,往往预先确定报表的样式,以及报表中不同字段的关联关系,在获取到业务数据之后,再根据报表的格式将业务数据导入报表而生成最终所需要的报表。
但是,随着数据量的增长以及业务复杂度的提高,报表中的项目数量在不断增长。基于上述方法,为了满足业务需求,往往需要制定多种不同样式的报表,这样一来显著增加制定报表所消耗的时间和精力。而在业务规模和业务数据扩展到较大程度后,显然也无法通过逐一制定报表来满足用户对于报表的不同需求。因此,目前亟需一种能够基于用户需求方便快捷地生成相应报表的方法。
发明内容
本说明书实施例的目的是提供一种报表生成方法、装置及设备,以解决如何基于用户需求方便快捷地生成相应报表的问题。
为解决上述技术问题,本说明书实施例提供一种报表生成方法,包括:将至少两种报表模板展示给用户;所述报表模板中包含有至少一个报表项目;所述报表项目用于描述不同类型的报表信息;在接收到用户输入的模板选取指令的情况下,将对应于目标报表模板的运算符推送给用户;所述模板选取指令用于选取所述目标报表模板;在接收到用户输入的运算符选取指令的情况下,利用选定运算符构建对应于所述目标报表模板的报表运算公式;所述运算符选取指令用于选取所述选定运算符;所述报表运算公式用于基于所述目标报表模板的报表项目进行计算;基于获取到的报表数据,根据所述目标报表模板和报表运算公式生成报表。
本说明书实施例还提出一种报表生成装置,包括:报表模板展示模块,用于将至少两种报表模板展示给用户;所述报表模板中包含有至少一个报表项目;所述报表项目用于描述不同类型的报表信息;运算符推送模块,用于在接收到用户输入的模板选取指令的情况下,将对应于目标报表模板的运算符推送给用户;所述模板选取指令用于选取所述目标报表模板;报表运算公式构建模块,用于在接收到用户输入的运算符选取指令的情况下,利用选定运算符构建对应于所述目标报表模板的报表运算公式;所述运算符选取指令用于选取所述选定运算符;所述报表运算公式用于基于所述目标报表模板的报表项目进行计算;报表生成模块,用于基于获取到的报表数据,根据所述目标报表模板和报表运算公式生成报表。
本说明书实施例还提出一种报表生成设备,包括存储器和处理器;所述存储器,用于存储计算机程序指令;所述处理器,用于执行所述计算机程序指令以实现以下步骤:将至少两种报表模板展示给用户;所述报表模板中包含有至少一个报表项目;所述报表项目用于描述不同类型的报表信息;在接收到用户输入的模板选取指令的情况下,将对应于目标报表模板的运算符推送给用户;所述模板选取指令用于选取所述目标报表模板;在接收到用户输入的运算符选取指令的情况下,利用选定运算符构建对应于所述目标报表模板的报表运算公式;所述运算符选取指令用于选取所述选定运算符;所述报表运算公式用于基于所述目标报表模板的报表项目进行计算;基于获取到的报表数据,根据所述目标报表模板和报表运算公式生成报表。
由以上本说明书实施例提供的技术方案可见,本说明书实施例通过将不同的报表模板展示给用户,使得用户能够选取相应的模板。再将对应的运算符推送给用户,使得用户能够自由选取所需要利用的运算符。在利用用户选取的运算符构建公式之后,能够基于获取到的数据,根据所述目标报表模板和报表运算公式对所输入的数据进行计算,从而获取最终需要填入报表内的数据,完成报表的生成。通过上述方法,能够直接基于自定义的方式,根据用户的需求,实现了报表的动态生成和利用,从而能够满足业务场景和用户的不同需求,适应了数据复杂多变的环境,提高了业务处理质量和用户使用体验。
附图说明
为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本说明书实施例一种报表生成方法的流程图;
图2为本说明书实施例一种报表模板的示意图;
图3为本说明书实施例一种报表模板的示意图;
图4为本说明书实施例一种报表模板的示意图;
图5为本说明书实施例一种子模板程序界面的示意图;
图6为本说明书实施例一种子模板的示意图;
图7为本说明书实施例一种报表项目选取的示意图;
图8为本说明书实施例一种报表生成页面的程序界面的示意图;
图9为本说明书实施例一种报表运算公式的示意图;
图10为本说明书实施例一种公式核验流程的示意图;
图11为本说明书实施例一种报表生成装置的模块图;
图12为本说明书实施例一种报表生成设备的结构图。
具体实施方式
下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本说明书保护的范围。
为了解决上述问题,介绍本说明书实施例一种报表生成方法。所述报表生成方法的执行主体为报表生成设备,所述报表生成设备包括但不限于服务器、工控机、PC机等。如图1所示,所述报表生成方法可以包括以下具体实施步骤。
S110:将至少两种报表模板展示给用户;所述报表模板中包含有至少一个报表项目;所述报表项目用于描述不同类型的报表信息。
报表模板可以是包含有相应的报表项目的模板。在用户需要制作报表时,可能会对报表中的项目提出不同的要求,而不同的报表模板可以对应于不同的类别,使得在推送不同的报表模板至用户后,用户能够选择所需要的报表模板。
报表项目用于描述不同类型的报表信息。在一些实施方式中,所述报表项目可以包括以下至少一种:报表编号、报表名称、报表类型、频度、金额类字段类型、简要说明、复核后上报、作用于自定义批量、币种。通过所述报表项目,可以对报表的具体内容进行细化描述,即细分用户的不同需求。
如图2所示,为新增报表模板的程序界面图,用于提供用户相应的报表模板的选项。其中报表编号为唯一识别报表的标识,不同的报表应具有不同的报表编号;报表名称一般为报表的中文名字;报表类型作用于报表表样,对于行信息和列信息确定的二维表而言,报表类型为固定报表;频度为报表的生成频率,有日报、旬报、半月报、月报、季报和年报;币种为可以作用于本报表的币种,每个币种对应唯一的币种编号,其中不仅包括人民币(币种编号001)、英镑(币种编号012)等原币币种,还包括外币折人民币(币种编号990)、外币折美元(币种编号992)等折币币种。其他信息可以基于实际应用的需求进行设置,在此不再赘述。
图3是用户选取编号为99的报表模板后所展示的业务状况表的程序界面示意图,图4为用户选取编号为05的报表模板后所展示的损益科目明细表的示意图,可以看出,不同报表模板能够展示出不同类型的信息。
S120:在接收到用户输入的模板选取指令的情况下,将对应于目标报表模板的运算符推送给用户;所述模板选取指令用于选取所述目标报表模板。
用户在查看各个报表模板后,可以输入相应的模板选取指令。所述模板选取指令即用于选取目标报表模板。所述目标报表模板即为用户选定的所需要的模板。
需要说明的是,所述模板选取指令虽然是用于选取模板,但在实际应用中,执行具体的选取操作时可以是直接在所展示的模板中进行选取,也可以是由用户自行输入模板的名称或编号来进行选取,对此不做限制。
在一些实施方式中,用户选取模板后,还可以将对应于所述目标报表模板的至少两个候选子模板推送给用户。所述候选子模板之间可以具有不同的报表项目,从而对报表模板的具体类型的细分。同一张报表只能有一个报表编号,即归属于一个报表模板。由于报表的行列信息可能会发生改变,对于一张报表而言可以通过不同的子模板来加以区分的。
下面结合附图5和图6,对子模板进行说明。如图5所示,为在99号报表模板下各子模板信息的程序界面图,图5中的“子模板日期”列代表99表的不同子模板生效时期,不同的子模板日期关联的是不同的子模板信息。
图6为99号表模板下2020年10月15日子模板的样式。在这个表样中,机构、币种、日期已通过电子表格软件的公式关联标识,后续在使用时可根据传入参数的不同动态展现不同的机构、币种和日期信息。在这个表样中,具有典型的行列信息,行信息表示的是报表的项目信息,每个项目均有唯一的标识,如“1010.现金”是第8行的项目名称,它的唯一标识是项目编码1010;列信息标识的是报表的字段属性信息,每个字段属性均有唯一的标识,如“期初余额借方”是C列的字段属性名称,它的唯一标识是字段属性编码SS。对于99表而言,项目编号逾3000个,为4位或6位的数字组合,如1010,103001等,此处不一一列举;字段属性编号有6个,相应的名称和编号如下表1所示。
列号 | 字段属性编号 | 字段属性名称 |
C | SS | 期初借方余额 |
D | SF | 期初贷方余额 |
E | FS | 本期借方发生额 |
F | FF | 本期贷方发生额 |
G | YS | 期末借方余额 |
H | YF | 期末贷方余额 |
表1
无论是获取数据还是数据核对时,都需要确定报表的各维度条件,包括报表日期、报表币种、报表机构、报表编号,以及在这些维度下的项目信息和字段属性信息。当报表子模板设计完毕后,上述各维度信息就确定了。用户可选择维度条件,打开相应维度下的报表,进行数据生成和核对。附图7是99表的各维度条件选择的程序界面图。用户可在“报表编制日期”下选择报表日期维度信息,在“报表使用币种”下选择报表币种维度信息,在“机构树”一栏选择报表机构维度信息,在“报表列表”下确定报表编号维度信息。在附图7中,报表日期为20201231(代表日期2020年12月31日,后续为描述方便,简写为8位日期),报表币种为本外币合计,报表机构为中国工商银行(总行),报表编号为99。确定各维度条件后,即可打开该条件组合下的报表,其中报表日期和子模板的关系是报表会读取报表日期前距离最近的一个子模板表样进行展现,如99表报表日期为20201231,从附图5中可以得知在此日期前距离最近的子模板日期为20201015。
附图8是以附图7的维度条件打开的99表报表生成页面的程序界面图。如果不考虑数据自动获取方式,在附图8的页面下,已经可以进行报表填报操作。用户填报报表后,可将数据保存至数据库表中,数据库表的表结构表2所示。在表2中,ORGAN_CODE、REPORTID、CURRTYPE、DATADATE分别代表报表机构、报表编号、报表币种、报表日期维度信息;ITEMCODE代表报表行信息,即项目编号;FIELD代表报表列信息,即字段属性编号;ORGAN_LEVEL1是数据库的分区字段;VALUE是在前述维度和行列关系下的报表数据。
Name | Type | Nullable | Comments |
ORGAN_CODE | VARchar2(11) | N | 报表机构编号 |
REPORTID | VARchar2(20) | N | 报表编号 |
CURRTYPE | VARchar2(3) | N | 报表币种编号 |
DATADATE | VARchar2(8) | N | 报表日期 |
ITEMCODE | VARchar2(10) | N | 项目编号 |
FIELD | VARchar2(10) | N | 字段属性编号 |
ORGAN_LEVEL1 | VARchar2(11) | N | 所述一级行编号 |
VALUE | NUMBER(26,6) | N | 数值 |
表2
在一些实施方式中,用户在制定报表时可能不需要利用报表进行自动取数,以及报表的自动生成,而只是为了获取相应的模板来进行填数。因此,在相应的处理过程中,当用户选取子模板之后,可以接收用户输入的报表数据,并将这些数据与报表模板进行结合,生成用户所需要的报表。
通过上述实施方式,满足了用户的不同需求,适应了报表生成的不同需求,提高了用户的使用体验。
运算符可以是用于执行相应的计算和数据处理操作的符号。在用户选取报表模板或选取子模板后,可以将对应于报表模板或子模板的运算符推送给用户,以使用户选取自身所需要的用于对报表中的数据进行计算的方式。
运算符与运算符之间可以组合,最终形成以[]运算符包围的一个整体运算符。例如,R(99)代表99表,B(0000000001)代表机构编码为0000000001的机构,M(001)代表人民币,T(20201231)代表2020年12月31日,I(1001:9999)代表从0001项目到9999项目的所有有效项目,F(FS,FF)代表本期借方发生额和本期贷方发生额,而[R(99),B(0000000001),M(001),T(20201231),I(0001:9999),F(FS,FF)]就代表符合上述维度条件的所有4位科目的本期借方发生额和本期贷方发生额对应的报表单元格数值。
在一些实施方式中,所述运算符可以包括关系运算符、计算运算符和反馈运算符中的至少一种;所述关系运算符用于描述报表项目之间的关系;所述计算运算符用于表示计算函数方式;所述反馈运算符用于限定所反馈的数据类型。
具体的,对于所述关系运算符的示例可以如下表3所示。
表3
对于所述计算运算符的示例可以如下表4所示。
运算符号列表 | 含义 |
+ | 左边的运算符与右边的运算符相加 |
- | 左边的运算符减去右边的运算符 |
* | 左边的运算符与右边的运算符相乘 |
/ | 左边的运算符除以右边的运算符 |
= | 左边的运算符等于右边的运算符 |
> | 左边的运算符大于右边的运算符 |
< | 左边的运算符小于右边的运算符 |
<> | 左边的运算符不等于右边的运算符 |
<= | 左边的运算符小于等于右边的运算符 |
>= | 左边的运算符大于等于右边的运算符 |
AND | 左边的运算符和右边的运算符 |
OR | 左边的运算符或右边的运算符 |
表4
对于所述反馈运算符的示例可以如下表5所示。
表5
在一些实施方式中,除上述运算符之外,公式引擎在计算的过程中还可能会用到一些符号的简写方式。如下表6所示。在这些实施方式中,对于报表取数和核数所需要的六要素(R、B、M、T、I、F)在公式中可以不写全,代表在其他要素条件下的所有情况,例如数据获取公式[R(01),T(20201231),F(SS)]=[R(02),T(20200131),F(YS)]中,[]包围的内容中并没有包含全六要素,其业务含义是01表,20201231日期下,所有机构、所有币种,所有项目的SS字段属性一一对应地等于02表,20200131日期下,相应机构,相应币种,相应项目的YS字段属性。
表6
上述运算符只是对报表生成过程中所需要使用的符号进行了一个概述,实际应用中对于所使用的运算符并不限于上述示例,在此不再赘述。
图9是用户选取运算符的一个具体的示例,用户可在“类别”下区分数据获取公式或数据核对公式:勾选“派生”选项,表示当前公式为数据获取公式。勾选“检查”或者“核对”选项,表示当前公式为数据核对公式,其中“检查”的严格程度要高于“核对”,如果类别为“检查”的数据核对公式没有通过,本发明会在页面中给出红字提示,并在附图7所示的报表列表的“公式检查结果”显示“未通过”,控制用户的下一步操作;如果类别为“核对”的数据核对公式没有通过,本发明会在页面中给出黑字提示,但不影响报表的“公式检查结果”。在“类别”下勾选了“检查”或“核对”后,可以同时勾选“派生”,代表当前公式既是数据获取公式,又是数据核对公式;本发明控制“检查”和“核对”的勾选是互斥的,即勾选了“检查”选项后,“核对”选项若勾选自动取消,反之亦然。
通过向用户推送相应的运算符,使得用户可以自由定义不同的报表项目之间的运算关系,而不必局限于固定模板中所定义的运算关系,从而提高了报表设计的灵活性,提高了用户的使用体验。
S130:在接收到用户输入的运算符选取指令的情况下,利用选定运算符构建对应于所述目标报表模板的报表运算公式;所述运算符选取指令用于选取所述选定运算符;所述报表运算公式用于基于所述目标报表模板的报表项目进行计算。
在用户输入运算符选取指令后,可以根据所述运算符选取指令选择相应的运算符,并根据所选取的运算符构建相应的报表运算公式。所述报表运算公式可以用于结合报表项目对应的数据进行计算。
具体的构建报表运算公式的方式可以是根据运算符之间的关系进行组建,也可以是基于用户所设置的顺序进行组建。实际应用中对于获取所述报表运算公式的过程可以基于相应的需求进行调整,在此不再赘述。
在一些实施方式中,在得到所述报表运算公式之后,还可以基于所述目标报表模板对所述报表运算公式进行核算,以检测报表运算公式能否正常用于报表的构建。
具体的,可以先对所述目标报表模板中的报表项目进行格式处理;所述格式处理包括大小写转换、单元格应用、简写要素还原处理中的至少一种,之后,可以补全所述报表项目所对应的信息,再检查报表运算公式所对应的报表项目是否存在异常。在报表运算公式所对应的报表项目不存在异常的情况下,利用所述报表运算公式对样本数据进行计算,从而在计算结果正常的情况下,反馈审核通过信息;所述审核通过信息用于表示所述报表运算公式核算正常。
基于图10所对应的对报表运算公式进行核验的具体执行过程,对上述操作过程进行进一步的说明。
1001为区分公式类别进行标记。用户在页面点击“公式运算”或“公式检查”时,调用的公式类别是不同,本发明予以不同的标记。为方便说明,这里“公式运算”的标记为1,“公式检查”的标记为2。
1002为取出数据公式列表。本发明从当前打开报表的子模板信息中读取公式信息。
1003为处理自定义引用。自定义引用是表5中的“{}”运算符。用户可通过参数功能设置自定义引用名称和对应的值。例如,用户实现定义一个自定义引用名称为hlce,对应的值为0.5。在公式[R(99),B(0000000001),M(001),T(20201231),I(1001),F(SS)]={hlce}中,本步骤先将这个公式转换为[R(99),B(0000000001),M(001),T(20201231),I(1001),F(SS)]=0.5。对于数据获取公式而言,这个公式代表99报表编号,0000000001机构,001币种,20201231日期下的报表1001项目,SS字段属性的单元格的值被赋予0.5。
1004为大小写处理转换。本发明的公式引擎支持用户在设计公式时大小写不敏感。在实际处理过程中,统一将用户的公式中的英文字母转换为大写后解析处理。
1005为单元格引用处理。单元格引用是表5中的“$”运算符。这个运算符是兼容电子表格软件的一个运算符。如公式中有$E$4运算符,引擎将取出当前打开报表的第4行E列的数值,并替换到公式中。
1006为四要素(R、B、M、T)处理。公式引擎提供给用户关于四要素的简写方式,见表6。本步骤将简写形式还原成原始状态,如公式中的R_,如果当前打开的报表编号为99,那么本步骤会还原成R(99)。
1007为取出公式中第一次匹配的I、F字符串。公式引擎支持用户不必在公式中将六要素(R、B、M、T、I、F)都列出,如果不列出,则取符合条件的全部元素。如[R(99),T(20201231)]这个公式运算符代表99报表编号、20201231日期下所有机构编号、所有币种的所有项目和字段属性。但如果在公式中出现多个“[]”运算符,部分运算符没有I、F元素,部分运算符有I、F元素。公式引擎约定取第一次匹配的I、F字符串。如公式[R(99),T(20201231),I(1001),F(SS)]=[R(99),T(20200131)],本步骤会取出“I(1001),F(SS)”保存,以备后面使用。这个公式作为获取数据公式,代表取出99报表编号,20200131日期下的所有机构编号、所有币种的1001项目、SS字段属性的单元格数值,填充至99报表编号,20201231日期下的相应机构编号、相应币种的1001项目、SS字段属性的单元格中。
1008为用分隔符区分公式左右两部分。分隔符是表4中运算符号的一部分:=、>、<、<>、>=、<=。对于数据获取公式而言,只有一种分隔符“=”;对于数据核对公式而言,有六种分隔符“=、>、<、<>、>=、<=”。如数据获取公式[R(99),T(20201231),I(1001),F(SS)]=[R(99),T(20200131)],在此步骤中,公式被分为两部分,左部分为[R(99),T(20201231),I(1001),F(SS)],右部分为[R(99),T(20200131)]。
1009为补全左右两部分的报表子模板信息。公式引擎在从数据库获取数据时,除了需要报表编号外,还需要报表子模板编号。假如子模板编号为9920201015,则这一步骤会将公式中R(99),替换为R(99:9920201015)。
1010为补全左右两部分报表的I、F信息。如果1007取出了公式中第一次匹配的I、F字符串,则这一步骤会将空缺的I、F要素用取出的字符串补全。
1011为补全左右两部分的I、F信息的取全信息。表6中列出了I(A)、F(A)分别代表所有项目编号和所有字段属性编号。在这一步骤将会被替换成具体的项目编号和字段属性编号。
1012为补全左右两部分的I、F信息的取反信息。表3中列出了取反运算符“~”,代表取除了列出元素的其他所有元素。如I(~1001,1002)代表除了1001、1002项目编号的其他所有项目编号。在这一步骤中将会把取反信息替换成具体的项目编号和字段属性编号。
1013为异常提示。在进行了上述步骤后,就得到了包含六要素且六要素均为具体编号的公式左右部分。公式引擎将对上述步骤处理结果进行检查,首先判断是否有非法信息,然后判断左右部分包含的元素个数是否相等。如果检查通过,则可进入后续步骤;如果检查不通过,则进入异常提示,通知用户检查相应公式,公式引擎工作流程结束。
1014、1015、1016为公式引擎的数据获取公式取数步骤。
1014为右部分解析结果进行数据库取数。根据解析结果,公式引擎会从表2所示表结构的数据库表中取出数据。
1015为左部分解析结果按单元格进行数据赋值。单元格就是确定了六要素的一个电子表格单元,公式引擎会将1014步骤取出的数据按单元格一一赋值给左部分,并保存至表2所示表结构的数据库表中。
1016为返回成功提示。当整个取数工作结束后,公式引擎向用户返回成功提示,告知用户取数成功。
1017、1018、1019为公式引擎的数据核对公式核数步骤。
1017为左右部分解析结果进行数据库取数。根据解析结果,公式引擎会从表2所示表结构的数据库表中取出数据。
1018为左部分单元格数值减去右部分单元格数值,保存至结果列表。公式引擎将用1017取出的数据,按照单元格通过左部分与右部分做差计算,得到结果集。对于“=”运算符,如果一个公式左部分与右部分的做差计算结果均为0,那么说明此数据核对公式成立,数据核对成功;反之,如果做差计算结果不为0,那么说明此数据核对公式不成立,报表数据有异常。
1019为返回成功提示和结果列表。当整个核数工作结束后,公示引擎向用户返回成功提示和核数结果。
需要说明的是,如果公式左右部分出现表5列出的函数,那么会在1014、1017中处理。
通过上述步骤,用户即可完成报表的数据获取和数据核对工作。
需要说明的是,在核验过程中,可能会出现运算符号具有不同定义的情况,例如,在数据获取公式时,“=”代表赋值,将“=”右边的数值一一对应地赋给“=”左边的数值。例如,在数据获取公式[R(01),B(0000000001),M(001),T(20201231),I(1001,1002),F(SS,SF)]=[R(02),B(0000000001),M(001),T(20201231),I(3001,3002),F(SF,SS)]中,表示如下含义:
(1)将02表,0000000001机构,001币种,20201231日期下的3001项目、SF字段属性单元格数值赋给01表,0000000001机构,001币种,20201231日期下的1001项目、SS字段属性单元格。
(2)将02表,0000000001机构,001币种,20201231日期下的3001项目、SS字段属性单元格数值赋给01表,0000000001机构,001币种,20201231日期下的1001项目、SF字段属性单元格。
(3)将02表,0000000001机构,001币种,20201231日期下的3002项目、SF字段属性单元格数值赋给01表,0000000001机构,001币种,20201231日期下的1002项目、SS字段属性单元格数值。
(4)将02表,0000000001机构,001币种,20201231日期下的3002项目、SS字段属性单元格数值赋给01表,0000000001机构,001币种,20201231日期下的1002项目、SF字段属性单元格。
而数据核对公式具有返回值,在这种公式中“=”代表判断,即判断“=”左边的数值是否等于“=”右边的数值,如果相等,则返回0,如果不相等,则返回“=”左边的数值减去“=”右边的数值的差值。例如[R(01),B(0000000001),M(001),T(20201231),I(1001),F(SS)]单元格数值为100,[R(02),B(0000000001),M(001),T(20201231),I(3001),F(SF)]单元格数值为200,数据核对公式[R(01),B(0000000001),M(001),T(20201231),I(1001),F(SS)]=[R(02),B(0000000001),M(001),T(20201231),I(3001),F(SF)]的返回值为-100。具体的判断方式和执行过程可以基于实际情况进行调整,对此不做限制。
S140:基于获取到的报表数据,根据所述目标报表模板和报表运算公式生成报表。
在得到目标报表模板和报表运算公式,一些实施方式中同时还对报表运算公式进行核验之后,可以根据所获取到的报表数据生成报表。所述报表数据可以是基于预设渠道直接获取到的数据,也可以是获取大量业务数据之后进行筛查分类所得到的报表数据。将这些报表数据填入目标报表模板中之后,利用报表运算公式进行相应的计算,即可生成相应的报表。
通过将不同的报表模板展示给用户,使得用户能够选取相应的模板。再将对应的运算符推送给用户,使得用户能够自由选取所需要利用的运算符。在利用用户选取的运算符构建公式之后,能够基于获取到的数据,根据所述目标报表模板和报表运算公式对所输入的数据进行计算,从而获取最终需要填入报表内的数据,完成报表的生成。通过上述方法,能够直接基于自定义的方式,根据用户的需求,实现了报表的动态生成和利用,从而能够满足业务场景和用户的不同需求,适应了数据复杂多变的环境,提高了业务处理质量和用户使用体验。
基于上述报表生成方法,介绍本说明书实施例一种报表生成装置。如图11所示,所述报表生成装置包括以下模块。
报表模板展示模块1110,用于将至少两种报表模板展示给用户;所述报表模板中包含有至少一个报表项目;所述报表项目用于描述不同类型的报表信息。
运算符推送模块1120,用于在接收到用户输入的模板选取指令的情况下,将对应于目标报表模板的运算符推送给用户;所述模板选取指令用于选取所述目标报表模板。
报表运算公式构建模块1130,用于在接收到用户输入的运算符选取指令的情况下,利用选定运算符构建对应于所述目标报表模板的报表运算公式;所述运算符选取指令用于选取所述选定运算符;所述报表运算公式用于基于所述目标报表模板的报表项目进行计算。
报表生成模块1140,用于基于获取到的报表数据,根据所述目标报表模板和报表运算公式生成报表。
基于上述报表生成方法,介绍本说明书实施例一种报表生成设备。如图12所示,所述报表生成设备可以包括存储器和处理器。
在本实施例中,所述存储器可以按任何适当的方式实现。例如,所述存储器可以为只读存储器、机械硬盘、固态硬盘、或U盘等。所述存储器可以用于存储计算机程序指令。
在本实施例中,所述处理器可以按任何适当的方式实现。例如,处理器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application SpecificIntegrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式等等。所述处理器可以执行所述计算机程序指令实现以下步骤:将至少两种报表模板展示给用户;所述报表模板中包含有至少一个报表项目;所述报表项目用于描述不同类型的报表信息;在接收到用户输入的模板选取指令的情况下,将对应于目标报表模板的运算符推送给用户;所述模板选取指令用于选取所述目标报表模板;在接收到用户输入的运算符选取指令的情况下,利用选定运算符构建对应于所述目标报表模板的报表运算公式;所述运算符选取指令用于选取所述选定运算符;所述报表运算公式用于基于所述目标报表模板的报表项目进行计算;基于获取到的报表数据,根据所述目标报表模板和报表运算公式生成报表。
在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(Programmable Logic Device,PLD)(例如现场可编程门阵列(Field Programmable GateArray,FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片2。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(Hardware Description Language,HDL),而HDL也并非仅有一种,而是有许多种,如ABEL(Advanced Boolean Expression Language)、AHDL(Altera Hardware DescriptionLanguage)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(Java Hardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(RubyHardware Description Language)等,目前最普遍使用的是VHDL(Very-High-SpeedIntegrated Circuit Hardware Description Language)与Verilog2。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本说明书可借助软件加必需的第一硬件平台的方式来实现。基于这样的理解,本说明书的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本说明书各个实施例或者实施例的某些部分所述的方法。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书可用于众多第一或专用的计算机系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的消费电子设备、网络PC、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。
本说明书可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本说明书,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
虽然通过实施例描绘了本说明书,本领域普通技术人员知道,本说明书有许多变形和变化而不脱离本说明书的精神,希望所附的权利要求包括这些变形和变化而不脱离本说明书的精神。
Claims (11)
1.一种报表生成方法,其特征在于,包括:
将至少两种报表模板展示给用户;所述报表模板中包含有至少一个报表项目;所述报表项目用于描述不同类型的报表信息;
在接收到用户输入的模板选取指令的情况下,将对应于目标报表模板的运算符推送给用户;所述模板选取指令用于选取所述目标报表模板;
在接收到用户输入的运算符选取指令的情况下,利用选定运算符构建对应于所述目标报表模板的报表运算公式;所述运算符选取指令用于选取所述选定运算符;所述报表运算公式用于基于所述目标报表模板的报表项目进行计算;
基于获取到的报表数据,根据所述目标报表模板和报表运算公式生成报表。
2.如权利要求1所述的方法,其特征在于,所述报表项目包括以下至少一种:报表编号、报表名称、报表类型、频度、金额类字段类型、简要说明、复核后上报、作用于自定义批量、币种。
3.如权利要求1所述的方法,其特征在于,所述将对应于目标报表模板的运算符推送给用户之前,还包括:
将对应于所述目标报表模板的至少两个候选子模板推送给用户;所述候选子模板之间具有不同的报表项目;
在接收到用户的子模板选取指令的情况下,基于所选取的子模板修改所述目标报表模板;所述子模板选取指令,用于选取子模板。
4.如权利要求3所述的方法,其特征在于,所述基于所选取的子模板修改所述目标报表模板之后,还包括:
接收用户输入的报表数据;
根据所述报表数据和修改后的目标报表模板生成报表。
5.如权利要求1所述的方法,其特征在于,所述运算符包括关系运算符、计算运算符和反馈运算符中的至少一种;所述关系运算符用于描述报表项目之间的关系;所述计算运算符用于表示计算函数方式;所述反馈运算符用于限定所反馈的数据类型。
6.如权利要求1所述的方法,其特征在于,所述利用选定运算符构建对应于所述目标报表模板的报表运算公式之后,还包括:
基于所述目标报表模板对所述报表运算公式进行核算;
相应的,所述基于获取到的报表数据,根据所述目标报表模板和报表运算公式生成报表,包括:
在所述报表运算公式的核算结果正常的情况下,基于获取到的报表数据,根据所述目标报表模板和报表运算公式生成报表。
7.如权利要求6所述的方法,其特征在于,所述基于所述目标报表模板对所述报表运算公式进行核算,包括:
对所述目标报表模板中的报表项目进行格式处理;所述格式处理包括大小写转换、单元格应用、简写要素还原处理中的至少一种;
补全所述报表项目所对应的信息;
检查报表运算公式所对应的报表项目是否存在异常;
在报表运算公式所对应的报表项目不存在异常的情况下,利用所述报表运算公式对样本数据进行计算;
在计算结果正常的情况下,反馈审核通过信息;所述审核通过信息用于表示所述报表运算公式核算正常。
8.如权利要求7所述的方法,其特征在于,所述简写要素还原处理包括针对当前报表、当前机构编号、当前币种编号、当前报表日期中的至少一种进行还原的处理。
9.如权利要求7所述的方法,其特征在于,所述补全所述报表项目所对应的信息,包括:
补全报表运算公式左右两部分的报表子模板信息,和/或,
补全报表运算公式左右两部分的项目编号和字段属性,和/或,
补全对应于所述项目编号和字段属性的取全信息和取反信息。
10.一种报表生成装置,其特征在于,包括:
报表模板展示模块,用于将至少两种报表模板展示给用户;所述报表模板中包含有至少一个报表项目;所述报表项目用于描述不同类型的报表信息;
运算符推送模块,用于在接收到用户输入的模板选取指令的情况下,将对应于目标报表模板的运算符推送给用户;所述模板选取指令用于选取所述目标报表模板;
报表运算公式构建模块,用于在接收到用户输入的运算符选取指令的情况下,利用选定运算符构建对应于所述目标报表模板的报表运算公式;所述运算符选取指令用于选取所述选定运算符;所述报表运算公式用于基于所述目标报表模板的报表项目进行计算;
报表生成模块,用于基于获取到的报表数据,根据所述目标报表模板和报表运算公式生成报表。
11.一种报表生成设备,包括存储器和处理器;
所述存储器,用于存储计算机程序指令;
所述处理器,用于执行所述计算机程序指令以实现以下步骤:将至少两种报表模板展示给用户;所述报表模板中包含有至少一个报表项目;所述报表项目用于描述不同类型的报表信息;在接收到用户输入的模板选取指令的情况下,将对应于目标报表模板的运算符推送给用户;所述模板选取指令用于选取所述目标报表模板;在接收到用户输入的运算符选取指令的情况下,利用选定运算符构建对应于所述目标报表模板的报表运算公式;所述运算符选取指令用于选取所述选定运算符;所述报表运算公式用于基于所述目标报表模板的报表项目进行计算;基于获取到的报表数据,根据所述目标报表模板和报表运算公式生成报表。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110183542.7A CN112966482A (zh) | 2021-02-10 | 2021-02-10 | 一种报表生成方法、装置及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110183542.7A CN112966482A (zh) | 2021-02-10 | 2021-02-10 | 一种报表生成方法、装置及设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112966482A true CN112966482A (zh) | 2021-06-15 |
Family
ID=76284786
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110183542.7A Pending CN112966482A (zh) | 2021-02-10 | 2021-02-10 | 一种报表生成方法、装置及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112966482A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114004208A (zh) * | 2021-10-19 | 2022-02-01 | 江苏瑞中数据股份有限公司 | 一种可灵活定制的新型电力营销系统报表模板构建方法 |
CN115329728A (zh) * | 2022-08-11 | 2022-11-11 | 成都新津数字科技产业发展集团有限公司 | 工作数据低采集高复用协同办公报表通系统及方法 |
-
2021
- 2021-02-10 CN CN202110183542.7A patent/CN112966482A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114004208A (zh) * | 2021-10-19 | 2022-02-01 | 江苏瑞中数据股份有限公司 | 一种可灵活定制的新型电力营销系统报表模板构建方法 |
CN114004208B (zh) * | 2021-10-19 | 2022-09-09 | 江苏瑞中数据股份有限公司 | 一种可灵活定制的电力营销系统报表模板构建方法 |
CN115329728A (zh) * | 2022-08-11 | 2022-11-11 | 成都新津数字科技产业发展集团有限公司 | 工作数据低采集高复用协同办公报表通系统及方法 |
CN115329728B (zh) * | 2022-08-11 | 2024-01-23 | 成都新津数字科技产业发展集团有限公司 | 工作数据低采集高复用协同办公报表系统及方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7249328B1 (en) | Tree view for reusable data markup language | |
US7650355B1 (en) | Reusable macro markup language | |
AU780565B2 (en) | Method and apparatus for selecting aggregate levels and cross product levels for a data warehouse | |
US7512875B2 (en) | Chart view for reusable data markup language | |
US8091024B2 (en) | Systems and methods for implementing formulas | |
US6957191B1 (en) | Automated financial scenario modeling and analysis tool having an intelligent graphical user interface | |
CN110738037B (zh) | 用于自动生成电子表格的方法、装置、设备及存储介质 | |
US20150261728A1 (en) | Markup language system, method, and computer program product | |
US20050183002A1 (en) | Data and metadata linking form mechanism and method | |
Van der Loo et al. | Statistical data cleaning with applications in R | |
WO2018209081A1 (en) | Attributing meanings to data concepts used in producing outputs | |
CN112783921A (zh) | 一种数据库操作方法及装置 | |
CN112966482A (zh) | 一种报表生成方法、装置及设备 | |
CN111913962B (zh) | 一种多维度年度明细资金计划编制系统及方法 | |
WO2005076900A2 (en) | Data and metadata linking form mechanism and method | |
Scrivner et al. | XD Metrics on Demand Value Analytics: Visualizing the Impact of Internal Information Technology Investments on External Funding, Publications, and Collaboration Networks | |
US9262383B2 (en) | System, method, and computer program product for processing a markup document | |
CN110109994A (zh) | 包含结构化和非结构化数据的汽车金融风控模型 | |
CN116263802B (zh) | 一种基于金融领域的计算引擎系统 | |
Tarassow et al. | FEP-the forecast evaluation package for gretl: Based on FEP version 2.1 | |
Leonov et al. | Development of a Model for Identifying High-Risk Operations for AML/CFT Purposes | |
EP1175654A2 (en) | Automated financial scenario modeling and analysis tool having an intelligent graphical user interface | |
JP2024068999A (ja) | 資金繰り表作成のためのプログラム | |
CN117634484A (zh) | 商品结构化信息的确定方法、装置及设备 | |
CN113344674A (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 |