NVL函数用于返回参数列表中首个非空值,其语法为NVL(value1, value2, value3, …)。在报表工具FineReport的填报场景中,可通过多参数形式实现数据的优先取值,当第一个值为空时,依次向后查找,直到找到有效值为止,从而确保字段始终有可用数据输出。
1、 需求
2、 在填报应用中,常需将一组单元格中非空的值存入数据库对应字段。例如语文成绩级别有四个选项,实际入库时仅保存用户选择的有效级别,其余空值忽略不计,确保数据准确且简洁。
3、 生成数据
4、 在数据库中创建以下新数据记录
5、 接着,将报表数据集ds1添加进去
6、 表格样式设计
7、 操作,将字段拖至指定单元格并进行合并处理。
8、 控件配置
9、 将B5、C5及E5至E8单元格设为文本格式即可完成设置。
10、 设定条件属性
11、 当E5单元格的值不等于4时,将其显示内容设为空。
12、 当E6单元格的值不等于3时,该单元格显示为空;E7单元格的值不等于2时,显示为空;E8单元格的值不等于1时,也显示为空。
13、 设置报表填报属性
14、 在NUMBERQ字段中输入=nvl(e5,e6,e7,e8),自动选取首个非空值填入,具体示例如下:
15、 保存并预览模板
16、 设计器内点击填报预览,查看效果
17、 点击新增记录后提交,操作如下所示。
18、 提交成功后的效果所示
19、 刷新页面
20、 提交成功,所提交的值为首个非空值4,具体如下所示:
