搜档网
当前位置:搜档网 › SAS认证考试(官方练习题集和校正答案)

SAS认证考试(官方练习题集和校正答案)

SAS认证考试(官方练习题集和校正答案)
SAS认证考试(官方练习题集和校正答案)

1. A raw data file is listed

below.

The following program is

submitted using this file as

input:

data work.family;

infile 'file-

specification';

statement here>

run;

Which INPUT statement

correctly reads the values for

the variable Birthdate as

SAS date values?

a.input relation

$ first_name

$ birthdate date9.;

b.input relation

$ first_name

$ birthdate

mmddyy8.;

c.input relation

$ first_name

$ birthdate :

date9.;

d.input relation

$ first_name

$ birthdate :

mmddyy8.;

Correct answer: d

An informat is used to translate the calendar date to a SAS date

value. The date values are in the form of two-digit values for

month-day-year, so the MMDDYY8. informat must be used.

When using an informat with list input, the colon-format

modifier is required to correctly associate the informat with the

variable name.

You can learn about

?informats in Reading Date and Time Values

?the colon-format modifier in Reading Free-Format

Data.

2. A raw data file is listed below.

The following SAS program is submitted using the raw data file

above as input:

data employeestats;

input name $ age weight;

run;

The following output is desired:

Which of the following INFILE statements completes the

program and accesses the data correctly?

a.infile 'file-specification' pad;

b.infile 'file-specification' dsd;

c.infile 'file-specification' dlm=',';

d.infile 'file-specification' missover;

Correct answer: b

The PAD option specifies that SAS pad variable length records

with blanks. The MISSOVER option prevents SAS from

reading past the end of the line when reading free formatted

data. The DLM= option specifies the comma as the delimiter;

however, consecutive delimiters are treated as one by default.

The DSD option correctly reads the data with commas as

delimiters and two consecutive commas indicating a missing

value like those in this raw data file.

You can learn about

?the PAD option in Reading Raw Data in Fixed

Fields

?the MISSOVER option in Creating Multiple

Observations from a Single Record

?the DLM= option and the DSD option in Reading

Free-Format Data.

3. The following program is submitted:

data numrecords;

infile cards dlm=',';

input agent1 $ agent2 $ agent3 $;

cards;

jones,,brownjones,spencer,brown

;

run;

What is the value for the variable named Agent2 in the second

observation?

a.Brown

b.Spencer

c.' ' (missing character value)

d.There is no value because only one observation is

created.

Correct answer: d

The CARDS statement enables you to read instream data. Any

number of consecutive commas are considered to be a single

delimiter as a result of the DLM= option, and the length of each

variable defaults to 8 bytes. Therefore, the values jones,

brownjon, and spencer are assigned to Agent1, Agent2, and

Agent3, respectively, for the first observation. The rest of the

data on the record is not read by the INPUT statement and is not

output to the data set.

You can learn about

?the CARDS statement in Creating SAS Data Sets

from Raw Data

?the default length of variables in Reading Free-

Format Data.

4. A raw data file is listed below.

The following program is submitted using this file as input:

data work.houses;

infile 'file-specification';

run;

Which one of the following INPUT statements reads the raw

data file correctly?

a.input @1 style $8.

+1 sqfeet 4.

+1 bedrooms 1.

@20 baths 3.

street 16.

@40 price dollar8;

b.input @1 style $8

+1 sqfeet 4.

+1 bedrooms 1.

@20 baths 3.

street $16

@40 price dollar8.;

c.input @1 style $8.

+1 sqfeet 4.

+1 bedrooms 1.

@20 baths 3.

street $16.

@40 price dollar8.;

d.input @1 style $8.

+1 sqfeet 4.

+1 bedrooms 1.

@20 baths 3

street 16.

@40 price dollar8.;

Correct answer: c

Formatted input requires periods as part of the informat name.

The period is missing from the variables Style and Street in

Answer b, the variable Baths in Answer d, and the variable

Price in Answer a (which is also missing a dollar sign to read

the variable Street as a character value).

You can learn about formatted input and informats in

Reading Raw Data in Fixed Fields.

5. The following SAS program is submitted at the start of a new

SAS session:

libname sasdata 'SAS-data-library';

data sasdata.sales;

set sasdata.salesdata;

profit=expenses-revenues;

run;

proc print data=sales;

run;

The SAS data set Sasdata.Salesdata has ten observations.

Which one of the following explains why a report fails to

generate?

a.The DATA step fails execution.

b.The SAS data set Sales does not exist.

c.The SAS data set Sales has no observations.

d.The PRINT procedure contains a syntax error.

Correct answer: b

The DATA step creates a permanent SAS data set,

