zapatos software military check airlines airline sas

software - sas wikipedia



¿Cómo funciona la función symexist? (2)

Supongo que Symexist se usa para verificar variables macro (locales). Hice una prueba pero la salida está fuera de mis expectativas. El código es:

%macro test(t1,t2); %if %symexist(t1) %then %put &t1. is exist; %if %symexist(t2) %then %put &t2. is exist; %mend; %test(test1,);

El resultado es:

test1 is exist is exist

Mirando el mlogic:% IF condición% symexist (t2) es TRUE. No hay una variable macro para t2. ¿Cómo es VERDADERO? ¿Alguien viene a explicar cómo funciona el symexist? Tuve una búsqueda pero no encontré.

Gracias, Andrea


Debe usar & t1 not t1 porque desea probar la existencia de test1, no la existencia de t1.

Sin embargo, seguirá produciendo un error, porque la variable macro t2 no existe.

%let test1 = Yes; %macro test(t1, t2); %if %symexist(&t1) %then %put &t1. is exist; %if %symexist(&t2) %then %put &t2. is exist; %else %put &t2. does not exist; %mend; %test(test1, test2);

El resultado será:

test1 es existir

test2 no existe


Hay variables macro llamadas T1 y T2 porque las definiste convirtiéndolas en parámetros de tu macro. Todos los parámetros de macro son variables de macro locales para la macro.