SCL-90 这类多因子量表,答案存储宽表还是长表更合适

90 题 9 因子的量表,答案铺成一行宽表还是拆成 90 行长表,看着只是表结构,实则一路影响计分和导出。

SCL-90 有 90 道题、9 个因子,存一份答卷时摆在面前的第一个选择,就是把 90 个答案铺成一行的宽表,还是拆成 90 行的长表。这个选择看着只是表结构问题,却会一路影响到计分、改题和数据导出,等量表数量上来、答卷积累多了,当初随手定下的存法就会变成很难回头的地基。

宽表:一行一份,读起来直接

宽表是一份答卷占一行,每道题一个字段。取一个人的完整作答只要读一行,做整体导出也顺手,直观又快。代价在结构僵硬:题目一旦增减,就要改表结构加字段;而且不同量表题量差别很大,90 题的量表和 20 题的量表没法共用一张宽表,平台上量表一多,宽表就会膨胀成一堆各不相同的表。

长表:一题一行,改起来灵活

长表是一份答卷拆成多行,每行记一道题的作答,用答卷 ID 和题目 ID 关联。它的好处正是宽表的短板:所有量表共用同一张作答表,新增量表不用建新表,题目增减也只是多几行少几行,字段结构长期稳定。代价是取一份完整答卷要把几十上百行聚合回来,单份读取和整体导出都比宽表费劲,行数随答卷和题量成倍膨胀,数据量大时索引和分区就得跟上,否则聚合会越来越慢。

计分和导出,才是真正的分水岭

真正决定选哪种的,不是存起来好不好看,而是后面怎么算、怎么导。多因子量表的计分是按因子把对应题目的分数汇总,SCL-90 更要在 9 个因子上分别算均分、再算总分和阳性项目数,长表天然贴合这种“按题聚合”的算法,配上一张题目到因子的映射,一条 SQL 按因子分组就能出结果;宽表则要在代码里硬编码每个因子包含哪几列,改一次因子构成或题目归属就得改一处代码,量表一多维护量陡增。导出的诉求恰恰相反:机构要的常是一人一行、每题一列的宽格式表,长表这时反而要做行转列。

橙星云在存多因子量表时倾向长表加因子映射,让同一套计分逻辑覆盖所有量表,而不必为每张表单独写计分;等到要给机构导出宽格式报表时,再从长表按需拼成宽视图——存的时候用灵活的长表,导的时候临时变宽,两头兼顾。

结论并不是非此即彼:量表种类多、题目常调整、又要统一计分,长表更省心;若只有固定几张量表、几乎不变、且频繁要整表导出,宽表的直接也有它的价值。SCL-90 这种多因子、又常和其他量表同台使用的场景,长表通常是更稳的底座。

Leave a Reply

Your email address will not be published. Required fields are marked *