Sasdata.Salesdata. The PRINT procedure is printing a

temporary SAS data set, Sales, that is stored in the Work

library. At the beginning of the SAS session, Work.Sales does

not exist.

You can learn about

creating permanent data sets with the DATA step in

Creating SAS Data Sets from Raw Data

temporary data sets in Basic Concepts.

6. Which action assigns a reference named SALES to a permanent

SAS data library?

a.Issuing the command:

libref SALES 'SAS-data-library'

b.Issuing the command:

libname SALES 'SAS-data-library'

c.Submitting the statement:

libref SALES 'SAS-data-library';

d.Submitting the statement:

libname SALES 'SAS-data-library';

Correct answer: d

The LIBNAME statement assigns a reference known as a libref

to a permanent SAS data library. The LIBNAME command

opens the LIBNAME window.

You can learn about the LIBNAME statement in

Referencing Files and Setting Options.

7. The following SAS program is submitted:

data newstaff;

set staff;

run;

Which one of the following WHERE statements completes the

program and selects only observations with a Hire_date of

February 23, 2000?

a.where hire_date='23feb2000'd;

b.where hire_date='23feb2000';

c.where hire_date='02/23/2000'd;

d.where hire_date='02/23/2000';

Correct answer: a

A SAS date constant must take the form of one- or two-digit

day, three-digit month, and two- or four-digit year, enclosed in

quotation marks and followed by a d ('ddmmmyy'd).

You can learn about SAS date constants in Creating SAS

Data Sets from Raw Data.

8. Which one of the following SAS date formats displays the SAS

date value for January 16, 2002 in the form of 16/01/2002?

a.DATE10.

b.DDMMYY10.

c.WEEKDATE10.

d.DDMMYYYY10.

Correct answer: b

The requested output is in day-month-year order and is 10 bytes

long, so DDMMYY10. is the correct format. Although

WEEKDATE10. is a valid SAS format, it does not display the

SAS date value as shown in the question above.

DDMMYYYY10. is not a valid SAS date format, and the

DATE w. format cannot accept a length of 10.

You can learn about

?the DDMMYY10. format in Creating List Reports

?the WEEKDATE10. format in Reading Date and

Time Values.

9. Which one of the following displays the contents of an external

file from within a SAS session?

a.the LIST procedure

b.the PRINT procedure

c.the FSLIST procedure

d.the VIEWTABLE window

Correct answer: c

The PRINT procedure and VIEWTABLE window display the

values in SAS data sets. The FSLIST procedure displays the

values in external files. There is no LIST procedure in SAS.

You can learn about

?the PRINT procedure in Creating List Reports

?the VIEWTABLE window in Referencing Files and

Setting Options.

10. The SAS data set Sashelp.Prdsale contains the variables

Sashelp.Prdsale is sorted primarily by Region and within

Region by Salary in descending order.

The following program is submitted:

data one;

set sashelp.prdsale;

retain temp;

by region descending salary;

if first.region then

do;

temp=salary;

output;

end;

if last.region then

do;

range=salary-temp;

output;

end;

run;

For each region, what is the number of observation(s) written to

the output data set?

a.0

b.1

c. 2

d.4

Correct answer: c

The expression first.region is true once for each region group. The expression last.region is true once for each region group. Therefore, each OUTPUT statement executes once for a total of 2 observations in the output data set.

You can learn about the FIRST.variable expression and the OUTPUT statement in Reading SAS Data Sets.

11. The following SAS program is submitted:

proc contents data=sasuser.houses;

run;

The exhibit below contains partial output produced by the

CONTENTS procedure.

Which of the following describes the Sasuser.Houses data set?

a.The data set is sorted but not indexed.

b.The data set is both sorted and indexed.

c.The data set is not sorted but is indexe

d.

d.The data set is neither sorted nor indexed.

Correct answer: d

The exhibit above shows partial output from the CONTENTS procedure, In the top right-hand column of the output, you see that Indexes has a value of 0, which indicates that no indexes exist for this data set. Also, Sorted has a value of NO, which indicates that the data is not sorted.

You can learn about the CONTENTS procedure in Referencing Files and Setting Options.

12. The following SAS program is submitted:

proc sort data=work.test;

by fname descending salary;

run;

Which one of the following represents how the observations are

sorted?

a.The data set Work.Test is stored in ascending order by

both Fname and Salary values.

b.The data set Work.Test is stored in descending order by

both Fname and Salary values.

c.The data set Work.Test is stored in descending order by

Fname and ascending order by Salary values.

d.The data set Work.Test is stored in ascending order by

Fname and in descending order by Salary values.

Correct answer: d

