Building an Automated Data Management, Analysis and Reporting Tool That Runs Against Pre-Processed Web Server Access Log File Data.
|
|
- Gavin Malone
- 5 years ago
- Views:
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
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 informationThe 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 informationUsing 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 informationDeveloping 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 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 informationInternet/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 informationGenerating 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 informationOne 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 informationAD07 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 informationABC 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 informationPresentation 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 informationDisplaying 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 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 informationContents. 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 informationUsing 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 informationMaking 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 informationA 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 informationSAS 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 informationODS 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 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 informationFigure 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 informationODS 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 informationFly 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 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 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 informationSAS 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 informationReading 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 informationMANAGING 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 informationExternal 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 informationMatt 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 informationStoring 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 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 informationPaper 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 informationSAS 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 informationCreating 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 informationCombining 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 informationEasing 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 informationSAS 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 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 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 informationABC 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 informationCreating 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 informationPaper 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 informationInnovative 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 informationEssentials 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 informationMacro 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 informationMy 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 informationINTRODUCTION 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 informationAbstract. 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 informationContents 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 informationElectricity 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 informationUsing 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 informationET01. 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 informationSAS 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 informationEffective 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 informationAdding 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 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 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 informationLIBREOFFICE 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 informationGoing 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 informationCMISS 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 informationInteractive 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 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 informationTHE 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 informationA 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 informationSAS 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 informationPaper 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 informationSAS 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 informationKEYWORDS 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 informationAURA 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 informationAPPENDIX 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 informationMicrosoft 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 informationUsing 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 informationA 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 informationUsing 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 informationPharmaSUG 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 informationProducing 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 informationEnterprise 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 informationThe 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 informationA 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 informationUsing 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 informationDifferent 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 informationAdmin 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 Rushi Patel, Creative Information Technology, Inc., Arlington, VA ABSTRACT It is common to find
More informationTop 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 informationBuilding 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 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 informationSAS 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 informationUSING 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 informationQuick 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 informationDavid 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 informationIt 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 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 informationTLFs: 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 informationCoders' 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 informationEXCEL + 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 informationSAS 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 informationThe 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 informationBuilding 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 informationTales 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