Transformação Countpattern

OBSERVAÇÃO: as transformações fazem parte da linguagem subjacente, que não está diretamente acessível aos usuários. Este conteúdo é mantido apenas para fins de referência. Para mais informações sobre o equivalente às transformações acessível ao usuário, consulte Referência de transformação.

Conta o número de instâncias de um padrão especificado em uma coluna e grava esse valor em uma coluna recém-gerada. A coluna de origem permanece inalterada.

Uso básico

countpattern col: myCol on: 'honda'

Resultado: gera uma nova coluna que contém o número de instâncias da string honda que aparecem em cada linha da coluna, myCol.

Parâmetros

countpattern col:column_ref [ignoreCase:true|false] [after:start_point | from: start_point] [before:end_point | to:end_point] [on:'exact_match']

TokenObrigatório?Tipo de dadosDescrição
countpatternStransformaçãoNome da transformação
colSstringNome da coluna de origem
ignoreCaseNbooleanoSe true, a correspondência não diferencia maiúsculas e minúsculas.

Parâmetros correspondentes:

OBSERVAÇÃO: inclua pelo menos um dos parâmetros a seguir para especificar o padrão que será contado: after, before, from, on, to.

TokenObrigatório?Tipo de dadosDescrição
afterNstringPadrão ou literal de string que precede o padrão de correspondência
beforeNstringPadrão ou literal de string que aparece após o padrão de correspondência
fromNstringPadrão ou literal de string que identifica o início do padrão de correspondência
onNstringPadrão ou literal de string que identifica o padrão de correspondência
toNstringPadrão ou literal de string que identifica o final do padrão a corresponder

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

col

Identifica a coluna na qual aplicar a transformação. É possível especificar apenas uma coluna.

countpattern col: MyCol on: 'MyString'

Resultado: conta o número de instâncias do valor MyString na coluna MyCol e grava esse valor em uma nova coluna.

Observações sobre o uso:

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

after

countpattern col: MyCol after: 'Important:'

Resultado: conta 1 se houver um valor que apareça depois da string Important: em MyCol. Se o valor after não aparecer na coluna, o valor de saída será 0.

Um identificador de padrão que precede o valor ou o padrão a corresponder. Defina o valor do parâmetro after usando literais de string, expressões regulares ou padrões do Cloud Dataprep.

Observações sobre o uso:

Obrigatório?Tipo de dados
NãoString (padrão ou literal de string)

before

Um identificador de padrão que ocorre após o valor ou o padrão de correspondência. Defina o padrão usando literais de string, expressões regulares ou padrões do Cloud Dataprep.

countpattern col: MyCol before: '|'

Saída:

  • Conta 1 quando um valor aparecer antes da barra vertical (|) na coluna MyCol e nenhum outro parâmetro de padrão for especificado. Se o valor before não aparecer na coluna, o valor de saída será 0.
  • Se outro parâmetro de padrão, como after, for especificado, a contagem total de instâncias será gravada na nova coluna.

Observações sobre o uso:

Obrigatório?Tipo de dados
NãoString ou padrão

from

Identifica o padrão que marca o início do valor de correspondência. Esse padrão pode ser um literal de string, um padrão do Cloud Dataprep ou uma expressão regular. O valor from está incluído na correspondência.

countpattern col: MyCol from: 'go:'

Saída:

  • Conta 1 se o conteúdo de MyCol ocorrer de go: até o final da célula quando nenhum outro parâmetro de padrão for especificado. Se go: não aparecer na coluna, o valor de saída ficará em branco.
  • Se outro parâmetro de padrão, como to, for especificado, a contagem total de instâncias será gravada na nova coluna.

Observações sobre o uso:

Obrigatório?Tipo de dados
NãoString ou padrão

on

Identifica o padrão a ser correspondido. Esse padrão consiste em um literal de string, um padrão do Cloud Dataprep ou uma expressão regular.

countpattern col: MyCol on: `###ERROR`

Dica: é possível inserir o caractere equivalente em Unicode para esse valor de parâmetro usando uma expressão regular no formato /\uHHHH/. Por exemplo, /\u0013/ representa o caractere Unicode 0013 (retorno de carro). Para mais informações, consulte Caracteres especiais de expressão regular compatíveis.

Observações sobre o uso:

Obrigatório?Tipo de dados
Não

String (literal, expressão regular ou padrão do Cloud Dataprep)

