
Follow a step-by-step, theory-to-practice approach with quizzes and solution-rich exercises, teaching SAS basics from data step syntax, input methods, datasets, to proc print, proc report, and formats.
Learn base SAS programming by mastering basic syntax rules for SAS statements and names. Explore the data step structure, observations, and variables, and practice running programs in the SAS editor.
Define SAS as a plot-generation programming language designed to reduce development effort and time, enabling data entry, retrieval, management, reporting, analysis, forecasting, and business decision making.
Master SAS basics with data steps, set and input statements, semicolon rules, line continuation, and dollar sign notation for character variables in naming datasets and variables.
Learn how data steps and proc steps form the building blocks of a base SAS program, delimiting with statements to read, modify, and analyze data.
Describe descriptor and data portions of a SAS data set, dataset name, creation date, observations, variables, and character and numeric types, plus attributes like name, type, length, format, and label.
Explore SAS attributes and variable naming conventions, including character and numeric types, lengths, missing value displays as blanks or periods, and descriptive labels.
Navigate the SAS windows environment to write, edit, and submit programs, view outputs in the output, results, or graph windows, and check the log window for errors.
Read data into SAS datasets using data lines or infile, and apply formatted and column input to create and populate datasets from raw or external files.
Learn how to read instream data lines in SAS using column input, specifying start and end columns, and handling numeric and character values in a data step.
Learn how to manage SAS data libraries, distinguish temporary work libraries from permanent libraries, use libname statements to assign libraries, and reference datasets by two-level names.
Create a subdirectory, assign a libname to it, and read data into a permanent SAS dataset.
Explore reading data in the SAS windows environment using column input, list input, and formatted input, with fixed columns, character formats, and printing results.
Learn to read a column input in SAS by creating a data set, using column ranges in input, printing with proc print; cover subject, first name, last name, height.
Learn to read data from an external data set in Base SAS by using libname, a data step, and set statements to create a temporary or new data set.
Identify three core requirements for reading data in SAS, decide between temporary and permanent statuses, and apply the data statement with infile, set, or proper column definitions to create access.
Learn to read data in pieces using book or formatted input, report library contents, and describe a data set with a condensed procedure in base SAS programming, adjusting output options.
Use the contents procedure to inspect SAS libraries and datasets, view library contents and dataset details, and use the varnum option to display variables in their original order.
The lecture demonstrates list input in SAS, using the dollar sign for character fields, handling missing values with placeholders, and specifying delimiters like comma to ensure correct data read.
Explore formatted input in SAS, including absolute and relative pointers, width and decimal specifications, and how informats read character, numeric, and date values.
Master formatted input in SAS with absolute and relative column pointers to read numeric, character, and date fields, and avoid placing a format statement between input and output.
Learn how SAS system options control output format and behavior; use the options statement to set defaults like line size and page features such as center and date globally.
Learn how assignment statements in SAS create new variables from expressions, compute totals, and control variable order in the print procedure while handling missing values in observations.
Explore numeric functions syntax, including function names with arguments in parentheses, where arguments range from zero to many, with examples of two to 200 arguments and upcoming practicals.
Learn how SAS numeric functions ignore missing values when calculating means and averages, then apply nested and rounding functions to derive first digits and rounded scores.
Learn how to convert characters to numeric using the input function in SAS, ensure accurate numeric operations, and handle missing values with appropriate formats.
Learn to use if then else statements in base SAS to conditionally modify observations, handle missing values, and build efficient, mutually exclusive conditions with and/or operators.
Learn the SAS if-then syntax: evaluate a condition, execute the then action when true, skip it when false, and understand how missing values affect the statement in examples.
Learn how to write efficient SAS code by using if-then-else with logical operators and multiple comparisons to create mutually exclusive conditions and clear performance classifications.
Explore the use of and logical operator in SAS with multiple if-then-else statements under mutually exclusive conditions, prioritizing decreasing probabilities to optimize resource use and determine results.
Learn how SAS compares character values and handles case sensitivity when quotations differ. Convert to uppercase with the uppercase function to normalize and compare results reliably across mixed-case data.
Learn to perform multiple actions in SAS using the do and if statements, handling missing exams by assigning zero to the average total marks and notifying students.
Learn to generate basic SAS reports from a medical dataset by selecting variables, ordering output, and suppressing the observation column in a simple print procedure.
Learn how to use the where statement in SAS to select observations, apply if-then-else logic, and filter data with comparison operators, contains substring, and logical operators.
Learn to sort SAS data sets with proc sort by one or more variables, using by statements with ascending or descending order, and optionally create a temporary output data set.
Learn how to compute column totals and subtotals in SAS for medical data, using where clauses and careful handling of implicit variables to accurately total visits.
Sort the dataset by hospital, then use a by statement to produce subtotals by hospital and a grand total in SAS.
Become a creative SAS programmer by using the uniform option to manage many variables, suppress the observation number, and print the ID at the start of each by group.
Demonstrate how SAS titles and footnotes act as global statements that persist across output, support multiple numbered titles and footnotes, and how to clear them with a semicolon.
Explore the Dm statement and the double option in SAS to format output with double spacing, manage log and output windows, and display current program results clearly.
Format data values in SAS using format statements in the print procedure to control width and decimals, applying subject and expense formats and choosing single or multiple format statements.
Learn how SAS processes a program step by step, from data step to sort by name to print step, yielding a single output.
Sort the original data set by height in SAS, diagnose an incorrect by statement, and read the log window to fix errors and proceed to an error-free step.
Examine the SAS data step compilation and execution phases. See how syntax checks, input buffers, and the descriptor portion build the data set.
Explore the SAS execution phase, where the data step reads records into the input buffer via infile, updates the program data vector, and builds the output dataset.
Explore how SAS can auto-correct misspelled keywords in a data step, generate warning messages, and highlight issues such as dateline versus data line.
Explore note messages (blue) in base SAS, learn to interpret log entries about processing time and end-of-line issues, and fix outputs by using missing values or the MISSOVER option.
Develop good programming habits in SAS by writing readable, well-indented code; place one set statement per line, align data and proc steps in the first column, and test each part.
Learn to diagnose SAS programming errors by examining the log messages, identify common mistakes like missing semicolons, invalid options, and missing quotes, and improve debugging.
Detect missing semicolons in SAS programs, recognize editor color cues and syntax error messages, and learn to fix common issues in data and input statements by restoring the semicolon.
Explore handling invalid names and symbol choices in a complete SAS program, with examples and alternative identifiers to ensure correct syntax and clear output.
Learn how to use the drop and keep options in SAS to control variables and output, with examples showing drop in a statement and common misspellings causing errors.
Demonstrates converting a valid SAS statement into an invalid one to illustrate syntax errors, identifies invalid or out-of-order statements, and then corrects and runs the program.
Detect invalid data and missing values encountered during SAS input, using line and column notes, and apply list input and field corrections to correct height, BMI, and other fields.
Identify and fix variable not found errors by checking misspelled or uninitialized variables, ensuring correct dataset names and creation order, and using the contents procedure to review details.
Explore the generation of missing values and learn to handle them in base SAS using if statements and numeric functions instead of simple arithmetic.
Learn to detect common SAS programming mistakes with simple tips and tricks, including handling missing semicolons, invalid statements, missing quotation marks, and missing values that can affect output.
explore the SAS community yourself from official sas website and other online materials
My Best Wishes for 2022, Stay safe and Healthy ..I have added a Free video link from Youtube, so that my students can understand the SAS academics (as SAS stopped University Edition), it works online. Everything remains same. Good Luck. Still in case you face any issues, message me as "Ahmadi Begum ji" helped me out and many students by indicating above said issue. Thanks ji.
## Bonus lecture Guide for Joining for FREE official SAS community to interact with people worldwide
& links to Free SAS material and Jobs and discussion material ##
What I Expect from Students ( This course might seems Short, but none of the courses will teach you the basics and error handling as this course do) : Quality matters to me than Quantity.
Warning : Course might be boring for first few sections, as we deal with Basic building block (Base SAS Theoretical concept), after that You will be learning tips and tricks and will be applying the same.
Please if you don't have patience don't opt this course, as first 4 sections are really boring as they deal with theory and concepts.
- I will be adding bonus Lecture soon..of how to become part of SAS community and interact with SAS People all over the world and will be sharing few social groups that you can join for Jobs and Doubts.
# Topics / Syllabus To be Covered in this course step by step:
Accessing Data:
- Use FORMATTED and LIST input to read raw data files.
- Use INFILE statement options to control processing when reading raw data files.
- Use various components of an INPUT statement to process raw data files including column and line pointer controls.
- Create temporary and permanent SAS data sets.
Creating Data Structures:
- Create and manipulate SAS date values.
- Export data to create standard and comma-delimited raw data files.
- Control which observations and variables in a SAS data set are processed and output.
- Investigate SAS data libraries using base SAS utility procedures.
- Sort observations in a SAS data set.
- Conditionally execute SAS statements.
- Use assignment statements in the DATA step.
Managing Data:
- Accumulate sub-totals and totals using DATA step statements.
- Use SAS functions to manipulate numeric data, and SAS date values.
- Use SAS functions to convert character data to numeric and vice versa.
- Process data using DO LOOPS.
Generating Reports:
- Generate list reports using the PRINT procedure.
- Generate summary reports and frequency tables using base SAS procedures.
- Enhance reports through the use of user-defined formats, titles, footnotes and SAS System reporting.
Handling Errors:
- Identify and resolve programming logic errors.
- Recognize and correct syntax errors.
- Examine and resolve data errors.
Note:
1) Students might be asked to provide an email by SAS website , for downloading FREE SAS University Edition software for their use.(That is Download SAS free of cost)
2) Same applies to SAS community or Base SAS community.
3) Practice exercises attached to dropbox via Orangedox. In case of any issue please let me know.
Complete Base SAS programming for Non Techies : Only Passion to succeed Needed
This SAS course is specifically designed by keeping in mind Fresh graduates be it from Engineering field or Non Engineering Field.
Q: Is it necessary to have programming Background ?
Answer: No, Anyone can join and learn SAS programming be it a Non- Programmer , Fresh graduates from non Engineering / Engineering Background, even Professionals looking for a Job change.
Q: Will it help me in securing Job?
Answer : Yes, It will . Provided You practice each step taught in the course, You will definitely be Impress the interviewer and crack exam their SAS exam too.
Q: Will it help me in Official BASE SAS exam?
Answer: Yes Definitely, we will be moving forward step by step on SAS syllabus guidelines.
Q: I am from Clinical field should I join it ?
Answer: Why Not ? Every SAS programmer must be proficient in Base SAS programming, then only he/ she can move forward. Moreover here we will work with clinical examples too.
Q: Do I need some extra books to follow ?
Answer: No, not at all.. But following SAS documentation is recommended...As it is official. But, I suggest you to avoid it, as it will confuse you at this stage.
Note: All Sectional Quizzes and more videos will be added soon, so stay Tuned, Your positive review encourages me to add more content. So please do review the course properly , so that new enrolling students can make fast decision and I can add more content.
- Course is created by one of our best professionals any queries are welcome.