基于助睿平台的学生用户画像考勤主题标签构建

实验背景

1.1 实验目的

本次实验旨在设计并实现一个学生多维度考勤统计的助睿ETL转换流。通过该实验,掌握以下技能并完成以下任务:

  • 掌握ETL数据处理全流程:包括数据接入、多表关联、衍生字段生成、聚合统计及结果输出。

  • 解决实际问题:替代人工Excel统计,统一考勤统计口径,提升效率,避免统计口径不一致的问题。

  • 优化空值处理逻辑:结合实际数据情况,设计合理的空值替换策略,确保转换流可稳定运行。

  • 输出精准统计结果:生成多维度考勤指标,为校园考勤管理提供数据支撑。

1.2 实验环境

  • 实验平台:助睿数智(Uniplore)一站式数据科学实验平台

  • 登录地址:https://lab.guilian.cn/

  • 平台官网:https://www.uniplore.com/

  • 数据库:MySQL

  • 实验数据:“数智教育”大赛数据集,共包含7张核心业务表,本次实验聚焦考勤记录表(3_kaoqin.csv)、考勤类型表(4_kaoqintype.csv)、学生基本信息表(2_student_info.csv)

1.3 处理流程简述

  1. 数据接入。将考勤记录表(3_kaoqin)、考勤类型表(4_kaoqintype)、学生基本信息表(2_student_info)三张核心表接入助睿ETL平台。

  2. 多表关联。对考勤记录表与考勤类型表按考勤类型ID进行左外连接,补充考勤事件标准化名称;再将结果与、学生基本信息表按学生ID进行左外连接,补充学生基础属性信息。

  3. 标签衍生。从班级名称中提取年级、判断校区类型;映射是否住校字段。

  4. 指标计算。按学生维度聚合,统计迟到次数、早退次数、请假次数、没穿校服次数。

  5. 字段整理。移除连接后产生的重复字段,保留学生ID、姓名、班级、性别、出生日期、政治面貌等基础属性,以及四项考勤行为统计指标。

  6. 结果输出。将多维度考勤统计结果输出到目标表或Excel文件中。

实验步骤

2.1创建实验项目

点击“+新建项目”,输入项目名称“学生用户画像标签构建”,点击“确定”。

屏幕截图 2026-05-15 101310

2.2 数据资源获取

点击该项目右上角“…”,点击“打开项目”。

屏幕截图 2026-05-15 101330

2.2.1获取实验数据集

点击“文件库”,右键根目录,点击“新建目录”。

屏幕截图 2026-05-15 101402

输入目录名称为“数智教育数据集”,点击“确定”。

屏幕截图 2026-05-15 101418

点击“公共空间”。

屏幕截图 2026-05-15 101434

点击“数据资源”,点击“3_kaoqin.csv”卡片右上角的“更多”,并点击“导出”。

屏幕截图 2026-05-15 101839

在弹出的窗口中选择导出到刚刚新创建的目录下。

屏幕截图 2026-05-15 101850

点击“确定”。

屏幕截图 2026-05-15 101857

重复以上操作,将本次实验用到的数据表4_kaoqintype.csv和 2_student_info.csv都导出到“数智教育数据集”。

屏幕截图 2026-05-15 101950

2.2.2建立数据源连接

点击“元数据”,右键关系数据库右键,点击“新建数据源”。

屏幕截图 2026-05-15 102010

连接类型选择“MySQL”,填入用户名和密码。服务器主机名使用“rm-2vc3qok06bag39a5n.mysql.cn-chengdu.rds.aliyuncs.com”,端口号为3306,数据库名为“cs_group_9”,驱动类型选择“MySQL 8+”,连接名称为“团队私有数据库”。最后点击“添加”。

屏幕截图 2026-05-15 103649

2.2.3原始考勤记录表数据导入

点击“资源库”,右键根目录,点击“新建转换流”。

屏幕截图 2026-05-15 103822

输入转换流名称“创建原始_学生考勤表”,点击“确定”。

屏幕截图 2026-05-15 103837

点击锁形图标解锁画布。

屏幕截图 2026-05-15 103904

点击“组件库”,搜索“执行一个SQL脚本”,将其拖入右侧画布。

屏幕截图 2026-05-15 103928

数据库连接选择“团队私有数据库”,在组件中填写SQL脚本,点击“确认”。

屏幕截图 2026-05-15 104008

点击三角形图标,运行转换流。

屏幕截图 2026-05-15 104019

点击“启动”。

屏幕截图 2026-05-15 104119

运行过程会定时刷新组件状态,并显示执行日志。

