當前為10.0版本文檔,更多實例內容將在最新幫助文檔中展現,點選跳轉至 最新版幫助文檔

校驗字段下是否有重複填報數據

1. 概述

1.1 應用場景

有時候需要校驗某個字段下的填報數據是否重複,如有重複值,則提示校驗出錯信息且不允許提交入庫。

Snag_3eb5bb5f.png

1.2 實現思路

将填報單元格作爲數組,在另外兩個單元格中設置公式,其中一個公式得到數組原值,另一個公式得到數組去重後的值。

如果數組内有重複數據,那麽這兩個單元格的值是不一樣的,最後在提交校驗中對這兩個單元格進行校驗,如果單元格值相等,則允許提交,不相等則報錯。

2. 示例

2.1 準備數據

新建數據查詢數據集 ds1,SQL 語句爲:SELECT * FROM 銷售總額

Snag_3ec45bf0.png

2.2 設計表格

1)設計填報表格,将銷售員和銷售總額字段分别拖入到 A2 和 B2 單元格,并添加文本控件,A5 和 B5 單元格添加 2 個公式,如下圖所示:

Snag_3ec99874.png

  • A5 單元格公式:JOINARRAY([A2], ""),返回 A2 單元格擴展出來所有值的字符串,重複數據保留,不加間隔符号

  • B5 單元格公式:JOINARRAY(UNIQUEARRAY([A2]), ""),返回 A2 單元格擴展出來所有值的字符串,去掉重複數據,不加間隔符号

2)隐藏 A5 和 B5 單元格,前端填報時無需展示作爲條件的數據,最終表格如下圖所示:

Snag_3edd2cc8.png

2.3 設置提交

菜單欄點擊模板>報表填報屬性,新增内置SQL提交,設置如下圖所示:

1596529665250672.png

2.4 設置數據校驗

設計器菜單欄點擊模板>報表填報屬性,數據校驗設置項下新增一個内置校驗,如下圖所示:

1598865328178443.png

  • 校驗公式:A5=B5

  • 校驗出錯信息:"銷售員字段有重複填報數據!"

注:A5 跟 B5 值不相等,那麽即存在重複數據。

2.5 效果預覽

1)PC 端

保存報表,點擊填報預覽,銷售員字段下有重複填報數據時,校驗失敗,如下圖所示:

6795499E-5092-4AAB-A3C1-8E9EAB4EF01D.GIF

2)移動端

同時支持 App 端和 H5 端預覽,效果如下圖所示:

22B3EA34-380F-4D74-AE24-AF62A031863C.GIF

3. 模板下載

已完成模板參見:%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\Form\VerifyForm\校驗字段下是否有重複填報數據.cpt

點擊下載模板:校驗字段下是否有重複填報數據.cpt

4. 公式拓展

A5 和 B5 單元格插入的公式可以替換成下面 2 組:

序号公式定義
1LEN(JOINARRAY([A2], ""))數組轉換爲字符串長度,不加間隔符
LEN(joinarray(UNIQUEARRAY([A2]), ""))數組去重複值後轉換爲字符串,不加間隔符
2count(A2)數組内元素個數
count(UNIQUEARRAY(A2))數組去掉重複值後元素個數


附件列表


主題: 原簡體文檔
已經是第一篇
已經是最後一篇
  • 有幫助
  • 沒幫助
  • 只是瀏覽

文 檔回 饋

滑鼠選中內容,快速回饋問題

滑鼠選中存在疑惑的內容,即可快速回饋問題,我們將會跟進處理。

不再提示

9s後關閉

反饋已提交

網絡繁忙