info@sastechies.com
http://www.sastechies.com
Creating
◦ SAS Tables,
◦ Listings,
◦ Basic Statistics Procedures with SAS
◦ Graphs TLG’s
◦ and ODS HTML
◦ Proc Report
Data sharad.sasd
Data &name.sasd - Left – right Forward
sharadsasd Scanning
Where sharad is a libname rule
Data &name..sasd - && - &
sharad.sasd
%SCAN
%scan(&c,1,*);
%SYSFUNC
%sysfunc(today(),weekdate.)
%INDEX
%LENGTH
proc sql;
Global Symbol Table
create view subcrsid as
TEACH1 Hallis, Dr. George
select
TEACH2 Wickam, Dr. Alice student_name,student_company,
TEACH3 Forest, Mr. Peter
paid
CRS 3
From sasuser.all
where
course_code=symget('crsid');
quit;
teacher=symget('teach'||left(course_number));
Does macvar already exist in the local Update macvar in the local
symbol table? symbol table with the value
value.
No
Yes
Does macvar already exist in the global Update macvar in the global
symbol table? symbol table with the value
value.
No
No
Yes
Does macvar exist in the global symbol table? Retrieve the value of
macvar from the global
symbol table.
No
%putloop
You can call a macro within a macro definition. That is, you can
nest macros.
You cannot nest functions within %SYSFUNC, but you can use a
%SYSFUNC for each function that you need, as shown in this
eg: title "Report Produced on %sysfunc(left(%sysfunc
put(today(),worddate.)))";