APP下载

统计信息系统中单位名称及统计口径变化追溯管理

2023-12-22刘乾鹏孙效玉赵永娇王仁炎

金属矿山 2023年11期
关键词:单位名称统计人员数据表

刘乾鹏 孙效玉 赵永娇 张 博 王仁炎

(1.东北大学资源与土木工程学院,辽宁 沈阳 110004;2.宇通客车股份有限公司,河南 郑州 450061;3.内蒙古平庄煤业(集团)有限责任公司,内蒙古 赤峰 024000)

按照国家统计局最权威解释,单位是指能以自己的名义拥有资产、发生负债、从事经济活动并与其他实体进行交易的经济实体,单位又分为政府单位、事业单位和企业单位3 类。 单位有大小之分,也有上下级行政隶属关系或业务隶属关系。 如内蒙古平庄煤业(集团)有限责任公司隶属于国家能源集团,旗下又包含平庄煤业母公司、平庄能源两大业务公司(分公司)与9 个矿山实体单位(子公司)。 单位统计的主要职能就是及时、准确、系统采集、整理、展现与单位生产经营活动相关的数据信息,形成完备的单位统计信息数据库,一方面及时、准确和全面地对单位生产经营活动状况进行分析评估,为单位生产经营计划制定提供依据;另一方面需要向上级及行业主管部门报送相关统计信息,为国民经济统计提供基础信息。如平庄煤业集团分平庄煤业母公司和平庄能源两大统计口径,分别包含1 个、4 个实体单位,两大统计口径相互独立,互不兼容。

集团公司数据统计往往涉及下属多个子单位,根据对外报送或组织管理的需求,又形成不同的统计口径,由于企业的重大战略调整、业务重组或组织结构变革,难免引起单位名称及统计口径变化,有效处理单位名称及统计口径变化,是统计信息系统必须解决的问题。 如平庄煤业集团因战略调整需要,于2021年6 月将旗下西二露天矿的名称变更为蒙东矿业,造成统计系统紊乱;2022 年2 月将平庄煤业母公司和平庄能源两大统计口径合并为平庄煤业本埠统计口径,且在新增统计口径时,需调整矿山单位在统计口径中的顺序。 因单位名称及统计口径变化,造成平庄煤业集团综合统计信息系统紊乱。

目前,大多数研究者主要围绕统计信息系统的设计与开发进行研究。 胡海涛[1]设计开发了潞安煤炭集团统计信息系统,所建立的单位名录库涵盖了集团所有子、分公司的基本信息;赵振伦等[2]通过汇总行的增加以及修改汇总公式的方式,对信息数据进行追溯与汇总;王艳明等[3]讨论了单位固有属性数据较长时间不变下的基础信息建设,但未说明变化后需要采取的措施。

综上所述,研究者对统计信息系统的研究应用较多,主要分析了基础信息建设内容,但对基础信息变化产生问题的分析较少,基础信息作为统计信息系统中最底层部分,其历史信息追溯直接影响数据统计的效率和质量。 本研究对平庄煤业集团综合统计信息系统开发应用过程中遇到的单位名称及统计口径变化存在的问题进行了深入分析,提出了统一的单位编码规则和以时间为节点的历史信息追溯方法,设计了统计口径和单位信息数据表结构,解决了单位名称及统计口径变化追溯问题;定义了多个程序接口,利用Ajax 技术实现前后端交互[4-5],提高了开发效率,通用性与扩展性较强,在实际应用中取得了良好的效果。

1 问题分析

单位名称及统计口径变化后存在以下问题:

(1)单位名称追溯。 在查询数据时,如果不考虑单位名称变更的时间点因素,则会将变更前后的新旧单位名称同时显示,相当于两个不同单位,显然这是不合理的。 实际要求是以变更时间节点为界,进行单位名称追溯。 在变更时间节点之前,用旧单位名称显示;在变更时间节点之后,用新单位名称显示。

(2)汇总数据集成。 在汇总起止时间跨越单位名称变更时间点时,如果不对单位名称进行汇总集成处理,则变更前后的单位名称和数据被当作两个独立单位分别进行统计,显然这是不合理的。 实际要求是在统计汇总某时间段内的数据时,当时间段跨越单位名称变更时间点时,同一单位下不同单位名称对应的数据应统一汇总,此时的单位名称用变更后的新名称显示。

