反馈已提交

网络繁忙

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

数据加工并分析

  • 文档创建者:Roxy
  • 编辑次数:11次
  • 最近更新:April陶 于 2022-08-31
  • 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

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

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

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

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

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

    3)新建一个字段「判断是否迟到」,在李明明的公司中,晚于 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-50 09:30:00

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

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

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

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

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

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

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

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

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

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

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

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

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

    6)保存并更新该表。

    2.2 汇总考勤数据

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    4. 计算工作时长和年龄

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

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

    注:时间字段需要选择数据表中的字段,不能手动输入文字。

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

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

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

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

    注:身份证号码需要选择数据表中的字段,不能手动输入文字。

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

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

    5. 习题练习

    本节为你准备了习题,你可以使用习题对学习的内容进行练习,更好的掌握内容:数据处理习题

    附件列表


    主题: 数据分析进阶
    • 有帮助
    • 没帮助
    • 只是浏览
    • 评价文档,奖励 1 ~ 100 随机 F 豆!

    售前咨询电话

    400-811-8890转1

    在线技术支持

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

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

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

    总裁办24H投诉

    热线电话:173-1278-1526

    文 档反 馈

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

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

    不再提示

    10s后关闭