如何在google cloud dataprep中插入值

时间:2018-03-23 14:23:29

标签: google-cloud-platform google-cloud-dataprep

我在Dataprep中输入的邮政编码不匹配。我需要在不正确输入的列中添加两位数。

在Dataprep中,我得到了一个替换建议:

'{start}{digit}{3}{end}' with ' '

在替换对话框中,我只能输入一个字符串,而不是'{start}{digit}{3}{end}',因为它将其作为文本读取。我该如何更换:

带有'{start}{digit}{3}{end}'

12 + '{start}{digit}{3}{end}'

更换或插入,要么可以工作,但我还没有找到插入的方法。

有任何帮助吗?感谢。

1 个答案:

答案 0 :(得分:0)

您要找的是Merge Transform。它允许两个将多个列或值合并到一个新列中,还允许在要合并的值之间插入分隔符。

根据您的问题,我们了解您希望将345之类的数据值转换为12345,即附加12作为前缀。为此,您可以像这样运行merge()公式:

merge(['12',zip])

在这种情况下,zip只是您要与值12合并的列的名称。在特定情况下写下专栏的名称。

下图显示了运行merge()公式的结果。

enter image description here

<强> 更新:

如果您的数据中包含正确和错误的邮政编码,则可以应用conditional logic function IF以确定应用于您的数据的公式。 IF()函数的工作方式如下:

IF(test_expression, true_expression, false_expression)

因此,在您的情况下,您应该评估列中项目的长度,并且只有当行中正好有三位数时才添加12 ,正如您在评论。我使用的公式如下:

if(len(zip) == 3, merge(['12',zip]), zip)

结果(使用IF() [ right_new_zip 列时]和不使用[ wrong_new_zip 列]时的比较)是这些:

enter image description here

最后,让我向您推荐这个很好的documentation page,在那里您将找到有关Dataprep中使用的语言所需的所有信息以及您可以找到的有用的功能,按类型分类(逻辑,聚合,字符串,日期等。)。