SAS programming part 2: digging deeper

This course is an extension to the 3-day course SAS programming part 1: fundamentals. Multiple scenarios for building reports are compared based on more specialised procedures, more intelligent code and specialised SAS Base features. The course content is based on a selection of SAS coding techniques for reporting that are very often used by most companies that implement the SAS product.

At the end of this course, participants will be able:

  • to apply PROC Tabulate creatively;
  • to apply PROC Report creatively;
  • to exploit more intelligent logic in the data step and keep an eye on performance;
  • to use PROC SQL as an alternative for classic SAS code;
  • to consult data in external databases with PROC SQL;
  • to understand and use the SAS ODS principles;
  • to adapt the basic Graph procedures (PROC GPLOT, PROC GCHART and PROC GMAP).

If you want to write reusable SAS modules, see also SAS programming part 3: macro essentials.


No public sessions are currently scheduled. We will be pleased to set up an on-site course or to schedule an extra public session (in case of a sufficient number of candidates). Interested? Please let us know.

Intended for

Analysts, programmers, info-center support and experienced end-users. This course is suitable for both PC and mainframe users. Although "SAS on mainframe" is used in the labs, "SAS on Windows" is available for those delegates that never work in a mainframe terminal session. The statements and commands, as well as the context discussed are the same on all platforms.


Delegates should have followed the course SAS programming part 1: fundamentals or should have equivalent experience, and they also should not be afraid of writing code. The PROC SQL part of the course requires a good working knowledge of at least the basic SQL query; if not then first enrol for the course SQL and relational databases fundamentals.

Main topics

  • PROC Tabulate and PROC Transpose:

Dimensions • Class • Layout

  • PROC Report:

Layout • Column • Define

  • DATA STEP coding revisited:

Array • coding loops • creating PUT logic • efficiency and performance • nested dataset reading


SAS Data Step and Proc Step alternatives • Join • External relational data: view, passthrough, libname • the SAS part of SQL

  • SAS ODS:

The SAS ODS panels • export of SAS output to SAS data sets, HTML pages or flat files


Concept • graphical features • PROC GCHART • PROC GPLOT • PROC GMAP

Training method

Classroom training using visuals combined with demonstrations and exercises on SAS mainframe and SAS PC. A lot of time is spent on doing exercises. Participants are allowed to bring personal programmes with them.


3 days.

Course leader

Koen De Backer, Sandy Schillebeeckx.