屏幕截图 2026-05-15 104129

点击“资源库”,右键根目录,点击“新建转换流”。

屏幕截图 2026-05-15 104147

输入转换流名称“导入原始考勤数据”。点击“确认”。

屏幕截图 2026-05-15 104157

点击锁形图标解锁画布。

屏幕截图 2026-05-15 104300

点击“组件库”,搜索“CSV文件输入”,将其拖入右侧画布。

屏幕截图 2026-05-15 104308

双击CSV文件输入组件,在步骤名称中输入“考勤记录”。编码选择“UTF-8”。点击“浏览文件”。

屏幕截图 2026-05-15 104439

选择“3_kaoqin.csv”,点击“确定”。

屏幕截图 2026-05-15 104359

在字段表格中空白处右键点击“获取字段”。最后点击“确认”。

屏幕截图 2026-05-15 104445

点击“组件库”,搜索“表输出”,将其拖入右侧画布。

屏幕截图 2026-05-15 104509

创建“考勤记录”CSV文件输入组件到“表输出”组件的连线。

屏幕截图 2026-05-15 104525

连线类型选择“主输出步骤”。

屏幕截图 2026-05-15 104522

双击“表输出”组件,数据库连接选择“团队私有数据库”,目标表输入我们使用SQL组件创建的“raw_attendance”。勾选“裁剪表”和“指定数据库字段”。

屏幕截图 2026-05-15 104630

点击“数据库字段”,在空白处右键“获取字段”

屏幕截图 2026-05-15 104637

将表字段修改为建表语句中对应的字段,点击“确认”

屏幕截图 2026-05-15 105323

点击三角形图标,运行转换流。

屏幕截图 2026-05-15 105516

点击“启动”。

屏幕截图 2026-05-15 105521

运行过程会定时刷新组件状态,并显示执行日志。

屏幕截图 2026-05-15 105624

2.2.4原始考勤类型表数据导入

点击“资源库”,右键根目录,点击“新建转换流”。

屏幕截图 2026-05-15 105644

输入转换流名称“创建原始_考勤类型表”,点击“确定”。

屏幕截图 2026-05-15 105710

点击锁形图标解锁画布。

屏幕截图 2026-05-15 103904

点击“组件库”,搜索“执行一个SQL脚本”,将其拖入右侧画布。

屏幕截图 2026-05-15 103928

数据库连接选择“团队私有数据库”,在组件中填写SQL脚本,点击“确认”。

屏幕截图 2026-05-15 105919

点击三角形图标,运行转换流。

屏幕截图 2026-05-15 104019

点击“启动”。

屏幕截图 2026-05-15 104119

运行过程会定时刷新组件状态,并显示执行日志。

屏幕截图 2026-05-15 105936

点击“资源库”,右键根目录,点击“新建转换流”。

屏幕截图 2026-05-15 105956

输入转换流名称“导入原始考勤类型数据”。点击“确认”。

屏幕截图 2026-05-15 110348

点击锁形图标解锁画布。

屏幕截图 2026-05-15 104300

点击“组件库”,搜索“CSV文件输入”,将其拖入右侧画布。

屏幕截图 2026-05-15 110414

双击CSV文件输入组件,列分隔符为“插入制表符(TAB)”。编码选择“GB2312”。点击“浏览文件”。

屏幕截图 2026-05-15 110550

选择“4_kaoqintype.csv”,点击“确定”。

屏幕截图 2026-05-15 110441

在字段表格中空白处右键点击“获取字段”。最后点击“确认”。

屏幕截图 2026-05-15 110559

点击“组件库”,搜索“表输出”,将其拖入右侧画布。

屏幕截图 2026-05-15 110837

创建CSV文件输入组件到“表输出”组件的连线。

屏幕截图 2026-05-15 110848

连线类型选择“主输出步骤”。

屏幕截图 2026-05-15 104522

双击“表输出”组件,数据库连接选择“团队私有数据库”,目标表输入我们使用SQL组件创建的“raw_attendance_type”。勾选“裁剪表”和“指定数据库字段”。

屏幕截图 2026-05-15 111225

点击“数据库字段”,在空白处右键“获取字段”

屏幕截图 2026-05-15 104637

将表字段修改为建表语句中对应的字段,点击“确认”

屏幕截图 2026-05-15 111349

点击三角形图标,运行转换流。

屏幕截图 2026-05-15 111358

点击“启动”。

屏幕截图 2026-05-15 105521

运行过程会定时刷新组件状态,并显示执行日志。

屏幕截图 2026-05-15 111410

2.2.5原始学生基本信息表数据导入

