Publié le :
Macro AUCUNE

Macro WHERE conditionnelle d'état

Ce code est également disponible en : Deutsch English Español
Ce script SAS© définit une macro `%where` qui accepte un seul argument, `state`. À l'intérieur de la macro, la fonction `%superq` est utilisée pour s'assurer que la valeur de `state` est traitée littéralement, même si elle contient des caractères spéciaux ou des macros non résolues. La macro utilise des structures conditionnelles `%if/%else` pour comparer la valeur de `state` à 'NC' (Caroline du Nord) ou '%str(OR)' (Oregon). Si l'état correspond à 'NC', 'Southeast' est affiché dans le log SAS©. Si l'état correspond à 'OR', 'Northwest' est affiché. Pour toute autre valeur, 'Unknown' est affiché. Le script se termine par un appel à la macro `%where` avec 'OR' comme argument.
Analyse des données

Type : AUCUNE


Le script ne manipule aucune donnée provenant de tables SAS (SASHELP, externes ou créées en interne via DATA STEP/CARDS). Il opère uniquement sur des valeurs littérales et des paramètres de macro, dont le résultat est écrit dans le log SAS.

1 Bloc de code
MACRO
Explication :
Ce bloc inclut la déclaration de la macro `%where` et son appel subséquent. La macro est conçue pour prendre un argument `state` et, via des comparaisons conditionnelles utilisant `%superq` pour la robustesse, elle affiche une région correspondante dans le log SAS. L'appel `%where(OR)` teste la fonctionnalité de la macro, ce qui devrait entraîner l'affichage de 'Northwest' dans le log.
Copié !
1*m203d04d;
2 
3%macro where(state);
4 %IF %superq(state)=NC %THEN %put Southeast;
5 %ELSE %IF %superq(state)=%str(OR) %THEN %put Northwest;
6 %ELSE %put Unknown;
7%mend where;
8 
9%where(OR)
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.