Hi guys, I need to delete a temporary variable. Created by using select distinct variable name into: variable1.
How can I delete this variable1 from work lib .
This is not a temporary variable (these can exist in data steps), but a macro variable (select into in SQL creates macro variables).
Use the %symdel statement to remove unwanted macro variables.
variable1 is a macro variable.. Google search for "delete macro variable" will give you plenty of answers
@shivagujjaru wrote:
Adding a point Symdel delete global macro variable . But I have created local macro variable. Thanks alot guys
Why would you need to delete a local macro variable? It will disappear when the macro finishes.
@shivagujjaru wrote:
I have applied some loop inside the macro . It's like when file is not exits it's still using the local macro variable while checking a condition. Thanks , now it's working
When you use INTO in PROC SQL and the query returns no observations then the macro variable is not created (or modified).
Set the macro variable to a value BEFORE the query.
%let list=;
select x into :list separated by ' ' from have where condition;
You can also use the automatic macro variable SQLOBS to see how many observations where selected.
%let n=&sqlobs;
%do i=1 %to &n;
%let next=%scan(&list,&i,%str( ));
....
Are you ready for the spotlight? We're accepting content ideas for SAS Innovate 2025 to be held May 6-9 in Orlando, FL. The call is open until September 25. Read more here about why you should contribute and what is in it for you!
Learn how use the CAT functions in SAS to join values from multiple variables into a single value.
Find more tutorials on the SAS Users YouTube channel.