我正在使用Pentaho数据集成进行数据源集成,我需要将表A与多个Google Analytics数据流联系起来(让我们称之为GA_A,GA_B,GA_C,... GA_Z)。所有GA streems都有相同的字段,但它们来自不同的配置文件。我在每个合并步骤中使用LEFT OUTER JOIN来保留表A中的所有数据,同时添加每个GA数据流的值。问题在于,当我进行连接时,每个数据流中的所有GA字段都会添加到结果中,但会使用下划线重命名。这是一个例子:
GA_A,GA_B和GA_C都有字段" name"并且连接到表A.在最后的连接结果中,我得到字段" name" ," name_1"," name_2")。
这显然是因为LEFT OUTER JOIN的性质。但是,我想" map" "发送"所有值来自" name_1"," name_2"," name_3"等等到字段" name"。我怎样才能做到这一点?我看到那里有一个" Value Mapper" PDI中的步骤,但我不想为GA带来的10个字段中的每个字段使用一个步骤(另外,我不确定该步骤是否符合我的要求)
谢谢!
答案 0 :(得分:1)
正如@ Brian.D.Myers所说,有多种解决方案可供选择。
首先,如果所有GA流都具有相同的结构,则不需要对所有这些流使用连接 - 您可以先将所有数据联合起来(只需将它们指向同一步骤即Dummy步骤),然后再进行连接 - 在这种情况下,您不会获得多个name_ *字段。
但是,如果表A和GA流中仍有相同名称的字段 - 它们显然会用下划线重命名(正如您所指出的那样必不可少)。要处理这个问题,几乎没有选择: