Función OMIT( )
Devuelve una cadena con una o varias subcadenas especificadas eliminadas.
Sintaxis
OMIT(cadena1; cadena2 <;coincidir_mayúsc./minúsc.>)
Parámetros
Nombre | Tipo | Descripción |
---|---|---|
cadena1 | carácter | La cadena de donde se debe eliminar una o más subcadenas. |
cadena2 | carácter |
Una o más subcadenas para eliminar.
|
coincidir_mayúsc./minúsc.
opcional |
lógico |
Especifique T para hacer que las subcadenas distingan entre mayúsculas de minúsculas o F para ignorar si es mayúscula o minúscula. Si se omite coincidir_mayúsc./minúsc., se utiliza el valor predeterminado T. |
Salida
Carácter.
Ejemplos
Ejemplos básicos
Valor de entrada de caracteres literales
Devuelve "Intercity Couriers":
OMIT("Intercity Couriers Corporation"; " Corporation, Corp.")
Devuelve "Inter-city Couriers":
OMIT("Inter-city Couriers Corp."; " Corporation, Corp.")
Nota
La distancia de Levenshtein entre los valores devueltos en los primeros dos ejemplos es 1. Si no se eliminan los elementos genéricos, la distancia entre los dos ejemplos es 8, lo cual podría permitir que los valores escapen a la detección como duplicados inexactos.
Valor de entrada del campo
Devuelve todos los valores del campo Nombre_proveedor con los elementos genéricos como "Corporation" e "Inc." eliminados:
OMIT(Nombre_proveedor;" Corporación, Corp., Corp, Inc., Inc. Ltd., Ltd")
Devuelve todos los valores del campo Nombre_proveedor con los elementos genéricos como "Corporation" e "Inc." eliminados:
OMIT(Nombre_proveedor;" ,.,Corporation,Corp,Inc,Ltd")
Nota
Los dos ejemplos anteriores devuelven los mismos resultados pero la sintaxis del segundo ejemplo es más eficiente.
Devuelve todos los valores del campo Nombre_proveedor con "Corporation" y "Corp" eliminados, y con todas las comas eliminadas:
OMIT(Nombre_proveedor;" Corporation, Corp,")
Observaciones
OMIT( ) puede eliminar las subcadenas como unidades
La función OMIT( ) elimina una o más subcadenas de una cadena. Difiere de las funciones como CLEAN( ), EXCLUDE( ), INCLUDE( ) y REMOVE( ) porque coincide y elimina caracteres por subcadenas en lugar de carácter por carácter. La eliminación de subcadenas que le permite quitar palabras específicas, abreviaturas o secuencias repetidas de caracteres de una cadena sin afectar el resto de la cadena.
Una función auxiliar para comparaciones de valores inexactos
OMIT( ) puede mejorar la efectividad de las funciones LEVDIST( ) o ISFUZZYDUP( ), o los comandos FUZZYDUP o FUZZYJOIN, quitando elementos genéricos como "Corporación" o "Inc." de los valores del campo. La eliminación de los elementos genéricos centra la comparación de cadenas realizada por estas funciones y comandos únicamente en la porción de las cadenas donde puede ocurrir una diferencia significativa.
De qué manera afecta los resultados el orden de las subcadenas
Si especifica varias subcadenas para su eliminación, el orden en que las enumera en cadena2 puede afectar los resultados de la salida.
Cuando se procesa la función OMIT( ), se elimina la primera subcadena de todos los valores que la contienen, luego se elimina la segunda subcadena de todos los valores que la contienen y así sucesivamente. Si una subcadena forma parte de otra subcadena (por ejemplo, "Corp" y "Corporación") la eliminación de la subcadena más corta primero también altera los valores que contienen la subcadena más larga ("Corporation" se convierte en "oration") y esto impide que se encuentre la subcadena más larga.
Para evitar esta situación, especifique las subcadenas más largas antes de cualquier subcadena más corta que contengan. Por ejemplo:
OMIT(Nombre_proveedor;" Corporation, Corp,")
Intente eliminar primero los caracteres especiales
Puede especificar subcadenas de carácter único, como signos de puntuación, caracteres especiales y un espacio en blanco, lo cual reduce aún más el material genérico en las cadenas. Puede ser más eficaz eliminar un carácter solo primero, como un punto o un espacio en blanco, lo cual reduce el número de variaciones en las subcadenas que posteriormente deberá especificar. Compare el tercer y cuarto ejemplo más atrás. Ambos devuelven los mismos resultados, pero el cuarto ejemplo es más eficiente.
Trabajo con los espacios o lugares en blanco
Los espacios en blanco o espacios en las subcadenas son tratados como cualquier otro carácter. Debe especificar explícitamente cada espacio en blanco que desea quitar como parte de una subcadena. Por ejemplo, si se especifica un signo & sin espacios en blanco ("&"), "Ricoh Sales & Service" se convierte en "Ricoh Sales Service". Si incluye espacios en blanco (" & "), "Ricoh Sales & Service" se convierte en "Ricoh SalesService".
Si especifica un espacio en blanco que no forma parte de una subcadena, no se podrá encontrar la subcadena. Por ejemplo, si especifica un signo & con espacios en blanco (" & "), "Ricoh Sales&Service" permanece sin cambios.
Al utilizar punto y coma para separar varias subcadenas, debe colocar un espacio detrás del punto y coma únicamente si corresponde a la subcadena real que desea eliminar.
Un enfoque para hacer frente a los espacios en blanco es eliminar todos los espacios en blanco de un campo en primer lugar, mediante la especificación de un espacio en blanco como una subcadena de un solo carácter antes de especificar cualquier otra subcadena.
Revisión de los resultados que se obtienen con el uso de OMIT( )
Después de utilizar OMIT( ) para crear un campo calculado, revise el contenido del campo para confirmar que no ha omitido por error porciones significativas de cadenas. Por ejemplo, al omitirse "Co" se deshace de una abreviatura común para "Compañía", pero también elimina las letras "Co" de dos ubicaciones en "Coca-Cola".