点击“资源库”,右键根目录,点击“新建转换流”。

屏幕截图 2026-05-15 111458

输入转换流名称“创建原始_学生信息表”,点击“确定”。

屏幕截图 2026-05-15 111506

点击锁形图标解锁画布。

屏幕截图 2026-05-15 111540

点击“组件库”,搜索“执行一个SQL脚本”,将其拖入右侧画布。

屏幕截图 2026-05-15 111556

数据库连接选择“团队私有数据库”,在组件中填写SQL脚本,点击“确认”。

屏幕截图 2026-05-15 111630

点击三角形图标,运行转换流。

屏幕截图 2026-05-15 111635

点击“启动”。

屏幕截图 2026-05-15 104119

运行过程会定时刷新组件状态,并显示执行日志。

屏幕截图 2026-05-15 111646

点击“资源库”,右键根目录,点击“新建转换流”。

屏幕截图 2026-05-15 111657

输入转换流名称“导入学生基本信息数据”。点击“确认”。

屏幕截图 2026-05-15 111720

点击锁形图标解锁画布。

屏幕截图 2026-05-15 111732

点击“组件库”,搜索“CSV文件输入”,将其拖入右侧画布。

屏幕截图 2026-05-15 111744

双击CSV文件输入组件。编码选择“UTF-8”。点击“浏览文件”。

屏幕截图 2026-05-15 111815

选择“2_student_info.csv”,点击“确定”。

屏幕截图 2026-05-15 111754

在字段表格中空白处右键点击“获取字段”。

屏幕截图 2026-05-15 111829

将“bf_leaveSchool”的字段类型修改为“String”。最后点击“确认”。

屏幕截图 2026-05-15 111919

点击“组件库”,搜索“字段选择”,将其拖入右侧画布。

屏幕截图 2026-05-15 112043

创建CSV文件输入组件到“字段选择”组件的连线。

屏幕截图 2026-05-15 112247

连线类型选择“主输出步骤”。

屏幕截图 2026-05-15 104522

双击“字段选择”组件,点击“元数据”,并在空白处插入2行。

屏幕截图 2026-05-15 112435

设置“bf_zhusu”、“bf_qinshihao”字段的元数据。最后点击“确认”。

屏幕截图 2026-05-15 112613

屏幕截图 2026-05-15 112645

点击“组件库”,搜索“表输出”,将其拖入右侧画布。

屏幕截图 2026-05-15 112708

创建“字段选择”组件到“表输出”组件的连线。

屏幕截图 2026-05-15 112729

连线类型选择“主输出步骤”。

屏幕截图 2026-05-15 104522

双击“表输出”组件,数据库连接选择“团队私有数据库”,目标表输入我们使用SQL组件创建的“raw_student_info”。勾选“裁剪表”和“指定数据库字段”。

屏幕截图 2026-05-15 112813

点击“数据库字段”,在空白处右键“获取字段”

屏幕截图 2026-05-15 104637

将表字段修改为建表语句中对应的字段,点击“确认”

屏幕截图 2026-05-15 113017

点击三角形图标,运行转换流。

屏幕截图 2026-05-15 113025

点击“启动”。

屏幕截图 2026-05-15 105521

运行过程会定时刷新组件状态,并显示执行日志。

屏幕截图 2026-05-15 113041

2.2.6创建学生考勤主题标签表

点击“资源库”,右键根目录,点击“新建转换流”。

屏幕截图 2026-05-15 113056

输入转换流名称“创建学生考勤主题标签表”,点击“确定”。

屏幕截图 2026-05-15 113107

点击锁形图标解锁画布。

屏幕截图 2026-05-15 113130

点击“组件库”,搜索“执行一个SQL脚本”,将其拖入右侧画布。

屏幕截图 2026-05-15 113220

数据库连接选择“团队私有数据库”,在组件中填写SQL脚本,点击“确认”。

屏幕截图 2026-05-15 113238

点击三角形图标,运行转换流。

屏幕截图 2026-05-15 113251

点击“启动”。

屏幕截图 2026-05-15 113255

运行过程会定时刷新组件状态,并显示执行日志。

屏幕截图 2026-05-15 113317

2.3 学生考勤主题标签构建

2.3.1数据接入:获取考勤记录、考勤类型数据、学生信息数据

点击“资源库”,右键根目录,点击“新建转换流”。

屏幕截图 2026-05-15 113438

输入转换流名称“学生考勤主题标签”,点击“确定”。

屏幕截图 2026-05-15 113448

点击锁形图标解锁画布。

屏幕截图 2026-05-15 113500

点击“组件库”,搜索“表输入”,拖拽3个表输入组件至画布中。

