admin 管理员组文章数量: 1086019
2024年3月10日发(作者:直线异步电动机)
SAS Certificate Base Practice Questions and Detailed Answers
Chapter 1: Basic Concepts
Chapter 2: Referencing Files and Setting Options
Chapter 3: Editing and Debugging SAS Programs
Chapter 4: Creating List Reports
Chapter 5: Creating SAS Data Sets from Raw Data
Chapter 6: Understanding DATA Step Processing
Chapter 7: Creating and Applying User-Defined Formats
Chapter 8: Creating Enhanced List and Summary Reports
Chapter 9: Producing Descriptive Statistics
Chapter 10: Producing HTML Output
Chapter 11: Creating and Managing Variables
Chapter 12: Reading SAS Data Sets
Chapter 13: Combining SAS Data Sets
Chapter 14: Transforming Data with SAS Functions
Chapter 15: Generating Data with DO Loops
Chapter 16: Processing Variables with Arrays
Chapter 17: Reading Raw Data in Fixed Fields
Chapter 18: Reading Free-Format Data
Chapter 19: Reading Date and Time Values
Chapter 20: Creating a Single Observation from Multiple Records
Chapter 21: Creating Multiple Observations from a Single Record
Chapter 22: Reading Hierarchical Files
Chapter 1: Basic Concepts Answer Key
1.
How many observations and variables does the data set below contain?
1
Correct
answer:
2.
Correct
answer:
a. 3 observations, 4 variables
b. 3 observations, 3 variables
c. 4 observations, 3 variables
d. can't tell because some values are missing
c
Rows in the data set are called observations, and columns are called variables. Missing values
don't affect the structure of the data set.
How many program steps are executed when the program below is processed?
data ;
infile jobs;
input date name $ job $;
run;
proc sort data=;
by name;
run;
proc print data=;
run;
a. three
b. four
c. five
d. six
a
When it encounters a DATA, PROC, or RUN statement, SAS stops reading statements and
executes the previous step in the program. The program above contains one DATA step and
two PROC steps, for a total of three program steps.
3.
What type of variable is the variable AcctNum in the data set below?
2
Correct
answer:
4.
Correct
answer:
a. numeric
b. character
c. can be either character or numeric
d. can't tell from the data shown
b
It must be a character variable, because the values contain letters and underscores, which are
not valid characters for numeric values.
What type of variable is the variable Wear in the data set below?
a. numeric
b. character
c. can be either character or numeric
d. can't tell from the data shown
a
It must be a numeric variable, because the missing value is indicated by a period rather than
by a blank.
5.
Which of the following variable names is valid?
3
Correct
answer:
6.
Correct
answer:
7.
Correct
answer:
a. 4BirthDate
b. $Cost
c. _Items_
d. Tax-Rate
c
Variable names follow the same rules as SAS data set names. They can be 1 to 32 characters
long, must begin with a letter (A–Z, either uppercase or lowercase) or an underscore, and can
continue with any combination of numbers, letters, or underscores.
Which of the following files is a permanent SAS file?
a. e
b. s
c. r1
d. all of the above
d
To store a file permanently in a SAS data library, you assign it a libref other than the default
Work. For example, by assigning the libref Profits to a SAS data library, you specify that files
within the library are to be stored until you delete them. Therefore, SAS files in the Sashelp
and Sasuser libraries are permanent files.
In a DATA step, how can you reference a temporary SAS data set named Forecast?
a. Forecast
b. st
c. st (after assigning the libref Sales)
d. only a and b above
d
To reference a temporary SAS file in a DATA step or PROC step, you can specify the one-
4
level name of the file (for example, Forecast) or the two-level name using the libref Work (for
example, st).
8.
What is the default length for the numeric variable Balance?
Correct
answer:
9.
Correct
answer:
a. 5
b. 6
c. 7
d. 8
d
The numeric variable Balance has a default length of 8. Numeric values (no matter how
many digits they contain) are stored in 8 bytes of storage unless you specify a different length.
How many statements does the following SAS program contain?
proc print data=le
label double;
var state day price1 price2; where state='NC';
label state='Name of State';
run;
a. three
b. four
c. five
d. six
c
The five statements are
•
PROC PRINT statement (two lines long)
•
•
•
•
5
VAR statement
WHERE statement (on the same line as the VAR statement)
LABEL statement
RUN statement (on the same line as the LABEL statement).
10.
What is a SAS data library?
a. a collection of SAS files, such as SAS data sets and catalogs
b. in some operating environments, a physical collection of SAS files
c. in some operating environments, a logically related collection of SAS files
d. all of the above
Correct
d
answer:
Every SAS file is stored in a SAS data library, which is a collection of SAS files, such as
SAS data sets and catalogs. In some operating environments, a SAS data library is a physical
collection of files. In others, the files are only logically related. In the Windows and UNIX
environments, a SAS data library is typically a group of SAS files in the same folder or
directory.
Chapter 2: Referencing Files and Setting Options
1.
If you submit the following program, how does the output look?
options pagesize=55 nonumber;
proc tabulate data=;
class actlevel;
var age height weight;
table actlevel,(age height weight)*mean;
6
run;
options linesize=80;
proc means data= min max maxdec=1;
var arterial heart cardiac urinary;
class survive sex;
run;
a. The PROC MEANS output has a print line width of 80 characters, but the PROC
TABULATE output has no print line width.
b. The PROC TABULATE output has no page numbers, but the PROC MEANS output
has page numbers.
c. Each page of output from both PROC steps is 55 lines long and has no page numbers,
and the PROC MEANS output has a print line width of 80 characters.
d. The date does not appear on output from either PROC step.
Correct:
c
answer:
When you specify a system option, it remains in effect until you change the option or end
your SAS session, so both PROC steps generate output that is printed 55 lines per page with
no page numbers. If you don't specify a system option, SAS uses the default value for that
system option.
2.
In order for the date values 05May1955 and 04Mar2046 to be read correctly, what value must
the YEARCUTOFF= option have?
a. a value between 1947 and 1954, inclusive
b. 1955 or higher
c. 1946 or higher
d. any value
Correct
d
answer:
As long as you specify an informat with the correct field width for reading the entire date
value, the YEARCUTOFF= option doesn't affect date values that have four-digit years.
3.
When you specify an engine for a library, you are always specifying
a. the file format for files that are stored in the library.
b. the version of SAS that you are using.
c. access to other software vendors' files.
d. instructions for creating temporary SAS files.
Correct
a
answer:
7
4.
Correct
answer:
5.
A SAS engine is a set of internal instructions that SAS uses for writing to and reading from
files in a SAS library. Each engine specifies the file format for files that are stored in the
library, which in turn enables SAS to access files with a particular format. Some engines
access SAS files, and other engines support access to other vendors' files.
Which statement prints a summary of all the files stored in the library named Area51?
a. proc contents data=area51._all_ nods;
b. proc contents data=area51 _all_ nods;
c. proc contents data=area51 _all_ noobs;
d. proc contents data=area51 _all_.nods;
a
To print a summary of library contents with the CONTENTS procedure, use a period to
append the _ALL_ option to the libref. Adding the NODS option suppresses detailed
information about the files.
The following PROC PRINT output was created immediately after PROC TABULATE
output. Which SAS system options were specified when the report was created?
Correct
answer:
6.
8
a. OBS=, DATE, and NONUMBER
b. PAGENO=1, and DATE
c. NUMBER and DATE only
d. none of the above
b
Clearly, the DATE and PAGENO= options are specified. Because the page number on the
output is 1, even though PROC TABULATE output was just produced. If you don't specify
PAGENO=, all output in the Output window is numbered sequentially throughout your SAS
session.
Which of the following programs correctly references a SAS data set named SalesAnalysis
that is stored in a permanent SAS library?
a. data nalysis;
set r1sales;
if sales>100000;
run;
b. data ;
set sales_nalysis;
if totalsales>50000;
run;
c. proc print data=r1;
var sales salesrep month;
run;
d. proc freq data=nalysis;
tables quarter*sales;
run;
9
Correct
b
answer:
7.
Correct
answer:
8.
Correct
answer:
Librefs must be 1 to 8 characters long, must begin with a letter or underscore, and can contain
only letters, numbers, or underscores. After you assign a libref, you specify it as the first
element in the two-level name for a SAS file.
Which time span is used to interpret two-digit year values if the YEARCUTOFF= option is
set to 1950?
a. 1950-2049
b. 1950-2050
c. 1949-2050
d. 1950-2000
a
The YEARCUTOFF= option specifies which 100-year span is used to interpret two-digit year
values. The default value of YEARCUTOFF= is 1920. However, you can override the default
and change the value of YEARCUTOFF= to the first year of another 100-year span. If you
specify YEARCUTOFF=1950, then the 100-year span will be from 1950 to 2049.
Asssuming you are using SAS code and not special SAS windows, which one of the
following statements is false?
a. LIBNAME statements can be stored with a SAS program to reference the SAS library
automatically when you submit the program.
b. When you delete a libref, SAS no longer has access to the files in the library.
However, the contents of the library still exist on your operating system.
c. Librefs can last from one SAS session to another.
d. You can access files that were created with other vendors' software by submitting a
LIBNAME statement.
c
The LIBNAME statement is global, which means that librefs remain in effect until you
modify them, cancel them, or end your SAS session. Therefore, the LIBNAME statement
assigns the libref for the current SAS session only. You must assign a libref before accessing
SAS files that are stored in a permanent SAS data library.
9.
What does the following statement do?
libname osiris spss 'c:myfilessasdatadata';
a. defines a library called Spss using the OSIRIS engine
b. defines a library called Osiris using the SPSS engine
c. defines two libraries called Osiris and Spss using the default engine
d. defines the default library using the OSIRIS and SPSS engines
10
Correct
b
answer:
In the LIBNAME statement, you specify the library name before the engine name. Both are
followed by the path.
10.
What does the following OPTIONS statement do?
options pagesize=15 nodate;
a. suppresses the date and limits the page size of the log
b. suppresses the date and limits the vertical page size for text output
c. suppresses the date and limits the vertical page size for text and HTML output
d. suppresses the date and limits the horizontal page size for text output
Correct
b
answer:
These options affect the format of listing output only. NODATE suppresses the date and
PAGESIZE= determines the number of rows to print on the page.
Chapter 3: Editing and Debugging SAS Programs Answer Key
1.
As you write and edit SAS programs it's a good idea to
a. begin DATA and PROC steps in column one.
11
b. indent statements within a step.
c. begin RUN statements in column one.
d. all of the above
Correct
d
answer:
2.
Correct
answer:
3.
Correct
Although you can write SAS statements in almost any format, a consistent layout enhances
readability and enables you to understand the program's purpose. It's a good idea to begin
DATA and PROC steps in column one, to indent statements within a step, to begin RUN
statements in column one, and to include a RUN statement after every DATA step or PROC
step.
What usually happens when an error is detected?
a. SAS continues processing the step.
b. SAS continues to process the step, and the log displays messages about the error.
c. SAS stops processing the step in which the error occurred, and the log displays
messages about the error.
d. SAS stops processing the step in which the error occurred, and the program output
displays messages about the error.
c
Syntax errors generally cause SAS to stop processing the step in which the error occurred.
When a program that contains an error is submitted, messages regarding the problem also
appear in the SAS log. When a syntax error is detected, the SAS log displays the word
ERROR, identifies the possible location of the error, and gives an explanation of the error.
A syntax error occurs when
a. some data values are not appropriate for the SAS statements that are specified in a
program.
b. the form of the elements in a SAS statement is correct, but the elements are not valid
for that usage.
c. program statements do not conform to the rules of the SAS language.
d. none of the above
c
answer:
12
Syntax errors are common types of errors. Some SAS system options, features of the Editor
window, and the DATA step debugger can help you identify syntax errors. Other types of
errors include data errors, semantic errors, and execution-time errors.
4.
How can you tell whether you have specified an invalid option in a SAS program?
Correct
answer:
5.
Correct
answer:
6.
a. A log message indicates an error in a statement that seems to be valid.
b. A log message indicates that an option is not valid or not recognized.
c. The message "PROC running" or "DATA step running" appears at the top of the
active window.
d. You can't tell until you view the output from the program.
b
When you submit a SAS statement that contains an invalid option, a log message notifies you
that the option is not valid or not recognized. You should recall the program, remove or
replace the invalid option, check your statement syntax as needed, and resubmit the corrected
program.
Which of the following programs contains a syntax error?
b
The DATA step contains a misspelled keyword (dat instead of data). However, this is such a
common (and easily interpretable) error that SAS produces only a warning message, not an
error.
What does the following log indicate about your program?
Correct
answer:
13
proc print data=99
var origin dest cargorev;
22
76
ERROR 22-322: Syntax error, expecting one of the
following:
;, (, DATA, DOUBLE, HEADING, LABEL,
N, NOOBS, OBS, ROUND, ROWS, SPLIT,
STYLE,
UNIFORM, WIDTH.
ERROR 76-322: Syntax error, statement will be
ignored.
11 run;
a. SAS identifies a syntax error at the position of the VAR statement.
b. SAS is reading VAR as an option in the PROC PRINT statement.
c. SAS has stopped processing the program because of errors.
d. all of the above
d
Because there is a missing semicolon at the end of the PROC PRINT statement, SAS
interprets VAR as an option in PROC PRINT and finds a syntax error at that location. SAS
stops processing programs when it encounters a syntax error.
14
Chapter 4: Creating List Reports Answer Key
1.
Which PROC PRINT step below creates the following output?
Correct
answer:
2.
Correct
15
c
The DATA= option specifies the data set that you are listing, and the ID statement
replaces the Obs column with the specified variable. The VAR statement specifies
variables and controls the order in which they appear, and the WHERE statement
selects rows based on a condition. The LABEL option in the PROC PRINT statement
causes the labels that are specified in the LABEL statement to be displayed.
Which of the following PROC PRINT steps is correct if labels are not stored with the
data set?
a
answer:
16
You use the DATA= option to specify the data set to be printed. The LABEL option
specifies that variable labels appear in output instead of variable names.
3.
Which of the following statements selects from a data set only those observations for
Correct
answer:
4.
Correct
answer:
which the value of the variable Style is RANCH, SPLIT, or TWOSTORY?
d
In the WHERE statement, the IN operator enables you to select observations based on
several values. You specify values in parentheses and separate them by spaces or
commas. Character values must be enclosed in quotation marks and must be in the
same case as in the data set.
If you want to sort your data and create a temporary data set named Calc to store the
sorted data, which of the following steps should you submit?
c
In a PROC SORT step, you specify the DATA= option to specify the data set to sort.
The OUT= option specifies an output data set. The required BY statement specifies the
variable(s) to use in sorting the data.
5.
Which options are used to create the following PROC PRINT output?
17
Correct
answer:
6.
13:27 Monday, March 22, 1999
Patient Arterial Heart Cardiac Urinary
203 88 95 66 110
54 83 183 95 0
664 72 111 332 12
210 74 97 369 0
101 80 130 291 0
a. the DATE system option and the LABEL option in PROC PRINT
b. the DATE and NONUMBER system options and the DOUBLE and NOOBS
options in PROC PRINT
c. the DATE and NONUMBER system options and the DOUBLE option in
PROC PRINT
d. the DATE and NONUMBER system options and the NOOBS option in PROC
b
The DATE and NONUMBER system options cause the output to appear with the date
but without page numbers. In the PROC PRINT step, the DOUBLE option specifies
double spacing, and the NOOBS option removes the default Obs column.
Which of the following statements can you use in a PROC PRINT step to create this
output?
Correct
answer:
7.
Correct
answer:
8.
18
d
You do not need to name the variables in a VAR statement if you specify them in the
SUM statement, but you can. If you choose not to name the variables in the VAR
statement as well, then the SUM statement determines the order of the variables in the
output.
What happens if you submit the following program?
proc sort data=es;
run;
proc print data=es;
var age height weight pulse;
where sex='F';
run;
a. The PROC PRINT step runs successfully, printing observations in their sorted
order.
b. The PROC SORT step permanently sorts the input data set.
c. The PROC SORT step generates errors and stops processing, but the PROC
PRINT step runs successfully, printing observations in their original (unsorted)
order.
d. The PROC SORT step runs successfully, but the PROC PRINT step generates
errors and stops processing.
c
The BY statement is required in PROC SORT. Without it, the PROC SORT step fails.
However, the PROC PRINT step prints the original data set as requested.
If you submit the following program, which output does it create?
proc sort data= out=;
Correct
answer:
19
by months amount;
run;
proc print data= noobs;
var months;
sum amount payment;
where months<360;
run;
a.
b.
c.
d.
a
Column totals appear at the end of the report in the same format as the values of the
variables, so b is incorrect. is sorted by Month and Amount, so c is
incorrect. The program sums both Amount and Payment, so d is incorrect.
9.
Choose the statement below that selects rows which
20
Correct
answer:
10.
•
the amount is less than or equal to $5000
•
the account is 101-1092 or the rate equals 0.095.
c
To ensure that the compound expression is evaluated correctly, you can use parentheses
to group
account='101-1092' or rate eq 0.095
OBS Account Amount Rate MonthsPayment
1 101-1092 $22,000 10.00%60 $467.43
2 101-1731 $114,0009.50% 360 $958.57
3 101-1289 $10,000 10.50%36 $325.02
4 101-3144 $3,500 10.50%12 $308.52
5 103-1135 $8,700 10.50%24 $403.47
6 103-1994 $18,500 10.00%60 $393.07
7 103-2335 $5,000 10.50%48 $128.02
8 103-3864 $87,500 9.50% 360 $735.75
9 103-3891 $30,000 9.75% 360 $257.75
For example, from the data set above, a and b above select observations 2 and 8 (those
that have a rate of 0.095); c selects no observations; and d selects observations 4 and 7
(those that have an amount less than or equal to 5000).
What does PROC PRINT display by default?
a. PROC PRINT does not create a default report; you must specify the rows and
columns to be displayed.
b. PROC PRINT displays all observations and variables in the data set. If you
want an additional column for observation numbers, you can request it.
c. PROC PRINT displays columns in the following order: a column for
observation numbers, all character variables, and all numeric variables.
d. PROC PRINT displays all observations and variables in the data set, a column
for observation numbers on the far left, and variables in the order in which they
21
occur in the data set.
Correct
d
answer:
You can remove the column for observation numbers. You can also specify the
variables you want, and you can select observations according to conditions.
Chapter 5: Creating SAS Data Sets from Raw Data Answer Key
1.
Which SAS statement associates the fileref Crime with the raw data file
C:StatesDataCrime?
a. filename crime 'c:statesdatacrime';
b. filename crime c:statesdatacrime;
c. fileref crime 'c:statesdatacrime';
d. filename 'c:statesdatacrime' crime;
Correct
a
answer:
22
Before you can read your raw data, you must reference the raw data file by creating a
fileref. You assign a fileref by using a FILENAME statement in the same way that
you assign a libref by using a LIBNAME statement.
2.
Filerefs remain in effect until
Correct
answer:
3.
Correct
answer:
4.
a. you change them.
b. you cancel them.
c. you end your SAS session.
d. all of the above
d
Like LIBNAME statements, FILENAME statements are global; they remain in effect
until you change them, cancel them, or end your SAS session.
Which statement identifies the name of a raw data file to be read with the fileref
Products and specifies that the DATA step read only records 1-15?
a. infile products obs 15;
b. infile products obs=15;
c. input products obs=15;
d. input products 1-15;
b
You use an INFILE statement to specify the raw data file to be read. You can specify a
fileref or an actual filename (in quotation marks). The OBS= option in the INFILE
statement enables you to process only records 1 through n.
Which of the following programs correctly writes the observations from the data set
below to a raw data file?
Correct
answer:
23
d
The keyword _NULL_ in the DATA statement enables you to use the power of the
DATA step without actually creating a SAS data set. You use the FILE and PUT
statements to write out the observations from a SAS data set to a raw data file. The
FILE statement specifies the raw data file and the PUT statement describes the lines to
write to the raw data file. The filename and location that are specified in the FILE
statement must be enclosed in quotation marks.
5.
Which raw data file can be read using column input?
24
Correct
answer:
6.
a.
b.
c.
d. all of the above
b
Column input is appropriate only in some situations. When you use column input,
your data must be standard character or numeric values, and they must be in fixed
fields. That is, values for a particular variable must be in the same location in all
records.
Which program creates the output shown below?
Correct
answer:
7.
25
a
The INPUT statement creates a variable using the name that you assign to each field.
Therefore, when you write an INPUT statement, you need to specify the variable
names exactly as you want them to appear in the SAS data set.
Which statement correctly reads the fields in the following order: StockNumber,
Price, Item, Finish, Style?
Field Name Start Column End Column Data Type
StockNumber 1 3 character
Finish 5 9 character
Style 11 18 character
Item 20 24 character
Price 27 32 numeric
Correc t
answer:
8.
Correct
answer:
9.
26
b
You can use column input to read fields in any order. You must specify the variable
name to be created, identify character values with a $, and name the correct starting
column and ending column for each field.
Which statement correctly re-defines the values of the variable Income as 100
percent higher?
a. income=income*1.00;
b. income=income+(income*2.00);
c. income=income*2;
d. income=*2;
c
To re-define the values of the variable Income in an Assignment statement, you
specify the variable name on the left side of the equal sign and an appropriate
expression including the variable name on the right side of the equal sign.
Which program correctly reads instream data?
a. data n;
input datalines;
if country='JAPAN';
MonthAvg=amount/12;
1998 US CARS 194324.12
1998 US TRUCKS 142290.30
1998 CANADA CARS 10483.44
1998 CANADA TRUCKS 93543.64
1998 MEXICO CARS 22500.57
1998 MEXICO TRUCKS 10098.88
1998 JAPAN CARS 15066.43
1998 JAPAN TRUCKS 40700.34
;
b. data n;
input Year 1-4 Country $ 6-11
Vehicle $ 13-18 Amount 20-28;
if country='JAPAN';
MonthAvg=amount/12;
datalines;
run;
c. data n;
input Year 1-4 Country 6-11
Vehicle 13-18 Amount 20-28;
if country='JAPAN';
MonthAvg=amount/12;
datalines;
1998 US CARS 194324.12
1998 US TRUCKS 142290.30
1998 CANADA CARS 10483.44
1998 CANADA TRUCKS 93543.64
1998 MEXICO CARS 22500.57
1998 MEXICO TRUCKS 10098.88
1998 JAPAN CARS 15066.43
1998 JAPAN TRUCKS 40700.34
;
d. data n;
input Year 1-4 Country $ 6-11
Vehicle $ 13-18 Amount 20-28;
if country='JAPAN';
MonthAvg=amount/12;
datalines;
1998 US CARS 194324.12
1998 US TRUCKS 142290.30
1998 CANADA CARS 10483.44
1998 CANADA TRUCKS 93543.64
1998 MEXICO CARS 22500.57
1998 MEXICO TRUCKS 10098.88
1998 JAPAN CARS 15066.43
1998 JAPAN TRUCKS 40700.34
;
27
Correct
d
answer:
To read instream data, you specify a DATALINES statement and data lines, followed
by a null statement (single semicolon) to indicate the end of the input data. Program a
contains no DATALINES statement, and the INPUT statement doesn't specify the
fields to read. Program b contains no data lines, and the INPUT statement in program
c doesn't specify the necessary dollar signs for the character variables Country and
Vehicle.
10.
Which SAS statement subsets the raw data shown below so that only the observations
in which Sex (in the second field) has a value of F are processed?
28
a. if sex=f;
b. if sex=F;
c. if sex='F';
d. a or b
Correct
c
answer:
To subset data, you can use a subsetting IF statement in any DATA step to process
only those observations that meet a specified condition. Because Sex is a character
variable, the value F must be enclosed in quotation marks and must be in the same
case as in the data set.
Chapter 6: Understanding DATA Step Processing Answer Key
1.
Which of the following is not created during the compilation phase?
Correct
answer:
2.
Correct
answer:
3.
Correct
answer:
29
a. the data set descriptor
b. the first observation
c. the program data vector
d. the _N_ and _ERROR_ automatic variables
b
At the beginning of the compilation phase, the program data vector is created. The program
data vector includes the two automatic variables _N_ and _ERROR_. The descriptor portion
of the new SAS data set is created at the end of the compilation phase. The descriptor portion
includes the name of the data set, the number of observations and variables, and the names and
attributes of the variables. Observations are not written until the execution phase.
During the compilation phase, SAS scans each statement in the DATA step, looking for syntax
errors. Which of the following is not considered a syntax error?
a. incorrect values and formats
b. invalid options or variable names
c. missing or invalid punctuation
d. missing or misspelled keywords
a
Syntax checking can detect many common errors, but it cannot verify the values of variables
or the correctness of formats.
Unless otherwise directed, the DATA step executes
a. once for each compilation phase.
b. once for each DATA step statement.
c. once for each record in the input file.
d. once for each variable in the input file.
c
30
The DATA step executes once for each record in the input file, unless otherwise directed.
4.
At the beginning of the execution phase, the value of _N_ is 1, the value of _ERROR_ is 0,
Correct
answer:
5.
Correct
answer:
6.
and the values of the remaining variables are set to
a. 0
b. 1
c. undefined
d. missing
d
The remaining variables are initialized to missing. Missing numeric values are represented by
periods, and missing character values are represented by blanks.
Suppose you run a program that causes three DATA step errors. What is the value of the
automatic variable _ERROR_ when the observation that contains the third error is processed?
a. 0
b. 1
c. 2
d. 3
b
The default value of _ERROR_ is 0, which means there is no error. When an error occurs,
whether it is one error or multiple errors, the value is set to 1.
Which of the following actions occurs at the end of the DATA step?
a. The automatic variables _N_ and _ERROR_ are incremented by one.
b. The DATA step stops execution.
c. The descriptor portion of the data set is written.
d. The values of variables created in programming statements are re-set to missing in the
program data vector.
31
Correct
d
answer:
By default, at the end of the DATA step, the values in the program data vector are written to
the data set as an observation, the value of the automatic variable _N_ is incremented by one,
control returns to the top of the DATA step, and the values of variables created in
programming statements are set to missing. The automatic variable _ERROR_ retains its
value.
7.
Look carefully at the DATA step shown below. Based on the INPUT statement, in what order
Correct
answer:
8.
Correct
answer:
will the variables be stored in the new data set?
data ;
infile invent;
input IDnum $ 15-19 Item $ 1-13 Instock 21-22
BackOrd 24-25;
Total=instock+backord;
run;
a. IDnum Item InStock BackOrd Total
b. Item IDnum InStock BackOrd Total
c. Total IDnum Item InStock BackOrd
d. Total Item IDnum InStock BackOrd
a
The order in which variables are defined in the DATA step determines the order in which the
variables are stored in the data set.
If SAS cannot interpret syntax errors, then
a. data set variables will contain missing values.
b. the DATA step does not compile.
c. the DATA step still compiles, but it does not execute.
d. the DATA step still compiles and executes.
c
When SAS can't interpret syntax errors, the DATA step compiles, but it does not execute.
9.
What is wrong with this program?
32
Correct
answer:
10.
Correct
answer:
data ;
infile invent
input Item $ 1-13 IDnum $ 15-19 Instock 21-22
BackOrd 24-25;
total=instock+backord;
run;
a. missing semicolon on second line
b. missing semicolon on third line
c. incorrect order of variables
d. incorrect variable type
a
A semicolon is missing from the second line. It will cause an error because the INPUT
statement will be interpreted as invalid INFILE statement options.
Look carefully at this section of a SAS session log. Based on the note, what was the most
likely problem with the DATA step?
NOTE: Invalid data for IDnum in line 7 15-19.
RULE: ----+----1----+----2----+----3----+----4
7 Bird Feeder LG088 3 20
Item=Bird Feeder IDnum=. InStock=3 BackOrd=20
Total=23 _ERROR_=1 _N_=1
a. A keyword was misspelled in the DATA step.
b. A semicolon was missing from the INFILE statement.
c. A variable was misspelled in the INPUT statement.
d. A dollar sign was missing in the INPUT statement.
d
The third line of the log displays the values for IDnum, which are clearly character values.
The fourth line displays the values in the program data vector and shows that the values for
IDnum are missing, even though the other values are correctly assigned. Thus, it appears that
numeric values were expected for IDnum. A dollar sign, to indicate character values, must be
missing from the INPUT statement.
Chapter 7: Creating and Applying User-Defined Formats Answer Key
33
1.
If you don't specify the LIBRARY= option, your formats are stored in s, and they
exist
a. only for the current procedure.
b. only for the current DATA step.
c. only for the current SAS session.
d. permanently.
Correct
c
answer:
34
If you do not specify the LIBRARY= option, formats are stored in a default format catalog
named s. As the libref Work implies, any format that is stored in s
is a temporary format that exists only for the current SAS session.
2.
Which of the following statements will store your formats in a permanent catalog?
Correct
answer:
3.
Correct
answer:
a
To store formats in a permanent catalog, you first write a LIBNAME statement to associate the
libref with the SAS data library in which the catalog will be stored. Then add the LIB= (or
LIBRARY=) option to the PROC FORMAT statement, specifying the name of the catalog.
When creating a format with the VALUE statement, the new format's name
•
cannot end with a number
•
cannot end with a period
•
cannot be the name of a SAS format, and
a. cannot be the name of a data set variable.
b. must be at least two characters long.
c. must be at least eight characters long.
d. must begin with a dollar sign ($) if used with a character variable.
d
The name of a format that is created with a VALUE statement must begin with a dollar sign
($) if it applies to a character variable.
4.
Which of the following FORMAT procedures is written correctly?
35
Correct
answer:
5.
b
A semicolon is needed after the PROC FORMAT statement. The VALUE statement begins
with the keyword VALUE and ends with a semicolon after all the labels have been defined.
Which of these is false? Ranges in the VALUE statement can specify
a. a single value, such as 24 or 'S'.
b. a range of numeric values, such as 0–1500.
c. a range of character values, such as 'A–'M'.
d. a list of numeric and character values separated by commas, such as
90,'B',180,'D',270.
36
Correct
d
answer:
You can list values separated by commas, but the list must contain either all numeric values or
all character values. Data set variables are either numeric or character.
6.
How many characters can be used in a label?
Correct
answer:
7.
Correct
answer:
8.
a. 40
b. 96
c. 200
d. 256
d
When specifying a label, enclose it in quotation marks and limit the label to 256 characters.
Which keyword can be used to label missing values as well as any values that are not specified
in a range?
a. LOW
b. MISS
c. MISSING
d. OTHER
d
MISS and MISSING are invalid keywords, and LOW does not include missing values. The
keyword OTHER can be used in the VALUE statement to label missing values as well as any
values that are not specifically included in a range.
You can place the FORMAT statement in either a DATA step or a PROC step. What happens
when you place the FORMAT statement in a DATA step?
a. You temporarily associate the formats with variables.
b. You permanently associate the formats with variables.
c. You replace the original data with the format labels.
d. You make the formats available to other data sets
37
Correct
b
answer:
By placing the FORMAT statement in a DATA step, you permanently associate the defined
formats with variables.
9.
The format JOBFMT was created in a FORMAT procedure. Which FORMAT statement will
Correct
answer:
10.
Correct
answer:
apply it to the variable JobTitle in the program output?
a. format jobtitle jobfmt;
b. format jobtitle jobfmt.;
c. format jobtitle=jobfmt;
d. format jobtitle='jobfmt';
b
To associate a user-defined format with a variable, place a period at the end of the format
name when it is used in the FORMAT statement.
Which keyword, when added to the PROC FORMAT statement, will display all the formats in
your catalog?
a. CATALOG
b. LISTFMT
c. FMTCAT
d. FMTLIB
d
Adding the keyword FMTLIB to the PROC FORMAT statement displays a list of all the
formats in your catalog, along with descriptions of their values.
Chapter 8: Creating Enhanced List and Summary Reports Answer Key
38
1.
If Style has four unique values and you submit the following program, which output do you
get? (Assume that all the other variables are numeric.)
proc report data= nowd;
column style sqfeet bedrooms price;
define style / group;
run;
39
a.
b.
c.
Correct
answer:
2.
Correct
answer:
3.
40
d.
a
This program creates a summary report, which consolidates into one row all observations from
the data set that have a unique combination of values for the variable Style.
When you define an order variable,
a. the detail rows are ordered according to their formatted values.
b. you can't create summary reports.
c. PROC REPORT displays only the first occurrence of each order variable value in a set
of rows that have the same value for all order variables.
d. all of the above
d
Order variables do order rows according to the formatted values of the order variable, and
PROC REPORT suppresses repetitious printing of order values. However, you can't use order
variables in a summary report.
Which attributes or options are reflected in this PROC REPORT output?
Correct
answer:
4.
41
Style SqFeet Price
RANCH 720 $34,550
TWOSTORY 1040 $55,850
SPLIT 1190 $65,850
TWOSTORY 1240 $69,250
RANCH 1250 $64,000
SPLIT 1305 $73,650
CONDO 1390 $79,350
CONDO 1400 $80,050
RANCH 1500 $86,650
RANCH 1535 $89,100
SPLIT 1615 $94,450
TWOSTORY 1745 $102,950
TWOSTORY 1810 $107,250
CONDO 1860 $110,700
CONDO 2105 $127,150
a. SKIPLINE and FORMAT=
b. CENTER, HEADLINE, HEADSKIP, and either WIDTH=, SPACING=, or
FORMAT=
c. SPACING= only
d. CENTER, FORMAT=, and HEADLINE
b
The HEADLINE option underlines the headings, and the HEADSKIP option skips a line
between the headings and the rows in the report. Also, Style is centered, and the column for
Price is wider than the default.
To create a summary report that shows the average number of bedrooms and the maximum
number of baths for each style of house, which DEFINE statements do you use in your PROC
REPORT step?
Correct
answer:
5.
42
b
To create a summary report, you must define a group variable. To produce the statistics that
you want, you must specify the MEAN and MAX statistics for Bedrooms and Baths.
Which program does not contain an error?
Correct
answer:
6.
43
c
Program c correctly specifies a computed variable in the COLUMN statement, defines the
variable in a DEFINE statement, and computes values using the form tic in
a compute block.
What output does this PROC REPORT step produce?
proc report data= nowd;
column style sqfeet bedrooms price;
run;
a. a list report ordered by values of the first variable in the COLUMN statement
44
b. a summary report ordered by values of the first variable in the COLUMN statement
c. a list report that displays a row for each observation in the input data set and which
calculates the SUM statistic for numeric variables
d. a list report that calculates the N (frequency) statistic for character variables
Correct
c
answer:
7.
Correct
By default, PROC REPORT displays character variables as display variables. A report that
contains one or more display variables has a detail row for each observation in the data set. By
default, PROC REPORT displays numeric variables as analysis variables, which are used to
calculate the default statistic SUM.
Which of the following programs produces this output?
c
answer:
45
In this output, the table cells contain a frequency count for each unique value of an across
variable, Style. You don't have to specify across variable values in your PROC REPORT
step.
8.
If you submit this program, where does your PROC REPORT output appear?
Correct
answer:
9.
Correct
answer:
proc report data= nowd;
column style sqfeet bedrooms price;
define style / group;
run;
a. in the PROC REPORT window
b. as HTML and/or SAS listing output
c. both of the above
d. neither of the above
b
In nonwindowing mode, your PROC REPORT output appears as HTML and/or as SAS listing
output, depending on your option settings.
How can you create output with headings that break as shown below?
Style of Average Maximum
House Bedrooms Baths
CONDO 2.75 2.5
RANCH 2.25 3
SPLIT 2.666666 3
TWOSTORY 3 3
a. You must specify the SPLIT= option in the PROC REPORT statement and use the
split character in column headings in DEFINE statements.
b. You must use the default split character in column headings in DEFINE statements.
c. You must specify either the WIDTH= or the SPACING= attribute in DEFINE
statements.
d. These headings split this way by default.
d
By default, columns for character variables are the same as the variable's length, and columns
for numeric variables have a width of 9. So these headings split this way by default.
46
10.
Suppose you want to create a report using both character and numeric variables. If you don't
Correct
answer:
1.
Correct
answer:
2.
use any DEFINE statements in your PROC REPORT step,
a. your PROC REPORT step will not execute successfully.
b. you can produce only list reports.
c. you can order rows by specifying options in the PROC REPORT statement.
d. you can produce only summary reports.
b .Unless you use DEFINE statements to define order variables or group variables, you can't
order rows or produce summary reports. However, DEFINE statements are not required in all
PROC REPORT steps.
Chapter 9: Producing Descriptive Statistics Answer Key
The default statistics produced by the MEANS procedure are n-count, mean, minimum,
maximum, and
a. median.
b. range.
c. standard deviation.
d. standard error of the mean.
c
By default, the MEANS procedure produces the n-cout, mean, minimum, and standard
deviation.
Which statement will limit a PROC MEANS analysis to the variables Boarded, Transfer,
and Deplane?
a. by boarded transfer deplane;
b. class boarded transfer deplane;
c. output boarded transfer deplane;
d. var boarded transfer deplane;
Correct
d
answer:
To specify the variables that PROC MEANS analyzes, add a VAR statement and list the
variable names.
3.
The data set includes the following variables. Which is a poor candidate for
47
Correct
answer:
4.
Correct
answer:
5.
PROC MEANS analysis?
a. IDnum
b. Age
c. Height
d. Weight
a
Unlike Age, Height, or Weight, the values of IDnum are unlikely to yield any useful
statistics.
Which of the following statements is true regarding BY-group processing?
a. BY variables must be either indexed or sorted.
b. Summary statistics are computed for BY variables.
c. BY-group processing is preferred when you are categorizing data that contains few
variables.
d. BY-group processing overwrites your data set with the newly grouped observations.
a
Unlike CLASS processing, BY-group processing requires that your data already be indexed or
sorted in the order of the BY variables. You might need to run the SORT procedure before
using PROC MEANS with a BY group.
Which group processing statement produced the PROC MEANS output shown below?
Correct
answer:
6.
48
a. class sex survive;
b. class survive sex;
c. by sex survive;
d. by survive sex;
b
A CLASS statement produces a single large table, whereas BY-group processing creates a
series of small tables. The order of the variables in the CLASS statement determines their
order in the output table.
Which program can be used to create the following output?
Correct
answer:
7.
Correct
answer:
8.
49
d
You can use either PROC MEANS or PROC SUMMARY to create the table. Adding a
PRINT option to the PROC SUMMARY statement produces the same reports as if you used
PROC MEANS.
By default, PROC FREQ creates a table of frequencies and percentages for which data set
variables?
a. character variables
b. numeric variables
c. both character and numeric variables
d. none: variables must always be specified
c
By default, the PROC FREQ creates a table for all variables in a data set.
Frequency distributions work best with variables that contain
50
a. continuous values.
b. numeric values.
c. categorical values.
d. unique values.
Correct
c
answer:
9.
Both continuous values and many unique values can result in lengthy and meaningless tables.
Frequency distributors work best with categorical values.
Which PROC FREQ step produced this two-way table?
Correct
answer:
10.
51
d
An asterisk is used to join the variables in a two-way TABLES statement. The first variable
forms the table rows, and the second variable forms the table columns.
Which PROC FREQ step produced this table?
Correct
answer:
1.
52
d
An asterisk is used to join the variables in crosstabulation tables. The only results that are
shown in this table are cell percentages. The NOFREQ option suppresses cell frequencies, the
NOROW option suppresses row percentages, and the NOCOL option suppresses column
percentages.
Chapter 10: Producing HTML Output Answer Key
Using ODS statements, how many types of output can you generate concurrently?
a. 1 (only listing output)
b. 2
c. 3
53
d. as many as you want
Correct
d
answer:
You can generate any number of output types as long as you open the ODS destination for
each type of output that you want to create.
2.
If ODS is set to its default settings, what types of output are created by the code below?
Correct
answer:
3.
Correct
answer:
4.
ods html file='c:';
ods pdf file='c:';
a. HTML and PDF
b. PDF only
c. HTML, PDF, and listing
d. No output is created because ODS is closed by default.
c
Listing output is created by default, so these statements create HTML, PDF, and listing output.
What is the purpose of closing the Listing destination in the code shown below?
ods listing close;
ods html ... ;
a. It conserves system resources.
b. It simplifies your program.
c. It makes your program compatible with other hardware platforms.
d. It makes your program compatible with previous versions of SAS software.
a
By default, SAS programs produce listing output. If you want only HTML output, it's a good
idea to close the Listing destination before creating HTML output, because an open destination
uses system resources.
When the code shown below is run, what will the file D: contain?
Correct
answer:
5.
Correct
answer:
6.
54
ods html body='d:';
proc print data=;
run;
proc print data=;
run;
ods html close;
a. The PROC PRINT output for .
b. The PROC PRINT output for .
c. The PROC PRINT output for both and .
d. Nothing. No output will be written to D:.
c
When multiple procedures are run while HTML output is open, procedure output is appended
to the same body file.
When the code shown below is run, what file will be loaded by the links in
D:?
ods html body='d:'
contents='d:'
frame='d:';
a. D:
b. D:
c. D:
d. There are no links from the file D:.
a
The CONTENTS= option creates a table of contents containing links to the body file,
D:.
The table of contents created by the CONTENTS= option contains a numbered heading for
a. each procedure.
b. each procedure that creates output.
c. each procedure and DATA step.
d. each HTML file created by your program.
Correct
b
answer:
55
7.
Correct
answer:
8.
Correct
answer:
The table of contents contains a numbered heading for each procedure that creates output.
When the code shown below is run, what will the file D: display?
ods html body='d:'
contents='d:'
frame='d:';
a. The file D:.
b. The file D:.
c. The files D: and D:.
d. It displays no other files.
c
The FRAME= option creates an HTML file that integrates the table of contents and the body
file.
What is the purpose of the URL= suboptions shown below?
ods html body='d:' (url='')
contents='d:'
(url='')
frame='d:';
a. To create absolute link addresses for loading the files from a server.
b. To create relative link addresses for loading the files from a server.
c. To allow HTML files to be loaded from a local drive.
d. To send HTML output to two locations.
b
Specifying the URL= suboption in the file specification provides a URL that ODS uses in the
56
links it creates. Specifying a simple (one name) URL creates a relative link address to the file.
9.
Which ODS HTML option was used in creating the following table?
Correct
answer:
10.
Correct
answer:
a. format=brown
b. format='brown'
c. style=brown
d. style='brown'
c
You can change the appearance of HTML output by using the STYLE= option in the ODS
HTML statement. The style name doesn't need quotation marks.
What is the purpose of the PATH= option?
ods html path='d:output' (url=none)
body=''
contents=''
frame='';
a. It creates absolute link addresses for loading HTML files from a server.
b. It creates relative link addresses for loading HTML files from a server.
c. It allows HTML files to be loaded from a local drive.
d. It specifies the location of HTML file output.
d
You use the PATH= option to specify the location for HTML output. When you use the
PATH= option, you don't need to specify the full pathname for the body, contents, or frame
files.
Chapter 11: Creating and Managing Variables Answer Key
1.
Which program creates the output shown below?
57
Correct
answer:
2.
58
a. data test2;
infile furnture;
input StockNum $ 1-3 Finish $ 5-9 Style $ 11-18
Item $ 20-24 Price 26-31;
if finish='oak' then delete;
retain TotPrice 100;
totalprice+price;
drop price;
run;
proc print data=test2 noobs;
run;
b. data test2;
infile furnture;
input StockNum $ 1-3 Finish $ 5-9 Style $ 11-18
Item $ 20-24 Price 26-31;
if finish='oak' and price<200 then delete;
TotalPrice+price;
run;
proc print data=test2 noobs;
run;
c. data test2(drop=price);
infile furnture;
input StockNum $ 1-3 Finish $ 5-9 Style $ 11-18
Item $ 20-24 Price 26-31;
if finish='oak' and price<200 then delete;
TotalPrice+price;
run;
proc print data=test2 noobs;
run;
d. data test2;
infile furnture;
input StockNum $ 1-3 Finish $ 5-9 Style $ 11-18
Item $ 20-24 Price 26-31;
if finish=oak and price<200 then delete price;
TotalPrice+price;
run;
proc print data=test2 noobs;
run;
c
Program c correctly deletes the observation in which the value of Finish is oak and the value of Price is less than
also creates TotalPrice by summing the variable Price down observations, then drops Price by using the D
data set option in the DATA statement.
How is the variable Amount labeled and formatted in the PROC PRINT output?
Correct
answer:
3.
Correct
answer:
59
data credit;
infile creddata;
input Account $ 1-5 Name $ 7-25 Type $ 27
Transact $ 29-35 Amount 37-50;
label amount='Amount of Loan';
format amount dollar12.2;
run;
proc print data=credit label;
label amount='Total Amount Loaned';
format amount comma10.;
run;
a. label Amount of Loan, format DOLLAR12.2
b. label Total Amount Loaned, format COMMA10.
c. label Amount, default format
d. The PROC PRINT step does not execute because two labels and two formats are assigned to the same varia
b
The PROC PRINT output displays the label Total Amount Loaned for the variable Amount and formats this variab
the COMMA10. format. Temporary labels or formats that are assigned in a PROC step override permanent labels o
that are assigned in a DATA step.
Consider the IF-THEN statement shown below. When the statement is executed, which expression is evaluated firs
if finlexam>=95
and (research='A' or
(project='A' and present='A'))
then Grade='A+';
a. finlexam>=95
b. research='A'
c. project='A' and present='A'
d. research='A' or
e. (project='A' and present='A')
c
Logical comparisons that are enclosed in parentheses are evaluated as true or false before they are compared to othe
expressions. In the example above, the AND comparison within the nested parentheses is evaluated before being co
the OR comparison.
60
4.
Consider the small raw data file and program shown below. What is the value of Count after the fourth record is r
Correct
answer:
5.
data s;
infile numbers;
input Tens 2-3;
Count+tens;
run;
a. missing
b. 0
c. 30
d. 70
d
The Sum statement adds the result of the expression that is on the right side of the plus sign to the numeric variable
the left side. The new value is then retained for subsequent observations. The Sum statement treats the missing valu
so the value of Count in the fourth observation would be 10+20+0+40, or 70.
Now consider the revised program below. What is the value of Count after the third observation is read?
data s;
infile numbers;
input Tens 2-3;
retain Count 100;
count+tens;
run;
61
a. missing
b. 0
c. 100
d. 130
Correct
d
answer:
6.
Correct
answer:
7.
The RETAIN statement assigns an initial value of 100 to the variable Count, so the value of Count in the third ob
would be 100+10+20+0, or 130.
For the observation shown below, what is the result of the IF-THEN statement?
Status Type Count Action Control
ok 3 12 E Go
if status='OK' and type=3
then Count+1;
if status='S' or action='E'
then Control='Stop';
a. Count = 12 Control = Go
b. Count = 13 Control = Stop
c. Count = 12 Control = Stop
d. Count = 13 Control = Go
c
You must enclose character values in quotation marks, and you must specify them in the same case in which they a
the data set. The value ok is not identical to OK, so the value of Count is not changed by the IF-THEN statement.
Which of the following can determine the length of a new variable?
a. the length of the variable's first value
b. the assignment statement
c. the LENGTH statement
d. all of the above
62
Correct
d
answer:
The length of a variable is determined by its first reference in the DATA step. When creating a new character varia
allocates as many bytes of storage space as there are characters in the first value that it encounters for that variable.
reference to a new variable can also be made with a LENGTH statement or an assignment statement. The length of
8.
Correct
answer:
9.
variable's first value does not matter once the variable has been referenced in your program.
Which set of statements is the most efficient equivalent to the code shown below?
a
Answer a is the most efficient. You can write multiple ELSE statements to specify a series of mutually exclusive co
The ELSE statement must immediately follow the IF-THEN statement in your program. An ELSE statement execu
the previous IF-THEN/ELSE statement is false.
What is the length of the variable Type, as created in the DATA step below?
data n;
set s;
TotLoan+payment;
if code='1' then Type='Fixed';
else Type='Variable';
length type $ 10;
run;
Correct
answer:
10.
Correct
answer:
63
a. 5
b. 8
c. 10
d. It depends on the first value of Type.
a
The length of a new variable is determined by the first reference in the DATA step, not by data values. In this case,
of Type is determined by the value Fixed. The LENGTH statement is in the wrong place; it must be read before an
reference to the variable in the DATA step. The LENGTH statement cannot change the length of an existing variab
Which program contains an error?
b
64
To select variables, you can use a DROP or KEEP statement in any DATA step. You can also use the DR
KEEP= data set options following a data set name in any DATA or PROC step. However, you cannot use
KEEP statements in PROC steps.
1.
Correct
answer:
2.
Chapter 12: Reading SAS Data Sets Answer Key
If you submit the following program, which variables appear in the new data set?
data c(drop=age group);
set s(keep=age weight group);
if group=2 and age>40;
run;
a. none
b. Weight
c. Age, Group
d. Age, Weight, Group
b
The variables Age, Weight, and Group are specified using the KEEP= option in the SET
statement. After processing, Age and Group are dropped in the DATA statement.
Which of the following programs correctly reads the data set Orders and creates the data set
FastOrdr?
Correct
answer:
3.
Correct
65
c
You specify the data set to be created in the DATA statement. The DROP= data set option
prevents variables from being written to the data set. Because you use the variable OrdrTime
when processing your data, you cannot drop OrdrTime in the SET statement. If you use the
KEEP= option in the SET statement, then you must list OrdrTime as one of the variables to
be kept.
Which of the following statements is false about BY-group processing?
When you use the BY statement with the SET statement,
a. the data sets that are listed in the SET statement must be indexed or sorted by the
values of the BY variable(s).
b. the DATA step automatically creates two variables, FIRST. and LAST., for each
variable in the BY statement.
c. FIRST. and LAST. identify the first and last observation in each BY group, in that
order.
d. FIRST. and LAST. are stored in the data set.
d
版权声明:本文标题:SAS认证220道_练习题及详细答案(10-9) 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.roclinux.cn/b/1710013546a553641.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论