学生用户画像 - 考勤主题标签构建
摘要:本实验基于"数智教育"大赛数据集,利用助睿ETL平台构建学生考勤主题标签系统。通过整合考勤主表、类型码表和学生信息表,设计ETL转换流实现数据接入、关联、清洗和聚合统计。实验重点解决了考勤数据人工统计效率低、口径不统一的问题,建立了包含迟到、早退、请假等核心指标的标准化统计体系,并衍生出年级、校区等分析维度。最终输出精准的多维度考勤统计结果,为校园管理提供数据支撑,同时验
一、实验说明
1.1 实验目的
基于“数智教育”大赛数据集,设计并实现学生多维度考勤统计助睿ETL转换流,掌握ETL数据处理全流程(数据接入、关联、衍生、聚合、落地),解决校园考勤人工统计效率低、口径不统一的问题;同时结合实验实际数据情况,优化空值处理逻辑,确保转换流可正常运行,输出精准的多维度考勤统计结果,为校园考勤管理提供数据支撑。
1.2 实验环境
工具: 助容零代码在线实验平台:https://lab.guilian.cn/
本次实验使用助睿数智(Uniplore)是AI驱动的一站式数据科学平台。该平台覆盖从数据接入、ETL处理、机器学习建模到可视化展示的全链路零代码功能,适用于数据分析教学与企业数据加工场景。产品官网为https://www.uniplore.com/
数据源:“数智教育”大赛数据集(共包含7张核心业务表)
实验设备:计算机(支持助睿ETL平台运行,具备数据库连接权限)
1.3 实验范围
本次实验覆盖助睿ETL转换流全流程配置,包括多表数据接入、多表关联、考勤行为标签衍生、多维度聚合统计及结果落地入库;重点验证数据关联的精准性及统计指标的准确性,结合实验数据实际情况优化配置,确保实验顺利完成。
1.4 实验整体逻辑
导入学生信息、考勤明细等原始数据,通过多表关联整合有效数据,再运用规则筛选区分各类考勤异常行为,经过数据清洗、字段衍生与分组聚合统计,生成学生考勤相关标签,最后将整理好的标准化画像数据存入数据库,完成学生考勤用户画像构建。
二、 转换流整体设计
2.1 功能用途与业务价值
本转换流替代人工Excel统计,实现考勤数据从原始打卡到标准化结果的闭环处理,批量输出多维度指标;同时固化口径、提升效率、沉淀台账,提供数据支撑,且可灵活扩展新考勤类型,无需修改转换流,适配校园考勤管理的核心需求。
2.2 核心处理逻辑
根据转换流的逻辑,需要对数据与标签进行梳理,确定数据源、标签维度、标签计算口径。
三、 数据与标签梳理
3.1 源数据说明
本次转换流处理的数据来源于“数智教育”大赛数据集,原始数据集共包含7张表:
- 1_teacher.csv:教师信息
- 2_student_info.csv:学生信息
- 3_kaoqin.csv:考勤主表
- 4_kaoqintype.csv:考勤类型码表
- 5_chengji.csv:成绩信息
- 6_exam_type.csv:考试类型
- 7_consumption.csv:消费信息
本次实验聚焦“考勤主题”,分析以上7张数据表,可以发现与考勤行为直接相关且能支撑多维度分析的表为以下3张表:
- 3_kaoqin.csv:考勤主表,核心事实表,记录每次考勤行为
- 4_kaoqintype.csv:考勤类型码表,提供考勤行为的标准化名称,是行为标签生成的关键
- 2_student_info.csv:学生信息,提供学生基础属性(住校、性别等),支撑维度拆分
这三张表形成了“事实表 + 维度表 + 属性表”的完整星型模型结构,各表核心作用及关键字段如下:
|
数据源表 |
核心作用 |
关键字段 |
|
考勤主表(3_kaoqin) |
存储学生每日原始打卡记录、考勤行为明细 |
学生ID、班级ID、学期(qj_term)、打卡时间(DataDateTime)、考勤类型ID(ControllerID)、考勤描述(controler_name) |
|
考勤类型码表(4_kaoqintype) |
标准化考勤事件名称,区分正常与异常考勤类型 |
考勤类型ID(controller_id)、考勤事件名称(control_task_name) |
|
学生信息表(2_student_info) |
提供学生基础属性,支撑多维度学生画像 |
学生ID(bf_StudentID)、班级ID(cla_id)、学生姓名(bf_Name)、性别(bf_sex)、出生日期(bf_BornDate)、政治面貌(bf_policy)、是否住校(bf_zhusu) |
3.2 标签字段说明
学生考勤主题标签可分为三类:学生基础属性标签、学生画像维度标签和考勤行为指标标签。
3.2.1 学生基础属性标签
|
标签字段 |
数据来源 |
选择依据 |
|
学生ID |
考勤主表/学生信息表 |
学生唯一标识,用于关联和去重 |
|
学生姓名 |
考勤主表/学生信息表 |
便于结果查阅和人工核对 |
|
班级ID |
考勤主表/学生信息表 |
班级唯一标识,用于班级维度统计 |
|
班级名称 |
考勤主表/学生信息表 |
班级名称,用于提取年级和校区类型 |
|
性别 |
学生信息表 |
学生性别,可按性别维度分析考勤行为差异 |
|
出生日期 |
学生信息表 |
学生出生年份,可用于年龄维度分析,识别不同年龄段的考勤特点 |
|
政治面貌 |
学生信息表 |
学生政治面貌,可按政治面貌维度分析不同群体的考勤行为 |
选表依据:这些字段是学生的基础身份信息,主要从学生信息表(2_student_info)获取。考勤主表中也包含部分学生信息,可作为交叉验证。这些基础属性是后续分维度统计的核心依据。
示例用途:可按性别分析男生与女生的迟到考勤差异异,可按政治面貌分析不同群体的考勤行为特点。
3.2.2 学生画像维度标签
|
标签字段 |
衍生逻辑 |
选择依据 |
|
年级 |
从班级名称(cla_name)中提取 |
学校管理通常按年级统计考勤情况,便于分层管理 |
|
是否住校 |
映射学生信息表bf_zhusu字段 |
住校生与走读生的考勤行为模式不同,便于针对性管理 观察数据可以发现:1→“是”,0→“否”,空值→“未知” |
|
校区类型 |
从班级名称(cla_name)中判断 |
数据说明中提到2017年启用新校区,新校区统一命名为型为“白-高二(01)”和“东-高二(01)”的班级名 |
选表依据:这三个标签字段属于衍生维度,原始数据中没有直接提供,需要根据班级名称和住校字段进行二次加工。年级维度有助于学校按年级进行考勤管理和对比分析;住校维度用于区分住校生和走读生,两者的考勤行为模式存在差异;校区类型维度源于数据说明中提到的2017-2018年新校区启用情况,不同校区的管理规则可能不同。
示例用途:可按住校状态分析走读生是否更容易迟到,可按校区类型对比新旧校区的校服穿戴规范执行情况。
3.2.3 考勤行为统计标签
|
标签字段 |
选择依据 |
|
迟到次数 |
学生行为规范的核心指标之一 |
|
早退次数 |
学生行为规范的核心指标之一 |
|
请假次数 |
区分正常缺勤与异常缺勤 |
|
没穿校服次数 |
学校日常行为规范的重要维度 |
选表依据:这四类异常考勤行为是学校日常学生管理的核心关注点。迟到和早退反映学生的时间管理能力和纪律意识,请假次数可用于区分正常缺勤与异常缺勤,校服穿戴是学校行为规范的重要考核项。根据数据说明中的描述,“校服[移动考勤]”特指未穿校服的情况。
示例用途:可分析学生不同异常考勤次数,判断考勤风险等级。
3.3 标签处理口径
所有标签口径统一固化,确保统计结果准确可比,具体如下:
3.3.1 基础属性字段处理口径
|
字段 |
处理方式 |
口径说明 |
|
学生ID |
直接读取 |
从考勤主表获取 |
|
学生姓名 |
直接读取 |
从考勤主表获取 |
|
班级ID |
直接读取 |
从考勤主表获取 |
|
班级名称 |
直接读取 |
从考勤主表获取 |
|
性别 |
直接读取 |
从学生信息表获取,空值替换为“未知” |
|
出生日期 |
直接读取 |
从学生信息表获取,空值替换为“未知” |
|
政治面貌 |
直接读取 |
从学生信息表获取,空值替换为“未知” |
3.3.2 衍生维度字段处理口径
|
字段 |
处理方式 |
口径说明 |
|
年级 |
从class_name提取 |
包含“高一”→高一,包含“高二”→高二,包含“高三”→高三,其他→未知 |
|
是否住校 |
映射+空值替换 |
bf_zhusu=1→“是”,bf_zhusu=0→“否”,空值→“未知” |
|
校区类型 |
从class_name判断 |
以“白-”或“东-”开头→新校区,其他→老校区 |
3.3.3 考勤行为指标统计口径
|
指标 |
统计逻辑 |
口径说明 |
|
迟到次数 |
COUNT(迟到/晚到 AND 非请假) |
考勤事件名称(controler_name /control_task_name)包含 “迟到”“晚到” 关键词,且排除请假的记录条数 |
|
早退次数 |
COUNT(早退 AND 非请假) |
考勤事件名称(controler_name /control_task_name)包含 “早退” 关键词,且排除请假的记录条数 |
|
请假次数 |
COUNT(包含请假) |
考勤事件名称(control_task_name)包含“请假”关键词的所有记录总条数(含事假、病假等各类请假) |
|
没穿校服次数 |
COUNT(包含校服) |
考勤事件名称(controler_name)包含“校服”的异常情况记录条数 |
统计口径设计理由:
- 排除请假记录:请假属于正常缺勤,不应计入迟到或早退的违规统计,避免重复计数和误判。
- 请假全覆盖:只要考勤事件名称中包含“请假”关键词,无论事假、病假或其他类型,均计入请假次数。
- 校服违规唯一识别:根据数据说明中的描述,考勤类型中的“校服[移动考勤]”明确指未穿校服,因此包含“校服”关键词的记录即为违规。
四、 实验步骤
4.1 创建实验项目
点击“新建项目”, 创建名称为“学生用户画像标签构建”的项目。

