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

計算兩個日期間的工作日天數

1. 概述

1.1. 預期效果

公司來了一批實習生,工資按工作了多少天進行結算。希望可以透過「開始時間」和「結束時間」,計算出他們一共工作了多少工作日。

94.png

1.2 實現思路

透過給日期進行標記,對兩個日期的標記數相減,即可獲得兩個日期間的工作日天數。

2. 操作方式

下載本文範例資料:

範例資料.zip

2.1 處理日期表

1)日期表的內容格式如下表所示:

若使用者自己的節假日時間與表格不同,可以對其進行更改。

1661239066778739.png

2)將「日期表」上傳到 FineBI 。並新增自助資料集「節假日標記表」,勾選「日期表」的所有資料。如下圖所示:

83.png

3)新增欄,對日期進行 0、1 標記。是節假日的標記為 0 ,非節假日標記為 1 。如下圖所示:

84.png

4)新增欄,對「0、1標記」列按照日期升冪進行累加。如下圖所示:

1661239476674997.png

累加後的表如下圖所示,可以透過「累加標記」欄位直接計算得出兩個日期之間的工作日天數。

例如 2011-03-14 2011-03-08 之間的工作日天數,只需要用對應的「累加標記值」相減:(45-41)+1=5天。

特殊情況:若開始時間是節假日,比如說 2011-03-05(節假日)2011-03-09 之間的工作日天數,就只要 42-39=3 即可。

1661239789470623.png

2.2 計算工作日天數

1)上傳「人員表」,建立一個自助資料集,並勾選人員表的所有欄位。如下圖所示:

87.png

2)新增 左右合併。選擇「節假日標記表」的「日曆、是否為節假日、累加標記」欄位,合併依據選擇「開始時間」和「日曆」。如下圖所示:

這樣我們就可以將人員表中的開始時間用數字標記,並知道開始時間是否為節假日。

88.png

3)更改欄位「累加標記」為「開始時間標記」,更改「是否為節假日」為「開始時間是否為節假日」。如下圖所示:

89.png

4)同樣的,再進行一次左右合併。選擇「節假日標記表」的「日曆」欄位和「累加標記」欄位,合併依據選擇「結束時間」和「日曆」,如下圖所示:

此步將結束時間與它們的標記對應。

1661242527709902.png

5)將「節假日標記表-累加標記」改名為「結束時間標記」。

6)新增欄,計算出開始時間結束時間之間有多少個工作日,有兩種情況。寫成函式後如下圖所示:

  • 開始時間為節假日:結束時間標記-開始時間標記;

  • 結束時間為節假日:結束時間標記-開始時間標記+1;

92.png

7)儲存自助資料集。

2.3 效果預覽

計算得出的工作日天數如下圖所示。例如:James 從2016-08-31實習到2016-07-04,一共實習了 43 個工作日。

93.png


附件列表


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