Transform Merge

Combina duas ou mais colunas no conjunto de dados para criar uma nova coluna de tipo "String". Você também tem a opção de inserir um delimitador entre os valores mesclados.

OBSERVAÇÃO: esta transformação se aplica a colunas String ou a outras colunas que podem ser interpretadas como strings (por exemplo, CEPs podem ser interpretados como strings de cinco dígitos). Para concatenar matrizes, use a função ARRAYCONCAT. Consulte Função ARRAYCONCAT.

Uso básico

Exemplo de coluna:

merge col:Column1,Column2 as:'MergedCol'

Resultado: mescla o conteúdo de Column1 e Column2 nessa ordem em uma nova coluna chamada MergedCol.

Exemplo de literal de coluna e string:

merge col:'PID',ProdId with:'-'

Resultado: mescla a string PID e os valores em ProdId juntos. A string e o valor são separados por um traço. Valor de saída de exemplo: PID-00123.

Parâmetros

merge col:column_ref [with:string_literal_pattern] [as:'new_column_name']

ParâmetroObrigatório?Transform BuilderTipo de dadosDescrição
colSColunasstringNome ou nomes de coluna de origem
withNDelimitadorstringLiteral de string usado na nova coluna como um separador entre os valores de coluna mesclada
asNNovo nome da colunastringNome da coluna recém-gerada

Para mais informações sobre os padrões de sintaxe, consulte Notas de sintaxe da documentação da linguagem.

col

Identifica colunas ou intervalos de colunas como dados de origem para a transformação. Você deve especificar várias colunas.

Para especificar várias colunas, leve em conta estes fatores:

  • Os nomes de colunas distintas são separados por vírgulas. Os valores dos nomes de coluna diferenciam maiúsculas de minúsculas.
  • Se for o caso, vários valores podem ser especificados usando-se um til (~).

merge col: Prefix,Root,Suffix

Resultado: mescla as colunas Prefix, Root e Suffix nessa ordem em uma nova coluna.

Notas de uso:

Obrigatório?Tipo de dados
SimString (nome da coluna)

with

Transformação Merge: especifica o delimitador entre as colunas que foram mescladas. Se esse parâmetro não for especificado, nenhum delimitador será aplicado.

Transformação Replace: especifica o valor de substituição.

merge col: CustId,ProdId with:'-'

Resultado: mescla as colunas CustId e ProdId em uma nova coluna com um traço (-) entre os valores de origem na nova coluna.

Notas de uso:

Obrigatório?Tipo de dado
NãoString (nome da coluna)

as

Nome da nova coluna que está sendo gerada. Se o parâmetro as não for especificado, será usado um nome padrão.

merge col: CustId,ProdId with:'-' as:'PrimaryKey'

Resultado: mescla as colunas CustId e ProdId em uma nova coluna com um traço (-) entre os valores de origem na nova coluna. A nova coluna se chama PrimaryKey.

Notas de uso:

Obrigatório?Tipo de dado
NãoString (nome da coluna)

Exemplos

Exemplo: como mesclar valores de data

Você tem informações de data armazenadas em várias colunas. Você pode mesclar colunas para formar um único valor de data.

Origem:

OrderIdMêsDiaAno
10012142008
10027222009
100311222010
100412252011

Transformação:

merge col:Month~Year with:'/' as:'Date'

Resultados:

Quando você adiciona a transformação e move a coluna Date gerada, o conjunto de dados será semelhante ao mostrado a seguir. A coluna gerada é inferida automaticamente como valores Datatime.

OrderIdMêsDiaAnoData
1001214200814/02/2008
1002722200922/07/2009
10031122201022/11/2010
10041225201125/12/2011

Exemplo: usar merge e settype para limpar dados numéricos que precisam ser tratados como outros tipos de dados

Este exemplo ilustra como limpar dados que foram interpretados como de natureza numérica, quando na verdade é string ou um tipo de string estruturada, como Gênero. Este exemplo usa:

Fonte:

O exemplo a seguir contém informações de código de cliente e CEP em duas colunas. Quando carregados na página do Transformer, esses dados são inicialmente interpretados como numéricos, já que contêm todos os números.

Os valores de quatro dígitos de ZipCode devem ter cinco dígitos, com 0 na frente.

CustIdZipCode
40201231234
201212194105
321201294101
13012122020

Transformação:

Coluna CustId: é preciso digitar novamente essa coluna como valores de string. Você pode definir o tipo de dados da coluna como string por meio da lista suspensa da coluna, que é processado como a seguinte transformação:

settype col:CustId type:'String'

A coluna agora é de tipo string, porém, transformações futuras poderão inferir novamente como valores inteiros. Para se prevenir quanto a isso, convém adicionar um marcador na frente da string. Remova esse marcador antes da execução.

O método básico é criar uma coluna nova contendo o marcador do código do cliente (C) e, em seguida, mesclá-la com a coluna CustId existente. É útil adicionar um indicador desse tipo à frente, caso o identificador do cliente seja um valor numérico que possa ser confundido com outros valores numéricos. Além disso, essa etapa de mesclagem força o valor a ser interpretado como um valor de string, o que é mais apropriado para um identificador.

merge col:'C', CustId

Agora você pode descartar as colunas CustId e renomear a nova coluna como CustId.

Coluna ZipCode: é preciso converter esta coluna em valores válidos de CEP. Para facilitar a utilização, esta coluna deve ser do tipo String:

settype col:ZipCode type:'Zipcode'

A transformação abaixo altera o valor na coluna ZipCode se o comprimento do valor for quatro em qualquer linha. O novo valor é o valor original precedido pelo número 0:

set col: ZipCode value: MERGE('0', ZipCode) row: LEN(ZipCode) == 4

Esta coluna agora pode ser digitada novamente como tipo de código postal.

Resultados:

CustIdZipCode
C402012301234
C201212194105
C321201294101
C130121202020

Lembre-se de remover o marcador C da coluna CustId. Selecione o valor C na coluna CustId e escolha a transformação replace. Talvez seja necessário digitar novamente os dados limpos como dados de string.

Esta página foi útil? Conte sua opinião sobre:

Enviar comentários sobre…

Documentação do Google Cloud Dataprep
Precisa de ajuda? Acesse nossa página de suporte.