This online course is delivered using a blended learning pathway via our digital learning platform and will provide you with in-depth techniques for generating reports and output using the Language of SAS Output Delivery System (ODS), REPORT and TABULATE procedures.
There are comprehensive exercises throughout to help reinforce your learning.
By the end of this course you will be able to:
On day 1 we invite you to join a short online welcome to meet your instructor before starting the course.
This course is delivered live online by an experienced instructor over 4 x 4 hour sessions.
In addition, you will also need to set aside time to complete the Hands-On exercises.
Each day finishes with an open Q&A session with the instructor if you need any further support.
What you should already know...
To get the most out of this course it is expected that you should have attended the Fundamentals – the Language of SAS and the Intermediate – the Language of SAS courses (or comparable courses of study). If not, we would advise that you have at least nine months experience of developing code in the language of SAS, including:
- Use of Global statements e.g. LIBNAME FILENAME and OPTIONS
- Access data sources including Datasets and external files
- Use of functions to transform character data e.g. SCAN, FIND and SUBSTR
- Use of functions to transform numeric data e.g. CEIL, INT, FLOOR and ROUND
- Use of functions to transform dates e.g DAY, MONTH, YEAR and INTCK
- KEEP and DROP to select variables
- IF and WHERE statements to select observations
- Conditional Processing with IF-THEN-ELSE
- Summarising data with the FREQ, MEANS and TABULATE procedures
For the hands-on practice activities in the course, you will need access to an environment that runs the programming Language of SAS. On our courses, we signpost you to some of the free tools available.
Check out the links below to review system requirements:
What you'll be taught...
Identifying ODS Objects (Live Online Class)
Learning Objective: Describe Output Delivery System objects.
- Describe ODS objects
- Identify ODS objects generated by procedures
Capturing ODS Outputs in DATASETS (Live Online Class)
Learning Objective: Describe how to capture ODS output in a dataset.
- Identify the Name, Label or Path using ODS Trace
- The ODS Output statement
ODS Output Destinations (Live Online Class)
Learning Objective: Describe the Output Destination options.
- The Default Output Destination
- Generating Listing Output
- The ODS HTML destination
- Directing Output to Different Files
- Generating Data Step Output
Styling HTML with PROC TEMPLATE (Live Online Class)
Learning Objective: Explain how HTML Style Elements are defined and applied.
- HTML Style Elements
- Using existing Style Templates
- Defining Styles and Applying Changes
ODS Options (Live Online Class)
Learning Objective: Define options to alter and control ODS Output
- PROCTITLE and PROCLABEL statements
- SELECT and EXCLUDE statements
- Options to Control ODS Output
- Page Break
Accessing Excel Files (Live Online Class)
Learning Objective: Describe options for reading from and writing to Excel files.
- ODS HTML
- ODS CSVALL
- ODS TAGSETS.EXCELXP
- The ACCESS Engine
- Proc Import and Proc Export
PROC REPORT - Options & Default Options (Live Online Class)
Learning Objective: Explain default and selectable options to control report appearance.
- Default Options for report content
- Options to amend report appearance
PROC REPORT - Statements (Live Online Class)
Learning Objective: Utilise statements to control report content.
- Statements affect specific report items
- Column statement controls report content and order
- Define statement Usage Types and Attributes
PROC REPORT - Break and Rbreak (Live Online Class)
Learning Objective: Generate Sub-Totals and Grand-Totals .
- BREAK statement to generate Sub-Totals
- RBREAK statement to generate Grand-Totals
PROC REPORT - Computed Columns (Live Online Class)
Learning Objective: Create and Display a Computed Column.
- COLUMN statement
- DEFINE statement
- COMPUTE / ENDCOMP block
PROC REPORT - Define Statement Attritibute Options (Live Online Class)
Learning Objective: Control Column appearance.
- LABEL, FORMAT and NOPRINT options
- ORDER= DATA | FORMATTED | FREQ options
- RIGHT, LEFT and CENTER options
PROC REPORT - Other Options (Live Online Class)
Learning Objective: Define Column and Header size and spacing.
- Underline and Space column headers
- Line and page spacing in LISTING output
- Controlling column and header widths
- Spacing between columns
PROC REPORT - Styling Output (Live Online Class)
Learning Objective: Apply Style Options.
- Summary of PROC REPORT styling techniques
PROC TABULATE - Customise Row & Column Headings (Live Online Class)
Learning Objective: Control the appearance of Headings.
- LABEL statements
- KEYLABEL statements
- TABLE statement
- Override Labels
- BOX option
- Removing Row and Column Headings
PROC TABULATE - Formatting Data Cells (Live Online Class)
Learning Objective: Describe data format and order options.
- FORMAT statement
- Format modifier in the TABLE statement
- Formatting options in the PROC and TABLE statements
- Output data in Formatted, Unformatted or Original order
PROC TABULATE - Calculating Percentages (Live Online Class)
Learning Objective: Generate Count and Sum Percentages.
- Count and Sum for the entire report or for a selected Classification variable.
- Count and Sum Percentages for a Row or Column
- Count and Sum Percentages for the Page Dimension of Classification variables and for the entire report.
PROC TABULATE - BY Group Processing (Live Online Class)
Learning Objective: Create multiple tables.
- BY statement
- TABLE statement
- Differences between these two methods
PROC TABULATE - Output Data Sets (Live Online Class)
Learning Objective: Generate Output Data Sets.
- Output Data Set
- What the variables and their values mean
- Differences between the Data Set and the Report
- Page Break
PROC TABULATE - Styling Output (Live Online Class)
Learning Objective: Describe styling techniques to alter report presentation.
- PROC TABULATE