Função SUMIF

Gera a soma de linhas em cada grupo que atendem a uma condição específica.

OBSERVAÇÃO: quando adicionada a uma transformação, essa função é aplicada à amostra na grade de dados. Se você alterar a amostra ou executar o job, os valores calculados para essa função serão atualizados. As transformações que alteram o número de linhas nas etapas seguintes da receita não afetam os valores calculados para esta etapa.

Para realizar uma simples soma de linhas sem condicionais, use a função SUM. Consulte Função SUM.

Uso básico

pivot value: SUMIF(timeoutSecs, errors >= 1) group:serverAddress limit:1

Saída: é gerada uma tabela de duas colunas contendo os valores exclusivos para serverAddress e a soma da coluna timeoutSecs para esse valor serverAddress, quando o valor errors for maior ou igual a 1. O parâmetro limit define o número máximo de colunas do resultado.

Sintaxe

pivot value:SUMIF(col_ref, test_expression) [group:group_col_ref] [limit:limit_count]

ArgumentoObrigatório?Tipo de dadosDescrição
col_refSstringReferência à coluna que você quer avaliar.
test_expressionSstringExpressão que é avaliada. Precisa ser resolvida como true ou false

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

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

col_ref

Nome da coluna cujos valores você quer usar no cálculo. A coluna precisa ser um tipo numérico (inteiro ou decimal).

Observações de uso:

Obrigatório?Tipo de dadosValor de exemplo
SimString que corresponde ao nome da colunamyValues

test_expression

Esse parâmetro contém a expressão a ser avaliada. Essa expressão precisa ser resolvida com um valor booleano (true ou false).

Notas de uso:

Obrigatório?Tipo de dadosValor de exemplo
SimExpressão de string que é avaliada como true ou false(LastName == 'Mouse' && FirstName == 'Mickey')

Exemplos

Exemplo - Resumir registros de eleitores

Neste exemplo, ilustramos como você pode usar as seguintes funções condicionais de cálculo para analisar os dados de votação:

  • SUMIF: soma de um conjunto de valores por grupo que atende a uma condição especificada. Consulte a função SUMIF.
  • COUNTDISTINCTIF: soma de um conjunto de valores por grupo que atende a uma condição especificada. Consulte a função COUNTDISTINCTIF.

Fonte:

Veja a seguir alguns exemplos de dados de votação em 16 distritos de 8 cidades em 4 condados, em que os registros foram invalidados na mesa de votação, impedindo os eleitores de votar. Os distritos em que esse problema ocorreu já tinham sido adicionados a uma lista de observação (precinctWatchList).

totalReginvalidRegprecinctWatchListprecinctIdcityIdcountyId
73124s111
74329s211
8740 321
9830 421
62229 532
6930 632
77537s742
102549s842
78713 953
3420 1053
34239s1163
38728s1263
58259 1374
2440 1474
9406s1584
9014s1684

Transformação:

Primeiro, some os registros inválidos (invalidReg) por cidade:

derive type:single value:SUMIF(invalidReg, precinctWatchList == "y") group:cityId as:'invalidRegbyCityId'

A coluna invalidRegbyCityId contém registros inválidos em toda a cidade. Em relação aos condados, agora você precisa identificar o número de distritos que estavam na lista de observação e faziam parte de um problema de registro que envolvia toda a cidade. Esta etapa executa uma agregação:

pivot value:COUNTDISTINCTIF(precinctId, invalidRegbyCityId > 60) group:countyId limit:1

Resultados:

countyIdcountdistinctif_precinctId
10
22
32
40

Quem trabalha na votação dos condados 2 e 3 precisa investigar os problemas de registro nos distritos.

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.