to

Identifica o padrão que marca o final do valor de correspondência. Esse padrão pode ser um literal de string, um padrão do Cloud Dataprep ou uma expressão regular. O valor to está incluído na correspondência.

countpattern col:MyCol from:'note:' to: `/`

Saída:

  • Conta as instâncias da coluna MyCol de todos os valores que começam com note: até um caractere de barra invertida.
  • Se um segundo parâmetro do padrão não for especificado, então esse valor será 0 ou 1.

Observações sobre o uso:

Obrigatório?Tipo de dados
NãoString ou padrão

ignoreCase

Indica se a correspondência deve diferenciar maiúsculas e minúsculas ou não.

  • Defina como true para ignorar a correspondência de maiúsculas e minúsculas.
  • (Padrão) Defina como false para realizar a correspondência de maiúsculas e minúsculas.

countpattern col: MyCol on: 'My String' ignoreCase: true

Resultado: conta as instâncias dos valores a seguir quando aparecerem na coluna MyCol: My String, my string, My string etc.

Observações sobre o uso:

Obrigatório?Tipo de dados
NãoBooleano

Exemplos

Exemplo: contagem de padrões em tweets

Fonte:

O conjunto de dados abaixo contém informações sobre tweets fictícios logo após o lançamento de um aplicativo chamado "Myco ExampleApp".

DatetwitterIdisEmployeetweet
05/11/15lawrencetlu38141FALSEAcabei de fazer o download do Myco ExampleApp! Transformando dados em cinco minutos!
05/11/15petramktng024TRUETeste o Myco ExampleApp, nosso novo aplicativo gratuito de conversão de dados. Acesse www.example.com.
05/11/15joetri221TRUETemos o prazer de anunciar o lançamento do Myco ExampleApp, a versão gratuita do nosso produto empresarial. Confira em www.example.com.
05/11/15datadaemon994FALSEComecei a usar o Myco ExampleApp. Superfácil de usar e até divertido.
05/11/1599redballoons99FALSEGostei do novo ExampleApp! Bom trabalho, pessoal!
05/11/15bigdatadan7182FALSE@support, como posso encontrar exemplos de conjuntos de dados para usar com o produto?

Há duas áreas de análise:

  • Para quem não é funcionário, o objetivo é saber se estão mencionando o novo produto pelo nome.
  • Para os funcionários, o objetivo é saber se estão incluindo referências cruzadas para o site como parte do tweet deles.

Transformação:

O comando abaixo conta as ocorrências da string ExampleApp na coluna tweet. Observe o uso do parâmetro ignoreCase para capturar diferenças de capitalização:

countpattern col:tweet on:'ExampleApp' ignoreCase:true

Para os não funcionários, veja se eles mencionaram o produto no tweet:

derive type:single value:IF(isEmployee=='FALSE' && countpattern_tweet=='1',true,false) as:'nonEmployeeExampleAppMentions'

O comando abaixo conta as ocorrências de example.com nos tweets deles:

countpattern col:tweet on:'example.com' ignoreCase:true

Para os funcionários, rastreie a inclusão da referência cruzada acima nos tweets:

derive type:single value:IF(isEmployee=='TRUE' && countpattern_tweet1 == 1, true, false) as:'employeeWebsiteCrossRefs'

Resultados:

Após a exclusão das duas colunas que tabulam as contagens, os dados ficarão assim:

DatetwitterIdisEmployeetweetemployeeWebsiteCrossRefsnonEmployeeExampleAppMentions
05/11/15lawrencetlu38141FALSEAcabei de fazer o download do Myco ExampleApp! Transformando dados em cinco minutos!falsetrue
05/11/15petramktng024TRUETeste o Myco ExampleApp, nosso novo aplicativo gratuito de conversão de dados. Acesse www.example.com.truefalse
05/11/15joetri221TRUETemos o prazer de anunciar o lançamento do Myco ExampleApp, a versão gratuita do nosso produto empresarial. Confira em www.example.com.truefalse
05/11/15datadaemon994FALSEComecei a usar o Myco ExampleApp. Superfácil de usar e até divertido.falsetrue
05/11/1599redballoons99FALSEGostei do novo ExampleApp! Bom trabalho, pessoal!falsetrue
05/11/15bigdatadan7182FALSE@support, como posso encontrar exemplos de conjuntos de dados para usar com o produto?falsefalse