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...
Good news: We've extended SAS Hackathon registration until Sept. 12, so you still have time to be part of our biggest event yet – our five-year anniversary!
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.