LISTSERV at the University of Georgia
Menubar Imagemap
Home Browse Manage Request Manuals Register
Previous messageNext messagePrevious in topicNext in topicPrevious by same authorNext by same authorPrevious page (June 2003, week 3)Back to main SAS-L pageJoin or leave SAS-L (or change settings)ReplyPost a new messageSearchProportional fontNon-proportional font
Date:         Wed, 18 Jun 2003 15:17:10 -0400
Reply-To:     Sigurd Hermansen <HERMANS1@WESTAT.COM>
Sender:       "SAS(r) Discussion" <SAS-L@LISTSERV.UGA.EDU>
From:         Sigurd Hermansen <HERMANS1@WESTAT.COM>
Subject:      Re: Need answers to SAS certification questions
Comments: To: Peter Flom <flom@NDRI.ORG>
Content-Type: text/plain; charset="iso-8859-1"

Before we try and convict the developers of the SAS Certification exams, it seems appropriate to take a few moments and verify that the questions and responses posted on SAS-L came from the official SAS certification exam itself. I have seen questions from a employment screening exam and from a Web course. Both included questions as bad or worse as the posted questions. It does not seem possible to me that really bad questions could slop through any systematic evaluation process.

Whatever the evaluation process, developers of the SAS Certification exams should take a look at the questions from the 2003 SAS Bowl at the Seattle SUGI. I don't know for sure who developed those questions, but I found them relevant and challenging. Perhaps I found the questions challenging merely because I could answer so few of them. The fact that the elite Teasipper team from across the pond actually understood the questions clearly separated them from the chaff (the SUGI Executive Committee, who reacted to the questions as if Ray Pass were asking them in Navajo). Questions of the quality of those for this latest SAS Bowl (forget the prior events) would reliably identify truly advanced SAS programmers and developers. At least ask those involved in developing the 2003 SUGI Bowl questions to review SAS certification exam questions.

I wonder who will require SAS certification, or at least give preference to programmers or developers who have SAS certification. After interviewing hundreds of candidates for SAS and other programming jobs, I'd say that an experienced SAS programmer can classify a candidate in about fifteen minutes with reasonable accuracy as a beginning, intermediate, or advanced SAS programmer. Will the certification exam identify those that might fool an interviewer? I still wonder whether passing a certification exam reliably identifies competent programmers. Ian Whitlock has suggested that a good certification exam would pose a problem and require the examinee to write, test, and execute a SAS program to solve the problem. The examinee would have SAS manuals, context help, and other normal tools available for the exam. I prefer Ian's method of testing. I would not fly with a pilot that has passed a written certification exam but has not demonstrated that he or she can actually fly an airplane.

Sig

-----Original Message----- From: Peter Flom [mailto:flom@NDRI.ORG] Sent: Wednesday, June 18, 2003 10:00 AM To: SAS-L@LISTSERV.UGA.EDU Subject: Re: Need answers to SAS certification questions

I've looked this over, and it seems like a model of how to do a good job of test development.

So, I don't know how the bad questions got in there; like I said before, I'm not competent to judge the quality of most of the questions, but others seem to think that they aren't good ones......

Peter

>>> Mike Rhoads <RHOADSM1@WESTAT.COM> 06/18/03 09:23AM >>> The SAS folks did present a paper on this at the last SUGI conference -- it's available online at http://www2.sas.com/proceedings/sugi28/245-28.pdf.

I'll leave it to Peter and others to judge how good a job they did ...

Mike Rhoads Westat RhoadsM1@Westat.com

-----Original Message----- From: Peter Flom [mailto:flom@NDRI.ORG] Sent: Wednesday, June 18, 2003 8:39 AM To: SAS-L@LISTSERV.UGA.EDU Subject: Re: Need answers to SAS certification questions

Indeed, I got my PhD in Psychometrics, which involves construction of such tests. It is, as Phil states, a major endeavor. Plus, after a test is constructed, it needs a sensible scoring method. I wonder whether they are using classical test theory, or item response theory, or what?

Now, I'm lucky. I don't need to pass SAS Certification. And I don't know enough about a lot of SAS to have realized how poor these questions are. But clearly SOME people DO need to be SAS certified. If the test is really that bad (and I will take your collective word for it) then SAS (or whoever devised the test) might be in real trouble.

Peter

>>> Phil Rack <philrack@MINEQUEST.COM> 06/17/03 09:06PM >>> Sig, Jack and others...

