C’est bientôt Noël et parce que la #SynalTeam aime vous faire des cadeaux, découvrez une sélection de recettes Trifacta de notre Data Preparation addict, Malick Konate !
Ho ! Ho ! Ho ! A tous data préparateurs !
Il parait que vous avez été bien sages cette année. Vos responsables IT m’ont dit que vous n’avez eu de cesse d’optimiser la qualité des données de vos projets. Vos bases de données n’ont jamais été aussi propres. Vos adresses postales ont été correctement redressées. Cette année vous n’avez cassé aucune base ! Vous avez laissé tomber la brutalité de l’UPDATE pour faire place à la délicatesse de l’INSERT. Vous avez correctement documenté vos projets avec de sublimes dictionnaires de données.
Vos clients ont voulu vous serrer dans leurs bras lors de chacune de vos propositions commerciales. Vous êtes devenus l’incarnation du génie. Vous et votre entourage êtes tellement fiers de vos codes que vous consacrez une partie de votre temps libre à en organiser des lectures communes.
Alors pour vous récompenser, le Père Noël de la #SynalTeam a décidé de vous offrir un petit joujou de Noël fraîchement sorti de ses usines. Admirez la Trifacta « Gatling Gun » !
Mais qu’est-ce que cette curieuse chose ?
Il s’agit d’une sélection de petites transformations qui vous faciliteront la vie lors de vos tâches de data preparation sur le Trifacta Wrangler. Choisissez votre munition (comprendre la fonction), chargez la « Gatling Gun » (copiez-collez dans l’éditeur de transformation), tirez (↲)… Faites disparaître d’une seule détente, d’UNE SEULE, toutes les données qui vous font tant de peine en salissant vos bases de données !
Exemple avec Synaltic Group : « 24 rue de l’Eglise » ? « 24 rue de l’Église » ? Ces deux orthographes quelque peu différentes désignent pourtant la même adresse. Ces cas sont les plus couramment rencontrés mais vous savez bien mieux que moi encore que, dans le monde de la data, surtout lorsque l’on est amené à traiter des données saisies manuellement, toutes les syntaxes sont possibles…. Toutes ! Oui, vous savez combien il est frustrant de tomber sur des syntaxes telles que « 24 rue de l’Ëglise », « 24 rue de l’Êglise », « 24 rue de l’Èglise ».
Vous savez combien mon exagération est faible ! Imaginez que vous croquez à pleines dents dans une délicieuse cuillère de pâte à tartiner aux noisettes (dont je tairais le nom) sans savoir que s’y sont dissimulées des coquilles d’œufs qui ravageront votre mâchoire – phénomène totalement improbable dans la vie, mais pas dans la data ! (Attendez…Il me semble en cet instant légitime de me poser une question d’ordre métaphysique : « La data surpasserait-elle la vie ? »)
Vous savez tout cela car vous l’avez ressenti en insérant des caractères problématiques dans une base, des caractères qui vous ont empêché de faire vos requêtes SQL comme vous l’entendiez.
Plus sérieusement, voici des fonctions qui vous permettront d’éliminer tous les calamiteux caractères qui se présenteront à vous dans vos jeux de données et d’obtenir un velouteux et voluptueux dataset.
Homogénéisation des occurrences
Voici les transformations qui vous permettront d’homogénéiser toutes les occurrences des variantes des lettres de votre dataset :
- « E » et « e » :
replace col: * with: 'E' on: `{[ÊËÉÈ]}` global: true
replace col: * with: 'e' on: `{[éèêë]}` global: true
- « A » et « a » :
replace col: * with: 'A' on: `{[ÂÄÀÁ]}` global: true
replace col: * with: 'a' on: `{[àááâäă]}` global: true
- « O » et « o » :
replace col: * with: 'O' on: `{[ÔÖÓŌŌØ]}` global: true
replace col: * with: 'o' on: `{[ôöóóōōø]}` global: true
- « I » et « i » :
replace col: * with: 'I' on: `{[ÎÏÍ]}` global: true
replace col: * with: 'i' on: `{[îïí]}` global: true
- « U » et « u » :
replace col: * with: 'U' on: `{[ÛÜÙÚ]}` global: true
replace col: * with: 'u' on: `{[ûüùú]}` global: true
- « Y » et « y » :
replace col: * with: 'Y' on: `{[ÝŸ]}` global: true
replace col: * with: 'y' on: `{[ýÿ]}` global: true
- « C » et « c » :
replacecol: * with: 'C' on: `Ç` global: true
replacecol: * with: 'c' on: `ç` global: true
- « N » et « n » :
replacecol: * with: 'N' on: `Ñ` global: true
replacecol: * with: 'n' on: `ñ` global: true
- « S » et « s » :
replace col: * with: 'S' on: `{[Š]}` global: true
replace col: * with: 's' on: `{[š]}` global: true
- « Z » et « z » :
replace col: * with: 'Z' on: `{[Ž]}` global: true
replace col: * with: 'z' on: `{[ž]}` global: true
« E dans l’a, E dans l’o, tant de désarroi, pour si peu de mots »
Remplaçons-les :
replace col: * with: 'AE' on: `Æ` global: true
replace col: * with: 'ae' on: `æ` global: true
replace col: * with: 'OE' on: `Œ` global: true
replace col: * with: 'oe' on: `œ` global: true
Espaces superflus
– Et tous ces espaces superflus en début et en fin de chaînes de caractère, est-ce que la gatling gun peut les supprimer ?
– Oui Madame, Monsieur : il suffit d’agir comme ci-après !
replace col: * with: '' on: `{start}{delim}+` global: true
replace col: * with: '' on: `{delim}+{end}` global: true
Caractères libertins
Et pendant que nous y sommes, pourquoi ne pas non plus supprimer tous les nombreux caractères libertins qui prennent tant de plaisir à corrompre nos belles chaînes de caractères ?
replace col: * with: '' on: `�` global: true
replace col: * with: '' on: `•` global: true
replace col: * with: '' on: `©` global: true
replace col: * with: '' on: `†` global: true
replace col: * with: '' on: `®` global: true
replace col: * with: '' on: `¤` global: true
Aucun être humain et aucun animal n’ont été blessés au cours des tests faits sur notre arme de datadestruction massive.
Nous rappelons que l’acquisition d’une arme implique de grandes responsabilités : les vies de pétaoctets de caractères entrent en jeu avec le TGG, tachez de savoir lesquels sont vraiment gangréneux avant d’y recourir car, encore une fois (oui , je vous flatte aujourd’hui dîtes donc), vous ne le savez que trop bien : les caractères peuvent avoir une vengeance d’outre-tombe (d’où leur nom) !
Malick Konate
Image illustration : Designed by Freepik
Sections commentaires non disponible.