任务教程 · 数据准备

KNIME 数据读进来先做一次体检

拿到一批新数据,别急着做分析。先花五分钟看清楚它有多脏 – 这一步能省掉后面大半的返工和排查。

为什么值得先做这一步

前面报错排查里那十条,有六条的根子都在数据本身:类型被推断错了、有看不见的空格、编号有重复、日期是文本、某列缺了三成。这些问题在读进来的那一刻就已经存在,只是要到很后面才爆出来。

体检不是为了把数据洗干净,是为了知道它有多脏。知道之后你才能决定:哪些要清洗、哪些要回源头找人、哪些要在报表口径里说明。跳过这一步就等于蒙着眼睛做分析。

看五件事

看什么怎么看不对劲的表现
列类型 点开输出表,看列名旁边的类型图标 金额列是文本、日期列是文本、编号列被当成数字
行数 输出表底部有总行数 和源文件对不上,多半是表头行设错或读漏了文件
缺失值 接一个统计类节点看每列的缺失数量 关键字段缺三成,这个分析可能根本做不了
主键唯一性 GroupBy 按业务主键分组计数,看有没有大于 1 的 有重复。关联时会导致行数暴涨
取值分布 GroupBy 按分类列分组计数 本该 12 个部门却出来 15 个 – 多半是空格或全角半角

节点串

Excel Reader读进来
统计节点缺失值与分布
另接一支
GroupBy主键计数查重
GroupBy分类列取值分布

体检这几支是临时的,看完可以留着也可以删。留着的好处是下期数据换了,跑一遍就知道质量有没有变化。

查主键重复的具体做法

这是体检里最有价值的一项 – 关联前不查,后面行数暴涨了很难往回追。

  1. 接一个 GroupBy。分组列选你的业务主键(资产编号、工号、订单号)。
  2. 聚合选计数。随便挑一列,方法选计数。
  3. Row Filter 筛出计数大于 1 的。结果为空就是唯一,有内容就是这些主键重复了。
  4. 重复的先别急着删。看清楚是真重复(完全一样的两条)还是不同记录用了同一个编号 – 这两种处理方式完全不同。

查取值分布能发现什么

按「所属部门」分组计数,如果出来 15 行而实际只有 12 个部门,多出来的三个几乎肯定是同一个部门的变体:

行政部 1240 条 行政部 18 条 ← 后面多一个空格 行政 部 3 条 ← 中间多一个空格 行政部(本部) 7 条 ← 另一种写法

这类问题在汇总时会把一个部门拆成几行,在关联时会导致配不上。发现之后用 String Manipulation 统一 – 去空格能解决前两种,第三种要用替换或者做一张对照表。

体检结论怎么用

发现该怎么办
类型不对回读取节点里手工指定类型,别在下游绕
有空格、全角半角加一步 String Manipulation 统一,放在关联和分组之前
主键有重复先搞清楚是真重复还是编号复用,再决定去重还是加第二个关联键
关键字段大面积缺失回源头找人。这不是技术问题,硬填出来的结论不可靠
少量缺失决定保留为空还是补值,并在报表口径里写清楚
最后两行的区别要拿捏。缺一两条和缺三成是两回事。前者可以在口径里说明,后者说明这份数据不足以支撑你要做的分析 – 这时候把问题反馈回去,比硬做出一个不可靠的结论有价值得多。

不知道该体检哪些列

优先看三类:要拿来关联的、要拿来分组的、要拿来算钱的。这三类出问题的后果最大。

iModel 专属客服
在线留言或电话联系
在线留言

留下您的问题和联系方式,我们会在一个工作日内回复。

手机与邮箱至少填一项

4008568196 拨打此号码联系我们

微信扫码咨询

iModel 微信咨询二维码

使用微信扫描上方二维码