浅析使用VFP 实现工业生产者价格调查数据快速审核
2021-04-16□黄韬
□ 黄 韬
工业生产者出厂价格指数(PPI)作为国民经济的“晴雨表”、经济发展的“预警器”,在工业生产和企业管理中的作用不可替代。因此,针对调查企业上报的原始数据进行快速审核,对于提高源头数据质量至关重要。笔者结合实践,就如何使用Visual Foxpro 软件编写工价调查月度数据审核程序谈几点思考。
|审核工业生产者价格调查数据的思路和困难
(一)调查数据量大
工业生产者价格调查涉及企业数量多,并且工业生产出厂产品和原材料的品种多、规格杂、数量大。以上海市嘉定区为例,共112 家工业企业被抽中,开展生产者价格调查,每月上报约331 个出厂或购进规格品。从全市层面来看,每月上报数据记录9000 多条,如果仅靠人工在联网直报平台点进每张企业报表,既费时又费力。
(二)各行业商品价格数据波动性各异
工业生产资料具有品种多、规格杂、数量大的特点,不同行业波动幅度和规律不尽相同。以有色金属、原油等商品为例,其受国内外大宗商品市场波动影响,企业每月购进价格波动都非常大。而以汽车行业为例,汽车零部件的出厂价格主导权在于整车制造商,价格一般以年度调整的形式为主。
|实现高效审核的基本原理
(一)审核程序必备的三个要素
1.速度快。企业一套表联网直报系统开网上报时间较紧,短短几天时间内不仅要完成所有企业数据的催报,还要预留时间与企业进行数据核实,因此审核程序必须高效精准,在较短的时间内完成异常数据筛选的工作,才能保证统计数据的高时效性。
2.需求多。当前企业一套表联网直报系统对企业填报数据时的审核条件较为简单,仅与上月数据做比较。而线下审核除了找到环比越界、与上月均价不一致的异常值外,还可以编写筛选价格长期不变的僵尸数据或变化趋势不一致的异常数据。
3.配置灵活。从多样化需求来看,每项审核关系的使用频率不同,例如与上月数据比较的审核关系的使用频率远高于与历史数据比较的审核关系。因此,程序必须具备灵活性,能够让用户自定义审核条件。
(二)数据审核的框架流程
程序要具备审核速度快、需求多样、配置灵活等特点,笔者建立了一套程序审核流程(图1):程序运行后,首先循环遍历配置参数,读取是否审核、报告期等参数,并判断该条审核关系是否需要执行,若不需要则继续读取下一条。若需要审核,则调取对应的审核子功能模块,对月报数据进行筛选,并导出最终待审核清单。
图1 数据审核程序运行流程
(三)部分模块功能实现
1.主程序的实现。主程序主要完成读取配置参数和对审核关系是否要调用子功能模块。代码中通过Reccount()函数获取审核关系数量,再用For 循环语句进行遍历。读取“是否审核”字段,若字段值为“1”则调用对应的prg 文件模块(图2)。
图2 数据审核主程序
2.子功能模块的实现。子功能模块对应每一条审核关系,比如要审核第一条审核关系,主程序即会调用check1.prg 执行核实性错误审核功能。限于篇幅关系,本文仅以筛选N 个月价格未变动的数据为例,解释其工作原理。
程序模块首先遍历当前报告期对应的数据文件里的记录,读取“法人代码”“产品规格码”等信息,然后根据配置参数里的历史报告期进行嵌套循环,以“法人代码”“产品规格码”等指标作为唯一码,读取历史数据中该记录的环比数据。若该产品所有月份的环比数据都是100%,则将该记录标记为异常数据,最后将其导出(图3)。
图3 筛选N 个月价格未变动功能模块
|使用程序审核月报数据的步骤及效果
(一)下载企业填报数据
从统计联网直报平台中导出当前报告期的月报数据(图4),系统默认以压缩包形式导出,解压缩后数据文件名的固定格式为ppi+行政区划+当前报告期。每月将企业数据保存在审核程序中的“历史数据”文件夹内。据审核的效率,在上海调查队系统推广后获普遍认可。
图4 统计联网直报平台
(二)配置当前报告期参数
打开“程序参数.dbf”数据库文件,将本期字段值修改成需要审核的当前报告期,将需要审核的条件对应审核字段设置为“1”,若需要审核与前N 个月趋势不一致或N 个月价格从未变动的数据,则需要将前期字段修改成历史报告期(图5)。
图5 配置程序参数
(三)运行程序生成审核清单
双击“月报数据审核.fxp”文件,主程序自动运行,生成审核清单,在提示审核完毕后,即可在“审核结果”文件夹中查看待审核文件(图6、图7)。
图6 审核程序运行效果
图7 生成的审核清单
从操作来看,一键审核十分便捷。从使用效果来看,程序运行时间短、极大提高了工价调查月报数