La macro traite une liste de chaînes de caractères fournie comme argument d'entrée, elle ne lit pas de données depuis des fichiers externes ou des bibliothèques SAS.
1 Bloc de code
MACRO
Explication : Ce bloc de code définit la macro `%nodup`. Elle accepte deux paramètres : `list` (la chaîne d'entrée contenant les éléments séparés par des espaces) et `casesens` (un drapeau 'Y'/'N' pour activer/désactiver la sensibilité à la casse, par défaut 'N'). La macro convertit d'abord `casesens` en majuscule et prend la première lettre. Elle détermine le nombre d'éléments dans la liste (`NumItems`). Une boucle externe itère sur chaque élément (`item`) de la liste. Pour chaque `item`, une boucle interne compare cet `item` aux éléments suivants de la liste. La comparaison est effectuée en tenant compte de la sensibilité à la casse (si `casesens` est 'Y', la comparaison est directe ; sinon, elle est faite après conversion en majuscules). Si un élément n'a pas de doublon après la position actuelle, il est affiché en sortie de macro. Les variables `i`, `j`, `match`, `item`, et `NumItems` sont déclarées comme locales pour éviter les interférences avec d'autres macros ou variables globales.
%IF"&item." = "%scan(&list.,&j.,%str( ))" %THEN %let match = Y ;
33
%END;
34
%ELSE %DO;
35
%IF"%upcase(&item.)" = "%upcase(%scan(&list.,&j.,%str( )))" %THEN %let match = Y ;
36
%END;
37
%END;
38
39
%IF (&match. = N) %THEN &item. ;
40
%END;
41
42
%mend ;
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.
SAS et tous les autres noms de produits ou de services de SAS Institute Inc. sont des marques déposées ou des marques de commerce de SAS Institute Inc. aux États-Unis et dans d'autres pays. ® indique un enregistrement aux États-Unis. WeAreCAS est un site communautaire indépendant et n'est pas affilié à SAS Institute Inc.
Ce site utilise des cookies techniques et analytiques pour améliorer votre expérience.
En savoir plus.