反馈已提交

网络繁忙

您正在浏览的是 FineBI6.1 帮助文档,点击跳转至: FineBI5.1帮助文档

数据加工并分析

  • 文档创建者:Roxy
  • 历史版本:16
  • 最近更新:April陶 于 2024-12-05
  • 1. 概述

    基础表处理 中已经将数据表接入 BI,并对其进行了简单的清洗。

    接下来需要解决的问题有:

    • 只有请假的员工会标注考勤状态,有过打卡行为的员工不能区分考勤状态;

    • 打卡信息中缺少员工的姓名、年龄、性别等基础信息,这些信息都在「人员信息表」中;

    • 数据中只有打卡时间,但是缺少工作时长的数据等等。

    需要通过 在我的分析编辑数据 来解决。

    2. 区分打卡行为

    2.1 标记有打卡行为的数据

    1)新建一个分析主题,并添加「公共数据」中「打卡信息表」的字段。

    2022-08-31_11-36-31.gif

    并双击表名重命名为「考勤数据(不请假)」表。

    2022-08-31_11-39-17.png

    2)过滤出非公休非请假的数据,即「状态」字段为空时的数据,这部分数据中员工应该正常打卡,将其过滤出来以便对他们的打卡数据进行分析。如下图所示:

    过滤详细说明参见:过滤基础功能

    2022-08-31_11-41-26.png

    3)添加分组汇总,求出用户每天打卡的最早时间和最晚时间。如下图所示:

    最早时间对应员工的上班时间

    最晚时间对应员工的下班时间

    分组汇总详细说明参见:分组汇总基础功能

    2022-08-31_11-55-57.png

    4)新建一个字段「判断是否迟到」,在李明明的公司中,晚于 9:30 到公司就算迟到。所以我们新建一个 9:30 的字段用于判断,输入公式:

    TODATE(CONCATENATE(LEFT(日期,10)," ","09:30:00")),如下图所示:

    2022-08-31_11-51-58.png

    公式说明:

    公式
    说明
    LEFT(日期,10)取日期的年月日字段
    CONCATENATE(LEFT(日期,10)," ","09:30:00")

    拼接出日期+9:30 的迟到时间数据

    比如当前日期是 2022-05-05  则得到2022-05-05 09:30:00

    TODATE(CONCATENATE(LEFT(日期,10)," ","09:30:00"))将迟到时间设置为日期类型

    并使用时间差,如果结果<0,就是迟到,如下图所示:

    新增列详细说明参见:新增列-时间差

    2022-08-31_11-53-33.png

    5)对考勤时间进行比较判断。

    当工作时长小于六小时时,判断为缺勤;

    当上班时间大于 9:30 时,判断为迟到;其余判断为「全勤」。

    计算出工作时长后,新增列输入公式:IF(工作小时<6,"缺勤",IF(是否迟到<0,"迟到","全勤")),如下图所示:

    新增列详细说明参见:新增列-公式函数

    2022-08-31_13-46-16.png

    6)隐藏我们之后不需要的字段,在字段设置中取消勾选即可,如下图所示:

    字段设置详细说明参见:字段设置

    2022-08-31_13-52-25.png

    7)保存并更新该表。

    2.2 汇总考勤数据

    此时需要将请假的用户数据和未请假的数据进行汇总。

    1)在分析主题添加数据:本地工程上的「打卡信息表」重命名为「考勤汇总」表。

    2)过滤出所有请假的数据(注意不选择公休和调休数据),如下图所示:

    注:因为只统计工作日数据,所以这里不选择公休和调休数据。

    1661926736175257.png

    3)添加分组汇总,设置和「考勤数据(不请假)」相同的条件,如下图所示:

    注:此处为合并 2.1 节数据做准备。

    2022-08-31_14-17-54.png

    4)将请假的数据和 2.1 节正常打卡的数据合并到一张表中。进行上下合并,如下图所示:

    上下合并详细说明参见:上下合并基础功能

    2022-08-31_14-16-24.png

    3. 合并姓名、性别等数据

    已经完成了对考勤数据的整理,接下来希望打卡信息中能新增员工的姓名、年龄、性别等基础信息,这些信息都在「人员信息表」中。

    因此需要使用左右合并功能,通过「工号」字段将两张数据表的数据进行合并,由于我们希望保留「打卡信息表」的所有数据,因此选择左合并,如下图所示:

    左右合并详细说明参见:左右合并基础功能

    2022-08-31_14-25-13.png

    4. 计算工作时长和年龄

    只有打卡时间但想要知道每个员工的工作时长,此时需要继续使用数据集进行数据处理。

    1)使用函数 DATESUBDATE 计算「最晚时间」和「最早时间」的时间差,输入公式:DATESUBDATE(最晚时间,最早时间,"m")/60,如下图所示:

    2022-08-31_14-27-17.png

    若使用的实时数据,你可以使用新增列-时间差 计算工作时长,如下图所示:

    2022-08-31_14-28-56.png

    2)在合并数据后,知道了员工身份证号,就可以通过计算,得到员工的年龄,使用公式:YEAR()-TOINTEGER(MID(身份证号码,7,4)),如下图所示:

    2022-08-31_14-30-47.png

    此时我们的数据处理就完成了,当然可以在使用字段设置取消掉不需要使用的中间字段

    附件列表


    主题: 进阶学习
    • 有帮助
    • 没帮助
    • 只是浏览
    中文(简体)

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

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

    不再提示

    10s后关闭



    AI

    联系我们
    在线支持
    获取专业技术支持,快速帮助您解决问题
    工作日9:00-12:00,13:30-17:30在线
    页面反馈
    针对当前网页的建议、问题反馈
    售前咨询
    采购需求/获取报价/预约演示
    或拨打: 400-811-8890 转1
    qr
    热线电话
    咨询/故障救援热线:400-811-8890转2
    总裁办24H投诉:17312781526
    提交页面反馈
    仅适用于当前网页的意见收集,帆软产品问题请在 问答板块提问前往服务平台 获取技术支持