Função LIST

Extrai o conjunto de valores de uma coluna para uma matriz armazenada em uma nova coluna. Esta função normalmente faz parte de uma agregação.

Dica: para gerar valores exclusivos para a lista, aplique a função ARRAYUNIQUE na próxima etapa depois desta. Consulte Função ARRAYUNIQUE.

A coluna de entrada pode ser de qualquer tipo.

  • Por padrão, a lista é limitada a 1000 valores. Para alterar o número máximo de valores, especifique um valor para o parâmetro limit.
  • Esta função se destina a ser usada como parte de uma agregação para retornar o conjunto distinto de valores por grupo. Consulte Transformação Pivot.

Para uma versão dessa função calculada em uma janela contínua de linhas, consulte Função ROLLINGLIST.

Uso básico

pivot value:LIST(Name, 500) group:Month limit:1

Saída: gera uma tabela de duas colunas contendo os valores para Month e uma matriz de todos os valores (até uma contagem de 500) da coluna Name para cada valor Month. O parâmetro limit define o número máximo de colunas de resultado.

Sintaxe

pivot value:LIST(function_col_ref, [limit_int]) [group:group_col_ref] [limit:limit_count]

ArgumentoObrigatório?Tipo de dadosDescrição
function_col_refSstringNome da coluna à qual aplicar a função.
limit_intNinteiro (positivo)Número máximo de valores a serem extraídos para a matriz da lista. De 1 até 1000.

Para mais informações sobre os parâmetros group e limit, consulte Transformação Pivot.

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

function_col_ref

Nome da coluna a partir da qual extrair a lista de valores com base no agrupamento.

  • Valores literais não são aceitos como entradas.
  • Não há compatibilidade com várias colunas e caracteres curinga.

Observações sobre o uso:

Obrigatório?Tipo de dadosValor de exemplo
SimString (referência de coluna)myValues

limit_int

Inteiro não negativo que define o número máximo de valores a serem extraídos para a matriz da lista.

OBSERVAÇÃO: se especificado, esse valor precisará estar entre 1 e 1.000, inclusive.

Observação: não use o argumento limitante em uma chamada de função LIST em um agregado simples, em que todos os valores de uma coluna foram inseridos em uma única célula. Nesse caso, você poderá usar o argumento limite, se também especificar um parâmetro group. O uso indevido da função LIST pode fazer o aplicativo falhar.

Notas de uso:

Obrigatório?Tipo de dadosValor de exemplo
NãoNúmero inteiro50

Exemplos

Exemplo: cores vendidas neste mês

Neste exemplo, ilustramos as seguintes funções:

  • LIST: extrai até 1.000 valores de uma coluna para uma matriz em uma nova coluna. Consulte Função LIST.
  • LISTUNIQUE: extrai até 1.000 valores exclusivos de uma coluna para uma matriz em uma nova coluna. Consulte Função UNIQUE.

Você tem o seguinte grupo de pedidos para dois meses e gostaria de identificar o grupo de cores que foram vendidas para cada produto por mês e a quantidade total de produtos vendidos por mês.

Fonte:

OrderIdDataItemQuantidadeCor
100115/1/15Calça1vermelho
100215/1/15Camisa2verde
100315/1/15Chapéu3azul
100416/1/15Camisa4amarelo
100516/1/15Chapéu5vermelho
100620/1/15Calça6verde
100715/1/15Chapéu7azul
100815/4/15Camisa8amarelo
100915/4/15Sapatos9marrom
101016/4/15Calça1vermelho
101116/4/15Chapéu2verde
101216/4/15Camisa3azul
101320/4/15Sapatos4preto
101420/4/15Chapéu5azul
101520/4/15Calça6preto

Transformação:

Para rastrear por mês, você precisa de uma coluna que contenha o valor de mês extraído da data:

set col:Date value:DATEFORMAT(Date, 'MMM yyyy')

Use a seguinte transformação para verificar a lista de valores exclusivos entre as cores:

pivot value: LISTUNIQUE(Color, 1000) group: Date limit:10

Datalistunique_Color
Jan 2015["green","blue","red","yellow"]
Abr 2015["brown","blue","red","yellow","black","green"]

Exclua a transformação acima.

Agregue os dados no conjunto, agrupados pelos valores Date reformatados, e aplique a função LIST na coluna Color. Na mesma agregação, é possível incluir uma função de soma para a coluna Qty:

pivot value: LIST(Color, 1000) SUM(Qty) group: Date limit:10

Resultados:

Datalist_Colorsum_Qty
Jan 2015["green","blue","blue","red","green","red","yellow"]28
Abr 2015["brown","blue","red","yellow","black","blue","black","green"] 38

Se necessário, descompacte os dados da matriz da lista usando o comando a seguir:

unnest col:list_Color

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.