经常说“用数据说话”,但说真话之前,得先搞清楚一个问题:
——数据到底靠不靠谱?
很多时候,报告做出来了,图表看起来也挺花哨,但业务部门一看,摇头说:“这数据不对啊!” 领导一问:“为啥这报表跟财务的对不上?” 分析师一脸尴尬:“可能……底层数据有点问题。”
说白了就是:数据没清洗干净,后面的分析全都站不稳。
所以啊,别以为数据清洗就是删空格、去重搞搞格式,真正的数据清洗,是要把脏数据清干净、错数据理明白、乱结构规整好。
今天本文就给大家讲清楚:数据清洗必须先解决的六大核心问题。

一、同一个字段,多种写法:标准化问题
这个是最常见的问题之一,也是业务方最容易崩溃的地方。
比如“客户名称”这一个字段:
- 有人写“阿里巴巴”,有人写“阿里”,有人直接写“Alibaba”
- 有些订单写的是“华为技术有限公司”,有些直接写“华为”
- 同一个门店地址,有时候是“北京市朝阳区XXX”,有时候是“朝阳区XXX”,甚至还有写“北京朝阳”的……
这就是典型的命名不统一、格式不标准。
看起来不严重,但影响很大:
- 分组时会把同一个客户拆成多个行
- 汇总时会重复计算
- 匹配数据时会关联不上

怎么解决?
解决思路:统一字段标准 + 建立映射规则
- 建一个【字段标准字典表】,比如客户名称、产品编码、单位、地区等都有唯一标准写法
- 清洗脚本中加一层映射转换逻辑,把杂乱数据“翻译”成标准口径
- 对于新入库数据,最好上源头控制,系统输入端加校验

说实话,数据清洗如果全靠人工搞,是个极其消耗时间、体力、耐心的事——尤其是数据源又多、字段又乱的时候。
这时候就得上工具了,而 FineDataLink 就是专门为这种“多源异构、脏乱差数据清洗”场景设计的。它不是一个“ETL搬砖工具”,而是一个能做治理、建标准、跑流程、管权限的“数据清洗流水线平台”。
二、有的缺、有的多:缺失值 & 异常值问题
数据表一打开,全是空值、null、-1、9999……
是不是很熟悉?这就是缺失值、伪值、异常值的问题。
比如:
- 销售日期是空的,说明这个订单根本没流程
- 客户ID是9999,那是测试账号被混进来了
- 商品价格写成了0,结果把平均客单价拉低了一大截
这些数据,不能直接删掉,也不能直接用,要“看情况处理”。

解决思路:三看法则 + 分场景处理
- 看字段重要性: 核心字段缺失(如订单号、产品名)建议剔除;非核心字段(如备注)可保留
- 看缺失比例: 缺失值过高的字段,是否还有分析价值?
- 看业务背景: 有的0是真实值(如赠品),有的是系统bug

常用清洗操作:
- 删除无效行
- 用平均数/中位数/前值填补
- 替换伪值(比如9999 → NULL)
- 标记异常再人工确认(比如单价超出合理范围的记录)

总之,不能盲目删,也不能瞎补,要在业务理解的基础上清洗。
三、一张表里装了一锅粥:字段混乱、结构不规范
你见过那种“几十列”的Excel表吗?字段名从A到AZ,一张表既有客户信息、又有订单、又有SKU库存,什么都往里塞。
看起来啥都有,其实啥都不好用。
这就是数据结构混乱、字段设计不合理的问题。
典型表现:
- 一张表当三张表用(主表+子表+维度混在一起)
- 同一个字段写在不同列(比如产品1、产品2、产品3)
- 表头有合并单元格、花式命名,根本没法自动处理
解决思路:字段规整 + 结构分拆
- 按照“宽表还是长表”的业务需求,统一字段设计逻辑
- 拆分出维度表(如客户表、商品表)和事实表(订单表、交易表)
- 命名规范:字段名统一风格、避免中英混搭、加注释或字典表

如果能配合建一个数据中台或数据仓库结构,前期就能规避80%的字段混乱问题。
四、多个系统、多个来源:主键不统一、ID对不上
这个问题,一到打通系统的时候就爆雷。
比如:
- 销售系统里的客户ID是“CUS001”,CRM里的客户ID是“ALIBABA01”,财务系统里又是客户编码“30028”
- 产品在ERP里有SKU编码,在电商平台上却用另一个商品ID
- 仓储系统和采购系统字段叫法不一样,数据一合并就错位
这就导致了:系统之间数据打不通,分析没法穿透。
解决思路:建立主数据 + 设计主键映射
- 建立一套“统一主数据编码体系”:客户主数据、商品主数据、供应商主数据等
- 设计【ID映射表】——三个系统的客户ID都能对应同一个标准ID
- 在数据清洗过程中,通过映射表把各系统数据统一口径
- 有条件的话,用主数据管理系统(MDM)自动对齐多源数据

这是数据清洗中非常关键的一环,否则BI图表点不透、看不到细节原因。
五、数据频繁重复、冗余记录太多:去重问题
一查库存,显示有1500件;一看明细,发现其实是同一批货录了三次。 再查客户订单,发现同一个订单编号出现了5次,只是时间戳不同、备注不同。
这种情况如果不清理,分析就会出大问题:
- 客户数被高估
- 销售额重复累计
- 库存金额虚高,决策误导
解决思路:多维去重 + 分层过滤
- 设置去重规则(比如同一客户ID + 同一订单号 + 日期相同)
- 做好分层过滤机制,比如剔除测试数据、演示数据、接口异常数据
- 保留最新版本或“权威记录”,比如按更新时间排序只保留最新那条
- 标记重复数据而非直接删除,方便追溯和验证

千万别以为“去重”只是点个“去重复”,实际上这是分析失真的重要根源。
六、字段含义说不清楚:口径不一致、业务解释模糊
这个问题最隐蔽,但杀伤力极强。
比如报表上一个指标叫“订单金额”,但有人算的是商品价格总和,有人加上了运费和税费,还有人减去了优惠券。
结果三个部门的“订单金额”全都不一样。
这就属于典型的:口径不一致,字段含义模糊。
解决思路:建立字段说明 + 定义口径标准
- 给每个字段写一份【业务解释+计算口径】说明,比如“订单金额 = 含税价 + 运费 - 优惠券”
- 字段口径建议统一归口管理,避免不同部门各搞一套
- 如果是BI系统,可以在图表上加【字段说明悬浮提示】
- 数据字典要上墙、上系统,不是写在某个Excel里就算完事

只有字段定义清晰,大家才能在一个数据口径上做分析,才有“共识”和“协同”。
总结一下:数据清洗的六大问题,个个都不是小事

写在最后
数据清洗这件事,听起来像“脏活累活”,但真做分析的都知道:
数据不干净,分析就不靠谱;底层有误差,决策就跑偏了。
想让数据“说真话”,第一步就是把这六件事处理好。 别急着建模型、画图表,先把地基打稳,这比什么都重要。