- Get link
- X
- Other Apps
DEBUGGING SAS MARCOS/DEBUGGING IN MACROS
THERE ARE SOME OPTIONS IN SAS FOR DEBUGGING:
1.MPRINT
2.MLOGIC
3.SYMBOLGEN
1.MPRINT: MPRINT TRANSLATE THE MACRO LANGUAGE TO REGULAR LANGUAGE
IT WILL DISPLAY ALL THE SAS STATEMENT OF RESOLVED MACRO CODE
OPTIONS MPRINT;
%MACRO RIYA(INPUT=,OUTPUT=);
PROC MEANS DATA=&INPUT;
VAR HEIGHT;
OUTPUT OUT=&OUTPUT MEAN=;
RUN;
%MEND;
%RIYA(INPUT=SASHELP.HEART,OUTPUT=RIYA);
IN LOG IF WE APPLY MPRINT IT WILL SHOW LIKE BELOW OUTPUT:
MPRINT(RIYA): PROC MEANS DATA=SASHELP.HEART;
MPRINT(RIYA): VAR HEIGHT
MPRINT(RIYA): OUTPUT OUT=RIYA MEAN=;
MPRINT(RIYA): RUN;
2.MLOGIC:IT WILL DISPLAY THE MACRO VARIABLES RESOLVED EACH TIME IN THE 'LOG' LIKE TRUE /FALSE
OPTIONS MLOGIC;
%MACRO RIYA(INPUT=,OUTPUT=);
PROC MEANS DATA=&INPUT;
VAR HEIGHT;
OUTPUT OUT=&OUTPUT MEAN=;
RUN;
%MEND;
%RIYA(INPUT=SASHELP.HEART,OUTPUT=RIYA);
IN LOG IF WE APPLY MLOGIC IT WILL SHOW LIKE BELOW OUTPUT:
MLOGIC:BEGINNING EXECUTION
MLOGIC:PARAMETER INPUT HAS VALUE SASHELP.HEART
MLOGIC:PARAMETER OUTPUT HAS VALUE RIYA
3.SYMBOLGEN;
IT WILL WRITE RESULTS OF RESOLVING MACRO VARIABLES REFERENCE
TO THE SAS LOG FOR DEBUGGING
OPTIONS SYMBOLGEN;
%MACRO RIYA(INPUT=,OUTPUT=);
PROC MEANS DATA=&INPUT;
VAR HEIGHT;
OUTPUT OUT=&OUTPUT MEAN=;
RUN;
%MEND;
%RIYA(INPUT=SASHELP.HEART,OUTPUT=RIYA);
IN LOG IF WE APPLY SYMBOLGEN IT WILL SHOW LIKE BELOW OUTPUT:
SYMBOLGEN: MACRO VAR INPUT RESOLVED TO SASHELP.HEART
SYMBOLGEN: MACRO VAR OUTPUT RESOLVED TO RIYA
DIFFERENCE BETWEEN MPRINT AND SYMBOLGEN:
MPRINT: PRINT "ALL THE STATEMENTS" WITHIN THE MACRO
SYMBOLGEN:IT WILL PRINT ONLY THE "RESULTS" OF THE MACRO VARIABLES
HOW TO TURN OFF THE DEBUGGING OPTIONS?
APPLY OPTIONS NOMPRINT NOMLOGIC NOSYMBOLGEN;
TO STORE/SAVING THE LOG TO EXTERNAL TEXT FILE
USE PROC PRINTTO STATEMENT...
PROC PRINTTO LOG="C:\Users\OneDrive\Desktop\LOG223.TXT";
RUN;
PROC SQL;
SELECT MEAN(AGE) INTO :RIYA
FROM SASHELP.CLASS;
QUIT;
%PUT &RIYA;
%INCLUDE:::: IF THE GENERATED MACRO STORES PRESENT IN THE OUTER SIDE OF THE SAS ENVIRONMENT AND
TO CALL THE CREATED MACRO USE THE %INCLUDE SAME LIKE LIBNAME
%INCLUDE "C:\Users\OneDrive\Desktop\MEANS MACRO'S.sas";
--PLEASE FOLLOW THE BLOG FOR MORE INFO....
--JOIN US IN FACEBOOK AND TELEGRAM CHANNEL FOR MORE UPDATES
CLICK HERE: https://t.me/SasAll4You
- Get link
- X
- Other Apps
Comments
Post a Comment