▲ 表 2
看完表格,我陷入到了深深的思考:这些表都是弄啥嘞?
01表格分析
还是用 2W1H 的框架梳理一下先。
WHAT,这些表是干啥的?
表 1 的里面,保存的是所有老师的课程排配计划。
各个标题的大概意思是:
❶ 星期,就是星期几上课;❷ 课时,今天第几节课;❸ 班级,给哪个班级上课。
据说,这个表是系统里直接导出来的。
和表 1 相比,表格 2 的内容没有太大的变化,只是结构上有所调整。
只保留了「1 星期」和「2 课时」这两个标题,因为这是指定班级的课表,后续要粘贴到班级教室后面的。
WHY,为什么要进行转换?
表 1,是一个课程排版总表,方便教务管理人员,全面掌握各个老师的排课状况。
表 2,是单个班级的课程表,方便学生了解课程计划。
所以,从「教务人员」到「学生」的视角转换,让我们需要把表 1 转成表 2 的格式。
HOW,怎么转换表格?
举几个简单的例子,我们来梳理一下转换的思路。
积木:
要把汽车形状的积木,改成飞机的形状,首先要把积木全部拆开,然后重新拼装。
冰块:
要把一个方形的冰块,改成圆形冰块,首先要把冰块化成水,然后重新冰冻。
排课表:
要把排课总表,改成班级单独的课表,首先要把总表拆成一行一行的数据明细,然后重新统计。
如何转换?
那么这个表的转换过程,就清晰了:
03❶ 总表拆分。把总表拆成数据明细;❷ 排班统计。根据数据记录,重新统计排班表。
解决方法
◆ 总表拆分 ◆
把总表拆成一条一条的数据明细,这个数据明细是什么样子呢?
大概就是上面你看到的样子,每个班级、课时、星期、老师都是一条单独的记录,如果有新的记录,就不断地往下添加。
这也是系统设计中经常用到的「数据库」的概念。
怎么拆分?
拆分的方法有很多,比如 Power Query、方方格子、易用宝等等,都可以实现这个效果。
但是记住一条,千万不要手动复制粘贴。
因为这个表格不是很规范,有双行标题,所以我选择了灵活性更强的「万能输入表」。
❶ 设置模板。
根据表格的排版,设计转换的模板。