Comprehensive examples covering Base SAS programming, PROC SQL, SAS Macro, PROC IML, SASPy, Python integration, and Jupyter workflows.
Explore structured lessons, complete SAS programs, Jupyter notebooks, diagrams, and supporting materials for Base SAS programming. Topics include the DATA step, PROC procedures, PROC SQL, SAS Macro, PROC IML, SASPy, Python integration, and reproducible programming workflows.
Overview of SAS basics, SAS environment, libraries, and your first SAS programs.
Open LessonReading raw data using various input styles and SAS procedures, creating permanent and temporary SAS datasets, and writing SAS datasets to text and CSV files.
Open LessonFormats and informats, assignment statements, creating new variables using expressions and functions, IF-THEN/ELSE logic, and DO groups.
Open LessonUsing built-in SAS functions, iterative and conditional DO loops, arrays, and array processing to simplify programming and automate repetitive tasks..
Open LessonUsing dataset options (KEEP=, DROP=, RENAME=, WHERE=, OBS=, FIRSTOBS=), sorting dataset, and reshaping data.
Open LessonCombining SAS datasets using one-to-one reading, concatenation (SET), interleaving (SET BY), match-merging (MERGE), updating (UPDATE), modifying (MODIFY), and SQL joins.
Open LessonUsing Base SAS procedures, PROC SQL, and the Output Delivery System (ODS) to summarize data, generate descriptive statistics, create frequency tables, and produce professional reports.
Open LessonUsing DICTIONARY tables and SASHELP views to access SAS metadata, explore libraries, datasets, variables, indexes, formats, options, and other system information with PROC SQL.
Open LessonLearning the fundamentals of the SAS Macro Facility, creating and using macro variables, and working with automatic macro variables.
Open LessonUsing macro variable functions and macro quoting functions to manipulate text, evaluate expressions, and mask special characters.
Open LessonCreating and invoking SAS macros, defining positional and keyword parameters, using local and global macro variables, controlling macro execution, and developing reusable macro programs.
Open LessonLearning the fundamentals of SAS/IML, including matrix creation and manipulation, matrix operations, programming constructs, and statistical computations.
Open LessonSimulating data with PROC IML and using R from within PROC IML to extend SAS with R's statistical and graphical capabilities.
Open LessonUsing SASPy to integrate SAS and Python, execute SAS procedures from Python, exchange data between SAS and Python, and perform data analysis using the strengths of both programming environments.
Open LessonExploring additional SAS programming techniques and comparing the capabilities of SAS, Python, and R for selected tasks.
Open LessonStep-by-step instructions for creating a SAS OnDemand for Academics (ODA) account and configuring SASPy to connect to both a local SAS installation and SAS OnDemand for Academics.
Open LessonLaunching JupyterLab, sharing notebooks with NBViewer, converting Jupyter notebooks to HTML, and using selected Windows commands.
Open LessonThe SAS programming materials provided on this website are intended for educational purposes only. The author assumes no responsibility for any errors, omissions, or damages resulting from the use of these materials. Users are responsible for reviewing, testing, and validating all code before using it in research, academic, commercial, or production environments.
This learning center is designed as a companion to the CodeHurry website. Lessons are organized progressively and include executable SAS programs, Jupyter notebooks, HTML versions, and supporting materials to help learners move from fundamental programming concepts to advanced analytics and reproducible workflows.