Here's a SAS BASE certification exam sample question:
The following SAS program is submitted:
data work.flights;
destination = 'CPH';
select(destination);
when('LHR') city = 'London';
when('CPH') city ='Copenhagen';
otherwise;
end;
run;
Which of the following is the value of the CITY variable?
A. London
B. Copenh
C. Copenhagen
D. ' ' (missing char value)
why is the answer B not C? also, within the Select statement, what is the function of 'otherwise'?
Thank you!
nvm... it's because variable CITY took the length of the first instance of the variable, which is 'London'
nvm... it's because variable CITY took the length of the first instance of the variable, which is 'London'
The length of new variable "city" was set by "London". using "otherwise" because destination may have values other than "LHR" and "CPH".
try adding a length statement:
data work.flights;
length city $ 10;
destination = 'CPH';
select(destination);
when('LHR') city = 'London';
when('CPH') city ='Copenhagen';
otherwise;
end;
run;
Otherwise is where it branches when none of the other conditions are met. In this case it does nothing. You can cause run-time errors if you forget to include the otherwise category and your actual data fails to match one of the other conditions. Example:
ERROR: Unsatisfied WHEN clause and no OTHERWISE clause at line 110 column 3.
Join us for SAS Innovate April 16-19 at the Aria in Las Vegas. Bring the team and save big with our group pricing for a limited time only.
Pre-conference courses and tutorials are filling up fast and are always a sellout. Register today to reserve your seat.
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.