法律状态公告日
法律状态信息
法律状态
2019-03-26
授权
授权
2016-03-16
实质审查的生效 IPC(主分类):G06F17/30 申请日:20150924
实质审查的生效
2016-02-17
公开
公开
技术领域
本发明涉及财务报表生成技术,特别涉及基于XBRL智能报告平台的合并报表数据抽取方 法。
背景技术
XBRL可扩展商业报告语言是基于互联网、跨平台操作,专门用于财务报告编制、披露和 使用的计算机语言。企业编辑分类标准与实例文档后,需要大量的手工操作才能生成实例数 据文档。
随着XBRL平台的使用力度加大,让财务人员在使用XBRL平台人工导入报表数据时,也 暴露出一些弊端:
(1)上报财报时,需要从合并报表系统下载相关报表数据,重复性工作。
(2)需要梳理报表,并与实例文档各项对应上,繁琐,容易出错。
(3)需要人工导入XBRL平台,如果导入的信息有误,还得重头导入。
(4)由人工处理,仅试用于上报极少的财报,需要大量上报财报时,财务人员的工作量将 极其庞大。
发明内容
针对上述问题,本发明提供一种基于XBRL智能报告平台的合并报表数据抽取方法。包括 如下步骤:
A.从报表配置表、报表行配置表及报表列配置表中获得固定维度与行维度,生成动态 SQL并执行,自动从合并报表事实表中检索对当前报表有用的数据并插入事实中间表;
B.通过报表行配置表与报表列配置表通过报表ID进行笛卡尔连接,生成抽数的动态SQL 并插入行列动态SQL临时表,得到路径及事实值信息并将其插入事实值表;
C.对每一张报表进行上述循环,得到完整的XBRL平台可识别的事实值表数据并存储于 报表值表中。
具体地,步骤A之前包括:对合并报表表样进行分析并建模,生成报表配置表、报表行 配置表及报表列配置表,将固定维度、行维度及列维度分别存入上述三张表中。
进一步地,步骤B还包括,生成抽数的动态SQL后执行动态SQL,从合并报表事实表中 搜索当前报表的数据,并保存到合并报表事实中间表中。
具体地,所述报表配置表用于存储合并报表系统定义的所有报表头及固定维度,具体字 段包括:报表名、报表别名、固定维度及行维度名。
具体地,所述报表行配置表用于存储合并报表系统所定义的所有报表科目信息及行维度 信息,具体字段包括:报表ID、行编码、科目名称、行维度及行维度值。
具体地,所述报表列配置表用于存储合并报表系统所定义的所有报表列头及列维度信息, 具体字段包括:报表ID、列编码、列名称、列维度、是否计算年维度及是否计算期间维度。
具体地,所述报表值表用于存储抽取出的报表值及路径信息,具体字段包括:行ID、列 ID、路径、事实值、事实值所属期间、报表年信息、实体ID及报表ID。
本发明的有益效果是:通过本发明的技术方案,可以简化合并报表的数据,减少财务工 作人员的工作量,并且本发明的合并报表自动生成,不容易出错。
以下结合实施例的具体实施方式对本发明的技术方案作进一步详细描述,应当注意的是, 实施例仅仅是为了帮助读者更好地理解本发明的技术构思,并不用以限制本发明权利要求的 保护范围。
具体实施方式
本发明针对现有的财务报表合并数据获取过程中工作量大容易出现错误的问题,提供一 种基于XBRL智能报告平台的合并报表数据抽取方法,该方法的具体步骤如下。
首先通过报表配置表、报表行配置表及报表列配置表进行连接获得游标句柄(外层游标), 从中获得固定维度与行维度值字段,生成动态SQL并执行,自动从合并报表事实表中检索对 当前报表有用的数据并插入事实中间表。这样处理后,事实中间表产生的数据量极小。
再通过报表行配置表与报表列配置表通过报表ID进行笛卡尔连接,生成抽数的动态SQL 并插入行列动态SQL临时表,然后获得此表游标句柄(内层游标),得到路径及事实值等信息, 并将其插入事实值表。对每一张报表进行上述循环,最终得到完整的Xbrl平台可识别的事实 值表数据。
实施例
以下对本发明的方法的各个步骤及具体实现作进一步的示例性描述。
首先对本发明中出现的各个表进行详细说明。
1.报表配置表
报表配置表,用于存储合并报表系统定义的所有报表头及固定维度,具体字段包括:报 表名、报表别名、固定维度、是否有年维度标识、是否有期间维度标识、是否是合并与个别 报表标识及行维度名。报表名保存的报表表样名称,如“以公允价值计量且其变动计入当期 损益的金融资产(按种类)”,报表别名保存的报表表样别名,因报表表样以Excel文件形式 提供的,表样名称与Sheet名称是不一致的,存入配置表,以后更容易排查问题,如“以公 允价值计量且其变动计入当期损益的金融资产-1”,固定维度抽取此报表相关基础数据的维度 组,如“C1#[None];I#[ICPTop]”,是否有年维度标识表示是否需要在固定维度中自动加上 “Y#VY”进行取数,是否有期间维度标识表示是否需要在固定维度中自动加上“P#VP”进行 取数,是否是合并与个别报表标识表示是否需要在固定维度中增加合并个别实体或单实体, 行维度名打破数据库设计三范式,加速从事实表抽取相关数据到事实中间表。
2.报表行配置表
报表行配置表用于存储合并报表系统所定义的所有报表科目信息及行维度信息,具体字 段包括:报表ID、行编码、科目名称、行维度及行维度值。
报表ID引用自报表配置表的主键、行编码保存行对应于Excel文档当中的行号,如“6”、 “7”……、科目名称又名行项目名,保存每一行第一列所给出来的项目名,主要是为方便查 阅与今后的维护工作、行维度保存从事实中间表抽取数据的行维度组,如 “C2#AG0501;Account#112301”、行维度值用于抽数逻辑在抽取事实中间表时踢掉其它无用的 数据,提升在事实中间表的数据抽取速率。
3.报表列配置表
报表列配置表用于存储合并报表系统所定义的所有报表列头及列维度信息,具体字段包 括:报表ID、列编码、列名称、列维度、是否计算年维度及是否计算期间维度。
报表ID引用自报表配置表的主键、列编码保存行对应于Excel文档当中的列码,如“B”、 “C”……、列名称保存表样给出的列名称,主要是为方便查阅及今后的维护工作,列维度保 存从事实中间表抽取数据的列维度组,如“C3#NAC30501;C2#[None];”,是否计算年维度表示 在抽数时是否对年维度进行计算,如“Y#Y-1;”,是否计算期间维度表示在抽数时是否对期间 维度进行计算,如“P#P-1;”。
4.合并报表事实表
合并报表事实表,是由合并报表系统迁移至XBRL平台数据库的事实值数据,因数据量相 当庞大,在从合并报表全量迁移数据后,将数据插入通过实体No进行Hash分区的事实表中, 对数据进行分割存储,以保证搜索某实体有用数据到事实中间表时的速率;事实体包括维度 信息字段,(如Y#;P#;E#;A#;……)及事实值字段(最终需要展现到实例文档中的数据(如表 示金额的数据“373068474.57”)。
5.合并报表事实中间表
表结构与合并报表事实表是一致的,作用在于,通过报表配置表中的固定维度与行维度 名组合,从合并报表事实表中搜索当前报表的数据,保存到合并报表事实中间表中,加速抽 数逻辑。
6.报表值表
报表值表,用于存储抽取出的报表值、路径信息,具体字段包括:行ID(引入自报到行配 置表)、列ID(引用知报表列配置表)、路径(存储对应于Excel中的路径值,如“7B、7C……”)、 事实值(具体的金额信息)、事实值所属期间(保存此事实值产生于某期间,如“2014-08-31”)、 报表年信息(保存此张报表的生成年份,如“2015”)、实体ID(引用于实体表)及报表ID(引 用于报表配置表)。
基于相关配置表与事实中间表,通过以下操作逻辑,便可实现快速抽数逻辑,具体流程 如下:
a.通过固定维度与列维度名及列维度值从合并报表事实表中检索数据;
b.将检索出的数据插入事实中间表;
c.通过行维度及列维度生成当前报表相关的动态SQL,执行并插入行列动态SQL临时表;
d.执行动态SQL,并将值存入实例文档值表。
根据以上操作逻辑,对合并报告中的每张报表循环该逻辑,则实体对应的报表都将自动 取出,完整的报表值表数据供Xbrl平台直接调取,并生成实例文档。
机译: 基于XBRL的智能金融云平台系统,施工方法及其业务实施方法
机译: 基于XBRL的智能金融云平台系统,构建方法及其业务实现方法
机译: 基于XBRL的智能财务云平台系统,构建方法和服务实现方法