The DESCENDING keyword is placed before the variable name

it modifies in the BY statement, so the correct description is in

descending order by Salary value within ascending Fname

values.

You can learn about the SORT procedure and the

DESCENDING keyword in Creating List Reports.

13. The following SAS program is submitted:

title='EDU';

if title='EDU' then

Division='Education';

else if title='HR' then

Division='Human Resources';

else Division='Unknown';

run;

Which one of the following represents the value of the variable

Division in the output data set?

https://www.sodocs.net/doc/332842537.html,catio

https://www.sodocs.net/doc/332842537.html,cation

c.Human Re

d.Human Resources

Correct answer: b

The length of the variable Division is set to 9 when the DATA

step compiles. Since the value of the variable Title is EDU, the

first IF condition is true; therefore, the value of the variable

Division is Education.

You can learn about

?the length of a variable in Understanding DATA

Step Processing

?IF-THEN statements in Creating and Managing

Variables.

14. Which one of the following SAS programs creates a variable

a.data work.airports;

AirportCode='ord';

if AirportCode='ORD' City='Chicago';

run;

b.data work.airports;

AirportCode='ORD';

if AirportCode='ORD' City='Chicago';

run;

c.data work.airports;

AirportCode='ORD';

if AirportCode='ORD' then City='Chicago';

run;

d.data work.airports;

AirportCode='ORD';

if AirportCode='ORD';

then City='Chicago';

run;

Correct answer: c

The correct syntax for an IF-THEN statement is: IF expression

THEN statement;

In this example, the variable City is assigned a value of

Chicago only if the expression AirportCode='ORD' is true.

You can learn about IF-THEN statements in Creating and

Managing Variables.

15. The following SAS program is submitted:

code='DAL523';

code='SANFRAN604';

code='HOUS731';

length code $ 20;

run;

Which one of the following is the length of the code variable?

a.6

b.7

c.10

d.20

Correct answer: a

The DATA step first goes through a compilation phase, then an

execution phase. The length of a variable is set during the

compilation phase and is based on the first time the variable is

encountered. In this case, the variable code is set to the length

of the text string DAL523 which is 6 characters long. The next

assignment statements are ignored during compilation. The

LENGTH statement is also ignored since the length has already

been established, but a note will be written to the log.

You can learn about

?the compilation phase of the DATA step in

Understanding DATA Step Processing

?the LENGTH statement in Creating and Managing

Variables.

16. Which of the following statements creates a numeric variable

a.IDnumber=4198;

b.IDnumber='4198';

c.length IDnumber=8;

d.length IDnumber $ 8;

Correct answer: a

The first reference to the SAS variable in the DATA step sets

the name, type, and length of the variable in the program data

vector (PDV) and in the output SAS data set. The assignment

statement IDnumber=4198; is the first reference and creates a

numeric variable named IDnumber with a default storage length

of 8 bytes.

You can learn about

?creating variables in the DATA step in

Understanding DATA Step Processing

?numeric variables in Basic Concepts.

17. The following program is submitted:

input jobcode $ salary name $;

cards;

FLAT1 70000 Bob

FLAT2 60000 Joe

FLAT3 30000 Ann

;

run;

data desc;

set fltaten;

if salary>60000 then description='Over 60';

else description='Under 60';

run;

What is value of the variable named description when the

value for salary is 30000?

a.Under 6

b.Under 60

c.Over 60

d.' ' (missing character value)

Correct answer: a

The variable description is being created by the IF-

THEN/ELSE statement during compilation. The first occurrence

of the variable description is on the IF statement, and since it

is assigned the value Over 60, the length of the variable is 7.

Therefore, for the salary value of 30000, description has the

value of Under 6 (the 0 is truncated.)

You can learn about

?the compilation phase of the DATA step in

Understanding DATA Step Processing

?IF-THEN/ELSE statements in Creating and

Managing Variables.

18. A raw data file is listed below.

The following program is submitted:

data all_sales;

infile 'file-specification';

input receipts;

run;

Which statement(s) complete(s) the program and produce(s) a

running total of the Receipts variable?

a.total+receipts;

b.total 0;

sum total;

c.total=total+receipts;

d.total=sum(total,receipts);

Correct answer: a

The SUM function and the assignment statement do not retain

values across iterations of the DATA step. The sum statement

total+receipts; initializes total to 0, ignores missing values

of receipt, retains the value of total from one iteration to the

next, and adds the value of receipts to total.

You can learn about the sum statement in Creating and

Managing Variables.

19. A raw data file is listed below.

The following SAS program is submitted and references the raw

data file above:

data money;

infile 'file-specification';

input year quantity;

total=total+quantity;

