Wednesday Half-Day Class Richann Watson

Driving Miss Data: Data-Driven Techniques

Presented: Wednesday September 5, 2018, 8:00am-11:30am

Presented by:
Richann Watson is an independent statistical programmer and CDISC consultant. She has been using SAS since 1996. She is also a member of the CDISC ADaM team and various sub-teams. In addition, she is the chairperson for the local SAS user group in her area and is actively involved with SAS Global Forum, PharmaSUG, MWSUG and other SAS User Groups.

We have all been there. We write a program based on the data we have. Then we get new data and we must update the program. Making these updates can be time consuming. Not only must you update the production version of the program, but someone must also update any associated validation or QC programs. Wouldn’t it be nice if there were ways around this? This is where data-driven techniques come in handy. Using detailed examples, you will learn how to write robust code that is ready to handle an unexpected bend in the road! This half-day course will cover advanced techniques such as discovering and using information about data sets and variables even if it’s not known in advance; generating dynamic formats that are based on the data instead of hard-coded into your program; using complex looping structures to control your program flow based on the data; building code on the fly, even from within a DATA step; and much more!

Intended Audience: Beginner to intermediate

Tools Discussed: Base SAS

Prerequisite: Basic familiarity with DATA step programming and macro facility.

Class Outline:

  • Introduction
    • What is meant by data-driven?
    • What is the benefit of data-driven?
  • Variable Functions and ANY/NOT Functions:
    • Explanation of functions and syntax
    • Illustration of how they can be used
    • Build format libraries based on the data to use as input for other fields.
    • Use picture formats to control how a value display
  • Understand the DO WHILE and DO UNTIL to replace if-then-else
    • Explanation of difference of DO WHILE and DO UNTIL
    • Illustration of how to use for dynamic processing
  • Summary Statistics
    • Use information from procedure to determine what test statistic should be used
    • Allow data to determine decimal precision
  • Macro Facility
    • System macro variables to modify code based on operating environment, SAS version
    • Conditional if logic
    • Looping process that loops through unique values
    • Explanation and syntax
    • Illustration of how it can be used