屏幕截图 2026-05-15 113526

双击第一个表输入组件,步骤名称修改为“考勤记录”,数据库连接选择“团队私有数据库”,并点击“获取SQL查询语句”。

屏幕截图 2026-05-15 113628

在数据库中选择“raw_attendance”原始_学生考勤表。点击“确定”。

屏幕截图 2026-05-15 113612

在系统提示弹窗中点击“确认”。

屏幕截图 2026-05-15 113616

按以上步骤,将“表输入 1”和“表输入 2”组件分别命名为“考勤类型”和“学生信息”,分别获取考原始_考勤类型表(raw_attendance_type)和原始_学生信息表(raw_student_info)所有字段数据。

屏幕截图 2026-05-15 113659

屏幕截图 2026-05-15 113736

2.3.2数据关联:关联考勤记录+考勤类型

点击“组件库”,搜索“排序记录”,将其拖入右侧画布。

屏幕截图 2026-05-15 113839

创建“考勤记录”CSV文件输入组件到“排序记录”组件的连接线。

屏幕截图 2026-05-15 114046

双击“排序记录”组件,在字段表格中空白处右键点击“获取字段”。

屏幕截图 2026-05-15 114056

选中多余字段,删除多余字段。

屏幕截图 2026-05-15 114154

只保留“attendance_type_id”、“attendance_task_order_id”字段。最后设置步骤名称为“按照考勤类型和考勤任务类型排序”,点击“确认”。

屏幕截图 2026-05-15 114258

点击“组件库”,搜索“记录集连接”,将其拖入右侧画布。

屏幕截图 2026-05-15 114323

创建排序记录组件到记录集连接组件的连接线。创建“考勤类型”表输入组件到记录集连接组件的连接线。

屏幕截图 2026-05-15 114355

双击记录集连接组件,第一个Transform选择“按照考勤类型和考勤任务类型排序”,第二个Transform选择“考勤类型”,连接类型选择LEFT OUTER。

点击“获得连接字段”,选中多余字段,删除多余字段。

屏幕截图 2026-05-15 114503

2个Transform字段中仅保留“attendance_type_id”、“attendance_task_order_id”字段。最后点击“确认”。

屏幕截图 2026-05-15 114519

2.3.3行为标签衍生:统计学生异常考勤次数

点击“组件库”,搜索“Java Script代码”,将其拖入右侧画布。

屏幕截图 2026-05-15 114619

创建记录集组件到“Java Script代码”组件的连接线。

屏幕截图 2026-05-15 114709

双击“JavaScript代码”组件,命名为“提取异常考勤记录”,在Script1中输入JavaScript脚本。点击“获取变量”。最后点击“确认”。

2.3.4多维度分组聚合统计

点击“组件库”,搜索“分组”,将其拖入右侧画布。

创建“提取异常考勤记录”组件到分组组件的连线。

连线选择“主输出步骤”。

屏幕截图 2026-05-17 161757

双击“分组”组件,设置分组字段为“stu_id”、“stu_name”、“cla_id”、“cla_name”。

设置聚合字段为“late_count”、“early_count”、“leave_count”、“no_uniform_count”。

2.3.5关联学生信息

点击“组件库”,搜索“排序记录”,将其拖入右侧画布。

建立“学生信息”表输入组件到“排序记录”组件的连接线。

双击“排序记录”组件,通过“获取字段”功能获取字段列表,然后删除多余字段,只保留“stu_id”字段。最后设置步骤名称为“按照学生编号进行排序”,点击“确认”。

拖拽“记录集连接”组件至画布中,创建“按照学生编号进行排序”排序记录组件到“记录集连接 1”组件的连接线。

屏幕截图 2026-05-17 163735

拖拽“排序记录”组件至画布中,创建“分组”组件到“排序记录”组件的连接线。

双击“排序记录”组件,通过“获取字段”功能获取字段列表,然后删除多余字段,只保留“stu_id”字段。最后设置步骤名称为“按照学生编号进行排序”,点击“确认”。

创建“考勤记录按学号排序”组件到“记录集连接 1”组件的连接线。创建“按照学生编号进行排序”组件到“记录集连接 1”组件的连接线。

双击记录集连接 1组件,第一个Transform选择“考勤数据按学号排序”,第二个Transform选择“按照学生编号进行排序”,连接类型选择LEFT OUTER。

点击“获得连接字段”,删除多余字段,只留下“stu_id”。点击“确认”。

2.3.6字段选择:移除冗余字段

拖拽“字段选择”至画布中,创建“记录集连接 1”组件到字段选择组件的连接线。

