需求背景:
有时我们会碰到这样的需求,在一列中不同行会有多个数据,比如物料号等,数据结构如下:
可以看出c列下的数据是不规则的,有的行含有多个值,那么如何可以拆分每个值分别放到不同的行,并且保留a,b列对应的值。
实现方法:
在ETL中我们可以通过新加字段使用 explode(split([c],',')) 来实现,如下图我们创建一个c1字段:
标红处为分隔符,根据实际场景用不同分隔符,因为这里的数据是“,”分割所以使用了“,”。
结果:
可以看到已经把c列中的每个不同值拆分到c1列中。
发表于:2020年03月18日 10:48:26 • 更新于:2021年01月28日 10:37:33
•需求背景:
有时我们会碰到这样的需求,在一列中不同行会有多个数据,比如物料号等,数据结构如下:
可以看出c列下的数据是不规则的,有的行含有多个值,那么如何可以拆分每个值分别放到不同的行,并且保留a,b列对应的值。
实现方法:
在ETL中我们可以通过新加字段使用 explode(split([c],',')) 来实现,如下图我们创建一个c1字段:
标红处为分隔符,根据实际场景用不同分隔符,因为这里的数据是“,”分割所以使用了“,”。
结果:
可以看到已经把c列中的每个不同值拆分到c1列中。