Click here for the full conference schedule
Early Registration Regular Registration
EXTENDED TO MAY 10 Closes May 20
Conference Registration $99 $124
Post-conference Training Session* $99 $149
* Cost per half-day session
Ohio SAS® Users Conference
Monday, May 20, 2019
8am - 5pm
Oasis Conference Center
902 Loveland-Miamiville Road
Loveland, OH 45140
Ph: 513-583-8383
fax: 513-583-9872
www.oasisconferencecenter.com
Questions? Send a note to ohiosas@gmail.com
Post-Conference Intensive Training May 21-22
We're bringing two of the most popular trainers in the SAS Community to deliver courses on topics that will help you take your SAS skills to the next level. Choose from eight half-day intensive courses presented by Kirk Paul Lafler from Software Intelligence Corporation and Josh Horstman from Nested Loop Consulting. All courses feature instructor-led learning with code examples. Course notes are provided.
Keynote Presentations
Integrating SAS® and Microsoft Excel: Exploring the Many Options Available to You
Vince DelGobbo, SAS
This presentation explains some techniques available to you when working with SAS® and Microsoft Excel data. You learn how to import Excel data into SAS using the IMPORT procedure, the SAS DATA step, SAS® Enterprise Guide®, and other methods. Exporting data and analytical results from SAS to Excel is performed using the EXPORT procedure, the SAS DATA step, SAS Enterprise Guide, the SAS Output Delivery System (ODS), and other tools. The material is appropriate for all skill levels, and the techniques work with various versions of SAS software running on the Windows, UNIX (including Linux), and z/OS operating systems. Some techniques require only Base SAS® and others require SAS/ACCESS® Interface to PC Files.
Vince DelGobbo, SAS
This presentation explains some techniques available to you when working with SAS® and Microsoft Excel data. You learn how to import Excel data into SAS using the IMPORT procedure, the SAS DATA step, SAS® Enterprise Guide®, and other methods. Exporting data and analytical results from SAS to Excel is performed using the EXPORT procedure, the SAS DATA step, SAS Enterprise Guide, the SAS Output Delivery System (ODS), and other tools. The material is appropriate for all skill levels, and the techniques work with various versions of SAS software running on the Windows, UNIX (including Linux), and z/OS operating systems. Some techniques require only Base SAS® and others require SAS/ACCESS® Interface to PC Files.
Insights from a SAS Technical Support Guy: A Deep Dive into the SAS® ODS Excel Destination
Chevell Parker, SAS
SAS is a world leader in data analytics while Microsoft Excel, with over 30 million active users, is a leader when it comes to spreadsheet packages. Excel spreadsheets are heavily used for calculations, information organization, statistical analysis, and graphics. SAS can leverage the power of its world-class analytics and reporting capabilities to produce stylistic and highly functional Excel spreadsheets using the Excel destination in the SAS® Output Delivery (ODS) System. This paper, relevant to anyone who uses Microsoft Excel, offers insights into the depths of the ODS Excel destination by illustrating how you can customize styles in Microsoft Excel worksheets, and it discusses common layout and reporting questions (including limitations). In addition, the discussion covers useful applications for automating and executing Excel worksheets. After diving deep into this discussion about the ODS Excel destination, you should understand the behavior and capabilities of the destination so that you can create aesthetic and effective Excel worksheets.
Chevell Parker, SAS
SAS is a world leader in data analytics while Microsoft Excel, with over 30 million active users, is a leader when it comes to spreadsheet packages. Excel spreadsheets are heavily used for calculations, information organization, statistical analysis, and graphics. SAS can leverage the power of its world-class analytics and reporting capabilities to produce stylistic and highly functional Excel spreadsheets using the Excel destination in the SAS® Output Delivery (ODS) System. This paper, relevant to anyone who uses Microsoft Excel, offers insights into the depths of the ODS Excel destination by illustrating how you can customize styles in Microsoft Excel worksheets, and it discusses common layout and reporting questions (including limitations). In addition, the discussion covers useful applications for automating and executing Excel worksheets. After diving deep into this discussion about the ODS Excel destination, you should understand the behavior and capabilities of the destination so that you can create aesthetic and effective Excel worksheets.
5 Things That You Probably Didn’t Know About Machine Learning; My boss squirted coffee through his nose when he heard #4!
Chuck Kincaid
Machine Learning has been everywhere for quite some time now. We hear about it in the trade journals, on TV, in newspapers and comic strips. Companies are spending a lot of money on Machine Learning. Maybe you’ve thought about jumping on the bandwagon. Good. There is a lot of benefit to using analytical techniques like Machine Learning. As you do, it’s important to be well prepared. This webinar will discuss 5 things that you probably don’t know about Machine Learning, but that are important to know as you make that jump.
Chuck Kincaid
Machine Learning has been everywhere for quite some time now. We hear about it in the trade journals, on TV, in newspapers and comic strips. Companies are spending a lot of money on Machine Learning. Maybe you’ve thought about jumping on the bandwagon. Good. There is a lot of benefit to using analytical techniques like Machine Learning. As you do, it’s important to be well prepared. This webinar will discuss 5 things that you probably don’t know about Machine Learning, but that are important to know as you make that jump.
Post-conference Trainers
Josh Horstman is an independent statistical programmer based in Indianapolis with 20 years’ experience using SAS in the life sciences industry. He specializes in analyzing clinical trial data, and his clients have included major pharmaceutical corporations, biotech companies, and research organizations. A SAS certified programmer, Josh loves coding and is a frequent presenter at SAS Global Forum and various regional and local SAS users group. Josh holds a bachelor's degree in mathematics and computer science, and a master's degree in statistics from Colorado State University.
Kirk Paul Lafler is an entrepreneur and founder at Software Intelligence Corporation, and has used SAS software since 1979 as a consultant, application developer, programmer, SAS solutions provider, data analyst, data manager, infrastructure specialist, performance tuner, educator and author. As a SAS Certified professional, mentor, and educator at Software Intelligence Corporation, and an advisor and adjunct professor at the University of California San Diego Extension, Kirk has taught SAS courses, seminars, workshops, and webinars to thousands of users around the world.
Kirk is also the author or co-author of several books including PROC SQL: Beyond the Basics Using SAS, Third Edition (SAS Press. 2019); hundreds of papers and articles on a variety of SAS topics; and has been selected as an Invited speaker, educator, keynote and section leader at SAS conferences and meetings worldwide; and is the recipient of 25 “Best” contributed paper, hands-on workshop (HOW), and poster awards.
Kirk is also the author or co-author of several books including PROC SQL: Beyond the Basics Using SAS, Third Edition (SAS Press. 2019); hundreds of papers and articles on a variety of SAS topics; and has been selected as an Invited speaker, educator, keynote and section leader at SAS conferences and meetings worldwide; and is the recipient of 25 “Best” contributed paper, hands-on workshop (HOW), and poster awards.
Tuesday, May 21 8am - Noon Getting Started with SAS Macro Language Basics
Tuesday, May 21 8am - Noon Creating Custom Excel Spreadsheets with PROC REPORT and ODS Excel
Tuesday, May 21 1pm - 5pm Advanced SAS Macro Language Techniques for Building Dynamic Programs
Tuesday, May 21 1pm - 5pm Data-driven Programming Techniques Using SAS®
Wednesday, May 22 8am - Noon Fifty Five Functions to Supercharge your SAS Code
Wednesday, May 22 8am - Noon PROC SQL Programming: The Basics and Beyond
Wednesday, May 22 1pm - 5pm Advanced DATA Step Programming: Tips & Techniques
Wednesday, May 22 1pm - 5pm Fuzzy Matching Techniques Using SAS®
Tuesday, May 21 8am - Noon Creating Custom Excel Spreadsheets with PROC REPORT and ODS Excel
Tuesday, May 21 1pm - 5pm Advanced SAS Macro Language Techniques for Building Dynamic Programs
Tuesday, May 21 1pm - 5pm Data-driven Programming Techniques Using SAS®
Wednesday, May 22 8am - Noon Fifty Five Functions to Supercharge your SAS Code
Wednesday, May 22 8am - Noon PROC SQL Programming: The Basics and Beyond
Wednesday, May 22 1pm - 5pm Advanced DATA Step Programming: Tips & Techniques
Wednesday, May 22 1pm - 5pm Fuzzy Matching Techniques Using SAS®
Courses by Josh Horstman:
Getting Started with SAS Macro Language Basics
(licensed from Art Carpenter)
This half-day seminar is designed for the SAS programmer who is new to the Macro Language. We will start at the basics and cover the fundamentals necessary to start applying SAS macros in your programs. By the end of the day you will understand how the Macro Language works, what the Macro Symbol Table is and how to values stored in it, how the SAS System uses Macro Variables, key Macro Language concepts, important SAS Macro Language statements, and how to invoke Macros in your programs. The examples shown in the course materials demonstrate the power and flexibility of this part of the SAS System and will enable you to apply its functionalities to your own programs right away.
Intended Audience: Beginner to early intermediate SAS programmers
Advanced SAS Macro Language Techniques for Building Dynamic Programs
(licensed from Art Carpenter)
This seminar shows you how to take advantage of SAS Macro Language capabilities that enable you to write dynamic programs and applications. By mastering the concepts and techniques presented in this class your programs will become free of hard-coded data dependencies, thus eliminating the need to re-write the code every time a data set name, variable name, or other data attribute, changes. Topics will include how to build and process macro variable lists, using the macro language to control the data environment, using control files, working with datasets and libraries in the macro language, accessing the SAS data dictionaries, and other miscellaneous macro topics that will help you create dynamic code.
Intended Audience: SAS programmers with good understanding of the SAS Macro language
Fifty-Five Functions to Supercharge your SAS Code
The SAS System includes an extensive collection of DATA step functions that can provide great utility and convenience for the programmer. Many of these functions are relatively new and unknown. In this half-day course, we’ll look at some SAS functions that should be in every programmer’s toolbox. Each function will be presented with concrete examples so you’ll be able to take what you’ve learned and put it to use right away. We will cover functions from a broad range of categories such as string manipulation, logic and program control, dates and times, metadata, and much more. This course is suitable for beginning SAS programmers, but even seasoned veterans will probably find something new!
Intended Audience: All levels of SAS programmers
Advanced DATA Step Programming: Tips & Techniques
(licensed from Art Carpenter)
To solve complex coding problems with the SAS® DATA step, one must go beyond a basic understanding of the individual statements. You need to understand how the various statements interact with each other and how their options can be leveraged to build DATA step code that provides innovative solutions to the toughest of problems. Based on Art Carpenter’s book, Carpenter’s Guide to Innovative SAS® Techniques, this class is a must for the DATA step programmer who wants to take his or her programs to the ‘next’ level.
This course is designed to be taken by a student who has a basic understanding of the DATA step, its primary statements, and its basic operation. The seminar will provide a short refresher of these basics, but will concentrate on topics that will allow the user to take full advantage of the power of the DATA step.
The student will gain a deeper understanding of the operation of the DATA step and be exposed to innovative techniques for solving difficult programming problems. The relative efficiencies of various methods will be discussed along with the methodologies for their implementation.
Intended Audience: Intermediate SAS programmers and beyond
Courses by Kirk Paul Lafler:
Creating Custom Excel Spreadsheets with PROC REPORT and ODS Excel
SAS® users turn to the REPORT procedure to customize and satisfy all their reporting needs for the creation and delivery of quality “custom” detail and summary reports, and specialized output for management, end users, and customers. This new and popular course teaches SAS® users an assortment of techniques to create custom reports and specialized output using PROC REPORT and the powerful ODS Excel destination. Attendees acquire useful Output Delivery System (ODS) skills to create detail and summary reports using PROC REPORT; combine PROC REPORT and the ODS Excel destination to produce detail and summary Excel workbooks; customize output and results with SAS-supplied styles; compute subtotals, totals and percentages using a COMPUTE Block; produce statistics for analysis variables; apply conditional logic to control summary output rows; add background images; build custom autofilter drill-down (interactive) reports and Excel workbooks; and add traffic lighting scenarios to Excel workbooks.
Intended Audience: Novice SAS users
Data-driven Programming Techniques Using SAS®
Data-driven programming is a popular programming paradigm where the data, or data structures, control the flow of a program. Data-driven programming techniques can be applied to structured and unstructured data for filtering, aggregating, transforming and calling other programs. Topics include using SAS® programming techniques to access NLEVELS (By-group content); create single-value and value-list macro variables; construct an external control file to define relationships; use PROC FORMAT with CNTLIN= option; access SAS Dictionary tables (or SASHELP Views) content; use the FETCHOB() Function; use CALL SYMPUTX; use CALL EXECUTE; use PROC FCMP with RUN_MACRO; use iterative programming constructs and processes with the Macro language to dynamically create data-driven programs; and a variety of programming examples to access the content of read-only SAS metadata DICTIONARY tables and SASHELP views, discover valuable information about the assigned librefs and filerefs, the names of the tables available in a libref, determine if a data set is empty, identify the number of observations in any data set, determine the number of character versus numeric variables exist in any data set, identify and assess variable attributes, determine the names of variables associated with simple and composite indexes, and other exciting applications.
Intended Audience: All SAS users
PROC SQL Programming: The Basics and Beyond
This course teaches SAS® and SQL users’ core concepts and features about using PROC SQL from Kirk’s popular PROC SQL Beyond the Basics Using SAS, Third Edition book. Attendees learn how to use PROC SQL to access data in SAS datasets (tables); review essential programming tasks including retrieving, subsetting, ordering, and grouping data; construct logic scenarios with case expressions; explore one-to-one, one-to-many, and many-to-many data relationships; understand the similarities and differences between DATA step merges and joins; create inner and outer join constructs as well as apply set operators to combine two or more tables together; use summary (statistical) functions to aggregate data; explore the different methods of creating new tables; interface PROC SQL and the macro facility to create single-value and multi-value macro variables; determine the number of rows in any table; identify the tables with the most indexes; handle nearest neighbor problems; identify and access FIRST.row, LAST.row, and BETWEEN.rows while processing By-groups; and apply “select” query debugging techniques to help detect coding errors, warnings and other messages.
Intended Audience: All SAS and SQL users
Fuzzy Matching Techniques Using SAS®
Data comes in all forms, shapes, sizes and complexities. Stored in files and data sets, SAS® users across industries know all too well that data can be, and often is, problematic and plagued with a variety of issues. One issue, in particular, stems from the complexities associated with linking, or matching, observations from two or more data sets where a common unique identifier, referred to as the key, is not reliable or does not exist. What happens when a unique identifier such as a subscriber name, mailing address, and/or email address is misspelled, has one or more characters transposed, or is partially and/or incorrectly recorded? This instructor-led course introduces fuzzy matching programming techniques; the assortment of data issues users have to deal with; popular data cleaning and data restructuring techniques; the application of functions such as SUBSTR, SCAN, INDEX, COMPARE, CAT, SOUNDEX (for phonetic matching), SPEDIS, COMPLEV, COMPGED; and an assortment of programming techniques used to resolve key identifier issues and to merge, join and match less than perfect or messy data.
Intended Audience: All SAS users
Getting Started with SAS Macro Language Basics
(licensed from Art Carpenter)
This half-day seminar is designed for the SAS programmer who is new to the Macro Language. We will start at the basics and cover the fundamentals necessary to start applying SAS macros in your programs. By the end of the day you will understand how the Macro Language works, what the Macro Symbol Table is and how to values stored in it, how the SAS System uses Macro Variables, key Macro Language concepts, important SAS Macro Language statements, and how to invoke Macros in your programs. The examples shown in the course materials demonstrate the power and flexibility of this part of the SAS System and will enable you to apply its functionalities to your own programs right away.
Intended Audience: Beginner to early intermediate SAS programmers
Advanced SAS Macro Language Techniques for Building Dynamic Programs
(licensed from Art Carpenter)
This seminar shows you how to take advantage of SAS Macro Language capabilities that enable you to write dynamic programs and applications. By mastering the concepts and techniques presented in this class your programs will become free of hard-coded data dependencies, thus eliminating the need to re-write the code every time a data set name, variable name, or other data attribute, changes. Topics will include how to build and process macro variable lists, using the macro language to control the data environment, using control files, working with datasets and libraries in the macro language, accessing the SAS data dictionaries, and other miscellaneous macro topics that will help you create dynamic code.
Intended Audience: SAS programmers with good understanding of the SAS Macro language
Fifty-Five Functions to Supercharge your SAS Code
The SAS System includes an extensive collection of DATA step functions that can provide great utility and convenience for the programmer. Many of these functions are relatively new and unknown. In this half-day course, we’ll look at some SAS functions that should be in every programmer’s toolbox. Each function will be presented with concrete examples so you’ll be able to take what you’ve learned and put it to use right away. We will cover functions from a broad range of categories such as string manipulation, logic and program control, dates and times, metadata, and much more. This course is suitable for beginning SAS programmers, but even seasoned veterans will probably find something new!
Intended Audience: All levels of SAS programmers
Advanced DATA Step Programming: Tips & Techniques
(licensed from Art Carpenter)
To solve complex coding problems with the SAS® DATA step, one must go beyond a basic understanding of the individual statements. You need to understand how the various statements interact with each other and how their options can be leveraged to build DATA step code that provides innovative solutions to the toughest of problems. Based on Art Carpenter’s book, Carpenter’s Guide to Innovative SAS® Techniques, this class is a must for the DATA step programmer who wants to take his or her programs to the ‘next’ level.
This course is designed to be taken by a student who has a basic understanding of the DATA step, its primary statements, and its basic operation. The seminar will provide a short refresher of these basics, but will concentrate on topics that will allow the user to take full advantage of the power of the DATA step.
The student will gain a deeper understanding of the operation of the DATA step and be exposed to innovative techniques for solving difficult programming problems. The relative efficiencies of various methods will be discussed along with the methodologies for their implementation.
Intended Audience: Intermediate SAS programmers and beyond
Courses by Kirk Paul Lafler:
Creating Custom Excel Spreadsheets with PROC REPORT and ODS Excel
SAS® users turn to the REPORT procedure to customize and satisfy all their reporting needs for the creation and delivery of quality “custom” detail and summary reports, and specialized output for management, end users, and customers. This new and popular course teaches SAS® users an assortment of techniques to create custom reports and specialized output using PROC REPORT and the powerful ODS Excel destination. Attendees acquire useful Output Delivery System (ODS) skills to create detail and summary reports using PROC REPORT; combine PROC REPORT and the ODS Excel destination to produce detail and summary Excel workbooks; customize output and results with SAS-supplied styles; compute subtotals, totals and percentages using a COMPUTE Block; produce statistics for analysis variables; apply conditional logic to control summary output rows; add background images; build custom autofilter drill-down (interactive) reports and Excel workbooks; and add traffic lighting scenarios to Excel workbooks.
Intended Audience: Novice SAS users
Data-driven Programming Techniques Using SAS®
Data-driven programming is a popular programming paradigm where the data, or data structures, control the flow of a program. Data-driven programming techniques can be applied to structured and unstructured data for filtering, aggregating, transforming and calling other programs. Topics include using SAS® programming techniques to access NLEVELS (By-group content); create single-value and value-list macro variables; construct an external control file to define relationships; use PROC FORMAT with CNTLIN= option; access SAS Dictionary tables (or SASHELP Views) content; use the FETCHOB() Function; use CALL SYMPUTX; use CALL EXECUTE; use PROC FCMP with RUN_MACRO; use iterative programming constructs and processes with the Macro language to dynamically create data-driven programs; and a variety of programming examples to access the content of read-only SAS metadata DICTIONARY tables and SASHELP views, discover valuable information about the assigned librefs and filerefs, the names of the tables available in a libref, determine if a data set is empty, identify the number of observations in any data set, determine the number of character versus numeric variables exist in any data set, identify and assess variable attributes, determine the names of variables associated with simple and composite indexes, and other exciting applications.
Intended Audience: All SAS users
PROC SQL Programming: The Basics and Beyond
This course teaches SAS® and SQL users’ core concepts and features about using PROC SQL from Kirk’s popular PROC SQL Beyond the Basics Using SAS, Third Edition book. Attendees learn how to use PROC SQL to access data in SAS datasets (tables); review essential programming tasks including retrieving, subsetting, ordering, and grouping data; construct logic scenarios with case expressions; explore one-to-one, one-to-many, and many-to-many data relationships; understand the similarities and differences between DATA step merges and joins; create inner and outer join constructs as well as apply set operators to combine two or more tables together; use summary (statistical) functions to aggregate data; explore the different methods of creating new tables; interface PROC SQL and the macro facility to create single-value and multi-value macro variables; determine the number of rows in any table; identify the tables with the most indexes; handle nearest neighbor problems; identify and access FIRST.row, LAST.row, and BETWEEN.rows while processing By-groups; and apply “select” query debugging techniques to help detect coding errors, warnings and other messages.
Intended Audience: All SAS and SQL users
Fuzzy Matching Techniques Using SAS®
Data comes in all forms, shapes, sizes and complexities. Stored in files and data sets, SAS® users across industries know all too well that data can be, and often is, problematic and plagued with a variety of issues. One issue, in particular, stems from the complexities associated with linking, or matching, observations from two or more data sets where a common unique identifier, referred to as the key, is not reliable or does not exist. What happens when a unique identifier such as a subscriber name, mailing address, and/or email address is misspelled, has one or more characters transposed, or is partially and/or incorrectly recorded? This instructor-led course introduces fuzzy matching programming techniques; the assortment of data issues users have to deal with; popular data cleaning and data restructuring techniques; the application of functions such as SUBSTR, SCAN, INDEX, COMPARE, CAT, SOUNDEX (for phonetic matching), SPEDIS, COMPLEV, COMPGED; and an assortment of programming techniques used to resolve key identifier issues and to merge, join and match less than perfect or messy data.
Intended Audience: All SAS users
Please Support our Sponsors
Supporting Partner