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...
It's finally time to hack! Remember to visit the SAS Hacker's Hub regularly for news and updates.
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.
Ready to level-up your skills? Choose your own adventure.