Fonction OMIT( )
Renvoie une chaîne dont une ou plusieurs sous-chaînes spécifiques ont été supprimées.
Syntaxe
OMIT(chaîne_de_caractères1; chaîne_de_caractères2 <;sensible_casse>)
Paramètres
Nom | Type | Description |
---|---|---|
chaîne_de_caractères1 | caractère | Le champ, l'expression ou la valeur littérale dont une ou plusieurs sous-chaînes doivent être supprimées. |
chaîne_de_caractères2 | caractère |
Une ou plusieurs sous-chaînes à supprimer.
|
sensible_casse
optionnel |
logique |
Indiquez T pour que les sous-chaînes soient sensibles à la casse ou F pour ignorer la casse. Si sensible_casse est ignoré, la valeur par défaut T est utilisée. |
Sortie
Caractère.
Exemples
Exemples basiques
Valeur d'entrée littérale de type caractère
Renvoie "Intercity Couriers" :
OMIT("Intercity Couriers Corporation"; " Corporation, Corp.")
Renvoie "Inter-city Couriers" :
OMIT("Inter-city Couriers Corp."; " Corporation, Corp.")
Remarque
La distance Levenshtein entre les valeurs renvoyées dans les deux premiers exemples est 1. Si les éléments génériques ne sont pas supprimés, la distance entre les deux exemples est 8, ce qui pourrait permettre aux valeurs d'échapper à une détection comme doublons approximatifs.
Entrée de champ
Renvoie toutes les valeurs du champ Nom_Fournisseur comportant des éléments génériques comme "Corporation" et "Inc." supprimé :
OMIT(Nom_Fournisseur;" Corporation, Corp., Corp, Inc., Inc, Ltd., Ltd")
Renvoie toutes les valeurs du champ Nom_Fournisseur comportant des éléments génériques comme "Corporation" et "Inc." supprimé :
OMIT(Nom_Fournisseur;" ,.,Corporation,Corp,Inc,Ltd")
Remarque
Les deux exemples précédents renvoient les mêmes résultats, mais la syntaxe utilisée pour le deuxième est plus efficace.
Renvoie toutes les valeurs dans le champ Nom_Fournisseur sans "Corporation", "Corp" ni virgule :
OMIT(Nom_Fournisseur;" Corporation, Corp,")
Remarques
OMIT( ) peut supprimer des sous-chaînes comme des unités
La fonction OMIT( ) supprime une ou plusieurs sous-chaînes d'une chaîne. Elle n'est pas équivalente aux fonctions CLEAN( ), EXCLUDE( ), INCLUDE( ) et REMOVE( ) en cela que les caractères sont supprimés en fonction des sous-chaînes et non selon un modèle caractère par caractère. La suppression des sous-chaînes vous permet de supprimer des mots spécifiques, des abréviations, ou des séquences de caractères répétées dans une chaîne sans affecter le reste de celle-ci.
Une fonction d'aide pour les comparaisons approximatives
OMIT( ) peut améliorer l'efficacité des fonctions LEVDIST( ) et ISFUZZYDUP( ), ou des commandes FUZZYDUP ou FUZZYJOIN, en supprimant des éléments génériques tels que « Corporation » ou « Inc. » des valeurs de champ. La suppression des éléments génériques permet d'axer les comparaisons effectuées par ces fonctions et commandes sur la portion des chaînes qui peut inclure une différence significative.
Comment l'ordre des sous-chaînes affecte les résultats
Si vous indiquez plusieurs sous-chaînes pour la suppression, l'ordre dans lequel vous les répertoriez dans chaîne_de_caractères2 peut affecter les résultats de sortie.
Lorsque vous utilisez la fonction OMIT( ), la première sous-chaîne est supprimée de toutes les valeurs qui la contiennent. La deuxième est ensuite supprimée de la même manière, et ainsi de suite. Si une sous-chaîne fait partie d'une autre sous-chaîne – par exemple, « Corp » et « Corporation » – supprimer la plus courte entraîne des modifications dans l'autre sous-chaîne (« Corporation » devient « oration ») et empêche la plus longue d'être trouvée.
Pour éviter cela, indiquez les sous-chaînes longues avant les sous-chaînes plus courtes qu'elles peuvent contenir. Par exemple :
OMIT(Nom_Fournisseur;" Corporation, Corp., Corp")
D'abord tenter de supprimer les caractères spéciaux
Vous pouvez indiquer des sous-chaînes à caractère unique, comme les signes de ponctuation, les caractères spéciaux et les espaces, ce qui permet de réduire les données génériques contenues dans les chaînes. Il peut s'avérer plus efficace de supprimer un caractère unique en premier lieu (un point ou un espace, par exemple), ce qui réduit le nombre de variations de sous-chaînes que vous devrez ensuite indiquer. Comparez les exemples numéro 3 et 4 ci-dessus. Ils renvoient tous deux les mêmes résultats, cependant, le quatrième exemple se révèle être plus efficace.
Traitement des espaces
Les espaces dans les sous-chaînes sont traitées comme n'importe quel autre caractère. Vous devez préciser explicitement chacune des espaces que vous souhaitez supprimer dans une sous-chaîne. Par exemple, si vous indiquez une esperluette sans espace ("&"), "Ricoh Sales & Service" devient "Ricoh Sales Service". Si vous incluez les espaces (" & "), "Ricoh Sales & Service" devient "Ricoh SalesService".
Si vous indiquez une espace vide ne faisant pas partie de la sous-chaîne, cette dernière ne sera pas détectée. Par exemple, si vous indiquez une esperluette avec des espaces vides (" & "), "Ricoh Sales&Service" reste inchangé.
Lorsque vous utilisez des virgules pour séparer plusieurs sous-chaînes, faites suivre la virgule d'une espace uniquement si elle correspond à la sous-chaîne réelle que vous souhaitez supprimer.
Une approche permettant de gérer les espaces consiste à supprimer tous les espaces d'un champ, en indiquant un espace comme une sous-chaîne à caractère unique avant de préciser tout autre sous-chaîne.
Examen des résultats suite à l'utilisation de la fonction OMIT( )
Après avoir utilisé la fonction OMIT( ) pour créer un champ calculé, passez le contenu du champ en revue et vérifiez que vous n'avez pas involontairement ignoré des portions de chaînes significatives. Par exemple, ignorer "Co" supprime une abréviation commune pour le mot "Company", mais cela résulte également en la suppression des lettres "Co" dans "Coca-Cola".