脚本中如何做填报数据校验

简介: 在很多填报表项目的开发过程中,为了保证数据规范且有效,常会在报表中设置各种校验以达到目的,比如:工资金额最多只允许包含两位小数、邮政编码必须是全数字组成的 6 位数且首位数字不能是 0 ,等等。这些要求,我们都可以利用报表工具提供的数据类型校验、单元格校验等手段来实现,但是总有“意外”情况出现,比如:小计校验要求分组内的各值相加等于分组小计,这种类型的校验有什么难点?怎么实现?下面我们举例实际看一下。

在很多填报表项目的开发过程中,为了保证数据规范且有效,常会在报表中设置各种校验以达到目的,比如:工资金额最多只允许包含两位小数、邮政编码必须是全数字组成的 6 位数且首位数字不能是 0 ,等等。这些要求,我们都可以利用报表工具提供的数据类型校验、单元格校验等手段来实现,但是总有“意外”情况出现,比如:小计校验要求分组内的各值相加等于分组小计,这种类型的校验有什么难点?怎么实现?下面我们举例实际看一下。
首先,了解基本情况及要求:
展现效果:
1

要求:
报表数据来源于数据库,其中 A 列指标名称是从数据库扩展取出的,要求各项计算结果满足分组内各值相加等于分组小计(比如:要求本年本月累计项中,指标代码 2 = 指标代码 3 + 指标代码 4),如果不满足则给出提示信息,要求进行修改,满足则可以正常提交。
报表设计界面如下:
2

其中
数据来源:
3

数据去向:
4

数据处理部分直接通过向导生成,这里不多做说明了。
分析难点:
由于分组小计(指标代码 2) 和 分组各项(指标代码 3+ 指标代码 4)都是从同一个字段“指标名称”扩展而来,报表不能准确定位取到参与计算单元格的位置并进行计算,故报表层面很难实现这种小计校验。
那么,就没办法实现了吗?(坏笑)对于润乾报表来说,显然那是不可能的。下面重点介绍这个神技能 :脚本校验
什么?脚本校验没听过?没关系,往下看…
操作:

从回填脚本中取出需要计算值;
按照要求结合集算器的 if 函数进行校验(提交时触发)。

数据去向脚本修改如下
5

其中
第 3-5 行,利用 A.select() 函数分别定位找出了需要参与校验的值;
第 6 行,按照原始需求利用 if 函数,进行数据校验,如果判断条件 A3!=A4+A5 成立,则在提交时通过 return 返回错误提示信息。
效果:
6

到这里,我们可以看出来,在报表层不好处理的小计校验,在脚本中很轻松就可以搞定了,是不是对脚本有那么一丢丢喜爱了,那就持续关注吧,毕竟人家是潜力股。
最最后,技术要点分享

  1. 巧用向导生成填报脚本
    数据处理,右侧 【使用向导生成脚本】可以零代码完成普通填报表的数据处理

7

  1. 熟知集算器常用函数
    A.select() 选出序列中符合条件的成员。

r.field(F) 取得记录中某个字段的字段值。
了解更多函数参考 doc.raqsoft.com.cn/esproc/func

目录
相关文章
|
26天前
|
数据处理 索引 Python
用Python实现数据录入、追加、数据校验并生成表格
本示例展示了如何使用Python和Pandas库实现学生期末考试成绩的数据录入、追加和校验,并生成Excel表格。首先通过`pip install pandas openpyxl`安装所需库,然后定义列名、检查并读取现有数据、用户输入数据、数据校验及保存至Excel文件。程序支持成绩范围验证,确保数据准确性。
74 14
|
8月前
|
数据采集 存储 监控
DataWork问题之数据质量规则如何解决
DataWork数据处理是指使用DataWorks平台进行数据开发、数据处理和数据治理的活动;本合集将涵盖DataWork数据处理的工作流程、工具使用和问题排查,帮助用户提高数据处理的效率和质量。
|
8月前
|
安全 测试技术 网络架构
【专栏】编写网络设备割接方案的七个步骤,包括明确割接目标、收集信息、制定计划、设计流程、风险评估、准备测试环境和编写文档。
【4月更文挑战第28天】本文介绍了编写网络设备割接方案的七个步骤,包括明确割接目标、收集信息、制定计划、设计流程、风险评估、准备测试环境和编写文档。通过实际案例分析,展示了如何成功完成割接,确保业务连续性和稳定性。遵循这些步骤,可提高割接成功率,为公司的网络性能和安全提供保障。
817 0
|
8月前
|
SQL 关系型数据库 MySQL
实时计算 Flink版产品使用合集之有提供机制来检查和报告数据同步的完整性吗
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
数据采集 安全 网络安全
告警繁杂迷人眼,多源分析见月明
随着数字化浪潮的蓬勃兴起,网络安全问题日趋凸显,面对指数级增长的威胁和告警,传统的安全防御往往力不从心。网内业务逻辑不规范、安全设备技术不成熟都会导致安全设备触发告警。如何在海量众多安全告警中识别出真正的网络安全攻击事件成为安全运营的痛点问题。传统的分析手段,没有从威胁来源和攻击者视角来分析问题,从黑客攻击杀伤链来看,检测点和分析手段严重不足。因此需要从多源安全信息数据融合分析,实现网络攻击精准研判和处置。
143 1
|
弹性计算 Java 数据库连接
架构设计第七讲:数据巡检系统之daily&线上表结构自动化比对
架构设计第七讲:数据巡检系统之daily&线上表结构自动化比对
123 0
|
数据采集 监控 数据管理
数据质量最佳实践(4):支持范围和多级分区质量监控+按项目和个人管理数据质量【Dataphin V3.11】
在Dataphin数据治理系列:基于数据质量管理,支撑业务快速发展这篇文章中,我们详细的介绍了Dataphin数据质量模块的产品核心能力和产品使用演示。 在Dataphin V3.11版本中,质量新增了下面两个能力: 1、针对复杂的业务分区的校验能力 2、按照项目和个人管理数据质量
470 1
|
运维 安全 fastjson
【干货】自动化批量挖洞流程 之 四工具联动
【干货】自动化批量挖洞流程 之 四工具联动
711 0
|
数据采集 运维 算法
谈谈物料数据质量问题和提升路径
本文所谈的物料是指企业中所有物资、产品和服务的总和。从某种意义上说,物资是工业企业所占价值最大的一部分。
谈谈物料数据质量问题和提升路径
|
SQL 数据采集 存储
如何解决数据质量问题
解决数据质量问题没有银弹,数据质量管理不单纯是一个概念、是一项技术、一个系统,更不单纯是一套管理流程,数据质量管理是一个集方法论、技术、业务和管理为一体的解决方案。

热门文章

最新文章