|Papers Topic List|
|December 2013||Flexibility by Design: A Look at New and Updated System Options in SAS® 9.4 (PDF) This paper discusses new SAS 9.4 system options that enable Base SAS programmers to create large data sets, accelerate program execution time, ensure the correct date and time in SAS output, prevent truncation of input and output external files and SAS programs, read two-digit years correctly, and save the SAS environment for use in later SAS sessions.||239 KB|
|April 2013||Go Mobile with the ODS EPUB Destination (PDF) This paper provides an introduction to writing e-books with ODS EPUB. With ODS EPUB, you can generate your reports as e-books that you can read with iBooks on the iPad, or, you can write an e-book from scratch if you like.||1.83 MB|
|April 2013||Renovating Your SAS® 9.3 ODS Output: Tools for Everything from Minor Remodeling to Extreme Makeovers (PDF) This paper shows how you can use certain ODS statements (for example, ODS SELECT and ODS TEXT) and ODS statement options (for example, STYLE=) for minor remodeling. The paper also illustrates how to use the REGISTRY, TEMPLATE, and DOCUMENT procedures for a more extreme makeover.||2.18 MB|
|April 2013||A First Look at the ODS Destination for PowerPoint (PDF) This paper introduces the ODS destination for PowerPoint, one of the next generation of ODS destinations.||1.64 MB|
|April 2013||Macro Basics for new SAS Users (PDF) This paper provides an overview of how the SAS macro facility works and how you can make it work in your programs.||1.16 MB|
|April 2013||Tips for Generating Percentages Using the SAS® TABULATE Procedure (PDF) Written for intermediate users, this paper discusses techniques for enhancing PROC TABULATE output with percentage statistics.||595 KB|
|April 2013||Submitting SAS Code on the side (PDF) This paper explains the new DOSUBL function and how it can submit SAS code to run "on the side" while your DATA step is still running.||152 KB|
|April 2013||The SAS Output Delivery System: Boldly Take your web pages where they have never gone before (PDF) This paper discusses how to use ODS techniques to deliver web content specifically for mobile devices, web content for both mobile and desktop devices, and web content specifically for desktop devices.||1.55 MB|
|April 2013||Take Home the ODS Crown Jewels: Master the New Production Features of ODS LAYOUT and Report Writing Interface Techniques (PDF) This paper describes the ODS “crown jewels” that allow the customer to create sophisticated documents that can readily be published via print, Web, or mobile devices.||698 KB|
|July 2012||Harnessing the Power of SAS ISO 8601 Informats, Formats, and the CALL IS8601_CONVERT Routine(PDF) This paper addresses how to create and manage ISO 8601 compliant date, time, and datetime values in a CDISC environment.||81.86 KB|
|May 2012||Using the New Features in PROC FORMAT (PDF)
This paper describes several examples using functions as labels within PROC FORMAT definitions. Also described is the new feature allowing for Perl regular expressions for informatting data, as well as other new features in PROC FORMAT for SAS 9.3.
|May 2012||Why Does SAS® Say That? What Common DATA Step and Macro Messages Are Trying to Tell You (PDF)
This paper explores some notes, warnings, and errors that come from DATA step and macro programs and deciphers them into easily understood explanations that enable you to answer many of your questions.
|May 2012||Where's the LISTING Window? Using the New Results Viewer in SAS® 9.3 (PDF)
This paper outlines several techniques for adjusting the behavior of the SAS windowing environment Results Viewer using SAS 9.3. Examples of the new Output Delivery System (ODS)-related options that allow you to establish destination and style defaults in your configuration file are also provided.
|December 2011||Using Arrays in SAS® Programmings (PDF)
When you are working with groups of similar data and performing common operations on each element of the group, arrays can save you significant time in coding an application.
|April 2011||PROC PRINT and ODS: Teaching an Old PROC New Tricks (PDF)
This paper presents many of PROC PRINT’s new tricks to help you create more complex reports for multiple destinations, including HTML, PDF, RTF, and (of course) LISTING.
|April 2011||PROC COPY and PROC APPEND: A Developer’s Secrets (PDF)
The COPY and APPEND procedures are basic tools; by understanding the way they work internally, your SAS® programs can benefit. This paper contains facts not previously documented about these two procedures.
|April 2011||The Perfect Marriage: The SAS® Output Delivery System (ODS) and Microsoft Office (PDF)
This paper describes how you can create outstanding spreadsheets via the harmonious union of ODS with Microsoft Office applications. The paper explores the relationships among ODS destinations (for example, ExcelXP and MSOffice2K) as well as custom tagsets (for example, the TableEditor tagset). In addition, the paper explains how these components enable you to generate highly presentational spreadsheets.
|April 2011||Beyond the Basics: Advanced REPORT Procedure Tips and Tricks Updated for SAS® 9.2 (PDF)
This paper is an update to the 2007 SAS Global Forum Paper "Beyond the Basics: Advanced PROC REPORT Tips and Tricks"—a compilation of tips for producing desired PROC REPORT output with SAS 9.1.3. This paper offers tips and tricks for getting desired PROC REPORT output with the new functionality and enhanced features that are specific to using SAS® 9.2.
|April 2011||Choosing the Road Less Traveled: Performing Similar Tasks with either
SAS® DATA Step Processing or with Base SAS® Procedures (PDF)
This paper provides examples of common situations in which using either programming method, DATA step programming or Base SAS procedures, leads to the same result. While this paper compares coding methods, it does not promote one particular method nor examine differences in efficiency.
|April 2011||Let’s Give ’Em Something to TOC about: Transforming the Table of Contents
of Your PDF File (PDF)
This paper helps you create descriptive TOC entries for your tables and graphs so that readers of your PDF files can access information quickly and easily. The paper discusses statements and options that you can include to make seamless changes to your TOC entries. In addition, tips and techniques are provided for more complicated processing to transform and expound on the information that is delivered by the TOC in your PDF files.
|April 2011||The Top 10 Head-Scratchers: SAS® Log Messages That Prompt a Call to
SAS Technical Support
This paper examines the top 10 errors, notes, and warnings that prompt DATA step programmers to call SAS Technical Support. The discussion addresses the common causes of the messages and provides solutions so that you can reduce your troubleshooting time and effort.
|April 2011||Unveiling the Power of Cascading Style Sheets (CSS) in ODS (PDF)
This paper uncovers the hidden power of CSS in SAS 9.3 and shows you things that were never before possible in previous versions of SAS as well as directions SAS will be taking in the future.
|April 2011||Finding Your Way Through the Wilderness: Moving Data from Text Files to SAS® Data Files (PDF)
This paper demonstrates how to move complicated text files into SAS so that your SAS data files are usable and readable.
|April 2011||Don’t Gamble with Your Output: How to Use Microsoft Formats with ODS (PDF)
This paper provides an overview of how you can use the HTMLSTYLE attribute with HTML-based destinations and the TAGATTR attribute with the TAGSETS.EXCELXP destination to send Microsoft formats from SAS to Excel using the Output Delivery System (ODS) STYLE= overrides.
|April 2011||The Greatest Hits: ODS Essentials Every User Should Know (PDF)
This paper covers some of the essential features and options of ODS that every user needs to know to be productive and includes concrete code examples.
|February 2011||TS-804: Encrypting Values in a SAS®9 Variable (PDF)
This paper provides sample programs that use the DATA step with different functions and methods to encrypt and decrypt variables.
|May 2010||Evolve from a Carpenter's Apprentice to a Master Woodworker: Creating a Plan
for Your Reports and Avoiding Common Pitfalls in REPORT Procedure Coding (PDF)
Although PROC REPORT coding is flexible, there are pitfalls. Making a coding plan and being aware of the pitfalls will enable you to code PROC REPORT easily.
|May 2010||Traffic Lighting your Multi-sheet Microsoft Excel Workbooks the Easy Way with SAS® (PDF)
This paper explains how to use Base SAS®9 software to create multi-sheet Microsoft Excel workbooks (for Excel versions 2002 and later), and then traffic light the values that lie outside a range.
|May 2010||SAS® System Options: The True Heros of Macro Debugging (PDF)
This paper discusses three SAS system options that you can use to debug macros: MLOGIC, SYMBOLGEN, and MPRINT. Some less common options also are discussed that help you determine the source of many errors that can occur when you program with the macro language.
|May 2010||ODS HTML Evolution: HTML that Scrolls, Panels, Floats, Reads and Integrates (PDF)
This paper shows an HTML tagset that combines features of other tagsets and then illustrates how to use it.
|May 2010||Using SAS® Output Delivery System (ODS) Markup to Generate Custom PivotTable and PivotChart Reports (PDF)
This paper discusses the purpose of PivotTable and PivotChart reports, and it illustrates how you can create customized PivotTable reports using SAS Output Delivery System markup language.
|May 2010||SAS® Styles Template: Always in Fashion (PDF)
This paper provides an introduction into the use of style templates in SAS 9.2.
|May 2010||Zoom, Zoom: Get Your Document to Scale on All Paper Sizes (PDF)
This paper discusses how to scale your large reports so they will always fit the paper size.
|May 2010||SAS® Presents In-Database Base Procedures in Practice (PDF)
As part of the SAS® In-Database initiative, some Base SAS procedures were enhanced to directly leverage descriptive statistical functions supported by SAS DBMS partners. This paper explains how you engage these capabilities in a SAS program and how you identify when and what kind of indatabase queries are passed to the DBMS, and provides some best practices on effectively using them.
|July 2009||TS-673: Reading Delimited Text Files Into SAS®9 (PDF)||94 KB|
|March 2009||A SAS® Output Delivery System Menu for All Appetites and Applications (PDF)
This document describes how to unleash the power of various ODS destinations to generate fantastic applications and reports.
|March 2009||ODS Packages: Putting Some Zip in Your ODS Output (PDF)
Learn how easy it is to use ODS packages and find out how they will impact the future of ODS.
|March 2009||Scalability of Table Lookup Techniques (PDF)
This paper examines the issues of memory and disk space consumption and performance considerations for various table lookup techniques using large amounts of data.
|March 2009||Breaking New Ground with SAS® 9.2 ODS Layout Enhancements (PDF)
This paper discusses the latest enhancements to ODS Layout that enable you to produce stunning brochures, killer Web sites, jaw-dropping dashboards, and breathtaking documents.
|March 2009||Customizing FREQ Procedure Output in SAS 9.2 (PDF)
This paper introduces the new crosstabulation table template, which enables you to customize PROC FREQ output and highlights how to use the template to accomplish some common tasks.
|March 2009||CSSSTYLE: Stylish Output with ODS and SAS 9.2 (PDF)
This paper provides an introduction into the use of the new CSSSTYLE option in SAS 9.2. This option allows you to use cascading style sheet (CSS) style specifications for RTF and PDF files, in addition to HTML files. This paper includes a brief introduction to CSS syntax and some of the features, such as @media CSS sections, that are particularly useful when creating ODS output.
|March 2009||Dear Miss SAS Answers: A Guide to Efficient PROC SQL Coding (PDF)
This paper answers commonly asked questions and helps you harness the potential of Structured Query Language.
|March 2009||Have It Your Way: Rearrange and Replay Your Output with ODS DOCUMENT (PDF)
This paper illustrates how to capture your output and save it in an Output Delivery System (ODS) Document store. Then you can create custom folders and a custom folder hierarchy using ODS DOCUMENT and PROC DOCUMENT in order to rearrange and replay your output.
|March 2009||The Power to Show: Ad Hoc Reporting, Custom Invoices, and Form Letters (PDF)
This paper demonstrates new features that allow you to build custom data-centric reports in an easy-to-use object-oriented manner that is fully integrated with the ODS System. This technology is perfectly suited for creating custom invoices, inserting narrative descriptions in a table or document, creating form letters and non-rectangular reports, inserting custom subtotals, and it will address a variety of custom reporting needs.
|March 2009||Test-Driving the Improvements to the INFOMAPS Procedure and LIBNAME Engine (PDF)
This paper is written for the customers with the role of utilizing the power of information maps in Base SAS. It will test drive the new features of the procedure and the engine. Common changes to both INFOMAPS products include support on all SAS BI platforms and the use of trusted peer connections.
|March 2009||Tiptoe through the Templates (PDF)
This paper provides an overview of all the different template types and how they're used with the Output Delivery System. From style and table templates, that first appeared with SAS 7 to the newest graph templates that appeared with SAS 9.2, this paper provides an overview and several concrete examples for each template type.
|November 2008||Achieving Better I/O Throughput Using SGIO in the Microsoft Windows Environment (PDF)
In the SAS System, SAS I/O. the most common input/output (I/O) processing, is performed on SAS files such as SAS data sets, SAS catalogs, and SAS index files. Most SAS I/O processing is sequential I/O, which means that the DATA step and SAS procedures read a data set from the beginning of the file to the end of the file.
|August 2008||Using Style Elements in the REPORT and TABULATE Procedures (PDF)
You can create customized ODS output with PROC REPORT and PROC TABULATE by using the STYLE= option directly in the procedures. Knowing which option to use in order to change the attribute of a particular item in the output report can be a challenge. This paper addresses this challenge and illustrates how to use the STYLE= option in the REPORT and TABULATE procedures to customize output.
|April 2008||Better Hashing in SAS 9.2 (PDF)
The DATA step hash object is one of the most versatile new features of Base SAS programming. For SAS 9.2, we introduce the ability to store duplicate keys in a hash object and have added a find frequency counter. In this paper, we leverage the duplicate key capability to implement true SQL-like joins as well as partial-key look-ups.
|March 2008||Creating Complex Reports (PDF)
Are you confused about whether you need a detail report or a summary report? Do you wonder whether you're using the right reporting procedure for your report? Have you ever spent a lot of time going down the road with one procedure only to discover that you need to switch to a different procedure to get what you want or closer to what you want?
|March 2008||Modernize Your Business Reports Using ODS and SAS/GRAPH: A Case Study from SAS 8.2 to SAS 9.2 (PDF)
This paper provides an example of business reports using Base SAS and SAS/GRAPH procedures and ODS in the three releases, highlighting improved quality of the reports and increasing ease of use.
|March 2008||Tips and Tricks for Creating Multi-Sheet Microsoft Excel Workbooks the Easy Way with SAS (PDF)
This paper discusses using the XML support in Base SAS 9.1 software to create multi-sheet Microsoft Excel workbooks (versions 2002 and later). You will learn step-by-step techniques for quickly and easily creating attractive multi-sheet Excel workbooks that contain your SAS output. The information presented is new for 2008.
|March 2008||How to Add a Little Spice to Your PDF Output (PDF)
Topics in this paper include how to apply new styles, the new SAS/GRAPH interaction, how to scale background images, how to use new fonts and Unicode characters, and much more, including a brief discussion of ODS layout.
|August 2007||What Happened to My Data? (PDF)
This paper explains how classification variable values are handled when a FORMAT statement or FORMAT option is applied. Topics include grouping observations with one classification variable and with multiple classification variables. The supporting examples focus on Base SAS reporting procedures, PROC REPORT, PROC TABULATE, PROC SUMMARY, and PROC MEANS.
|March 2007||Beyond the Basics: Advanced PROC REPORT Tips and Tricks (PDF)
This paper is a compilation of tips and tricks for producing PROC REPORT output. The three sections cover topics that: can be used with listing output and with the Output Delivery System (ODS), can only be used with an ODS destination; highlight new features and changes for PROC REPORT in SAS 9.2.
|March 2007||Adventures in Arrays: A Beginning Tutorial (PDF)
This paper presents examples to explain what arrays are and how to use them. In addition to simple examples demonstrating arrays used to perform calculations, restructure data and look up values, the paper includes examples using multidimensional arrays for efficient table lookups.
|March 2007||PROC TEMPLATE Tables from Scratch (PDF)
In this paper, you learn how to create and modify table templates, including how to add, remove, and move columns as well as headers and footers. You also learn how to apply styles, formats, and other visual effects, all from scratch.
|March 2007||The Output Delivery System (ODS) from Scratch (PDF)
Using ODS, you can generate reports in formats such as HTML, XML, PDF, PostScript, RTF, and Microsoft Excel. This paper shows you how to generate reports with ODS, from scratch. You'll learn how to generate multiple output formats, simultaneously; how to change the look of your report using styles; how to add text passages; and other helpful information.
|26Dec06||Creating Multi-Sheet Excel Workbooks the Easy Way with SAS (PDF)
This paper discusses using the new XML support in Base SAS 9.1 software to create multi-sheet Microsoft Excel workbooks (versions 2002 and later). You will learn step-by-step techniques for quickly and easily creating attractive multi-sheet Excel workbooks that contain your SAS output.
|06Jul06||TS-758: Ensuring Compatibility of Encoding across Different Versions of the SAS® System in the z/OS Environment (PDF) Updated 09Nov09||708.5 KB|
|28Feb06||TS-751: Presentation-Quality Tabular Output via ODS (PDF)||65 KB|
|14Feb06||TS-749: A Reintroduction to ODS: The Philosophy of the Output Delivery System (PDF)||126 KB|
|03Jan06||TS-747: Using ODS to Create High-quality Hardcopy in SAS v8 (PDF)||390 KB|
|17Aug05||TS-741: Effective Data Encryption Algorithms using the SAS System (PDF)||320 KB|
|26Jul05||TS-739: Give Your Macro Code an Extreme Makeover (PDF)||103 KB|
|01Jun05||TS-725: SASRX user documentation (PDF)||63 KB|
|15Jul04||TS-706: How to use the %lswbatch macro (PDF)||36 KB|
|15Jul04||TS-705: The Fundamentals of MERGE (PDF)||86 KB|
|23Feb04||TS-696: Security Concerns and Best Practices for a SAS Grid (PDF)||197 KB|
|11Sep03||TS-691: SAS encoding values, IANA preferred MIME charset, JavaTM and Oracle® encoding names||256 KB|
|12Nov01||TS-668: SAS Dates, Times, and Interval Functions||93 KB|
|01Nov01||TS-664: A DATA Stepper's Introduction to ODS (PDF)||165 KB|
|02Jul01||TS-654: Numeric Precision 101 (PDF)||247 KB|
|08Aug01||TS-611: Updating Data Using the MODIFY Statement and the KEY= Option (PDF)||122 KB|
|14Dec00||TS-642: Reading EBCDIC Files on ASCII Systems||34 KB|
|10Oct00||TS-639: Data conversion issues in v6-v8 which is of special interest for customers using languages other than English. (PDF)||39 KB|
|4Jun99||TS-610: Basics of Report Writing in Version 6 (PDF)||25 KB|
|16Sep98||TS-592: Tips and Techniques for Processing CRSPAccess97 CDROM Data with PROC DATASOURCE (PDF)||8 KB|
|08Jul98||TS-581: Using FILEVAR= to read multiple external files in a DATA Step (PDF)||10 KB|
|15Jun98||TS-580: Indexing in the SAS System, Version 6 (PDF)||102 KB|
|19Jun97||TS-553: SQL Joins -- The Long and The Short of It||38 KB|
|19Jan96||TS-486: Quick Reference Sheet for SAS Functions, Formats, and Informats (PDF)||70 KB|
|01Feb95||TS-440: How can I use the COMPARE procedure to produce a report that shows the differences between two character values past the 20th character? (PDF)||12 KB|
|09Apr97||TS-410: Ordering Data Values: Double Mapping and Combining Techniques||90 KB|
|09Apr97||TS-408: Ordering Data Values: Dummy Data and Mapping Techniques||54 KB|
|09Apr97||TS-407: Ordering Data Values: Procedure Defaults and Options||51 KB|
|17Nov94||TS-396: The SAS System always prints numbers between 0 and 1 with leading zeros. How can I eliminate the leading zeros?||8 KB|
|01Nov94||TS-378: How can I dynamically order the variables in MEANS procedure output by the descending mean values?||11 KB|
|19Jun97||TS-320: Inside PROC SQL's Query Optimizer||22 KB|
|10Mar94||TS-278: How to Guarantee That All Possible Values of a Class Variable will be Displayed in your Table Regardless of whether or not the Value Exists||18 KB|
|10Mar94||TS-277: How to Restructure Your Data for an Answer Comparison Table||9 KB|
|21Apr97||TS-250: DATA Step Programming Using the MODIFY Statement||40 KB|
|02Jan92||TS-230: Dealing with Numeric Representation Error in SAS Applications||59 KB|
|03Nov98||TS-140: The Record Layout of a SAS Transport Data Set||64 KB|