4.2 数据资源获取
为方便后续的数据使用,我们可以将原始数据导入我们的团队私有数据库。
4.2.1 获取实验数据集
右键根目录,点击“新建目录”,输入目录名称为“数智教育数据集”,点击“确定”。

点击公共空间,点击“数据资源”, 找到“3_kaoqin.csv”卡片并点击右上角的“更多”,点击“导出”, 在弹出的窗口中选择导出到刚刚新创建的目录下。

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

4.2.2 建立数据源连接
在元数据tab页,关系数据库右键打开菜单,选择“新建数据源”
弹出新建数据库连接窗口,连接类型选择“MySQL”,用户名和密码使用助教提供的账号和密码。服务器主机名使用助教提供的数据库连接地址“rm-2vc3qok06bag39a5n.mysql.cn-chengdu.rds.aliyuncs.com”,端口号为3306,数据库名为助教提供的数据库名称,驱动类型选择“MySQL 8+”,连接名称为“团队私有数据库”。


填写完毕后,点击“测试”按钮验证填写信息是否正确,如果填写无误,会返回“数据库连接成功”。
4.2.3 数据导入团队私有数据库
4.2.3.1 原始考勤记录表数据导入
(1)创建原始_学生考勤表
新建转换工作流,并命名为“创建原始_学生考勤表”,在该工作流中拖拽“执行一个SQL脚本”组件,通过执行SQL脚本来创建一个标签表。

