Transformação Valuestocols

OBSERVAÇÃO: as transformações fazem parte da linguagem subjacente não diretamente acessível aos usuários. Esse conteúdo é mantido apenas para fins de referência.

Para cada valor exclusivo em uma coluna, é criada uma coluna separada. Para cada linha que contém o valor na coluna de origem, um valor indicador é inserido na nova coluna.
  • Esse indicador pode ser um valor literal ou a saída de uma função.
  • Se nenhum valor indicador for gerado, um valor nulo será gravado.

Esta transformação é usada para gerar colunas de indicadores, que podem ser usadas na análise estatística.

  • Ela avalia a exclusividade dos valores de células inteiras. Ela não procura por elementos individuais em dados do tipo Object ou Array.
  • Se uma linha na coluna de origem tem um valor ausente, um valor de indicador é adicionado em uma nova coluna Empty.
  • Ela não é adequada para tabular contagens de strings ou padrões em uma coluna. Consulte Transformação Countpattern.

Como opção, você pode especificar um valor padrão, que é aplicado a todas as células do valor não indicador na nova coluna.

OBSERVAÇÃO: quando esta transformação é aplicada na grade de dados, ela identifica apenas os valores únicos na amostra atual. Se houver outros valores únicos em todo o conjunto de dados, não serão criadas novas colunas para eles quando a transformação for executada em todo o conjunto de dados.

Uso básico

Origem:

Data
Happy
Dog
Happy Happy Dog

Transformação:

valuestocols col:Data value:'X'

Resultados:

DataHappyDogHappy_Happy_Dog
HappyX
Dog X
Happy Happy Dog X

Parâmetros

valuestocols col:column_ref value:(expression) default:(expression) [limit:int_num]

TokenObrigatório?Tipo de dadosDescrição
values tocolsStransformaçãoNome da transformação.
colSstringNome da coluna de origem.
valueSstringChamada de literal, coluna ou função de string que define o valor a ser usado como o valor do indicador em qualquer coluna recém-gerada.
defaultNstringChamada de literal, coluna ou função de string que define o valor a ser usado para indicar uma falsa correspondência em qualquer coluna recém-gerada.
limitNinteiro (positivo)Número máximo de colunas a serem geradas. O padrão é 50.

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

col

Identifica a coluna na qual aplicar a transformação. Você pode especificar apenas uma coluna.

Observações sobre o uso:

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

value

Para a transformação valuestocols, este parâmetro especifica o valor a inserir em cada linha de uma coluna gerada em que o nome da coluna gerada aparece na mesma linha da coluna de origem. Esse valor pode ser um literal de string, uma referência de coluna ou uma função.

Observações sobre o uso:

Obrigatório?Tipo de dados
SimLiteral de string, referência de coluna ou chamada de função

default

Como opção, este parâmetro pode ser usado para especificar o valor a ser inserido em cada linha de uma coluna gerada, em que o nome da coluna gerada não aparece na mesma linha da coluna de origem. Esse valor pode ser um literal de string, uma referência de coluna ou uma função.

Se o parâmetro não for especificado, um valor ausente será inserido.

Observações sobre o uso:

Obrigatório?Tipo de dados
NãoLiteral de string, referência de coluna ou chamada de função

limit

O parâmetro limit define o número máximo de colunas a serem criadas a partir dos valores únicos detectados na coluna de origem. Se não for especificado, o limite será 50.

OBSERVAÇÃO: tenha cuidado ao definir este parâmetro muito alto. Em alguns casos, o aplicativo pode ficar sem memória ao gerar resultados e seus resultados podem falhar.

Observações sobre o uso:

Obrigatório?Tipo de dados
Não. O valor padrão é 50.Inteiro (positivo)

Exemplos

Exemplo: valuestocols básicos

Origem:

Este conjunto de dados contém marcos de integração de três funcionários que entraram na empresa ao mesmo tempo. Os marcos foram registrados e organizados por data como itens individuais, por isso não é fácil verificar se todos os cinco marcos de cada funcionário foram confirmados:

  • Orientação (Orientation)

  • Dados de contato (Contact Info)

  • Receber computador (Acquire Computer)

  • Treinamento nas políticas do RH (HR Policies Training)

  • Treinamento do produto (Product Training)

