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.
|
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".