(3)统计口径中单位排序。 统计口径通常包含多个单位,根据单位类型的不同,各单位在统计口径中的排列顺序也不同。 显然,单位名称追溯过程实际上就是找到同一单位不同单位名称在变更时间点前后的变化过程,可以通过统一编码实现对单位的唯一识别。 在此基础上,以变更时间点为分割,及时修正单位名称显示;在数据汇总时,对同一编码下不同时间段内的数据进行综合汇总,再根据编码和时间段内最大时间点追溯单位名称;单位在统计口径中排序时,根据选择单位的先后顺序获取对应顺序的单位编码,并对编码进行编号排序。 为此,首先对单位统一编码,然后对统计口径和单位信息的数据表结构进行设计、程序接口设计,最后通过软件编程实现。

除此之外,单位统计人员由于职位变更或工作变动,也存在信息变更问题。 为了保证统计数据质量,明确统计人员责任,也需要对单位统计人员信息进行追溯。 统计人员的变更和追溯,与单位名称的变更和追溯在管理与功能上有很多相似之处,因此,按照软件工程的通用性、实用性和扩展性原则,在数据库设计与程序开发时将二者统一处理。

2 统一编码

目前,统一编码已在农业产品[6]、电网设备[7]、城市交通[8]和资产管理[9]等方面得到有效运用。 从企业管理角度来讲,对生产过程中的资源实体进行统一编码,有助于实现对企业资源的唯一认识;从计算机管理系统角度来看,一个庞大的信息系统需要对所有资源实体进行统一编码,为企业建立统一的基础数据应用环境,以增强系统各部分集成的融合度[10]。因此,基础信息统一编码,是企业各系统实施过程中的先行者和必要条件。

针对单位信息存在空间、时间和类型上的差异,参考中华人民共和国居民身份证编码规则,充分考虑唯一性、简单易记性、层次性、规范性和可扩展性等编码原则,本研究设计统一的单位编码规则,其编码结构如图1 所示。

图1 单位编码结构Fig.1 Unit code structure

具体编码规则如下:

(1)整个编码结构分为4 段,共13 位,4 段编码分别为地址编码、时间编码、类别编码以及顺序编码。

(2)地址编码参考居民身份证的前4 位,其中1~2 位表示单位所在省、自治区、直辖市代码,3~4 位表示单位所在地级市、盟、自治州代码。

(3)时间编码由4 位数字构成,代表单位创建时间的年份。 时间编码的使用可减少后续数据表中字段的占用空间。

(4)类别编码主要区分单位类型,由2 位字符构成,从“01”到“99”。

(5) 顺序编码由3 位字符构成,从“001” 至“999”。 当单位地址编码、时间编码以及类别编码都相同时,按顺序进行编码。

3 数据表设计与方案实施

3.1 统计口径数据表结构设计及内容

统计口径至少包含一个单位,单位在统计口径中的顺序由ID 编号决定,其数据表结构见表1。

表1 统计口径数据表结构Table 1 Statistical caliber data table structure

3.2 单位信息数据表结构设计及实施

根据单位名称追溯过程,设计了多数据表与单一数据表两种方案,并开发了相应的应用程序,经比较采用了单一数据表方案。

3.2.1 方案一:单位信息存储于多数据表

将统一编码的单位存储于数据表中,当单位关闭后,不允许修改任何信息,其数据表结构见表2。

表2 单位编码数据表结构Table 2 Unit code data table structure

由于单位统计人员信息比单位名称变化更频繁,故将统计人员信息的留档与更新都存储于同一张数据表,数据表结构见表3。

表3 统计人员信息数据表结构Table 3 Statistical staff information data table structure

当单位名称变更时,将信息存储于单独的数据表,数据表结构见表4。

表4 单位名称变更数据表结构Table 4 Unit name change data table structure

此方案中单位信息追溯和数据汇总的实施步骤如下:

(1)获取单位编码

