告别Excel人工统计!学生考勤自动分析系统搭建实录

告别Excel人工统计!学生考勤自动分析系统搭建实录 实验背景本实验基于“数智教育”大赛数据集设计并实现学生多维度考勤统计转换流目标是掌握ETL数据处理全过程包括数据接入、数据清洗、多表关联、字段衍生、指标聚合以及结果落地等核心技能完成学生考勤主题标签构建任务解决传统人工统计效率低、统计口径不统一的问题并输出准确的学生考勤分析结果为校园考勤管理提供数据支撑。实验环境基于助睿数智Uniplore平台开展使用工具为助容零代码在线实验平台助容零代码在线实验平台。平台登录后通过可视化ETL组件实现数据处理流程配置。实验所使用的数据来源于“数智教育”大赛数据集共包含7张业务表本实验选取学生考勤表3_kaoqin.csv、考勤类型码表4_kaoqintype.csv和学生信息表2_student_info.csv作为核心数据源并通过团队私有数据库完成数据存储与管理。实验整体处理流程遵循“数据接入—数据清洗—多表关联—行为标签衍生—指标聚合统计—结果输出”的逻辑。首先导入原始数据并建立数据库连接随后通过多表关联补充学生基础属性和考勤行为信息接着利用脚本实现迟到、早退、请假、未穿校服等考勤行为标签提取并进行空值处理及字段标准化最后通过分组聚合生成多维度考勤统计结果并写入目标标签表实现学生考勤数据的自动化处理与分析。实验步骤创建实验项目与获取数据资源操作说明登录助睿ETL平台新建“学生考勤主题标签”项目并创建数据目录导入实验所需的考勤表、考勤类型表和学生信息表为后续实验准备基础数据资源。2.建立数据库连接操作说明在元数据模块中新建MySQL数据源配置团队私有数据库连接为数据导入及ETL处理提供数据库环境。3.创建原始数据表并导入数据操作说明通过SQL脚本创建原始考勤表、考勤类型表和学生信息表再利用CSV文件输入和表输出组件完成数据导入。三脚本分别如下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‘原始_学生考勤表’;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‘原始_考勤类型表’;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‘原始_学生信息表’;在创建原始学生学习表时要增加“字段选择”流程4.创建学生考勤主题标签表操作说明执行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)) ENGINEInnoDB DEFAULT CHARSETutf8mb4 COMMENT学生考勤主题标签表;5.接入三类源数据操作说明通过表输入组件读取数据库中的考勤记录、考勤类型和学生信息三类原始数据。三表都是如此6.关联考勤记录与考勤类型操作说明使用排序记录和记录集连接组件将考勤记录与考勤类型信息关联为考勤数据补充行为名称。7.提取异常考勤行为标签操作说明利用JavaScript脚本识别迟到、早退、请假和未穿校服等异常行为并生成对应标记字段。// 初始化变量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;}}8.分组聚合统计操作说明按照学生维度进行分组对异常行为标记进行聚合统计计算各类异常考勤次数。9.关联学生基础信息操作说明通过学生ID关联学生信息表补充学生性别、出生日期、政治面貌及住校状态等基础属性。10.字段筛选与空值处理操作说明移除冗余字段并统一处理空值保证数据格式完整规范。11.学生画像属性标准化操作说明对住校状态进行映射并通过班级名称提取年级和校区类型等衍生属性。var gra_nameif (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_typeif (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未知}12.结果输出与验证操作说明将最终统计结果写入标签表并通过数据查询验证统计结果是否正确。实验结果问题与解决问题1JavaScript代码步骤-提取异常考勤记录时出现错误解决方法表输入必须全部接入再测试即使没连线也会出现报错问题2代码概率导致建表错误无法正确导出表字段解决方法点击SQL按钮执行删除表后再重建表实验总结通过本次实验掌握了助睿ETL平台的数据处理全流程熟悉了数据接入、数据清洗、多表关联、字段衍生、分组聚合以及结果落地等核心ETL操作流程。实验过程中学习了利用表输入、记录集连接、排序记录、字段选择、JavaScript脚本、值映射和表输出等组件完成可视化数据处理任务理解了事实表与维度表关联的设计思想。同时通过构建学生考勤主题标签进一步掌握了考勤行为识别、标签口径统一、空值处理和学生画像维度构建等数据加工方法对数据仓库中“标签体系”和“主题数据构建”的实现思路有了更深入的认识也提升了数据分析与问题排查能力。从平台使用体验来看助睿ETL平台整体采用可视化拖拽式设计降低了传统代码开发门槛组件丰富且操作逻辑清晰通过组件连接即可完成复杂的数据处理流程适合教学实践和数据加工场景使用。平台提供了数据接入、转换、存储和日志查看等完整功能便于快速构建数据处理流程。同时执行日志和组件状态反馈较为直观有助于定位错误和调试问题。但在实验过程中也发现部分组件参数较多、初次使用存在一定学习成本个别数据格式兼容和字段类型配置需要手动调整。总体而言该平台功能完整、实用性较强能够有效提升数据处理效率适合作为数据分析教学与ETL实践的平台工具。#助睿数智 #商业数据分析 #学生考勤记录 #数据集成