run;

What is the value of total when the data step finishes

executing?

a.0

b.1

c.11

d. . (missing numeric value)

Correct answer: d

The variable Total is assigned a missing value during the

compilation phase of the DATA step. When the first record is

read in, SAS processes: total=.+2; which results in a missing

value. Therefore the variable Total remains missing for all

observations.

You can learn about

?the compilation phase of the DATA step in

Understanding DATA Step Processing

?using missing values with arithmetic operators in

Creating SAS Data Sets from Raw Data.

20. The following program is submitted:

average=mean(6,4,.,2);

run;

What is the value of average?

a.0

b.3

c.4

d. . (missing numeric value)

Correct answer: c

The MEAN function adds all of the non-missing values and

divides by the number of non-missing values. In this case, 6 + 4

+ 2 divided by 3 is 4.

You can learn about the MEAN function in Transforming

Data with SAS Functions.

21. The following SAS program is submitted:

Phonenumber=3125551212;

Code='('!!substr(Phonenumber,1,3)!!')';

run;

Which one of the following is the value of the variable Code in

the output data set?

a.( 3)

b.(312)

c.3

d.312

Correct answer: a

An automatic data conversion is performed whenever a numeric

variable is used where SAS expects a character value. The

numeric variable is written with the BEST12. format and the

resulting character value is right-aligned when the conversion

occurs. In this example, the value of Phonenumber is converted

to character and right-aligned before the SUBSTR function is

performed. Since there are only 10 digits in the value of

Phonenumber, the right-aligned value begins with two blanks.

Therefore the SUBSTR function picks up two blanks and a 3,

and uses the BEST12. format to assign that value to Code. Then,

the parentheses are concatenated before and after the two blanks

and a 3.

You can learn about automatic data conversion and the

SUBSTR function in Transforming Data with SAS

Functions.

22. The following SAS program is submitted:

data work.inventory;

products=7;

do until (products gt 6);

products+1;

end;

run;

Which one of the following is the value of the variable

products in the output data set?

a.5

b.6

c.7

d.8

Correct answer: d

A DO UNTIL loop always executes at least once because the

condition is not evaluated until the bottom of the loop. In the

SAS program above, the value of Products is incremented from

7 to 8 on the first iteration of the DO UNTIL loop, before the

condition is checked. Therefore the value of Products is 8.

You can learn about DO UNTIL loops in Generating Data

with DO Loops.

23. The following program is submitted:

data work.test;

set work.staff (keep=salary1 salary2 salary3);

run;

Which ARRAY statement completes the program and creates

new variables?

a.array salary{3};

b.array new_salary{3};

c.array salary{3} salary1-salary3;

d.array new_salary{3} salary1-salary3;

Correct answer: b

Although each of the ARRAY statements listed above is a valid

statement, only Answer B creates new variables named

new_salary1, new_salary2 and new_salary3. Answer C and

Answer D both create an array that groups the existing data set

variables salary1, salary2, and salary3. Since the array in

Answer A is named salary, it also uses the existing data set

variables.

You can learn about creating new variables in an ARRAY

statement in Processing Variables with Arrays.

24. Which of the following permanently associates a format with a

a.the FORMAT procedure

b.a FORMAT statement in a DATA step

c.an INPUT function with format modifiers

d.an INPUT statement with formatted style input

Correct answer: b

To permanently associate a format with a variable, you use the

FORMAT statement in a DATA step. You can use the

FORMAT procedure to create a user-defined format. You use

the INPUT function to convert character data values to numeric

values with an informat. You use the INPUT statement to read

data into a data set with an informat.

You can learn about

?permanently assigning a format to a variable in

Creating and Managing Variables

?the FORMAT statement in Creating List Reports

?the FORMAT procedure in Creating and Applying

User-Defined Formats

?the INPUT function in Transforming Data with

SAS Functions

?the INPUT statement in Reading Raw Data in Fixed

Fields.

25. The following report is generated:

Which of the following steps created the report?

a.proc freq data=sasuser.houses;

tables style price /nocum;

format price dollar10.;

label style="Style of homes"

price="Asking price";

run;

b.proc print data=sasuser.houses;

class style;

var price;

table style,n price*mean*f=dollar10.;

label style="Style of homes"

price="Asking price";

run;

c.proc means data=sasuser.houses n mean;

class style;

var price;

format price dollar10.;

label style="Style of homes"

price="Asking price";

run;

d.proc report data=sasuser.houses nowd headline;

column style n price;

define style / group "Style of homes";

define price / mean format=dollar8.

"Asking price";

run;

Correct answer: d

The FREQ procedure cannot create the average asking price.

相关主题