
How to Use the Google Notebook LM Support for This Course
This course includes Google Notebook LM support — a powerful AI assistant that helps you answer specific questions about course content, code examples, and concepts. To use it, you’ll need a Google account and access the course notebook provided at:
? https://notebooklm.google.com/notebook/6d96dab2-13b6-48bc-9d5f-603804c1a552
Getting Started
Sign in with Your Google Account
Visit the link above using a browser where you are signed in to your Google account.
If prompted, allow Notebook LM the permissions it requests — this enables it to help you learn more effectively.
Open the Course Notebook
Once signed in, you should see a dedicated notebook that contains course‑related notes, examples, and AI interaction tools.
This notebook acts like an interactive study companion where you can ask questions directly.
Ask Questions Using Natural Language
In the Notebook, there’s a field where you can type your questions. Write any question like you would ask a tutor.
Example formats:
“How do I use a DO LOOP in SAS?”
“Explain the difference between implicit and explicit output.”
“Show an example of using PROC FORMAT for custom labels.”
Review the AI‑Generated Answers
Notebook LM will provide detailed, contextual responses based on course content.
It can show explanations, code snippets, definitions, and even step‑by‑step guidance.
Interact and Refine
If the first answer isn’t exactly what you need, you can refine your question.
Try follow‑ups like “Can you give a code example?” or “What’s a simpler explanation?”
Download the SAS Programming Resource Guide (link below) as accompanying slides and notes. Use it for quick reference to the lectures, make your own notes on top of this, or use them as presentation slides wherever you want !
This comprehensive document serves as a companion to the lectures, providing detailed slides and notes on the course content. With this Workbook, you can quickly refer back to important concepts covered in the lectures, ensuring a better understanding and retention of the material.
Additionally, the Workbook allows you to personalize their learning experience. You can make your own notes, annotations, and highlights directly on the slides, tailoring the content to your individual learning style. This interactive approach fosters active engagement and facilitates a deeper grasp of the SAS programming concepts.
Moreover, you can utilize the workbook beyond the course environment. The slides can be used as presentation material, enabling sharing your knowledge and insights with colleagues, classmates, or professional networks. Whether it's a workplace presentation, a team meeting, or a conference, this resource empowers you to showcase their SAS programming expertise with confidence.
The point of this passage is that SAS is an easy programming language to learn, compared to other languages like C, C++, Java, and Net. The example given is a simple table with two columns and ten rows, which can be created in SAS with just eight lines of code, while it would require 30 or 40 lines of code in other programming languages. SAS uses simple English words in its syntax, making it easy to read and write.
To obtain the SAS software application on your computer, you can use the free SAS on Demand service. To do this, you will need a computer with a good internet connection and a web browser. Go to a search engine and search for "SAS on Demand" and click on the "Access Now" button on the main page. If this is your first time using SAS on Demand, you will need to create a SAS user profile. Once you have received the email confirming your account, you will be able to login and access the SAS Studio, where you can do all your programming work. The user interface of SAS Studio will be explained in more detail later.
Follow the instructions in this video to see how you can start using SAS Studio with no installation necessary.
Use the link in the resource section, bookmark it on your web browser for logging into SAS every time.
SAS programming software can be obtained in two ways: by purchasing a license or by using SAS On Demand for free. To use SAS On Demand, you need to create a SAS user profile, confirm your account through email, and then log in to SAS On Demand. The SAS Studio is the primary interface for programming in SAS On Demand. It takes a few minutes to load, but once it is initialized you can begin programming.
In this lecture, the various windows in SAS are introduced, including the Editor window where programming code is written, the Log window where SAS produces a log of code execution and error/warning/note messages, and the Explorer window for navigating data and libraries. The Submit button, located in the Editor window, is used to submit code for execution. It is also mentioned that error messages in the Log window appear in red, warning messages appear in green, and notes appear in blue. The Explorer window includes pre-installed libraries such as SASUSER and SASHELP, as well as the temporary Work library. Data sets can be opened by double-clicking them in the Explorer window. It is also mentioned that the Output window displays results from code execution.
The section on preparing data will enable you to import data from common sources like the ubiquitous spreadsheets; create your own datasets within SAS, and work with SAS-supplied datasets. It will enable you to modify the data to make it more meaningful, and lastly perform some basic functions on variables. By the end of this section, you will have fully understood how is data handled in SAS, how it is stored in libraries and datasets, and modified using functions.
In SAS programming, data is organized into tables called datasets that have rows and columns. The columns are called variables and the rows are called observations. There are two types of variables in SAS: character variables, which contain text-based data, and numeric variables, which contain numbers. Character variables are left-aligned and numeric variables are right-aligned. SAS handles missing values in character variables by representing them with a null value, while missing values in numeric variables are represented with a period or dot.
In this lecture, we discuss how data sets are stored in libraries. There are two main types of libraries: temporary and permanent. Temporary libraries are located in a temporary folder in the computer's memory and the data stored there is lost once the session is closed. Permanent libraries are stored on the computer or server and the reference to the data is retained even after the session is closed. SAS provides sample permanent libraries, such as SAS Help and SAS User, which contain pre-made data sets that can be used for the coursework. To view the contents of a data set in a permanent library, it can be opened by double clicking on it. The data set's variables and observations will be displayed in a table, with character variables indicated by an icon and numeric variables indicated by a different icon. If a data set spans multiple pages, it can be accessed by clicking on the arrows at the bottom of the table.
The naming conventions for SAS libraries include having a name that is one to eight characters long, starting with a letter or underscore, and containing any combination of letters, numbers, or underscores after the first character. It is important to follow these conventions when creating your own SAS libraries.
There are three rules for naming conventions in SAS for both libraries and data sets. For libraries, the name must be between 1 and 8 characters in length, must begin with a letter or underscore, and can continue with any combination of numbers, letters, or underscores. For data sets, the name must be between 1 and 32 characters in length, must begin with a letter or underscore, and can continue with any combination of numbers, letters, or underscores. It is not allowed to use special characters like percentages, ampersands, plus signs, minus signs, stars, parentheses, dollars, or exclamation points in the names of libraries or data sets. If a name does not follow these rules, it will not be considered a valid SAS library or data set name.
Get used to the language, grammar and syntax of SAS - it's pretty much 90% english, with some machine-language characters like the semi-colon along the way. SAS is a programming language that uses simple English words to write code. It has a specific syntax and structure, including using specific keywords and ending statements with semicolons. SAS is case insensitive and can be written in multiple lines. It also allows for spaces and line breaks in the code. Keywords are often colored in dark blue to make the code more readable. SAS statements can begin and end anywhere in the programming editor.
Know the two important modules in SAS code - the Data Step and Proc Step, and when they are used and for what purposes. In SAS programming, the source code is divided into two main modules: the data step and the proc step. The data step is a block of code that pertains to modifying a data set, such as its variables and observations, or transferring data from one place to another. The proc step is a block of code that performs an action with the data, such as printing, reporting, or sorting. A data step begins with the keyword "data" and ends with the keyword "run", while a proc step begins with the keyword "proc" and ends with the keyword "run".
Just like finding books in a library through a catalog, data can be called upon from somewhere inside a library in two ways. Learn the single-level and two-level referencing. In SAS, there are two ways to reference data sets in libraries: two-level naming and single-level naming. In two-level naming, the data set name is preceded by the library name and a period, for example: "library.data set." Single-level naming does not include the library name, but it can only be used for data sets in the temporary library (called "work"). To reference a data set in a permanent library, two-level naming must be used.
There are three methods of bringing data into SAS. The first method is using existing data within SAS, such as data in the permanent libraries. The second method is creating data within the SAS programming window. The third method is importing data from external sources, such as Excel spreadsheets or other databases.
The different methods for bringing data into SAS are discussed here.
1.The first method is using existing data in SAS, which is stored in permanent libraries. This can be done through a data step in SAS, which involves specifying the data set name and the library it is coming from.
2.The second method is creating data within the SAS programming window and storing it in either permanent or temporary libraries. This is also done through a data step, using the input statement to specify the variable names and using the datalines statement to input the data.
3.The third method is importing data from external sources, such as Excel sheets or databases. This can be done using the proc import statement, which allows you to specify the file path and file type of the data. There are other methods to import data which can be done using the infile and input statements.
The third method of bringing data into SAS involves importing data from outside sources, such as Excel spreadsheets, using the import functionality or import wizard provided by SAS. The import process can be initiated by clicking on the "upload" feature, followed by the "new import data" option, which will guide the user through a series of steps to import the data. The imported data will be stored in the temporary work folder in SAS, under the name "Import." The first row of the Excel spreadsheet will be used as the variable names for the imported dataset.
In this lecture, different ways to bring data into a SAS program are discussed, including creating data within the program using the cards statement, and reading data from an external file using the filename statement. The use of the infile statement in a data step to read data from a file or from the cards statement is also explained, including he use of the infile statement's delimiter option to specify a character or symbol that is used to separate columns in the data, for example, a comma.
The infile statement in the data step reads data from the cards statement using the delimiter option to specify that the data is separated by commas and the dsd option to tell SAS to treat consecutive delimiters as a single delimiter using the DSD option.
In this lecture, another method is discussed for bringing data into SAS called "column input," in which the data is arranged in fixed-width columns with no separator characters between columns. The position of each column is explicitly specified in the input statement using the starting and ending positions of the column in the data.
Proc import is a SAS procedure that can be used to automate the process of importing data into SAS from external sources. It can be used with various types of data, including Excel files, text documents separated by commas or spaces, and CSV files. The proc import procedure has several options that can be specified, depending on the type of data being imported and the desired output. The proc import procedure is useful for quickly and easily importing data into SAS without having to write code.
The proc import procedure in SAS can be used to import data from text files that are formatted in different ways. For example, data can be separated by commas or by spaces. The proc import syntax remains the same, but the "delimiter" option can be used to specify the character that separates the data points in the text file
To create a new variable in SAS, you can use the data step and define the new variable using the assignment operator "=".
You can use the KEEP statement in SAS to only include certain variables in a dataset. You can also use the DROP statement to exclude certain variables. The RENAME statement can be used to change the name of a variable in a dataset. These statements can be used individually or in combination with each other.
The lecture demonstrates how to create new variables in SAS using mathematical operations and how to use these new variables to create additional new variables. The lecture also introduces the concept of conditional statements in SAS, which allow code to be executed based on a specified criteria. An example was given of using conditional statements to calculate the body mass index (BMI) in a dataset by dividing the weight in kilograms by the square of the height in meters.
Filtering in SAS refers to the process of selecting a subset of observations from a dataset based on a specified criteria. It can be applied to both a data step and a proc step, but the way it works is different in each case. In a data step, filtering reduces the number of observations in the resulting dataset. In a proc step, it reduces the number of observations in the report output, but does not affect the underlying dataset. Filtering is done using the WHERE statement, which specifies the criteria for selecting the observations. The syntax for filtering in a data step or proc step is the same, and involves using the WHERE statement followed by the criteria for selection. For example, the WHERE statement "WHERE sex='F'" would select only observations with a value of 'F' in the sex variable.
Learn how SAS treats dates, and why are they represented as integer numbers. Learn what happened on 01 Jan 1960 ! In SAS, dates are handled differently than in other programming languages. All dates are associated with a numerical value, with 1st January 1960 being given a value of zero and each subsequent day having a value one higher than the previous day.
SAS functions are used to modify variables to take on new values. They can be applied to one variable or a group of variables and can be used to modify character or numeric variables. There are two types of functions in SAS: character functions and numeric functions. Character functions perform modifications on character variables and usually result in a new character variable. Numeric functions perform modifications on numeric variables and usually result in a new numeric variable.
This lecture discusses two methods of formatting data in SAS: using the format statement and using the put function. The format statement allows you to apply a SAS format to a numeric variable and display it in a certain way, while retaining the original raw values in the final dataset. The put function allows you to convert a numeric variable into a character variable, and apply a SAS format to it in the final dataset. Both methods result in the original raw values being displayed in a formatted way with additional characters, but the difference is in the type of variable that the final values are stored in. The format statement associates a particular format with a specific numeric variable, while the put function converts the numeric variable into a character variable and applies the format. The lecture also mentions specific SAS formats such as dollar and SSN, and describes how they can be applied to variables in a dataset.
This lecture describes the process of using the SAS function PUT to convert a numeric variable to a character variable and apply a format to it. It explains that the PUT function takes as input parameters the name of the variable to be formatted and the name of the format to be applied, and returns a character value that is the formatted version of the original numeric value.
SAS informats are used to convert character values into numeric values by stripping out formatting characters, such as dollar signs or commas. The naming convention for SAS informats is similar to SAS formats, with a name followed by the length of the entire incoming formatted value (X) and the number of decimal places (Y). Informats are often used in combination with SAS formats to convert character values into various formats, such as dates, that are more meaningful and useful in specific industries.
A do loop is a type of loop that allows you to repeat a set of lines of code a specified number of times. It is useful when you want to iterate over a range of numbers or values. The do loop is started with the "do" keyword, followed by a counter variable that is used to keep track of the number of iterations. The loop is then ended with the "end" keyword. An explicit output statement can be used to create a separate observation for each iteration of the loop, and the loop can be modified by using the "by" keyword to specify the increment value.
This is the section on Structuring Data that will make you leap into transforming data to a new level by teaching you how to stack data together, merging multiple datasets together, turning them upside-down (by sorting), and even side-ways -- why would you do that ! (by transposing)
Learn the simple data SET statement for appending/ stacking data together
Learn about a very powerful procecure called Proc Sort in SAS. You will learn to rearrange data as you wish based on certain criteria.
Done in complex ways in other programming languages, merging of data is done rather simply in SAS. Learn about Data merge method and its use. Remember --> there is no Proc Merge in SAS !
This section on Data Visualization will propel you further into the world of analytics and obtaining insightful inferences to see what is inside your data. You will be able to generate beautiful charts, plots and other visual representation of data.
Learn about Proc Chart - a simple and powerful proc in SAS to visualize what is within your data and see it in a horizontal, vertical and pie charts
Obtain insights into your data through the scatter plot for 2 variables. This lecture will teach you about Proc Plot
Probably the least appreciated proc in SAS is the Proc Print. It is simply to show data in report output that can then be used for printing. The proc itself does not send your data to a printer !
Order your course completion certificate after you have completed this training (all lectures, quizzes, assignments and practice exams). See instructions on the last page of Resource Guide eBook.
A comprehensive, simple and visual guide to Data Analysis using SAS Programming, this course is simplified into the 4 main areas : Data Preparation, Data Structuring, Data Visualization and Optimizing Code using powerful SAS Macros.
This course now features AI-powered support, giving you instant, intelligent help whenever you have questions about the material. Whether you’re stuck on a SAS Base function, Advanced data manipulation, or the Capstone Project, the AI assistant can provide clear explanations, step-by-step guidance, and examples tailored to your queries—making your learning faster, easier, and more interactive.
Get instant answers to your specific questions about SAS topics, syntax, concepts, and examples.
The notebook understands your course context, so responses are tailored to this curriculum.
You can ask for code examples, explanations, or even debugging help.
You don’t have to memorize everything — the AI helps reinforce learning.
Ask follow‑ups to clarify, compare and contract with other topics, or dive deeper into topics.
Course Summary
This course is for absolute beginners as well as advanced users who wish to learn SAS Programming
Delivered in a highly visual style, you will experience a unique and immersive method of the lectures
Equips you with the cutting-edge tool used in many industries, primarily in Pharma, Finance and Insurance areas
Simplified to just 4 main areas, this course is an accelerated path to learning SAS programming
A guide to the following SAS certification exams:
SAS Certified Associate: Programming Fundamentals Using SAS 9.4 (Exam ID: A00-215)
SAS Certified Specialist: Base Programming Using SAS 9.4 (Exam ID: A00-231)
SAS Certified Professional: Advanced Programming Using SAS 9.4
SAS Certified Clinical Trials Programmer Using SAS 9
Super easy to to start using SAS with no installation on your computer necessary. All you need is a web browser and a good internet connection. This course uses the latest SAS Studio offered through SAS OnDemand and is completely Free to use !
12+ hours of knowledge-packed lectures, 100+ videos, 65 Quiz questions and 2 Practice Tests, followed by 2 practical and hands-on guided exercises and projects
AI-powered instant support to answer any questions on topics covered in this course
Download the SAS Programming Resource Guide eBook (100+ pages) as accompanying slides and notes. Use it for quick reference to the lectures, make your own notes on top of this, or use them as presentation slides wherever you want !
Earn a Certificate- When you finish listening to all videos, assignments, quizzes and practice exams, you'll earn a Certificate that you can share with prospective employers and your professional network.
COURSE SECTIONS
DATA PREPARATION will teach you how to import data from multiple sources, create new variables, write SAS functions, and understand what goes on behind the scenes in SAS datasets
DATA STRUCTURING will make you leap into transforming data to a new level by merging and joining multiple datasets together, or turning them upside-down (sorting), and side-ways (transposing)
DATA VISUALIZATION will propel you further into the world of analytics and obtaining insightful inferences from what is inside your data
OPTIMIZING CODE will take into the world of macro programming that teaches you how to write your code professionally and elegantly
At the end of each section, you will try out most concepts discussed in that section through coding exercises and guided assignments. Don't worry if you make mistakes in the assignments, these are guided assignments where I hand-hold you showing all the steps to get them correctly done. At the end of the course, there are 3 practical Capstone projects that are based on concepts from all sections of the course.
If you wish to further hone your SAS programming skills learnt in this course and apply it on a practical real-life example, I recommend you take my other course on Clinical SAS Programming. If the clinical portion doesn’t interest you, can you skip straight to the hands-on programming lectures (Section 3 onward) where you will begin working with a sample (clinical) data in an Excel sheet, which you will import into SAS, derive all necessary variables as in the mock shell specifications through various procs and functions, and finally generate a clinical study report. All this will be done using guided SAS Programming steps with detailed explanations at every step of programming.
Here’s what makes this course exceptional:
●Accessible Learning: You will gain hands-on experience with SAS OnDemand, which is free and cloud-based, eliminating the need for costly software licenses or installations on your computer. All you need is a working computer, a web browser, and an internet connection.
●Comprehensive Skill Development: You'll learn how to bring in data from multiple sources, including text files and pre-existing SAS datasets. You will also learn the techniques to clean and prepare data by handling delimiters and special characters. You'll master essential data manipulation techniques such as creating new variables, filtering data using where statements, and modifying data.
●Advanced Data Techniques: You will delve into advanced techniques such as using conditional if-else statements to create new variables conditionally, creating custom formats using proc format and also creating formatted reports using proc report. This course will also teach you how to merge data from different sources using various types of joins including a full join.
●Powerful Data Visualization: You'll learn how to represent data in actionable formats through various visualizations using proc chart for both horizontal and vertical bar charts. You'll also be able to create summary statistics, which will provide greater insights into the data.
●Efficient Code Optimization: You'll discover how to optimize your SAS code using powerful tools like SAS macros, which will allow you to write less code while accomplishing complex tasks. You will be able to apply macro functions to perform operations on macro variables.
●Real-World Applications: You will solidify your understanding by working on real-world data-driven projects, such as importing and analyzing car data from different regions, and working on student health data. Through these projects, you'll learn how to reuse code to generate multiple reports.
●Career Advancement: By the end of this course, you'll be equipped with the skills to confidently navigate data, perform complex analyses, and create visualizations, all of which can significantly boost your career prospects in the data-driven industries. This course will also prepare you for the real-world challenges of working with complex datasets.
This course is not just about learning SAS; it’s about transforming the way you approach data. Enroll now to begin your journey toward becoming a proficient SAS programmer, capable of handling real-world data challenges and stepping into a variety of career opportunities.
Some reviews from real students who took this course:
●"Very good course, I learned a lot. One of the best courses on Udemy for SAS in general."
●"Fantastic course - Aslam uses visual representations and code examples to assist in the learning of SAS concepts!"
●"I loved the pictorial explanations of the course. The pictures made the training come alive. Thank you."
●"The course is very informative and easily understandable. The information presented by the instructor is easy to follow & understand."
●"As someone with hardly any coding experience, I've very happy so far into section 3 with how plainly things are explained!"
●"This is a well done course. I would recommend it to anyone. If you have coding experience with R or Python, this is an easy language to pick up."
●"Very easy and step by step guided course."
●"Clear instructions and lot of examples. Great as an introductory course if you don't know anything about SAS."
●"Shorter videos and animations make the learning a very great experience. Animations is like cherry on the top for learning. I loved it."
●"Concise, practical, relevant, and no fluff. One of the best introductory courses i’ve experienced."