根据选择查询的统计口径或单位,借助数据库的结构化查询语言(Structured Query Language,SQL),获取单位编码的集合List。

(2)剔除无关单位编码

对List 循环判断单位是否已创建,从单位编码中截取第5~8 位的时间编码来得到单位的创建时间,如果查询时间小于某单位的创建时间,则从List 中剔除该单位编码,否则,不对List 进行操作。 然后再对List 循环判断单位是否关闭,若都不关闭,则对List不进行操作;若存在某单位关闭,判断查询时间的年份是否大于关闭时间,如果大于就从List 中剔除该单位编码,否则,不对List 进行操作。

(3)获取单位名称及数据

创建DataTable 加载数据。 对List 逐一循环判断是否存在单位名称变更现象,若某单位不存在名称变更,则从单位编码数据表中获得单位名称String;若某单位存在名称变更现象,根据查询时间追溯单位名称String,找到变更时间点中小于查询时间的最大变更时间点对应的NewName,若存在则赋值给String,不存在则找到变更时间点中最小变更时间点对应的OldName 并赋值给String。 再根据单位编码、查询时间和SQL 语句中的SUM 函数获取数据,最后将单位名称String 和数据添加到DataTable 的数据行中。

(4)获取统计人员信息

根据选择单位编码和查询时间从统计人员信息数据表中加载人员信息。 找到统计人员信息变更时间点中小于查询时间的最大变更时间点对应的信息,若存在则加载此人员信息,若不存在则默认人员信息为空。

3.2.2 方案二:单位信息存储于单一数据表

将单位的新旧信息都存储于同一数据表中,关闭后的单位不能修改任何信息,其数据表结构见表5。

表5 单位信息数据表结构Table 5 Unit information data table structure

此方案单位信息追溯和数据汇总的实施步骤如下:

(1)获取单位编码

根据选择的统计口径或单位,从单位信息数据表中获取对应的单位编码集合List。

(2)剔除无关单位编码

对List 循环判断单位是否已创建,如果查询时间小于某单位的创建时间,则从List 中剔除该单位编码,否则不对List 进行操作。 再对List 循环判断单位是否关闭,若都不关闭,则对List 不进行操作;若某单位关闭,则获取该单位对应编码下时间点最大的时间年份,判断查询时间的年份是否大于该时间年份,如果大于就从List 中剔除该单位编码,否则不对List 进行操作。

(3)获取单位信息及数据

创建DataTable 加载数据,对List 进行逐一循环。首先根据查询时间追溯某单位信息,找到该单位编码下小于查询时间中最大时间点对应的单位信息(此单位信息一定存在),从单位信息中得到此时的单位名称String;然后根据该单位编码、查询时间和SQL语句中的SUM 函数获取数据;最后将单位名称String和数据添加到DataTable 的数据行中。

由上述可知,两种方案都能实现单位信息追溯和数据综合汇总,即两种方案的实现效果相同。 但在以下两方面存在差异:

(1)数据库空间占用

方案一的3 张数据表要多于方案二的1 张数据表,在实现同等效果的情况下,过多的数据表容易造成数据库空间浪费。

(2)系统响应时间

由具体实施步骤可以看出,方案一打开关闭数据库的次数较多,次数越多系统响应时间越长,信息数据加载越慢。 所有报表信息的加载都涉及单位,故以加载平庄煤业口径下各矿山单位的原煤产量为例,方案一系统响应时间为1 241.43 ms,方案二系统响应时间为839.98 ms。 综上所述,方案二优于方案一,故在实践中方案二更适用。

4 程序接口设计

根据面向对象程序设计原则[11-12],采用C#编程语言定义接口,并在类中实现接口,为方便代码统一调用,故设计以下程序接口:

(1)变更单位信息

接口形式:bool UpdateInfo(string code,string name,string type,string statistician,string telphone,bool close,DateTime time)。

入口参数:单位编码code、单位名称name、单位类型type、统计人员statistician 及其联系电话telphone、关闭状态close、变更时间点time。

