让 AI 帮宽表变成长表:空着的月份,也要留下它的那一行

10-01 3阅读

一张每个月占一列的表适合横向浏览,想筛选某月或继续追加记录时,却常希望每行只放一个地点的一个月。可以请 AI 协助设计宽表转成长表的规则,但必须先说清空白是什么意思,否则转换后看似干净,缺测位置却消失了。

让 AI 帮宽表变成长表:空着的月份,也要留下它的那一行

AI概念配图,非真实界面

先规定每一行代表什么

以下地点、数字与月份记录都是虚构。原表有甲角、乙角、丙角三个阅读角,一月与二月两列,记录借阅册数。甲角为十二、十五;乙角为零、空白;丙角为七、九。这里的零表示确认没有借阅,空白表示没有取得当月记录,两者不同。

目标长表使用地点、月份、册数、记录状态四列,一行代表一个地点在一个月的观察位置。规定应覆盖三个地点乘两个月,共六行。地点名称在本例内唯一,月份也统一带年份,避免把不同年份的一月混在一起。

先让 AI 只写转换后的六条记录:甲角一月十二、甲角二月十五、乙角一月零、乙角二月缺测、丙角一月七、丙角二月九。缺测行的册数字段保持空值,记录状态为缺测;其余五行标为已记录,其中零值仍是有效观察。

行数与总和一起验收

原表五个已知值相加为四十三。长表的已知值总和也应为四十三,但只核对总和不够:丢掉乙角一月的零,总和不会变;丢掉乙角二月的空白,总和同样不会变。必须同时检查六个地点月份组合、五个已知值、一个缺测和一个零值。

再把地点与月份作为组合键,检查是否出现重复。若乙角二月有两行,一行空白、一行零,不应随手取第一条或做平均。先回到原始位置确认究竟是重复录入,还是原表遗漏了需要保留的另一维度,例如上午与下午。

让模型为每条目标记录保留来源位置,例如“乙角行、二月列”。这样一条异常记录能准确回到原表,数据值也不依赖排序顺序。如果后来按照月份重新排列,来源位置与组合键仍然能解释它来自哪里。

选择工具前先试最小样本

Microsoft 的 Power Query 文档把逆透视描述为将一组列变成属性和值的组合,并保留行内其他信息。其 Table.Unpivot 官方示例中,原表的 null 项没有出现在输出里。这说明不能把某个工具的默认结果直接当作本文要求的六行目标。

如果工具会忽略空值,可以先建立完整的地点月份组合,再把有效记录对应进去,缺少的组合保留为缺测。也可以采用工具支持的明确保留方案,但必须先用本例验证;不要用零替代空值来“保住行”,那会改变数据含义。

可复用提示:请把指定月份列转成“地点、月份、册数、记录状态”的长表,一行对应一个地点月份组合。保留空白位置为缺测,零值仍为已记录。给出目标行数、组合键、来源单元格及验收计数,不擅自补值或合并重复;先用小样展示结果,再讨论工具步骤。

做一次逆向还原

将六行长表按地点放回三行、按月份放回两列,应该得到原来的十二与十五、零与空白、七与九。如果还原后乙角二月变成零,说明转换流程改写了缺测;如果甲角二月变成十二,可能是月份对应关系错位。

若原表还含合计列,应先从需要展开的月份列里排除。合计不是另一个月份,展开后会把同一批数值再次计入。表头若写着“二月册数”和“二月人数”,也不能仅靠删除后两个字就合并成同一种指标,单位需要独立保留。

完成后保存原表副本、转换规则和验收结果。AI 可以帮助解释结构、生成小样和找出遗漏,但它无法从一个空格判断业务原因。先定义观察位置与缺测含义,再追求表格形状统一,后面的汇总才有可靠基础。

参考资料

文章版权声明:除非注明,否则均为云鹊BLOG原创文章,转载或复制请以超链接形式并注明出处。