1.概述
相比较Finebi而言,FineReport有一个比较常用的功能——填报。
虽然FR的填报功能做稍微大规模的应用系统有点吃不住,但是针对基础的数据分析下的数据补充,则是绰绰有余。
而在各种不同的数据收集场景下,填报入库方式也各有不同,但一个完备的填报表的基本功能是一致,主要包括增、删、改、查四类。
其中为了实现删、改两个功能,就必须设置主键【这里的主键指FR填报的主键,相当于 SQL 中 where 的效果,不同于数据库的主键】
而主键的设置场景有四类,包括不设置主键、非填报数据列主键【单列】、填报数据列【单列&多列】、填报数据列规则【单列】。
具体如文
2.主键设置
2.1不设置主键
2.1.1设置方法
如下图,在填报表开发时,直接主键列不进行勾选即可
2.1.2 优点
①不做数据比对,插入速度快
②数据导入或者填报时,不需要在做数据校验,基本不会出现数据丢失的情况【所填所导即为所得】
2.1.3缺点
①数据可能存在重复填报或者导入的情况,导致数据质量低
②无法实现填报表的删、改功能
2.1.4使用场景
大量非标准【缺失主键】流水直接导入【线下数据直接入库】
2.2 非填报数据列主键【单列】
2.2.1设置方法
如下图,主要包括三种方法:
①利用uuid生成唯一性主键,参考【使用UUID自动生成主键】
②数据库配置自增ID,以ID作为唯一主键,参考【数据库自增长ID填报】
③自建规则生成唯一性主键,比如填报日期today()+序号seq()
注意:未防止重复生成,需要在页面端配置,展示;对为空的数据再生成
2.2.2 优点
①支持对填报的所有数据列进行修改【修改成本低】
②数据导入或者填报时,不需要在做数据校验,基本不会出现数据丢失的情况【所填所导即为所得】
③支持导入前清空对应区间或者条件数据之后导入等高级功能开发
2.2.3缺点
对数据导入不太友好,数据可能存在重复导入的情况
2.2.4使用场景
①大量非标准流水导入、查询、修改和删除【线下数据直接入库】;②标准维度数据的维护,不用单独维护编码【关闭导入功能】;③常见的各类填报表
2.3填报数据列【单列&多列】
2.3.1设置方法
如下图,直接设置对应主键即可【1个&多个】
注意:其中的1个&多个列需要确保数据的唯一性
2.3.2 优点
①可以重复导入数据,支持对数据进行校验,防止数据重复【数据质量高】
②支持导入前清空对应区间或者条件数据之后导入等高级功能开发
③支持对填报的部分数据列进行修改
2.3.3缺点
①在对数据修改时,不支持对主键列直接修改【需要先删除在修改才行】
②数据导入时,如果数据不标准,不符合主键要求,会出现数据丢失的情况
2.3.4使用场景
①具有编码的数据导入;②维度表数据维护;③常见的各类填报表
2.4 填报数据列规则【单列】
2.4.1设置方法
该点结合2.2和2.3两个方法,类似2.2的③自建规则生成唯一性主键
2.4.2 优点
解决了2.3中不支持对主键列直接修改【需要先删除在修改才行】的问题。
最后,文档不完善或者有遗漏的地方欢迎各位大佬补充~~ |