I AlB 1 C 1 D ~~~ I I ; -j-----; ;--i--;--j- ;- j--; AlB
|
|
- Eric Hodge
- 5 years ago
- Views:
Transcription
1 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 may be constructed from class variables, analysis variables, and statistics keywords. Descriptive statistics can be displayed in table format with a minimum of code. This paper will use a five.response survey to demonstrate how proc tabulate features translate to a printed report. We will examine table dimensions, crossing and concatenating variables, and percent calculations. Controlling table appearance through formats and customized column headings also will be discussed. NTRODUCTON Many programmers do not use Proc Tabulate because they find that there is too much to learn about the procedure. Proc Tabulate has many more features than other procs. We will examine the effect that these features have on the report display. TABLE APPEARANCE Tabular reports are defined by the table statement. Table page dimension definition, row dimension definition, column dimension definition; Commas are used to separate dimensions. f two dimensions are specified, they are interpreted as row and column definitions. One dimension is interpreted as a column definition. An asterisk is used to nest variables within a definition while a space concatenates variables. Our task is to prepare a tabular report of responses to a ten question survey. Responses have been entered into a sequential file. Elements include GENDER (M F), AGE group (1 to 3), GROUP code (1 to 3), LOCATON, and RESP (responses A through E). A blank in a field indicates no response while an asterisk indicates multiple responses. The item number, QUES, is determined from the position of the response. We begin our examination of how to control the appearance of a table by displaying the values for questions, QUES, versus responses, RESP. The SAS code is: Proc Tabulate Data=SURVEY; Class QUES RESP; RESP; Variables QUES and RESP must be included in a CLASS statement if they are to be used in a TABLE statement. QUES serves as the row dimension while RESP serves as the column dimension. Our efforts are rewarded with a tabular display of question numbers crossed with responses. 1 RESP AlB ; -j-----; :UES The display of frequencies as two place decimals is not what is desired. The default format of BEST2. may be overridden with: Proc Tabulate FORMA T=S.; RESP AlB 1 C 1 D --;--i--;--j- ;- j--; ~~~
2 n addition to suppressing the decimal places, we have reduced the width of each cell to five spaces. Our next area for improving the appearance of the table is the size of the row title space. By default, this space is one-fourth of the LNESZE= value. ts size can be changed with an option on the TABLE statement. RESP / rts=6; ~~~: ;--f--;--t--;--f--; ~~~ , The RTS= option changes the size of the row title space. The vertical lines count as spaces in RTS. This was not the case when we changed the cell width with FORMAT=. The name of a statistic, such as N, may be relabeled with a KEYLABEL statement. Class variables may be relabeled with a LABEL statement. Keylabel N='Count'; Label QUES='tem' RESP='Response'; The display becomes: Response ' AlB C DE ~~~i~~~~i~~~~i~~~~i~~~~1 i~;;+-----i-----i-----i-----i----- ~ ;---i--is;i--i~~i--;~~i--;~;i--~s~1 Data may be summarized in a Proc Summary step before being reported with Proc Tabulate. This uses fewer resources and results in a shorter run time. n the Proc Tabulate step, an analysis variable is needed along with the statistic SUM. The Proc Summary step is as follows: Proc Summary NWA Y; Class QUES RESP; Output out=sursumm; The default variable, ]RE~, provides the frequency of each crossing of QUES and RESP. ]RE~ is used as the analysis variable for Proc Tabulate. The Proc Tabulate step is: Proc Tabulate data=sursumm format=6.; Class QUES RESP; Var ]REQ_; Keylabel sum='count'; Label QUES='tem' RESP='Response'; RESP SUM*]~ / rts=6; Our report becomes: ~:~~, A B ~~~~-i~~~~-i~~~~ _FREQ FREQ FREQ_ ~~:~ 1, The word "Count" replaces "SUM" because of the keylabel statement. The analysis variable name ]REQ_ may be suppressed by adding the following: RESP*SUM* _FRE~ =', / rts=6; The display becomes: Resp --:---j--~---j--; lcount Count Count ~::~ T-----;i---~s;i---i~~ This feature allows us to suppress the printing of a column definition variable or statistic. Adding _FRE~=', to a label statement would suppress the word ]RE~ but the blank cell would remain. Statistic names may also be suppressed in this manner. Labels may be included between the single quotes. This allows greater control over labels than do the Keylabel and Label statements. 235
3 Total responses to an item may be displayed by adding the keyword "all" to the column dimension definition. The table statement is: Al*SUM* ]REQ... =', RESp SUM* ]REQ... =', / rts=6; or (All RESP)*SUM* ]REQ... =', rts=6; Either statement produces: ALL 1 1 A ::~ ;---t---~~~t----:;t---~;; ALL may be relabeled with the KEYLABEL statement or by using =' text' in the table statement. The table statement method has the advantage of allowing different labels for ALL in different contexts, as in: Table QUES ALL='Column Total', (ALL='Row Total' RESP)* SUM* ]REQ... =' '; ALL is separated from RESP by a space. This concatenates the sums for ALL and each value of RESP. The use of parentheses allows us to avoid repeating the code *SUM*_FREQ...=' '. Sums for ALL differ because of values of missing for RESP. Missing values are suppressed unless the missing option is included in the PROC TABULATE statement. Proc Tabulate data=sursumm format=6. missing; The missing statement must also be included in any preceding Proc Summary. Our display becomes: Row li;;;ll:~:~~-ll------t--:---ll--~ ;---t--~~~~t----:~t----:;t---~~; More complicated tables may be produced using the asterisk to nest variables within a dimension definition. We may want to display the item numbers along with the responses along the side. Gender will be displayed across the top of the table. We will use only responses of A through E in our analysis by including the statement in our data step. f 'A'<=RESP<='E' then output; The table statement: GENDER*SUM*]REQ...=', 1rts=18; produces this display: GENDER F 1 M ::~~---1~~~~~~: ~ l-----:l----~~l----~~ Bill The row title space is divided evenly between QUES and RESP columns. Three of the eighteen allotted spaces are used for delimiter characters ":". The fltst column is one character smaller than the second column. Values for GENDER are displayed in ASC sort sequence by default. The order that variable values are displayed may be changed by using the ORDER option in the PROC TABULATE statement. Available options are DATA, FORMATED, FREQ, and NTERNAL. DATA displays values in the order in which they are encountered in the data set. FORMATTED sorts by the formatted values. FREQ orders by descending frequency. None of the options will result in the desired display of Male-Female followed by nvalid. Also, the option is applied to all variables in the table statement. Using ORDER=FREQ produces: 236
4 The order in which GENDER values are displayed can best be controlled by recoding "M" as "0", "F" as "1", and invalid responses as "3". The display of these values may then be modified with a format. We code a Proc Format step: Proc Format; Value $sex 'M'='O' 'F'='' other='3'; Value $gen 'O'='Male' ' '='Female' '3'='nvalid'; n the data step we code: GENDER = put(gender,$sex.); Our Proc Tabulate step becomes: Proc Tabulate format=6.; Class QUES RESP GENDER; Var ]REQ_; Keylabel SUM='Count'; Label QUEs='tem' RESP='Response'; GENDER*SUM=' '*]REQ_=', / rts=18; Format GENDER $gen.; The printed report becomes: ~~~~ nval- 1 Male Female id _ tem Response \ ~ ~ B \ \ 2\ 1 _ ,e The desired order is achieved. Because of the way in which we reassigned values for GENDER, both space and asterisk are tallied as "nvalid". The text "nvalid" did not fit into the six spaces allowed. Proc Tabulate will automatically divide headers where spaces or hyphens occur. t will not suppress the hyphen if the label fits in the allotted space. Changing the value in the proc format step to '3'='n-valid' produces: 1 GENDER nl-~~::-l::~~::l~~:~~- Although this is an improved division for the word "nvalid", a better solution is to increase the default format by one space as in: Proc Tabulate format=7.; This gives us: Variables may be concatenated in the column dimension definition. We might want to display response distributions by GENDER and then by AGE. The values of AGE, one through three, are associated with a format Sage. Value Sage '1'='Under 21' '2'='21 to SO' '3'='Over SO'; AGE is added to the class and fonnat statements. Class QUES RESP GENDER AGE; Format GENDER $gen. AGE $age.; The table statement becomes: (GENDER AGE)*SUM* ]REQ =', / rts=18; Our display becomes: AGE GENDER i Under ' 21 to 1 Male Female, 21 SO Over SO nserting an asterisk between GENDER and AGE in the table statement will nest AGE within GENDER. The display will be a cross of GENDER and AGE. GENDER AGE*SUM* ]REQ =', / rts=18; 237
5 / ~~~ Male Female AGE AGE under 1 21 to 1 under 21 to 21 SO lover SO OV \ 57/ Subtotals can be produced by adding the keyword ALL after the appropriate class variable. GENDER *(AGE all=' All Ages')* SUM* ]REQ_ =', rts=18; GENDER ~~~:------i t ~~ ,, , Under 21 to 1 All Under lover sol Ages 21 / The variable names GENDER and AGE do not contribute to the readability of the report. Their printing may be suppressed with the addition of =', in the table statement. Our display becomes: Male Under 21 to All 1 under 21 SO lover sol Ages 1 21 / Adding the NOSEPS option to the PROC TABULATE statement will suppress the horizontal lines below the headers. This option allows more lines to be printed on one page. The revised report becomes:, Male _ Under 21 to 1 21 SO lover 501 A tem Response 1 1 A \ B , 1 C Also suppressed is the vertical separator in the row title space. A third dimension is available with Proc Tabulate. This dimension, the page dimension, is the first definition when three are included in the table statement. We could provide reports by location with the following table statement: Table LOC='Location', QUES*RESP, GENDER=' '*sum=' '*_FRE~=', / rts=18; LOC is also added to the CLASS statement. Our report becomes: Location Male Female tem Response 1 A B, The box at the upper left comer of the table may be used in two ways. Text may be inserted using the table statement. Table LOC='Location', QUES*RESP, GENDER=' '*sum=' '* _FRE~ =', rts=18 box='july "95 Survey'; The resulting report is: Location 701 jjuly '95 Survey Male Female ltem Response 1,1 A B e D 36 SO E Text which does not fit in the box is truncated. When box= Jlage_ is used, the page dimension text is printed in the box.!~~:~~:~~-~?:----l-~~::--l::~::- tem Response 11 ~ ~;\ i;\,c A fourth table dimension became available when version 6 of SAS allowed the printing of by 238
6 variables in titles. More than one table may be printed on a physical page by adding the condense option to the table statement. nvoking the option nobyline and using the physical page variable in the title and the by statement will result in multiple short tables being printed on a physical page. The code is: Options nobyline; Title 'Population at Location ##byval(loc)'; Proc Tabulate noseps format=6.; Class GENDER GROUP AGE; Var ]REQ.; By LOC; Table GENDER, AGE, GROUP*SUM=' '. _FREQ_ =', rts= 18 box= -page_condense; Format GENDER $gen. GROUP$grp. AGE $age.; A page of the resulting report is: Population at Looation #701 GENDER Male GROUP Sales R&D Other AGE 1 1 under 21 '10' to Over 50 20a 227, 47, l GENDER Female ~~~~ l-~:::~-l-~-:-~-l-~:~::- ~~er Over 21 to ' Location #702 has no males represented in survey responses. The physical page for #702 would be as follows: Population at Location #702 GENDER Female ~~~ Sales R&D Other ~~er 21 aal 10s to lover Data should be sorted by the by variable. Alternatively, notsorted may be added to the by statement. When a value is not represented in a table, Proc Tabulate does not include the value in the table. At location #703, no one selected response B for any question. When we report the cross of LOC, QUES, and RESP with the following code: Proc Tabulate format=7.; Class LOC QUES RESP; Var ]REQ..; Label QUES='ltem' RESP='Response'; Table LOC='Location', QUES, RESP sum=' '* _FREQ. =', rts=6; this table is produced for location #703: Looation 703 Response ~---~---l---:---l---~---l---~--- teml ;---t------;t-----~~t------;t------il ncluding the PRNTMSS option in the table statement specifies that row and column headings are to be the same for all logical pages of the report. The table statement becomes: Table LOC='Location', QUES, RESp sum=' '. _FREQ_ =', rts=6 printmiss; The resulting table displays values of missing under response B for location #703. Looation 703 \ ~e_s!'_o_n~_e 1 ABCDE 1----,teml '' ~ r --- -gj" : -----~j" -----~r -----i t is possible that no one in the population selected B for any question. We would like to have a column printed for B with missing values. To accomplish this, we need to inform Proc Tabulate 239
7 that B is a valid answer. One way to accomplish this is to read the text of questions and responses from a keyed file. This file of valid responses would be merged with the data set created by the Proc Summary step. Proc Format; Value Srsp 'Z'='nvaJid'; The resulting table becomes: Data VALD; Merge SURSUMM QUESTS; By QUES RESP; f ]RE~ =. then LOC='701'; Any crossing of QUES and RESP which was not represented in the data set SURSUMM would have a value of missing for _FREeL. Assigning a valid value for LOC avoids producing a table for missing LOC. We produce the desired tables with a combination of the missing and printmiss options: Proc Tabulate format=7. missing; Class LOC QUES RESP; Var ]REQ_; Label QUES='tem' RESP='Response'; Table LOC='Location', QUES, RESP*sum=',* _FRE~=', / rts=6 printmiss; The table for location #703 is: Location Response i b"------""c""------~---i---~--- 1,teml The merge with valid responses can be used to screen for inappropriate responses. tem 1 may have had responses of A through D. Two people at location #703 selected the inappropriate response E. Our data step becomes: Data VALD; Merge SURSUMM QUESTS (in=a); By QUES RESP; f ]REQ_ =. then LOC='701'; f "A then RESP='Z'; Any inappropriate responses have been recoded as "Z". A format for RESP may be written which prints "nvalid" instead of "Z". The two inappropriate responses are reported under the heading "nvalid" rather than "E". PERCENT CALCULATONS n addition to reporting the frequency of responses, we may be asked to include the percent responding a particular way. Returning to out report of questions crossed with responses, our Proc Tabulate step is: Proc Tabulate format=6.; Class QUES RESP; Var _FRE~; Label QUES='tem' RESP='Response'; RESP*sum=',* _FRE~ =', rts 6; We can request that percents of the sums be printed by adding pctsum to the table statement. RESP*(sum pctsum)* ]RE~ =', / rts 6; The resulting table is not exactly what is desired AlB l-~--l~::~~l-~~--l~::~~!:~:~ The format=6. does not allow the display of decimal places. This default may be overridden by adding *f=6.1 after pctsum: 240
8 RESP*(sum pctsum*f=6.)* ]REQ =', rts 6; s~--~pc~s~t-s~--~pc;s~ :~:~ Decimals are displayed but the percents are much smaller that we might anticipate. By default, pctsum calculates the percent that each sum is of all sums in the table. The sum of all of the percents is 100"10. We would like to know what percent each sum is of the sum of the row. To calculate this, we must specify the denominator defmition to be used. The table statement is: RESP*(sum pctsum<resp>*f=6.1)* _FREQ=', rts 6; Our table becomes: A B -s~--ip~~i-s~--ipc~s~ :::~ RESP is the denominator definition because we would add all of the sums across all values of RESP to calculate the percent that each value is of the total. Our percents now sum to 100% across each row. Had we used QUES as a denominator definition, we would have calculated the percent that a response value was associated with each item number. The percents would sum to 100% down each column. CONCLUSON Proc Tabulate can best be learned by experience. The following code will generate a test file of survey responses. Proc Format; Valuersp 0-15='A' 16-30='B' 31-60='C' 61-85='D' ='E'; Value gen 0-40='M' ='F'; Value age O 15='1' 16 70='2' ='3'; Value grp O 35='1' 36 72='2' ='3'; Value loc 0-35='701' 36 71='702' 72 75='703' ='704'; Data RESP; File DSK notitles; Do J=1 to 1000; Do 1=1 to 10; f 1=1 then do; GENDER=put(int(100*ranuni(10»,gen.); AGE=put(int( 1 OO*ranuni(O»,age.); LOC=put(int( 1 OO*ranuni( 5»,loc.); GROUP=put(int(1 OO*ranuni( 1»,grp.); put@1 @; end; RESP=put(int( 1 OO*ranuni(O»,rsp.); end; put; end; Use the test file to create one and two dimensional tables. Add features to the code as you become more confident with the Proc. Have a clear picture of the desired table before beginning to code. REFERENCES SAS Guide to TABULATE Processing, Second Edition SAS is a registered trademark of SAS nstitute nc., Cary NC f you have any questions or comments, you may contact the author at: Baltimore City Public Schools Dept. of Research and Evaluation 200 East North Avenue Baltimore, MD (410) PHONE (410) FAX 241
Christopher Toppe, Ph.D. Computer Sciences Corporation
An Introduction to PROC TABULATE: A Hands-On Workshop Christopher Toppe, Ph.D. Computer Sciences Corporation Abstract The Tabulate procedure is, along with PROC REPORT, one of the most powerful and difficult
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 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 informationGetting it Done with PROC TABULATE
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
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 informationHow to Go From SAS Data Sets to DATA NULL or WordPerfect Tables Anne Horney, Cooperative Studies Program Coordinating Center, Perry Point, Maryland
How to Go From SAS Data Sets to DATA NULL or WordPerfect Tables Anne Horney, Cooperative Studies Program Coordinating Center, Perry Point, Maryland ABSTRACT Clinical trials data reports often contain many
More informationThe Utter Simplicity? off The Fina. le TABULATE Procedure - Chapter. Dan Bruns, Tennessee Valley Authority, Chattanooga, TN
The Utter Simplicity? off The Fina le TABULATE Procedure - Chapter Dan Bruns, Tennessee Valley Authority, Chattanooga, TN n the Beginning Well, here we are again TABULATE fans. believe have exhausted this
More informationA Simple Guide to Using SPSS (Statistical Package for the. Introduction. Steps for Analyzing Data. Social Sciences) for Windows
A Simple Guide to Using SPSS (Statistical Package for the Social Sciences) for Windows Introduction ٢ Steps for Analyzing Data Enter the data Select the procedure and options Select the variables Run the
More informationBasic Concepts #6: Introduction to Report Writing
Basic Concepts #6: Introduction to Report Writing Using By-line, PROC Report, PROC Means, PROC Freq JC Wang By-Group Processing By-group processing in a procedure step, a BY line identifies each group
More informationSAS seminar. The little SAS book Chapters 3 & 4. April 15, Åsa Klint. By LD Delwiche and SJ Slaughter. 3.1 Creating and Redefining variables
SAS seminar April 15, 2003 Åsa Klint The little SAS book Chapters 3 & 4 By LD Delwiche and SJ Slaughter Data step - read and modify data - create a new dataset - performs actions on rows Proc step - use
More informationPROC FORMAT; VALUE RESTF
TABULATE Tutorial Alan Eaton and Ken Howell SAS Institute PROC TABULATE displays descriptive statistics arranged in hierarchical tables. This overview illustrates many features by using them in examples.
More informationExcel Project 5 Creating Sorting, and Querying a Worksheet Database
Excel Project 5 Creating Sorting, and Querying a Worksheet Database A Microsoft Excel table can function as a simple database (organized collection of data). When an individual or small business needs
More informationChapter 7 File Access. Chapter Table of Contents
Chapter 7 File Access Chapter Table of Contents OVERVIEW...105 REFERRING TO AN EXTERNAL FILE...105 TypesofExternalFiles...106 READING FROM AN EXTERNAL FILE...107 UsingtheINFILEStatement...107 UsingtheINPUTStatement...108
More 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 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 informationPrint the Proc Report and Have It on My Desktop in the Morning! James T. Kardasis, J.T.K. & Associates, Skokie, IL
Print the Proc Report and Have It on My Desktop in the Morning! James T. Kardasis, J.T.K. & Associates, Skokie, IL ABSTRACT The user will learn how to produce detail and summary reports as well as frequency
More informationChapter 6 Creating Reports. Chapter Table of Contents
Chapter 6 Creating Reports Chapter Table of Contents Introduction...115 Listing Data...115 ListDataOptions...116 List Data Titles...118 ListDataVariables...118 Example:CreateaListingReport...119 Creating
More informationOneView. User s Guide
OneView User s Guide Welcome to OneView. This user guide will show you everything you need to know to access and utilize the wealth of information available from OneView. The OneView program is an Internet-based
More informationSAS Example A10. Output Delivery System (ODS) Sample Data Set sales.txt. Examples of currently available ODS destinations: Mervyn Marasinghe
SAS Example A10 data sales infile U:\Documents\...\sales.txt input Region : $8. State $2. +1 Month monyy5. Headcnt Revenue Expenses format Month monyy5. Revenue dollar12.2 proc sort by Region State Month
More informationThe TIMEPLOT Procedure
1247 CHAPTER 38 The TIMEPLOT Procedure Overview 1247 Procedure Syntax 1249 PROC TIMEPLOT Statement 1250 BY Statement 1250 CLASS Statement 1251 ID Statement 1252 PLOT Statement 1252 Results 1257 Data Considerations
More informationData Should Not be a Four Letter Word Microsoft Excel QUICK TOUR
Toolbar Tour AutoSum + more functions Chart Wizard Currency, Percent, Comma Style Increase-Decrease Decimal Name Box Chart Wizard QUICK TOUR Name Box AutoSum Numeric Style Chart Wizard Formula Bar Active
More informationFrequency Tables. Chapter 500. Introduction. Frequency Tables. Types of Categorical Variables. Data Structure. Missing Values
Chapter 500 Introduction This procedure produces tables of frequency counts and percentages for categorical and continuous variables. This procedure serves as a summary reporting tool and is often used
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 informationSetting 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 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 informationLecture 1 Getting Started with SAS
SAS for Data Management, Analysis, and Reporting Lecture 1 Getting Started with SAS Portions reproduced with permission of SAS Institute Inc., Cary, NC, USA Goals of the course To provide skills required
More informationAre You Missing Out? Working with Missing Values to Make the Most of What is not There
Are You Missing Out? Working with Missing Values to Make the Most of What is not There Arthur L. Carpenter, California Occidental Consultants ABSTRACT Everyone uses and works with missing values, however
More informationGroup Administrator. ebills csv file formatting by class level. User Guide
Group Administrator ebills csv file formatting by class level User Guide Version 1.0 February 10, 2015 Table of Content Excel automated template... 3 Enable Macro setting in Microsoft Excel... 3 Extracting
More informationOpening a Data File in SPSS. Defining Variables in SPSS
Opening a Data File in SPSS To open an existing SPSS file: 1. Click File Open Data. Go to the appropriate directory and find the name of the appropriate file. SPSS defaults to opening SPSS data files with
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 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 informationFormats, Informats and How to Program with Them Ian Whitlock, Westat, Rockville, MD
Formats, Informats and How to Program with Them Ian Whitlock, Westat, Rockville, MD Abstract Formats tell how to display stored data and informats how to read them. In other words, they allow the separation
More information44 Tricks with the 4mat Procedure
44 Tricks with the 4mat Procedure Ben Cochran, The Bedford Group, Raleigh, NC Abstract: Actually, there probably are not a total of 44 tricks that one can do with the FORMAT procedure. The number was chosen
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 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 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 informationMultiple Facts about Multilabel Formats
Multiple Facts about Multilabel Formats Gwen D. Babcock, ew York State Department of Health, Troy, Y ABSTRACT PROC FORMAT is a powerful procedure which allows the viewing and summarizing of data in various
More informationPROC SUMMARY AND PROC FORMAT: A WINNING COMBINATION
PROC SUMMARY AND PROC FORMAT: A WINNING COMBINATION Alan Dickson - Consultant Introduction: Is this scenario at all familiar to you? Your users want a report with multiple levels of subtotals and grand
More informationJump Right In! Essential Computer Skills Using Microsoft 2013 By Andrews, Dark, and West
Jump Right In! Essential Computer Skills Using Microsoft 2013 By Andrews, Dark, and West Chapter 10 Managing Numbers and Text Using Excel 1 Objectives Examine the Excel window and tools Enter and format
More informationTo complete this workbook, you will need the following file:
CHAPTER 4 Excel More Skills 13 Create PivotTable Reports A PivotTable report is an interactive, cross-tabulated Excel report used to summarize and analyze data. PivotTable reports are used to ask questions
More informationBulk Registration File Specifications
Bulk Registration File Specifications 2017-18 SCHOOL YEAR Summary of Changes Added new errors for Student ID and SSN Preparing Files for Upload (Option 1) Follow these tips and the field-level specifications
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 information%MAKE_IT_COUNT: An Example Macro for Dynamic Table Programming Britney Gilbert, Juniper Tree Consulting, Porter, Oklahoma
Britney Gilbert, Juniper Tree Consulting, Porter, Oklahoma ABSTRACT Today there is more pressure on programmers to deliver summary outputs faster without sacrificing quality. By using just a few programming
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 informationproc print data=account; <insert statement here> run;
Statistics 6250 Name: Fall 2012 (print: first last ) Prof. Fan NetID #: Midterm Three Instructions: This is an in-class and open book midterm. You must write your answers on the provide spaces. Give concise
More informationPROC REPORT AN INTRODUCTION
Table Generation Using the PROC REPORT Feature Edward R. Smith, Senior Scientific Programmer Covance Periapproval Services Inc, Radnor, PA ABSTRACT The PROC REPORT procedure is a powerful report generation
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 informationCIS 100 Databases in Excel Creating, Sorting, Querying a Table and Nesting Functions
CIS 100 Databases in Excel Creating, Sorting, Querying a Table and Nesting Functions Objectives Create and manipulate a table Deleting duplicate records Delete sheets in a workbook Add calculated columns
More informationTables for Two: An Introduction to the TABULATE Procedure
Tables for Two: An Introduction to the TABULATE Procedure Kathy McLeod. Computer Science Corporation ABSTRACT The SASe System includes many powerful tools for summarizing and displaying data. PROe TABULATE
More informationUNIT 4. Research Methods in Business
UNIT 4 Preparing Data for Analysis:- After data are obtained through questionnaires, interviews, observation or through secondary sources, they need to be edited. The blank responses, if any have to be
More informationPROC REPORT Basics: Getting Started with the Primary Statements
Paper HOW07 PROC REPORT Basics: Getting Started with the Primary Statements Arthur L. Carpenter California Occidental Consultants, Oceanside, California ABSTRACT The presentation of data is an essential
More informationVII. Data Management Essentials
VII. Sort Excel recognizes a list or data set if the data in the list is contiguous, bordered by blank cells or an edge of the worksheet, and has labels that are differentiated in some way from the data.
More informationLearning SAS by Example
Learning SAS by Example A Programmer's Guide Second Edition.sas Ron Cody The correct bibliographic citation for this manual is as follows: Cody, Ron. 2018. Learning SAS by Example: A Programmer's Guide,
More informationChoosing the Right Procedure
3 CHAPTER 1 Choosing the Right Procedure Functional Categories of Base SAS Procedures 3 Report Writing 3 Statistics 3 Utilities 4 Report-Writing Procedures 4 Statistical Procedures 5 Efficiency Issues
More information22S:166. Checking Values of Numeric Variables
22S:1 Computing in Statistics Lecture 24 Nov. 2, 2016 1 Checking Values of Numeric Variables range checks when you know what the range of possible values is for a given quantitative variable internal consistency
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 informationA Lazy Programmer s Macro for Descriptive Statistics Tables
Paper SA19-2011 A Lazy Programmer s Macro for Descriptive Statistics Tables Matthew C. Fenchel, M.S., Cincinnati Children s Hospital Medical Center, Cincinnati, OH Gary L. McPhail, M.D., Cincinnati Children
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 informationMake sure to keep all graphs in same excel file as your measures.
Project Part 2 Graphs. I. Use Excel to make bar graph for questions 1, and 5. II. Use Excel to make histograms for questions 2, and 3. III. Use Excel to make pie graphs for questions 4, and 6. IV. Use
More informationSelect Cases. Select Cases GRAPHS. The Select Cases command excludes from further. selection criteria. Select Use filter variables
Select Cases GRAPHS The Select Cases command excludes from further analysis all those cases that do not meet specified selection criteria. Select Cases For a subset of the datafile, use Select Cases. In
More informationIf You Need These OBS and These VARS, Then Drop IF, and Keep WHERE Jay Iyengar, Data Systems Consultants LLC
Paper 2417-2018 If You Need These OBS and These VARS, Then Drop IF, and Keep WHERE Jay Iyengar, Data Systems Consultants LLC ABSTRACT Reading data effectively in the DATA step requires knowing the implications
More informationFrom Manual to Automatic with Overdrive - Using SAS to Automate Report Generation Faron Kincheloe, Baylor University, Waco, TX
Paper 152-27 From Manual to Automatic with Overdrive - Using SAS to Automate Report Generation Faron Kincheloe, Baylor University, Waco, TX ABSTRACT This paper is a case study of how SAS products were
More informationIntroduction to PROC SQL
Introduction to PROC SQL Steven First, Systems Seminar Consultants, Madison, WI ABSTRACT PROC SQL is a powerful Base SAS Procedure that combines the functionality of DATA and PROC steps into a single step.
More informationSummarizing Impossibly Large SAS Data Sets For the Data Warehouse Server Using Horizontal Summarization
Summarizing Impossibly Large SAS Data Sets For the Data Warehouse Server Using Horizontal Summarization Michael A. Raithel, Raithel Consulting Services Abstract Data warehouse applications thrive on pre-summarized
More informationLab 1: Introduction to Data
1 Lab 1: Introduction to Data Some define Statistics as the field that focuses on turning information into knowledge. The first step in that process is to summarize and describe the raw information the
More informationSAS/STAT 14.2 User s Guide. The SURVEYIMPUTE Procedure
SAS/STAT 14.2 User s Guide The SURVEYIMPUTE Procedure This document is an individual chapter from SAS/STAT 14.2 User s Guide. The correct bibliographic citation for this manual is as follows: SAS Institute
More information%ANYTL: A Versatile Table/Listing Macro
Paper AD09-2009 %ANYTL: A Versatile Table/Listing Macro Yang Chen, Forest Research Institute, Jersey City, NJ ABSTRACT Unlike traditional table macros, %ANTL has only 3 macro parameters which correspond
More informationIntroduction to TURING
Introduction to TURING Comments Some code is difficult to understand, even if you understand the language it is written in. To that end, the designers of programming languages have allowed us to comment
More informationSAS BI Dashboard 3.1. User s Guide Second Edition
SAS BI Dashboard 3.1 User s Guide Second Edition The correct bibliographic citation for this manual is as follows: SAS Institute Inc. 2007. SAS BI Dashboard 3.1: User s Guide, Second Edition. Cary, NC:
More informationUser Guide. Version Exago Inc. All rights reserved.
User Guide Version 2016.2 2016 Exago Inc. All rights reserved. Exago Reporting is a registered trademark of Exago, Inc. Windows is a registered trademark of Microsoft Corporation in the United States and
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 informationChapter 3: The IF Function and Table Lookup
Chapter 3: The IF Function and Table Lookup Objectives This chapter focuses on the use of IF and LOOKUP functions, while continuing to introduce other functions as well. Here is a partial list of what
More informationSAS/STAT 13.1 User s Guide. The SURVEYFREQ Procedure
SAS/STAT 13.1 User s Guide The SURVEYFREQ 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
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 informationOmitting Records with Invalid Default Values
Paper 7720-2016 Omitting Records with Invalid Default Values Lily Yu, Statistics Collaborative Inc. ABSTRACT Many databases include default values that are set inappropriately. These default values may
More information1. Basic Steps for Data Analysis Data Editor. 2.4.To create a new SPSS file
1 SPSS Guide 2009 Content 1. Basic Steps for Data Analysis. 3 2. Data Editor. 2.4.To create a new SPSS file 3 4 3. Data Analysis/ Frequencies. 5 4. Recoding the variable into classes.. 5 5. Data Analysis/
More informationERROR: ERROR: ERROR:
ERROR: ERROR: ERROR: Formatting Variables: Back and forth between character and numeric Why should you care? DATA name1; SET name; if var = Three then delete; if var = 3 the en delete; if var = 3 then
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 informationChapter 2, Part III Arithmetic Operators and Decision Making
Chapter 2, Part III Arithmetic Operators and Decision Making C How to Program, 8/e, GE 2016 Pearson Education, Ltd. All rights reserved. 1 2016 Pearson Education, Ltd. All rights reserved. 2 2016 Pearson
More informationchapter 2 G ETTING I NFORMATION FROM A TABLE
chapter 2 Chapter G ETTING I NFORMATION FROM A TABLE This chapter explains the basic technique for getting the information you want from a table when you do not want to make any changes to the data and
More informationChecking whether the protocol was followed: gender and age 51
Checking whether the protocol was followed: gender and age 51 Session 4: Checking whether the protocol was followed: gender and age In the data cleaning workbook there are two worksheets which form the
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 informationTen Great Reasons to Learn SAS Software's SQL Procedure
Ten Great Reasons to Learn SAS Software's SQL Procedure Kirk Paul Lafler, Software Intelligence Corporation ABSTRACT The SQL Procedure has so many great features for both end-users and programmers. It's
More informationChapter 28 INSET Statement. Chapter Table of Contents
Chapter 28 INSET Statement Chapter Table of Contents OVERVIEW...869 GETTING STARTED...870 DisplayingSummaryStatisticsonaParetoChart...870 Customizing Labels and Formatting Values.....871 AddingaHeaderandPositioningtheInset...873
More informationLevel 6 Relational Database Unit 3 Relational Database Development Environment National Council for Vocational Awards C30147 RELATIONAL DATABASE
C30147 RELATIONAL DATABASE Level 6 Relational Database Unit 3 Relational Database Development Environment National Council for Vocational Awards This module has been developed to further the learner s
More information22/10/16. Data Coding in SPSS. Data Coding in SPSS. Data Coding in SPSS. Data Coding in SPSS
DATA CODING IN SPSS STAFF TRAINING WORKSHOP March 28, 2017 Delivered by Dr. Director of Applied Economics Unit African Heritage Institution Enugu Nigeria To code data in SPSS, Lunch the SPSS The Data Editor
More informationAcaStat User Manual. Version 10 for Mac and Windows. Copyright 2018, AcaStat Software. All rights Reserved.
AcaStat User Manual Version 10 for Mac and Windows Copyright 2018, AcaStat Software. All rights Reserved. http://www.acastat.com Table of Contents NEW IN VERSION 10... 6 INTRODUCTION... 7 GETTING HELP...
More informationAdvanced PROC REPORT: Doing More in the Compute Block
Paper TU02 Advanced PROC REPORT: Doing More in the Compute Block Arthur L. Carpenter California Occidental Consultants ABSTRACT One of the unique features of the REPORT procedure is the Compute Block.
More informationLab #3. Viewing Data in SAS. Tables in SAS. 171:161: Introduction to Biostatistics Breheny
171:161: Introduction to Biostatistics Breheny Lab #3 The focus of this lab will be on using SAS and R to provide you with summary statistics of different variables with a data set. We will look at both
More information3. Almost always use system options options compress =yes nocenter; /* mostly use */ options ps=9999 ls=200;
Randy s SAS hints, updated Feb 6, 2014 1. Always begin your programs with internal documentation. * ***************** * Program =test1, Randy Ellis, first version: March 8, 2013 ***************; 2. Don
More informationPRACTICE EXERCISES. Family Utility Expenses
PRACTICE EXERCISES Family Utility Expenses Your cousin, Rita Dansie, wants to analyze her family's utility expenses for 2012. She wants to save money during months when utility expenses are lower so that
More informationPaper Abstract. Introduction. SAS Version 7/8 Web Tools. Using ODS to Create HTML Formatted Output. Background
Paper 43-25 The International Studies Project : SAS Version 7/8 Web Tools To The Rescue Lilin She, UNC-CH, Department Of Biostatistics, Chapel Hill, NC Jeffrey M. Abolafia, UNC-CH, Department Of Biostatistics,
More 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 informationThe subject of this chapter is the pivot table, the name given to a special
Chapter 2: Generating Pivot Tables In This Chapter Understanding how to use pivot tables to summarize and analyze your data The many methods for creating pivot tables Pivoting the elements in the data
More informationGet Started Writing SAS Macros Luisa Hartman, Jane Liao, Merck Sharp & Dohme Corp.
Get Started Writing SAS Macros Luisa Hartman, Jane Liao, Merck Sharp & Dohme Corp. ABSTRACT The SAS Macro Facility is a tool which lends flexibility to your SAS code and promotes easier maintenance. It
More information100 THE NUANCES OF COMBINING MULTIPLE HOSPITAL DATA
Paper 100 THE NUANCES OF COMBINING MULTIPLE HOSPITAL DATA Jontae Sanders, MPH, Charlotte Baker, DrPH, MPH, CPH, and C. Perry Brown, DrPH, MSPH, Florida Agricultural and Mechanical University ABSTRACT Hospital
More informationEXST SAS Lab Lab #8: More data step and t-tests
EXST SAS Lab Lab #8: More data step and t-tests Objectives 1. Input a text file in column input 2. Output two data files from a single input 3. Modify datasets with a KEEP statement or option 4. Prepare
More informationAcaStat User Manual. Version 8.3 for Mac and Windows. Copyright 2014, AcaStat Software. All rights Reserved.
AcaStat User Manual Version 8.3 for Mac and Windows Copyright 2014, AcaStat Software. All rights Reserved. http://www.acastat.com Table of Contents INTRODUCTION... 5 GETTING HELP... 5 INSTALLATION... 5
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 informationUNESCO, Division for Planning and Development of Education Systems, Section for Sector Policy Advice and ICT in Education (ED/PDE/PAD)
Guidelines for On- line Data E ntry and Downloading Impact of the Global Financial and Economic Crisis on Education in Selected Developing Countries (DFID RIVAF) UNESCO, Division for Planning and Development
More information