Hi,
when I use SELECT-WHEN in a PROC DS2 and list more than 1 value after a WHEN, SAS throws an error: "Parse encountered constant when expecting ')'.
Is this behavior (which differs from a DATA Step) intended?
Example: The following code works as long as no additional values are added after a WHEN as shown in the commented line (uncomment and the error will occur):
proc ds2;
data _null_;
method init();
dcl varchar(8) test;
test = 'b';
select( test );
when( 'b' ) put 'Beginning';
/*when( 'b', 'B' ) put 'Beginning';*/
when( 'm' ) put 'Middle';
when( 'e' ) put 'End';
end;
end;
enddata;
run;
quit;
Try this:
select( test );
when( 'b' )
when( 'B' ) put 'Beginning';
when( 'm' ) put 'Middle';
when( 'e' ) put 'End';
end;
April 27 – 30 | Gaylord Texan | Grapevine, Texas
Walk in ready to learn. Walk out ready to deliver. This is the data and AI conference you can't afford to miss.
Register now and lock in 2025 pricing—just $495!
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.