Let There Be Highlights: Data-driven Cell and Row Highlights in %TAB2HTM and %DS2HTM Output
|
|
- Peter Simpson
- 5 years ago
- Views:
Transcription
1 Let There Be Highlights: Data-driven Cell and Row Highlights in %TAB2HTM and %DS2HTM Output Introduction The SAS System for Information Delivery provides powerful and flexible web publishing tools (SAS macros) called %TAB2HTM and %DS2HTM. These tools provide a terrific method for the direct conversion of SAS PROC TABULATE and data set display output to hypertext markup language - HTML, for ease of display over intranets or the Internet. At our site, that ease of use, combined with the power of the SAS System, has created the proliferation of large volumes of HTML output for information delivery to business partners. What was soon needed was a way to quickly identify and highlight particular data cells, rows and entire tables. In addition, it needed to be data-driven. The solution arrived at puts a new twist on a very old technique: reading back in an output file and postprocessing it to customize the output. Even though it uses an old tried-and-true technique, it remains a valuable tool in the SAS toolkit. This paper will walk you though the steps needed to add highlighting to your SAS HTML output, illustrating the ease and power of the technique along the way. Matthew Flynn, The Hartford Ray Pass, Ray Pass Consulting Simple non-html PROC TABULATE output We will be using the sample application found at the SAS Web Publishing Tools web site throughout this paper, with one minor change - we use an output format of comma9.0 instead of dollar14.2. The original code can be found at (TABULATE Formatter Usage Example). We start with traditional PROC TABULATE code and output, and make a few enhancements along the way. The first few changes follow those on the SAS website almost feature for feature. options nodate nonumber; title1 'World Wide Product Sales Report ; proc tabulate data=sashelp.prdsal2; class state; var actual predict; table state, (actual predict) * (sum * f=comma9.0 mean * f=comma9.0); keylabel sum ="Total" mean="average"; run; Figure 1 - Standard PROC TABULATE output Enhancement 1 - Adding the TABULATE Formatter Macro to the SAS Program The first enhancement uses %TAB2HTM to add HTML tags to the PROC TABULATE output in two parts which 1) mark the start of the data capture: %tab2htm(capture=on, runmode=b); /* TITLE AND TABULATE CODE GOES HERE */ and 2) mark the end of the data capture: %tab2htm(capture=off, runmode=b, openmode=replace, htmlfile=file.html, center=y, tsize=+2); Figure 1 shows the standard PROC TABULATE output from the above code.
2 The resulting output is shown in Figure 2. Figure 3- Row and column headers in color Figure 2- TAB2HTM output in web browser Note that the size of the title has been amplified by the tsize=+2 option in the %TAB2HTM macro. Enhancement 2: Changing Colors of Output Elements Next, we modify the %TAB2HTM macro call to manually add color to the table column and row labels. %tab2htm(capture=off, runmode=b, openmode=replace, htmlfile=file.html, center=y, tsize=+2, clcolor=blue, /*NEW*/ rlcolor=blue); /*NEW*/ Enhancement 3: Adding background We can continue dressing up our HTML output by adding background color, for example. Images can be added as well. %tab2htm(capture=off, runmode=b, openmode=replace, htmlfile=file.html, center=y, tsize=+2, clcolor=blue, rlcolor=blue, tbbgcolr=lightgrey); /*NEW*/ The resulting output is shown in Figure 4: The resulting output is shown in Figure 3. If you are viewing this paper online or on the CD version of the proceedings, you will see the row and column headers in blue. If you re holding hard copy, trust us.
3 Figure 4- Adding a background color Figure 5- Adding an image to the title We can also add an image to the title of the table by modifying the title code and inserting an animated GIF file, changing it from: to: title 'World Wide Product Sales Report'; title '<IMG ALIGN=CENTER SRC= globeanm.gif> World Wide Product Sales Report'; The method is to simply add appropriate HTML tags into the title text (in this case for example, we added <IMG ALIGN=CENTER SRC=globeanm.gif>). We must also add another option to the second %TAB2HTM call, namely encode=n. This tells the macro NOT to encode the < and > characters into ASCII, but to rather leave them as is. The macro then interprets them as HTML tag delimiters, obeys the instructions included in them and renders the enhanced title. The resulting output is shown in Figure 5. Once again, you ll have to trust us here. If you were viewing this table with an HTML browser, the globe at the left of the title would be spinning. Manual Highlighting of HTML files We are now ready to begin a different approach. We ll continue to make manual changes, but this time we are going to make our changes to the HTML file after it is generated with the %TAB2HTM macro for a single table, and highlight individual cells or rows. For example, suppose we wanted negative numbers to stand out. We could easily highlight them by changing the background color of the cells containing them. (There are no negative numbers in the sample we are working with, but we can manually create some. For illustration purposes, we have manually flipped the sign on the Ontario Predicted numbers by adding minus signs - assume they were there all along). Now, we can go into the HTML generated code and make the necessary changes. We ll simply add the HTML tag BGCOLOR=HOTPINK to the cell definitions for the Ontario Predicted data as generated, changing them from <TD ALIGN="RIGHT" VALIGN="BOTTOM" NOWRAP>$-469,832</TD> <TD ALIGN="RIGHT" VALIGN="BOTTOM" NOWRAP>$-816</TD>
4 to <TD ALIGN="RIGHT" VALIGN="BOTTOM NOWRAP BGCOLOR=HOTPINK >$-469,832</TD> <TD ALIGN="RIGHT" VALIGN="BOTTOM" NOWRAP BGCOLOR=HOTPINK >$-816</TD> The resulting output is shown in Figure 6. Interactive HTML Editors HTML editors, or any good text editor in fact, usually provide powerful search-and-replace functions. These could be used, for example, to change all negative numbers in a table to display as hotpink, simply by applying a global change from '>$-' to ' bgcolor=hotpink>$-'. UNIX SED utility In a UNIX production environment of mass-produced web pages, we can use the powerful UNIX textprocessing command SED to issue the global search-andreplace function. What's even better, it can be called directly from a SAS program after generating the output HTML file. SED (Stream-oriented, non-interactive EDitor) can be invoked by SAS with code like: x 'sed "s/>\$-/bgcolor=hotpink>$-/g" file.htm > newfile.htm'; The SED command s/target/replace/g' filename > newfilename is used to search for target text and to replace it with replace text. The g option says do all occurrences on each line. The backslash '\' is required because '$' is a keyword in SED that allows a search only on the last line. The '\' instructs SED to treat the character immediately following it as a literal. Figure 6- Manually highlighting cells Powerful Tools The above technique is quite useful for the customization of small numbers of static web pages, but how we one expand and enhance this general process? Better yet, how can we make the table modification process datadriven? That is, how can we achieve flexible automated complete formatting control of the generation of web pages created from SAS? The tedious manual HTML table-editing process shown above would benefit from an automation technique. Powerful tools for this process include HTML-editors and UNIX regular expressions. There are lots of ways to do this. First, we briefly discuss (GASP!) some non-sas options. Then we present the advantages of the SAS System that provide dynamic data-driven SAS output ready for web-based delivery. More Powerful Tools: Use SAS to Make it Data-driven The final technique we examine reads the HTML output data back into SAS for text string manipulation. In addition, we can make the process data-driven, allowing us to highlight any cell, row, column or table based on the data values in the cells (or in any of the cells in a particular row). These data values do not have to be predetermined or known in advance. How can we do it? One way is to generalize the above search-and-replace tools with a SAS MACRO and use the power of SAS formats to identify individual cells. As is often the case, this technique can best be explained by example. An easy, flexible, and powerful way to quickly identify target cells for highlighting is though SAS picture formats. The examples below insert a marker character into the display of data values which meet certain pre-set criteria. The arbitrary character that is inserted is removed before final display. For example, the numeric picture format abv600k defined below can be used to identify all data values above 600,000 by prefixing them in the output with an asterisk, *, (any character can be used as a marker).
5 proc format; picture abv600k low ='000,000,009' <-high='000,000,009 (prefix='*'); By applying this format to the data as they go through the TABULATE procedure and the %TAB2HTM macro, we can mark all the desired values in the output HTML file. HTML output is shown from this step in the process in Figure 7. filename in C:\HTML Highlights\file.htm'; filename out 'C:\HTML Highlights\newfile.htm'; data _null_; infile in missover length=flen; file out; length line $100; input line $varying. flen; if index(line,"*") then do; "*", "<B>"); "</TD>", "</B></TD>"); end; put line; run; The <B> and </B> HTML tags add bold text formatting. The resulting transformed HTML output file would then look like that shown in Figure 8. Figure 7- Marking target cells The next step is to process the output HTML file with a string manipulation/substitution macro to replace the marker with the desired HTML tags. The SAS System s facility with the input and output of flat files, combined with its powerful text string manipulation functions allow quick work of HTML formatting changes. We simply read in the HTML file, do a global search-and replace and then write out the file with a data _NULL_ step. The INFILE, FILE and PUT statements in the data step do the file handling while the TRANWRD function does the text swapping. Assuming that all data items above 600,000 are marked with an * (as in Figure 7 above), and that the HTML output file from the %TAB2HTM macro is called C:\HTML Highlights\file.htm', the code necessary to change the targeted output cells to BOLD text would look something like: Figure 8- Highlighted target cells Enhancement - highlighting entire rows based on cell values The next enhancement will be to select not just individual data cells for highlighting, but the entire rows in which the targeted cells are contained. An immediate problem
6 with this task is that HTML displayed table rows are usually described in the source file over multiple lines. As a reminder, the structure of a HTML table definition looks like: <TR> (begin table row definition) <TH> (table header for row label)</th> <TD> (cells definition) </TD> <TD> (as many <TD>s as columns) </TD>.. </TR>(end table row definition). The method that we use to highlight an entire row based on the value of a cell or cells in that row utilizes a combination of preprocessing of the data before it is used in the TABULATE procedure and the %TAB2HTM macro, and then follows the macro with text substitution processing of the HTML output file. The preprocessing of the data uses a technique that has been an occasional topic of discussion on SAS-L, the SAS web discussion list (thanks again, SAS-L!). This method uses PROC SQL to identify targeted records based on user selected criteria. It then stores either the targeted values themselves in a macro variable, or other associated variables. In our example, we create two macro variables called numst and rows600 which respectively hold the number of states whose total sales amounts are greater than 600,000, and a list of those states. We then use these macro variables later to identify rows in the HTML output data for highlighting. The preprocessing code looks as follows: proc sql noprint; select count(*), state into :numst, :rows600 separated by '#' from (select state from sashelp.prdsal2 group by state having sum(predict) gt ); quit; Based on the data as displayed in Figure 8 above, we would select the row labels for California, Colorado, Illinois, New York, North Carolina and Washington. The # separator character (any character can be used) in the SQL code line is necessary here because some of the state names may, and in this case do, contain more than one word. We have to end up with a delimited list of state names and if we didn t specify the #, the list would be space-delimited. New York for example would then be seen as two separate states. The result of the above code is a macro variable called rows600 with a value of: California#Colorado#Illinois# New York#North Carolina#Washington We then run our data through the usual PROC TABULATE and %TAB2HTM. Then we modify the HTML file that is output from the %TAB2HTM macro by running it through a DATA _NULL_ text substitution process as follows: %macro selrows; data _null_; infile in missover length=flen; file out; retain rowtag 0; length line $100; input line $varying. flen; if index(line, "<TH") then do; %do i=1 %to &numst; %let r=%qscan(&rows600,&i,#); ">&r.<", ">*&r.<"); %end; if index(line, "*") then do; line=compress(line, * ); "<TH", "<TH bgcolor=hotpink"); rowtag=1; end; end; if index(line,"<td") and rowtag = 1 then do; line=compress(line, * ); "<TD", "<TD bgcolor=hotpink"); end; if index(line, "</TR>") then rowtag=0; put line; run; %mend; %selrows The %SELROWS macro works as follows. First, we read each line of the source HTML file into a variable called LINE. If the line contains the opening portion of the HTML table header tag, <TH, we check to see if is the header for one of our previously identified rows (contained in &ROWS600.) If it is, we mark the row with an *. (When searching for the state names, we only want exact strings so we add the > character which will always appear directly in front of a state name in the HTML code, and the < character which will always appear immediately following the state name. This will insure that we pick California, and not Baja California.) We then remove the * from the state name in the header cell, change the background color of that header cell and turn on a switch called rowtag. We then remove the * s from, and change the background color of all data cell HTML rows (TD rows) following the marked TH row until we hit an end-of-row HTML row (/TR). At that point we turn off the rowtag switch and begin looking for another targeted HTML header row.
7 The resulting transformed HTML output file would then look like that shown in Figure 9. The overall task is to use restrained table highlighting to draw the report reader s eye and enhance or emphasize the points you want to make. Several more examples of uses of highlighting might be: general page formatting - every N rows, or every K columns. outlier or exception reporting. picking out statistically significant variables. following a particular variable though the results of several analyses or reports. Other Resources A companion paper to this one entitled You CAN Get There from Here (and Back Again): Adding Hot-link Drill-down Capabilities to %DS2HTM and %TAB2HTM Output, by Ray Pass, describes methods for creating navigational links to other Web Publishing tool output. Using the methods provided here and in that paper significantly enhance the potential productivity of these powerful web publishing tools. Figure 9 - Highlighted target rows An Automatic Flexible MACRO tool In the spirit of the powerful, flexible, easy to use %TAB2HTM macros supplied by SAS Institute, we ve built a macro system that automates the table cell and row highlighting process (column highlighting is also being developed.) This system is available from the primary author. After inserting a target swap character in your HTML output, the macro allows the insertion of a wide variety of HTML formatting tags for individual data cells and rows, and columns to be added. Next Challenge - Uses (and abuses) It is easy to go quickly overboard with easy flexible table highlighting - for example, inserting animated GIFs in multiple table cells. Too much highlighting can make it harder to pick out data elements than no highlighting at all! For table formatting tips, visit the SAS ODS Style Gallery at to view some well designed examples of SAS generated HTML pages. The release of Version 7 of the SAS System has presented other significant Web publishing tools which have been described recently. Chris Olinger, in SUGI 24 Paper 56, Twisty Little Passages, All Alike - ODS Templates Exposed, describes using the Version 7 CELLSTYLE-AS statement in an ODS Template to format individual data cells based on the data values. It does not, however, highlight the row or column conditional on the data values in a cell. SUGI 24 Paper 190, Getting Stylish with Version 7 Base Reporting, by David Kelly and Sandy McNeill describes using traffic lighting and adding hyperlinks with Version 7 PROC TABULATE and PROC REPORT. The techniques they describe are very close to those discussed here for Version using PROC FORMAT to define data ranges to highlight with PROC TABULATE. PROC REPORT, however, offers the power of data set programming to accomplish the same task. The main difference in Version 7 HTML formatting is the modification and use of templates and styles to achieve data-driven cell formatting. Also newly available in Version 7 PROC REPORT is a new _ROW_ symbol used to highlight entire rows as we have done here. In conclusion, the data-driven highlighting techniques introduced here, in combination with the method for adding data-driven hyper-links described in a companion paper sited above can combine to give you two powerful tools to quickly add increased functionality and ease-ofuse to your SAS created web pages.
8 References SAS is a registered trademark of the SAS Institute Inc., Cary, NC, USA. Author Contact Information Matt Flynn The Hartford Personal Lines 400 Executive Blvd. Southington, CT Matt.Flynn@TheHartford.com phone: (860) fax: (860) Ray Pass Ray Pass Consulting 5 Sinclair Place Hartsdale, NY raypass@att.net phone: (914) fax: on request
HTML for the SAS Programmer
HTML for the SAS Programmer Lauren Haworth Kaiser Permanente Center for Health Research Portland, Oregon ½ ABSTRACT With more and more output being delivered via the Internet, a little knowledge of HTML
More informationVersion 8 ODS (Output Delivery System)
Version 8 ODS (Output Delivery System) Prepared by International SAS Training and Consulting A SAS Institute Quality Partner 100 Great Meadow Rd, Suite 601 Wethersfield, CT 06109-2379 Phone: (860) 721-1684
More informationA Generalized Macro-Based Data Reporting System to Produce Both HTML and Text Files
A Generalized Macro-Based Data Reporting System to Produce Both HTML and Text Files Jeff F. Sun, Blue Cross Blue Shield of North Carolina, Durham, North Carolina Abstract This paper will address the inter-connection
More informationODS Meets SAS/IntrNet
Paper 9-27 ODS Meets SAS/IntrNet Susan J. Slaughter, Avocet Solutions, Davis, CA Sy Truong, Meta-Xceed, Inc, Fremont, CA Lora D. Delwiche, University of California, Davis Abstract The SAS System gives
More informationA Revolution? Development of Dynamic And Hypertext Linked Reports With Internet Technologies and SAS System
A Revolution? Development of Dynamic And Hypertext Linked Reports With Internet Technologies and SAS System Jeff F. Sun, Blue Cross Blue Shield of North Carolina, Durham, North Carolina Abstract The current
More informationEssential ODS Techniques for Creating Reports in PDF Patrick Thornton, SRI International, Menlo Park, CA
Thornton, S. P. (2006). Essential ODS techniques for creating reports in PDF. Paper presented at the Fourteenth Annual Western Users of the SAS Software Conference, Irvine, CA. Essential ODS Techniques
More informationAnyone Can Learn PROC TABULATE, v2.0
Paper 63-25 Anyone Can Learn PROC TABULATE, v2.0 Lauren Haworth Ischemia Research & Education Foundation San Francisco ABSTRACT SAS Software provides hundreds of ways you can analyze your data. You can
More informationEXPORTING SAS OUTPUT ONTO THE WORLD WIDE WEB
EXPORTING SAS OUTPUT ONTO THE WORLD WIDE WEB Shi-Tao Yeh, EDP Contract Services Andrew C. Yeh, Relyt Technologies Inc. ABSTRACT This paper presents a step by step demostration of exporting SAS list and
More informationImporting CSV Data to All Character Variables Arthur L. Carpenter California Occidental Consultants, Anchorage, AK
PharmaSUG 2017 QT02 Importing CSV Data to All Character Variables Arthur L. Carpenter California Occidental Consultants, Anchorage, AK ABSTRACT Have you ever needed to import data from a CSV file and found
More informationABSTRACT MORE THAN SYNTAX ORGANIZE YOUR WORK THE SAS ENTERPRISE GUIDE PROJECT. Paper 50-30
Paper 50-30 The New World of SAS : Programming with SAS Enterprise Guide Chris Hemedinger, SAS Institute Inc., Cary, NC Stephen McDaniel, SAS Institute Inc., Cary, NC ABSTRACT SAS Enterprise Guide (with
More informationWeb-Application Bar Charts without SAS/GRAPH. Steve James, Centers for Disease Control and Prevention, Atlanta, GA
Web-Application Bar Charts without SAS/GRAPH Steve James, Centers for Disease Control and Prevention, Atlanta, GA ABSTRACT A picture is worth 1000 words it s said. And while that may be true, producing
More informationPaper Abstract. Introduction. SAS Version 7/8 Web Tools. Using ODS to Create HTML Formatted Output. Background
Paper 43-25 The International Studies Project : SAS Version 7/8 Web Tools To The Rescue Lilin She, UNC-CH, Department Of Biostatistics, Chapel Hill, NC Jeffrey M. Abolafia, UNC-CH, Department Of Biostatistics,
More information1. Please, please, please look at the style sheets job aid that I sent to you some time ago in conjunction with this document.
1. Please, please, please look at the style sheets job aid that I sent to you some time ago in conjunction with this document. 2. W3Schools has a lovely html tutorial here (it s worth the time): http://www.w3schools.com/html/default.asp
More informationINTRODUCTION TO SAS HOW SAS WORKS READING RAW DATA INTO SAS
TO SAS NEED FOR SAS WHO USES SAS WHAT IS SAS? OVERVIEW OF BASE SAS SOFTWARE DATA MANAGEMENT FACILITY STRUCTURE OF SAS DATASET SAS PROGRAM PROGRAMMING LANGUAGE ELEMENTS OF THE SAS LANGUAGE RULES FOR SAS
More informationPaper ODS, YES! Odious, NO! An Introduction to the SAS Output Delivery System
Paper 149-25 ODS, YES! Odious, NO! An Introduction to the SAS Output Delivery System Lara Bryant, University of North Carolina at Chapel Hill, Chapel Hill, NC Sally Muller, University of North Carolina
More informationrecall: a Web page is a text document that contains additional formatting information in the HyperText Markup Language (HTML)
HTML & Web Pages recall: a Web page is a text document that contains additional formatting information in the HyperText Markup Language (HTML) HTML specifies formatting within a page using tags in its
More informationA Balanced Introduction to Computer Science, 3/E
A Balanced Introduction to Computer Science, 3/E David Reed, Creighton University 2011 Pearson Prentice Hall ISBN 978-0-13-216675-1 Chapter 2 HTML and Web Pages 1 HTML & Web Pages recall: a Web page is
More informationPART COPYRIGHTED MATERIAL. Getting Started LEARN TO: Understand HTML, its uses, and related tools. Create HTML documents. Link HTML documents
2523ch01.qxd 3/22/99 3:19 PM Page 1 PART I Getting Started LEARN TO: Understand HTML, its uses, and related tools Create HTML documents Link HTML documents Develop and apply Style Sheets Publish your HTML
More informationCSC 121 Computers and Scientific Thinking
CSC 121 Computers and Scientific Thinking Fall 2005 HTML and Web Pages 1 HTML & Web Pages recall: a Web page is a text document that contains additional formatting information in the HyperText Markup Language
More informationHow to Create Data-Driven Lists
Paper 9540-2016 How to Create Data-Driven Lists Kate Burnett-Isaacs, Statistics Canada ABSTRACT As SAS programmers we often want our code or program logic to be driven by the data at hand, rather than
More informationGetting Up to Speed with PROC REPORT Kimberly LeBouton, K.J.L. Computing, Rossmoor, CA
SESUG 2012 Paper HW-01 Getting Up to Speed with PROC REPORT Kimberly LeBouton, K.J.L. Computing, Rossmoor, CA ABSTRACT Learning the basics of PROC REPORT can help the new SAS user avoid hours of headaches.
More informationBeginning Tutorials. A Beginner's Guide to Incorporating SAS Output in Microsoft Office Applications Vincent DelGobbo, SAS Institute Inc.
A Beginner's Guide to Incorporating SAS Output in Microsoft Office Applications Vincent DelGobbo, SAS Institute Inc., Cary, NC ABSTRACT This paper provides techniques for incorporating the output from
More informationOverview. CHAPTER 2 Using the SAS System and SAS/ ASSIST Software
11 CHAPTER 2 Using the SAS System and SAS/ ASSIST Software Overview 11 Invoking the SAS System 12 Selecting Items 12 Entering Commands 13 Using Menus 13 Using Function Keys 15 Invoking SAS/ASSIST Software
More informationA Macro to Manage Table Templates Mark Mihalyo, Community Care Behavioral Health Organization, Pittsburgh, PA
A Macro to Manage Table Templates Mark Mihalyo, Community Care Behavioral Health Organization, Pittsburgh, PA ABSTRACT The scenario: Data must be placed in a table or chart design provided by the company
More informationThe tracing tool in SQL-Hero tries to deal with the following weaknesses found in the out-of-the-box SQL Profiler tool:
Revision Description 7/21/2010 Original SQL-Hero Tracing Introduction Let s start by asking why you might want to do SQL tracing in the first place. As it turns out, this can be an extremely useful activity
More informationUsing Development Tools to Examine Webpages
Chapter 9 Using Development Tools to Examine Webpages Skills you will learn: For this tutorial, we will use the developer tools in Firefox. However, these are quite similar to the developer tools found
More informationAdvanced PROC REPORT: Getting Your Tables Connected Using Links
Advanced PROC REPORT: Getting Your Tables Connected Using Links Arthur L. Carpenter California Occidental Consultants ABSTRACT Gone are the days of strictly paper reports. Increasingly we are being asked
More informationBuilding a Waterfall Chart in Excel
July 29, 2015 Building a Waterfall Chart in Excel Also known as a bridge chart Introduction A Waterfall chart is a special type of Excel column chart which is utilized to highlight how a value starting
More informationBUILDING A WATERFALL CHART IN EXCEL
July 27, 2015 BUILDING A WATERFALL CHART IN EXCEL Also known as a bridge chart INTRODUCTION A Waterfall chart is a special type of Excel column chart which is utilized to highlight how a value starting
More informationWhat Is SAS? CHAPTER 1 Essential Concepts of Base SAS Software
3 CHAPTER 1 Essential Concepts of Base SAS Software What Is SAS? 3 Overview of Base SAS Software 4 Components of the SAS Language 4 SAS Files 4 SAS Data Sets 5 External Files 5 Database Management System
More informationThe Beauty of OUT2HTM with Proc Report David Steves, Suntrust Banks Inc., Atlanta, Georgia U.S.A.
Paper P316 The Beauty of OUT2HTM with Proc Report David Steves, Suntrust Banks Inc., Atlanta, Georgia U.S.A. ABSTRACT Using Proc Reports to Create HTML pages via % OUT2HTM is very easy. This paper describes
More informationPaper CC16. William E Benjamin Jr, Owl Computer Consultancy LLC, Phoenix, AZ
Paper CC16 Smoke and Mirrors!!! Come See How the _INFILE_ Automatic Variable and SHAREBUFFERS Infile Option Can Speed Up Your Flat File Text-Processing Throughput Speed William E Benjamin Jr, Owl Computer
More informationSAS BI Dashboard 3.1. User s Guide Second Edition
SAS BI Dashboard 3.1 User s Guide Second Edition The correct bibliographic citation for this manual is as follows: SAS Institute Inc. 2007. SAS BI Dashboard 3.1: User s Guide, Second Edition. Cary, NC:
More informationUsing Dynamic Data Exchange
145 CHAPTER 8 Using Dynamic Data Exchange Overview of Dynamic Data Exchange 145 DDE Syntax within SAS 145 Referencing the DDE External File 146 Determining the DDE Triplet 146 Controlling Another Application
More informationStatistics, Data Analysis & Econometrics
ST009 PROC MI as the Basis for a Macro for the Study of Patterns of Missing Data Carl E. Pierchala, National Highway Traffic Safety Administration, Washington ABSTRACT The study of missing data patterns
More informationCreating Web Pages. Getting Started
Creating Web Pages Getting Started Overview What Web Pages Are How Web Pages are Formatted Putting Graphics on Web Pages How Web Pages are Linked Linking to other Files What Web Pages Are Web Pages combine
More informationQuick Results with the Output Delivery System
Paper 58-27 Quick Results with the Output Delivery System Sunil K. Gupta, Gupta Programming, Simi Valley, CA ABSTRACT SAS s new Output Delivery System (ODS) opens a whole new world of options in generating
More informationSquare Peg, Square Hole Getting Tables to Fit on Slides in the ODS Destination for PowerPoint
PharmaSUG 2018 - Paper DV-01 Square Peg, Square Hole Getting Tables to Fit on Slides in the ODS Destination for PowerPoint Jane Eslinger, SAS Institute Inc. ABSTRACT An output table is a square. A slide
More informationThe main differences with other open source reporting solutions such as JasperReports or mondrian are:
WYSIWYG Reporting Including Introduction: Content at a glance. Create A New Report: Steps to start the creation of a new report. Manage Data Blocks: Add, edit or remove data blocks in a report. General
More informationAn Introduction to ODS Tagsets
An Introduction to ODS Tagsets Kevin Davidson FSD Data Services, Inc. ABSTRACT Beginning in SAS Version 8.2, ODS MARKUP allows users to create customized output using tagsets. There are over 20 different
More informationLecture 1 Getting Started with SAS
SAS for Data Management, Analysis, and Reporting Lecture 1 Getting Started with SAS Portions reproduced with permission of SAS Institute Inc., Cary, NC, USA Goals of the course To provide skills required
More informationAdvanced Layouts in a Content-Driven Template-Based Layout System
Advanced Layouts in a Content-Driven Template-Based Layout System ISTVÁN ALBERT, HASSAN CHARAF, LÁSZLÓ LENGYEL Department of Automation and Applied Informatics Budapest University of Technology and Economics
More informationBase and Advance SAS
Base and Advance SAS BASE SAS INTRODUCTION An Overview of the SAS System SAS Tasks Output produced by the SAS System SAS Tools (SAS Program - Data step and Proc step) A sample SAS program Exploring SAS
More informationChapter 28 Saving and Printing Tables. Chapter Table of Contents SAVING AND PRINTING TABLES AS OUTPUT OBJECTS OUTPUT OBJECTS...
Chapter 28 Saving and Printing Tables Chapter Table of Contents SAVING AND PRINTING TABLES AS OUTPUT OBJECTS...418 OUTPUT OBJECTS...422 415 Part 2. Introduction 416 Chapter 28 Saving and Printing Tables
More informationYour Own Web Page; Quick and Dirty Via Mashup Reminder: Next Quiz on 4/15
Your Own Web Page; Quick and Dirty Via Mashup Reminder: Next Quiz on 4/15 A Special Language for the Web In the early 1990 s web pages were mostly described using a special purpose language, called Hyper-Text
More informationCS 103, Fall 2008 Midterm 1 Prof. Nakayama
CS 103, Fall 2008 Midterm 1 Prof. Nakayama Family (or Last) Name Given (or First) Name Student ID Instructions 1. This exam has 9 pages in total, numbered 1 to 9. Make sure your exam has all the pages.
More informationWeb Design 101. What is HTML? HTML Tags. Web Browsers. <!DOCTYPE html> <html> <body> <h1>my First Heading</h1> <p>my first paragraph.
What is HTML? Web Design 101 HTML is a language for describing web pages. HTML stands for Hyper Text Markup Language HTML is a markup language à A markup language is a set of markup tags The tags describe
More informationSAS Data Integration Studio 3.3. User s Guide
SAS Data Integration Studio 3.3 User s Guide The correct bibliographic citation for this manual is as follows: SAS Institute Inc. 2006. SAS Data Integration Studio 3.3: User s Guide. Cary, NC: SAS Institute
More informationA HTML document has two sections 1) HEAD section and 2) BODY section A HTML file is saved with.html or.htm extension
HTML Website is a collection of web pages on a particular topic, or of a organization, individual, etc. It is stored on a computer on Internet called Web Server, WWW stands for World Wide Web, also called
More informationOverview 14 Table Definitions and Style Definitions 16 Output Objects and Output Destinations 18 ODS References and Resources 20
Contents Acknowledgments xiii About This Book xv Part 1 Introduction 1 Chapter 1 Why Use ODS? 3 Limitations of SAS Listing Output 4 Difficulties with Importing Standard Listing Output into a Word Processor
More informationABSTRACT: INTRODUCTION: WEB CRAWLER OVERVIEW: METHOD 1: WEB CRAWLER IN SAS DATA STEP CODE. Paper CC-17
Paper CC-17 Your Friendly Neighborhood Web Crawler: A Guide to Crawling the Web with SAS Jake Bartlett, Alicia Bieringer, and James Cox PhD, SAS Institute Inc., Cary, NC ABSTRACT: The World Wide Web has
More informationIntroduction. CHAPTER 3 Working in the SAS Windowing Environment
57 CHAPTER 3 Working in the SAS Windowing Environment Introduction 57 Using Function Keys 58 Using the SAS ToolBox 60 Using the Command Window 60 Using the Toolbar 61 Using the Tool Icons 61 Opening Files
More informationGETTING STARTED IN FRONTPAGE 2000 SETTING THE BACKGROUND
STUDENT INFORMATION PACKET GETTING STARTED IN FRONTPAGE 2000 Click on the icon on the Desktop or go to Start > Programs > FrontPage. This will open a blank white page. Now the fun begins SETTING THE BACKGROUND
More informationSign of the Times: Using SAS to Produce Conference Signage Daniel K. Downing, Caremark, Scottsdale, Ariz.
Sign of the Times: Using SAS to Produce Conference Signage Daniel K. Downing, Caremark, Scottsdale, Ariz. ABSTRACT Sign, sign, everywhere a sign. Are you at the right place at the right time? Who knows?
More informationCreating Web Pages Using Netscape Composer AGENDA FOR THIS WORKSHOP. 1. How does it all work? 2. What do I need to get started at Fairfield?
Creating Web Pages Using Netscape Composer AGENDA FOR THIS WORKSHOP 1. How does it all work? 2. What do I need to get started at Fairfield? 3. What is HTML coding? 4. The 10 HTML Tags that you should know.
More informationA Way to Work with Invoice Files in SAS
A Way to Work with Invoice Files in SAS Anjan Matlapudi and J. Daniel Knapp Pharmacy Informatics, PerformRx, The Next Generation PBM, 200 Stevens Drive, Philadelphia, PA 19113 ABSTRACT This paper illustrates
More informationCHAPTER 7 Using Other SAS Software Products
77 CHAPTER 7 Using Other SAS Software Products Introduction 77 Using SAS DATA Step Features in SCL 78 Statements 78 Functions 79 Variables 79 Numeric Variables 79 Character Variables 79 Expressions 80
More informationSeUGI 19 - Florence WEB Enabling SAS output. Author : Darryl Lawrence
SeUGI 19 - Florence WEB Enabling SAS output Author : Darryl Lawrence Agenda Company Profile Overview of Change of Address Process Old Change of Address Process Automated HTML Delivery Demo Summary The
More informationC HAPTER F OUR F OCUS ON THE D ATABASE S TORE
C HAPTER F OUR F OCUS ON THE D ATABASE S TORE The Database store generates product pages dynamically from an ASCII text file (flatfile) that contains a pipe-delimited database. The Database store has several
More informationBasic Uses of JavaScript: Modifying Existing Scripts
Overview: Basic Uses of JavaScript: Modifying Existing Scripts A popular high-level programming languages used for making Web pages interactive is JavaScript. Before we learn to program with JavaScript
More informationA Guided Tour Through the SAS Windowing Environment Casey Cantrell, Clarion Consulting, Los Angeles, CA
A Guided Tour Through the SAS Windowing Environment Casey Cantrell, Clarion Consulting, Los Angeles, CA ABSTRACT The SAS system running in the Microsoft Windows environment contains a multitude of tools
More informationTips & Tricks Making Accessible MS Word Documents
Use Headings Why? Screen readers do not read underline and bold as headings. A screen reader user will not know that text is a heading unless you designate it as such. When typing a new section heading,
More informationA Macro that can Search and Replace String in your SAS Programs
ABSTRACT MWSUG 2016 - Paper BB27 A Macro that can Search and Replace String in your SAS Programs Ting Sa, Cincinnati Children s Hospital Medical Center, Cincinnati, OH In this paper, a SAS macro is introduced
More informationChapter 7 File Access. Chapter Table of Contents
Chapter 7 File Access Chapter Table of Contents OVERVIEW...105 REFERRING TO AN EXTERNAL FILE...105 TypesofExternalFiles...106 READING FROM AN EXTERNAL FILE...107 UsingtheINFILEStatement...107 UsingtheINPUTStatement...108
More informationFrontPage. Directions & Reference
FrontPage Directions & Reference August 2006 Table of Contents Page No. Open, Create, Save WebPages Open Webpage... 1 Create and Save a New Page... 1-2 Change the Background Color of Your Web Page...
More informationNote: Another common term for a HTML document is a web page.
SAS and Web Publishing -- Wisdom for the Web Challenged Sally Muller, UNC, Chapel Hill, NC Caroline Bahler, Biopop, Radford, Va Arturo Barrios, UNC, Chapel Hill, NC David Doolittle, Biopop, Radford, Va
More informationCreating Zillions of Labels (and Other Documents) the Easy Way with ODS and Microsoft Word
Creating Zillions of Labels (and Other Documents) the Easy Way with ODS and Microsoft Word Vincent DelGobbo, SAS Institute Inc., Cary, NC ABSTRACT This paper provides a quick and easy way to generate address
More informationData Presentation ABSTRACT
ODS HTML Meets Real World Requirements Lisa Eckler, Lisa Eckler Consulting Inc., Toronto, ON Robert W. Simmonds, TD Bank Financial Group, Toronto, ON ABSTRACT This paper describes a customized information
More informationAn Application of ODS Tagsets. Notice! Paper
An Application of ODS Tagsets Paper 178-27 Jack Hamilton First Health Notice! For detailed code, look at my paper in the Proceedings. I have taken to heart Edward Tufte's advice that there's no point in
More informationUsing SAS/GRAPH Software to Create Graphs on the Web Himesh Patel, SAS Institute Inc., Cary, NC Revised by David Caira, SAS Institute Inc.
Paper 189 Using SAS/GRAPH Software to Create Graphs on the Web Himesh Patel, SAS Institute Inc., Cary, NC Revised by David Caira, SAS Institute Inc., Cary, NC ABSTRACT This paper highlights some ways of
More informationStatistics without DATA _NULLS_
Statistics without DATA _NULLS_ Michael C. Palmer and Cecilia A. Hale, Ph.D.. The recent release of a new software standard can substantially ease the integration of human, document, and computer resources.
More informationExtending the Scope of Custom Transformations
Paper 3306-2015 Extending the Scope of Custom Transformations Emre G. SARICICEK, The University of North Carolina at Chapel Hill. ABSTRACT Building and maintaining a data warehouse can require complex
More informationThe Basics of PROC FCMP. Dachao Liu Northwestern Universtiy Chicago
The Basics of PROC FCMP Dachao Liu Northwestern Universtiy Chicago ABSTRACT SAS Functions can save SAS users time and effort in programming. Each release of SAS has new functions added. Up to the latest
More informationMARK CARPENTER, Ph.D.
MARK CARPENTER, Ph.D. Module 1 : THE DATA STEP (1, 2, 3) Keywords : DATA, INFILE, INPUT, FILENAME, DATALINES Procedures : PRINT Pre-Lecture Preparation: create directory on your local hard drive called
More informationSyncFirst Standard. Quick Start Guide User Guide Step-By-Step Guide
SyncFirst Standard Quick Start Guide Step-By-Step Guide How to Use This Manual This manual contains the complete documentation set for the SyncFirst system. The SyncFirst documentation set consists of
More informationUSER GUIDE. MADCAP FLARE 2017 r3. Import
USER GUIDE MADCAP FLARE 2017 r3 Import Copyright 2018 MadCap Software. All rights reserved. Information in this document is subject to change without notice. The software described in this document is
More informationIntermediate Microsoft Excel 2010
P a g e 1 Intermediate Microsoft Excel 2010 ABOUT THIS CLASS This class is designed to continue where the Microsoft Excel 2010 Basics class left off. Specifically, we will cover additional ways to organize
More informationSQL*Loader Concepts. SQL*Loader Features
6 SQL*Loader Concepts This chapter explains the basic concepts of loading data into an Oracle database with SQL*Loader. This chapter covers the following topics: SQL*Loader Features SQL*Loader Parameters
More informationA Dynamic Imagemap Generator Carol Martell, Highway Safety Research Center, Chapel Hill, NC
A Dynamic Imagemap Generator Carol Martell, Highway Safety Research Center, Chapel Hill, NC ABSTRACT We learned that our web developers were turning a picture of the state of North Carolina with its one
More informationUse That SAP to Write Your Code Sandra Minjoe, Genentech, Inc., South San Francisco, CA
Paper DM09 Use That SAP to Write Your Code Sandra Minjoe, Genentech, Inc., South San Francisco, CA ABSTRACT In this electronic age we live in, we usually receive the detailed specifications from our biostatistician
More informationExploring SharePoint Designer
Exploring SharePoint Designer Microsoft Windows SharePoint Services 3.0 and Microsoft Office SharePoint Server 2007 are large and sophisticated web applications. It should come as no surprise, therefore,
More informationBlackboard. Voluntary Product Accessibility Template Blackboard Learn Release 9.1 SP11. (Published January 14, 2013) Contents: Introduction
Blackboard Voluntary Product Accessibility Template Blackboard Learn Release 9.1 SP11 (Published January 14, 2013) Contents: Introduction Key Improvements VPAT Section 1194.21: Software Applications and
More informationRun your reports through that last loop to standardize the presentation attributes
PharmaSUG2011 - Paper TT14 Run your reports through that last loop to standardize the presentation attributes Niraj J. Pandya, Element Technologies Inc., NJ ABSTRACT Post Processing of the report could
More informationCustom Tables with the LandXML Report Extension David Zavislan, P.E.
December 2-5, 2003 MGM Grand Hotel Las Vegas Custom Tables with the LandXML Report Extension David Zavislan, P.E. CV41-2 Learn some basic concepts of LandXML and the extensible Stylesheet Language (XSL)
More informationPair projects due Thursday I do not anticipate giving any extensions for this assignment. 3/2/ Larry Snyder, CSE 1
Pair projects due Thursday I do not anticipate giving any extensions for this assignment 3/2/15 2011 Larry Snyder, CSE 1 XML is essential for huge corporate systems. and for us Lawrence Snyder University
More informationBeginning Tutorials. BT004 Enterprise Guide Version 2.0 NESUG 2003 James Blaha, Pace University, Briarcliff Manor, NY ABSTRACT: INTRODUCTION:
BT004 Enterprise Guide Version 2.0 NESUG 2003 James Blaha, Pace University, Briarcliff Manor, NY ABSTRACT: This paper focuses on the basics for using the SAS Enterprise Guide software. The focus is on
More informationSAS Job Monitor 2.2. About SAS Job Monitor. Overview. SAS Job Monitor for SAS Data Integration Studio
SAS Job Monitor 2.2 About SAS Job Monitor Overview SAS Job Monitor is a component of SAS Environment Manager that integrates information from SAS Data Integration Studio, DataFlux Data Management Server,
More informationExporting Variable Labels as Column Headers in Excel using SAS Chaitanya Chowdagam, MaxisIT Inc., Metuchen, NJ
Paper 74924-2011 Exporting Variable Labels as Column Headers in Excel using SAS Chaitanya Chowdagam, MaxisIT Inc., Metuchen, NJ ABSTRACT Excel output is the desired format for most of the ad-hoc reports
More informationTraining Manual and Help File
Training Manual and Help File 30.06.2011 Update Manage Grow Welcome to your new Juniper Website Management System with CMS Introduction The Juniper Website Management System with CMS (Website Content Management
More informationUSER GUIDE MADCAP FLARE Accessibility
USER GUIDE MADCAP FLARE 2018 Accessibility Copyright 2018 MadCap Software. All rights reserved. Information in this document is subject to change without notice. The software described in this document
More informationWebBeholder: A Revolution in Tracking and Viewing Changes on The Web by Agent Community
WebBeholder: A Revolution in Tracking and Viewing Changes on The Web by Agent Community Santi Saeyor Mitsuru Ishizuka Dept. of Information and Communication Engineering, Faculty of Engineering, University
More informationFACULTY AND STAFF COMPUTER FOOTHILL-DE ANZA. Office Graphics
FACULTY AND STAFF COMPUTER TRAINING @ FOOTHILL-DE ANZA Office 2001 Graphics Microsoft Clip Art Introduction Office 2001 wants to be the application that does everything, including Windows! When it comes
More informationIf You Need These OBS and These VARS, Then Drop IF, and Keep WHERE Jay Iyengar, Data Systems Consultants LLC
Paper 2417-2018 If You Need These OBS and These VARS, Then Drop IF, and Keep WHERE Jay Iyengar, Data Systems Consultants LLC ABSTRACT Reading data effectively in the DATA step requires knowing the implications
More informationSAS Drug Development Program Portability
PharmaSUG2011 Paper SAS-AD03 SAS Drug Development Program Portability Ben Bocchicchio, SAS Institute, Cary NC, US Nancy Cole, SAS Institute, Cary NC, US ABSTRACT A Roadmap showing how SAS code developed
More informationA Methodology for Truly Dynamic Prompting in SAS Stored Processes
SESUG 2015 Paper AD-172 A Methodology for Truly Dynamic Prompting in SAS Stored Processes Haikuo Bian, Regions Bank; Carlos Jimenez, Regions Bank; David Maddox, Regions Bank ABSTRACT Dynamic prompts in
More informationSAS CURRICULUM. BASE SAS Introduction
SAS CURRICULUM BASE SAS Introduction Data Warehousing Concepts What is a Data Warehouse? What is a Data Mart? What is the difference between Relational Databases and the Data in Data Warehouse (OLTP versus
More informationSQL Deluxe 2.0 User Guide
Page 1 Introduction... 3 Installation... 3 Upgrading an existing installation... 3 Licensing... 3 Standard Edition... 3 Enterprise Edition... 3 Enterprise Edition w/ Source... 4 Module Settings... 4 Force
More informationWorking with Mailbox Manager
Working with Mailbox Manager A user guide for Mailbox Manager supporting the Message Storage Server component of the Avaya S3400 Message Server Mailbox Manager Version 5.0 February 2003 Copyright 2003
More informationDeveloping a Basic Web Page
Developing a Basic Web Page Creating a Web Page for Stephen Dubé s Chemistry Classes 1 Objectives Review the history of the Web, the Internet, and HTML Describe different HTML standards and specifications
More informationChapter 2: Getting Data Into SAS
Chapter 2: Getting Data Into SAS Data stored in many different forms/formats. Four categories of ways to read in data. 1. Entering data directly through keyboard 2. Creating SAS data sets from raw data
More information