Building an Automated Data Management, Analysis and Reporting Tool That Runs Against Pre-Processed Web Server Access Log File Data.

Size: px
Start display at page:

Download "Building an Automated Data Management, Analysis and Reporting Tool That Runs Against Pre-Processed Web Server Access Log File Data."

Transcription

1 Building an Automated Data Management, Analysis and Reporting Tool That Runs Against Pre-Processed Web Server Access Log File Data. Nick Paszty, Berkeley California Abstract Web server access log files present a challenging data source due to tbe variety of server formatting configurations, frequent lack of unique identification as well as tbe sheer size of tbe files themselves. Using a home grown Perl pre-processor, logs are reduced to more manageable files containing standard reports in a standard format. This paper will demonstrate how we used the ODS in SAS version 8.x along witb Access to PC File Formats, Base, Graph/Annotate and Macro on Windows NT to manage web site data and produce drillable reports from the preprocessed data. The challenges of designing a scaleable standardized directory structure, learning tbe ODS and automating tbe process will be discussed. Introduction The purpose of this tool is to provide a library of programs tbat generate standardized data strucblres and reports in support of ad hoc analysis and insightful web site activity interpretations. The programs are written so that they can potentially be incorporated into AF application development. The development process has the following main challenges. 1. Building a standardized directory structure. When defining and developing new data structures it is good practice to design a standardized scaleable directory strucblre in which to store your files. In addition to data storage considerations, standardized web server directories are also necessary to manage H1ML content generated by tbeods. 2. Understanding log file data. This is a crucial and somewhat obvious exercise- know your data. A discussion of how to analyze web server access log file data and what to look out for is beyond the scope of this paper. There is however lots of information available for tbis topic on, you guessed it, tbe Internet. 3. Understanding the Output Delivery System (ODS). The ODS can be used to apply a standard format to all of your H1ML output. Working witb proc template and its many options while designing a company template for example should give you a descent understanding of how and where tbe ODS gets its design directives from. Some of tbe more difficult manipulations when using tbe ODS are coordinating tbe SAS Graph procedures and managing tbe resulting H1ML and image files. 4. Automating the process. Implementing a standardized directory strucblre and having a standard data source is a solid foundation on which to build automated processes. In addition to this, globally used file templates and catalog entries need to be in place so that once tbe process is automated, it has a rich library of support files tbat can be accessed. The remaining task is to set up tbe web site's data structure environment configuration file tbat contains all the necessary macro variables used during data processing and reporting. Retrieving Log Files The desired date range of pre-processed files is retrieved from a data-staging server using an FI'P client. A future enhancement could be to use SAS and the ftp argument on the filename statement. Data Description The data are stored in a one day per file structure witb around 50 sections. Each file's name is the web server access log file date in yyyymmdd format. Data transfers can include several weeks to several months of log files, which can mean tens upon tens of files to parse. Challenge 1. Standard directory structures For simplicity and efficiency, I use a Perl script to build data and H1ML content strucblres as well as copy critical template files into place. Tools There is usually a suite of utilities and common programs that can be used across all of your directory strucblres. An example of a utility program is one tbat builds the standardized directory strucblre for each web site's data and an example of a common program would be one that creates a critical success factor background annotation for a particular measure. The following template programs are copied from the tools directory into tbe appropriate directories under the new web site's main directory. ODS style program User defined formats program Web site environment configuration program Data Type Though this paper discusses programming against web server access log data only, I plan to have other data sources so tbe design of the directory structure must be flexible. The structure below all data_type level directories is standardized. So from the top down, you see something like this. \root \website \data_type \uber \fmts \root \tools \peri \tlb \ods \uber \doc \log \raw \sds \sds \sds Documentation files SAS log files SAS program files Raw data files SAS data set files Template program Formats program Formats catalog Traffic light programs Annotate catalog and data sets ODS style template program Environment configuration program 446

2 A nice advantage to standardizing your directories is that you only need to define two macro variables to access all of a web site's data, the web site's name and the data_type name. Web Server If you use the ODS features, you need to know a little something about web servers- among other things, the location of your server's document root This location is a directory that the web server sees as its top-level directory and is usually where you would find your home page file, commonly named index.html. To store the many reports, standard directories are also necessary under the web server's document root. These are set up to store html output generated by the ODS. \root \htdocs \website \htm \img \pdf Hyper text files Image files Acrobat files Challenge 2. Understanding Log File Data See Internet. Challenge 3. Understanding the Output Delivery System My first step in producing web enabled reports using the ODS is to define a style that can be applied to the entire set of HTML reports for a given web site. ODS styles are built using proc template and by modifying one of the SAS styles provided as part of the standard install, custom styles can be developed. The partial proc template code below illustrates how to inherit definitions from an existing style and set some custom style definitions. Here, the background and header image is set for all HTML output that uses this style. The macro variables are initialized in the web site's environment configuration file described in the Challenge 4. - Automating the Process section. The relative reference to the background GIF file points to two directories above the standardized structure under my web server's document root where globally used image files are kept proc template; define style &wsnm.. &wsnm; parent=styles.default; style Body from Body I backgroundimage='.. /.. /bg_image.gif preimage='.. /&wsheader gif watermark= true *...many more design options-.; end; This creates a style named the web site name under a directory named the web site name in the template store sasuser.templat Challenge 4. Automating the Process Several steps have to be taken to set up globally used files in support of automating the reporting process. Some of the globally used files include graphics catalog members that contain the traffic lighting backgrounds. These can be used for all measures that share the same critical success boundaries. For example I use a three tiered success characteristic, green-yellowred, for measuring site performance by way of entrance pages. Percentages are used to denote the color boundaries for our traffic lights and we use the annotate facility to produce a permanently stored background catalog member. The following code produces a globally used catalog member that is stored under the \root\tools\tlb\sds directory structure. libname tlb '\root\tools\tlb\sds'; title; footnote; * set traffic light critical values; %let green=60; %let yellow=so; goptions reset=global cback=white colors=(white); data tlb.tl_entrance_pages; length function style color $ 8; retain xsys ysys hsys '3'; * attributes for critical factor - green; function='move'; x=l2; y=17.4; output; function='bar'; x=ll2+((&green/10)*8.6)); y=90; color='cx006600'; line=o; style='s'; output; * similar code for yellow and red; * Clear all graphs from the WORK.GSEG catalog; proc greplay igout=tlb.tl_cat nofs; delete entpages; proc ganno annotate=tlb.tl_entrance_pages lighting ; gout=tlb. tl_cat name= entpages description='entrance pages traffic With a full compliment of backgrounds in place, the modifications to the three template files copied over by the directory building script should be made. Since I've covered the proc template code and user defined formats are straightforward, I'll describe some of the definitions and functions in the environment configuration file. Environment Configuration File (ECF) This file contains macro variable definitions for alllibrefs and an indexing counter used to facilitate data management and segment analysis by month and week. It also builds two control files that direct the parsing loop in the feeder programs, calls the feeder programs, initializes and concludes authoring the HTML table of contents links that control navigation through the reports and Excel files. Associations The goal was to only have to define one value that propagates throughout the code. Under a standardized directory structure, this strategy makes it easy to reuse the code for any web site. There are many Iibrefs and other associations defined in the ECF so I will only go over a few which should be adequate to illustrate the pattern of implementation. 447

