CN115952174B - 一种数据表联接方法、系统、终端及存储介质 - Google Patents
一种数据表联接方法、系统、终端及存储介质 Download PDFInfo
- Publication number
- CN115952174B CN115952174B CN202310236696.7A CN202310236696A CN115952174B CN 115952174 B CN115952174 B CN 115952174B CN 202310236696 A CN202310236696 A CN 202310236696A CN 115952174 B CN115952174 B CN 115952174B
- Authority
- CN
- China
- Prior art keywords
- data table
- field
- data
- calculation
- determining
- 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.)
- Active
Links
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供一种数据表联接方法、系统、终端及存储介质,包括:通过分析表题要素,确定所有数据表与第一数据表的的关联度;根据关联度和数据量确定所有数据表的联接优先级;根据联接优先级确定第一数据表要联接的第二数据表;通过分析字段要素,确定第二数据表中以字段为单位的计算式模板;接收用户调用计算式模板并填入字段的操作,得到完整的自定义计算式;根据自定义计算式调整第二数据表的字段和第一数据表相同,将调整后的第二数据表的字段值合并到第一数据表形成联接后的第三数据表。本发明针对字段不统一的数据表,改善了手动调整数据表格式的问题,有利于管控数据表联接过程中的数据管理权限,提升数据联接的高效性和合理性。
Description
技术领域
本发明属于企业数据管理服务技术领域,具体涉及一种数据表联接方法、系统、终端及存储介质。
背景技术
企业统计报表是企业掌握级业务部门收集数据的重要来源之一,通过各级业务部门的具体数据汇总、分析的而成。企业统计报表是为企业经营决策管理提供统计信息,而针对不同层级的决策者所需的统计信息和报表格式也是不一样的。例如有的部门展示“月销售量”,而在整个企业中需要展示“季度销售量”,在企业进行汇总统计时,则需要手动添加新的字段“季度销售量”,将“月销售量”的字段值进行计算得到“季度销售量”的字段值。目前市面上出现了专门服务于企业的数据管理的系统,仍是延续企业常用的表格管理的形式。针对上述问题,若要各部门重新提供统一格式的统计报表,或者将各部门各式格式的统计报表进行手动汇总,均会增加了工作量,而且在此过程中会造成数据管理权限的乱用。因此需要一种根据字段的实际情况进行数据表联接的方法。
发明内容
针对现有技术的上述不足,本发明提供一种数据表联接方法、系统、终端及存储介质,以解决上述技术问题。
第一方面,本发明提供一种数据表联接方法,包括:
通过分析表题要素,确定所有数据表与第一数据表的的关联度;根据关联度和数据量确定所有数据表的联接优先级;根据联接优先级确定第一数据表要联接的第二数据表;
通过分析字段要素,确定第二数据表中以字段为单位的计算式模板;接收用户调用计算式模板并填入字段的操作,得到完整的自定义计算式;
根据自定义计算式调整第二数据表的字段和第一数据表相同,将调整后的第二数据表的字段值合并到第一数据表形成联接后的第三数据表。
进一步地,所述通过分析表题要素,确定所有数据表与第一数据表的的关联度,包括:
通过机器学习方式训练得到的神经网络模型作为要素识别模型,识别当前两个数据表的表题要素,所述表题要素包括一个核心要素和至少一个一般要素;
划分各个表题要素的关联度分值占比,需要保证核心要素的关联度分值占比大于一般要素之和;
通过某一项表题要素的余弦相似度和该表题要素的关联度分值占比确定该表题要素的关联度分值;
将各个表题要素的关联度分值之和作为两个数据表的关联度。
进一步地,所述根据关联度和数据量确定所有数据表的联接优先级,包括:
查询所有数据表的数据量;
确定用户选定的第一数据表,将与第一数据表的关联度在预设的关联度阈值范围内的数据表作为第一目标范围,在第一目标范围内确定数据量最小的数据表为第一目标数据表;所述预设的关联度阈值范围为,历史操作中用户手动关联的两个数据表之间的关联度的最大值和最小值组成范围;
将与第一目标数据表的关联度在预设的关联度阈值范围内的数据表作为第二目标范围,在第二目标范围内确定数据量最小的数据表为第二目标数据表,直到得到所有数据表的联接顺序;
在预设的关联度阈值范围内存在数据量最小值相等的至少两个数据表时,优先选择关联度高的数据表作为要联接的下一数据表;
在关联度和数据量均相等时随机确定优先级。
进一步地,所述通过分析字段要素,确定第二数据表中以字段为单位的计算式模板,包括:
识别第一数据表和第二数据表的行列分布结构,确定的计算式模板为透视表行列转换;
分析第一数据表的第一字段名和第二数据表的第二字段名,筛选出具备语义关系的第一字段名和第二字段名,语义关系包括:等同关系、上位关系;确定的计算式模板为多字段求和函数和字段拆解函数;
分析第一数据表的第一字段值和第二数据表的第二字段值,筛选出具有计算关系的第一字段名和第二字段名,确定的计算式模板为计算关系对应的计算函数;
分析具备语义关系和计算关系的字段值的数据信息,确定的计算式模板为精确度统一和数据类型转换函数。
进一步地,在分析字段要素之前,还包括:
遍历数据表的所有字段的位置、字段名和数据信息并添加到逻辑树的相应节点中;
所述逻辑树以各个字段作为第一节点进行分支,第一节点被赋予该字段的位置和字段名;
每个第一节点对应的字段下每个字段值作为第二节点;
第二节点中被赋予该字段值内的数据信息。
进一步地,所述接收用户调用计算式模板并填入字段的操作,得到完整的自定义计算式,包括:开放第二数据表以字段为单位的计算式模板的权限;
接收用户填入所述计算式模板目标字段的操作,形成能对字段进行操作的完整的自定义计算式;
并抽取一组记录向用户显示该自定义计算式模拟执行的结果。
进一步地,所述根据自定义计算式调整第二数据表的字段和第一数据表相同,将调整后的第二数据表的字段值合并到第一数据表形成联接后的第三数据表,包括:
根据自定义计算式,以字段为单位对第二数据表的字段值进行对应的函数操作;
遍历第二数据表的逻辑树,判断第二数据表的第一节点和第一数据表的第一节点是否一致;
根据第二数据表的记录条数扩充第一数据表的记录条数,将第二数据表的字段值写入第一数据表的对应位置。
第二方面,本发明提供一种数据表联接系统,包括:
联接排序单元,用于通过分析表题要素,确定所有数据表与第一数据表的的关联度;根据关联度和数据量确定所有数据表的联接优先级;根据联接优先级确定第一数据表要联接的第二数据表;
计算式生成单元,用于通过分析字段要素,确定第二数据表中以字段为单位的计算式模板;接收用户调用计算式模板并填入字段的操作,得到完整的自定义计算式;
联接执行单元,用于根据自定义计算式调整第二数据表的字段和第一数据表相同,将调整后的第二数据表的字段值合并到第一数据表形成联接后的第三数据表。
第三方面,提供一种终端,包括:
处理器、存储器,其中,
该存储器用于存储计算机程序,
该处理器用于从存储器中调用并运行该计算机程序,使得终端执行上述的终端的方法。
第四方面,提供了一种计算机存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述各方面所述的方法。
本发明的有益效果在于:本发明提供的一种数据表联接方法、系统、终端及存储介质,针对字段不统一的数据表提供一种数据表联接方式;通过设定字段的计算式改善了手动调整数据表格式的问题,减轻了数据表联接的工作量,并且根据表格联接的实际情况提供计算式,有利于管控数据表联接过程中的数据管理权限。此外,根据关联度和数据量确定数据表联接优先级,有利于提升数据联接的高效性和合理性。此外,本发明设计原理可靠,结构简单,具有非常广泛的应用前景。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一个实施例的方法的示意性流程图。
图2是本发明一个实施例的系统的示意性框图。
图3为本发明实施例提供的一种终端的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
图1是本发明一个实施例的一种数据表联接方法的示意性流程图。其中,图1执行主体可以为一种数据表联接系统。图1为本发明实施例一提供的电子表格的数据处理方法的流程图,本实施例的方法由终端设备完成,该终端设备例如是手机、平板电脑、个人电脑等。
第一方面,本发明提供一种数据表联接方法,包括:
S110、通过分析表题要素,确定所有数据表与第一数据表的的关联度;根据关联度和数据量确定所有数据表的联接优先级;根据联接优先级确定第一数据表要联接的第二数据表。
本发明实施例所述的数据表可以是实体表,也可以是网络虚拟表,但一定是二维的表;用户可以对数据表内的数据进行新增、查询、更新、删除等操作;所述表题要素为数据表的内容概要,例如数据表1:“2021年2月生产部门应收款信息明细表”; 数据表2:“2021年3月生产部门应收款信息明细表”;数据表3:“2021年4月采购部门员工出勤统计表”;明显数据表1和数据表2的关联度高,仅是月份的不同;数据表3和数据表1、2之间的关联度低,两个数据表之间几乎毫无关系。根据关联度确定数据表1来说,数据表2的联接优先级高于数据表3,所以数据表1为基准,先联接数据表2然后联接数据表3。
S120、通过分析字段要素,确定第二数据表中以字段为单位的计算式模板;接收用户调用计算式模板并填入字段的操作,得到完整的自定义计算式。
本发明实施例所述的字段要素为数据表的表头,数据表中每一行叫做一个“记录”,每一列代表一个“字段”,并有唯一的供计算机识别的字段标识符;当然所述“记录”和“字段”的行列分布根据数据表的具体情况而定。以第一数据表为基准,则第二数据表需要调整成第二数据表的字段形式,计算式是预设的字段的操作函数,通过计算式对字段进行操作时,字段下所有记录的字段值均进行相应的计算。所述计算式模板为待填入字段的空白函数,本实施例可以通过多种个性化的操作,使得用户向空白函数填入待操作的字段。
S130、根据自定义计算式调整第二数据表的字段和第一数据表相同,将调整后的第二数据表的字段值合并到第一数据表形成联接后的第三数据表。
具体地,合并的方式包括第二数据表的内容补充在第一数据表的下方,使得两张数据表共用相同的字段。
本发明提供的方法实施例,针对字段不统一的数据表提供一种数据表联接方式;通过设定字段的计算式改善了手动调整数据表格式的问题,减轻了数据表联接的工作量,并且根据表格联接的实际情况提供计算式,有利于管控数据表联接过程中的数据管理权限。此外,根据关联度和数据量确定数据表联接优先级,有利于提升数据联接的高效性和合理性。
需要说明的是,本发明数据表的字段是除了ID字段之外有具体物理意义的字段,作为数据表的必备字段,在进行数据表联接时,ID字段根据记录数量以自然数序列自动延续。
可选地,作为本发明一个实施例,所述通过分析表题要素,确定所有数据表与第一数据表的的关联度,包括:通过机器学习方式训练得到的神经网络模型作为要素识别模型,识别当前两个数据表的表题要素,所述表题要素包括一个核心要素和至少一个一般要素;划分各个表题要素的关联度分值占比,需要保证核心要素的关联度分值占比大于一般要素之和;通过某一项表题要素的余弦相似度和该表题要素的关联度分值占比确定该表题要素的关联度分值;将各个表题要素的关联度分值之和作为两个数据表的关联度。
具体地,所述表题要素包括客体要素、主体要素、日期要素,以数据表1“2021年2月生产部门应收款信息明细表”为例,客体要素为“应收款信息”、主体要素为“生产部门”、日期要素为“2021年2月”;本发明实施例在具体实施过程中核心要素和一般要素的划定可以由用户设置,例如设置客体要素为核心要素,主体要素和日期要素为一般要素。以“应收款信息”为核心,要联接的数据表的内容为“应收款信息”,此时数据表联接的目的为将不同日期或者主体(部门)的“应收款信息”进行汇总。
本发明实施例对于表题要素的识别是通过机器学习方式训练得到的神经网络模型作为要素识别模型,所述神经网络模型可以是CNN模型,通过大量的人为标注的表题要素的训练集,对神经网络模型进行训练,得到要素识别模型,向要素识别模型输入数据表的表题,则直接输出表题要素中的客体要素、主体要素、日期要素。在数据表创建的初始阶段,表题是数据表创建者必填入的内容。即使各个表题要素的排列位置不一样,例如数据表1也可以是“生产部门应2021年2月收款信息明细表”,通过要素识别模型均可以实现准确的识别。
所述关联度分值占比为按照百分比进行划分,100%的关联度代表表题要素完全一致;为了保证核心要素的关联度分值占比大于一般要素之和,所述核心要素的关联度分值占比要大于50%,例如核心要素——客体要素的关联度分值占比60%,保证客体要素站绝对影响因素,只要客体要素一致,然后对其他日期要素和主体要素的数据表联接在一起,例如数据表1最终联接的是各个月份和部门的应收款信息。本发明实施例提供的数据表的联接优先级的确定方法,有利于优先联接客体要素一致的数据表,对于数据表联接在逻辑上更为合理。
在本实施例中,确定了关联度分值占比只是确定了该表题要素的关联度的最高值,下面对于关联度具体分值的计算方法进行说明:将表题要素进行向量化处理,两个数据表的同一表题要素向量的余弦相似度通过夹角的余弦值计算,关联度分值sim1=(关联度分值占比×100)×[1+cos(x1,y1)]/2,其中x1,y1为两个数据表的客体要素的文本向量;cos( )表示余弦函数,余弦函数的值域在[-1,1]之间。
可选地,作为本发明一个实施例,所述根据关联度和数据量确定所有数据表的联接优先级,包括:查询所有数据表的数据量;确定用户选定的第一数据表,将与第一数据表的关联度在预设的关联度阈值范围内的数据表作为第一目标范围,在第一目标范围内确定数据量最小的数据表为第一目标数据表;所述预设的关联度阈值范围为,历史操作中用户手动关联的两个数据表之间的关联度的最大值和最小值组成范围;将与第一目标数据表的关联度在预设的关联度阈值范围内的数据表作为第二目标范围,在第二目标范围内确定数据量最小的数据表为第二目标数据表,直到得到所有数据表的联接顺序;在预设的关联度阈值范围内存在数据量最小值相等的至少两个数据表时,优先选择关联度高的数据表作为要联接的下一数据表;在关联度和数据量均相等时随机确定优先级。
具体地,本发明实施例的数据表之间的联接优先级,以原数据表提前进行判断,在联接之前就已经确定了联接的顺序,存在至少三个规则,规则1:在预设的关联度阈值范围内优先联接数据量小的数据表由于在数据表联接过程中数据量越滚越大,所以在保证关联度的同时,优先联接数据量小的数据表,规则2:如果根据规则1确定的数据表不止一个,则优先选择关联度高的数据表作为要联接的下一数据表;规则3:如果根据规则2仍然确定不了唯一的数据表,则此时无论选择哪个对于联接的执行影响都不大,所以针对确定不了优先级的数据表随机进行确定。
所述预设的关联度阈值范围为,历史操作中用户手动关联的两个数据表之间的关联度最小值以上的范围;在开始本方法提供的自动实现数据表联接之前的历史手动操作中,监控用户手动确定的多个具备联接关系的数据表,并通过上述方式计算历史操作中具备连接关系的数据表的关联度,然后确定最小值作为预设的关联度阈值范围。
确定同一个数据表来源部门任意两个数据表出格率,所述出格率为某一个部门发出的某一个时期的数据表的出格数量占该部门发出的数据表总数量的比例,其中,所述出格数量为关联度不在关联度阈值范围内的数据表的个数,对出格率长期处于升高趋势的数据表的来源部门发出警告。
可选地,作为本发明一个实施例,所述通过分析字段要素,确定第二数据表中以字段为单位的计算式模板,包括:识别第一数据表和第二数据表的行列分布结构,确定的计算式模板为透视表行列转换;分析第一数据表的第一字段名和第二数据表的第二字段名,筛选出具备语义关系的第一字段名和第二字段名,语义关系包括:等同关系、上位关系;确定的计算式模板为多字段求和函数和字段拆解函数;分析第一数据表和第二数据表的字段值,筛选出具有计算关系的多个字段,确定的计算式模板为计算关系对应的计算函数;分析具备语义关系和计算关系的字段值的数据信息,确定的计算式模板为精确度统一和数据类型转换函数。
具体地,数据表行列分布结构为表头的位置,表头位于一行还是一列;如果两个数据表的表头位置不一致,则通过透视表行列转换进行行列的转换。
对照wordnet语义网络通过语义识别的方式确定具备语义关系的字段名,例如具备等同关系的“组别”和“组号”、“收款”和“到款”;具备上位关系的“流水”和“收款”、“联系方式”和“手机号”;针对上位关系的字段名,对应的计算式为多字段求和函数和字段拆解函数,例如将一个字段“流水”拆解为“收款”和“付款”两个字段,将“传真”和“手机号”两个字段求和为一个字段“联系方式”。在数据表联接时,将具备等同关系的字段下的字段值对应的计算式模板为字段合并函数,例如具备等同关系的数据表1的字段C2和数据表2的字段B2,其中,C2字段的字段名为“组别”, B2字段的字段名为“组号”、则将数据表2中的B2字段所有的记录的字段值直接迁移到C2字段下,将两个字段合并为一个字段处理。而每天通过语义识别的方式确定不具备语义关系和计算关系的字段,就直接作为新的字段将对应的记录迁移到第一数据表中,计算式模板为字段新增函数。
例如数据表1“2021年2月生产部门应收款信息明细表”中有“收款”和“季度收款预算”两个不同的字段,其中“收款”对应的三个记录的字段值为“10、15、22”和“季度收款预算”对应的三个记录的字段值为“30、45、66”,通过数据分析得到“收款”和“季度收款预算”之间的计算关系为“收款×3=季度收款预算”,确定的计算式模板为倍数计算关系对应的倍数函数,d1(第一字段,第二字段,n)的含义为第一字段值×n=第二字段值,其中该函数d1()定义倍数n为大于1的自然数,其他计算函数均可以该倍数函数d1 ()进行提前设定,例如求平均值的计算式模板,d2(第一字段,第五字段,x,第六字段)的含义为第六字段值=(第一字段值+第二字段值+第三字段值+第四字段值+第五字段值)/x。本发明仅考虑可以用本发明预设的计算式模板识别出的计算式。
需要注意的是,计算关系的识别需要一定的样本量,即在分析计算关系时,为了减少计算量可以通过对数据表的记录进行一定数量的抽样分析。
具体地,数据信息包括数据类型和精确度;数据类型包括数值类型,包括整数型、浮点型和位类型;日期类型,包括DATETIME、TIMESTAMP、YEAR;以及字符串类型,包括varchar、char、text等类型;精确度即字段值保留小数点后几位以及数值的单位。
具体地,精确度统一和数据类型转换函数为预设的字段值处理函数,例如第一数据表“收款”对应的字段值为“10万”,第二数据表“季度收款预算”对应的字段值为“300000.00”,则确定的计算式模板为精确度统一函数;将第二数据表的“季度收款预算”对应的字段值调整为“30”,使得联接后的数据表的精度度是统一的。又例如针对日期类型,第一数据表“收款日期”对应的字段值为“2021-3-5 10:20:30”,第二数据表“收款日期”对应的字段值为“2021-4-23”,则确定的计算式模板为数据类型转换函数,将第二数据表的数据类型转换为“2021-4-23 00:00:00”。
在本发明实施例中仅处理具备语义关系和计算关系的字段值的数据信息,具备语义关系和计算关系的字段的精确度和数据类型处理具有较大影响,而没有语义关系和计算关系的字段,仅作迁移处理的话,数据类型和精确度可以在后期进行统一处理,而不会对字段的计算产生其他影响能够减小计算量,需要说明的是,精确度统一和数据类型转换函数需要在语义关系和计算关系之前进行处理,才能保证后续语义关系和计算关系对应的计算式处理准确。
其中,所述没有语义关系和计算关系的字段,指的是对照wordnet语义网络通过语义识别的方式确定不具备语义关系的字段名,且,通过逐个套入计算式模板的方式确定不存在计算关系的字段值的字段,指的是这两种情况的交集。
可选地,作为本发明一个实施例,在分析字段要素之前,还包括:遍历数据表的所有字段的位置、字段名和数据信息并添加到逻辑树的相应节点中;所述逻辑树以各个字段作为第一节点进行分支,第一节点被赋予该字段的位置和字段名;每个第一节点对应的字段下每个字段值作为第二节点;第二节点中被赋予该字段值内的数据信息。
在本发明实施例中为了方便数据表的读取,将数据表转换为逻辑树以支持多种格式的数据表文件的读取,所述逻辑树的根节点为该数据表,以根节点分叉得到的逻辑树的第一节点对应该数据表的各个字段,所有第一节点均在同一层面上,第一节点的从左到右的顺序可以与字段从左到右的顺序一致;第一节点的标签为该字段的位置和字段名;所述字段的位置为第几行第几列,所述字段名为数据表记录的项目内容,例如“款项”、“金额”;通过逻辑树能够更为灵活地对数据表进行遍历、操作。
可选地,作为本发明一个实施例,所述接收用户调用计算式模板并填入字段的操作,得到完整的自定义计算式,包括:开放第二数据表以字段为单位的计算式模板的权限;接收用户填入所述计算式模板目标字段的操作,形成能对字段进行操作的完整的自定义计算式;并抽取一组记录向用户显示该自定义计算式模拟执行的结果。
具体地,开放了第二数据表确定的计算式模板的权限后,用户可以根据自己的需求调用相应的计算式模板,然后将要操作的字段填入计算时模板中,得到完整的计算式,该计算式可以直接对字段进行操作;例如第一数据表中有“收款”和“季度收款预算”两个不同的字段a1、a2,其中“收款”对应的三个记录的字段值为“10、15、22”和“季度收款预算”对应的三个记录的字段值为“30、45、66”;通过分析字段a1、a2的计算关系确定计算式模板为d(第一字段,第二字段,n);而第二数据表中有字段b1“收款”,对应的三个记录的字段值为“12、10、3”;则在第二数据表新增b2“季度收款预算”,向第一字段输入b1,向第二字段输入b2,输入n=3,得到第二数据表的倍数函数的计算式为d(b1,b2,3)。
为了提高用户的使用过程中的体验感,本发明实施例作如下设计;在用户调用某一计算式模板后,在计算式模板上方弹出消息框解释该计算式模板的使用方法,以及各个参数的含义,便于用户根据使用方法的指导填入对应的字段;并在形成完整的计算式之后,用户点击数据系统上的“测试”按键,系统自动在操作的数据表中抽取一组记录向用户显示该自定义计算式模拟执行的结果,其中,该组记录中包括测试该计算式所需的预设条数的记录,可以为根据ID字段顺序抽取,也可以是随机函数对ID字段进行抽取;本发明实施例能够帮助用户根据模拟执行结果进一步调整计算式,基于字段包含较大的数据量,能够避免进行提前测试,避免无效操作,且记录用户调整计算式的操作,便于后期对计算式模板的使用进行更为人性化的优化。
需要说明的是,以上列举计算式模板仅为本发明实施例的一种体现,不代表本发明全部的计算式模板,本发明重点体现计算式模板调用处理字段的一种手段,具体使用何种计算式能够实现更好的联接,都是用户可以在企业数据管理系统中进行预设的。
可选地,作为本发明一个实施例,所述根据自定义计算式调整第二数据表的字段和第一数据表相同,将调整后的第二数据表的字段值合并到第一数据表形成联接后的第三数据表,包括:根据自定义计算式,以字段为单位对第二数据表的字段值进行对应的函数操作;遍历第二数据表的逻辑树,判断第二数据表的第一节点和第一数据表的第一节点是否一致;根据第二数据表的记录条数扩充第一数据表的记录条数,将第二数据表的字段值写入第一数据表的对应位置。
具体地,本发明实施例实现数据表联接的一个目的是实现两个数据表的字段相同,从而保证可以根据相同的字段进行字段值的迁移,这是实现数据表的联接的最终方式。首先为了实现两个数据表的字段相同,可以以一个数据表为基准,对其他数据表进行调整。且所有计算式对应的函数操作均以字段为单位,操作的目标为字段值,所以需要在数据表建立时,确定字段和字段值在函数操作时的映射关系。
本发明实施例为了提高资源利用率,可以设置两个线程,在进行数据表联接之前,两个线程均用户数据表的分析,包括关联度、数据量的分析,在确定了联接优先级之后,第一线程用于字段值的合并的执行,第二线程用于下一个要联接的数据表的字段调整,包括计算式模板的确定和调用,从而后台自动实现逐个数据表的联接的同时,用户可以在系统内进行操作,最大程度地利用系统的计算资源,保证数据表联接执行过程的有序性,将执行的过程用甘特图显示出来,便于后期对数据表联接过程进行客观分析。
第二方面,本发明提供一种数据表联接系统,包括:
联接排序单元210,用于通过分析表题要素,确定所有数据表与第一数据表的的关联度;根据关联度和数据量确定所有数据表的联接优先级;根据联接优先级确定第一数据表要联接的第二数据表;
计算式生成单元220,用于通过分析字段要素,确定第二数据表中以字段为单位的计算式模板;接收用户调用计算式模板并填入字段的操作,得到完整的自定义计算式;
联接执行单元230,用于根据自定义计算式调整第二数据表的字段和第一数据表相同,将调整后的第二数据表的字段值合并到第一数据表形成联接后的第三数据表。
图3为本发明实施例提供的一种终端300的结构示意图,该终端300可以用于执行本发明实施例提供的数据表联接的方法。
其中,该终端300可以包括:处理器310、存储器320及通信单元330。这些组件通过一条或多条总线进行通信,本领域技术人员可以理解,图中示出的服务器的结构并不构成对本发明的限定,它既可以是总线形结构,也可以是星型结构,还可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
其中,该存储器320可以用于存储处理器310的执行指令,存储器320可以由任何类型的易失性或非易失性存储终端或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。当存储器320中的执行指令由处理器310执行时,使得终端300能够执行以下上述方法实施例中的部分或全部步骤。
处理器310为存储终端的控制中心,利用各种接口和线路连接整个电子终端的各个部分,通过运行或执行存储在存储器320内的软件程序和/或模块,以及调用存储在存储器内的数据,以执行电子终端的各种功能和/或处理数据。所述处理器可以由集成电路(Integrated Circuit,简称IC) 组成,例如可以由单颗封装的IC 所组成,也可以由连接多颗相同功能或不同功能的封装IC而组成。举例来说,处理器310可以仅包括中央处理器(Central Processing Unit,简称CPU)。在本发明实施方式中,CPU可以是单运算核心,也可以包括多运算核心。
通信单元330,用于建立通信信道,从而使所述存储终端可以与其它终端进行通信。接收其他终端发送的用户数据或者向其他终端发送用户数据。
本发明还提供一种计算机存储介质,其中,该计算机存储介质可存储有程序,该程序执行时可包括本发明提供的各实施例中的部分或全部步骤。所述的存储介质可为磁碟、光盘、只读存储记忆体(英文:read-only memory,简称:ROM)或随机存储记忆体(英文:random access memory,简称:RAM)等。
本领域的技术人员可以清楚地了解到本发明实施例中的技术可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明实施例中的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中如U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质,包括若干指令用以使得一台计算机终端(可以是个人计算机,服务器,或者第二终端、网络终端等)执行本发明各个实施例所述方法的全部或部分步骤。
本说明书中各个实施例之间相同相似的部分互相参见即可。尤其,对于终端实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例中的说明即可。
在本发明所提供的几个实施例中,应该理解到,所揭露的系统和方法,可以通过其它的方式实现。例如,以上所描述的系统实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,系统或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
尽管通过参考附图并结合优选实施例的方式对本发明进行了详细描述,但本发明并不限于此。在不脱离本发明的精神和实质的前提下,本领域普通技术人员可以对本发明的实施例进行各种等效的修改或替换,而这些修改或替换都应在本发明的涵盖范围内或任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (8)
1.一种数据表联接方法,其特征在于,包括:
通过分析表题要素,确定所有数据表与第一数据表的的关联度;根据关联度和数据量确定所有数据表的联接优先级;根据联接优先级确定第一数据表要联接的第二数据表;
通过分析字段要素,确定第二数据表中以字段为单位的计算式模板;接收用户调用计算式模板并填入字段的操作,得到完整的自定义计算式;
根据自定义计算式调整第二数据表的字段和第一数据表相同,将调整后的第二数据表的字段值合并到第一数据表形成联接后的第三数据表;
所述通过分析表题要素,确定所有数据表与第一数据表的的关联度,包括:
通过机器学习方式训练得到的神经网络模型作为要素识别模型,识别当前两个数据表的表题要素,所述表题要素包括一个核心要素和至少一个一般要素;
划分各个表题要素的关联度分值占比,需要保证核心要素的关联度分值占比大于一般要素之和;
通过某一项表题要素的余弦相似度和该表题要素的关联度分值占比确定该表题要素的关联度分值;
将各个表题要素的关联度分值之和作为两个数据表的关联度;
所述通过分析字段要素,确定第二数据表中以字段为单位的计算式模板,包括:
识别第一数据表和第二数据表的行列分布结构,确定的计算式模板为透视表行列转换;
分析第一数据表的第一字段名和第二数据表的第二字段名,筛选出具备语义关系的第一字段名和第二字段名,语义关系包括:等同关系、上位关系;确定的计算式模板为多字段求和函数和字段拆解函数;
分析第一数据表的第一字段值和第二数据表的第二字段值,筛选出具有计算关系的第一字段名和第二字段名,确定的计算式模板为计算关系对应的计算函数;
分析具备语义关系和计算关系的字段值的数据信息,确定的计算式模板为精确度统一和数据类型转换函数。
2.根据权利要求1所述的数据表联接方法,其特征在于,所述根据关联度和数据量确定所有数据表的联接优先级,包括:
查询所有数据表的数据量;
确定用户选定的第一数据表,将与第一数据表的关联度在预设的关联度阈值范围内的数据表作为第一目标范围,在第一目标范围内确定数据量最小的数据表为第一目标数据表;所述预设的关联度阈值范围为,历史操作中用户手动关联的两个数据表之间的关联度的最大值和最小值组成范围;
将与第一目标数据表的关联度在预设的关联度阈值范围内的数据表作为第二目标范围,在第二目标范围内确定数据量最小的数据表为第二目标数据表,直到得到所有数据表的联接顺序;
在预设的关联度阈值范围内存在数据量最小值相等的至少两个数据表时,优先选择关联度高的数据表作为要联接的下一数据表;
在关联度和数据量均相等时随机确定优先级。
3.根据权利要求1所述的数据表联接方法,其特征在于,在分析字段要素之前,还包括:
遍历数据表的所有字段的位置、字段名和数据信息并添加到逻辑树的相应节点中;
所述逻辑树以各个字段作为第一节点进行分支,第一节点被赋予该字段的位置和字段名;
每个第一节点对应的字段下每个字段值作为第二节点;
第二节点中被赋予该字段值内的数据信息。
4.根据权利要求1所述的数据表联接方法,其特征在于,所述接收用户调用计算式模板并填入字段的操作,得到完整的自定义计算式,包括:开放第二数据表以字段为单位的计算式模板的权限;
接收用户填入所述计算式模板目标字段的操作,形成能对字段进行操作的完整的自定义计算式;
并抽取一组记录向用户显示该自定义计算式模拟执行的结果。
5.根据权利要求1所述的数据表联接方法,其特征在于,所述根据自定义计算式调整第二数据表的字段和第一数据表相同,将调整后的第二数据表的字段值合并到第一数据表形成联接后的第三数据表,包括:
根据自定义计算式,以字段为单位对第二数据表的字段值进行对应的函数操作;
遍历第二数据表的逻辑树,判断第二数据表的第一节点和第一数据表的第一节点是否一致;
根据第二数据表的记录条数扩充第一数据表的记录条数,将第二数据表的字段值写入第一数据表的对应位置。
6.一种数据表联接系统,其特征在于,包括:
联接排序单元,用于通过分析表题要素,确定所有数据表与第一数据表的的关联度;根据关联度和数据量确定所有数据表的联接优先级;根据联接优先级确定第一数据表要联接的第二数据表;
所述通过分析表题要素,确定所有数据表与第一数据表的的关联度,包括:
通过机器学习方式训练得到的神经网络模型作为要素识别模型,识别当前两个数据表的表题要素,所述表题要素包括一个核心要素和至少一个一般要素;
划分各个表题要素的关联度分值占比,需要保证核心要素的关联度分值占比大于一般要素之和;
通过某一项表题要素的余弦相似度和该表题要素的关联度分值占比确定该表题要素的关联度分值;
将各个表题要素的关联度分值之和作为两个数据表的关联度;
计算式生成单元,用于通过分析字段要素,确定第二数据表中以字段为单位的计算式模板;接收用户调用计算式模板并填入字段的操作,得到完整的自定义计算式;
所述通过分析字段要素,确定第二数据表中以字段为单位的计算式模板,包括:
识别第一数据表和第二数据表的行列分布结构,确定的计算式模板为透视表行列转换;
分析第一数据表的第一字段名和第二数据表的第二字段名,筛选出具备语义关系的第一字段名和第二字段名,语义关系包括:等同关系、上位关系;确定的计算式模板为多字段求和函数和字段拆解函数;
分析第一数据表的第一字段值和第二数据表的第二字段值,筛选出具有计算关系的第一字段名和第二字段名,确定的计算式模板为计算关系对应的计算函数;
分析具备语义关系和计算关系的字段值的数据信息,确定的计算式模板为精确度统一和数据类型转换函数;
联接执行单元,用于根据自定义计算式调整第二数据表的字段和第一数据表相同,将调整后的第二数据表的字段值合并到第一数据表形成联接后的第三数据表。
7.一种终端,其特征在于,包括:
处理器;
用于存储处理器的执行指令的存储器;
其中,所述处理器被配置为执行权利要求1-5任一项所述的方法。
8.一种存储有计算机程序的计算机可读存储介质,其特征在于,该程序被处理器执行时实现如权利要求1-5中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310236696.7A CN115952174B (zh) | 2023-03-13 | 2023-03-13 | 一种数据表联接方法、系统、终端及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310236696.7A CN115952174B (zh) | 2023-03-13 | 2023-03-13 | 一种数据表联接方法、系统、终端及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115952174A CN115952174A (zh) | 2023-04-11 |
CN115952174B true CN115952174B (zh) | 2023-05-30 |
Family
ID=85886541
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310236696.7A Active CN115952174B (zh) | 2023-03-13 | 2023-03-13 | 一种数据表联接方法、系统、终端及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115952174B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018013687A1 (en) * | 2016-07-15 | 2018-01-18 | Intuit Inc. | System and method for automatically generating calculations for fields in compliance forms |
CN107967313A (zh) * | 2017-11-21 | 2018-04-27 | 中科宇图科技股份有限公司 | 一种基于字段数据和坐标共性合并不同行业数据的方法 |
CN113673252A (zh) * | 2021-08-12 | 2021-11-19 | 之江实验室 | 一种基于字段语义的数据表自动join推荐方法 |
CN115380281A (zh) * | 2020-02-26 | 2022-11-22 | 起元技术有限责任公司 | 根据数据字段的语义标签生成用于数据字段的数据处理值的规则 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102508850A (zh) * | 2011-09-29 | 2012-06-20 | 用友软件股份有限公司 | 表单数据处理装置和表单数据处理方法 |
CN108038135A (zh) * | 2017-11-21 | 2018-05-15 | 平安科技(深圳)有限公司 | 电子装置、多表关联查询的方法及存储介质 |
CN112115138A (zh) * | 2020-08-19 | 2020-12-22 | 第四范式(北京)技术有限公司 | 确定数据表之间关联关系的方法、装置及设备 |
CN112597154A (zh) * | 2020-12-11 | 2021-04-02 | 广州橙行智动汽车科技有限公司 | 一种数据的存储方法、装置、电子设备、可读介质 |
-
2023
- 2023-03-13 CN CN202310236696.7A patent/CN115952174B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018013687A1 (en) * | 2016-07-15 | 2018-01-18 | Intuit Inc. | System and method for automatically generating calculations for fields in compliance forms |
CN107967313A (zh) * | 2017-11-21 | 2018-04-27 | 中科宇图科技股份有限公司 | 一种基于字段数据和坐标共性合并不同行业数据的方法 |
CN115380281A (zh) * | 2020-02-26 | 2022-11-22 | 起元技术有限责任公司 | 根据数据字段的语义标签生成用于数据字段的数据处理值的规则 |
CN113673252A (zh) * | 2021-08-12 | 2021-11-19 | 之江实验室 | 一种基于字段语义的数据表自动join推荐方法 |
Non-Patent Citations (1)
Title |
---|
数据集成中的一种数据合并技术;董树明等;现代计算机(专业版)(第11期);6-9+36 * |
Also Published As
Publication number | Publication date |
---|---|
CN115952174A (zh) | 2023-04-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11983199B2 (en) | Linking discrete dimensions to enhance dimensional analysis | |
CN112651218A (zh) | 一种标书自动生成方法、管理方法、介质以及计算机 | |
CN105653255B (zh) | 一种在office框架中设置报告模板以自动生成报告文件的方法 | |
CN102880683A (zh) | 一种可行性研究报告的自动网络生成系统及其生成方法 | |
CN109948913A (zh) | 一种基于双层的xgboost算法的多源特征电力用户综合画像系统 | |
CN110414926A (zh) | 台账管理方法、装置及计算机可读存储介质 | |
CN111062799A (zh) | 家庭客户的管理方法、装置、电子设备及存储介质 | |
CN114357020A (zh) | 业务场景数据提取方法、装置、计算机设备及存储介质 | |
CN106294128A (zh) | 一种导出报表数据的自动化测试方法及装置 | |
CN107392560A (zh) | 一种基于互联网的Excel表格数据发布采集方法及系统 | |
CN108875048A (zh) | 报表生成方法、装置、电子设备及可读存储介质 | |
CN108268615A (zh) | 一种数据处理方法、装置以及系统 | |
CN110928928B (zh) | 投资主体的数据统计方法、装置、电子设备及存储介质 | |
US20120078967A1 (en) | Integration of a Framework Application and a Task Database | |
CN115952174B (zh) | 一种数据表联接方法、系统、终端及存储介质 | |
CN112183037A (zh) | 一种平行企业财税SaaS系统中数据分类汇总方法及系统 | |
CN112348658A (zh) | 资源分配方法、装置及电子设备 | |
CN114722789B (zh) | 数据报表集成方法、装置、电子设备及存储介质 | |
CN115543428A (zh) | 一种基于策略模板的模拟数据生成方法和装置 | |
CN108897763A (zh) | 一种区块链数据转化系统 | |
CN110941952A (zh) | 一种完善审计分析模型的方法及装置 | |
CN111723129B (zh) | 报表生成方法、报表生成装置和电子设备 | |
CN115293685A (zh) | 物流订单的状态跟踪方法、装置、设备和存储介质 | |
CN107203506A (zh) | 一种报表生成方法及装置 | |
CN111639910A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |