4、数据清洗核心概念:行、列、表、数据类型、值、缺失值、重复值、异常值等术语解析

在Power Query中处理财务数据,首先需要建立一套统一的“数据语言”。财务人员熟悉科目、凭证、借贷,但Power Query的底层逻辑是表格模型——一切操作都围绕行、列、表、值展开。如果对这些核心概念的理解存在偏差,后续的清洗步骤就会像在沙地上盖楼。本章将逐一拆解这些基础术语,并结合财务场景说明它们如何影响数据质量与清洗策略。

Power Query 数据清洗核心概念关系图 表(Table) 行(Row) 列(Column) 值(Value) 数据类型 缺失值 重复值 异常值 行 = 一条财务记录(如一张凭证);列 = 一个字段(如科目编码); 值 = 单元格内容(如"1001");数据类型决定值如何被计算与比较。

4.1 表、行、列:财务数据的“三维骨架”

核心原理

Power Query中的“表”是一个二维数据结构,由行和列交叉构成。每一行代表一条完整的财务记录,每一列代表一个特定的字段属性。例如,一张费用报销明细表,每一行是一笔报销单,列则包含“报销单号”“报销人”“部门”“费用类型”“金额”“报销日期”等字段。理解表、行、列的层级关系,是后续所有清洗操作的基础——无论是筛选行、拆分列,还是合并表,本质上都是在操作这三个维度。

判断方法与操作流程

  • 识别行与列的角色:在Power Query编辑器中,左侧“查询设置”窗格显示每一步操作,右侧数据预览区上方是列标题,下方是数据行。财务人员应首先确认每一列的数据类型是否与业务含义匹配(如“金额”列应为小数,“日期”列应为日期类型)。
  • 行列的增删操作:删除行(如筛选掉已作废的凭证)、删除列(如移除“备注”列)、添加列(如根据“金额”和“税率”计算“税额”)。这些操作在“添加列”和“删除列”菜单中完成。
  • 表的合并与追加:当财务数据分散在多个工作表或工作簿时,需要将结构相同的表“追加查询”(纵向堆叠),将有关联字段的表“合并查询”(横向关联)。
操作对象财务场景示例Power Query操作注意事项
行筛选出“凭证状态=已审核”的记录“筛选行”按条件过滤注意筛选后行数变化,避免误删
列保留“科目编码”“科目名称”“借方金额”“贷方金额”“选择列”或“删除列”删除前确认列是否被后续步骤引用
表合并1月、2月、3月的费用明细表“追加查询”确保各表列名和数据类型一致
经验提醒:在Power Query中,每一步操作都会生成一个新的“应用步骤”。建议对关键步骤重命名(如“筛选已审核凭证”“删除空行”),方便后续回溯和排障。

4.2 数据类型与值:财务数据的“基因密码”

核心原理

数据类型决定了Power Query如何解释和计算单元格中的值。财务数据中常见的数据类型包括:文本(如科目名称)、整数(如凭证号)、小数(如金额)、日期(如记账日期)、时间(如制单时间)、逻辑值(TRUE/FALSE,如是否已审核)。如果数据类型设置错误,会导致排序混乱、求和失败、日期无法参与计算等问题。

判断方法与操作流程

  1. 检查列数据类型:在Power Query中,列标题左侧的图标表示数据类型(如“123”表示数字,“ABC”表示文本,“日历”表示日期)。如果图标与业务含义不符,点击图标手动修改。
  2. 处理“值”的格式问题:财务数据中常见的值问题包括:金额带千分位逗号(如“1,234.56”)、日期显示为文本(如“2024/01/15”被识别为文本)、数字前有空格或货币符号。使用“替换值”“格式”或“拆分列”功能清洗。
  3. 使用“检测数据类型”功能:Power Query的“自动检测”功能可以识别列中的大部分数据类型,但财务数据常因混合格式(如“1,234”和“1234”并存)导致检测失败,需手动干预。
