場景描述:在人員簡歷表中,可能出現員工填寫較隨意的情況,比如有的人填寫了中學畢業時間,有的人填寫了大學畢業時間。因為員工的學歷不一,因此無法透過一欄資料判斷該員工的最後畢業時間,此時就需要從多欄資料中獲取到員工的畢業時間。
應用範例:比如下圖原始資料包含A和B兩欄資料,需要新增一欄資料 C,C 的獲取條件為當 A 為空的時候,拿到的是 B;B 為空的時候,拿到的是 A;當 AB 都有資料的時候,獲得最大值。
如何實現:在 FineBI 中,目前可以透過 IF 函式判斷來實現該場景,即判斷 A 為空,取 B;B 為空,取 A;A、B 均不為空,根據 A、B 大小取值;下面我們詳細介紹下在 FineBI 中實現以上範例的步驟。
1)下載範例資料:
人員簡歷表.xls
2)在業務包中選擇新增表>EXCEL 資料集,如下圖,將「人員簡歷表」匯入業務包中。
3)匯入成功的資料預覽如下圖:
在業務包編輯頁面,選擇新增表>自助資料集,如下圖:
新增匯入的表欄位 A 和 B,並在左側步驟欄選擇新增欄,如下圖:
命名新增欄為 C,獲取新增欄的公式如下圖,為if(isnull(A),B,if(isnull(B),A,if(DATESUBDATE(A,B,"d")>0,A,B)))。使用的函式為 if、isnull和DATESUBDATE,分別用於判斷條件、判斷是否為空和比較日期大小。
注:公式中的時間欄位 A 和 B 不能直接輸入,需要按欄位選擇。
點選確定儲存該新增欄,則資料預覽處即出現該新增欄 C,如下圖:
此時我們點選右上角的儲存按鈕儲存該自助資料集,並在業務包介面按更新進度,顯示完成後進入資料預覽處,可以看到包含新增欄 C 的自助資料集資料。