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

資料加工並分析

1. 概述

基礎表處理 中已經將資料表接入 BI,並對其進行了簡單的清洗。
接下來需要解決的問題有:

  • 只有請假的員工會標註考勤狀態,有過打卡行為的員工不能區分考勤狀態;

  • 打卡資訊中缺少員工的姓名、年齡、性別等基礎資訊,這些資訊都在「人員資訊表」中;

  • 資料中只有打卡時間,但是缺少工作時長的資料等等。

需要透過 在我的分析編輯資料 來解決。

2. 區分打卡行為

2.1 標記有打卡行為的資料

1)建立一個分析主題,並新增「公共資料」中「打卡資訊表」的欄位。
3.gif

並雙擊表名重命名為「考勤資料(不請假)」表。

2)過濾出非公休非請假的資料,即「狀態」欄位為空時的資料,這部分資料中員工應該正常打卡,將其過濾出來以便對他們的打卡資料進行分析。如下圖所示:
過濾詳細說明參見過濾基礎功能

3)新增分組彙總,求出使用者每天打卡的最早時間和最晚時間。如下圖所示:
最早時間對應員工的上班時間。
最晚時間對應員工的下班時間。
分組彙總詳細說明參見分組彙總基礎功能

4)建立一個欄位「判斷是否遲到」,在李明明的公司中,晚於 9:30 到公司就算遲到。所以我們建立一個 9:30 的欄位用於判斷,輸入公式:
TODATE(CONCATENATE(LEFT(日期,10)," ","09:30:00")),如下圖所示:

公式說明:

公式
說明
LEFT(日期,10)取日期的年月日欄位
CONCATENATE(LEFT(日期,10)," ","09:30:00")

連接出日期+9:30 的遲到時間資料

比如當前日期是 2022-05-05  則得到2022-05-50 09:30:00

TODATE(CONCATENATE(LEFT(日期,10)," ","09:30:00"))將遲到時間設定為日期型別

並使用時間差,如果結果<0,就是遲到,如下圖所示:
新增列詳細說明參見:
新增列-時間差

5)對考勤時間進行比較判斷。
當工作時長小於六小時時,判斷為缺勤;
當上班時間大於 9:30 時,判斷為遲到;

其餘判斷為「全勤」。
計算出工作時長後,新增列輸入公式:IF(工作小時<6,"缺勤",IF(是否遲到<0,"遲到","全勤")),如下圖所示:
新增列詳細說明參見新增列-公式函式

6)隱藏我們之後不需要的欄位。如下圖所示,在欄位設定中取消勾選即可。
欄位設定詳細說明參見欄位設定


7)儲存並更新該表。

2.2 彙總考勤資料

此時需要將請假的使用者資料和未請假的資料進行彙總。
1)在分析主題新增資料:本地工程上的「打卡資訊表」重命名為「考勤彙總」表。
2)過濾出所有請假的資料(注意不選擇公休和調休資料)。如下圖所示:
注:因為只統計工作日資料,所以這裏不選擇公休和調休資料。

3)新增分組彙總,設定和「考勤資料(不請假)」相同的條件,如下圖所示:
注:此處為合併 2.1 節資料做準備。

4)將請假的資料和 2.1 節正常打卡的資料合併到一張表中。進行上下合併,如下圖所示:
上下合併詳細說明參見上下合併基礎功能

3. 合併姓名、性別等資料

已經完成了對考勤資料的整理,接下來希望打卡資訊中能新增員工的姓名、年齡、性別等基礎資訊,這些資訊都在「人員資訊表」中。
因此需要使用左右合併功能,透過「工號」欄位將兩張資料表的資料進行合併,由於我們希望保留「打卡資訊表」的所有資料,因此選擇左合併。如下圖所示:

左右合併詳細說明參見左右合併基礎功能

4. 計算工作時長和年齡

只有打卡時間但想要知道每個員工的工作時長,此時需要繼續使用資料集進行資料處理。
使用函式 DATESUBDATE 計算「最晚時間」和「最早時間」的時間差。輸入公式:DATESUBDATE(最晚時間,最早時間,"m")/60,如下圖所示:
注:時間欄位需要選擇資料表中的欄位,不能手動輸入文字。

若使用的實時資料,你可以使用新增列-時間差 計算工作時長,如下圖所示:

在合併資料後,知道了員工身分證號,就可以透過計算,得到員工的年齡,使用公式:YEAR()-TOINTEGER(MID(身分證號碼,7,4)),如下圖所示:
注:身分證號碼需要選擇資料表中的欄位,不能手動輸入文字。

此時我們的資料處理就完成了,當然可以在使用欄位設定取消掉不需要使用的中間欄位。

附件列表


主題:
已經是第一篇
已經是最後一篇
  • 有幫助
  • 沒幫助
  • 只是瀏覽
  • 评价文档,奖励 1 ~ 100 随机 F 豆!