I am taking the base exam but there are so many options and things that aren't explained further in the 1 & 2 modules that I could not know whether I need to explore deeper or not. Saying the exam covers module 1 & 2, and the document stating what the exam covers is actually quite vague. Especially when the exam wants you to know all the ways one thing can be done, rather than one.
This is the document you're referring to that is vague?
Is there anything specific on the document you feel is vague that we can help clarify?
There is a lot more covered in the essentials modules that the guide doesn't seem to mention. Then when you look at the prep guide it seems exponentially more thorough than the modules. Sometimes, it will be mentioned to review ourselves what options are available and how to use them, but how do we know which ones will be asked about? There are too many and each with a different syntax.
While the courses are geared towards the certification, for your career it's important to know how to look for options in the documentation. The courses mention other options because it cannot cover EVERY option available. Take a look at the documentation, that's just not possible. But you need to know how to go to the documentation and find the option you need.
For the certification. It looks like you are going for the Base Programming Specialist certification? If you go through the SAS Programming I and SAS Programming II courses and feel comfortable answering all the quiz questions at the end of each lesson and can do the Level 1 and Level 2 practices without looking at the answers (documentation is ok), you should be fine. The certification was not built to 'trick' you with obscure options. If you are struggling with some of the fundamental concepts (LIBNAME, GLOBAL Statements, DATA Step, IF/THEN), you will need to continue to study and practice.
You also get access to the SAS Documentation during the exam. You can see that here in the player for This quick video provides an overview and explains how to navigate the exam and lab environment.
There is also a certification review course. While this is not necessary, it's good practice if you are new to programming in general and processing data:
SAS® Certification Review: SAS® 9.4 Base Programming Performance-Based Exam
Here there is additional information like Books, Webinars and Practice Exams: https://www.sas.com/en_us/certification/credentials/foundation-tools/base-programming-specialist.htm...
The documentation has a lot of options, but it's well organized. It's a bit overwhelming at first because of the amount of options. But just ignore that for now. I couldn't count the number of options I've never used. But they are there if you need them.
@jaliu wrote:
Well, I have asked around about how to use the documentation, because I agree, it's absolutely essential to be able to use it if one does not know everything by heart, but haven't really gotten any answers. A SAS instructor even told me not to learn from it. I find quite complicated and almost as confusing as the language itself.
One thing is that the exam DOES seem to want to trick you, in the sense that they are many ways to do the same thing and they want you to know every single one of them. This could range from different code leading to the same results or the same statements but in different order. This is the part that scares me the most.
Yes you are correct. There are many ways to do the same thing at times. That goes for every programming language. This is not an exam trick. It's overwhelming when you first start programming in general, but it's just like everything. Practice, practice, practice, practice.
Some general programming/data advice. Before you begin programming (in general) you must first answer the question "What do I want to do". I always break it down into workable parts. Once I do, I begin my work.
Example. So, I have this data set. The first thing I want to do is obtain summary statistics on my table (mean, standard deviation, etc). Ok, I know what I want to do. Let's find a way to do it. Since I'm using SAS I can use PROC MEANS. That's a great efficient way to get summary statistics. Could I get the same information using PROC SQL? Yes. PROC SQL would take more coding on my part, but I could essentially do the same thing (for the most part).
After I get summary statistics on my numeric columns, now I want frequency values of categorical columns. Ok. I've heard of PROC FREQ. I know it can do that but I forgot the statements I need. Go to the doc and look around to find what statements/options you need. Now, maybe you don't know PROC FREQ. Ok, no problem. You can do some similar things with PROC SQL or the DATA STEP to get frequency counts. Would it take more code, yes. But you can get the same answers. Will I use SQL or the DATA step for frequency counts. No. I don't feel like typing all that code.
Well next I want to create quick visualizations of my FREQ output. Well, PROC FREQ has an option for that. Now you must go back to the doc and find it. Honestly I've used it PROC FREQ with plots hundreds of times and I forget the option all the time. But I know what I want. I know the PROC FREQ can do it. Now I need to go back to the doc and find that option. Now, could I use PROC SQL with PROC SGPLOT to do the same thing. Yes I can. Will I? No, because PROC FREQ does it easily with less code.
The idea of the courses and certification is that it exposes you to a variety of methods, PROCs, options, DATA step, accessing data, etc. It's your job to get a fundamental knowledge of how to use them all together for whatever data problem you have at hand.
In the end everything you are learning are just tools to put on your tool belt. I like to explain it like the tools in my garage. I have 3 hammers (small, medium, large), drills, different screws, etc. They all serve a variety of purposes. Could I use my large hammer to nail in a small nail for a picture? Of course. Will I? No, I like the small manageable hammer for that purpose. It's easier to use.
Hope this helps.
- Peter
One of the problems I find is that SAS does not seem very logical. Should I stop trying to understand and think that there's some sort of logic or basis behind the syntax? A lot of the syntax across procs, steps and options seem inconsistent and therefore hard to figure out.
Other languages do have different ways of doing the same thing yes, but there is no certification for other languages 🙂 . and other language seem much more logical, intuitive and consistent. For this exam, at least with the programming part I can try different things, but for the multiple choice, I wonder how I'm supposed to even know if some working code will now produce some error or not if one word is added or put in a different position.
It seems like the Essentials covers proc SQL and I just spent several hours studying this but this does not even seem to be on the exam. So I am utterly confused why it's not asked or why this is part of the core modules...
Looking at the certification content guide, SQL is not on the base programmer exam. It's showing you in the course because as a programmer SQL is important and something to start thinking about. The first course shows you a couple of general SQL concepts, and that you can use SQL inside of SAS using PROC SQL. There is an entire full two day course on PROC SQL in SAS: SAS® SQL 1: Essentials.
SQL is on the Advanced programmer exam.
- Peter
Occasionally syntax across PROCs can be slightly different, but generally the logic is similar. Especially the PROCS you are using in programming 1 and 2.
Summary statistics
PROC MEANS data= options;
statements;
RUN;
Print rows of a table
PROC PRINT data= options;
statements;
RUN;
Categorical data frequencies
PROC FREQ data= options;
statements;
RUN;
Create new tables
DATA newtable... options;
statements;
run;
Each PROC has a different purpose. So the statements within them can sometimes be different. Think of each PROC as a package in Python. A PROC can do a lot of things, similar to a package.
PROC MEANS, FREQ, PRINT, DATA Step, etc. -> Pandas and other statistical packages
PROC SGPLOT/SGSCATTER/SGPANEL, etc. -> Matplotlib, Seaborn, or other visualization packages
It's all about practice. You need to run through exercises, practice, really understand the fundamentals of the procedures. In the end you will most likely use the same common statements and options for what you do.. I've been using SAS for years, and I probably use 30% of the options in MEANS or FREQ. Many are statistical tests that I don't need or use. But many others do use those options. They are there IF you need them.
Above I posted a video that mentions you can use the doc in the exam to help you. You will not be asked for some obscure options or statements. Again, if you can do the practices and answer the questions in the courses you will be on the right track. Go through the course and practice. Just like any language It takes a lot of time, effort, practice and mistakes to learn.
Focus on learning. Then the certification will come.
- Peter
So now I also see that the prep book does not cover something that the doc says will be required. So I'm really confused. SAS should make it more clear, especially when they're charging so much for the exam and preparation materials.
The guide says we need to know cntlin option but it doesn't seem to be in the book. The book is also incredibly thorough so if this is what's tested on the exam then the guide would be extremely misleading.
SAS Innovate 2025 is scheduled for May 6-9 in Orlando, FL. Sign up to be first to learn about the agenda and registration!
Follow along as SAS technical trainer Dominique Weatherspoon expertly answers all your questions about SAS Libraries.
Find more tutorials on the SAS Users YouTube channel.