Publié le :
Macro CREATION_INTERNE

Extraction de valeurs distinctes vers une macro-variable

En attente de validation
Le script débute par la création d'un jeu de données nommé 'test' en utilisant un DATA STEP et des données inline ('cards;'). Ce jeu de données contient deux variables : 'idx' (numérique) et 'A' (caractère). Ensuite, une PROC SQL est utilisée pour sélectionner toutes les valeurs distinctes de la variable 'A' du jeu de données 'test'. Ces valeurs sont concaténées et stockées dans une macro-variable nommée 'AM', avec des espaces comme séparateur. Enfin, la valeur de la macro-variable 'AM' est affichée dans le log SAS© à l'aide de l'instruction '%put'.
Analyse des données

Type : CREATION_INTERNE


Les données sont créées directement dans le script SAS via l'instruction 'cards;' au sein d'un DATA STEP.

1 Bloc de code
DATA STEP Data
Explication :
Ce bloc DATA STEP crée un jeu de données temporaire nommé 'test'. Il définit deux variables, 'idx' (numérique) et 'A' (caractère), et peuple le jeu de données avec les sept observations fournies via l'instruction 'cards;'.
Copié !
1DATA test;
2 INPUT idx A $;
3 CARDS;
41 A
52 B
63 N
74 Q
85 K
96 K
107 K
11;
12RUN;
2 Bloc de code
PROC SQL
Explication :
Ce bloc utilise PROC SQL pour interroger le jeu de données 'test'. L'option 'noprint' supprime l'affichage des résultats de la requête. La clause 'select distinct(A) into : AM separated by " "' sélectionne les valeurs uniques de la variable 'A' et les stocke dans une macro-variable nommée 'AM', en les séparant par des espaces. Les valeurs résultantes seront 'A B N Q K'.
Copié !
1PROC SQL noprint;
2 select distinct(A) into : AM separated BY " "
3 from test;
4RUN;
3 Bloc de code
Macro
Explication :
Ce bloc affiche le contenu de la macro-variable 'AM' dans le log SAS. L'instruction 'quit;' termine la PROC SQL précédente et toute autre procédure ouverte.
Copié !
1%put &am;
2QUIT;
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.