Publié le :
Macro CREATION_INTERNE

Utilisation de la fonction macro %SYSEVALF

Ce code est également disponible en : Deutsch English Español
En attente de validation
L'objectif principal de ce script est de présenter la fonction macro %SYSEVALF de SAS©. Il initialise deux variables macro, `&a` (entier) et `&b` (nombre décimal), puis utilise %SYSEVALF pour effectuer une addition entre ces deux valeurs. Le script met en évidence la capacité de %SYSEVALF à gérer les calculs en virgule flottante, ce que %EVAL ne peut pas faire sans générer d'erreur. De plus, il explore les options de conversion de %SYSEVALF : BOOLEAN, CEIL, FLOOR et INTEGER, montrant comment le résultat peut être adapté à différents besoins.
Analyse des données

Type : CREATION_INTERNE


Les données utilisées (valeurs des variables macro `a` et `b`) sont créées et définies directement à l'intérieur du script SAS.

1 Bloc de code
GLOBAL STATEMENT / MACRO STATEMENT Data
Explication :
Active l'option SYMBOLGEN pour afficher la résolution des variables macro dans le log. Définit ensuite deux variables macro, `&a` comme un entier et `&b` comme un nombre à virgule flottante, qui seront utilisées dans les calculs suivants.
Copié !
1OPTIONS SYMBOLGEN;
2 
3%let a = 100;
4%let b = 1.59;
2 Bloc de code
MACRO FUNCTION
Explication :
Calcule la somme des variables macro `&a` et `&b` en utilisant `%SYSEVALF`, ce qui permet de gérer les nombres à virgule flottante sans erreur. Le résultat est stocké dans la variable macro `&y`. Ensuite, plusieurs instructions `%PUT` affichent le résultat de base et les résultats des conversions spécifiques de `%SYSEVALF` (BOOLEAN, CEIL, FLOOR, INTEGER), démontrant comment la fonction peut modifier le format et la valeur du résultat.
Copié !
1%let y = %sysevalf(&a+&b);
2 
3%put The RESULT with SYSEVALF is: &y;
4%put BOOLEAN conversion: %sysevalf(&a +&b, boolean);
5%put CEIL conversion: %sysevalf(&a +&b, ceil);
6%put FLOOR conversion: %sysevalf(&a +&b, floor);
7%put INTEGER conversion: %sysevalf(&a +&b, integer);
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 : Source éducative: Lesson 2.4: Using the %SYSEVAL Function, Lesson 2 - Using Macro Functions, SAS Macro Language 1: Essentials.