举个栗子!Tableau 技巧(199):用 Prep 正则表达式拆分复杂字段

published: 2022-09-16

在数据准备的时候,我们经常会遇到需要拆分的字段。对于比较规整的字段,可以用 split() 函数进行拆分。

但是,如果遇到比较复杂的情况(如下图):没有固定的长度,分隔字符不固定,分隔字符的数量也不固定。用普通的拆分方法,需要重复很多次,费时费力。

这种复杂的字段,有办法快速拆分么?交给 Tableau Prep 吧!

今天的栗子,我们使用 Tableau Prep 的 REGEXP_REPLACE() 等支持 REGEXP 正则表达式的字符串处理方法,来轻松的处理复杂字符串的拆分吧!

本期《举个栗子》,我们要给大家分享的 Tableau 技巧是:用 Prep 正则表达式拆分复杂字段。

为方便学习,栗子使用自备的上述示例数据。掌握栗子方法后,数据粉可尝试使用自己的数据源。

具体步骤如下:

01 创建自定义计算替换字符

打开 Tableau Prep 连接栗子数据源“复杂拆分”,新建一个清理步骤:单击数据表右侧 + 按钮,下拉菜单选择:+ 清理步骤。

首先,需要将多种分隔符号统一替换成可自动拆分的半角符号。

单击“待拆分字段”右上角...符号,下拉菜单选择:创建计算字段-自定义计算。使用 REGEXP_REPLACE() 函数,按照正则表达式对字段进行拆分。

Tips:REGEXP_REPLACE 函数的作用是把字段中符合正则表达式的字符,替换成指定的字符。有三个接收的参数,分别是 REGEXP_REPLACE(

将计算字段命名为:拆分字段,键入函数

REGEXP_REPLACE([待拆分字段], "[,, |分数]+", ",")

计算说明:示例中的正则表达式’[,,| 分数]+’,意思是匹配 [] 内的任意字符,匹配次数可以是 1 次或多次。连起来的意思是把“待拆分字符串”中包含的任意数量的表达式字符,替换成为半角符号。

计算应用保存后,可以看到替换效果如下:

02 拆分字段

单击“拆分字段”右上角图片符号,下拉菜单选择:拆分值-自动拆分。

如此,就完成了我们想要的字段拆分结果。

今天的 Tableau 技巧,你 Get 到了吗?赶快试试看吧!