产业扶贫要加强贫困户实用技术的培训,特别是从选育、引进优质品种,提高特色农产品定向培训水平,将贫困户纳入新型职业农民、新型农业经营主体中。如充分利用农牧民夜校学习相关农业使用技术;选派优秀技术员到贫困村开展农业实用技术培训;每季度邀请农业方面专家定期开展技术培训,提高有劳动能力的贫困户技能培训覆盖面。

出口参数:无。

返回值:成功返回真,否则返回假。

功能说明:将单位信息保存至数据表中。 由于变更单位信息就是在保持单位编码不变的情况下增加一条新的单位信息,故增加初始单位信息和变更单位信息是同样的接口。

(2)查询单位名称

接口形式:string SelectInfo(string code,DateTime time)。

入口参数:单位代码code、时间time。

出口参数:无。

返回值:单位名称name。

功能说明:获取单位名称。 找到小于time 的最大变更时间点,获取此时间点的单位名称。

(3)获取单位某时间段内累计数据

接口形式:List SelectData(string code,DateTime time1,DateTime time2)。

入口参数:单位编码code,起始时间time1、终止时间time2。

出口参数:无。

返回值:数据集合List。

功能说明:获取某时间段内的累计数据集合。

(4)设置统计口径中单位的顺序

接口形式:bool UpdateType(string typeName,string code,int id)。

入口参数:统计口径名称typeName、单位编码code 和排序编号ID。

出口参数:无。

返回值:成功返回真,否则返回假。

功能说明:调整统计口径中单位的顺序,并将排序结果保存至数据表中。

(5)获取统计口径中单位编码

接口形式:ListSelectCode(string typeName)。

入口参数:统计口径名称typeName。

出口参数:无。

返回值:单位编码集合List。

功能说明:获取单位编码集合,顺序由数据表中的ID 字段决定。

5 实现效果

通过采用Visual Studio 2015 开发工具[13]、后端选用ASP. NET 框架[14-15]、前端选用Vue 框架[16]和SQL Server 2016 作为数据库应用平台[17]进行程序开发,利用Ajax 技术实现前后端信息交互,经过在平庄煤业集团综合统计信息系统中的实际运用,取得了良好的效果。 其中单位信息在数据表的存储情况如图2 所示,Web 页面单位管理如图3 所示,显示的为最大时间点对应的单位信息。

图2 单位信息存储情况Fig.2 Unit information storage

图3 单位管理Fig.3 Unit management

在查询原煤产量时,名称变更前后的显示情况如图4、图5 所示,平庄煤业口径原煤产量数据汇总显示结果如图6、图7 所示。

图4 变更前原煤产量显示情况Fig.4 Display of raw coal output before change

图5 变更后原煤产量显示情况Fig.5 Display of raw coal output after change

图7 变更后数据汇总显示情况Fig.7 Data summary and display after change

统计口径管理界面如图8 所示。 统计口径中单位的管理界面如图9 所示,左右双箭头可以对选中的单位进行增加和删除操作,上下单箭头可以修改已选择单位在统计口径中出现的先后顺序。

图9 统计口径中单位管理界面Fig.9 Company management interface in statistical caliber

6 结 论

(1)提出了单位统一编码规则,实现了单位的唯一身份识别,为单位名称追溯和数据汇总奠定了基础;后续还可解决由于单位名称变更带来的数据核对、接口开发和后期维护等一系列问题。

(2)提出的以时间为节点的历史信息追溯方法,实现了单位名称和统计人员等信息的追溯,具有较强的通用性和实用性。

(3)单一数据表相较于多数据表减少了数据库空间占比和字段冗余,缩短了系统响应时间,提高了系统性能。

(4)设计的面向对象程序接口,减少了开发人员的工作量,后续可通过改变程序接口参数以获取其他的单位信息和数据,具有良好的通用性、易维护性和扩展性。

猜你喜欢

单位名称统计人员数据表
单位名称和符号常见错误用法
单位名称和符号常见错误用法
单位名称和符号常见错误用法
本刊论文作者单位名称的要求
湖北省新冠肺炎疫情数据表
基于列控工程数据表建立线路拓扑关系的研究
试论如何提高财政局统计人员的素质与能力
试分析街道基层统计工作的存在问题和对策
图表
提高统计分析水平始于提高统计人员素质