1. 概述
1.1 函式作用
填報應用中,可能會遇到一組儲存格中,只需將其中不為空的值儲存至資料庫的某個欄位。
1.2 函式解譯
NVL 函式的使用方法:
NVL(value1,value2,value3,...)指在所有參數中傳回第一個不是 null 的值。
注:6.5 之前的版本 NVL 只支援 2 個參數,現在升級到支援多個參數。
2. 範例
2.1 建立資料
1)在資料庫中建立一個表,表名為 C,如下圖所示:
2)新增其報表資料集 ds1,SQL 語句為:select * from C
2.2 表樣設計
如下圖所示,拖動欄位到對應儲存格並做相應合併,如下圖所示::
2.3 元件設定
設定 B5、C5、E5、E6、E7、E8 為正文類型元件即可,如下圖所示:
2.4 條件屬性設定
1)對 E5 儲存格,設定條件屬性:不等於 4 時,公式為:$$$!=4,賦新值為空,如下:
2)對 E6 儲存格:設定為不等於 3 時,公式為:$$$!=3,賦新值為空。
3)對 E7 儲存格:設定為不等於 2 時,公式為:$$$!=2,賦新值為空。
4)對 E8 儲存格:設定為不等於 1 時,公式為:$$$!=1,賦新值為空。
2.5 其他屬性設定
為了保證“優秀”等不設定元件的儲存格在新增記錄時能預設新增,可設定「儲存格屬性表-其他屬性>插入行策略>原值」,如下圖所示:
2.6 報表填報屬性設定
在 NUMBERQ 的值中,輸入=NVL(E5,E6,E7,E8),取出第一個不為空的值進行填報,如下圖所示:
2.7 效果預覽
2.7.1 PC 端
儲存範本,點選「填報預覽」,效果:
點選增加記錄後,點選提交,如下:
提交成功時,效果如下:
重新整理頁面,可見提交成功,提交值就是第一個不為空的值 3,如下:
2.7.2 行動端
App 與 HTML5 端效果相同,如下圖所示:
3. 範本下載
點選下載範本:NVL函式.cpt