Função OMIT( )

Retorna uma cadeia com um ou mais subcadeias especificadas removidas.

Sintaxe

OMIT(cadeia1; cadeia2 <;diferenciam_maiúsculas_de_minúsculas>)

Parâmetros

Nome Tipo Descrição
cadeia1 caractere O campo, a expressão ou o valor literal do qual uma ou mais subcadeias devem ser removidas.
cadeia2 caractere

Uma ou mais subcadeias para remover.

  • Use ponto e vírgula para separar várias subcadeias.
  • Use um espaço após a vírgula apenas se for parte da subcadeia que deseja remover.
  • Se o caractere de aspas ocorrer em qualquer uma das subcadeias, coloque o parâmetro inteiro cadeia2 entre apóstrofos (' ') em vez de aspas.
  • Para omitir uma vírgula, coloque uma única vírgula por último na lista de subcadeias, seguida imediatamente pelas aspas de fechamento (veja o exemplo final abaixo).
diferenciam_maiúsculas_de_minúsculas

opcional

lógico

Especifique T para que as subcadeias diferenciem entre maiúsculas e minúsculas ou F para ignorar essa diferenciação.

Se diferencia_maiúsculas_de_minúsculas for omitido, o valor padrão T será usado.

Saída

Caractere.

Exemplos

Exemplos básicos

Entrada de caracteres literais

Retorna "Intercity Couriers":

OMIT("Intercity Couriers Corporation"; " Corporation, Corp.")

Retorna "Inter-city Couriers":

OMIT("Inter-city Couriers Corp."; " Corporation, Corp.")

Nota

A distância de Levenshtein entre os valores retornados nos primeiros dois exemplos é 1. Se os elementos genéricos não forem removidos, a distância entre os dois exemplos será 8, o que pode permitir que os valores não sejam detectados como duplicidades parciais entre si.

Entrada de campo

Retorna todos os valores no campo Nome_Fornecedor com elementos genéricos como "Companhia" e "Inc." removido(a):

OMIT(Nome_Fornecedor;" Corporation, Corp., Corp, Inc., Inc, Ltd., Ltd")

Retorna todos os valores no campo Nome_Fornecedor com elementos genéricos como "Companhia" e "Inc." removido(a):

OMIT(Nome_Fornecedor;" ,.,Corporation;Corp;Inc;Ltd")

Nota

Os dois exemplos anteriores retornam os mesmos resultados, mas a sintaxe para o segundo exemplo é mais eficiente.

Retorna todos os valores no campo Nome_Fornecedor com "Companhia" e "Corp" removidos, além de remover todas as vírgulas:

OMIT(Nome_Fornecedor;" Corporation; Corp;")

Observações

OMIT( ) pode remover subcadeias como unidades

A função OMIT( ) remove uma ou mais subcadeias de uma cadeia. Ela é diferente de funções como CLEAN( ), EXCLUDE( ), INCLUDE( ) e REMOVE( ) porque encontra correspondências e remove caracteres com base em subcadeias e não caractere por caractere. A remoção de subcadeias permite remover palavras específicas, abreviações, ou sequências repetidas de caracteres de uma cadeia sem afetar o restante da cadeia.

Uma função auxiliar para comparações parciais

A função OMIT( ) pode melhorar a eficácia da função ISFUZZYDUP( ) ou dos comandos FUZZYDUP ou FUZZYJOIN removendo elementos genéricos, como "Companhia" ou "Inc.", ou caracteres como vírgulas, pontos e E comercial (&) dos valores dos campos.

A remoção de elementos e pontuação genéricos concentra a comparação parcial na parte dos valores em que podem ocorrer diferenças significativas.

Como a ordem das subcadeias afeta os resultados

Se você especificar várias subcadeias para remoção, a ordem em que elas são listadas em cadeia2 poderá afetar os resultados de saída.

Quando a função de OMIT( ) é processada, a primeira subcadeia é removida de todos os valores que a contêm, a segunda subcadeia é então removida de todos os valores que a contêm e assim por diante. Se uma subcadeia for parte de outra subcadeia - por exemplo, "Corp" e "Corporação" - remover a subcadeia mais curta primeiro também alterará valores que contêm a subcadeia mais longa ("Corporação" torna-se "oração") e impedirá que a subcadeia maior seja encontrada.

Para evitar essa situação, especifique subcadeias mais longas antes de qualquer subcadeia mais curta que elas contenham. Por exemplo:

OMIT(Nome_Fornecedor;" Corporation; Corp.; Corp")

Experimente remover primeiro os caracteres especiais

É possível especificar subcadeias de um único caractere, tais como sinais de pontuação, caracteres especiais e um espaço em branco, o que reduz ainda mais o material genérico em cadeias. Pode ser mais eficiente remover um único caractere primeiro, como um ponto ou espaço, o que reduz o número de variações de subcadeia que precisam ser especificadas depois. Compare o terceiro e quarto exemplos acima. Ambos retornam os mesmos resultados, mas o quarto exemplo é mais eficiente.

Como lidar com brancos ou espaços

Os brancos ou espaços das subcadeias são tratados como qualquer outro caractere. Você deve especificar explicitamente cada branco que deseja remover de uma subcadeia. Por exemplo, se você especificar um caractere E comercial sem nenhum branco ("&"), "Ricoh Sales & Service" mudará para "Ricoh Sales Service". Se você incluir brancos (" & "), "Ricoh Sales & Service" mudará para "Ricoh SalesService".

Se você especificar um branco que não faz parte da subcadeia, ela não será encontrada. Por exemplo, se você especificar um e comercial com brancos (" & "), "Ricoh Sales&Service" permanecerá inalterado.

Ao usar vírgulas para separar várias subcadeias, acrescente um espaço após a vírgula somente se corresponder à subcadeia real que deseja remover.

Uma abordagem para tratar brancos é remover antes todos os brancos de um campo especificando um branco como uma subcadeia de um único caractere antes de especificar qualquer outra cadeia.

Revisão dos resultados do uso de OMIT( )

Depois de usar OMIT( ) para criar um campo calculado, revise o conteúdo do campo para confirmar que não omitiu inadvertidamente porções significativas de cadeias. Por exemplo, omitir "Co" elimina uma abreviação comum para "Companhia", mas também remove as letras "Co" em dois lugares na palavra "Coca-Cola".