3 Options errorabend noxwait fmtsearch=(userfmts work) source2; * macro var assignment for web site name; %let wsnm=paszty; * macro var assignment for doc root dir; %let docroot=\root\htdocs; * macro var assgnmnt for web site main dir; %let wsdir=\root\&wsnm; * macro var assignment for HTML files dir; %let webs_htm=&docroot\&wsnm\htm; * macro var assignment for raw files dir; %let webs_raw=&wsdir\webs\raw; * macro var assignment for data sets dir; %let webs_sds=&wsdir\webs\sds; libname &wsnm ~&webs_sds ; Control flies and counters It is necessary to know how many new pre-processed log files to expect to add to the existing data structures each time the programs are run. ECF has to create a counter to control looping and it and the subsequent feeder programs need to know if they have been run before for a given web site. * delete existing control file; x 'del &webs_raw\ppt_files.txt ; * build control file using dir command options bare and attribute (on NT); x 'dir /B /A:A &webs_raw > &webs_raw\ppt_files.txt ; data &wsnm.. lcntll (keep=filenm label='ppt extract primary control file'); * control file location and name; infile '&webs_raw\ppt_files.txt truncover; input filenm $8.; * include control line if it starts with '20' for yyyy being 20xx; if ('20'=substr(filenm,l,2)); * find number of observations in control file and create index macro variable; dsid=open('&wsnm.. lcntll'); call symput('index',trim(left(put(attrn(dsid,'no bs'),8.)))); dsid=close(dsid); The control file data look like this. FileName Calling Authoring and Feeder Programs The last action of the BCF is to call the programs that do all the work. This is done simply by using the %include statement. * start authoring the contents file; %include '\root\uber\contents_header.sas'; Here is the beginning of the table of contents HTML page authoring code, contents_header.sas. file '&docroot\&wsnm\htm\contents.htm'; put '<html>' ; put '<head>'; put '<title>table of Contents</title>'; put '</head>'; put ' '; put '<body leftmargin=o bgcolor='#ff9900' vlink='# link='#0066aa'>'; * more tags here; * include all feeder programs; %include '&webs_pgm\feeders.sas ; * stop authoring the contents file; %include '\root\uber\contents_footer.sas'; Feeder Programs These programs do all the work of parsing each of the desired pre-processed file sections into variables and creating data sets with chronological month and week indexes. They also create the critical success factor reports, Excel spreadsheets and contribute their particular section report hyperlinks to the table of contents HTML page. Bach of the feeders does the same general type of parsing, data management and reporting so I will describe what I think are the main programming concepts used to accomplish these tasks. Parsing Each of the 50 or so sections of the pre-processed data can be parsed. The key is to identify the beginning of the section to be parsed, and the beginning of the next section. The next step is to be able to parse the same section from one report file after another and aggregate the data into a final temporary data set. The process runs inside a macro whose arguments are the first and next section names. The macro also makes use of the control file and index counter macro variable generated by the BCF. Here are the main pieces of the entrance page report parsing code. %macro parser(startxt=, endtxt=); %* index macro variable is assigned its value in ECF file and controls looping through all data files; %do i=l %to &index; %* assigns value to macro variable by looping through primary control file; 448

