反馈已提交

网络繁忙

您好,只有最新版本的6.0支持在线编辑修改,如果想创建/编辑文档,请移步到 *最新版本*

计算两个日期间的工作日天数

  • 文档创建者:Lily.Wang
  • 历史版本:7
  • 最近更新:Lily.Wang 于 2022-03-01
  • 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)新增一列,对「0、1标记」列按照日期升序进行累加。如下图所示:

    1.png

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

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

    特殊情况:若开始时间是节假日,比如说 2011-03-05(节假日)2011-03-09 之间的工作日天数,就只要 42-39=3 即可。

    29.png

    2.2 计算工作日天数

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

    30.png

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

    这样我们就可以将人员表中的开始时间用数字标记,并知道开始时间是否为节假日。

    2.png

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

    3.png

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

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

    4.png

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

    6)新增列,计算出开始时间结束时间之间有多少个工作日,有两种情况。写成函数后如下图所示:

    • 开始时间为节假日:结束时间标记-开始时间标记;

    • 结束时间为节假日:结束时间标记-开始时间标记+1;

    5.png

    7)保存自助数据集。

    2.3 效果预览

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

    6.png


    附件列表


    主题: 数据加工
    已经是第一篇
    已经是最后一篇
    • 有帮助
    • 没帮助
    • 只是浏览

    售前咨询电话

    400-811-8890转1

    在线技术支持

    请前往「服务平台」,选择「在线支持」

    热线电话:400-811-8890转2

    在线QQ(将在2023.01.03关停):800049425

    总裁办24H投诉

    热线电话:173-1278-1526

    文 档反 馈

    鼠标选中内容,快速反馈问题

    鼠标选中存在疑惑的内容,即可快速反馈问题,我们将会跟进处理。

    不再提示

    10s后关闭