1.  What SAS statements would you code to read an external raw data file to a DATA step?
2.  How do you read in the variables that you need?
3.  Are you familiar with special input delimiters? How are they used?
4.  If reading a variable length file with fixed input, how would you prevent SAS from reading the next record if the last variable didn’t have a value?
5.  What is the difference between an informat and a format? Name three informats or formats.
6.  Name and describe three SAS functions that you have used, if any?
7. How would you code the criteria to restrict the output to be produced?
8.  What is the purpose of the trailing @? The @@? How would you use them?
9.  Under what circumstances would you code a SELECT construct instead of IF statements?
10.   What statement do you code to tell SAS that it is to write to an external file? What statement do you code to write the record to the file?
11.   If reading an external file to produce an external file, what is the shortcut to write that record without coding every single variable on the record?
12.   If you’re not wanting any SAS output from a data step, how would you code the data statement to prevent SAS from producing a set?
13.   What is the one statement to set the criteria of data that can be coded in any step?
14.   Have you ever linked SAS code? If so, describe the link and any required statements used to either process the code or the step itself.
15.   How would you include common or reuse code to be processed along with your statements?
16.   When looking for data contained in a character string of 150 bytes, which function is the best to locate that data: scan, index, or indexc?
17.   If you have a data set that contains 100 variables, but you need only five of those, what is the code to force SAS to use only those variable?
18.   Code a PROC SORT on a data set containing State, District and County as the primary variables, along with several numeric variables.
19.   How would you delete duplicate observations?
20.   How would you delete observations with duplicate keys?
21.   How would you code a merge that will keep only the observations that have matches from both sets.
22.   How would you code a merge that will write the matches of both to one data set, the non-matches from the left-most data set to a second data set, and the non-matches of the right-most data set to a third data set.
23.   What is the Program Data Vector (PDV)? What are its functions?
24.   Does SAS ‘Translate’ (compile) or does it ‘Interpret’? Explain.
25.   At compile time when a SAS data set is read, what items are created?
26.   Name statements that are recognized at compile time only?
27.   Identify statements whose placement in the DATA step is critical.
28.   Name statements that function at both compile and execution time.
29.   Name statements that are execution only.
30.   In the flow of DATA step processing, what is the first action in a typical DATA Step?
31. What is _n_?