|
Workshop Descriptions and Instructor Profiles
Understanding Why Your Macros Don't Work
Instructor: Michelle Buchecker, SAS®
Sunday, November 4, 1:00 pm-5:00 pm
This brain-teasing seminar will discuss the behind-the-scenes workings of the macro facility and explain why macro
variables you thought would resolve don't; why you need an extra period or four after a macro variable reference;
why you care about the difference between %LET and CALL SYMPUT; and what all those extra ampersands mean.
Intended Audience / Pre-requisite: Assumes some macro knowledge, including macro definitions, %DO
loops, and CALL SYMPUT.
Author Biography: Michelle Buchecker is the Regional Education Director
for the SAS® Midwest training centers. She has been an instructor
at SAS for over 15 years, and manager for 10 of those years. Her specialties include Base SAS®, Macro, SAS/CONNECT®
(including parallel and distributed processing), OLAP, SAS/ACCESS®, report writing, and training techniques. Prior to
joining SAS, Michelle was a SAS programmer at IBM reading SMF mainframe data.
Back to Top
Separating the Interface from the Engine: Creating Custom Add-in Tasks for SAS® Enterprise Guide® 4.1
Instructor: Peter Eberhardt, Fernwood Consulting Group Inc.
Sunday, November 4, 1:00 pm-5:00 pm
In SAS Enterprise Guide 4.1, SAS provides a ton of tasks to tickle travels into the world of data
exploration and presentation. However, there are times when our fancy is not tickled just as it should
be. Perhaps you need a
front end to existing SAS reports, or perhaps you need a dynamic lookup screen. Whatever the need, developing a custom add-in
task may be the answer.
This workshop is not about using SAS Enterprise Guide. Rather, this workshop will show you how to
create custom tasks for use in SAS Enterprise Guide and the Add-in for Microsoft Office using Microsoft
Visual Studio and C#.NET. It will guide you through the tools you need to get started, and then dive
right into the C# programming and the Visual Studio environment. You do not need to know much about
how SAS Enterprise Guide or the Add-in for Microsoft Office work, however, you should have at least a rudimentary
knowledge of Microsoft Visual Studio and one of the Microsoft languages, preferably C#.
Intended Audience / Pre-requisite: Should be familiar with SAS
Enterprise Guide and Microsoft C# (or similar language)
Author Biography: Peter Eberhardt is a long time SAS consultant,
and his company, Fernwood Consulting Group Inc., is a SAS Alliance Partner. Peter has been an advocate of
separating the interface from the engine since he saw the possibilities that SAS made available with
the introduction of Integration Technologies in V8.
Back to Top
Intermediate ODS: Formatting ODS Output (Part 1)
Advanced ODS: Understanding ODS Objects (Part 2)
Instructor: Greg Nelson, Thotwave Technologies, LLC
Sunday, November 4; Part 1 8:00am-12:00pm; Part 2, 1:00pm-5:00pm
(Part 1 is a prerequisite for Part 2)
ODS, or the Output Delivery System, was a major milestone in the development of SAS. With
ODS, we now have the ability to programmatically control the content, structure and format of
how SAS renders content from any Procedure and DATA step. Most uses of ODS have centered
on its ability to take structured output from SAS – normally thought of as the SAS listing –
and redirect it to other formats such as HTML, PDF, and RTF. This course is designed for SAS
programmers who want to understand not only the fundamentals, but also expand on ODS’ importance, uses, strengths,
and learn how to exploit ODS for managing complex content.
Part 1: Formatting ODS Output
In the first part, we will lay the groundwork for ODS by summarizing the ways that ODS can be used to generate output,
what options are available as output targets and understand the limitations of each. Next, by building on your existing
knowledge of ODS, we will write some practical programs that give us control over appearance and
style. We will use our knowledge of PROC REPORT, PROC PRINT and PROC TABULATE to produce heavily customized
reports. In
addition to understanding STYLE=syntax and STYLE templates, we will learn about using TABLE templates with procedures and the
DATA step. Finally, we will introduce students to the concepts of ODS MARKUP for creating tagsets used in HTML
and XML document generation.
This course has
been carefully designed with SAS programmers in mind and should provide a
framework for further study for those wishing to build production quality programs that manage complicated output generation.
This course is not designed as a hands-on course, but examples will be provided for hands-on experience at
home. Special attention will be made to making this a thought-provoking seminar where participants will learn how to
start thinking in objects and apply their skills in developing SAS and ODS applications.
Part 2: Understanding ODS Objects
This is the second of a two-part course in ODS for SAS programmers. In this section, participants will apply what they
learned about the ODS and stylizing output to developing complex reports using ODS objects. Participants will learn
the ODS and how it relates to Object Oriented Programming (OOP) and the Object Model by exploring the ODS objects that
are available to us as programmers. We will develop a series of reusable programs that can be used to access
metadata and output from procedures to create specifically designed reports that combine text, tables and graphics. By using
ODS LAYOUT and ODS GRAPHICS, we will focus on how customized reporting can easily be accomplished. In addition,
we will explore output objects that are not normally available as part of the standard SAS listing or output
datasets provided for by the PROCs. Finally, we will provide several case studies in taking
output that was created in Part I and generate the content so that it is usable in Microsoft Office tools such as Word,
Excel, and PowerPoint. The second part of this course will take many of the examples used in the first part of the
course, and we will talk about what customizations can be made using both the LAYOUT features of ODS along with the object
model, making this a very powerful tool in our arsenal of SAS tools.
PLEASE NOTE: There are two enrollment options:
Option 1: Enroll in morning section only Sunday, November 4, 8:00 am – 12:00 pm, Intermediate ODS:
Formatting ODS Output: Part 1
Option 2: Enroll in morning and afternoon sections Sunday, November 4, 8:00 am – 12:00 pm, Intermediate ODS:
Formatting ODS Output: Part 1 *Sunday, November 4, 1:00 pm – 5:00 pm, Advanced ODS:
Understanding ODS Objects: Part 2
*Since Part 2 builds directly on Part 1, you may not register for Part 2 only.
Intended Audience / Pre-requisite: SAS® programmers wishing to understand how ODS can
be used for more than just outputting standard SAS listing files to HTML, PDF or RTF. It is
essential that attendees have experience with a programming language. It is a plus if they have
some exposure to object oriented concepts and assumes they have some knowledge of creating
HTML, PDF or RTF files with ODS.
Author Biography: Greg has recently started his third
decade in the SAS eco-system as a programmer, analyst, architect, and teacher. Greg is the President and
CEO of ThotWave Technologies where he supports customers in a variety of industries. Prior to ThotWave,
Mr. Nelson spent several years in consulting, media and marketing research, database marketing, and large
systems support. Mr. Nelson holds a B.A. in Psychology and PhD level work in Social Psychology
and Quantitative Methods.
Back to Top
SAS® 101: The Basics
Instructor: Janet Stuelpner, Pitney Bowes Inc.
Sunday, November 4, 8:00 am- 12:00 noon
SAS is a powerful and versatile application, providing the user with an integrated set of tools for data gathering, data
management, data manipulation, data analysis and reporting. Mastering SAS takes time, but getting started
with SAS is easy. SAS 101 will help to define clear and concise explanations of
basic SAS concepts. You will see the most commonly used features, plus a whole lot more.
The focus of
this course is Base SAS® and the great number of things that you can do with it. We will cover things such as:
- Gathering data from a multitude of data sources, including the use of the import and export wizard
- Data manipulation with the DATA step and procedures such as SORT, MEANS, FREQ
- Reporting procedures including REPORT, TABULATE and PRINT
- Enhancing your output using the Output Delivery System
- Writing flexible code with macros
Intended Audience / Pre-requisite: Beginning SAS user
Author Biography: Janet Stuelpner provides
programming support in the areas of clinical trials, outcomes research and the financial industry. She also has
provided both individual and group technical training when needed at the client sites. Janet has several
degrees in the sciences. She has been a SAS user for over 25 years on many different platforms using many
different data sources. Originally a systems programmer, she has now turned her focus to applications
programming and teaching. She has been a presenter at users groups at all levels.
Back to Top
An Introduction to SAS® Macro
Instructor: Ian Whitlock, Retired
Quentin McMullen, Brown University
Sunday, November 4, 8:00 am – 12:00 noon
The course assumes that the student is familiar with the language of Base SAS (elementary DATA steps, PROC
PRINT, etc.) and how to operate interactively with the display manager, but it does not assume any knowledge of macro.
The concept of a macro as a parameterized unit of SAS code is introduced first. Then various features (decisions,
variables, looping, simple macro quoting, etc.) are added as the requirements of the problem change. The goal is to
present the basic tools of the language illustrated with some generally useful code and to present the
style of thinking that can create good macro systems.
Once the material is absorbed, the student should be able write
and use macros to solve fairly significant problems commensurate with his knowledge of SAS.
Intended Audience / Pre-requisite: Assumes knowledge of Base
SAS – DATA step and standard procedures, but little or no macro background.
Author Biography:
Dr. Ian Whitlock has been programming largely in SAS since 1981. His main interest is in computer languages, particularly
SAS, and how the language affects the programming process. He has participated since 1986 in many international, regional,
and local SAS User Group meetings. He is also active on SAS-L with some insightful answers to perplexed SAS
programmers.
Quentin McMullen has been programming in SAS for more than 5 years. When not programming, he enjoys thinking about the
challenges involved in incorporating a group of SAS programmers into a research team. He also enjoys playing
with his dog.
Back to Top
|