零代码实战|学生用户画像:考勤主题标签构建完整流程
本文介绍了使用Uniplore助睿零代码平台构建学生考勤主题标签的实验过程。实验通过导入考勤记录、考勤类型和学生信息三类数据,完成数据入库、多表关联、字段加工和分组统计等操作,最终形成包含迟到、早退、请假等考勤行为统计的学生标签体系。详细说明了从数据准备、数据库配置到数据处理的全流程操作步骤,包括CSV文件导入、SQL建表、JavaScript脚本编写等关键环节,并分享了编码格式错误、数据关联失败
大家好,本篇分享 Uniplore 助睿零代码平台下学生考勤主题标签构建完整实验过程,涵盖数据入库、多表关联、标签衍生、分组聚合、结果落地全链路。全程零代码操作,适合数据分析入门、ETL 学习、教育大数据实战参考,附详细步骤、SQL 脚本、组件配置及避坑经验,直接上手就能做。
学生用户画像 —— 考勤主题标签构建实验报告
一、实验目的
借助零代码数据分析平台,导入学生考勤、考勤类型、学生基础信息三类原始数据集,完成数据入库、多表关联、字段加工、分组统计等操作,搭建学生考勤主题标签体系,统计每位学生迟到、早退、请假、校服违规等行为次数,形成标准化学生考勤标签统计表,掌握零代码数据处理、多表关联分析与用户行为标签构建的完整流程。
二、实验环境
- 浏览器端访问 Uniplore 助睿零代码数据分析平台,登录个人实验账号;
- 实验数据集:学生考勤主表、考勤类型码表、学生信息基础表;
- 数据库:MySQL 关系型数据库,用于存储原始数据与最终标签统计结果。
三、实验步骤
步骤一:平台登录与实验准备
打开浏览器进入助睿零代码平台官网,输入个人账号密码完成登录。进入数智教育大赛专属数据集页面,提前确认并备好三张核心原始数据表,分别为考勤主表、考勤类型码表、学生信息表,为后续数据导入做好准备。
步骤二:新建专属实验项目
- 平台首页找到新建项目入口,点击创建新项目;
- 项目名称命名为学生用户画像标签构建,确认创建进入项目详情界面。
步骤三:文件库创建与数据集导出
- 进入项目左侧文件库板块,在根目录下右键新建文件夹,命名为数智教育数据集;

- 跳转至公共空间数据资源专区,依次选中三张实验所需 CSV 数据表;

- 将每张数据表通过导出功能,保存至刚创建的数智教育数据集文件夹中,返回文件库核对文件是否完整。

步骤四:配置 MySQL 数据库数据源
- 点击左侧元数据板块,选择关系数据库,右键新建数据源;

- 数据源类型选择 MySQL,依次填写主机地址、端口、数据库名称、账号密码等连接信息,驱动选择 MySQL8 及以上版本,自定义连接名称;

- 点击测试连接,提示连接成功后,完成数据源添加配置。

步骤五:原始数据表结构创建与数据入库
1. 考勤主表创建与数据导入
- 新建转换流,命名为创建原始学生考勤表,添加执行 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='原始_学生考勤表';

- 再新建转换流用于导入考勤数据,添加 CSV 文件输入组件,选中已保存的考勤主表文件,设置编码格式与分隔符,自动获取匹配字段;


- 新增表输出组件,关联 CSV 输入组件,绑定至已创建的考勤数据表,完成字段映射后运行转换流,实现数据入库。


2. 考勤类型表创建与数据导入
- 新建转换流,执行考勤类型表建表 SQL 语句,运行生成数据表结构;

其中的建表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 文件输入,选择考勤类型码表,设置对应编码与制表符分隔格式,确认字段无误后;


- 通过表输出组件将数据写入考勤类型原始表,运行流程完成数据导入。


3. 学生信息表创建与数据导入
- 新建转换流执行学生信息表建表语句,生成数据表结构;

其中的建表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 文件,配置编码格式,添加字段选择组件,对特殊数值字段进行类型校准,规避小数格式异常问题;



- 配置表输出组件,映射字段后运行转换流,完成学生基础信息数据入库。



步骤六:创建考勤主题标签结果表
新建转换流,添加执行 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='学生考勤主题标签表';
步骤七:构建考勤标签数据处理主流程
- 新建主转换流并命名为学生考勤主题标签,进入流程编辑界面。

2.添加三个表输入组件,分别读取已入库的考勤记录表、考勤类型表、学生信息表,自动获取全表业务字段。


三个“表输入组件分别读取raw_attendence,raw_attendence_type,raw_student_info表的内容

- 多表关联配置:在考勤记录表后添加排序记录组件,按关联字段完成排序;再添加记录集连接组件,将考勤记录表与考勤类型表通过关联字段进行左外连接,匹配考勤类型与考勤事件信息。


考勤记录表和考勤类型表连接:

连接参数设置:

- 异常考勤标签生成:添加 JavaScript 代码组件,编写脚本逻辑,自动识别并标记迟到、早退、请假、未按要求穿戴校服等异常考勤行为,生成 0-1 标识变量,测试脚本确保标识逻辑正常生效。

Java Scripts组件设置:

