CN114818612A - 一种基于结构化数据的报表代码的处理方法及相关设备 - Google Patents
一种基于结构化数据的报表代码的处理方法及相关设备 Download PDFInfo
- Publication number
- CN114818612A CN114818612A CN202210446109.2A CN202210446109A CN114818612A CN 114818612 A CN114818612 A CN 114818612A CN 202210446109 A CN202210446109 A CN 202210446109A CN 114818612 A CN114818612 A CN 114818612A
- Authority
- CN
- China
- Prior art keywords
- report code
- report
- compared
- target
- code
- 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/12—Use of codes for handling textual entities
- G06F40/151—Transformation
- G06F40/154—Tree transformation for tree-structured or markup documents, e.g. XSLT, XSL-FO or stylesheets
-
- 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/245—Query processing
- G06F16/2455—Query execution
- G06F16/24564—Applying rules; Deductive queries
- G06F16/24566—Recursive queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/14—Tree-structured documents
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Audiology, Speech & Language Pathology (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Document Processing Apparatus (AREA)
Abstract
本申请提供了基于结构化数据的报表代码的处理方法及相关设备,方法包括:获取结构化数据文件;遍历结构化数据文件的节点元素,获得每个查询主题下的每个报表代码,对每个报表代码解析,得到每个报表代码的解析结果,以得到结构化数据文件中若干个报表代码的解析结果;从预设文件获取待比较报表代码集,将目标报表代码集和待比较报表代码集进行比较,得到比较结果;若比较结果表征需要对目标报表代码集进行修改,则根据待比较报表代码集对目标报表代码集进行修改。本申请能对结构化数据文件中的报表代码进行解析、比较和修改,节省了处理时间,提高了处理效率,并且无需多位开发人员参与,避免了开发人员间的编辑内容冲突、覆盖的问题。
Description
技术领域
本申请涉及计算机领域,特别是涉及一种基于结构化数据的报表代码的处理方法及相关设备。
背景技术
目前的一些系统存在部分报表冗余、数据利用率低等问题,需要对系统包含的大量报表进行优化整合处理,例如,境外经营分析系统(简称OBAS)经过多年的建设,基本满足了境外分行机构报表统计、IFAR报送的要求,由于OBAS现有报表由多年历史需求积累,数量众多,存在部分报表冗余、数据利用率低等问题,需要对现有报表进行优化整合处理。
在对报表优化整合处理过程中需要频繁查看、比较和修改报表代码,目前,系统中的报表通常使用Cognos进行开发和部署,因此通常使用Cognos软件查看、比较和修改报表代码。
但是,对于大型报表工程,如OBAS,报表数量众多,需要大规模的优化整合的时候,使用Cognos软件查看、分析和修改报表的效率无法满足项目时间上的要求。另外,多位报表开发人员同时对一个报表工程进行编辑的效率低且容易造成不同报表开发人员之间的编辑内容互相冲突、覆盖的问题。
发明内容
有鉴于此,本申请提供了一种基于结构化数据的报表代码的处理方法及相关设备,用于解决现有技术存在的效率低且不同报表开发人员之间的编辑内容互相冲突、覆盖的问题,其技术方案如下:
一种基于结构化数据的报表代码的处理方法,包括:
获取当前工程中的结构化数据文件,其中,结构化数据文件为树状结构的XML文件,树状结构的节点元素中包括查询主题和报表代码,报表代码为查询主题节点元素的子节点元素;
遍历结构化数据文件中的节点元素,获得每个查询主题下的每个报表代码,并对获得的每个报表代码进行解析,得到每个报表代码的解析结果;以得到结构化数据文件中若干个报表代码的解析结果;
从预设文件中获取待比较报表代码集,并将目标报表代码集与待比较报表代码集进行比较,得到比较结果,其中,目标报表代码集包括至少一个目标报表代码,目标报表代码集中的目标报表代码根据若干个报表代码的解析结果确定,待比较报表代码集中包括至少一个待比较报表代码;
若比较结果表征需要对目标报表代码集进行修改,则根据待比较报表代码集对目标报表代码集进行修改。
可选的,将目标报表代码集与待比较报表代码集进行比较,得到比较结果,包括:
针对待比较报表代码集和目标报表代码集中的每个报表代码,将该报表代码的元素结构信息作为键,将该报表代码作为值,生成该报表代码对应的键值对;
针对目标报表代码集中的每个目标报表代码,将该目标报表代码对应的键值对与待比较报表代码集中每个待比较报表代码对应的键值对进行比较,得到该目标报表代码对应的比较结果;以得到目标报表代码集中每个目标报表代码对应的比较结果。
可选的,将该目标报表代码对应的键值对与待比较报表代码集中每个待比较报表代码对应的键值对进行比较,得到该目标报表代码对应的比较结果,包括:
将该目标报表代码对应的键值对中的键,与待比较报表代码集中每个待比较报表代码对应的键值对中的键进行比较,得到键相同的待比较报表代码,作为该目标报表代码对应的待比较报表代码;
将该目标报表代码对应的键值对中的值,与该目标报表代码对应的待比较报表代码所对应键值对中的值进行比较,得到该目标报表代码对应的比较结果。
可选的,若比较结果表征需要对目标报表代码集进行修改,则根据待比较报表代码集对目标报表代码集进行修改,包括:
对于目标报表代码集中的每个目标报表代码,若该目标报表代码对应的比较结果表征需要对该目标报表代码进行修改,则根据该目标报表代码对应的待比较报表代码对该目标报表代码进行修改。
可选的,根据该目标报表代码对应的待比较报表代码对该目标报表代码进行修改,包括:
将该目标报表代码对应的待比较报表代码转换为符合XML格式文件要求的待比较报表代码;
根据符合XML格式文件要求的待比较报表代码对该目标报表代码进行修改。
可选的,还包括:
将解析结果和/或比较结果输出到文档格式文件中。
可选的,预设文件为EXCEL文件和/或其他工程中的结构化数据文件。
一种基于结构化数据的报表代码的处理装置,包括:获取模块、遍历模块、比较模块和修改模块;
获取模块,用于获取当前工程中的结构化数据文件,其中,结构化数据文件为树状结构的XML文件,树状结构的节点元素中包括查询主题和报表代码,报表代码为查询主题节点元素的子节点元素;
遍历模块,用于遍历结构化数据文件中的节点元素,获得每个查询主题下的每个报表代码,并对获得的每个报表代码进行解析,得到每个报表代码的解析结果;以得到结构化数据文件中若干个报表代码的解析结果;
比较模块,用于从预设文件中获取待比较报表代码集,并将目标报表代码集与待比较报表代码集进行比较,得到比较结果,其中,目标报表代码集包括至少一个目标报表代码,目标报表代码集中的目标报表代码根据若干个报表代码的解析结果确定,待比较报表代码集中包括至少一个待比较报表代码;
修改模块,用于若比较结果表征需要对目标报表代码集进行修改,则根据待比较报表代码集对目标报表代码集进行修改。
一种基于结构化数据的报表代码的处理设备,包括存储器和处理器;
存储器,用于存储程序;
处理器,用于执行程序,实现如上述任一项的基于结构化数据的报表代码的处理方法的各个步骤。
一种可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时,实现如上述任一项的基于结构化数据的报表代码的处理方法的各个步骤。
经由上述的技术方案可知,本申请提供的基于结构化数据的报表代码的处理方法,首先获取结构化数据文件,然后遍历结构化数据文件中的节点元素,获得每个查询主题下的每个报表代码,并对获得的每个报表代码进行解析,得到每个报表代码的解析结果,以得到结构化数据文件中若干个报表代码的解析结果,接着从预设文件中获取待比较报表代码集,并将目标报表代码集和待比较报表代码集进行比较,得到比较结果,若比较结果表征需要对目标报表代码集进行修改,则根据待比较报表代码集对目标报表代码集进行修改。由此可见,本申请能够对结构化数据文件中的报表代码进行解析、比较和修改,相比于现有技术使用Cognos软件的方法,本申请能够节省大量的处理时间,提高了处理效率,并且,整个过程无需多位开发人员共同参与,节省了开发人员的时间,避免了不同报表开发人员之间的编辑内容互相冲突、覆盖的问题。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例提供的基于结构化数据的报表代码的处理方法的流程示意图;
图2为本申请实施例提供的基于结构化数据的报表代码的处理装置的结构示意图;
图3为本申请实施例提供的基于结构化数据的报表代码的处理设备的硬件结构框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
鉴于现有技术存在的问题,本案发明人进行了深入研究,最终提出了一种基于结构化数据的报表代码的处理方法,接下来通过下述实施例对本申请提供的基于结构化数据的报表代码的处理方法进行详细介绍。
请参阅图1,示出了本申请实施例提供的基于结构化数据的报表代码的处理方法的流程示意图,该基于结构化数据的报表代码的处理方法可以包括:
步骤S101、获取当前工程中的结构化数据文件。
具体的,Cognos工程中的所有报表代码均存储在工程中的结构化数据文件中。这里,Cognos工程是指Cognos软件中的一个工程项目对象,Cognos是指一种常用的报表设计及发布软件。
上述结构化数据文件为树状结构的XML(ExtensibleMarkup Language,可扩展标记语言)文件,该树状结构的节点元素中包括查询主题和报表代码,报表代码为查询主题节点元素的子节点元素。这里,查询主题是指Cognos软件中的一个数据库查询的对象,利用SQL语言编写的报表代码对数据库进行数据查询,将查询到的数据用于报表展示,Cognos报表的报表代码及其他相关信息保存在查询主题中。
上述树状结构的节点元素中还包括名称空间,该名称空间为查询主题节点元素的父节点元素,也即,名称空间中包括若干个查询主题。
需要说明的是,上述结构化数据文件的节点元素中包括至少一个名称空间,每个名称空间中包括至少一个查询主题,每个查询主题中包括至少一个报表代码。
在本实施例中,当需要对当前工程中的报表代码进行处理(这里的处理是指解析、比较和修改)时,可以获取当前工程中的结构化数据文件。这里,当前工程是指当前的Cognos报表工程,该当前工程中的报表代码通过SQL(结构化查询语言)语言进行编写。
可选的,当前工程中的结构化数据文件可以命名为“model.xml”,基于此,可选的,本步骤的过程可以包括:使用JAVA方法SAXReader()来读取需要处理的当前Cognos工程中名称为“model.xml”的结构化数据文件。
步骤S102、遍历结构化数据文件中的节点元素,获得每个查询主题下的每个报表代码,并对获得的每个报表代码进行解析,得到每个报表代码的解析结果;以得到结构化数据文件中若干个报表代码的解析结果。
具体的,可以从结构化数据文件的根节点开始遍历所有的名称空间和名称空间下的查询主题,然后再从查询主题往下遍历子元素,得到每个查询主题下的每个报表代码。
可选的,上述名称空间可以命名为“namespace”,查询主题可以命名为“querySubject”,报表代码可以命名为“sql”,则本步骤可以首先从结构化数据文件中遍历元素名称为“namespace”的所有名称空间;对于遍历到的每个“namespace”,在该“namespace”中遍历元素名称为“querySubject”的所有查询主题;在该“querySubject”中遍历元素名称为“definition”的子元素,在该“definition”中遍历元素名为“dbQuery”的子元素,在该“dbQuery”中遍历元素名称为“sql”的子元素,该“sql”元素节点的文本内容即为本步骤所要获得的报表代码。
可选的,本步骤可以从结构化数据文件的根节点使用方法elementIterator()进行递归遍历,以得到每个查询主题下的每个报表代码。
可以理解的是,开发人员直接读取报表代码较为不便,为了便于开发人员从获得的报表代码中确定出需要进行比较的目标报表代码,可以通过本步骤对获得的每个报表代码均进行结构解析,得到每个报表代码的解析结果。
可选的,对每个报表代码进行结构解析具体是指提取报表代码中使用的来源表、目标表、参数等信息。
可选的,在得到解析结果后,还可以将每个报表代码的解析结果输出到文档格式文件中进行保存,以便于开发人员查看解析结果。
步骤S103、从预设文件中获取待比较报表代码集,并将目标报表代码集与待比较报表代码集进行比较,得到比较结果。
其中,目标报表代码集包括至少一个目标报表代码,目标报表代码集中的目标报表代码根据若干个报表代码的解析结果确定,待比较报表代码集中包括至少一个待比较报表代码。
具体的,开发人员可以根据上述若干报表代码的解析结果确定出需要进行比较的所有报表代码,为了便于区分,将需要比较的报表代码定义为目标报表代码,所有的目标报表代码组成目标报表代码集。
当开发人员确定出目标报表代码集后,本步骤可以从预设文件中获取待比较报表代码集,然后再将目标报表代码集与待比较报表代码集进行比较,得到比较结果。
可选的,上述预设文件为EXCEL文件和/或其他工程中的结构化数据文件,该其他工程例如可以为,与当前工程的名称相同、结构化数据文件的结构及包含的元素名称相同但报表代码不完全相同的新建工程。
其中,若预设文件为EXCEL文件,则可采用现有技术提供的方法对EXCEL文件进行解析,得到EXCEL文件中的待比较报表代码集,若预设文件为其他工程中的结构化数据文件,则可采用前述步骤提供的方法从其他工程中的结构化数据文件中解析出待比较报表代码集。
可选的,本步骤还可以将比较结果输出到文档格式文件中进行存储,以便于开发人员查看。
在一可选实施例中,本步骤“将目标报表代码集与待比较报表代码集进行比较,得到比较结果”的过程可以包括:
步骤S1031、针对待比较报表代码集和目标报表代码集中的每个报表代码,将该报表代码的元素结构信息作为键,将该报表代码作为值,生成该报表代码对应的键值对。
具体的,结构化数据文件中的每个节点元素均对应有元素结构信息,即结构化数据文件中的每个报表代码均对应有元素结构信息,同时,预设文件中的每个报表代码也对应有元素结构信息。这里,元素结构信息用于表征对应报表代码的存储路径,可选的,元素结构信息由工程名称、对应报表代码所在名称空间的名称、查询主题的名称、报表代码的名称等组成。
在本步骤中,可以针对待比较报表代码集中的每个待比较报表代码,将该待比较报表代码的元素结构信息作为键,将该待比较报表代码作为值,生成该待比较报表代码对应的键值对;同理,针对目标报表代码集中的每个目标报表代码,将该目标报表代码的元素结构信息作为键,将该目标报表代码作为值,生成该目标报表代码对应的键值对。
步骤S1032、针对目标报表代码集中的每个目标报表代码,将该目标报表代码对应的键值对与待比较报表代码集中每个待比较报表代码对应的键值对进行比较,得到该目标报表代码对应的比较结果;以得到目标报表代码集中每个目标报表代码对应的比较结果。
可选的,本步骤可以使用方法entrySet()进行键值对的比较,得到目标报表代码集中每个目标报表代码对应的比较结果。
在一可选实施例中,本步骤“将该目标报表代码对应的键值对与待比较报表代码集中每个待比较报表代码对应的键值对进行比较,得到该目标报表代码对应的比较结果”的过程可以包括:
a1、将该目标报表代码对应的键值对中的键,与待比较报表代码集中每个待比较报表代码对应的键值对中的键进行比较,得到键相同的待比较报表代码,作为该目标报表代码对应的待比较报表代码。
a2、将该目标报表代码对应的键值对中的值,与该目标报表代码对应的待比较报表代码所对应键值对中的值进行比较,得到该目标报表代码对应的比较结果。
例如,a1确定出目标报表代码1与待比较报表代码1对应,则可以将目标报表代码1对应的键值对中的值(即目标报表代码1)与待比较报表代码1对应的键值对中的值(即待比较报表代码1)进行比较,得到目标报表代码1对应的比较结果。
步骤S104、若比较结果表征需要对目标报表代码集进行修改,则根据待比较报表代码集对目标报表代码集进行修改。
在本实施例中,比较结果能够反映出目标报表代码集与待比较报表代码集之间的差异性,如果比较结果表示两个集合之间存在差异,则说明需要对目标报表代码集进行修改,如果比较结果表示两个集合之间没有差异,则说明不需要对目标报表代码集进行修改。
在一可选实施例中,继上文介绍,本步骤“若比较结果表征需要对目标报表代码集进行修改,则根据待比较报表代码集对目标报表代码集进行修改”的过程可以包括:对于目标报表代码集中的每个目标报表代码,若该目标报表代码对应的比较结果表征需要对该目标报表代码进行修改,则根据该目标报表代码对应的待比较报表代码对该目标报表代码进行修改。
具体的,若该目标报表代码对应的比较结果表征需要对该目标报表代码进行修改,则说明该目标报表代码与对应的待比较报表代码之间存在差异,此时可以根据该目标报表代码对应的待比较报表代码对该目标报表代码进行修改。
在本步骤中,“根据该目标报表代码对应的待比较报表代码对该目标报表代码进行修改”的过程可以包括:将该目标报表代码对应的待比较报表代码转换为符合XML格式文件要求的待比较报表代码,根据符合XML格式文件要求的待比较报表代码对该目标报表代码进行修改。
可以理解的是,EXCEL文件中的待比较报表代码不符合XML格式文件要求,为了使修改后的目标报表代码仍符合XML格式文件要求,可以首先对该目标报表代码对应的待比较报表代码进行XML格式文件要求的校验和转换,生成符合XML格式文件要求的待比较报表代码,然后再将符合XML格式文件要求的待比较报表代码内容赋值给该目标报表代码,这样就完成了对该目标报表代码进行修改的整个过程。
值得注意的是,本步骤的修改过程不是直接在当前工程的结构化数据文件“model.xml”中进行修改,而是每次将修改的目标报表代码进行暂存,在将当前工程中所有需要修改的目标报表代码均修改后,再将所有修改后的目标报表代码写回结构化数据文件“model.xml”中。
本申请提供的基于结构化数据的报表代码的处理方法,首先获取结构化数据文件,然后遍历结构化数据文件中的节点元素,获得每个查询主题下的每个报表代码,并对获得的每个报表代码进行解析,得到每个报表代码的解析结果,以得到结构化数据文件中若干个报表代码的解析结果,接着从预设文件中获取待比较报表代码集,并将目标报表代码集和待比较报表代码集进行比较,得到比较结果,若比较结果表征需要对目标报表代码集进行修改,则根据待比较报表代码集对目标报表代码集进行修改。由此可见,本申请能够对结构化数据文件中的报表代码进行解析、比较和修改,相比于现有技术使用Cognos软件的方法,本申请能够节省大量的处理时间,提高了处理效率,并且,整个过程无需多位开发人员共同参与,节省了开发人员的时间,避免了不同报表开发人员之间的编辑内容互相冲突、覆盖的问题。
同时,解析结果和比较结果用常用的文档格式保存,方便报表开发人员对报表进行分析和改造,节省报表开发人员的开发时间。
经由测试证明,采用本实施例提供的方法进行报表代码的解析、比较和修改,即使对大型报表工程,整体处理时间也不会很长,例如,对OBAS报表工程的解析、比较和修改的耗时约1分钟,能减少大量的开发时间,达到提高开发效率的效果。
本申请实施例还提供了一种基于结构化数据的报表代码的处理装置,下面对本申请实施例提供的基于结构化数据的报表代码的处理装置进行描述,下文描述的基于结构化数据的报表代码的处理装置与上文描述的基于结构化数据的报表代码的处理方法可相互对应参照。
请参阅图2,示出了本申请实施例提供的基于结构化数据的报表代码的处理装置的结构示意图,如图2所示,该基于结构化数据的报表代码的处理装置可以包括:获取模块201、遍历模块202、比较模块203和修改模块204。
获取模块201,用于获取当前工程中的结构化数据文件,其中,结构化数据文件为树状结构的XML文件,树状结构的节点元素中包括查询主题和报表代码,报表代码为查询主题节点元素的子节点元素。
遍历模块202,用于遍历结构化数据文件中的节点元素,获得每个查询主题下的每个报表代码,并对获得的每个报表代码进行解析,得到每个报表代码的解析结果;以得到结构化数据文件中若干个报表代码的解析结果。
比较模块203,用于从预设文件中获取待比较报表代码集,并将目标报表代码集与待比较报表代码集进行比较,得到比较结果,其中,目标报表代码集包括至少一个目标报表代码,目标报表代码集中的目标报表代码根据若干个报表代码的解析结果确定,待比较报表代码集中包括至少一个待比较报表代码。
修改模块204,用于若比较结果表征需要对目标报表代码集进行修改,则根据待比较报表代码集对目标报表代码集进行修改。
本申请提供的基于结构化数据的报表代码的处理装置,首先获取模块获取结构化数据文件,然后遍历模块遍历结构化数据文件中的节点元素,获得每个查询主题下的每个报表代码,并对获得的每个报表代码进行解析,得到每个报表代码的解析结果,以得到结构化数据文件中若干个报表代码的解析结果,接着比较模块从预设文件中获取待比较报表代码集,并将目标报表代码集和待比较报表代码集进行比较,得到比较结果,若比较结果表征需要对目标报表代码集进行修改,则修改模块根据待比较报表代码集对目标报表代码集进行修改。由此可见,本申请能够对结构化数据文件中的报表代码进行解析、比较和修改,相比于现有技术使用Cognos软件的方法,本申请能够节省大量的处理时间,提高了处理效率,并且,整个过程无需多位开发人员共同参与,节省了开发人员的时间,避免了不同报表开发人员之间的编辑内容互相冲突、覆盖的问题。
在一种可能的实现方式中,上述比较模块203可以包括:键值对生成模块和键值对比较模块。
其中,键值对生成模块,用于针对待比较报表代码集和目标报表代码集中的每个报表代码,将该报表代码的元素结构信息作为键,将该报表代码作为值,生成该报表代码对应的键值对。
键值对比较模块,用于针对目标报表代码集中的每个目标报表代码,将该目标报表代码对应的键值对与待比较报表代码集中每个待比较报表代码对应的键值对进行比较,得到该目标报表代码对应的比较结果;以得到目标报表代码集中每个目标报表代码对应的比较结果。
在一种可能的实现方式中,上述键值对比较模块可以包括:键比较模块和值比较模块。
其中,键比较模块用于将该目标报表代码对应的键值对中的键,与待比较报表代码集中每个待比较报表代码对应的键值对中的键进行比较,得到键相同的待比较报表代码,作为该目标报表代码对应的待比较报表代码。
值比较模块,用于将该目标报表代码对应的键值对中的值,与该目标报表代码对应的待比较报表代码所对应键值对中的值进行比较,得到该目标报表代码对应的比较结果。
在一种可能的实现方式中,上述修改模块204具体可以用于对于目标报表代码集中的每个目标报表代码,若该目标报表代码对应的比较结果表征需要对该目标报表代码进行修改,则根据该目标报表代码对应的待比较报表代码对该目标报表代码进行修改。
在一种可能的实现方式中,上述修改模块204在“根据该目标报表代码对应的待比较报表代码对该目标报表代码进行修改”时可以包括:转换模块和赋值模块。
转换模块,用于将该目标报表代码对应的待比较报表代码转换为符合XML格式文件要求的待比较报表代码。
赋值模块,用于根据符合XML格式文件要求的待比较报表代码对该目标报表代码进行修改。
在一种可能的实现方式中,本申请实施例提供的基于结构化数据的报表代码的处理装置还可以包括:输出模块。
该输出模块,用于将解析结果和/或比较结果输出到文档格式文件中。
在一种可能的实现方式中,上述预设文件为EXCEL文件和/或其他工程中的结构化数据文件。
本申请实施例还提供了一种基于结构化数据的报表代码的处理设备。可选的,图3示出了基于结构化数据的报表代码的处理设备的硬件结构框图,参照图3,该基于结构化数据的报表代码的处理设备的硬件结构可以包括:至少一个处理器301,至少一个通信接口302,至少一个存储器303和至少一个通信总线304;
在本申请实施例中,处理器301、通信接口302、存储器303、通信总线304的数量为至少一个,且处理器301、通信接口302、存储器303通过通信总线304完成相互间的通信;
处理器301可能是一个中央处理器CPU,或者是特定集成电路ASIC(ApplicationSpecific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路等;
存储器303可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory)等,例如至少一个磁盘存储器;
其中,存储器303存储有程序,处理器301可调用存储器303存储的程序,所述程序用于:
获取当前工程中的结构化数据文件,其中,结构化数据文件为树状结构的XML文件,树状结构的节点元素中包括查询主题和报表代码,报表代码为查询主题节点元素的子节点元素;
遍历结构化数据文件中的节点元素,获得每个查询主题下的每个报表代码,并对获得的每个报表代码进行解析,得到每个报表代码的解析结果;以得到结构化数据文件中若干个报表代码的解析结果;
从预设文件中获取待比较报表代码集,并将目标报表代码集与待比较报表代码集进行比较,得到比较结果,其中,目标报表代码集包括至少一个目标报表代码,目标报表代码集中的目标报表代码根据若干个报表代码的解析结果确定,待比较报表代码集中包括至少一个待比较报表代码;
若比较结果表征需要对目标报表代码集进行修改,则根据待比较报表代码集对目标报表代码集进行修改。
可选的,所述程序的细化功能和扩展功能可参照上文描述。
本申请实施例还提供一种可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时,实现如上述基于结构化数据的报表代码的处理方法。
可选的,所述程序的细化功能和扩展功能可参照上文描述。
最后,还需要说明的是,在本文中,诸如和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种基于结构化数据的报表代码的处理方法,其特征在于,包括:
获取当前工程中的结构化数据文件,其中,所述结构化数据文件为树状结构的XML文件,所述树状结构的节点元素中包括查询主题和报表代码,所述报表代码为所述查询主题节点元素的子节点元素;
遍历所述结构化数据文件中的节点元素,获得每个查询主题下的每个报表代码,并对获得的每个报表代码进行解析,得到每个报表代码的解析结果;以得到所述结构化数据文件中若干个报表代码的解析结果;
从预设文件中获取待比较报表代码集,并将目标报表代码集与所述待比较报表代码集进行比较,得到比较结果,其中,所述目标报表代码集包括至少一个目标报表代码,所述目标报表代码集中的目标报表代码根据所述若干个报表代码的解析结果确定,所述待比较报表代码集中包括至少一个待比较报表代码;
若所述比较结果表征需要对所述目标报表代码集进行修改,则根据所述待比较报表代码集对所述目标报表代码集进行修改。
2.根据权利要求1所述的基于结构化数据的报表代码的处理方法,其特征在于,所述将目标报表代码集与所述待比较报表代码集进行比较,得到比较结果,包括:
针对所述待比较报表代码集和所述目标报表代码集中的每个报表代码,将该报表代码的元素结构信息作为键,将该报表代码作为值,生成该报表代码对应的键值对;
针对所述目标报表代码集中的每个目标报表代码,将该目标报表代码对应的键值对与所述待比较报表代码集中每个待比较报表代码对应的键值对进行比较,得到该目标报表代码对应的比较结果;以得到所述目标报表代码集中每个目标报表代码对应的比较结果。
3.根据权利要求2所述的基于结构化数据的报表代码的处理方法,其特征在于,所述将该目标报表代码对应的键值对与所述待比较报表代码集中每个待比较报表代码对应的键值对进行比较,得到该目标报表代码对应的比较结果,包括:
将该目标报表代码对应的键值对中的键,与所述待比较报表代码集中每个待比较报表代码对应的键值对中的键进行比较,得到键相同的待比较报表代码,作为该目标报表代码对应的待比较报表代码;
将该目标报表代码对应的键值对中的值,与该目标报表代码对应的待比较报表代码所对应键值对中的值进行比较,得到该目标报表代码对应的比较结果。
4.所述根据权利要求3所述的基于结构化数据的报表代码的处理方法,其特征在于,所述若所述比较结果表征需要对所述目标报表代码集进行修改,则根据所述待比较报表代码集对所述目标报表代码集进行修改,包括:
对于所述目标报表代码集中的每个目标报表代码,若该目标报表代码对应的比较结果表征需要对该目标报表代码进行修改,则根据该目标报表代码对应的待比较报表代码对该目标报表代码进行修改。
5.根据权利要求4所述的基于结构化数据的报表代码的处理方法,其特征在于,所述根据该目标报表代码对应的待比较报表代码对该目标报表代码进行修改,包括:
将该目标报表代码对应的待比较报表代码转换为符合XML格式文件要求的待比较报表代码;
根据所述符合XML格式文件要求的待比较报表代码对该目标报表代码进行修改。
6.根据权利要求1所述的基于结构化数据的报表代码的处理方法,其特征在于,还包括:
将所述解析结果和/或所述比较结果输出到文档格式文件中。
7.根据权利要求1所述的基于结构化数据的报表代码的处理方法,其特征在于,所述预设文件为EXCEL文件和/或其他工程中的结构化数据文件。
8.一种基于结构化数据的报表代码的处理装置,其特征在于,包括:获取模块、遍历模块、比较模块和修改模块;
所述获取模块,用于获取当前工程中的结构化数据文件,其中,所述结构化数据文件为树状结构的XML文件,所述树状结构的节点元素中包括查询主题和报表代码,所述报表代码为所述查询主题节点元素的子节点元素;
所述遍历模块,用于遍历所述结构化数据文件中的节点元素,获得每个查询主题下的每个报表代码,并对获得的每个报表代码进行解析,得到每个报表代码的解析结果;以得到所述结构化数据文件中若干个报表代码的解析结果;
所述比较模块,用于从预设文件中获取待比较报表代码集,并将目标报表代码集与所述待比较报表代码集进行比较,得到比较结果,其中,所述目标报表代码集包括至少一个目标报表代码,所述目标报表代码集中的目标报表代码根据所述若干个报表代码的解析结果确定,所述待比较报表代码集中包括至少一个待比较报表代码;
所述修改模块,用于若所述比较结果表征需要对所述目标报表代码集进行修改,则根据所述待比较报表代码集对所述目标报表代码集进行修改。
9.一种基于结构化数据的报表代码的处理设备,其特征在于,包括存储器和处理器;
所述存储器,用于存储程序;
所述处理器,用于执行所述程序,实现如权利要求1-7任一项的基于结构化数据的报表代码的处理方法的各个步骤。
10.一种可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时,实现如权利要求1-7任一项的基于结构化数据的报表代码的处理方法的各个步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210446109.2A CN114818612A (zh) | 2022-04-26 | 2022-04-26 | 一种基于结构化数据的报表代码的处理方法及相关设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210446109.2A CN114818612A (zh) | 2022-04-26 | 2022-04-26 | 一种基于结构化数据的报表代码的处理方法及相关设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114818612A true CN114818612A (zh) | 2022-07-29 |
Family
ID=82507686
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210446109.2A Pending CN114818612A (zh) | 2022-04-26 | 2022-04-26 | 一种基于结构化数据的报表代码的处理方法及相关设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114818612A (zh) |
-
2022
- 2022-04-26 CN CN202210446109.2A patent/CN114818612A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110795455B (zh) | 依赖关系解析方法、电子装置、计算机设备及可读存储介质 | |
JP2020522790A (ja) | 異種にプログラムされたデータ処理システムの自動依存性アナライザ | |
CN111400387A (zh) | 导入导出数据的转换方法、装置、终端设备及存储介质 | |
CN110955714A (zh) | 一种将非结构化文本转化为结构化文本的方法及装置 | |
CN112925720A (zh) | 一种软件sql测试方法、装置、存储介质及系统 | |
CN114238527A (zh) | 基于对象关系映射的数据处理方法和数据处理装置 | |
CN116483850A (zh) | 数据处理方法、装置、设备以及介质 | |
CN105867886B (zh) | 一种写表格的方法及装置 | |
CN117216042A (zh) | 一种数据标准化平台的构建方法及装置 | |
CN111126008A (zh) | 基于xsd的代码生成方法、装置、计算机设备及存储介质 | |
CN114818612A (zh) | 一种基于结构化数据的报表代码的处理方法及相关设备 | |
CN115757174A (zh) | 一种数据库的差异检测方法及装置 | |
CN112395818B (zh) | 基于SysML的硬件算法模型构建方法 | |
CN114358596A (zh) | 指标计算方法及装置 | |
CN113868138A (zh) | 测试数据的获取方法、系统、设备及存储介质 | |
CN114547083A (zh) | 数据处理方法、装置及电子设备 | |
CN110414813B (zh) | 指标曲线的构建方法、装置及设备 | |
CN108733353B (zh) | 一种界面构造方法和装置 | |
CN111221846B (zh) | 一种sql语句的自动翻译方法及装置 | |
CN113535843B (zh) | 数据查询方法、装置、电子设备及可读存储介质 | |
CN116756184B (zh) | 数据库实例处理方法、装置、设备、存储介质及程序产品 | |
CN113778886B (zh) | 一种测试用例的处理方法和装置 | |
CN117743360A (zh) | 数据查询方法及电子设备 | |
CN116662274A (zh) | 一种表格文件导出方法,系统及电子设备 | |
CN117493327A (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 |