Publié le :
Macro CREATION_INTERNE

Macro SAS de suppression de virgules

Ce code est également disponible en : Deutsch English Español
Cette macro SAS©, nommée `nocommas`, est conçue pour traduire toutes les virgules présentes dans une chaîne de caractères fournie en entrée par des espaces. Elle utilise la fonction `translate` pour effectuer le remplacement et `qsubstr` pour gérer la syntaxe d'appel du paramètre positionnel. L'objectif est de nettoyer une chaîne avant son utilisation par une autre macro ou fonction, sans effectuer de 'nettoyage' supplémentaire (comme la suppression d'espaces multiples ou la compression d'espaces consécutifs). Elle doit être utilisée avec un paramètre positionnel unique.
Analyse des données

Type : CREATION_INTERNE


La macro opère sur une chaîne de caractères fournie comme paramètre positionnel lors de son appel. Aucune donnée externe ou interne (SASHELP) n'est lue par la macro elle-même. Les données sont traitées directement à partir des arguments d'appel de la macro.

1 Bloc de code
MACRO nocommas
Explication :
Ce bloc définit la macro `%nocommas`. L'option `PARMBUFF` permet à la macro d'accéder à la chaîne de caractères complète passée en paramètre, y compris les parenthèses. La fonction `%SYSFUNC(TRANSLATE(&SYSPBUFF, %STR( ), %STR(,)))` est utilisée pour remplacer toutes les occurrences du caractère virgule (`,`) par un espace (` `) dans la chaîne `&SYSPBUFF`. Ensuite, `%QSUBSTR(..., 2, %LENGTH(&SYSPBUFF)-2)` extrait une sous-chaîne du résultat, en supprimant le premier et le dernier caractère (correspondant généralement au `%` de l'appel de macro et au `;` de fin, ou aux parenthèses englobant le paramètre) pour obtenir uniquement la chaîne traitée.
Copié !
1%put MACRO CALLED: nocommas v1.0;
2 
3%macro nocommas/parmbuff;
4%qsubstr(%sysfunc(translate(&syspbuff,%str( ),%str(,))),2,%LENGTH(&syspbuff)-2)
5%mend nocommas;
Ce matériel est fourni "tel quel" par We Are Cas. Il n'y a aucune garantie, expresse ou implicite, quant à la qualité marchande ou à l'adéquation à un usage particulier concernant le matériel ou le code contenu dans les présentes. We Are Cas n'est pas responsable des erreurs dans ce matériel tel qu'il existe maintenant ou existera, et We Are Cas ne fournit pas de support technique pour celui-ci.
Informations de Copyright : This is public domain software. No guarantee as to suitability or accuracy is given or implied. User uses this code entirely at their own risk.