双击“字段选择”组件,点击“移除”,点击“获取字段”。

删除“stu_id”、“stu_name”、“cla_id”、“cla_name”、“late_count”、“early_count”、“leave_count”、“no_uniform_count”、“stu_sex”、“born_date”、“policy”、“live_on_campus”字段,点击“确认”。

2.3.7空值处理

拖拽“替换NULL值”组件至画布,创建“移除冗余字段”字段选择组件到“替换NULL值”组件的连线。

连线类型选择“主输出步骤”。

屏幕截图 2026-05-17 171014

双击“替换NULL值”组件,勾选“选择字段”,插入“stu_sex”、“born_date”、“policy”、“live_on_campus”字段,将其空值均替换为“未知”。点击“确认”。

2.3.8住校状态映射

拖拽“值映射”组件到画布中,并创建替换NULL值组件到值映射组件的连线。

连线选择“主输出步骤”。

双击“值映射”组件,步骤名称改为“住校状态映射”,使用的字段名为“live_on_campus”,不匹配时的默认值为“否”。

插入两行,一行在源值中输入“0”,目标值输入“否”。一行在源值中输入“1”,目标值输入“是”。点击“确认”。

2.3.9从班级名提取年级

拖拽“JavaScript代码”组件至画布中,创建住校状态映射组件到JavaScript代码组件的连线。

连线选择“主输出步骤”。

双击“JavaScript代码”组件,步骤名称改为“从班级提取年级”,在Script1中输入JavaScript脚本。空白表格处右键,点击“插入”,字段名称输入“gra_name”,类型为“String”,替换“字段名”或“重命名”值选择“否”,设置完成后点击“确认”。

2.3.10校区类型判定

拖拽“JavaScript代码”组件至画布中,创建“从班级提取年级”组件到JavaScript代码组件的连线。

连线选择“主输出步骤”。

双击“JavaScript代码”组件,步骤名称改为“校区类型判定”,在Script1中输入JavaScript脚本。空白表格处右键,点击“插入”,字段名称输入“class_campus_type”,类型为“String”,替换“字段名”或“重命名”值选择“否”,设置完成后点击“确认”。

2.3.11结果入库

拖拽表输出组件至画布,并创建“校区类型判定”“JavaScript代码组件到表输出组件的连线。

双击表输出组件,选择“团队私有数据库”连接,目标表选择“student_attendance_stats”,勾选裁剪表和指定数据库字段。

点击“数据库字段”,右键选择“获取字段”,双击表字段中的字段名称,在下拉框中选择正确的对应字段。

2.3.11执行工作流

点击三角形图标,执行转换工作流。

点击“启动”。

成功执行后可以查看日志界面。

点击“元数据”,在“团队私有数据库”连接上右键选择“加载元数据”。

点击“数据探查”,展开“团队私有数据库”,双击目标表“student_attendance_stats”,在右侧页面点击“查询”,即可查看最终结果。

实验结果

3.1 输出数据展示

屏幕截图 2026-05-18 101058

3.2结果分析与验证

本次实验成功生成学生考勤统计标签表,核心字段包括: student_id(学号)、student_name(姓名)、class(班级)、grade(年级)、campus_type(校区类型)、is_boarder(是否住校)、late_count(迟到次数)、early_count(早退次数)、leave_count(请假次数)、uniform_violation(未穿校服次数)。学生基础属性和考勤行为标签都成功完成了相应的标准化处理。

屏幕截图 2026-05-18 101058

问题与解决

问题一:表输出的部分表字段和流字段不匹配

解决方法:在配置表输出组件时,要建立工作流字段与数据库表字段的映射关系,我在下拉框中选择了错误的对应字段。最后通过查看创建学生考勤主题表签表的SQL脚本,找到了正确的对应字段。

实验总结

本次实验让我掌握了助睿平台的全流程数据处理能力,从项目创建、多数据源接入,到数据关联、清洗衍生、聚合统计与结果输出,成功完成了将原始数据转换为标准化学生考勤标签。我理解并掌握了空值处理、字段映射、关键词匹配等数据清洗技巧,同时建立了从校园考勤业务需求出发,通过数据手段解决人工统计效率低、口径不统一问题的工程思维,为后续数据科学项目奠定了基础。

助睿平台凭借零代码可视化操作,大幅降低了ETL学习门槛,其全链路数据处理功能与教学友好的项目管理、日志查看机制,完美支撑了本次实验的开展。平台在易用性与稳定性上表现突出,能高效完成从数据到标签的转化

Logo

一站式 AI 云服务平台

更多推荐