首页 > 解决方案 > Cloud Dataprep - 根据另一列中的值乘以一列中的行

问题描述

我在 Cloud Dataprep 工作,我有一个这样的案例:

在此处输入图像描述

基本上我需要根据第 1 列中匹配数据的行数在第 2 列中创建新行。

有可能吗?怎么做?

标签: google-cloud-dataprep

解决方案


我了解您想要的场景是:从中获取column1column2. 在这种情况下,有很多事情需要考虑,您没有描述,例如:column2可以重复吗?或者如果缺少 in有值,应该发生什么?column2column1或者反过来会发生什么?

但是,作为解决此问题的一般方法,我将执行以下流程: 在此处输入图像描述

使用这样的流程,您可以使用输入表,它是两列,如下所示: 在此处输入图像描述

在食谱中FIRST_COLUMNSECOND_COLUMN将两列拆分为不同的分支,并执行必要的步骤来清理每一列。在column1中,我明白什么都不需要做。在column2中,我知道您将必须删除重复项(同样,这是我的猜测,但这取决于您的具体实现,您尚未完全描述)并删除空值。您可以应用以下转换来做到这一点: 在此处输入图像描述

最后,您可以将两列连接在一起。根据您的需要(应仅出现两列中的值,仅应出现中的值columnX等),您应该应用不同的 JOIN 策略。您应该使用Join 键(如图所示column1 = column2),如果您仅选择左侧菜单中的第二列,您将获得单列结果。 在此处输入图像描述

请注意,在这种情况下,我使用了Inner-join,但使用其他 JOIN 类型将提供完全不同的结果。使用更符合您要求的一种。


推荐阅读