DateNameonboardingChecklist
04/04/16Bowie KuhnOrientation
04/04/16Happy ChandlerContact Info
04/04/16Bowie KuhnContact Info
04/04/16Bowie KuhnAcquire Computer
04/04/16Bud SeligProduct Training
04/04/16Bud SeligOrientation
05/04/16Happy ChandlerHR Policies Training
05/04/16Happy ChandlerOrientation
05/04/16Happy ChandlerAcquire Computer
05/04/16Bowie KuhnHR Policies Training
05/04/16Bud SeligHR Policies Training
05/04/16Bud SeligContact Info
06/04/16Happy ChandlerProduct Training

Transformação:

A seguinte transformação cria colunas para cada um dos valores na coluna onboardingChecklist e adiciona um valor yes em que há uma correspondência para a linha:

valuestocols col: onboardingChecklist value:'yes'

Resultados:

Nas colunas geradas, você pode avaliar rapidamente se os três funcionários concluíram um determinado item de integração:

  • Bud Selig não recebeu um computador.
  • Bowie Kuhn não teve treinamento do produto.
DateNameonboardingChecklistOrientationContact_InfoAcquire_ComputerProduct_TrainingHR_Policies_Training
04/04/16Bowie KuhnOrientationyes
04/04/16Happy ChandlerContact Info yes
04/04/16Bowie KuhnContact Info yes
04/04/16Bowie KuhnAcquire Computer yes
04/04/16Bud SeligProduct Training yes
04/04/16Bud SeligOrientationyes
05/04/16Happy ChandlerHR Policies Training yes
05/04/16Happy ChandlerOrientationyes
05/04/16Happy ChandlerAcquire Computer yes
05/04/16Bowie KuhnHR Policies Training yes
05/04/16Bud SeligHR Policies Training yes
05/04/16Bud SeligContact Info yes
06/04/16Happy ChandlerProduct Training yes

Exemplo: assinaturas de revistas

Este exemplo mostra como você pode fazer referência cruzada de colunas de dados usando as seguintes transformações:

  • flatten: nivele os valores de uma matriz em linhas separadas no conjunto de dados. Consulte Transformação Flatten.
  • valuestocols: extraia instâncias únicas de valores em colunas separadas, com um indicador adicionado a cada linha onde está o valor único. Consulte Transformação Valuestocols.

Origem:

Os seguintes dados representam assinaturas de revistas de clientes individuais. As assinaturas são armazenadas em uma matriz de valores. Seu interesse é saber quem está assinando cada revista.

CustIdSubscriptions
Anne Aimes["Little House and Garden","Sporty Pants","Life on the Range"]
Barry Barnes["Sporty Pants","Investing Smart"]
Cindy Compton["Cakes n Pies","Powerlifting Plus","Running Days"]
Darryl Diaz["Investing Smart","Cakes n Pies"]

Transformação:

Quando esses dados são carregados no Transformer, talvez você tenha que aplicar um header a eles. Se estiver no formato CSV, talvez seja necessário aplicar algumas transformações replace para limpar a coluna Subscriptions de modo que se pareça com o exemplo acima.

Quando a coluna Subscriptions contém matrizes com formatação limpa, a coluna é inserida novamente como o tipo Array. Assim, você pode aplicar a transformação flatten:

flatten col:Subscriptions

Cada combinação CustId/Subscription está escrita em uma linha separada. Você pode usar essa nova estrutura de dados para distribuir as instâncias de assinaturas de revistas. Usando a seguinte transformação, você pode adicionar o valor CustId correspondente à coluna:

valuestocols col:Subscriptions value:CustId

Exclua as duas colunas de origem:

drop col:CustId,Subscriptions

Resultados:

Little_House_and_GardenSporty_PantsLife_on_the_RangeInvesting_SmartCakes_n_PiesPowerlifting_PlusRunning_Days
Anne Aimes
Anne Aimes
Anne Aimes
Barry Barnes
Barry Barnes
Cindy Compton
Cindy Compton
Cindy Compton
Darryl Diaz
Darry Diaz

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.