SQL脚本如下:
CREATE TABLE IF NOT EXISTS `raw_attendance` (
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '自增ID',
`attendance_id` varchar(64) DEFAULT NULL COMMENT '考勤ID',
`learn_term` varchar(30) DEFAULT NULL COMMENT '学期',
`data_datetime` varchar(50) DEFAULT NULL COMMENT '时间和日期',
`attendance_type_id` varchar(64) DEFAULT NULL COMMENT '考勤类型ID',
`attendance_name` varchar(100) DEFAULT NULL COMMENT '考勤名称',
`attendance_task_order_id` varchar(64) DEFAULT NULL COMMENT '考勤事件ID',
`stu_id` varchar(64) DEFAULT NULL COMMENT '学生ID',
`stu_name` varchar(100) DEFAULT NULL COMMENT '学生姓名',
`cla_name` varchar(100) DEFAULT NULL COMMENT '班级名',
`cla_id` varchar(64) DEFAULT NULL COMMENT '班级ID',
`create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '入库时间',
PRIMARY KEY (`id`),
KEY `idx_student_id` (`stu_id`),
KEY `idx_term` (`learn_term`)
) COMMENT='原始_学生考勤表';

完成后运行转换流,运行过程会定时刷新组件状态,并画布下面显示执行日志。
(2)导入原始考勤数据
新建转换工作流,并命名为“导入原始考勤数据”,在该工作流中拖拽一个“CSV文件输入”组件到画布。双击CSV文件输入组件,在步骤名称中输入“考勤记录。点击文件名后的“浏览文件”按钮,在弹出的窗口中选择“3_kaoqin.csv”,点击“确定”。 列分隔符和封闭符使用默认参数,编码选择“UTF-8”。

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

拖拽一个“表输出”组件到画布,并创建“考勤记录”CSV文件输入组件到“表输出”组件的连线,连线类型选择“主输出步骤”。

双击“表输出”组件,基本配置中,数据库连接选择“团队私有数据库”,目标表输入我们使用SQL组件创建的“raw_attendance”,具体配置如下:
点击“数据库字段”,在空白处右键“获取字段”, 将表字段修改为建表语句中对应的字段,点击“确认”。

完成后运行转换流,运行过程会定时刷新组件状态,并画布下面显示执行日志。
4.2.3.2 原始考勤类型表数据导入
参照“4.2.3.1 原始考勤记录表数据导入”小节的实验操作,完成原始考勤类型表“4_kaoqintype.csv”数据导入到团队私有数据库。
其中的建表SQL为:
CREATE TABLE IF NOT EXISTS `raw_attendance_type` (
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '自增ID',
`attendance_type_id` varchar(64) NOT NULL COMMENT '考勤类型id',
`attendance_type_name` varchar(100) DEFAULT NULL COMMENT '考勤类型名称',
`attendance_task_order_id` varchar(64) DEFAULT NULL COMMENT '考勤事件id',
`attendance_task_name` varchar(100) DEFAULT NULL COMMENT '考勤事件名',
`create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '入库时间',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_attendance_type_id` (`attendance_task_order_id`)
)COMMENT='原始_考勤类型表';
执行创建原始_考勤类型表转换流:

特别说明:使用CSV文件输入组件时,考勤类型原始表的列分隔符和考勤表的不一样,在配置中,列分隔符为“插入制表符(TAB)”、编码为“GB2312”

配置完成后执行转换流,运行过程会定时刷新组件状态,并画布下面显示执行日志。

4.2.3.3 原始学生基本信息表数据导入
参照“4.2.3.1 原始考勤记录表数据导入”小节的实验操作,完成原始学习基本信息表“2_student_info.csv”数据导入到团队私有数据库。
其中的建表SQL为:
CREATE TABLE IF NOT EXISTS `raw_student_info` (
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '自增ID',
`stu_id` varchar(64) NOT NULL COMMENT '学生ID',
`stu_name` varchar(100) DEFAULT NULL COMMENT '学生姓名',
`stu_sex` varchar(10) DEFAULT NULL COMMENT '性别',
`stu_nation` varchar(50) DEFAULT NULL COMMENT '民族',
`born_date` varchar(10) DEFAULT NULL COMMENT '出生日期(年)',
`cla_name` varchar(100) DEFAULT NULL COMMENT '班级名',
`native_place` varchar(200) DEFAULT NULL COMMENT '家庭住址',
`residence_type` varchar(50) DEFAULT NULL COMMENT '家庭类型',
`policy` varchar(50) DEFAULT NULL COMMENT '政治面貌',
`cla_id` varchar(64) DEFAULT NULL COMMENT '班级ID',
`cla_term` varchar(30) DEFAULT NULL COMMENT '班级学期',
`live_on_campus` varchar(10) DEFAULT NULL COMMENT '是否住校',
`leave_school` varchar(10) DEFAULT NULL COMMENT '是否退学',
`dormitory_no` varchar(50) DEFAULT NULL COMMENT '宿舍号',
`create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '入库时间',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_student_id` (`stu_id`),
KEY `idx_cla_id` (`cla_id`)
) COMMENT='原始_学生信息表';
执行创建原始_学生信息表转换流:

使用“CSV文件输出”组件输入“2_student_info.csv”数据,获取字段时,需要将“bf_leaveSchool”的字段类型修改为“String”。

拖拽“字段选择”组件到画布中,创建“CSV文件输入”组件到“字段选择”组件的连线,连接线类型选择“主输出步骤”。 双击“字段选择”组件,在配置窗口中,点击“元数据”,并在空白处插入2行,将“bf_zhusu”、“bf_qinshihao”字段的元数据设置如下:

使用“表输出”组件将“2_student_info.csv”数据输出到团队私有数据库的“raw_student_info”中。

执行转换流:
4.2.4 创建学生考勤主题标签表
新建转换工作流,并命名为“创建学生考勤主题标签表”,在该工作流中拖拽“执行一个SQL脚本”组件,通过执行SQL脚本来创建一个标签表。
配置说明:在组件中填写SQL脚本,选择目标数据库连接“团队私有数据库”,确保脚本执行权限;
SQL脚本如下:
CREATE TABLE IF NOT EXISTS student_attendance_stats (
id INT PRIMARY KEY AUTO_INCREMENT COMMENT '自增主键',
student_id INT NOT NULL COMMENT '学生ID',
student_name VARCHAR(50) NOT NULL COMMENT '学生姓名',
class_id INT NOT NULL COMMENT '班级ID',
class_name VARCHAR(50) NOT NULL COMMENT '班级名称',
grade VARCHAR(10) NOT NULL COMMENT '年级',
gender VARCHAR(10) NOT NULL COMMENT '性别',
birth_date VARCHAR(10) NOT NULL COMMENT '出生日期',
political_status VARCHAR(20) NOT NULL COMMENT '政治面貌',
is_boarder VARCHAR(10) NOT NULL COMMENT '是否住校',
campus_type VARCHAR(10) NOT NULL COMMENT '校区类型',
late_count INT NOT NULL DEFAULT 0 COMMENT '迟到次数',
early_leave_count INT NOT NULL DEFAULT 0 COMMENT '早退次数',
leave_count INT NOT NULL DEFAULT 0 COMMENT '请假次数',
uniform_violate_count INT NOT NULL DEFAULT 0 COMMENT '没穿校服次数',
create_time DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '统计入库时间',
INDEX idx_student (student_id),
INDEX idx_class (class_id),
INDEX idx_grade (grade)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='学生考勤主题标签表';

完成后运行转换流,运行过程会定时刷新组件状态,并画布下面显示执行日志。

4.3 学生考勤主题标签构建
4.3.1 数据接入:获取考勤记录、考勤类型数据、学生信息数据
- 切换到资源库,新建转换流“学生考勤主题标签”。
- 点击“组件库”,搜索“表输入”,拖拽3个表输入组件至画布中

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


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

4.3.2 数据关联:关联考勤记录+考勤类型
在组件库搜索“记录集连接”组件,并将组件拖拽至画布中,并创建“考勤记录”CSV文件输入组件到记录集连接组件的连接线。为避免因为排序问题造成连接结果出错。添加一个排序记录组件到转换流的“考勤记录”与“记录集连接”之间。

双击“排序记录”组件,通过“获取字段”功能获取字段列表,然后删除多余字段,只保留“attendance_type_id”、“attendance_task_order_id”字段。因为下一步连接是使用这两个字段进行连接,所以采用这两个字段对记录进行排序。最后设置步骤名称为“按照考勤类型和考勤任务类型排序”

创建“考勤类型”表输入组件到记录集连接组件的连接线。由于“考勤类型”组件的记录默认是按“attendance_type_id”、“attendance_task_order_id”这两个字段升序记录的,所以无需再次排序。

需要通过记录集连接组件来配置“考勤记录”和“考勤类型”两个表的关联关系。双击记录集连接组件,在下拉列表中选择需要连接的数据来源,第一个Transform选择“按照考勤类型和考勤任务类型排序”,第二个Transform选择“考勤类型”,连接类型选择LEFT OUTER
点击ransform的连接字段中的“获得连接字段”按钮,即可获取考勤记录的字段和第二个Transform的连接字段,2个Transform字段中仅保留“attendance_type_id”、“attendance_task_order_id”字段,这样做表示使用这2个字段进行记录连接。可以使用“删除选中的行”批量删除多个字段。

4.3.3 行为标签衍生:统计学生异常考勤次数
- 通过Javascript脚本生成考勤行为二进制标记,为后续聚合统计提供支撑,确保标签判断精准。添加“JavaScript 代码”组件,对接“记录集连接”组件的输出,通过关键词匹配,生成二进制判断标签(1=是,0=否),用于后续指标聚合:

- 双击“JavaScript代码”组件,命名为“提取异常考勤记录”,在Script1中输入JavaScript脚本

点击“JavaScript脚本”组件的“测试脚本”按钮,确认标记字段(is_late_early、is_leave等)仅存在1和0两个值,标签判断准确(如迟到记录对应is_late_early=1,正常出勤对应is_compliant=1),无异常。预览数据如下:
4.3.4 多维度分组聚合统计
1. 添加“分组”组件,并建立连接线,连线选择“主输出步骤”

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

3. 设置聚合字段为“late_early_count”、“leave_count”、“no_uniform_count”、“compliant_count”、“total_attendance”

4.3.5 关联学生信息
添加“排序记录”,并建立“学生信息”表输入组件到“排序记录”组件的连接线

双击“排序记录”组件,通过“获取字段”功能获取字段列表,然后删除多余字段,只保留“stu_id”字段。

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

由于考勤记录数据不是按“学号”升序记录的,所以在进行记录关联前,也需要对数据进行排序。再次添加“排序记录”,并建立“记录集连接”组件到“排序记录”组件的连接线。

双击“排序记录”组件,按下图进行配置,步骤名称设置为“考勤数据按学号排序”,排序字段为“stu_id”

创建“考勤数据按学号排序”记录排序组件到记录集连接 1组件的连线,关联学生信息和考勤记录信息,并按照下图方案配置记录集连接1。


4.3.6 字段选择:移除冗余字段
搜索“字段选择”,拖拽至画布中,创建“记录集连接 1”组件到字段选择组件的连接线

- 双击字段选择组件,在配置弹窗中,步骤名称输入“移除冗余字段”,点击“移除”Tab标签,右键空白处并点击“获取字段”, 在获取的字段中,删除以下核心字段,其他字段保留,**为后续时间维度拆解和行为标签衍生奠定基础:
- 学生 ID(stu_id)
- 学生姓名(stu_name)
- 班级 ID(cla_id)
- 班级名称(cla_name)
- 迟到次数(late_count);
- 早退次数(early_count);
- 请假次数(leave_count);
- 没穿校服次数(no_uniform_count)
- 性别(stu_sex)
- 出生日期(born_date)
- 政治面貌(policy)
- 是否住校(live_on_campus)

在字段选择组件鼠标右键弹出菜单,点击“显示输出字段”,查看输出字段是否正确
4.3.7 空值处理
拖拽“替换NULL值”组件至画布,创建“移除冗余字段”字段选择组件到“替换NULL值”组件的连线,连线类型选择“主输出步骤”

双击“替换NULL值”组件,勾选“选择字段”,并在字段空白表格中右键。点击“插入”名称选择“stu_sex”、“born_date”、“policy”、“live_on_campus”的空值均替换为“未知”。

4.3.8 学生基础属性标准化处理
4.3.8.1 住校状态映射
添加“值映射”组件到画布中,并创建替换NULL值组件到值映射组件的连线,并选择“主输出步骤”。

双击“值映射”组件,步骤名称改为“住校状态映射”,使用的字段名“live_on_campus”,不匹配时的默认值为“否”, 下方字段值表格空白处右键源值中输入“0”,目标值输入“否”,代表将原数据中的“0”统一映射为“否”, 再插入一行,在源值中输入“1”,目标值输入“是”,并点击“确认”。
4.3.8.2 从班级名提取年级
拖拽“JavaScript代码”组件至画布中,创建住校状态映射组件到JavaScript代码组件的连线

字段名称输入“gra_name”,类型为“String”,替换“字段名”或“重命名”值选择“否”,设置完成后点击“确认”

4.3.8.3 校区类型判定
参考“4.3.9.2 从班级名提取年级”步骤,添加“JavaScript代码”组件,“JavaScript代码”组件命名为“校区类型判定”, 字段名称“class_campus_type”,类型为“String”,替换“字段名”或“重命名”值选择“否”

4.3.9 结果入库
添加表输出组件,并创建“校区类型判定”“JavaScript代码组件到表输出组件的连线

双击表输出组件,选择“团队私有数据库”连接,按下图配置。

勾选“指定数据库字段”,建立工作流字段与数据库表字段的映射关系。勾选后会激活“数据库字段”tab页,在数据库字段tab页,右键选择“获取字段”,双击表字段中的字段名称,在下拉框中选择正确的对应字段。

4.3.10 执行工作流

查看数据库结果

进入数据探查页面,展开“团队私有数据库”, 双击目标表“student_attendance_stats”,在右侧页面选择“查询”tab标签

五、问题与解决
问题一:连接数据库时,无法成功连接数据库。
解决办法:查看账号密码是否成功输入正确,同时要保证用户名称和数据库名称相同。
问题二:多个团队成员同时进行实验,由于表名称相同问题,导致对同一数据库的修改,导致彼此之间实验出错。
解决办法:起各不相同的数据库名称。同时使用SQL语句对之前的错误表进行删除。
六、 实验总结
本次实验借助Uniplore平台完成学生考勤主题标签构建,完成了数据导入、多表关联、数据清洗、指标统计与数据入库全流程操作。实验中按照统一规则区分各类考勤情况,提取年级、校区等衍生维度,统计出学生各类考勤异常次数,搭建起完整的学生考勤用户画像体系。
通过实验,我学会了零代码ETL数据处理方法,理清了数据整合与标签构建思路,也发现原始数据存在格式杂乱、空值较多等问题。此次实验有效提升了我的数据处理与数据分析实操能力,也认识到规范数据统计口径对校园管理数据分析的重要意义。
更多推荐



所有评论(0)