Answering those questions would have been a WAG for me! It makes you wonder if/how they field tested it and whether they came up with any reliable or valid items. I would love to see the Institute publish a paper that addresses such issues. Right out of college, I worked for an educational testing company and it was a major task to do such things properly. We spent months a lot of time working out our sample before field testing and spent months writing the documentation of the supporting statistics for each and every question.

-----Original Message----- From: SAS(r) Discussion [mailto:SAS-L@LISTSERV.UGA.EDU]On Behalf Of Sigurd Hermansen Sent: Tuesday, June 17, 2003 4:52 PM To: SAS-L@LISTSERV.UGA.EDU Subject: Re: Need answers to SAS certification questions

These questions remind me of a SNL skit with Steve Martin as the host of a TV quiz show. The contestants (including, supposedly, Jeanne Kirkpatrick) had to respond to questions about American history with answers selected from the results of a poll of high school students. Knowledgeable contestants had no chance of winning.

Let's see how this works: Question 1: 2,3,5, probably in that order. 3 and 5 are not valid options; Question 2: none of the choices. The ps= system option (must be what they mean by 'global') has a maximum of 32,767 lines or 1,024 pages. Could they mean OPTIONS IGETNOBREAKS? Question 3: The condition IF _TYPE_='11110101'B would make the question merely obscure, arcane, and archaic. Stating the condition as IF _TYPE_='....0.0.'B makes the question just plain peculiar. I could probably guess the right answer, but I have no idea how to evaluate the condition as written. Question 4: I would go with 1; nonetheless, in a computing environment as complex as SAS, programmers don't really know or care. Question 5: Suppose the supreme examiner is selecting correct answers at random. The odds on favorite for the correct answer to this question would be 2. Or 4. (Sure that you haven't copied this question incorrectly?) Question 6: This question actually makes sense to me. I have not checked the syntax, but (except for (... the label ... then prints the label) Choice 2 looks good. Question 7: I like to go with the 'None of the above' choices. Test developers tend to believe that test takers will fall for at least one of the other choices.

I've checked my answers against those provided by Jack Hamilton, a more serious scholar of SASology, and I agree with his comments on the ambiguities in the questions. Are we really looking at official and correct questions on the SAS certification exam? That's a scary thought.

Sig

-----Original Message----- From: Quanda Garland [mailto:quandagarland@YAHOO.COM] Sent: Thursday, June 12, 2003 5:52 PM To: SAS-L@LISTSERV.UGA.EDU Subject: Need answers to SAS certification questions

Hello,

Could some body help me to find the correct answers for the following question. Some are vague to me.

Which option below has NO effect on the number of observations selected in a DATA step? Choice 1 OBS=0 Choice 2 ERRORS=0 Choice 3 ABORTABEND Choice 4 ERRORABEND Choice 5 ABORT

Which global OPTION below can be used to prevent page breaks when using PROC PRINTTO? Choice 1 MPRINT Choice 2 NOTITLES Choice 3 NOBREAKS Choice 4 PAGESIZE= Choice 5 LS= IF _TYPE_='....0.0.'B;? You are using a DATA step to post-process an output data set from a PROC MEANS that had eight class variables. What is the purpose of the statement above? Choice 1 It selects only the observations subgrouped by the 5th or 7th class variables. Choice 2 It selects only the observations subgrouped by the 4th or 6th class variables. Choice 3 It selects every observation except those subgrouped by the 4th and 6th class variables. Choice 4 It selects every observation except those subgroups involving the 5th and 7th class variables. Choice 5 It reformats the numeric variables into a hexadecimal format. When you submit a DATA step, what is the first action taken by the SAS System? Choice 1 The system will compile SAS statements. Choice 2 The system will begin with a DATA statement. Choice 3 The system will set variables to missing. Choice 4 The system will read an input record. Choice 5 The system will create an input buffer. Which statements below are used in a program that writes customized reports using "PUT" statements? Choice 1 proc printto; Choice 2 data _null_; file print; Choice 3 proc tabulate; Choice 4 data _null_; put _all_; Choice 5 proc sql; proc format; value x (fuzz=.3) 1='one' 2='two' 3='three'; What is the purpose of the FUZZ option in the sample code above? Choice 1 It specifies a width of the decimal value - in this case 3 decimal places. Choice 2 It indicates that if a variable falls within .3 of the value specified in the value statement, the corresponding label is used to print the value. Choice 3 It prints the label defined in the value if the variable value contains a .3. Choice 4 It multiplies the value of the variable times .3, and if the result equals the label (a certain number as defined in the DATA step), then prints the label. Choice 5 It divides the value of the variable by .3, and if the result equals the label (a certain number as defined in the DATA step), then prints the label. Which of the following is true of compressed data sets? Choice 1 Storage requirements are always decreased. Choice 2 CPU time required to prepare observations for input/output operations is decreased. Choice 3 The FIRSTOBS= and OBS= data set options can be used. Choice 4 The POINT= set option in the set statement can be used. Choice 5 None of the above are true.

You need to write out a comma-delimited flat file for import into MS Excel. Given that all values in your data set are positive and below 100000, what FORMAT used to write to the file would cause problems during the import? Choice 1 DOLLAR7. Choice 2 5. Choice 3 DOLLAR7.2 Choice 4 $5 Choice 5 7.2

TIA, Garland

Shane Hornibrook <shane_sasl_nospam1@ShaneHornibrook.com> wrote: Garland,

You've gotten great responses from Sigurd Hermansen, David L. Cassell, and JP. I have a bit to add to their code. If you run some of the example code using "select * from" and joining varibles with the same name you will notice WARNINGs in the log.

Using David L. Cassell's code as the base;

proc sql noprint; create table dm as select * from ds1 as a left join ds2 as b on a.subjid=b.subjid and a.lbtst=b.lbtst; quit;

If you run the code you will get warnings similar to

"WARNING: Variable subjid already exists on file WORK.DM." "WARNING: Variable lbtst already exists on file WORK.DM."

You can avoid these warnings by adding a RENAME to one set of variables, and dropping the renamed variables on the created table. It is not a required part of the SQL join, but it keeps your log file uncluttered.

The modified code looks like;

proc sql noprint; create table dm(drop=subjid_temp lbtst_temp) as select * from ds1 as a left join ds2 (rename=(subjid=subjid_temp lbtst=lbtst_temp)) as b on a.subjid=b.subjid_temp and a.lbtst=b.lbtst_temp; quit; run;

It looks a little 'crufty', but it works, and may save you a bit of time when reviewing your log files. On the downside, your code will run perhaps 30% slower than the non-renamed-variable SQL. This performance hit is in addition to the overhead of using PROC SQL vs the comparable datastep. This may become an issue if you are joining more than 500,000 records (As written and tested on an IBM AIX RS/6000 SAS v8 .... your mileage may vary).

In this case it seems faster (in all regards) to code and run the equivalent data step.

--Shane Shane Hornibrook Mobile: (902)441-4158 shane_sasl_nospam1@shanehornibrook.com http://www.shanehornibrook.com/

On Fri, 24 Jan 2003, Garland wrote:

> Hi, > > I have the following program. Can anybody give me the PROC SQL query > for the following datastep. I am learing proc sql just started to > convert the previously written programs to proc sql as an exercise. > > Thanks in advance, > Garland > > Data ds1; > Input subjid lbtst$ lowhigh $; > Datalines; > 1001 ALBUMIN NH > 1001 BUN NL > 1002 CALCIUM NH > 1002 BUN NL > 1002 LDH NH > ; > > Data ds2; > Input subjid studydy lbtst$ ; > Datalines; > 1001 0 ALBUMIN > 1001 1 ALBUMIN > 1001 7 ALBUMIN > 1001 14 ALBUMIN > 1001 0 BUN > 1001 1 BUN > 1001 1 URIC_ACID > 1001 2 GLUCOSE > 1002 1 CALCIUM > 1002 1 BUN > 1002 0 LDH > 1003 2 SODIUM > 1003 2 LDH > ; > > run; > > proc sort data=ds1; > by subjid lbtst; > run; > > proc sort data=ds2; > by subjid lbtst; > run; > > data dm; > merge ds1(in=aa) ds2; > by subjid lbtst; > if aa; > run; >

--------------------------------- Do you Yahoo!? Free online calendar with sync to Outlook(TM).

--- Incoming mail is certified Virus Free. Checked by AVG anti-virus system (http://www.grisoft.com). Version: 6.0.483 / Virus Database: 279 - Release Date: 5/19/2003

--- Outgoing mail is certified Virus Free. Checked by AVG anti-virus system (http://www.grisoft.com). Version: 6.0.483 / Virus Database: 279 - Release Date: 5/19/2003


Back to: Top of message | Previous page | Main SAS-L page