<< Click to Display Table of Contents >> 设置填报 |
❖使用场景
1.通过"填报参数组件"实现平表批量的数据操作场景,例如:学生各个学科分数录入;
2.通过"自由表填报组件"实现汇总数据的数据填报,实现交叉表样式和自由表单样式填报,例如:中国式自由表表单数据回填;
3.通过"文本参数"、"列表参数"、"下拉参数"参数组件实现中国式注册表场景,例如:用户注册信息录入;
4.通过"填报参数"、"文本参数"、"列表参数"、"下拉参数"组件组合实现一些复制的填报场景,例如:财务数据填报。
❖制作报表
在报表中添加填报相关组件,"填报参数"、"自由表填报"、"文本参数"、"列表参数"、"下拉参数"中的一个或者多个,具体的组件的使用参考链接中的章节。
❖设置填报
•填报入口: 制作报告顶部工具栏【更多】->【填报参数】
•设置填报
【新建填报】点击弹框左上角的添加按钮
【删除填报】选中要删除的填报名称,点击弹框左上角的删除按钮
【重命名填报】双击填报的名称进入重命名编辑框,如图已存在填报"my_first_form"双击名称后可编辑
【数据源】
1.下拉框选项为【添加数据源】模块中已经建立好的数据源连接。
2.支持回填数据的数据源包含:Oracle, DB2, PostgreSQL, Derby, MySQL, SQLServer, Gbase8a, Hana, GaussDB100, GaussDB200, AnalyticDB, Hive。
【选择目标表】选择数据源后,自动列出数据所选数据源的数据库和表。加载出表后可以对数据源下的表进行搜索,详细用法可参考连接数据第一章简介的管理数据源部分。
【字段】通过源字段和目标字段的匹配使报表中的组件和要提交到数据库的表的字段对应起来。
A.条件列:提交到数据库时作为条件的提交的列,可以选择一个字段,也可以选择多个字段。无条件列时不能更新和删除数据。
B.提交列:希望可以提交到数据库的列,不勾选时不能提交到数据库。
C.源字段:当前报表中的所有填报参数组件所绑定的字段列/自由表填报组件中的单元格,参数组件,4个内置参数,例如:填报参数1:销售额、填报参数2:订单ID、自由表填报1:cell1、自由表填报1:cell2:cell3、文本参数1、下拉参数1 、_NOW_...
D.目标字段:所要提交到的数据库中表的字段,即目标表中所选中表的字段。
E.删除:删除源字段和目标字段的匹配
【提交类型】设置当前填报的提交方式,具体使用参考下文的"设置提交"部分。选项包含:空、插入提交、更新提交、删除提交、智能提交
A.插入提交:对数据做插入的操作,在数据库中执行 inset 语句
B.更新提交:对数据做更新的操作,在数据库中执行 update 语句。指定条件列在更新提交中是必要的,相当于 update 语句中定位要修改的数据的 where 条件部分
C.删除提交:对数据做删除的操作,在数据库中执行 delete 语句。指定条件列在删除提交中是必要的,相当于 delete 语句中定位要删除的数据的 where 条件部分
D.智能提交:根据数据变动,智能判断做"增删改"操作:
场景1:Form类组件上绑定的数据和回填的目标表是同一个,并且数据库目标表有主键(主键下文以"id"为例),智能提交判断如下:
1.删除行的数据做 delete
2.新增已存在的id数据,将此id数据做update;新增不已存在的id数据,将此id数据做 insert
3.修改行的数据做 update
场景2:Form类组件上绑定的数据和回填的目标表是同一个,并且数据库目标表没有主键,智能提交判断如下:
1.删除行的数据做 delete
2.新增行的数据做 insert
3.修改行的数据做 update
场景3:Form类组件上绑定的数据和回填的目标表不是同一个,并且数据库目标表有主键(主键下文以"id"为例),智能提交判断如下:
1.删除行的数据做 delete
2.新增目标表已存在的id数据,将此id数据做 update;新增目标表不已存在的id数据,将此id数据做 insert
3.修改目标表已存在的id数据,将此id数据做 update;修改目标表不已存在的id数据,将此id数据做 insert
场景4:Form类组件上绑定的数据和回填的目标表不是同一个,并且数据库目标表没有主键,智能提交判断如下:
1.删除行的数据做 delete
2.新增行的数据做 insert
3.修改目标表已存在的条列数据,将此条件列数据做 update;修改目标表不已存在的条例列数据,将此条件列数据做 insert
注意:
A.提交类型为"空"的时候代表不指定提交的类型,对于"填报提交"和工具栏"提交"操作没有意义,但对于使用脚本提交没有影响
B."智能提交"的填报必须包含一个Form类组件(填报参数组件,自由表填报组件),并且条件列必须在Form类组件上,如果条件列位置不合法,会提示一下报错:
填报设置分类:根据实际的运用场景,设置的填报可以分为"填报参数组件填报"、"参数组件填报"和"混合填报"
1.【填报参数组件填报】:源字段全部来自于填报参数组件,设置如图所示:
2.【参数组件填报】:源字段全部是参数组件(文本参数、列表参数、下拉参数 中的一个或者多个),设置如图所示:
3.【自由表填报】:源字段全部是自由表填报组件上的单元格,设置如图所示:
4.【混合填报】:源字段一部分来自于填报参数组件或者自由表填报组件,一部分来自于参数组件和内置参数,如图所示:
注意:填报可用的系统自带的内置参数一共四个:
_USER_:当前访问BI的用户名称
_NOW_:当前时间
_INSTANCE_ID_:流程ID(流程审批模块使用,自动生成,用于取数据)
_EXECUTION_ID_:分支或子流程ID(流程审批模块使用,自动生成,用于取数据)
❖设置提交 :
点击"提交"是数据入库的最后步骤,点击提交后会将对应的操作传递给数据库,数据库根据传递的信息对目标表进行"更新"、"插入"、"删除"。
提交方式包含"提交按钮"组件 和 工具栏"提交操作",具体设置见"设置提交"章节
❖查看提交入库:
以单个"填报参数"组件的填报为例,在【查看报告】模块中可对填报参数组件进行 "更新数据"、"删除行"、"在上方插入行"、"在下方插入行"等操作。具体操作参考"填报参数组件查看报告操作"章节。