公式在不同功能中的使用區別
簡介
批次修改公式使用
資料管理後台和權限組中批次修改功能可以新增計算欄位編輯公式。如下圖所示:
不支援的函數
批次修改資料時,不支援以下函數:
- 數學函數:COUNTIF()、FIXED()、LARGE()、RAND()、ROUND()、SMALL()、SUMPRODUCT()
- 文字函數:CHAR()、IP()、ISEMPTY()、REPT()、RMBCAP()、TEXT()、TRIM()、VALUE()
- 日期函數:DATE()、DATEDELTA()、DAYS360()、ISOWEEKNUM()、NETWORKDAYS()、SYSTIME()、WEEKNUM()、WORKDAY()
- 高級函數:DISTANCE()、GETUSERNAME()、MAPX()、RECNO()、TEXTLOCATION()、TEXTUSER()T、EXTDEPT()、UUID()
其他規則
1. 僅主表欄位支援使用公式批次修改,具體支援的欄位類型有: 單行文字、流水號、多行文字、數字、日期時間、單選、下拉單選、手機。
2. 批次修改的公式中,可以被選擇到的參數只能是主表欄位,具體支援的參數類型有:單行文字、流水號、多行文字、數字、日期時間、單選、下拉單選。
3. SPLIT() 函數可以使用,但是無法取 SPLIT() 拆分後的某一位,只能 COUNT(SPLIT(欄位,",")),計算拆分後有幾組。
資料工廠公式使用
資料工廠的欄位設定節點可以新增計算欄位編輯公式。
不支援的函數
資料工廠使用公式時,不支援以下函數:
- 數學函數:COUNT()、COUNTIF()、LARGE()、SMALL()、SUMPRODUCT()
- 文字函數:CHAR()、RMBCAP()、SPLIT()、UNION()
- 日期函數:DAYS360()、ISOWEEKNUM()、TIMESTAMP()
- 高級函數:DISTANCE()、GETUSERNAME()、MAPX()、RECNO()、TEXTLOCATION()、TEXTUSER()T、EXTDEPT()、UUID()
其他規則
1. 只能新增文字類型欄位和數字類型欄位,無法新增日期欄位
2. 欄位設定節點的公式中,支援的參數的欄位類型有:單行文字、流水號、數字、日期時間、單選、下拉單選。
儀表板公式使用
在儀表板的統計表或明細表中新增計算欄位編輯公式。
支援的函數
儀表板中使用公式時,僅支援以下函數,其他函數暫不支援:
- 統計表:支援加、減、乘、除,以及:SUM()、AVERAGE()、COUNT()、MAX()、MIN();
- 明細表:僅支援加、減、乘、除。
其他規則
統計表和明細表的計算欄位中,參數支援選擇的欄位類型如下:
- 統計表:單行文字、多行文字、數字、日期時間、單選、下拉單選、地址、定位、流水號、成員單選、部門單選,以及以上類型的子表單欄位;
- 明細表:僅支援主表中的數字欄位。
常用公式轉化
常用的公式在不同功能的轉化設定如下:
數字轉文字
功能 | 轉化方式 |
表單欄位 | TEXT(數字欄位)或者直接選擇數字欄位。 |
批次修改 | 單行文字編輯公式的時候,直接選擇數字欄位就行,不用輸入任何函數。 |
欄位設定 | TEXT(數字欄位)。 |
日期轉文字(年月日)
功能 | 轉化方式 |
表單欄位 | TEXT(DATE(日期欄位),"yyyyMMdd") |
批次修改 | 新增三個輔助的單行文字,分別編輯公式取得年月日, 年文字:YEAR(日期欄位); 月文字:MONTH(日期欄位); 日文字:DAY(日期欄位); 最終的年月日欄位公式:CONCATENATE(年文字,RIGHT(CONCATENATE("00",月文字),2),RIGHT(CONCATENATE("00",日文字),2)) 修改成功之後,年文字,月文字,日文字三個輔助欄位可以刪除 |
欄位設定 | 文字年月:TEXT(DATE(日期欄位),"yyyyMM") 文字年月日:TEXT(DATE(日期欄位),"yyyyMMdd") 文字年月日時分秒:TEXT(DATE(日期欄位)) 數字年月:YEAR(日期欄位)*100+MONTH(日期欄位) 數字年月日:YEAR(日期欄位)*10000+MONTH(日期欄位)*100+DAY(日期欄位) 數字年月日時分秒:YEAR(日期欄位)*10000000000+MONTH(日期欄位)*100000000+DAY(日期欄位)*1000000+HOUR(日期欄位)*10000+MINUTE(日期欄位)*100+SECOND(日期欄位) |
日期取得星期
功能 | 轉化方式 |
表單欄位 | TEXT(DATE(日期欄位),"EEE") |
批次修改 | 在表單設計中,新增一個輔助的日期欄位,批次修改為一個固定的日期,比如批次改為2022-1-3(某一個星期一) 然後星期的文字欄位批次修改公式為:IFS(MOD(DAYS(需要計算的日期欄位,新新增的日期欄位),7)==0,"星期一",MOD(DAYS(需要計算的日期欄位,新新增的日期欄位),7)==1,"星期二",MOD(DAYS(需要計算的日期欄位,新新增的日期欄位),7)==2,"星期三",MOD(DAYS(需要計算的日期欄位,新新增的日期欄位),7)==3,"星期四",MOD(DAYS(需要計算的日期欄位,新新增的日期欄位),7)==4,"星期五",MOD(DAYS(需要計算的日期欄位,新新增的日期欄位),7)==5,"星期六",MOD(DAYS(需要計算的日期欄位,新新增的日期欄位),7)==6,"星期日") |
欄位設定 | IFS(MOD(DAYS(日期欄位,DATE(2022,1,3)),7)==0,"星期一",MOD(DAYS(日期欄位,DATE(2022,1,3)),7)==1,"星期二",MOD(DAYS(日期欄位,DATE(2022,1,3)),7)==2,"星期三",MOD(DAYS(日期欄位,DATE(2022,1,3)),7)==3,"星期四",MOD(DAYS(日期欄位,DATE(2022,1,3)),7)==4,"星期五",MOD(DAYS(日期欄位,DATE(2022,1,3)),7)==5,"星期六",MOD(DAYS(日期欄位,DATE(2022,1,3)),7)==6,"星期日") |
成員轉文字
功能 | 轉化方式 |
表單欄位 | TEXTUSER(成員單選,"name") |
批次修改 | 透過資料匯出的方式修改,將成員單選的值匯入更新到文字的姓名中 |
欄位設定 | 暫無法實現 |
部門轉文字
功能 | 轉化方式 |
表單欄位 | TEXTDEPT(部門單選,“name”) |
批次修改 | 透過資料匯出的方式修改,將部門單選的值匯入更新到文字的部門中 |
欄位設定 | 暫無法實現 |
手機轉文字
功能 | 轉化方式 |
表單欄位 | TEXTPHONE(手機欄位,"phone") |
批次修改 | 透過資料匯出的方式修改,將手機欄位的值匯入更新到文字的手機中 |
欄位設定 | 暫無法實現 |
數字欄位格式
數字欄位的欄位格式保留固定的位數或者顯示百分比。
功能 | 轉化方式 |
表單欄位 | ROUND(數字,2)或者TEXT(數字,"0.00%") |
批次修改 | 直接在表單設計中設定數字欄位的格式 |
欄位設定 | 資料工廠中無法實現,可以資料工廠輸出之後,透過儀表板展示資料工廠的資料,在儀表板中設定資料格式,顯示百分比或者小數位數 |
空值判斷
根據欄位是否為空進行不同的計算。
功能 | 轉化方式 |
表單欄位 | 透過 ISEMPTY(文字) 函數判斷文字、日期時間、數字等欄位是否為空,並根據是否為空進行計算。例:IF(ISEMPTY(產品名稱)==0,入庫數量-出庫數量,0) |
批次修改 | 篩選出產品名稱不為空的資料,批次修改篩選後的資料,公式輸入:入庫數量-出庫數量,再篩選出產品名稱為空的,批次修改篩選後的資料,改為固定值 0 |
欄位設定 | 文字是否為空: IF(ISEMPTY(文字欄位)==0,返回值1,返回值2) 日期是否為空: IF(ISEMPTY(TEXT(DATE(日期欄位)))==0,返回值1,返回值2) 數字是否為空: 透過欄位設定無法直接實現,只能新增兩個資料篩選節點,分別篩選數字為空的,和數字不為空的,再分別連接欄位設定節點計算對應的返回值,再把兩個欄位設定節點追加合併起來。 |