极速报表:关联实体配置

版本信息
| 产品版本 | 更新内容 | 更新日期 |
| V5.0.023 | 1、新增了关联实体配置; 2、新增了汇总行显示的控制; 3、新增了分隔过滤条件的接口; | 2023年06月29日 |
1、新增了:关联实体配置
1.1、系统路径
【供应链云】→【业务设置】→【极速报表】 →【报表关联实体配置】
1.2、内容介绍
增加了一个配置界面,用于配置多个实体JOIN后形成一个整体的数据源,在报表配置中作为数据源配置,参与报表数据计算。如下图:

1.3、关键字段介绍
| 序号 | 面板 | 字段 | 介绍&约束 |
| 1 | 基本信息 | 编码 | 必录,配置的英文编码标识,全局唯一 |
| 2 | 名称 | 必录,配置的多语言名称标识 | |
| 3 | 字段库 | 必录,用于标识配置使用哪个字段库作为字段集进行配置 | |
| 4 | 系统预设 | 默认为false,不可编辑。发布预置数据时,按需设置。 | |
| 5 | 加载策略 | 选项: 1-推送关联条件(默认) 2-不推送条件 影响点,详见看配置介绍 | |
| 6 | 实体查询SQL | / | 用于输入实体查询的SQL。影响点,详见看配置介绍 |
| 7 | 映射配置 | 字段库字段标识 | 字段库元数据上字段的标识,切换字段库是,会自动清空,重新加载字段库全部字段 |
| 8 | 字段库字段名称 | 字段库元数据上字段的名称 | |
| 9 | 来源字段标识 | 可点击选中字段,确定后,返回英文标识,可以为空 | |
| 10 | 来源字段名称 | 来源字段标识对应的名称,是全路径名称,自动带出 | |
| 11 | 默认值 | 不选择来源字段标识时,可以配置默认值,也可以不配置 | |
| 12 | 默认值说明 | 自定义描述,默认值代表什么意思 | |
| 13 | 创建信息 | / | 略 |
1.4、关键功能和配置介绍
1.4.1、实体查询SQL:
这里是基于实体对象,用类似SQL的方式来做查询,作为一个整体的来源数据。这里SQL语法支持有限,也没有必要严格完整的SQL语法支持。掌握下面几点即可:
仅支持select 。。。from 。。。[join 。。。]
字段必须使用实体字段标识,字段要数据库字段,分录命名必须有分录标识前缀。如:分录上物料ID,即billentry.material.masterid
多表关联时,仅支持inner join、left join关联。
表必须有别名。如:im_purinbill t1 那么相应的字段,也必须使用有表别名前缀,如:t1.billno,别名不需要用as。
on条件中,仅支持and拼接,条件仅支持=号,且多条件时,不支持跨第3个表,如:on t1.a = t2.a and t1.b = t3.b ,t3必须是t2。
全文必须是英文,且小写,不要使用特殊符号。
注意:没有写过SQL的相关人员,可以百度了解SQL相关语法。
1.4.2、映射配置:
在设置映射配置前,系统会先检查是否执行过测试SQL操作,给出一定的提示。校验通过,则可选字段为查询SQL中的SELECT字段。默认值的使用,参考字段映射配置。原理一致。
字段映射是将字段库与查询字段建立关系,在查询、过滤时起着关键作用。
1.4.3、加载策略:
加载策略:分为推送关联条件、不推送条件2中,选择推送条件时,SQL加载数据时采用Algo加载,并且会将驱动表的on条件,推送到关联表,提升查询效率(不是绝对的)。选择不推送条件时,则不会推送条件,直接使用AlgoX加载数据。
推送条件:适合小表驱动大表,比如单据A关联单据B,单据A作为主表,用户条件对单据A有比较好的数据筛选。但是对内存要求高些。
不推送条件:适合大表驱动小标,必录单据A关联某个小的基础资料C,即使全表查询C也性能OK。
若都是大表关联大表,而且两个表都是没有好的筛选条件,此时要反过来看业务,这么做是否合适,数据结构不做任何改变,谁也没好办法。
1.4.4、测试SQL:
在编写完查询SQL后,可以点击测试SQL,操作会对SQL进行2层校验:
基本语法校验,但不符合语法要求时,会有相应的错误提示。语法通过后,程序会自动重写SQL。
根据重写的SQL,进行模拟查询。若ORM无法执行将会直接抛出异常界面,此时,相应的开发,要自己根据异常信息判断是什么错误,如:没有数据库字段、字段不存在等。
1.4.5、保存:
保存时,会对SQL进行再次校验,以保证配置正确性。注意:在实际报表加载时则不再进行校验,默认配置是经过测试验证可执行的。
1.4.5、删除:
删除配置,系统预设数据不允许删除。
其余不做详细介绍,若有存疑的,咨询相关研发或留言。
1.5、 适用场景
该功能,目的是为了支持采购销售相关报表中存在单据和单据要JOIN取不同字段的报表需求,在确实无法通过单实体数据源,通过map-reduce完成计算时,才考虑使用关联数据源配置来实现。
关联实体配置因需
极速报表:关联实体配置
声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。



