大数跨境
0
0

【开源啦!】档案数字化目录数据质检工具代码分享

【开源啦!】档案数字化目录数据质检工具代码分享 贵州乾源档案服务有限公司
2025-05-08
0
图片

                                                          乾 源 档 案



点击蓝字

图片

关注我们




档案目录数据质检概述

随着档案数字化工作的不断推进,档案部门存量档案的目录著录和全文数字化取得了显著成绩。但这部分档案数字化成果数量庞大,质量情况却并不乐观,这使得数据质量检查工作任务艰巨。早期著录的档案目录数据,由于并非使用档案数字化专用软件著录,数据规范性欠佳;再者,档案数字化项目多采用服务外包的模式进行,加工人员职业素养、专业水平参差不齐。因此,在档案数字化项目实施以及数据接收工作中,数据质检工作对保证档案数字化成果数据质量,起着决定性的作用。


数据质检工作通常采用人工审核结合机检的方案进行。机检能够在短时间内对全量数据进行错误排查,效果显著,这是人工审核无法比拟的优势。在人工审核前进行机检,可提前发现部分错误,减轻人工审核工作负担;人工审核后进行机检,则能够弥补人工审核工作的一些疏漏。


目前,大多数情况下数字化加工团队已配备专业的质检软件工具,甚至已有AI赋能的相关应用,但也有一些小规模的加工团队依然缺乏专业工具支持;同样,档案部门在接收已加工数据时,需要进行目录数据抽检,部分单位也缺乏专业工具支持。


本文结合笔者多年档案数字化目录数据机检实践经验,将笔者珍藏多年的、针对SQL Server数据库和Excel软件的质检工具代码提供给大家,旨在记录、分享、交流,助力提升档案数字化工作效率和数据质量。


档案目录数据质检工具


1、检查字段的数据长度

全宗号、目录号、分类号、年度、日期、保管期限、案卷号、案卷级档号、文件级档号等常设字段,都有特定的数据长度要求。以档号为例,其编制长度要求为19。


SQL执行语句

select dh

from [dbo].[SystemCreate20250312094647684]

where len(dh)<> 19

如下图:

▲  【图1】

说明:在上述语句中,dh指文件档号,[dbo].[SystemCreate20250312094647684]指查找内容所在数据库表的名称,len函数返回字符串的字符个数,执行该语句后,不符合长度要求的数据将被筛选出来。


EXCEL执行方法

在Excel中,通过建立辅助列并输入公式“=len(A2)”(假设档号数据存放在A列),如图2,即可计算出每个档号的字符长度。然后,利用筛选功能筛选出不等于19的值,结果即为异常数据,如图3。

▲  【图2】

图片

▲  【图3】


2、检查字段的固定值或范围

全宗号、目录号、分类号、年度、保管期限等字段,其取值往往有固定要求或特定范围。


2.1 全宗号固定值检查

假设全宗号的固定值为“0000”。

SQL执行语句

select dh,qzh

from [dbo].[SystemCreate20250312094647684]

where qzh<>'0000'

如下图:

▲  【图4】

说明:在上述语句中,qzh代表全宗号。执行该语句,能快速找出全宗号不符合固定值的数据。


EXCEL执行方法

在Excel中,采用筛选工具对全宗号列进行对比筛查,如图5,将不等于“0000”的数据筛选出来,方便直观地查看和处理异常数据。

图片

▲  【图5】


2.2 年度范围检查

若年度范围为2003至2010。

SQL执行语句

select dh,nd

from [dbo].[SystemCreate20250312094647684]

where nd not between 2003 and 2010

如下图:

图片

▲  【图6】

说明:这里的nd指年度。通过该语句,可检索出年度不在规定范围内的数据。


EXCEL执行方法

采用筛选工具,在自定义筛选中设置条件,筛查出年度不符合范围的数据,如图7;也可以添加辅助列,输入公式“=AND(B2>=2003,B2<=2010)”(假设年度数据存放在B列),如图8,公式返回TRUE表示数据正确,返回FALSE则为异常数据。

▲  【图7】

图片

▲  【图8】

说明:AND函数用于检查多个条件是否同时成立。


2.3 保管期限值检查

文书档案保管期限通常为“永久”“30年”“10年”。

SQL执行语句

select dh,bgqx

from [dbo].[SystemCreate20250312094647684]

where bgqx not in('永久','30年','10年')

如下图:

▲  【图9】

说明:语句中bgqx指保管期限。执行此语句,可快速定位保管期限异常的数据。


EXCEL执行方法

