I am trying to combine the two update statements into one.
The fist clause:
proc sql; update dataset set var1 = case when var1 is missing and filter_var = 1 then "new value" else var1 end ;quit;
The second clause:
proc sql; update dataset set var2 = case when var2 is missing and filter_var = 1 then "new value" else var2 end ;quit;
My try at combining the two clauses into one:
proc sql; update dataset set var1 = case when var1 is missing and filter_var = 1 then "new value" else var1 end, set var2 = case when var2 is missing and filter_var = 1 then "new value" else var2 end ;quit;
However I get an error, expecting a ",".
Any ideas if this is possible?
Try
proc sql;
update dataset
set
var1 = case
when var1 is missing and filter_var = 1 then "new value"
else var1
end,
var2 = case
when var2 is missing and filter_var = 1 then "new value"
else var2
end
;
quit;
Either omit the second "set", or the comma immediately before it.
See the syntax description in http://support.sas.com/documentation/cdl/en/sqlproc/69822/HTML/default/viewer.htm#p0ci36zwxhm1xdn1a9...
I believe the syntax is
SET <list of changes>
Try removing the second SET.
Try
proc sql;
update dataset
set
var1 = case
when var1 is missing and filter_var = 1 then "new value"
else var1
end,
var2 = case
when var2 is missing and filter_var = 1 then "new value"
else var2
end
;
quit;
Either omit the second "set", or the comma immediately before it.
See the syntax description in http://support.sas.com/documentation/cdl/en/sqlproc/69822/HTML/default/viewer.htm#p0ci36zwxhm1xdn1a9...
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.