实战场景:某企业导出的银行对账单中,“交易金额”列包含正数(收入)和负数(支出),且部分金额带有括号表示负数(如“(1,200.00)”)。在Power Query中,需要先将括号格式替换为负号,再将列类型改为“小数”,否则后续汇总时括号值会被当作文本忽略。

4.3 缺失值、重复值、异常值:数据质量的“三大杀手”

核心原理

缺失值指单元格为空或为Null,在财务数据中可能表示“未填写”“不适用”或“数据丢失”。重复值指完全相同的行或关键字段重复出现,如重复录入的凭证号。异常值指明显偏离正常范围的值,如金额为负数(在费用表中)、日期为未来时间、科目编码不存在于科目表中。这三类问题会直接影响财务分析的准确性,必须系统处理。

判断方法与操作流程

  • 缺失值处理:使用“转换”菜单下的“替换值”将Null替换为0或特定文本;或使用“筛选行”排除空值行。对于关键字段(如凭证号)缺失,应标记为“待补录”并反馈业务部门。
  • 重复值处理:使用“删除重复项”功能,可选择基于所有列或指定列去重。财务场景中,通常基于“凭证号+行号”组合去重,避免误删合法记录。
  • 异常值识别:通过“筛选行”设置条件(如金额>0且<1000000),或使用“分组依据”统计各科目金额的分布,发现极端值。也可用“列统计”查看最小值、最大值、平均值,辅助判断。
问题类型财务示例清洗方法风险提示
缺失值“供应商名称”为空替换为“未知供应商”或删除该行删除前确认该行是否影响总额
重复值同一张凭证被导入两次按“凭证号+行号”删除重复项不要仅按“凭证号”去重,否则会误删多行凭证
异常值“借方金额”为负数筛选出负数行,检查是否为红字冲销红字冲销是合法业务,不能直接删除
风险说明:处理缺失值和异常值时,切忌“一刀切”。例如,财务中的“负数金额”可能是红字冲销、退款或利息收入,直接删除会导致账实不符。建议先分组统计,再结合业务规则判断。

4.4 案例拆解:某公司费用报销表的清洗实战

背景与约束:某中型企业每月有约3000条费用报销记录,原始数据从OA系统导出为Excel,包含字段:报销单号、报销人、部门、费用类型、报销金额(文本格式,带千分位逗号)、报销日期(部分为文本)、备注(大量空值)。财务部需要将数据导入Power BI进行月度费用分析,但直接导入后出现金额无法求和、日期排序错误、重复单号等问题。

初始现象与目标:数据预览中,“报销金额”列显示为文本(左对齐),无法求和;“报销日期”列混合了“2024/1/5”和“2024-01-05”两种格式;存在3笔重复的报销单号。目标是将数据清洗为规范表格,确保金额为小数、日期为日期类型、无重复单号。

关键输入数据与操作步骤:

  1. 处理金额列:选中“报销金额”列,使用“替换值”将逗号(,)替换为空,再将列类型改为“小数”。此时金额列可正常求和。
  2. 处理日期列:使用“替换值”将“/”替换为“-”,再将列类型改为“日期”。Power Query会自动识别标准日期格式。
  3. 删除重复单号:选中“报销单号”列,点击“删除重复项”,保留第一条记录。检查删除的行数(本例为3行),确认均为重复录入。
  4. 处理缺失备注:将“备注”列的空值替换为“无”,避免后续透视时出现Null。
  5. 验证结果:使用“列统计”查看金额总和、日期范围,确认无误后加载到Power BI。

结果对比与复盘:清洗前,金额列无法求和,日期排序错乱;清洗后,金额汇总正确,日期按时间顺序排列,重复单号消除。复盘经验:先处理数据类型,再去重,最后处理缺失值——因为类型转换可能影响后续筛选和去重逻辑。此外,建议将清洗步骤保存为Power Query模板,供下月复用。

总结复盘:数据清洗不是一次性任务,而是可复用的流程。将上述步骤封装为“查询”后,下月只需替换数据源,即可自动完成清洗。财务人员应养成“先看列类型,再查空值,最后去重”的习惯,避免在数据加载到报表后才发现问题。