采用筛选工具,筛选出不在规定保管期限范围内的数据,如图10;或者添加辅助列,输入公式“=OR(C2="永久",C2="30年",C2="10年")”(假设保管期限数据存放在C列),如图11,对比值TRUE为正确,对比值FALSE为异常。

▲  【图10】

图片

▲  【图11】

说明:OR函数检查字符串是否符合参数组中的至少一个条件。


2.4 卷内序号编排检查

SQL执行语句

1.跳号的检测

select ajjdh as 案卷级档号,MAX(jnxh*1)as 最大序号,COUNT(jnxh)as 件数

from [dbo].[SystemCreate20250312092956453]

group by ajjdh

having MAX(jnxh)<>COUNT(jnxh)

如下图:

▲  【图12】


2.重号的检测

select ajjdh as 案卷级档号,jnxh as 卷内序号,COUNT(jnxh) as 出现次数

from [dbo].[SystemCreate20250312092956453]

group by ajjdh,jnxh

having COUNT(jnxh)>1

如下图:

图片

▲  【图13】

说明:在上述语句中,ajjdh指案卷级档号,jnxh指卷内序号。MAX函数返回参数列表中数的最大值,COUNT函数返回参数列表中值的个数。通过这两个语句,分别可以检测出卷内序号是否存在跳号和重号的情况。


EXCEL执行方法

在Excel中,建立辅助列并输入公式“=TEXT(COUNTIFS(A$2:A2,A2),"00000")=C2”(假设案卷级档号存放在A列,卷内序号存放在C列),如图14,对比值TRUE为数据正确,对比值FALSE为异常数据。

▲  【图14】

说明:TEXT函数用于将数值转换为按指定数字格式表示的文本(卷内序号5位数);COUNTIFS函数计算多个区域中满足给定条件的单元格的个数。


3、检查字段对应性

全宗号与单位名称、分类号与分类名称、保管期限与保管期限代码等字段之间存在对应关系。

3.1 保管期限与保管期限代码对应检查

当保管期限为“永久”“30年”“10年”,对应的保管期限代码应为“Y”“D30”“D10”。

SQL执行语句

select dh,bgqx,bgqxdm

from [dbo].[SystemCreate20250312094647684]

where (bgqx='永久'and bgqxdm<>'Y')

or (bgqx='30年'and bgqxdm<>'D30')

or (bgqx='10年'and bgqxdm<>'D10')

如下图:

▲  【图15】

说明:bgqxdm指保管期限代码。执行该语句,可找出保管期限与代码不对应的数据。


EXCEL执行方法

采用筛选工具,对保管期限和保管期限代码列进行筛选,对比检查对应关系,如图16。

▲  【图16】


3.2 文件编号年度与文件日期年度对应检查

SQL执行语句

select dh,wjbh,wjrq

from [dbo].[SystemCreate20250312094647684] 

where substring(wjbh,patindex('%[0-9]%',wjbh),4)*1<>left(wjrq,4)

如下图:

▲  【图17】

说明:wjbh指文件编号,wjrq指文件日期。substring函数从文本字符串中指定的位置开始,返回指定长度的字符串,patindex函数在字符串中搜索指定的字符串,返回首次出现的位置,left函数从一个文本字符串的第一个字符开始返回指定个数的字符。该语句通过提取文件编号和文件日期中的年度信息进行对比,筛选出不对应的记录。


EXCEL执行方法

在Excel中,可以通过建立辅助列并输入公式“=MID(B2,FIND("〔",B2)+1,4)=LEFT(C2,4)”,如图18-19(假设文件编号存放在B列,文件日期存放在C列);或者先将文件编号、文件日期字段内容,使用分列工具,分别提取出年度,文件日期选择固定宽度进行分列,如图20-22;文件编号中的年度,因为所在位置不固定,所以选择分隔符号(选用“〔”及“〕”)进行两次分列,如图23-25,然后建立辅助列输入公式“=C2=E2”进行对比筛查,如图26。对比值TRUE为正确,对比值FALSE为异常。

▲  【图18】

说明:MID函数从文本字符串中指定的位置开始,返回指定长度的字符串;FIND函数返回一个字符串在另一个字符串中出现的起始位置;LEFT函数从一个文本字符串的第一个字符开始返回指定个数的字符。

图片

▲  【图19】

说明:OR函数检查字符串是否符合参数组中的至少一个条件。

▲  【图20】

图片

▲  【图21】

图片

▲  【图22】

图片

▲  【图23】

▲  【图24】

说明:先用“〔”分列后,再用“〕”进行分列。

图片

▲  【图25】

图片

▲  【图26】


3.3 文件编号中的机构代字与责任者对应检查

例如,文件编号中包含“闽政”时,对应的责任者则应包含“福建省人民政府”。

