历史版本5 :计算两个日期间的工作日天数 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. 概述编辑

1.1. 预期效果

公司来了一批实习生,工资按工作了多少天进行结算。希望可以通过「开始时间」和「结束时间」,计算出他们一共工作了多少工作日。

21.png

1.2 实现思路

通过给日期进行标记,对两个日期的标记数相减,即可获得两个日期间的工作日天数。

2. 操作方式编辑

下载本文示例数据:示例数据.rar

2.1 处理日期表

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

若用户自己的节假日时间与表格不同,可以对其进行更改。

23.png

2)将「日期表」上传到 FineBI 。并添加自助数据集「节假日标记表」,勾选「日期表」的所有数据。如下图所示:

25.png

3)新增一列,对日期进行 0、1 标记。是节假日的标记为 0 ,非节假日标记为 1 。如下图所示:

26.png

4)新增一列,累加标记。如下图所示:

28.png

累加后的表如下图所示,可以通过「累加标记」字段直接计算得出两个日期之间的工作日天数。

例如 2011-03-14 2011-03-08 之间的工作日天数,只需要用对应的「累加标记值」相减:(45-41)+1=5天。

29.png

2.2 计算工作日天数

1)上传「人员表」,新建一个自助数据集,并勾选人员表的所有字段。如下图所示:

30.png

2)添加 左右合并。选择「节假日标记表」的「日历」字段和「累加标记」字段,合并依据选择「开始时间」和「日历」。如下图所示:

此步将每个开始时间和它们的标记对应。

31.png

3)更改字段「累加标记」为「开始时间标记」。如下图所示:

32.png

4)同样的,再进行一次左右合并。选择「节假日标记表」的「日历」字段和「累加标记」字段,合并依据选择「结束时间」和「日历」,如下图所示:

此步将结束时间与它们的标记对应。

33.png

5)将「节假日标记表-累加标记」改名为「结束时间标记」。

6)新增列,计算出开始时间结束时间之间有多少个工作日,如下图所示:

使用标记相减,即可得出工作日天数。

34.png

7)保存自助数据集。

2.3 效果预览

计算得出的工作日天数如下图所示。例如:James 从2016-08-31实习到2016-07-04,一共实习了 43 个工作日。

35.png