4 set &wsnm. lcntl1; if _n_=&i; call symput('filenm',trim(left(filenm))); t* data step finds first and last line of data file to parse; infile '&webs_raw\&filenm truncover; input logline $500.; t* first line of entrance page report; if logline= &startxt then do; call symput ( 'startn', n_); end; %* last line of entrance page report; if logline='&endtxt then do; call symput ( 'endn', n_) ; end; t* parses each line into its constituent parts; data entrance (keep=nhits entrance_page logdtl; length nhits 4 entrance_page $200; t* first and last observations only as assigned in _null_ above; infile '&webs_raw\&filenm truncover firstobs=&startn obs=&endn; %* grab entire line; input logline $500.; %* create SAS date value; logdt=input('&filenm',yymmdd8.);...more parsing code...; t* loops that append each newly created data file to a final data file; %if &i=l %then %do; data fnl_entrance; set entrance; \end; %else %do; data fnl_entrance; set fnl_entrance entrance; %end; %* ends &index do loop; %end; %mend parser; %parser (startxt=entrance Pages, endtxt=all Response Codes) ; Data Management The next step is to aggregate the data and build the month and week indexes that are used by the reporting code. For simplicity, I decide to rebuild all the chronology indexes after appending new data to existing data. The process runs ioside a macro where a check for existing data is done using the exist() function. First I add three chronology variables to the fnl_entrance page data set that are used later to build continuous chronology indexes. * retrieve date parts from logdt variable; yr=year(logdt); mn=month(logdtl; wkday=weekday(logdt); Here are the main pieces of the data management code inside the exist() macro code. %macro dsexists; %if %sysfunc(exist(&wsnm.. entrance_pages)) %then %do; %* create data set containing all records from parse loop; data entrance_pages; %* drop existing indexes to ensure proper re-build in next data step; set &wsnm.. entrance_pages (drop=mnindex wkindexl fnl_entrance; %* sort data set to ensure proper initialization of first. and last. variables; proc sort data=entrance_pages; by yr mn logdt; %* create permanent data set containing all records from parse loop; data &wsnm.. entrance_pages (label='entrance pages'); set entrance_pages; by yr mn logdt; t* retains value across records; retain mnindex wkindex; t* assign month indexing value at first record; if n_=l then mnindex=l; %* month index counts months from 1 to n; else if first.mn then mnindex=mnindex+l; %* assign week indexing value at first record; if n_=l then wkindex=l; %* week index counts weeks from 1 to n; else if (first.logdt and wkday=7) then wkindex=wkindex+l; %* label new variable; label mnindex='month number' wkindex='week number'; 449

5 %* ends If data exists loop; \end; \else %do; _code if first time web site data are ~"; \end; \mend dsexists; Reporting The reporting code accomplishes five tasks. I. Builds reports & drill downs for the total time range 2. Builds hi-low reports & drill downs across total date range 3. Builds reports & drill downs by month 4. Builds reports & drill downs by week 5. Outputs by week data to an Excel spread sheet Because of limitations, there are a number of data management steps that I am not going to describe here. Take the data structures for granted and imagine using proc means to output data sets where the sum of hits aggregated by entrance page is stored by the chronological indexing variables with a top_n records identifier. I will not describe the hi-low process either because it is essentially the same as the process used to develop reports by month with the slight distinction of having two bars on the chart rather than one. I have chosen to describe the reporting process using the by month code which is similar to the by week code in almost all respects. To control the reporting loops, I create a number of macro variables that contain values for events like first month and last month. The values are calculated from the permanent entrance_pages data set by identifying the month index at the first and last observation. To control the number of observations included in the report, I use a macro variable, top_n, whose value is set at the top of the program. This makes it easier to modify globally if the desired top_n observations need to be decreased or increased. To control the critical factor ranges, I use two macro variables, yellow and red, whose value is also set at the top of the program. Currently, these need to be the same range values used to create the traffic light backgrounds described above. Step 1. A master macro is needed that can loop through an aggregated data set created by proc means one chronological index at a time. This macro calls another macro that does the reporting for the current index. The code below is part of the master macro. %* start to loop through all months by way of month index; %do i=l %to &mnindex; %* use data null to create macro variables for each iteration; if _n_=l; set mnhits (where=(mnindex=&i)); * for report titles; call symput( year',yr); call symput('month',put(mn,mn.)); %* call macro mns; %mns(&i, &year, &month); %* lots more code; Step 2. A month reporting macro is needed to build the drill down hyperlink. the indicator bar, the critical factor values and the critical factor macro variable used to control charting. %macro mns (mn, year, month); %* build month data sets; data mnhits&mn (keep=entrance_page detail_drill std_hgt yr mn mnindex top_n mnhits&mn percent critical_20 critical_lo critical_ol; %* assign length to bookmark link - problems if too short!; length detail_drill $100; %* restrict observations to month index and top_n entrance pages; set mnhits (where=(mnindex=&mn and top_n<=&top_n) ) ; %* assign value to book mark link - each month is stored in a htm file; detail_drill="href='entrance_pages~onth&mn.. htm#detaill'"; %* creates indicator bar for chart; std_hgt=25; %* calculate percent of total hits within month; percent=round((mnhits/&monthobs)*loo); %* retain value from one iterations of the data step to the next; retain critical_20 critical_lo critical_o; %* red light; if (_n_=l and percent>&red) then critical_20=percent; else if (_n_>l and percent>&red) then critical_20=critical_20; %* similar code for yellow and green; %* rename sum of hits variable for each month; rename mnhits=mnhits&mn; %* label new variables; label mnhits='month &mn - &month, &year &month &year ; percent='percent month &mn - %* outputs only last observation to data set mnhits to get the highest critical value; data mnpcnt&mn; if lastobs; set mnhits&mn end=lastobs; %* create macro variable for conditional charting; 450

6 set mnpcnt«mn (keep=critical_20 critical_lo critical_o); t* create critical level macro variables; if critical_20=. then call symput('c_20',trim(left(put(0,8.)))); else call symput('c_20',trim(left(put(critical_20,8.) ) )) ; t* similar code for yellow and green; t* statements used to re-direct graphics output; filename gifout &webs-ptm\entrance_pages~onth«ron.. gif ; goptions gsfname=gifout; t* titles and footnotes place on GIF file; titlel "Entrance Pages Percent From One Source- &month &year ; footnote! j=l h=2 'Entrance Pages Performance: c=cx 'Leader c=cxcc9933 'Caution ' c=cxffoooo 'Problem' j=r c=cxoooooo 'Click on bar to view detail'; t* define macro to do conditional charting; tmacro critfact; t* graphics procedure to produce the histogram indicating critical level; proc gchart data=mnpcnt«mn gout=gseg; t* will create chart only if critical value was 'red'; tif &c_20 tthen %do; vbar critical_20 I tend; sumvar=std_hgt midpoints=o to 100 by 5 maxis=axisl raxis=axis2 html=detail_drill width=.s no frame; -more loops for yellow and green-; t* start ods output with web site style and referencing the bookmark link; ods html body= &webs-ptm\entrance_pages~nth&mn.. ht m style=odstyle.&wsnm anchor='detail'; t* moves the entrance pages traffic lighting background to the default work catalog; proc catalog cat=tlb.tl_cat; copy out=gseg; select entpages I et=grseg; t* Use PROC GREPLAY to overlay the background and the chart; proc greplay igout=gseg nofs gout=gseg tc=sashelp.templt template=whole; treplay l:gchart&mn l:entpages; Step 3. The last step is to build a data set that is exported to Excel, run the proc dbload code, delete all the members in the work library and include the table of contents authoring code. The code below merges any number of data sets so that all the by week data can be loaded into Excel. * macro that merges all week data sets; %macro mergewk; data allnhits (drop=top_n detail_drill std_hgt percent critical_20 critical_lo critical_o yr mn mnindex); wnhits&i) merge allnhits by top_n; tmend mergewk; %do i=l tto &wkindex; tend; wnhits&i (keep=top_n * ends merge; The authoring file uses the month indexing macro variables to create the month hyperlinks for this report section. tdo i=l tto &mnindex; mnt=put(&i,mn.); put '<font face="arial, Helvetica, Helv" size="2" color="#oooooo ><dt><b> <lb>'; put '<A HREF="entrance_pages_month'"&i''.htm' TARGET='body'>'mnt'<la>'; tend; Conclusion This tool relies on SAS version 8.x ODS features to facilitate development of web ready reports. Building a standardized directory structure produces an ad hoc analysis friendly database for each web site's data and establishing automated mechanisms pulls it all together with a simple double-click. References SAS OnlineDoc, Version Eight, Copyright (c) 1999 SAS Institute Inc., Cary, NC, USA. All rights reserved. Acknowledgements I would like to thank EMITS and all SAS-Lers who responded to my program development related questions. You can contact me at: ngp@paszty.com SAS and SAS/ ACCESS are registered trademarks or trademarks of SAS Institute Inc. in the USA and other countries. <II> indicates USA registration. Other brand and product names are registered trademarks or trademarks of their respective companies. 451

The GANNO Procedure. Overview CHAPTER 12

The GANNO Procedure. Overview CHAPTER 12 503 CHAPTER 12 The GANNO Procedure Overview 503 Procedure Syntax 504 PROC GANNO Statement 504 Examples 507 Example 1: Scaling Data-Dependent Output 507 Example 2: Storing Annotate Graphics 509 Example

More information

The GSLIDE Procedure. Overview. About Text Slides CHAPTER 27

The GSLIDE Procedure. Overview. About Text Slides CHAPTER 27 959 CHAPTER 27 The GSLIDE Procedure Overview 959 About Text Slides 959 About Annotate Output 960 Procedure Syntax 960 PROC GSLIDE Statement 961 Examples 963 Example 1: Producing Text Slides 963 Example

More information

Using MACRO and SAS/GRAPH to Efficiently Assess Distributions. Paul Walker, Capital One

Using MACRO and SAS/GRAPH to Efficiently Assess Distributions. Paul Walker, Capital One Using MACRO and SAS/GRAPH to Efficiently Assess Distributions Paul Walker, Capital One INTRODUCTION A common task in data analysis is assessing the distribution of variables by means of univariate statistics,

More information

Developing a Dashboard to Aid in Effective Project Management

Developing a Dashboard to Aid in Effective Project Management Developing a Dashboard to Aid in Effective Project Management M. Paige Borden, University of Central Florida, Orlando, FL Maureen Murray, University of Central Florida, Orlando, FL Ali Yorkos, University

More information

Using SAS/GRAPH Software to Create Graphs on the Web Himesh Patel, SAS Institute Inc., Cary, NC Revised by David Caira, SAS Institute Inc.

Using 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 information

Internet/Intranet, the Web & SAS

Internet/Intranet, the Web & SAS Dynamic Behavior from Static Web Applications Ted Durie, SAS, Overland Park, KS ABSTRACT Many Web applications, because of the infinite query combinations possible, require dynamic Web solutions. This

More information

Generating Participant Specific Figures Using SAS Graphic Procedures Carry Croghan and Marsha Morgan, EPA, Research Triangle Park, NC

Generating Participant Specific Figures Using SAS Graphic Procedures Carry Croghan and Marsha Morgan, EPA, Research Triangle Park, NC DP05 Generating Participant Specific Figures Using SAS Graphic Procedures Carry Croghan and Marsha Morgan, EPA, Research Triangle Park, NC ABSTRACT An important part of our research at the US Environmental

More information

One SAS To Rule Them All

One SAS To Rule Them All SAS Global Forum 2017 ABSTRACT Paper 1042 One SAS To Rule Them All William Gui Zupko II, Federal Law Enforcement Training Centers In order to display data visually, our audience preferred Excel s compared

More information

AD07 A Tool to Automate TFL Bundling

AD07 A Tool to Automate TFL Bundling AD07 A Tool to Automate TFL Bundling Mark Crangle ICON Clinical Research Introduction Typically, requirement for a TFL package is a bookmarked PDF file with a table of contents Often this means combining

More information

ABC s of Graphs in Version 8 Caroline Bahler, Meridian Software, Inc.

ABC s of Graphs in Version 8 Caroline Bahler, Meridian Software, Inc. ABC s of Graphs in Version 8 Caroline Bahler, Meridian Software, Inc. Abstract Version 8 has greatly increased the versatility and usability of graphs that can be created by SAS. This paper will discuss

More information

Presentation Quality Graphics with SAS/GRAPH

Presentation Quality Graphics with SAS/GRAPH Presentation Quality Graphics with SAS/GRAPH Keith Cranford, Marquee Associates, LLC Abstract The SASI GRAP~ Annotate Facilily along with hardware fonts can be used to produce presentation qualily graphics

More information

Displaying Multiple Graphs to Quickly Assess Patient Data Trends

Displaying Multiple Graphs to Quickly Assess Patient Data Trends Paper AD11 Displaying Multiple Graphs to Quickly Assess Patient Data Trends Hui Ping Chen and Eugene Johnson, Eli Lilly and Company, Indianapolis, IN ABSTRACT Populating multiple graphs, up to 15, on a

More information

Base and Advance SAS

Base 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 information

Contents. About This Book...1

Contents. About This Book...1 Contents About This Book...1 Chapter 1: Basic Concepts...5 Overview...6 SAS Programs...7 SAS Libraries...13 Referencing SAS Files...15 SAS Data Sets...18 Variable Attributes...21 Summary...26 Practice...28

More information

Using SAS/GRAPH Software to Analyze Student Study Habits. Bill Wallace Computing Services University of Saskatchewan

Using SAS/GRAPH Software to Analyze Student Study Habits. Bill Wallace Computing Services University of Saskatchewan Using SAS/GRAPH Software to Analyze Student Study Habits Bill Wallace Computing Services University of Saskatchewan Abstract This paper describes the steps taken to create unusual vertical bar charts for

More information

Making Presentations More Fun with DATA Step Graphics Interface (DSGI) Hui-Ping Chen, Eli Lilly and Company, Indianapolis, Indiana

Making Presentations More Fun with DATA Step Graphics Interface (DSGI) Hui-Ping Chen, Eli Lilly and Company, Indianapolis, Indiana Paper CC03 Making Presentations More Fun with DATA Step Graphics Interface (DSGI) Hui-Ping Chen, Eli Lilly and Company, Indianapolis, Indiana ABSTRACT Microsoft PowerPoint is powerful and most popular

More information

A Plot & a Table per Page Times Hundreds in a Single PDF file

A Plot & a Table per Page Times Hundreds in a Single PDF file A Plot & a Table per Page Times Hundreds in a Single PDF file Daniel Leprince DIEM Computing Services, Inc. Elizabeth Li DIEM Computing Services, Inc. SAS is a registered trademark or trademark of SAS

More information

SAS ENTERPRISE GUIDE USER INTERFACE

SAS ENTERPRISE GUIDE USER INTERFACE Paper 294-2008 What s New in the 4.2 releases of SAS Enterprise Guide and the SAS Add-In for Microsoft Office I-kong Fu, Lina Clover, and Anand Chitale, SAS Institute Inc., Cary, NC ABSTRACT SAS Enterprise

More information

ODS DOCUMENT, a practical example. Ruurd Bennink, OCS Consulting B.V., s-hertogenbosch, the Netherlands

ODS DOCUMENT, a practical example. Ruurd Bennink, OCS Consulting B.V., s-hertogenbosch, the Netherlands Paper CC01 ODS DOCUMENT, a practical example Ruurd Bennink, OCS Consulting B.V., s-hertogenbosch, the Netherlands ABSTRACT The ODS DOCUMENT destination (in short ODS DOCUMENT) is perhaps the most underutilized

More information

ABSTRACT MORE THAN SYNTAX ORGANIZE YOUR WORK THE SAS ENTERPRISE GUIDE PROJECT. Paper 50-30

ABSTRACT 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 information

Figure 1. Paper Ring Charts. David Corliss, Marketing Associates, Bloomfield Hills, MI

Figure 1. Paper Ring Charts. David Corliss, Marketing Associates, Bloomfield Hills, MI Paper 16828 Ring Charts David Corliss, Marketing Associates, Bloomfield Hills, MI Abstract Ring Charts are presented as a new, graphical technique for analyzing complex relationships between tables in

More information

ODS LAYOUT is Like an Onion

ODS LAYOUT is Like an Onion Paper DP03_05 ODS LAYOUT is Like an Onion Rich Mays, University of Rochester Medical Center, Rochester, NY Abstract ODS LAYOUT is like an onion. They both make you cry? No! They both have layers! In version

More information

Fly over, drill down, and explore

Fly over, drill down, and explore ABSTRACT Paper 79-2013 Fly over, drill down, and explore Suzanne Brown, HealthInsight New Mexico, Albuquerque, NM Data often have a spatial dimension, whether it is a five-year financial plan and annual

More information

Exporting Variable Labels as Column Headers in Excel using SAS Chaitanya Chowdagam, MaxisIT Inc., Metuchen, NJ

Exporting 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 information

Overview 14 Table Definitions and Style Definitions 16 Output Objects and Output Destinations 18 ODS References and Resources 20

Overview 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 information

SAS Web Report Studio 3.1

SAS Web Report Studio 3.1 SAS Web Report Studio 3.1 User s Guide SAS Documentation The correct bibliographic citation for this manual is as follows: SAS Institute Inc. 2006. SAS Web Report Studio 3.1: User s Guide. Cary, NC: SAS

More information

Reading in Data Directly from Microsoft Word Questionnaire Forms

Reading in Data Directly from Microsoft Word Questionnaire Forms Paper 1401-2014 Reading in Data Directly from Microsoft Word Questionnaire Forms Sijian Zhang, VA Pittsburgh Healthcare System ABSTRACT If someone comes to you with hundreds of questionnaire forms in Microsoft

More information

MANAGING SAS/GRAPH DISPLAYS WITH THE GREPLAY PROCEDURE. Perry Watts IMS Health

MANAGING SAS/GRAPH DISPLAYS WITH THE GREPLAY PROCEDURE. Perry Watts IMS Health MANAGING SAS/GRAPH DISPLAYS WITH THE PROCEDURE Perry Watts IMS Health Abstract PROC is used for redisplaying graphs that have been stored in temporary or permanent catalogs. This tutorial will show how

More information

External Files. Definition CHAPTER 38

External Files. Definition CHAPTER 38 525 CHAPTER 38 External Files Definition 525 Referencing External Files Directly 526 Referencing External Files Indirectly 526 Referencing Many Files Efficiently 527 Referencing External Files with Other

More information

Matt Downs and Heidi Christ-Schmidt Statistics Collaborative, Inc., Washington, D.C.

Matt Downs and Heidi Christ-Schmidt Statistics Collaborative, Inc., Washington, D.C. Paper 82-25 Dynamic data set selection and project management using SAS 6.12 and the Windows NT 4.0 file system Matt Downs and Heidi Christ-Schmidt Statistics Collaborative, Inc., Washington, D.C. ABSTRACT

More information

Storing and Reusing Macros

Storing and Reusing Macros 101 CHAPTER 9 Storing and Reusing Macros Introduction 101 Saving Macros in an Autocall Library 102 Using Directories as Autocall Libraries 102 Using SAS Catalogs as Autocall Libraries 103 Calling an Autocall

More information

Essential ODS Techniques for Creating Reports in PDF Patrick Thornton, SRI International, Menlo Park, CA

Essential 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 information

Paper S Data Presentation 101: An Analyst s Perspective

Paper S Data Presentation 101: An Analyst s Perspective Paper S1-12-2013 Data Presentation 101: An Analyst s Perspective Deanna Chyn, University of Michigan, Ann Arbor, MI Anca Tilea, University of Michigan, Ann Arbor, MI ABSTRACT You are done with the tedious

More information

SAS 9 Programming Enhancements Marje Fecht, Prowerk Consulting Ltd Mississauga, Ontario, Canada

SAS 9 Programming Enhancements Marje Fecht, Prowerk Consulting Ltd Mississauga, Ontario, Canada SAS 9 Programming Enhancements Marje Fecht, Prowerk Consulting Ltd Mississauga, Ontario, Canada ABSTRACT Performance improvements are the well-publicized enhancement to SAS 9, but what else has changed

More information

Creating a Departmental Standard SAS Enterprise Guide Template

Creating a Departmental Standard SAS Enterprise Guide Template Paper 1288-2017 Creating a Departmental Standard SAS Enterprise Guide Template ABSTRACT Amanda Pasch and Chris Koppenhafer, Kaiser Permanente This paper describes an ongoing effort to standardize and simplify

More information

Combining TLFs into a Single File Deliverable William Coar, Axio Research, Seattle, WA

Combining TLFs into a Single File Deliverable William Coar, Axio Research, Seattle, WA PharmaSUG 2016 - Paper HT06 Combining TLFs into a Single File Deliverable William Coar, Axio Research, Seattle, WA ABSTRACT In day-to-day operations of a Biostatistics and Statistical Programming department,

More information

Easing into Data Exploration, Reporting, and Analytics Using SAS Enterprise Guide

Easing into Data Exploration, Reporting, and Analytics Using SAS Enterprise Guide Paper 809-2017 Easing into Data Exploration, Reporting, and Analytics Using SAS Enterprise Guide ABSTRACT Marje Fecht, Prowerk Consulting Whether you have been programming in SAS for years, are new to

More information

SAS Graphs in Small Multiples Andrea Wainwright-Zimmerman, Capital One, Richmond, VA

SAS Graphs in Small Multiples Andrea Wainwright-Zimmerman, Capital One, Richmond, VA Paper SIB-113 SAS Graphs in Small Multiples Andrea Wainwright-Zimmerman, Capital One, Richmond, VA ABSTRACT Edward Tufte has championed the idea of using "small multiples" as an effective way to present

More information

ABSTRACT: INTRODUCTION: WEB CRAWLER OVERVIEW: METHOD 1: WEB CRAWLER IN SAS DATA STEP CODE. Paper CC-17

ABSTRACT: 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 information

Getting Up to Speed with PROC REPORT Kimberly LeBouton, K.J.L. Computing, Rossmoor, CA

Getting 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 information

ABC Macro and Performance Chart with Benchmarks Annotation

ABC Macro and Performance Chart with Benchmarks Annotation Paper CC09 ABC Macro and Performance Chart with Benchmarks Annotation Jing Li, AQAF, Birmingham, AL ABSTRACT The achievable benchmark of care (ABC TM ) approach identifies the performance of the top 10%

More information

Creating Maps in SAS/GRAPH

Creating Maps in SAS/GRAPH Creating Maps in SAS/GRAPH By Jeffery D. Gilbert, Trilogy Consulting Corporation, Kalamazoo, MI Abstract This paper will give an introduction to creating graphs using the PROC GMAP procedure in SAS/GRAPH.

More information

Paper CC01 Sort Your SAS Graphs and Create a Bookmarked PDF Document Using ODS PDF ABSTRACT INTRODUCTION

Paper CC01 Sort Your SAS Graphs and Create a Bookmarked PDF Document Using ODS PDF ABSTRACT INTRODUCTION Paper CC01 Sort Your SAS Graphs and Create a Bookmarked PDF Document Using ODS PDF Dirk Spruck, Accovion GmbH, Marburg, Germany Monika Kawohl, Accovion GmbH, Marburg, Germany ABSTRACT Graphs are a great

More information

Innovative Graph for Comparing Central Tendencies and Spread at a Glance

Innovative Graph for Comparing Central Tendencies and Spread at a Glance Paper 140-28 Innovative Graph for Comparing Central Tendencies and Spread at a Glance Varsha C. Shah, CSCC, Dept. of Biostatistics, UNC-CH, Chapel Hill, NC Ravi M. Mathew, CSCC,Dept. of Biostatistics,

More information

Essentials of the SAS Output Delivery System (ODS)

Essentials of the SAS Output Delivery System (ODS) Essentials of the SAS Output Delivery System (ODS) State of Oregon SAS Users Group December 5, 2007 Andrew H. Karp Sierra Information Services www.sierrainformation.com Copyright Andrew H Karp All Rights

More information

Macro Architecture in Pictures Mark Tabladillo PhD, marktab Consulting, Atlanta, GA Associate Faculty, University of Phoenix

Macro Architecture in Pictures Mark Tabladillo PhD, marktab Consulting, Atlanta, GA Associate Faculty, University of Phoenix Paper PS16_05 Macro Architecture in Pictures Mark Tabladillo PhD, marktab Consulting, Atlanta, GA Associate Faculty, University of Phoenix ABSTRACT The qualities which SAS macros share with object-oriented

More information

My Reporting Requires a Full Staff Help!

My Reporting Requires a Full Staff Help! ABSTRACT Paper GH-03 My Reporting Requires a Full Staff Help! Erin Lynch, Daniel O Connor, Himesh Patel, SAS Institute Inc., Cary, NC With cost cutting and reduced staff, everyone is feeling the pressure

More information

INTRODUCTION TO THE SAS ANNOTATE FACILITY

INTRODUCTION TO THE SAS ANNOTATE FACILITY Improving Your Graphics Using SAS/GRAPH Annotate Facility David J. Pasta, Ovation Research Group, San Francisco, CA David Mink, Ovation Research Group, San Francisco, CA ABSTRACT Have you ever created

More information

Abstract. Background. Summary of method. Using SAS to determine file and space usage in UNIX. Title: Mike Montgomery [MIS Manager, MTN (South Africa)]

Abstract. Background. Summary of method. Using SAS to determine file and space usage in UNIX. Title: Mike Montgomery [MIS Manager, MTN (South Africa)] Title: Author: Using SAS to determine file and space usage in UNIX Mike Montgomery [MIS Manager, MTN (South Africa)] Abstract The paper will show tools developed to manage a proliferation of SAS files

More information

Contents of SAS Programming Techniques

Contents of SAS Programming Techniques Contents of SAS Programming Techniques Chapter 1 About SAS 1.1 Introduction 1.1.1 SAS modules 1.1.2 SAS module classification 1.1.3 SAS features 1.1.4 Three levels of SAS techniques 1.1.5 Chapter goal

More information

Electricity Forecasting Full Circle

Electricity Forecasting Full Circle Electricity Forecasting Full Circle o Database Creation o Libname Functionality with Excel o VBA Interfacing Allows analysts to develop procedural prototypes By: Kyle Carmichael Disclaimer The entire presentation

More information

Using UNIX Shell Scripting to Enhance Your SAS Programming Experience

Using UNIX Shell Scripting to Enhance Your SAS Programming Experience Using UNIX Shell Scripting to Enhance Your SAS Programming Experience By James Curley SAS and all other SAS Institute Inc. product or service names are registered trademarks or trademarks of SAS Institute

More information

ET01. LIBNAME libref <engine-name> <physical-file-name> <libname-options>; <SAS Code> LIBNAME libref CLEAR;

ET01. LIBNAME libref <engine-name> <physical-file-name> <libname-options>; <SAS Code> LIBNAME libref CLEAR; ET01 Demystifying the SAS Excel LIBNAME Engine - A Practical Guide Paul A. Choate, California State Developmental Services Carol A. Martell, UNC Highway Safety Research Center ABSTRACT This paper is a

More information

SAS Macro Dynamics - From Simple Basics to Powerful Invocations Rick Andrews, Office of the Actuary, CMS, Baltimore, MD

SAS Macro Dynamics - From Simple Basics to Powerful Invocations Rick Andrews, Office of the Actuary, CMS, Baltimore, MD Paper BB-7 SAS Macro Dynamics - From Simple Basics to Powerful Invocations Rick Andrews, Office of the Actuary, CMS, Baltimore, MD ABSTRACT The SAS Macro Facility offers a mechanism for expanding and customizing

More information

Effective Forecast Visualization With SAS/GRAPH Samuel T. Croker, Lexington, SC

Effective Forecast Visualization With SAS/GRAPH Samuel T. Croker, Lexington, SC DP01 Effective Forecast Visualization With SAS/GRAPH Samuel T. Croker, Lexington, SC ABSTRACT A statistical forecast is useless without sharp, attractive and informative graphics to present it. It is really

More information

Adding records Pasting records Deleting records Sorting records Filtering records Inserting and deleting columns Calculated columns Working with the

Adding records Pasting records Deleting records Sorting records Filtering records Inserting and deleting columns Calculated columns Working with the Show All About spreadsheets You can use a spreadsheet to enter and calculate data. A spreadsheet consists of columns and rows of cells. You can enter data directly into the cells of the spreadsheet and

More information

Square Peg, Square Hole Getting Tables to Fit on Slides in the ODS Destination for PowerPoint

Square 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 information

Data Presentation ABSTRACT

Data 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 information

LIBREOFFICE TRAINING PROTOCOL

LIBREOFFICE TRAINING PROTOCOL LIBREOFFICE TRAINING PROTOCOL LibreOffice Training Protocol is a reference for professionals offering training services for LibreOffice, targeted at organizations and individuals deploying the free office

More information

Going Under the Hood: How Does the Macro Processor Really Work?

Going Under the Hood: How Does the Macro Processor Really Work? Going Under the Hood: How Does the Really Work? ABSTRACT Lisa Lyons, PPD, Inc Hamilton, NJ Did you ever wonder what really goes on behind the scenes of the macro processor, or how it works with other parts

More information

CMISS the SAS Function You May Have Been MISSING Mira Shapiro, Analytic Designers LLC, Bethesda, MD

CMISS the SAS Function You May Have Been MISSING Mira Shapiro, Analytic Designers LLC, Bethesda, MD ABSTRACT SESUG 2016 - RV-201 CMISS the SAS Function You May Have Been MISSING Mira Shapiro, Analytic Designers LLC, Bethesda, MD Those of us who have been using SAS for more than a few years often rely

More information

Interactive Graphs from the SAS System

Interactive Graphs from the SAS System Interactive Graphs from the SAS System Shi-Tao Yeh, GlaxoSmithKline, King of Prussia, PA. ABSTRACT An interactive graph is a dynamic graph interface that allows viewers interaction. The SAS System provides

More information

SAS Drug Development Program Portability

SAS 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 information

THE IMPACT OF DATA VISUALIZATION IN A STUDY OF CHRONIC DISEASE

THE IMPACT OF DATA VISUALIZATION IN A STUDY OF CHRONIC DISEASE THE IMPACT OF DATA VISUALIZATION IN A STUDY OF CHRONIC DISEASE South Central SAS Users Group SAS Educational Forum 2007 Austin, TX Gabe Cano, Altarum Institute Brad Smith, Altarum Institute Paul Cuddihy,

More information

A Visual Step-by-step Approach to Converting an RTF File to an Excel File

A Visual Step-by-step Approach to Converting an RTF File to an Excel File A Visual Step-by-step Approach to Converting an RTF File to an Excel File Kirk Paul Lafler, Software Intelligence Corporation Abstract Rich Text Format (RTF) files incorporate basic typographical styling

More information

SAS CLINICAL SYLLABUS. DURATION: - 60 Hours

SAS CLINICAL SYLLABUS. DURATION: - 60 Hours SAS CLINICAL SYLLABUS DURATION: - 60 Hours BASE SAS PART - I Introduction To Sas System & Architecture History And Various Modules Features Variables & Sas Syntax Rules Sas Data Sets Data Set Options Operators

More information

Paper Phil Mason, Wood Street Consultants

Paper Phil Mason, Wood Street Consultants ABSTRACT Paper 1711-2018 My Top 10 ways to use SAS Stored Processes Phil Mason, Wood Street Consultants SAS Stored Processes are a powerful facility within SAS. Having recently written a book about SAS

More information

SAS Macro Programming for Beginners

SAS Macro Programming for Beginners ABSTRACT SAS Macro Programming for Beginners Lora D. Delwiche, Winters, CA Susan J. Slaughter, Avocet Solutions, Davis, CA Macro programming is generally considered an advanced topic. But, while macros

More information

KEYWORDS Metadata, macro language, CALL EXECUTE, %NRSTR, %TSLIT

KEYWORDS Metadata, macro language, CALL EXECUTE, %NRSTR, %TSLIT MWSUG 2017 - Paper BB15 Building Intelligent Macros: Driving a Variable Parameter System with Metadata Arthur L. Carpenter, California Occidental Consultants, Anchorage, Alaska ABSTRACT When faced with

More information

AURA ACADEMY SAS TRAINING. Opposite Hanuman Temple, Srinivasa Nagar East, Ameerpet,Hyderabad Page 1

AURA ACADEMY SAS TRAINING. Opposite Hanuman Temple, Srinivasa Nagar East, Ameerpet,Hyderabad Page 1 SAS TRAINING SAS/BASE BASIC THEORY & RULES ETC SAS WINDOWING ENVIRONMENT CREATION OF LIBRARIES SAS PROGRAMMING (BRIEFLY) - DATASTEP - PROC STEP WAYS TO READ DATA INTO SAS BACK END PROCESS OF DATASTEP INSTALLATION

More information

APPENDIX 4 Migrating from QMF to SAS/ ASSIST Software. Each of these steps can be executed independently.

APPENDIX 4 Migrating from QMF to SAS/ ASSIST Software. Each of these steps can be executed independently. 255 APPENDIX 4 Migrating from QMF to SAS/ ASSIST Software Introduction 255 Generating a QMF Export Procedure 255 Exporting Queries from QMF 257 Importing QMF Queries into Query and Reporting 257 Alternate

More information

Microsoft Excel 2010 Handout

Microsoft Excel 2010 Handout Microsoft Excel 2010 Handout Excel is an electronic spreadsheet program you can use to enter and organize data, and perform a wide variety of number crunching tasks. Excel helps you organize and track

More information

Using Graph-N-Go With ODS to Easily Present Your Data and Web-Enable Your Graphs Curtis A. Smith, Defense Contract Audit Agency, La Mirada, CA

Using Graph-N-Go With ODS to Easily Present Your Data and Web-Enable Your Graphs Curtis A. Smith, Defense Contract Audit Agency, La Mirada, CA Paper 160-26 Using Graph-N-Go With ODS to Easily Present Your Data and Web-Enable Your Graphs Curtis A. Smith, Defense Contract Audit Agency, La Mirada, CA ABSTRACT Visualizing and presenting data effectively

More information

A SAS Macro to Generate Caterpillar Plots. Guochen Song, i3 Statprobe, Cary, NC

A SAS Macro to Generate Caterpillar Plots. Guochen Song, i3 Statprobe, Cary, NC PharmaSUG2010 - Paper CC21 A SAS Macro to Generate Caterpillar Plots Guochen Song, i3 Statprobe, Cary, NC ABSTRACT Caterpillar plots are widely used in meta-analysis and it only requires a click in software

More information

Using a Fillable PDF together with SAS for Questionnaire Data Donald Evans, US Department of the Treasury

Using a Fillable PDF together with SAS for Questionnaire Data Donald Evans, US Department of the Treasury Using a Fillable PDF together with SAS for Questionnaire Data Donald Evans, US Department of the Treasury Introduction The objective of this paper is to demonstrate how to use a fillable PDF to collect

More information

PharmaSUG Paper PO12

PharmaSUG Paper PO12 PharmaSUG 2015 - Paper PO12 ABSTRACT Utilizing SAS for Cross-Report Verification in a Clinical Trials Setting Daniel Szydlo, Fred Hutchinson Cancer Research Center, Seattle, WA Iraj Mohebalian, Fred Hutchinson

More information

Producing Summary Tables in SAS Enterprise Guide

Producing Summary Tables in SAS Enterprise Guide Producing Summary Tables in SAS Enterprise Guide Lora D. Delwiche, University of California, Davis, CA Susan J. Slaughter, Avocet Solutions, Davis, CA ABSTRACT This paper shows, step-by-step, how to use

More information

Enterprise Client Software for the Windows Platform

Enterprise Client Software for the Windows Platform Paper 154 Enterprise Client Software for the Windows Platform Gail Kramer, SAS Institute Inc., Cary, NC Carol Rigsbee, SAS Institute Inc., Cary, NC John Toebes, SAS Institute Inc., Cary, NC Jeff Polzin,

More information

The Evolution of a SAS/GRAPH Application Jenine Eason, AutoTrader.com, Atlanta, GA

The Evolution of a SAS/GRAPH Application Jenine Eason, AutoTrader.com, Atlanta, GA Paper P05-04 The Evolution of a SAS/GRAPH Application Jenine Eason, AutoTrader.com, Atlanta, GA INTRODUCTION Graphs are an excellent way to represent any activity. The author is using web server errors

More information

A SAS Macro Utility to Modify and Validate RTF Outputs for Regional Analyses Jagan Mohan Achi, PPD, Austin, TX Joshua N. Winters, PPD, Rochester, NY

A SAS Macro Utility to Modify and Validate RTF Outputs for Regional Analyses Jagan Mohan Achi, PPD, Austin, TX Joshua N. Winters, PPD, Rochester, NY PharmaSUG 2014 - Paper BB14 A SAS Macro Utility to Modify and Validate RTF Outputs for Regional Analyses Jagan Mohan Achi, PPD, Austin, TX Joshua N. Winters, PPD, Rochester, NY ABSTRACT Clinical Study

More information

Using DDE with Microsoft Excel and SAS to Collect Data from Hundreds of Users

Using DDE with Microsoft Excel and SAS to Collect Data from Hundreds of Users Using DDE with Microsoft Excel and SAS to Collect Data from Hundreds of Users Russell Denslow and Yan Li Sodexho Marriott Services, Orlando, FL ABSTRACT A process is demonstrated in this paper to automatically

More information

Different Methods for Accessing Non-SAS Data to Build and Incrementally Update That Data Warehouse

Different Methods for Accessing Non-SAS Data to Build and Incrementally Update That Data Warehouse Different Methods for Accessing Non-SAS Data to Build and Incrementally Update That Data Warehouse Ben Cochran, The Bedford Group, Raleigh, NC Abstract Often SAS users need to access data from non- SAS

More information

Admin Reporting: Citation Reporting

Admin Reporting: Citation Reporting Admin Reporting: Citation Reporting Citation reporting is used to aggregate data from your organization s issued citations. Bringing your desired data together can help gain insight into the citation issuance

More information

%MISSING: A SAS Macro to Report Missing Value Percentages for a Multi-Year Multi-File Information System

%MISSING: A SAS Macro to Report Missing Value Percentages for a Multi-Year Multi-File Information System %MISSING: A SAS Macro to Report Missing Value Percentages for a Multi-Year Multi-File Information System Rushi Patel, Creative Information Technology, Inc., Arlington, VA ABSTRACT It is common to find

More information

Top Award and First Place Best Presentation of Data Lan Tran-La. Scios Nova, Inc. BLOOD PRESSURE AND HEART RATE vs TIME

Top Award and First Place Best Presentation of Data Lan Tran-La. Scios Nova, Inc. BLOOD PRESSURE AND HEART RATE vs TIME Top Award and First Place Best Presentation of Data Lan Tran-La Scios Nova, Inc. BLOOD PRESSURE AND HEART RATE vs TIME Vital signs were collected before, during, and after the infusion of Drug A. At the

More information

Building Sequential Programs for a Routine Task with Five SAS Techniques

Building Sequential Programs for a Routine Task with Five SAS Techniques ABSTRACT SESUG Paper BB-139-2017 Building Sequential Programs for a Routine Task with Five SAS Techniques Gongmei Yu and Paul LaBrec, 3M Health Information Systems. When a task needs to be implemented

More information

A Macro that can Search and Replace String in your SAS Programs

A 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 information

SAS Visual Analytics 8.2: Getting Started with Reports

SAS Visual Analytics 8.2: Getting Started with Reports SAS Visual Analytics 8.2: Getting Started with Reports Introduction Reporting The SAS Visual Analytics tools give you everything you need to produce and distribute clear and compelling reports. SAS Visual

More information

USING PROC GMAP AND DRILL-DOWN GRAPHICS FOR DATA QUALITY ASSURANCE Meghan Arbogast, Computer Sciences Corporation, Corvallis, OR

USING PROC GMAP AND DRILL-DOWN GRAPHICS FOR DATA QUALITY ASSURANCE Meghan Arbogast, Computer Sciences Corporation, Corvallis, OR USING PROC GMAP AND DRILL-DOWN GRAPHICS FOR DATA QUALITY ASSURANCE Meghan Arbogast, Computer Sciences Corporation, Corvallis, OR ABSTRACT Maps are particularly useful to review the distribution of biological

More information

Quick Data Definitions Using SQL, REPORT and PRINT Procedures Bradford J. Danner, PharmaNet/i3, Tennessee

Quick Data Definitions Using SQL, REPORT and PRINT Procedures Bradford J. Danner, PharmaNet/i3, Tennessee ABSTRACT PharmaSUG2012 Paper CC14 Quick Data Definitions Using SQL, REPORT and PRINT Procedures Bradford J. Danner, PharmaNet/i3, Tennessee Prior to undertaking analysis of clinical trial data, in addition

More information

David S. Septoff Fidia Pharmaceutical Corporation

David S. Septoff Fidia Pharmaceutical Corporation UNLIMITING A LIMITED MACRO ENVIRONMENT David S. Septoff Fidia Pharmaceutical Corporation ABSTRACT The full Macro facility provides SAS users with an extremely powerful programming tool. It allows for conditional

More information

It s Not All Relative: SAS/Graph Annotate Coordinate Systems

It s Not All Relative: SAS/Graph Annotate Coordinate Systems Paper TU05 It s Not All Relative: SAS/Graph Annotate Coordinate Systems Rick Edwards, PPD Inc, Wilmington, NC ABSTRACT This paper discusses the SAS/Graph Annotation coordinate systems and how a combination

More information

Sign 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. 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 information

TLFs: Replaying Rather than Appending William Coar, Axio Research, Seattle, WA

TLFs: Replaying Rather than Appending William Coar, Axio Research, Seattle, WA ABSTRACT PharmaSUG 2013 - Paper PO16 TLFs: Replaying Rather than Appending William Coar, Axio Research, Seattle, WA In day-to-day operations of a Biostatistics and Statistical Programming department, we

More information

Coders' Corner. Paper ABSTRACT GLOBAL STATEMENTS INTRODUCTION

Coders' Corner. Paper ABSTRACT GLOBAL STATEMENTS INTRODUCTION Paper 70-26 Data Visualization of Outliers from a Health Research Perspective Using SAS/GRAPH and the Annotate Facility Nadia Redmond Kaiser Permanente Center for Health Research, Portland, Oregon ABSTRACT

More information

EXCEL + POWERPOINT. Analyzing, Visualizing, and Presenting Data-Rich Insights to Any Audience KNACK TRAINING

EXCEL + POWERPOINT. Analyzing, Visualizing, and Presenting Data-Rich Insights to Any Audience KNACK TRAINING EXCEL + POWERPOINT Analyzing, Visualizing, and Presenting Data-Rich Insights to Any Audience KNACK TRAINING KEYBOARD SHORTCUTS NAVIGATION & SELECTION SHORTCUTS 3 EDITING SHORTCUTS 3 SUMMARIES PIVOT TABLES

More information

SAS System Powers Web Measurement Solution at U S WEST

SAS System Powers Web Measurement Solution at U S WEST SAS System Powers Web Measurement Solution at U S WEST Bob Romero, U S WEST Communications, Technical Expert - SAS and Data Analysis Dale Hamilton, U S WEST Communications, Capacity Provisioning Process

More information

The following topics describe how to work with reports in the Firepower System:

The following topics describe how to work with reports in the Firepower System: The following topics describe how to work with reports in the Firepower System: Introduction to Reports Introduction to Reports, on page 1 Risk Reports, on page 1 Standard Reports, on page 2 About Working

More information

Building Web Applications with SAS AppDev Studio TM 3.0

Building Web Applications with SAS AppDev Studio TM 3.0 Building Web Applications with SAS AppDev Studio TM 3.0 ABSTRACT Frederick Pratter, Eastern Oregon University, La Grande OR The SAS/IntrNet Software product is now nearly 10 years old and uses the obsolete

More information

Tales from the Help Desk 6: Solutions to Common SAS Tasks

Tales from the Help Desk 6: Solutions to Common SAS Tasks SESUG 2015 ABSTRACT Paper BB-72 Tales from the Help Desk 6: Solutions to Common SAS Tasks Bruce Gilsen, Federal Reserve Board, Washington, DC In 30 years as a SAS consultant at the Federal Reserve Board,

More information