Java脚本内容:
// 初始化变量
var isLate = 0;
var isEarly = 0;
var isLeave = 0;
var isNoUniform = 0;
// 核心判断逻辑
if(attendance_type_name != null && attendance_task_name != null){
// 迟到判断(排除请假)
if((attendance_type_name.includes("迟到") ||
attendance_type_name.includes("晚到") ||
attendance_task_name.includes("迟到") ||
attendance_task_name.includes("晚到")) &&
!attendance_task_name.includes("请假")){
isLate = 1;
}
// 早退判断(排除请假)
if((attendance_type_name.includes("早退") ||
attendance_task_name.includes("早退")) &&
!attendance_task_name.includes("请假")){
isEarly = 1;
}
// 校服违规:只要包含“校服”就标记违规
if(attendance_type_name.includes("校服") || attendance_task_name.includes("校服")){
isNoUniform = 1;
}
}
// 请假判断
if(attendance_task_name != null){
if(attendance_task_name.includes("请假")){
isLeave = 1;
}
}
- 分组聚合统计:添加分组组件,以学生 ID、姓名、班级、住校情况等维度进行分组,对各类异常考勤标识进行求和聚合,统计出每位学生各类考勤行为总次数。

分组组件设置:

- 数据清洗与信息补全:再次使用记录集连接组件,将分组统计结果与学生信息表关联,补全性别、政治面貌、出生日期等基础属性;添加空值替换组件,将数据中空值统一替换为 “未知”,通过值映射组件规范化住校状态等字段展示内容。

排序组件设置:

添加纪录集组件:

记录集组件设置:

添加字段选择组件:

配置字段选择组件:获取字段的时候,删除以下核心字段:
学生 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)

添加“替换NULL”组件:

设置NULL组件:插入live_on_campus,policy两个字段

添加“值映射”组件:

设置”值映射”组件内容,并添加两个字段,在源值中输入“0”,目标值输入“否”,代表将原数据中的“0”统一映射为“否”:

因为原始数据无独立年级字段,无法按年级做考勤统计与画像分群,通过从班级名称中提取年级信息,补齐年级维度,支撑年级层面的考勤分析。
同样的,原始数据无校区类型字段,不同校区管理口径与考勤规则存在差异,通过班级名称规则判定老校区/新校区,增加校区分析维度,使考勤标签更贴合校园实际管理场景。
添加两个”javaScript”组件,分别命名为”从班级获取年级”和”校区类型判断”,

“从班级获取年级”组件的js脚本:
var gra_name
if (cla_name == null){
gra_name='未知'
}else if(cla_name.includes('高一')){
gra_name='高一'
}else if (cla_name.includes('高二')){
gra_name='高二'
}else if (cla_name.includes("高三")){
gra_name='高三'
} else{
gra_name='未知'
}
“从班级获取年级”组件设置:

“校区类型判断”脚本:
var class_campus_type
if (cla_name == null){
class_campus_type='未知'
}else if(cla_name.startsWith('白-') || cla_name.startsWith('东-')){
class_campus_type='新校区'
}else if (cla_name != null && !isEmpty(cla_name)){
class_campus_type='老校区'
} else{
class_campus_type='未知'
}
“校区类型判断”插入“class_campus_type”字段

- 结果数据输出:添加表输出组件,将处理完成的标签数据与最终统计表进行字段一一映射,运行整条转换流,将统计结果写入目标数据表。

“表输出组件“设置

数据库字段设置:双击表字段中的字段名称,在下拉框中选择正确的对应字段

运行整条转换流,查看是否正确执行:

步骤八:实验结果核查验证
进入数据库查看学生考勤主题标签统计表,核对表内学生基础信息、迟到次数、早退次数、请假次数、校服违规次数等字段完整性。随机抽取多名学生数据,与原始考勤记录逐一比对,验证统计数据准确无误,标签构建流程完成。


四、问题与解决
问题一
问题现象:导入考勤类型表(4_kaoqintype.csv)时,CSV文件输入组件获取字段失败,提示“编码错误”,无法读取文件内容。
问题原因:该CSV文件的编码格式为GB2312,而组件默认编码为UTF-8,编码不匹配导致文件解析失败,无法识别字段内容。
解决方法:双击CSV文件输入组件,在编码选项中选择“GB2312”,同时确认列分隔符为“插入制表符(TAB)”,重新点击“获取字段”,成功读取文件字段,顺利完成数据导入配置。
问题二
问题现象:记录集连接组件关联考勤记录表与考勤类型表后,出现部分考勤记录匹配失败、字段为空的情况。
问题原因:考勤记录表未进行排序,记录集连接组件是按接收数据的顺序进行关联,无序数据会导致关联匹配错乱,出现字段空值。
解决方法:在考勤记录表与记录集连接组件之间添加“排序记录”组件,选择attendance_type_id、attendance_task_order_id两个关联字段进行升序排序,排序完成后再进行多表连接,匹配失败、字段为空的问题得到解决。
五、实验总结
本次实验依托零代码数据分析平台,完成了从数据集准备、数据库配置、原始数据入库,到多表关联、逻辑标签生成、分组聚合统计、数据清洗落地的全流程操作。成功构建了学生考勤主题标签体系,实现了对学生各类考勤行为的量化统计,熟练掌握了零代码平台组件使用、多表关联分析、行为标签建模的方法,也加深了对教育类用户画像数据处理逻辑的理解。
更多推荐



所有评论(0)