SQL执行语句

select dh,wjbh,zrz

from [dbo].[SystemCreate20250312094647684]

where wjbh like'%闽政%'and zrz not like'%福建省人民政府%'

如下图:

▲  【图27】

说明:zrz指责任者。通过该语句,能找出文件编号与责任者不对应的异常数据。此处使用的“若A则B”的逻辑关系,也可用于检查人事等档案中材料名称及分类,相对固定统一的材料分类。


EXCEL执行方法

在Excel中,建立辅助列输入公式“=AND(COUNTIF(文件编号,"*闽政*")>0,责任者="福建省人民政府")”,如图28,对比值TRUE为正确,对比值FALSE为异常,如图29。

图片

▲  【图28】

说明:AND函数用于检查多个条件是否同时成立;COUNTIF函数计算区域中满足给定条件的单元格的个数。

图片

▲  【图29】


4、检查包含组合规则的字段

档号、分类号等字段以及书名号等成对型符号的使用有特定规则。

4.1 档号组合规则检查

档号由全宗号、类别号以及件号组成。

SQL执行语句

select dh,qzh,lbh,jh

from [dbo].[SystemCreate20250312094647684]

where dh<>qzh+'-'+lbh+'-'+jh

如下图:

▲  【图30】

说明:dh指档号,qzh指全宗号,lbh指类别号,jh指件号。执行该语句,可筛选出不符合档号组合规则的数据。


EXCEL执行方法

在Excel中,建立辅助列输入公式“=dh=qzh&"-"&lbh&"-"&jh”,公式返回TRUE表示档号组合正确,FALSE则为异常,如图31。

▲  【图31】


4.2 文件题名中书名号使用检查

SQL执行语句

select dh,wjtm

from [dbo].[SystemCreate20250312094647684]

where (wjtm like '%《%' and wjtm not like '%》%')

or (wjtm like '%》%' and wjtm not like '%《%')

如下图:

图片

▲  【图32】

说明:wjtm指文件题名。该语句用于检测文件题名中书名号是否完整使用或存在著录错误,但此方法不适用于同一组符号多次使用的情形。


EXCEL执行方法

通过在Excel建立的辅助列输入公式“=AND(ISNUMBER(FIND("《",F2)),ISNUMBER(FIND("》",F2)))”(假设文件题名存放在F列),对比值TRUE为正确,对比值FALSE为异常,如图33。

▲  【图33】

说明:AND函数用于检查多个条件是否同时成立,ISNUMBER函数检测一个字符串是否为数值,FIND函数返回一个字符串在另一个字符串中出现的起始位置。根据公式返回值判断书名号使用是否正确,同样,该方法也不适用于同一符号多次使用的情况。


5、检查内容为承袭关联的字段

案卷级表(父表)与文件级表(子表)的全宗号、分类号等字段存在承袭关联。以文件级表的分类号等于案卷级表的分类号为例。

SQL执行语句

select b.wjjdh,b.flh

 from [dbo].[SystemCreate20250312085045807] as a inner join [dbo].[SystemCreate20250312092956453] as b on a.ajjdh=b.ajjdh 

where a.flh<>b.flh

如下图:

▲  【图34】

说明:[dbo].[SystemCreate20250312085045807]指案卷级表名称(父表名称);[dbo].[SystemCreate20250312092956453]指文件级表名称(子表名称);ajjdh指案卷级档号;wjjdh指文件级档号;flh指分类号。inner join...on...用于根据两个或者多个表之间的匹配条件来合并数据。通过该语句,可找出文件级表与案卷级表分类号不一致的数据。


EXCEL执行方法

在Excel文件级表建立辅助列,输入公式“=C2=VLOOKUP(A2,Table1!A:B,2,FALSE)”(假设文件级表中分类号在C列,案卷级档号在A列,案卷级表Table1中案卷级档号在A列,分类号在B列),对比值TRUE为正确,对比值FALSE为异常,如图35-36。

▲  【图35】案卷级表

图片

▲  【图36】文件级表

说明:VLOOKUP函数在表格或数组的首列查找指定的字符串,并由此返回表格或数组当前行中指定列处的字符串;Table1指案卷级表。


6、检查内容为统计数据的字段

总页数、件数等字段属于统计数据字段。

6.1 总页数统计检查

SQL执行语句

select a.ajjdh,a.zys,b.卷内页数

from [dbo].[SystemCreate20250312085045807] as a 

inner join(select ajjdh,sum(ys)as 卷内页数 from [dbo].[SystemCreate20250312092956453] group by ajjdh)as b 

on a.ajjdh=b.ajjdh 

