Dans la manipulation de données textuelles sous Base SAS©, deux opérations reviennent constamment : nettoyer les espaces inutiles et coller des morceaux de texte ensemble.
Une question simple posée sur le forum ("Quelle est la différence entre TRIM et CONCAT ?") a soulevé plusieurs points techniques importants sur la gestion des chaînes de caractères.
1. TRIM : Le Nettoyeur d'Espaces
Dans SAS©, une variable caractère a une longueur fixe. Si vous définissez une variable sur 10 caractères et que vous y stockez le mot "CHAT", SAS© comblera les 6 caractères restants avec des espaces vides (blancs). C'est ce qu'on appelle les trailing blanks.
La fonction TRIM sert à supprimer ces espaces finaux.
Exemple : Si
VAR1vaut'1234 '(avec des espaces).VAR2 = TRIM(VAR1);donnera'1234'.
Note technique : Comme le précise une réponse,
TRIMne touche pas aux espaces situés avant le texte (leading blanks). Pour supprimer les espaces avant et après, on utilisait historiquementTRIM(LEFT(valeur)). Aujourd'hui, la fonctionSTRIPfait cela en une seule étape.
2. La Concaténation : L'Assembleur
La concaténation est l'action de joindre deux chaînes bout à bout.
Ici, il y a une petite confusion dans le fil de discussion original. L'utilisateur demande une définition de la fonction "CONCAT".
En Base SAS© standard, il n'existait pas historiquement de fonction nommée simplement "CONCAT". L'opération se fait via l'opérateur
||(double barre verticale) ou!!.La réponse technique complexe donnée dans le forum (mentionnant des "matrices de caractères") fait référence au module SAS©/IML (langage matriciel), ce qui est hors sujet pour la plupart des utilisateurs classiques.
