Getting it Done with PROC TABULATE
|
|
- Ralph Arnold
- 5 years ago
- Views:
Transcription
1 ABSTRACT Getting it Done with PROC TABULATE Michael J. Williams, ICON Clinical Research, San Francisco, CA The task of displaying statistical summaries of different types of variables in a single table is quite familiar to many SAS users. There are many ways to go about this. PROC FREQ tends to be a favorite for counts and percentages of categorical variables, while PROC MEANS/SUMMARY and PROC UNIVARIATE tend to be preferred for summary statistics of continuous variables. In addition, PROC REPORT has many desirable customizations for displaying datasets. PROC TABULATE combines the computational functionality of FREQ, MEANS/SUMMARY, UNIVARIATE with the customization abilities of PROC REPORT. In this presentation/paper, we will give an overview of PROC TABULATE syntax, and then discuss stylistic customizations, calculating percentages, dealing with missing values, creating and processing PROC TABULATE output data sets. INTRODUCTION The SAS procedure PROC TABULATE is very useful for summarizing data. One of the most interesting features of the procedure is the amount of flexibility in designing the structure of the displayed table in terms of row structure, column structure, stacking or concatenating sub-tables, and formatting/labeling variable names and variable values. This paper discusses various aspects of PROC TABULATE including basic syntax, percentages, handling of missing values, and methods for creating output SAS datasets. We use the data set SASHELP.CARS to produce examples. First, we read in this data set as the temporary dataset CARS, and we focus on the variables MPG_City miles per gallon in the city MPG_Highway miles per gallon on the highway Type Type of car: Hybrid, SUV, Sedan, Sports, Truck, Wagon Origin Country of Origin: Asia, Europe, USA The CARS dataset has no missing values for every one of its variables. This is, of course, the ideal case for data analysis. In a later section, we will modify the CARS dataset to include missing values; this will force us to use more caution when computing summary statistics for several variables in a single PROC TABULATE step. BASIC SYNTAX The basic statements to include in PROC TABULATE are given below. PROC TABULATE <option(s)> <STYLE=style-override(s)>; CLASS variable(s) </option(s)> <STYLE=style-override(s)>; VAR analysis-variable(s) </option(s)> <STYLE=style-override(s)>; TABLE <<page-expression,> row-expression,> column-expression </ table-option(s)>; RUN; The PROC TABULATE statement typically includes the data set name, the CLASS statement includes a list of categorical variables (for computations of frequency and frequency percentage, and others), and the VAR statement includes a list of analysis variables (for computations of sum, frequency of sum, mean, standard deviation and others). The TABLE statement allows you to design a table. Multiple CLASS, VAR, and TABLE statements are allowed. BASIC ONE-WAY FREQUENCY Let s start by making a simple table for Type. We include a CLASS statement for Type, and the TABLE statement simply mentions Type to produce a one-way frequency. See Output 1. class Type; table Type; 1
2 Output 1. Table for Type. CONTINUOUS VARIABLE Let s make a table for MPG_City (with summary statistics N, Mean) by Type. Since MPG_City is an analysis variable, we include it in a VAR statement. MPG_City is designated as a row variable (left of the comma), and Type is designated as the column variable (right of the comma). See Output 2. class Type; var MPG_City; table MPG_City*(n mean), Type; Output 2. Table for MPG_City by Type. CLASS (CATEGORICAL) VARIABLE Now make a frequency table for Origin by Type. We will discuss percentages in a moment. The variables Type and Origin are included in a CLASS statement. In the TABLE statement, we specify that the N statistic will be nested within Origin, so that N appears in each row. This overrides the default result as seen in our one-way frequency of Type where N appears in each column. See Output 3. class Type Origin; table Origin*n, Type; Output 3. Table for Origin by Type. 2
3 In PROC TABULATE, there are several standard percentages. For now, we will settle with discussing three types: PCTN, ROWPCTN, COLPCTN. The FREQ procedure also calculates these types of percentages. As you might expect, PCTN is an overall percentage, while ROWPCTN and COLPCTN are self-explanatory. It will useful to include the following statement in a PROC FORMAT step. picture pctf (round) other='009.9%'; The PCTF format will round-off percentages to one decimal place (of a percentage point) and the percentage sign % will be displayed in the output. We use the syntax = <label> and *f=<format> after a variable to use a label and format respectively. See Output 4. class Type Origin; table Origin*(n (pctn colpctn pctn<origin>='pctn<origin>' rowpctn)*f=pctf.) all='column Total', Type all='row Total'; Output 4. Table for Origin by Type with basic percentages. Notice that PctN is computed with a denominator of 428, while PctN<Origin> is the same as ColPctN; this is an example of specifying a denominator. In this case, PctN<Origin> tells SAS that the denominator will be the total of values with non-missing Origin values in that column. This is precisely the same thing as ColPctN. For now on, we will consider only column percentages for class variables. 3
4 COUNTS/PERCENTAGES FOR AN INDICATOR VARIABLE Suppose we simplify the Origin variable in order to keep track of whether or not a car is from the USA. So we introduce a binary variable Car_USA = (Origin eq USA ). It turns out that it is also useful to define an indicator INDATA that always has value 1. See Output 5. data cars; set cars; Car_USA = (Origin eq 'USA'); InData=1; format Car_USA ynf.; For formatting Car_USA, we included the following statement in PROC FORMAT. /* format for numerical Yes/No: 1= Yes, 0= No */ value ynf 1 = 'Yes' 0 = 'No'; class Type; class Car_USA / descending; table Car_USA*(n*f=comma9.0 colpctn*f=pctf.), all='overall' Type; Output 5. Table for Car_USA by Type. In order to count only the Yes values and display the same percentages, a different approach needs to be taken. We put Car_USA in the VAR statement instead of the CLASS statement, and we also use replace N and COLPCTN with SUM and COLPCTSUM<INDATA> respectively. See Output 6. class Type; var Car_USA InData; table Car_USA*(sum*f=comma9.0 colpctsum<indata>*f=pctf.), all='overall' Type; Output 6. Table for (Car_USA=1) by Type. 4
5 STACKING TABLES Let s stack the tables for MPG_City and Origin in a single table. We simply combine code from the previous examples into one PROC TABULATE step with a single TABLE statement. The part of the TABLE statement that defines the row will just be the row code from MPG_City and Origin separated by a space. Recall that the CARS data set has no missing values, so the results are what you would expect. In a later section, we will discuss how missing values affect the expected output in a stacked table. See Output 7. class Type Origin; var MPG_City; table MPG_City*(n mean*f=9.1) Origin*(n colpctn*f=pctf.), all='overall' Type; Output 7. Table for MPG_City and Origin by Type. DEALING WITH MISSING VALUES Let s impose missing values in 3 different ways. Keep in mind that the original data set CARS has absolutely NO missing values. data cars_mpg_city; set cars; row+1; if (mod(row,25) eq 0) then call missing(mpg_city); In the CARS_MPG_CITY dataset, we set MPG_City to missing for rows 25, 50, 75,, 425. data cars_origin; set cars; row+1; if (mod(row,25) eq 1) then call missing(origin); In the CARS_ORIGIN dataset, we set Origin to missing for rows 1, 26, 51, 76,,
6 data cars_type; set cars; row+1; if (mod(row,25) eq 2) then call missing(type); In the CARS_TYPE dataset, we set Type to missing for rows 2, 27, 52, 77,, 427. THE EFFECT OF MISSING TYPE proc tabulate data=cars_type; class Type Origin; var MPG_City; table all='all Cars' MPG_City*(n mean*f=9.1) Origin*(n colpctn*f=pctf.), all='overall' Type; Output 8. Table for MPG_City and Origin by Type where some observations have missing Type. In this case, all observations with missing Type are simply excluded from the analysis. See Output 8. For simplicity, in the remainder of this discussion of missing values, we will keep only the Overall column. THE EFFECT OF MISSING MPG_CITY proc tabulate data=cars_mpg_city; class Origin; var MPG_City MPG_Highway; table all='all Cars' MPG_City*(n mean*f=9.1) MPG_Highway*(n mean*f=9.1) Origin*(n colpctn*f=pctf.), all='overall'; 6
7 Output 9. Table for MPG_City and Origin where some observations have missing MPG_City. In this example, the N for MPG_City and no other variable is less than 428. In summary, missing values for MPG_City have no effect on the other variable counts. See Output 9. THE EFFECT OF MISSING ORIGIN proc tabulate data=cars_origin; class Origin; var MPG_City; table all='all Cars' MPG_City*(n mean*f=9.1) Origin*(n colpctn*f=pctf.), all='overall'; Output 10. Table for MPG_City and Origin where some observations have missing Origin. 7
8 In this example, missing values for Origin affect the N values for entire table. When an observation has a missing value for Origin, that observation is excluded from the analysis of all variables in PROC TABULATE. See Output 10. THE MISSING OPTION IN PROC TABULATE proc tabulate data=cars_origin missing; class Origin; var MPG_City; table all='all Cars' MPG_City*(n mean*f=9.1) Origin*(n colpctn*f=pctf.), all='overall'; Output 11. Table for MPG_City and Origin where some observations have missing Origin. The MISSING option was used in PROC TABULATE statement. Percentages use 248 as denominator. The MISSING option allows all observations to be included in the analysis. A new category appears for Origin that accounts for missing Origin values. Note that the percentages for the categories of Origin have a denominator of 428. See Output 11. What if we only want a denominator for only the 410 non-missing values? EXCLUDING MISSINGS IN THE PERCENTAGES In this situation, we need to the have an indicator variable for non-missing Origin. The total number of observations with non-missing Origin will be the denominator for percentages. This denominator is the same as the sum of the indicator. 8
9 data cars_origin2; set cars_origin; Origin_n = ^missing(origin); label Origin_n = "Indicator for non-missing Origin"; proc tabulate data=cars_origin2 missing; class Origin; var Origin_n; table all='all Cars' Origin*(Origin_n=' '*(n colpctsum<origin_n>*f=pctf.)), all='overall' / row=float; In the code, Origin_n is nested in Origin. The label for origin_n is blank since we have origin_n=. We don t see additional cells in the table due to the ROW=FLOAT option. This option eliminates repeated cells that appear in consecutive rows. So our extraneous blank rows are not visible. See Output 12. Output 12. Table for MPG_City and ORigin where some observations have missing Origin. The MISSING option was used in PROC TABULATE statement. Percentages use 410 as denominator. We could label ColPctSum as percent of non-missing. CREATING AN OUTPUT SAS DATA SET THE EASY WAY: USE THE OUT= OPTION OR AN ODS OUTPUT STATEMENT The OUT= option in the PROC TABULATE statement makes it easy to create an output dataset. The data set that you obtain will not look like the displayed PROC TABULATE output, but the computed content is in the data set. The data set can be further processed according to a programmers needs. The following two PROC TABULATE snippets below produce exactly the same data set. 9
10 proc tabulate data=cars out=pt_output(drop=_page table_); class Type Origin; table Origin*(n colpctn), all Type=' '; class Type Origin; table Origin*(n colpctn), all Type=' '; ods output out=pt_output(drop=_page table_); Note in the code that Type is the first class variable from CARS, and Origin is the second class variable from CARS. The variable _TYPE_ (in PT_OUTPUT) is an ordered pair of indicators for the class variables. Also, _TYPE_ is implicitly used in the variable names PctN_00 and PctN_10 (in PT_OUTPUT). The ordered pair of indicators serve to indicate the whether or not each of the class variables from CARS is used in a denominator definition. See Output 13. Output 13. The data set PT_OUTPUT. 10
11 AN ALTERNATIVE WAY: EXPORT TO EXCEL, THEN IMPORT THE RESULT AS SAS DATA SET It might be more desirable to make an output data set of the PROC TABULATE displayed output. First, we make Excel output by using ODS Excel statements; this requires SAS version 9.4. ods excel file="c:\table.xlsx" style=minimal; class Type / descending; class Origin / order=freq; var MPG_City; table MPG_City*(n mean*f=9.1) Origin*(n colpctn*f=pctf.), all='overall' Type=' ' / nocellmerge misstext='x'; keylabel ColPctN='Percent'; ods excel close; In the CLASS statement for Type, the DESCENDING option has PROC TABULATE present the columns by descending order, specifically in this case, reverse alphabetical order. In the CLASS statement for Origin, the ORDER=FREQ option has PROC TABULATE present the categories of Origin by descending frequency or the Overall column; if we add the option ascending, then the categories of Origin will be presented in ascending frequency. See Output 14. Output 14. The Excel file produced by PROC TABULATE along with ODS EXCEL code. After creating the Excel document, we can import it back into SAS as a dataset. Let s call the dataset Table_01. See Output 15. proc import datafile="c:\table.xlsx" out=table_01 dbms=excel replace; getnames=no; scantext=yes; mixed=yes; 11
12 Output 15. The data set TABLE_01 created by PROC IMPORT. The PROC IMPORT statement is standard for importing Excel files. It is easier to work with the data set if we set GETNAMES=NO; The variable names will be simply F1 F9. The SCANTEXT=YES statement is useful in order to have SAS determine whether each variable should be character or numeric. Fortunately, our PROC TABULATE computed all of the numbers that we need, and it formatted all of these numbers and missing values. So it is ok to have all of the variables be character. SAS scans all of the data and since there is at least one character string in each column, SAS determines that the variables F1 F9 will be character variables. Now fix indents, insert appropriate text for missing values, and set up labels for variables. The following DATA step takes care of this. The LABEL statement is omitted. See Output 16. data table_02(drop=row); length f1 $12; /* set TABLE_01 and add ROW counter */ set table_01; row+1; /* replace 'X' with '0' or '0.0%' */ array allvars{*} _CHARACTER_; do i=1 to dim(allvars); if (f2 eq 'N') and (allvars{i} eq 'X') then allvars{i} = '0'; else if (f2 eq 'Percent') and (allvars{i} eq 'X') then allvars{i} = '0.0%'; end; drop i; /* restore indents for Origin categories */ if (6 le row le 10) then f1 = cat(' ',f1); if (row eq 1) then delete; format f1 $12.; Output 16. The data set TABLE_02. With a data set in hand, we can run PROC REPORT and customize the appearance of our table. See Output
13 Car Type Characteristic Statistic Overall Wagon Truck Sports Sedan SUV Hybrid MPG (City) N Mean Origin Asia N Percent 36.9% 36.7% 33.3% 34.7% 35.9% 41.7% 100.0% USA N Percent 34.3% 23.3% 66.7% 18.4% 34.4% 41.7% 0.0% Europe N Percent 28.7% 40.0% 0.0% 46.9% 29.8% 16.7% 0.0% Output 17. PROC REPORT output of the data set TABLE_02. We could do a few more DATA steps to combine some statistics into the same cell, and run PROC REPORT on the new data set. See Output 18. Car Type Characteristic Statistic Overall Wagon Truck Sports Sedan SUV Hybrid MPG (City) N, Mean 428, , , , , , , 55.0 Origin Asia N, % 158, 36.9% 11, 36.7% 8, 33.3% 17, 34.7% 94, 35.9% 25, 41.7% 3, 100.0% USA N, % 147, 34.3% 7, 23.3% 16, 66.7% 9, 18.4% 90, 34.4% 25, 41.7% 0, 0.0% Europe N, % 123, 28.7% 12, 40.0% 0, 0.0% 23, 46.9% 78, 29.8% 10, 16.7% 0, 0.0% Output 18. PROC REPORT output of a DATA-step-modified version of TABLE_02. To achieve this, we split the data set TABLE_02 into two data sets The data set TABLE_03 contains all of the rows of TABLE_02 except the rows for which Statistic equals Mean or Percent. The data set TABLE_03X contains all of the rows of TABLE_02 for which Statistic equals Mean or Percent. Then we introduce a counter call ROW to line up the rows that we want to merge, then we merge the data sets by ROW, and use the CATX function with delimiter, to combine values to form an N, Mean value or an N, % value. CONCLUSION As we have shown, PROC TABULATE is useful for computing descriptive statistics and displaying those statistics in a variety of ways. Although percentages and missing values may seem hard to deal with at times, there are sensible ways to work with the PROC TABULATE code to achieve your results. RECOMMENDED READING Carpenter, Art PROC TABULATE: Doing More. Proceedings of SAS Global 2011 Conference. Cary, NC: SAS Institute Inc. McLawhorn, Kathryn Tips for Generating Percentages Using the SAS TABULATE Procedure. Proceedings of SAS Global 2013 Conference. Cary, NC: SAS Institute Inc. 13
14 CONTACT INFORMATION Your comments and questions are valued and encouraged. Contact the author at: Name: Michael J. Williams Enterprise: ICON Clinical Research Address: 456 Montgomery Street, Suite 2200 City, State ZIP: San Francisco, CA Web: ICONplc.com SAS and all other SAS Institute Inc. product or service names are registered trademarks or trademarks of SAS Institute Inc. in the USA and other countries. indicates USA registration. Other brand and product names are trademarks of their respective companies. 14
Setting the Percentage in PROC TABULATE
SESUG Paper 193-2017 Setting the Percentage in PROC TABULATE David Franklin, QuintilesIMS, Cambridge, MA ABSTRACT PROC TABULATE is a very powerful procedure which can do statistics and frequency counts
More informationIntroducing a Colorful Proc Tabulate Ben Cochran, The Bedford Group, Raleigh, NC
Paper S1-09-2013 Introducing a Colorful Proc Tabulate Ben Cochran, The Bedford Group, Raleigh, NC ABSTRACT Several years ago, one of my clients was in the business of selling reports to hospitals. He used
More informationIt s Proc Tabulate Jim, but not as we know it!
Paper SS02 It s Proc Tabulate Jim, but not as we know it! Robert Walls, PPD, Bellshill, UK ABSTRACT PROC TABULATE has received a very bad press in the last few years. Most SAS Users have come to look on
More informationDSCI 325: Handout 10 Summarizing Numerical and Categorical Data in SAS Spring 2017
DSCI 325: Handout 10 Summarizing Numerical and Categorical Data in SAS Spring 2017 USING PROC MEANS The routine PROC MEANS can be used to obtain limited summaries for numerical variables (e.g., the mean,
More informationThe REPORT Procedure: A Primer for the Compute Block
Paper TT15-SAS The REPORT Procedure: A Primer for the Compute Block Jane Eslinger, SAS Institute Inc. ABSTRACT It is well-known in the world of SAS programming that the REPORT procedure is one of the best
More informationTweaking your tables: Suppressing superfluous subtotals in PROC TABULATE
ABSTRACT Tweaking your tables: Suppressing superfluous subtotals in PROC TABULATE Steve Cavill, NSW Bureau of Crime Statistics and Research, Sydney, Australia PROC TABULATE is a great tool for generating
More informationWriting Reports with the
Writing Reports with the SAS System s TABULATE Procedure or Big Money Proc Tabulate Ben Cochran The Bedford Group bencochran@nc.rr.com Writing Reports with the SAS System s TABULATE Procedure Copyright
More informationArt Carpenter California Occidental Consultants
PharmaSUG 2010 - Paper HW03 PROC TABULATE: Getting Started and Doing More Art Carpenter California Occidental Consultants ABSTRACT Although PROC TABULATE has been a part of Base SAS since early version
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 informationCopy That! Using SAS to Create Directories and Duplicate Files
Copy That! Using SAS to Create Directories and Duplicate Files, SAS and all other SAS Institute Inc. product or service names are registered trademarks or trademarks of SAS Institute Inc. in the USA and
More informationAnyone Can Learn PROC TABULATE, v2.0
Paper 63-25 Anyone Can Learn PROC TABULATE, v2.0 Lauren Haworth Ischemia Research & Education Foundation San Francisco ABSTRACT SAS Software provides hundreds of ways you can analyze your data. You can
More informationINTRODUCTION TO SAS HOW SAS WORKS READING RAW DATA INTO SAS
TO SAS NEED FOR SAS WHO USES SAS WHAT IS SAS? OVERVIEW OF BASE SAS SOFTWARE DATA MANAGEMENT FACILITY STRUCTURE OF SAS DATASET SAS PROGRAM PROGRAMMING LANGUAGE ELEMENTS OF THE SAS LANGUAGE RULES FOR SAS
More informationUsing PROC REPORT to Cross-Tabulate Multiple Response Items Patrick Thornton, SRI International, Menlo Park, CA
Using PROC REPORT to Cross-Tabulate Multiple Response Items Patrick Thornton, SRI International, Menlo Park, CA ABSTRACT This paper describes for an intermediate SAS user the use of PROC REPORT to create
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 informationI AlB 1 C 1 D ~~~ I I ; -j-----; ;--i--;--j- ;- j--; AlB
PROC TABULATE: CONTROLLNG TABLE APPEARANCE August V. Treff Baltimore City Public Schools Office of Research and Evaluation ABSTRACT Proc Tabulate provides one, two, and three dimensional tables. Tables
More informationQuality Control of Clinical Data Listings with Proc Compare
ABSTRACT Quality Control of Clinical Data Listings with Proc Compare Robert Bikwemu, Pharmapace, Inc., San Diego, CA Nicole Wallstedt, Pharmapace, Inc., San Diego, CA Checking clinical data listings with
More informationSAS Business Rules Manager 1.2
SAS Business Rules Manager 1.2 User s Guide Second Edition SAS Documentation The correct bibliographic citation for this manual is as follows: SAS Institute Inc. 2012. SAS Business Rules Manager 1.2. Cary,
More informationSAS Cloud Analytic Services 3.1: Graphing Your Output
SAS Cloud Analytic Services 3.1: Graphing Your Output SAS Documentation The correct bibliographic citation for this manual is as follows: SAS Institute Inc. 2016. SAS Cloud Analytic Services 3.1: Graphing
More informationPROC MEANS for Disaggregating Statistics in SAS : One Input Data Set and One Output Data Set with Everything You Need
ABSTRACT Paper PO 133 PROC MEANS for Disaggregating Statistics in SAS : One Input Data Set and One Output Data Set with Everything You Need Imelda C. Go, South Carolina Department of Education, Columbia,
More informationUser Manual Mail Merge
User Manual Mail Merge Version: 1.0 Mail Merge Date: 27-08-2013 How to print letters using Mail Merge You can use Mail Merge to create a series of documents, such as a standard letter that you want to
More informationGetting Classy: A SAS Macro for CLASS Statement Automation
Getting Classy: A SAS Macro for CLASS Statement Automation ABSTRACT When creating statistical models that include multiple covariates, it is important to address which variables are considered categorical
More informationFigure 1: The PMG GUI on startup
Statistics involves a fair number of computations that can be made much more convenient using either a calculator or a computer. Although the basic TI-83 or 84 series of calculators can do most of the
More informationA Breeze through SAS options to Enter a Zero-filled row Kajal Tahiliani, ICON Clinical Research, Warrington, PA
ABSTRACT: A Breeze through SAS options to Enter a Zero-filled row Kajal Tahiliani, ICON Clinical Research, Warrington, PA Programmers often need to summarize data into tables as per template. But study
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 informationStatistics, Data Analysis & Econometrics
ST009 PROC MI as the Basis for a Macro for the Study of Patterns of Missing Data Carl E. Pierchala, National Highway Traffic Safety Administration, Washington ABSTRACT The study of missing data patterns
More informationSAS/STAT 13.1 User s Guide. The NESTED Procedure
SAS/STAT 13.1 User s Guide The NESTED Procedure This document is an individual chapter from SAS/STAT 13.1 User s Guide. The correct bibliographic citation for the complete manual is as follows: SAS Institute
More informationStatistics and Graphics Functions
Statistics and Graphics Functions Statistics and Graphics Functions Frequency Tables and Diagrams for Variables With the help of the Statistics and Graphics module, MAXQDA can create frequency tables and
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 Online Training: Course contents: Agenda:
SAS Online Training: Course contents: Agenda: (1) Base SAS (6) Clinical SAS Online Training with Real time Projects (2) Advance SAS (7) Financial SAS Training Real time Projects (3) SQL (8) CV preparation
More informationIntroduction to Stata - Session 2
Introduction to Stata - Session 2 Siv-Elisabeth Skjelbred ECON 3150/4150, UiO January 26, 2016 1 / 29 Before we start Download auto.dta, auto.csv from course home page and save to your stata course folder.
More informationPaper ###-YYYY. SAS Enterprise Guide: A Revolutionary Tool! Jennifer First, Systems Seminar Consultants, Madison, WI
Paper ###-YYYY SAS Enterprise Guide: A Revolutionary Tool! Jennifer First, Systems Seminar Consultants, Madison, WI ABSTRACT Whether you are a novice or a pro with SAS, Enterprise Guide has something for
More informationSAS Macros for Grouping Count and Its Application to Enhance Your Reports
SAS Macros for Grouping Count and Its Application to Enhance Your Reports Shi-Tao Yeh, EDP Contract Services, Bala Cynwyd, PA ABSTRACT This paper provides two SAS macros, one for one grouping variable,
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 informationA Quick and Gentle Introduction to PROC SQL
ABSTRACT Paper B2B 9 A Quick and Gentle Introduction to PROC SQL Shane Rosanbalm, Rho, Inc. Sam Gillett, Rho, Inc. If you are afraid of SQL, it is most likely because you haven t been properly introduced.
More informationProc Tabulate: Extending This Powerful Tool Beyond Its Limitations
Paper 1730-2014 Proc Tabulate: Extending This Powerful Tool Beyond Its Limitations Justin Jia, Canadian Imperial Bank of Commerce (CIBC), Toronto, Ontario, Canada Amanda Lin, Bell Canada, Toronto, Ontario,
More informationGoing Beyond Proc Tabulate Jim Edgington, LabOne, Inc., Lenexa, KS Carole Lindblade, LabOne, Inc., Lenexa, KS
Going Beyond Proc Tabulate Jim Edgington, LabOne, Inc., Lenexa, KS Carole Lindblade, LabOne, Inc., Lenexa, KS ABSTRACT PROC Tabulate is one of the most powerful and versatile of the SAS reporting tools.
More informationMacro Quoting: Which Function Should We Use? Pengfei Guo, MSD R&D (China) Co., Ltd., Shanghai, China
PharmaSUG China 2016 - Paper 81 Macro Quoting: Which Function Should We Use? Pengfei Guo, MSD R&D (China) Co., Ltd., Shanghai, China ABSTRACT There are several macro quoting functions in SAS and even some
More informationChristopher Louden University of Texas Health Science Center at San Antonio
Christopher Louden University of Texas Health Science Center at San Antonio Overview of Macro Language Report Writing The REPORT procedure The Output Delivery System (ODS) Macro Examples Utility Macros
More informationUncommon Techniques for Common Variables
Paper 11863-2016 Uncommon Techniques for Common Variables Christopher J. Bost, MDRC, New York, NY ABSTRACT If a variable occurs in more than one data set being merged, the last value (from the variable
More informationUsing PROC TABULATE and ODS Style Options to Make Really Great Tables Wendi L. Wright, CTB / McGraw-Hill, Harrisburg, PA
Using PROC TABULATE and ODS Style Options to Make Really Great Tables Wendi L. Wright, CTB / McGraw-Hill, Harrisburg, PA ABSTRACT We start with an introduction to PROC TABULATE, looking at the basic syntax,
More informationUsing PROC SQL to Generate Shift Tables More Efficiently
ABSTRACT SESUG Paper 218-2018 Using PROC SQL to Generate Shift Tables More Efficiently Jenna Cody, IQVIA Shift tables display the change in the frequency of subjects across specified categories from baseline
More informationCreate Custom Tables in No Time
PASW Custom Tables 18 Create Custom Tables in No Time Easily analyze data and communicate your results with PASW Custom Tables Show the results of analyses clearly and quickly You often report the results
More informationThe REPORT Procedure CHAPTER 32
859 CHAPTER 32 The REPORT Procedure Overview 861 Types of Reports 861 A Sampling of Reports 861 Concepts 866 Laying Out a Report 866 Usage of Variables in a Report 867 Display Variables 867 Order Variables
More informationFormat-o-matic: Using Formats To Merge Data From Multiple Sources
SESUG Paper 134-2017 Format-o-matic: Using Formats To Merge Data From Multiple Sources Marcus Maher, Ipsos Public Affairs; Joe Matise, NORC at the University of Chicago ABSTRACT User-defined formats are
More informationSTATISTICAL TECHNIQUES. Interpreting Basic Statistical Values
STATISTICAL TECHNIQUES Interpreting Basic Statistical Values INTERPRETING BASIC STATISTICAL VALUES Sample representative How would one represent the average or typical piece of information from a given
More informationExcel 2007/2010. Don t be afraid of PivotTables. Prepared by: Tina Purtee Information Technology (818)
Information Technology MS Office 2007/10 Users Guide Excel 2007/2010 Don t be afraid of PivotTables Prepared by: Tina Purtee Information Technology (818) 677-2090 tpurtee@csun.edu [ DON T BE AFRAID OF
More informationThe Basics of PROC FCMP. Dachao Liu Northwestern Universtiy Chicago
The Basics of PROC FCMP Dachao Liu Northwestern Universtiy Chicago ABSTRACT SAS Functions can save SAS users time and effort in programming. Each release of SAS has new functions added. Up to the latest
More informationPDF Accessibility: How SAS 9.4M5 Enables Automatic Production of Accessible PDF Files
Paper SAS2129-2018 PDF Accessibility: How SAS 9.4M5 Enables Automatic Production of Accessible PDF Files Woody Middleton, SAS Institute Inc., Cary, NC ABSTRACT No longer do you need to begin the accessibility
More informationChapters 18, 19, 20 Solutions. Page 1 of 14. Demographics from COLLEGE Data Set
18.2 proc tabulate data=learn.college format=7.; class schoolsize gender scholarship; table schoolsize ALL, gender scholarship ALL; n = ' '; Demographics from COLLEGE Data Set ƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒ ƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒ
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 informationUse mail merge to create and print letters and other documents
Use mail merge to create and print letters and other documents Contents Use mail merge to create and print letters and other documents... 1 Set up the main document... 1 Connect the document to a data
More informationPharmaSUG Paper PO10
PharmaSUG 2013 - Paper PO10 How to make SAS Drug Development more efficient Xiaopeng Li, Celerion Inc., Lincoln, NE Chun Feng, Celerion Inc., Lincoln, NE Peng Chai, Celerion Inc., Lincoln, NE ABSTRACT
More informationLet the CAT Out of the Bag: String Concatenation in SAS 9
Let the CAT Out of the Bag: String Concatenation in SAS 9 Joshua M. Horstman, Nested Loop Consulting, Indianapolis, IN, USA ABSTRACT Are you still using TRIM, LEFT, and vertical bar operators to concatenate
More informationCustomized Flowcharts Using SAS Annotation Abhinav Srivastva, PaxVax Inc., Redwood City, CA
ABSTRACT Customized Flowcharts Using SAS Annotation Abhinav Srivastva, PaxVax Inc., Redwood City, CA Data visualization is becoming a trend in all sectors where critical business decisions or assessments
More informationChecking for Duplicates Wendi L. Wright
Checking for Duplicates Wendi L. Wright ABSTRACT This introductory level paper demonstrates a quick way to find duplicates in a dataset (with both simple and complex keys). It discusses what to do when
More informationDitch the Data Memo: Using Macro Variables and Outer Union Corresponding in PROC SQL to Create Data Set Summary Tables Andrea Shane MDRC, Oakland, CA
ABSTRACT Ditch the Data Memo: Using Macro Variables and Outer Union Corresponding in PROC SQL to Create Data Set Summary Tables Andrea Shane MDRC, Oakland, CA Data set documentation is essential to good
More informationBeginning Tutorials. PROC FSEDIT NEW=newfilename LIKE=oldfilename; Fig. 4 - Specifying a WHERE Clause in FSEDIT. Data Editing
Mouse Clicking Your Way Viewing and Manipulating Data with Version 8 of the SAS System Terry Fain, RAND, Santa Monica, California Cyndie Gareleck, RAND, Santa Monica, California ABSTRACT Version 8 of the
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 informationCreate CSV for Asset Import
Create CSV for Asset Import Assets are tangible items, equipment, or systems that have a physical presence, such as compressors, boilers, refrigeration units, transformers, trucks, cranes, etc. that are
More informationA Guided Tour Through the SAS Windowing Environment Casey Cantrell, Clarion Consulting, Los Angeles, CA
A Guided Tour Through the SAS Windowing Environment Casey Cantrell, Clarion Consulting, Los Angeles, CA ABSTRACT The SAS system running in the Microsoft Windows environment contains a multitude of tools
More informationSAP InfiniteInsight 7.0
End User Documentation Document Version: 1.0-2014-11 SAP InfiniteInsight 7.0 Data Toolkit User Guide CUSTOMER Table of Contents 1 About this Document... 3 2 Common Steps... 4 2.1 Selecting a Data Set...
More informationMicrosoft Office Excel 2007
Microsoft Office Excel 2007 Data Processing in Spreadsheets 1/28/2009 Microsoft Excel 1 Use Excel s functions! A function is a predefined (built-in) formula for commonly used calculations. Each Excel function
More informationSAS Job Monitor 2.2. About SAS Job Monitor. Overview. SAS Job Monitor for SAS Data Integration Studio
SAS Job Monitor 2.2 About SAS Job Monitor Overview SAS Job Monitor is a component of SAS Environment Manager that integrates information from SAS Data Integration Studio, DataFlux Data Management Server,
More informationUsing Templates Created by the SAS/STAT Procedures
Paper 081-29 Using Templates Created by the SAS/STAT Procedures Yanhong Huang, Ph.D. UMDNJ, Newark, NJ Jianming He, Solucient, LLC., Berkeley Heights, NJ ABSTRACT SAS procedures provide a large quantity
More informationFifteen Functions to Supercharge Your SAS Code
MWSUG 2017 - Paper BB071 Fifteen Functions to Supercharge Your SAS Code Joshua M. Horstman, Nested Loop Consulting, Indianapolis, IN ABSTRACT The number of functions included in SAS software has exploded
More informationApplications Development
AD003 User Implementation and Revision of Business Rules Without Hard Coding: Macro-Generated SAS Code By Michael Krumenaker, Sr. Project Manager, Palisades Research, Inc. and Jit Bhattacharya, Manager
More informationExcel Introduction to Excel Databases & Data Tables
Creating an Excel Database Key field: Each record should have some field(s) that helps to uniquely identify them, put these fields at the start of your database. In an Excel database each column is a field
More informationA Format to Make the _TYPE_ Field of PROC MEANS Easier to Interpret Matt Pettis, Thomson West, Eagan, MN
Paper 045-29 A Format to Make the _TYPE_ Field of PROC MEANS Easier to Interpret Matt Pettis, Thomson West, Eagan, MN ABSTRACT: PROC MEANS analyzes datasets according to the variables listed in its Class
More informationThe NESTED Procedure (Chapter)
SAS/STAT 9.3 User s Guide The NESTED Procedure (Chapter) SAS Documentation This document is an individual chapter from SAS/STAT 9.3 User s Guide. The correct bibliographic citation for the complete manual
More information2015 Vanderbilt University
Excel Supplement 2015 Vanderbilt University Introduction This guide describes how to perform some basic data manipulation tasks in Microsoft Excel. Excel is spreadsheet software that is used to store information
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 informationThe Proc Transpose Cookbook
ABSTRACT PharmaSUG 2017 - Paper TT13 The Proc Transpose Cookbook Douglas Zirbel, Wells Fargo and Co. Proc TRANSPOSE rearranges columns and rows of SAS datasets, but its documentation and behavior can be
More informationImelda C. Go, South Carolina Department of Education, Columbia, SC
PO 082 Rounding in SAS : Preventing Numeric Representation Problems Imelda C. Go, South Carolina Department of Education, Columbia, SC ABSTRACT As SAS programmers, we come from a variety of backgrounds.
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 informationPREREQUISITES FOR EXAMPLES
212-2007 SAS Information Map Studio and SAS Web Report Studio A Tutorial Angela Hall, Zencos Consulting LLC, Durham, NC Brian Miles, Zencos Consulting LLC, Durham, NC ABSTRACT Find out how to provide the
More informationODS/RTF Pagination Revisit
PharmaSUG 2018 - Paper QT-01 ODS/RTF Pagination Revisit Ya Huang, Halozyme Therapeutics, Inc. Bryan Callahan, Halozyme Therapeutics, Inc. ABSTRACT ODS/RTF combined with PROC REPORT has been used to generate
More informationUsing Proc Freq for Manageable Data Summarization
1 CC27 Using Proc Freq for Manageable Data Summarization Curtis Wolf, DataCeutics, Inc. A SIMPLE BUT POWERFUL PROC The Frequency procedure can be very useful for getting a general sense of the contents
More informationAre you Still Afraid of Using Arrays? Let s Explore their Advantages
Paper CT07 Are you Still Afraid of Using Arrays? Let s Explore their Advantages Vladyslav Khudov, Experis Clinical, Kharkiv, Ukraine ABSTRACT At first glance, arrays in SAS seem to be a complicated and
More informationA Side of Hash for You To Dig Into
A Side of Hash for You To Dig Into Shan Ali Rasul, Indigo Books & Music Inc, Toronto, Ontario, Canada. ABSTRACT Within the realm of Customer Relationship Management (CRM) there is always a need for segmenting
More informationMultiple Graphical and Tabular Reports on One Page, Multiple Ways to Do It Niraj J Pandya, CT, USA
Paper TT11 Multiple Graphical and Tabular Reports on One Page, Multiple Ways to Do It Niraj J Pandya, CT, USA ABSTRACT Creating different kind of reports for the presentation of same data sounds a normal
More informationSTAT:5400 Computing in Statistics
STAT:5400 Computing in Statistics Introduction to SAS Lecture 18 Oct 12, 2015 Kate Cowles 374 SH, 335-0727 kate-cowles@uiowaedu SAS SAS is the statistical software package most commonly used in business,
More informationBasic SAS Hash Programming Techniques Applied in Our Daily Work in Clinical Trials Data Analysis
PharmaSUG China 2018 Paper 18 Basic SAS Hash Programming Techniques Applied in Our Daily Work in Clinical Trials Data Analysis ABSTRACT Fanyu Li, MSD, Beijing, China With the development of SAS programming
More informationSAS Publishing SAS. Forecast Studio 1.4. User s Guide
SAS Publishing SAS User s Guide Forecast Studio 1.4 The correct bibliographic citation for this manual is as follows: SAS Institute Inc. 2006. SAS Forecast Studio 1.4: User s Guide. Cary, NC: SAS Institute
More informationWeek 9: PROC TABULATE (Chapter 19)
Week 9: PROC TABULATE (Chapter 19) We continue exploring primarily describing data to make it easier to present and understand. PROC TABULATE is especially useful for qualitative variables or for breaking
More informationSending Text Messages from SAS
ABSTRACT Sending Text Messages from SAS Matthew Slaughter, Kaiser Permanente Center for Health Research, Portland, OR Text messages (SMS) are a convenient way to receive notifications away from your computer
More informationCleaning Duplicate Observations on a Chessboard of Missing Values Mayrita Vitvitska, ClinOps, LLC, San Francisco, CA
Cleaning Duplicate Observations on a Chessboard of Missing Values Mayrita Vitvitska, ClinOps, LLC, San Francisco, CA ABSTRACT Removing duplicate observations from a data set is not as easy as it might
More informationModule 6 - Structured References - 1
Module 6 - Structured References TOPICS COVERED: 1) Introducing the Excel Table (0:07) 2) Using Structure References (1:55) 3) Default Table Style (2:18) 4) Distinguishing Excel Tables from Other Tables
More informationChapter 6: Modifying and Combining Data Sets
Chapter 6: Modifying and Combining Data Sets The SET statement is a powerful statement in the DATA step. Its main use is to read in a previously created SAS data set which can be modified and saved as
More informationUsing a Picture Format to Create Visit Windows
SCSUG 2018 Using a Picture Format to Create Visit Windows Richann Watson, DataRich Consulting ABSTRACT Creating visit windows is sometimes required for analysis of data. We need to make sure that we get
More informationIn d e x Dapresy London Dapresy Sweden Dapresy Berlin
6.0 In d e x 1 New features in Dapresy Pro version 6.0... 2 2 Storyteller... 2 3 Improved topline reporting... 3 4 Improved cross tabulation tool... 4 4.1 Open numeric variables... 4 4.2 Ranking... 5 4.3
More informationAn Easy Route to a Missing Data Report with ODS+PROC FREQ+A Data Step Mike Zdeb, FSL, University at Albany School of Public Health, Rensselaer, NY
SESUG 2016 Paper BB-170 An Easy Route to a Missing Data Report with ODS+PROC FREQ+A Data Step Mike Zdeb, FSL, University at Albany School of Public Health, Rensselaer, NY ABSTRACT A first step in analyzing
More informationAccess - Introduction to Queries
Access - Introduction to Queries Part of managing a database involves asking questions about the data. A query is an Access object that you can use to ask the question(s). The answer is contained in the
More informationThe GEOCODE Procedure and SAS Visual Analytics
ABSTRACT SAS3480-2016 The GEOCODE Procedure and SAS Visual Analytics Darrell Massengill, SAS Institute Inc., Cary, NC SAS Visual Analytics can display maps with your location information. However, you
More informationData Grids in Business Rules, Decisions, Batch Scoring, and Real-Time Scoring
Paper SAS605-2017 Data Grids in Business Rules, Decisions, Batch Scoring, and Real-Time Scoring Carl Sommer, Chris Upton, and Ernest Jessee, SAS Institute Inc. ABSTRACT Users want more power. SAS delivers.
More informationThe Essential Meaning of PROC MEANS: A Beginner's Guide to Summarizing Data Using SAS Software
The Essential Meaning of PROC MEANS: A Beginner's Guide to Summarizing Data Using SAS Software Andrew H. Karp Sierra Information Services, Inc. Sonoma, California USA Gary M. McQuown Data and Analytic
More informationUnit 3 Fill Series, Functions, Sorting
Unit 3 Fill Series, Functions, Sorting Fill enter repetitive values or formulas in an indicated direction Using the Fill command is much faster than using copy and paste you can do entire operation in
More informationFacilitate Statistical Analysis with Automatic Collapsing of Small Size Strata
PO23 Facilitate Statistical Analysis with Automatic Collapsing of Small Size Strata Sunil Gupta, Linfeng Xu, Quintiles, Inc., Thousand Oaks, CA ABSTRACT Often in clinical studies, even after great efforts
More informationTips & Techniques with PROC MEANS
Tips & Techniques with PROC MEANS Andrew H. Karp Sierra Information Services, Inc. Sonoma, California USA PROC MEANS (and its "sister," PROC SUMMARY) have been BASE SAS Software procedures for a long time.
More informationExcel 2013 Next Steps
Excel 2013 Next Steps ADULT SERVICES DEPARTMENT CRYSTAL LAKE PUBLIC LIBRARY 126 W. PADDOCK STREET CRYSTAL LAKE, IL 60014 815-459-1687, X7 WWW.CLPL.ORG Agenda 2 Home Toolbar Alignment Group Number Formats
More informationUnit 3 Functions Review, Fill Series, Sorting, Merge & Center
Unit 3 Functions Review, Fill Series, Sorting, Merge & Center Function built-in formula that performs simple or complex calculations automatically names a function instead of using operators (+, -, *,
More information