where a.zys<>b.卷内页数

如下图:

图片

▲  【图37】

说明:zys指总页数,ys指页数。inner join...on...用于根据两个或者多个表之间的匹配条件来合并数据,sum函数返回所有数值之和,group by用于将结果集按照一个或者多个列进行分组。该语句通过关联两个表,对比总页数与卷内页数之和是否一致,筛选出不一致的数据。


EXCEL执行方法

首先,将子表建立透视表,以案卷级档号分组求和页数,透视表可建立在现有工作表的父表中或者新工作表,如图38-39;然后,将透视表的汇总与父表总页数进行对比,在辅助列输入公式“=D2=VLOOKUP(B2,G:H,2,FALSE)”(假设父表中总页数在D列,案卷级档号在B列,透视表中案卷级档号在G列,求和后的页数在H列),如图40,对比值TRUE为正确,对比值FALSE为异常。

图片

▲  【图38】子表

图片

▲  【图39】父表

图片

▲  【图40】


6.2 件数统计检查

SQL执行语句

select a.ajjdh,a.js,b.卷内件数

from [dbo].[SystemCreate20250312085045807] as a 

inner join(select ajjdh,count(jnxh)as 卷内件数 from [dbo].[SystemCreate20250312092956453] group by ajjdh)as b 

on a.ajjdh=b.ajjdh 

where a.js<>b.卷内件数

如下图:

▲  【图41】

说明:js指件数;jnxh指卷内序号,卷内序号也可用文件题名等必填字段代替进行计数。count函数用于统计行数。执行该语句,可找出件数统计不一致的数据。


EXCEL执行方法

与总页数统计类似,首先,将子表建立透视表,以案卷级档号分组计数文件级档号(只要是非空字段均可),透视表可建立在现有工作表的父表中或者新工作表,如图42-43;然后,将透视表的汇总与父表件数进行对比,在辅助列输入公式“=D2=VLOOKUP(B2,G:H,2,FALSE)”(假设父表中件数在D列,案卷级档号在B列,透视表中案卷级档号在G列,文件级档号的计数值在H列),如图44,根据公式返回值判断件数统计是否正确。

▲  【图42】子表

图片

▲  【图43】父表

▲  【图44】


结语

综上所述,通过质检工具对档案数字化目录数据的长度、固定值或范围、对应性、组合规则、承袭关联和统计准确性等多个维度进行检查,能够有效提高数据质量,为档案数字化工作提供有力支撑。


实际运用中,大家可以根据电脑软件安装情况以及数据量大小,结合个人对操作SQL Server数据库和Excel软件的熟悉程度,灵活选用这些检测方法。如需处理超大规模数据,Excel软件容易碰到性能瓶颈,在SQL Server数据库中处理较为合适。

来源:数字罗塞塔计划(转载仅供分享 侵删)
【免责声明:文章素材和图片来源于数字罗塞塔计划,如有侵权请联系小编删除】
往期精选

档案数字化如何建立质检体系

档案整理中“件、卷、盒”的差异与关联探析
























贵州乾源档案服务有限公司专注于档案整理、档案数字化加工服务、档案系统软件定制开发、档案信息技术领域的技术开发、档案整理及装订服务、档案整理相关办公软件及硬件、档案盒、防磁柜、密集架、档案柜、档案室建设等。公司创立就确定了以档案管理专业服务为出发点,依托专业的档案管理系统,使现代信息技术与人完美结合,开发新型的档案服务产业链,打造方便、高效、快捷的档案管理服务模式;客户涉及政府机关、企事业单位(如:水利、电力、农业、国土、金融、教育、医疗、建筑等行业领域)。


企业文化

  1. 企业愿景:立足贵州,面向全国,打造成为档案服务行业内的高端口碑公司。

  2. 企业态度:工匠精神做档案,精益求精做服务。

  3. 企业使命:为客户提供高质量的专业化产品和服务。


服务理念

“以史治世、以档治事”是人类社会发展的基本方法,从事档案工作的功在当代,利在千秋。随着物质文明走向高度发达,档案作为一种特殊的文化软实力,在社会的经济、政治、文化生活占有的份额也会越来越重要而广泛。


小编:蔡朝兰

一审:杨清松

二审:李毓仙

三审:丁国珍


想了解更多资讯么?

关注我们吧!

欢迎来电咨询或者留言哦~

手机/电话:

18685093999 19185046915

0854-2779389

地址:瓮安县雍阳街道办事处图片图片

【声明】内容源于网络
0
0
贵州乾源档案服务有限公司
1234
内容 350
粉丝 0
贵州乾源档案服务有限公司 1234
总阅读609
粉丝0
内容350