BookmarkSubscribeRSS Feed
Nietzsche
Lapis Lazuli | Level 10

In addition for the official errata, post any errata not included in the official errata that you may have found. 

 

 

On page 85, I am pretty sure that should be

data=cert.heart

Since we only ever created cert library in the entire book (except two others for excel demo only), never created or used a clinic library (other than using clinic.admit (pg 44) as an example to explain data statement. Heart.sas is inside cert library.

Nietzsche_0-1667644038481.png

 

SAS Base Programming (2022 Dec), Preparing for SAS Advanced Programming (Cancelled).
26 REPLIES 26
Nietzsche
Lapis Lazuli | Level 10

page 79.  should be work.admit, since it is just a follow up from the example on page 77. work.admit

Nietzsche_0-1667691072607.png

 

SAS Base Programming (2022 Dec), Preparing for SAS Advanced Programming (Cancelled).
Nietzsche
Lapis Lazuli | Level 10

page 86, possibly used the wrong options, see this thread.

 

https://communities.sas.com/t5/SAS-Programming/firstobs-obs-not-giving-intended-result/m-p/842653#M3...

 

SAS Base Programming (2022 Dec), Preparing for SAS Advanced Programming (Cancelled).
Nietzsche
Lapis Lazuli | Level 10

page 161. 

 

cert.cltrials data set in the book printout has 9 observations, but in the data supplied, only have 7 observation.

 

Now this is after SAS institute told us about the errata from pg 161 to 164 that the correct data is cert.cltrials instead of cert.trials in their official update pdf.

 

Nietzsche_0-1667897344151.png

 

 

Because of the data is different, the transposed result on page 164 is different from the SAS output.

Nietzsche_0-1667905283025.png

 

SAS Base Programming (2022 Dec), Preparing for SAS Advanced Programming (Cancelled).
Nietzsche
Lapis Lazuli | Level 10

another issue caused by the difference in data set above is concatenated id on page 162 as mentioned in this thread.

SAS Base Programming (2022 Dec), Preparing for SAS Advanced Programming (Cancelled).
Nietzsche
Lapis Lazuli | Level 10

page 181. 

 

the data set provided in cert.measure is slightly different from the book in that row 6 and 7 in the book are the last two rows in the data set. 

Nietzsche_0-1668200920358.png

 

so you will get different result from figure 10.3 on page 182 if you run the code on page 181.

you just sort cert.measure by ID first to  get the same result.

 

proc sort data=cert.measure out=measure_sorted;
by ID;
run;


data one2one;
set cert.patients;
if age<60;
set measure_sorted;
run;

proc print data=one2one;run;
SAS Base Programming (2022 Dec), Preparing for SAS Advanced Programming (Cancelled).
Nietzsche
Lapis Lazuli | Level 10

page 217, both error and missing data.

 

firstly, it should be cert.CDRates as data sets are not stored in the temp work library. Secondly, the CDRates do not exist at all.

 

Nietzsche_0-1668248759741.png

 

SAS Base Programming (2022 Dec), Preparing for SAS Advanced Programming (Cancelled).
Nietzsche
Lapis Lazuli | Level 10

not mentioning fmtsearch= option in chapter 12 on proc format would definitely be counted as a major oversight, I wasted over 3 hours yesterday on this. 

 

https://communities.sas.com/t5/SAS-Programming/Format-was-not-found-or-could-not-be-loaded/m-p/84397...

SAS Base Programming (2022 Dec), Preparing for SAS Advanced Programming (Cancelled).
Nietzsche
Lapis Lazuli | Level 10

Page 263, pretty sure that TODAYDATE is not a function and author missed a line break to break up TODAY and DATE function.

Searched google, can't find TODAYDATE function.

 

Nietzsche_1-1668418525177.png

 

SAS Base Programming (2022 Dec), Preparing for SAS Advanced Programming (Cancelled).
Nietzsche
Lapis Lazuli | Level 10

so the TODAYDATE() function also exist in the SAS BASE exam reference guide.

https://communities.sas.com/t5/SAS-Programming/is-TODAYDATE-a-real-function-or-typo/m-p/844275#M3337...

Nietzsche_0-1668505754667.png

 

SAS Base Programming (2022 Dec), Preparing for SAS Advanced Programming (Cancelled).
Nietzsche
Lapis Lazuli | Level 10

page 244, should be format, not informat?

see

https://communities.sas.com/t5/SAS-Programming/date-informat-in-PROC-IMPORT-confusing-prep-guide-exa...

Nietzsche_1-1668900376258.png

 

 

 

SAS Base Programming (2022 Dec), Preparing for SAS Advanced Programming (Cancelled).
Anne_A
Quartz | Level 8

Hello @Nietzsche ,

In this specific case as the data is read I believe informat is the correct phrasing (format would be for how to show a value - informat is to specify how to read one).

Cheers.

Tom
Super User Tom
Super User

@Anne_A wrote:

Hello @Nietzsche ,

In this specific case as the data is read I believe informat is the correct phrasing (format would be for how to show a value - informat is to specify how to read one).

Cheers.


An INFORMAT is the SAS feature that supports controlling how text strings are converted into values.

This example is showing that PROC IMPORT is able to read files that have dates stored as string in Month/Day/Year order.  PROC IMPORT will decide to use USE the mmddyy informat to do that.  It will also decide to attach the mmddyy format to the variable so that when it is printed it will be display in the same Month/Day/Year order.  

 

It is NOT an example of how a user could use either an informat or a format directly.  Calling this either informat or format is just confusing especially to learners that might not fully understand what an informat and a format actually are.  

 

Something like this would be more accurate (and less confusing).

 

The follow example illustrates reading a CSV that has dates stored in mm/dd/yyyy style.

If they wanted to use it to introduce informat and format as concepts they might add:

 

Notice how PROC IMPORT generated SAS code that used the MMDDYY10. informat to read the file and attached the MMDDYY10. format to the variable so that it would print in the same mm/dd/yyyy style.

Anne_A
Quartz | Level 8

Hello @Tom ,

 

Agreed, of course - I was essentially trying to answer @Nietzsche's assumption that "informat" in the given context should be replaced with format, implying there was a mistake in the Prep Guide (which I happen to own too,as well as the mentioned source file).

"Reading" and "writing" are admittedly shortcuts (here also intended as useful mnemonics), i.e. simplifications that have the advantage of presenting things simply (you might say / think in a simplistic way 🙂), a strategy often used in teaching (and quite clearly used in the Prep Guide), admittedly with the risk of creating misconceptions (which you very thoroughly corrected). 

The page @Nietzsche was referring to is part of a paragraph titled "Reading Dates and Times with Informats" and I was basically using the same vocabulary to answer his question. I was certainly not trying to teach him the difference between format and informat - he has a whole chapter in the Prep Guide for that.

 

Nietzsche
Lapis Lazuli | Level 10

page 399 and 400 should be swapped around.

 

You can see the results starts with title "Laguardia Flights" and the first group is Dest=CPH PDF printout on page 401. 

 

But the SAS result start on page 400 and continue on 399. out of order.

 

Nietzsche_0-1669064578754.png

 

SAS Base Programming (2022 Dec), Preparing for SAS Advanced Programming (Cancelled).

Welcome to the Certification Community

 

This is a knowledge-sharing community for SAS Certified Professionals and anyone who wants to learn more about becoming SAS Certified. Ask questions and get answers fast. Share with others who are interested in certification and who are studying for certifications.To get the most from your community experience, use these getting-started resources:

Community Do's and Don'ts
How to add SAS syntax to your post
How to get fast, helpful answers

 

Why Get SAS Certified.jpg

SAS Training: Just a Click Away

 Ready to level-up your skills? Choose your own adventure.

Browse our catalog!

Discussion stats
  • 26 replies
  • 2039 views
  • 2 likes
  • 5 in conversation