PROC FORMAT Jack Shoemaker Real Decisions Corporation

Size: px
Start display at page:

Download "PROC FORMAT Jack Shoemaker Real Decisions Corporation"

Transcription

1 140 Beginning Tutorials PROC FORMAT Jack Shoemaker Real Decisions Corporation Abstract: Although SAS stores and processes data intemally as either characters or numbers, you can control the external view of the data using explicit formats. SAS provides a generous supply of general purpose formats for displaying cbaracter and numeric data. Often you need a format specificauy tuned to the values in your data. PROC FORMAT allows you to define and maintain these user-defined formats. In addition to controlling the external view of data, you can use PROC FORMAT to create look-up tables which often eliminate the need for costly merges or extensive if-then-else coding. This paper discusses these uses of PROC FORMAT; how to maintain permanent user libraries; and, how to create PROC FORMAT value clauses from. existing SAS data sets. Review any report generated by Proc Contents. You'll discover that SAS stores all variables in either numeric or cbaracter format. Character variables may vary in length from one to two hundred characters, or bytes. By default SAS uses eight bytes to store numeric variables. That doesn't mean that you can only represent numbers up to 99,999,999 using SAS numeric variables. Rather, the eight bytes (or sixty-four bits) are used to hold the sign, mantissa, and exponent that represent the number. This is the stuff of computer science and not the subject of this paper. The point is that without some sort of transformation, numeric variables would look pretty silly when displayed. When you ask SAS to display a numeric variable it uses the BEST format to transform the internal representation of the number into a meaningful display of digits. This process is so natural and common-sense that you might forget it bappens. Not all numeric variables make sense even when using the BEST format. Today's date (10/06/92), for example, has a numeric value of 11,967 - the number of days since Using the BEST format, today would appear as 119(j7. To make SAS display 11,967 as 10/06/92, you associate the MMDDYYS. format with the variable holding today's date. If SAMPDATE is the variable name, then you could place the following format statement in either the data step which creates the variable, or the procedure which displays the variable: format saapdate -aclyy8. J This is an example of using a SAS-supplied format. SAS provides a score or so formats to display dates and times, and otherwise punctuate the data display. Even with all these formats available, you can easily run into a situation where none of the SAS-supplied formats do what you want. Proc Format provides the means to create user-defined display formats. Once created, you use user-defined formats exactly like SAS-supplied formats. Here is an example of using Proc Format to define a PICTURE format which will punctuate a numeric variable to make it look like a social security number; and, of using the user-defined format in a Proc Print. proc formatj picture ssn other = ' '; proc print; format myssn ssn.; This simple example illustrates the major components of the Proc Format grammar. Proc Format is called with a PROC statement just like any other SAS procedure. You can place the format definition anywhere in your source code; however, it must appear before you want to use it. Proc Format also recognizes a handful of options which we'll discuss later in this paper. The PICTURE keyword on the second line begins a clause definition. You can define three types of clauses using Proc Format: PICTURE clauses, VALUE clauses, and INV ALUE clauses. Immediately following the clause keyword comes the clause name, in this example SSN. You can choose any clause name subject to these restrictions: 1) the name may not exceed eight characters; and, 2) the name may not begin, or end with a number. (In early versions of SAS under MS-DOS, embedded numbers in clause names produced undesirable results.) Following the clause name comes the range definition. In this case the keyword OTHER defines the range. OTHER means all other values not previously defined. Since no other ranges appear in this example, OTHER means all values. After the range definition comes an equals sign. To the NESUG '92 Proceedings

2 Beginning Tutorials 141 right of the equals sign comes the formatted-value definition, in this case ' '. Clause definitions end with a semicolon. In PICTURE clauses, the formatted-value definition tells SAS how to place the number in a mask. In this example our mask is: three digits, dash, two digits, dash, four digits. The use of '9' in the formatted-value definition tells SAS to always display a digit, even if it's a leading zero. For example: SSB You can also define a PICTURE clause that will suppress leading zeroes. For example, here is a PICTURE definition that you could use to format paid amounts on checks. procl format; pioture chex other = '000,009.99' (fill='*' prefix='$'); COX *$4, *****$0.16 In this definition, the zeroes in the mask indicate that leading zeroes will not be displayed. In addition to a formatted-value mask, this picture definition contains two formatted-value modifiers. The FILL= modifier causes SAS to left fill the field with the specified character, in this case an asterisk. The PREFIX= modifier causes SAS to prepend the specified character, in this case a dollar sign, to the field. PICTURE clauses create templates for displaying numeric variables. You can also use Proc Format to define a format which displays a variable with a different value. A VALUE clause definition is used to build this type of format. For example, consider a data set of survey information where responses are coded 1 for 'Yes', 2 for"no', and 9 for 'None'. Here is an example of using Proc Format to define a V ALOE clause to map the coded responses into words; and, of using the userdefined format with Proc Freq to display the frequency of each response. value resp 1 = 'Yes' 2 = 'Ho' 9 = 'Hone'; proc freq; format response resp.; Using the user-defined format RESP. causes Proc Freq to label the rows of its output Yes, No, and None instead of l, 2, and 9. If a value other than l, 2, or 9 appeared in the survey data set, it would appear unchanged because no range definition applies. The V ALOE clause shown above has three pairs of range-definition and formatted-value. There is no practical limit to the number of pairs contained in a V ALOE clause provided the range definitions don't overlap. The preceding example uses a single value as the range definition. You can also use ranges of values, lists of values, lists of ranges, or a combination lists and ranges in range definitions. Here are some examples of the different types of range definitions: 1-9 1,2,3 1-9, ,2,8-15 range of values list of values list of ranges combination Range definitions may also contain the keywords OTHER, LOW, or mgh. So, LOW-lO means all values 10 and below, while 50-mGH means all values 50 and over. As mentioned earlier, the keyword OTHER means all values not previously defined. As an example of using ranges of values, consider a data set of accounts receivable information containing the amount due and the number of days elapsed since the due date. You'd like to see how much due is less than thirty days old, how much due is thirty to sixty days old, and how much due is over sixty days old. Here is an example of using Proc Format to define a V ALOE clause to define these ranges; and, of using the user-defined format with Proc Means to total the due amounts by age category. proo format; value ar low -< 30 = 'Under 30' = '30 to 60' 60 <- high = 'Over 60'; NESUG '92 Proceedings

3 142 Beginning Tutorials proc _ans n SUlll; class elapsed; var due; format elapsed ar.; The AR. format will cause Proc Means to group values of the classification variable, ELAPSED in this example, according to the formatted values. The output will have at most three rows because all possible values of ELAPSED will fall within one of the three defined ranges. Notice that the range definition for 'Under 30' contains a less-than sign. This modifier instructs SAS to exclude the upper value, 30 in this case, from the range definition. Similarly, the less than sign in the range definition for- 'Over 60' instructs SAS to exclude the lower value, 60, from the range definition. So far we've only discussed numeric formats - that is, formats associated with numeric variables. You can use Proc Format to associate formats with character variables as well. These are known as character formats. Here is an example of using Pmc Format to define a character format which maps the sex codes 'M' and 'F' to 'Male' and 'Female' respectively. value $sex 'f', 'F' = 'Female' '.' I'M' = 'Male' other = 'Unknown'; All character format names must begin with a dollar sign. Therefore, the format name for this VALUE clause begins with a dollar sign. Notice that the range definition for 'Female' is a list of character values - lower and upper case 'r. Range definitions for character formats follow the same rules as range definitions for numeric formats. That is, the range definition may consist of a single value, a list of values, a range of values, a list of ranges, or some combination of these elements. Under releases of SAS prior to 6.07, character values could not exceed sixteen characters. Or, more precisely, SAS truncated the character values at sixteen characters. Under version 6.07, character values may extend to two hundred characters. Also, in releases prior to 6.07 the formatted value could not exceed forty characters. Under 6.07, the formatted value may have two hundred characters. Character ranges operate in a natural way. That is, 'A' - 'Z' means all capital letters between A and Z. Even so, the way SAS handles a particular character range depends on the collating sequence in use. This means that shipping a format definition from a machine using ASCII collating to one using EBCDIC collating may produce undesirable effects. The same holds true if you are moving code between hosts in different countries which use different alphabets. Because you can use a user-detined format to change an internal value of 'M' to an external display of 'Male', you don't need to store the values of 'Male' and 'Female' in your data set. Rather, a single 'M' or 'F' will suffice. In general, user-defined formats give you the freedom to reduce redundant character values to shorter coded values thus reducing overall data storage requirements. Since formats provide a way to transform the internal value of variable to a different external display, the format can serve as a simple lookup table in a data step through the use of the PUT function. For example, you can use a user-defined format to convert a two-letter state abbreviation to a region name like this: value $region 'ME', 'DB', 'VT', 'MA', 'cr', 'RI' = 'New England' other = 'Elsewhere'; region = put(statecd,$region.); Remember: the PUT function always returns a character string. In this case the character string is assigned to a variable called REGION which is presumably a character variable. This doesn't mean you can't use the combination ofproc Format and the PUT function to do numeric lookups. For example, consider a health insurance claims data set which has a date of service field, DOS, and a paid amount, PAID. You would like to adjust all these paid amounts by a factor which is a function of the date of service. You could code a cascading IF-THEN-ELSE tree to accomplish this. if dos < 'OlAUG92'D then fac = 1.00; else if dos < 'OlSEP92'D then fac = 1.20; else fac = 1.50; paid = paid * fac; NESUG 192 Proceedings

4 Beginning Tutorials 143 Using Proc Format and the PUT function, your code would look like this: value fudge low -< 'OlAUG92'D = '1.00' 'OIAUG92'D -< 'OISEP92'D = '1.20' other = '1.50'; paid = paid * put(doa,fudge.); By using the latter method, you remove the run-time data from your source code, which, in tum, makes your code easier to maintain. That is, as the factors change, the first method requires modifying a set ofip-then ELSE statements in the source code to reflect the new factor data. The second method removes the factor data from your code and places it in a VALUE clause definition instead. Since the result of the PUT function is part of an arithmetic statement, SAS automatically converts the result to a numeric value to perform the multiplication. The PUT function also serves a useful role in subsetting IF statements. For example, using the $REGION. format previously defined, we can subset a master data set to contain only New England states as follows: data ne; set master, if put(statecd,$region.) = ']lew England'; Using a WHERE statement with the IN operator would provide a better solution for this trivial example. where atatecd in ('ME', 'VT' I 'lib', 'MA', 'CT' I 'RI'); However, as the length of the list grows the WHERE statement becomes more troublesome to code. Imagine you want to select observations from our health care claims data set based on the provider identifier. Another data set, call it WANTED, contains the thousand, or so, provider identifiers that you want. One solution to this problem is implementing a null merge. That is, merge the master data set against the WANTED data set by provider identifier and only keep those observations that are in both data sets. proc sort data = master;by provid; proc sort data = wanted;by provid; data select; merge master(in=mast) wanted(in=yep); by provid;if mast & yep; If you had a format available called $WANTED., instead of a data set called WANTED, which returned a value of 'I' for the provider identifiers in the data set WANTED, and '0' otherwise, you could create the data set SELECT as follows: data select; set master; if put(provid,$wanted.) = '1'; This method is far more efficient than the null-merge method. It eliminates the need to sort the MASTER data set and perform a MERGE only to exclude most of the observations. The only problem is that you don't have this format available. Typing the thousand, or so, provider identifiers into a value clause is subject to typographical errors. Fortunately, Proc Format provides a means to create a VALUE clause from a SAS data set by using the CNTUN = option. Proc Format will use the data set specified with the CNTUN = option to construct a VALUE clause provided the data set has at least these three variables: FMTNAME START VALUE the value-clause name the range-begin value the formatted value You can specify ranges by including a variable called END which contains the range-end value. Although Proc Format will infer the type of format from the value of FMTNAME, you can also include a variable called TYPE which has a value of 'C' for character formats, and 'N' for numeric formats. In our current example, we need an 'OTHER' range definition associated with a formatted value of '0'. Proc Format needs to know NESUG '92 proceedings

5 144 Beginning Tutorials about ranges which include keywords like HIGH, LOW, and 0lHER. For these value definitions, the CNTLIN = data set must contain a variable called HLO which takes on values of 'H', 'L', '0'. or some combination of these values. Here is an example of turning the WANTED data set into a $WANTED. format. data table (keep=fmtnaae start value hlo)~ set wanted (rename=(provid=start» end=lastree; retain mtda1118 ' $wanted' value '1'; output; if.lastree then do; start = 'OTHER'; value = '0'; hlo = '0'; output; end; proe format entlin = table; Under version 6.07 of SAS, the HLO variable may take on additional values to qualify the values in the START, END, and VALUE variables. Some of these values reflect enhancements to other parts of the Proc Format grammar available under version In particular, under version 6.07 the formatted value may refer to a SAS-supplied format, or a previously defined userdefined format. For example, consider the accounts receivable data set from a previous example. Let's say it contains a field called PAIDATE which contains the date value of the paid date, or the special SAS missing value.0 if payment is still due. Using the SAS-supplied MMDDYYS. format, SAS would display the following: MMDDYY /07/ Suppose you'd rather display 'Not Paid' in the date field instead of '0'. Here is an example of using Proc Format under version 6.07 to create a user-defined format which uses MMDDYYS. as part of the definition. proe format; value ourdate.0 = 'Rot Paid' other = [mmddyy8.]; Using this format results in the following display: OORDATE /07/92.0 Hot Paid By default, Proc Format places user-defined formats in a SAS catalog file in the WORK library. Consequently, these formats disappear when SAS terminates. Fortunately, Proc Format provides a means to permanently store user-defined formats by using the LIBRARY = option to specify a LIBNAME to store a permanent SAS catalog file. Under version 6.06 of SAS the name of the SAS catalog file is FORMATS. Once a user-defined format has been stored in the permanent catalog file, you can use the user-defined format by specifying a LIBNAME called LIBRARY which points to the SAS library which contains the FORMATS catalog file. For example: s~oring a User-Defined Format libname anyname ' some.where '; proe format library = anyn.. e; Using a User-Defined Format 1ibname library ' some.where '; When SAS encounters a user-defined format, it searches the WORK library for the FORMATS catalog file. Failing that it searches the LIBRARY library for the FORMATS catalog file. If it doesn't find the format in either of these places, SAS issues an error message. Yau would expect SAS to search for user-defined formats when used explicitly in a Proc Print. However, SAS also searches for all formats associated with all variables in a data set when the data set is referenced. So, if you use a FORMAT statement in a data step to associate a user-defined format with a variable, SAS will expect to find that user-defined format whenever the data set is used. If the user-defined format is not available, then SAS will terminate the current data step or procedure with an error status. There are a few solutions to this problem. The best solution is to store user-defined NESUG '92 proceedings

6 Beginning Tutorials 145 formats in a permanent SAS catalog and move the catalog with the data set. If that is not possible, the NOFMTERR system option will suppress all formatrelated error messages. If that seems too severe, and you don't need the variable which has the user-defined format associated with it, you can drop the variable using the data set DROP= option. For eumple: data two; set one(drop=noneed); Under version 6.07 of SAS you can specify a two-level name with the LIBRARY = option. This causes Proc Format to create a SAS catalog named after the second part of the two-level name in the library specified by the first part of the two-level name. For example, this specification creates a catalog named COOL in the library called WAY: proc format library = way.cool; When you create a SAS catalog other than FORMATS to store user-defined formats, you must instruct SAS to search in that catalog by using the FMTSEARCH= system option. You can also use the FMTSEARCH= system option to alter the order in which SAS searches for user-defined formats. For example, this OPTIONS statement causes SAS to search the WAY. COOL catalog, then the LIBRARY. FORMATS catalog, and finally the WORK. FORMATS catalog to find a user-defined format: This paper has only covered the major aspects of Proc Format which would interest a general user. In particular, no examples of the INV ALUE clause appear.!ny ALUE clauses create informats in the same way that VALUE clauses create formats. Nor have we seen any examples of the CNTLOUT = option which creates a SAS data set from a format catalog file. The SAS procedures manual provides a comprehensive review of these and all features ofproc Format. Version 6.07 also contains enhancements to Proc Format which this paper has not covered in detail, or at all. SAS technical report P-222 details all the changes to SAS under version 6.07, including the enhancements to Proc Format. P-222 probably won't make much sense unless you already understand Proc Format as described in the procedures manual. So read the manual first. (RTMF) Software products mentioned in this paper are copyright their respective publishers. Code presented in this paper is copyright the author; however, it may be freely distributed provided the right to redistribute the code is not restricted in any way. The author welcomes comments, questions, and criticisms. Jack Shoemaker Real Decisions Corporation 22 Thomdal Circle Darien, CT shoe@world.std.com options fmtsearcb=(way.cool library work); In alllevei-6 versions of SAS, the FMTIlB option causes SAS to print a report listing the entire contents of the permanent format library specified by the LIBRARY = option. If your format library contains many entries, but you only wish to review only one or two of them, you can use the SELECT or EXCLUDE statements to limit the number of format entries printed when FMTLIB is specified. For example, this code will only show the contents of the $W ANTED. and FUDGE. formats: proc format library=library fmtlib; select $wanted fudge; rudi NESUG 192 Proceedings

Formats, 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 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 information

using and Understanding Formats

using and Understanding Formats using and Understanding SAS@ Formats Howard Levine, DynaMark, Inc. Oblectives The purpose of this paper is to enable you to use SAS formats to perform the following tasks more effectively: Improving the

More information

PROC FORMAT. CMS SAS User Group Conference October 31, 2007 Dan Waldo

PROC FORMAT. CMS SAS User Group Conference October 31, 2007 Dan Waldo PROC FORMAT CMS SAS User Group Conference October 31, 2007 Dan Waldo 1 Today s topic: Three uses of formats 1. To improve the user-friendliness of printed results 2. To group like data values without affecting

More information

Basic Concept Review

Basic Concept Review Basic Concept Review Quiz Using the Programming Workspace Referencing Files and Setting Options Editing and Debugging SAS Programs End of Review SAS Format Format Formats are variable

More information

Merge Processing and Alternate Table Lookup Techniques Prepared by

Merge Processing and Alternate Table Lookup Techniques Prepared by Merge Processing and Alternate Table Lookup Techniques Prepared by The syntax for data step merging is as follows: International SAS Training and Consulting This assumes that the incoming data sets are

More information

Validating And Updating Your Data Using SAS Formats Peter Welbrock, Britannia Consulting, Inc., MA

Validating And Updating Your Data Using SAS Formats Peter Welbrock, Britannia Consulting, Inc., MA Validating And Updating Your Data Using SAS Formats Peter Welbrock, Britannia Consulting, Inc., MA Overview In whatever way you use SAS software, at some point you will have to deal with data. It is unavoidable.

More information

PROC FORMAT: USE OF THE CNTLIN OPTION FOR EFFICIENT PROGRAMMING

PROC FORMAT: USE OF THE CNTLIN OPTION FOR EFFICIENT PROGRAMMING PROC FORMAT: USE OF THE CNTLIN OPTION FOR EFFICIENT PROGRAMMING Karuna Nerurkar and Andrea Robertson, GMIS Inc. ABSTRACT Proc Format can be a useful tool for improving programming efficiency. This paper

More information

Ten Great Reasons to Learn SAS Software's SQL Procedure

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

SAS Training Spring 2006

SAS Training Spring 2006 SAS Training Spring 2006 Coxe/Maner/Aiken Introduction to SAS: This is what SAS looks like when you first open it: There is a Log window on top; this will let you know what SAS is doing and if SAS encountered

More information

Using an ICPSR set-up file to create a SAS dataset

Using an ICPSR set-up file to create a SAS dataset Using an ICPSR set-up file to create a SAS dataset Name library and raw data files. From the Start menu, launch SAS, and in the Editor program, write the codes to create and name a folder in the SAS permanent

More information

Macros I Use Every Day (And You Can, Too!)

Macros I Use Every Day (And You Can, Too!) Paper 2500-2018 Macros I Use Every Day (And You Can, Too!) Joe DeShon ABSTRACT SAS macros are a powerful tool which can be used in all stages of SAS program development. Like most programmers, I have collected

More information

SAS 101. Based on Learning SAS by Example: A Programmer s Guide Chapter 21, 22, & 23. By Tasha Chapman, Oregon Health Authority

SAS 101. Based on Learning SAS by Example: A Programmer s Guide Chapter 21, 22, & 23. By Tasha Chapman, Oregon Health Authority SAS 101 Based on Learning SAS by Example: A Programmer s Guide Chapter 21, 22, & 23 By Tasha Chapman, Oregon Health Authority Topics covered All the leftovers! Infile options Missover LRECL=/Pad/Truncover

More information

Intermediate SAS: Working with Data

Intermediate SAS: Working with Data Intermediate SAS: Working with Data OIT Technical Support Services 293-4444 oithelp@mail.wvu.edu oit.wvu.edu/training/classmat/sas/ Table of Contents Getting set up for the Intermediate SAS workshop:...

More information

BEYOND FORMAT BASICS 1

BEYOND FORMAT BASICS 1 BEYOND FORMAT BASICS 1 CNTLIN DATA SETS...LABELING VALUES OF VARIABLE One common use of a format in SAS is to assign labels to values of a variable. The rules for creating a format with PROC FORMAT are

More information

Paper # Jazz it up a Little with Formats. Brian Bee, The Knowledge Warehouse Ltd

Paper # Jazz it up a Little with Formats. Brian Bee, The Knowledge Warehouse Ltd Paper #1495-2014 Jazz it up a Little with Formats Brian Bee, The Knowledge Warehouse Ltd Abstract Formats are an often under-valued tool in the SAS toolbox. They can be used in just about all domains to

More information

Create a Format from a SAS Data Set Ruth Marisol Rivera, i3 Statprobe, Mexico City, Mexico

Create a Format from a SAS Data Set Ruth Marisol Rivera, i3 Statprobe, Mexico City, Mexico PharmaSUG 2011 - Paper TT02 Create a Format from a SAS Data Set Ruth Marisol Rivera, i3 Statprobe, Mexico City, Mexico ABSTRACT Many times we have to apply formats and it could be hard to create them specially

More information

Multiple Facts about Multilabel Formats

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

Beyond FORMAT Basics Mike Zdeb, School of Public Health, Rensselaer, NY

Beyond FORMAT Basics Mike Zdeb, School of Public Health, Rensselaer, NY Beyond FORMAT Basics Mike Zdeb, University@Albany School of Public Health, Rensselaer, NY ABSTRACT Beginning and even intermediate level SAS users sometimes never venture beyond the basics in using formats.

More information

Access Intermediate

Access Intermediate Access 2010 - Intermediate (103-134) Building Access Databases Notes Quick Links Building Databases Pages AC52 AC56 AC91 AC93 Building Access Tables Pages AC59 AC67 Field Types Pages AC54 AC56 AC267 AC270

More information

You can examine the contents of a single memory location by typing a single address followed by a Return.

You can examine the contents of a single memory location by typing a single address followed by a Return. 1 von 5 31.07.2012 14:49 The Woz Monitor When a computer is powered up it must know what it must do. It goes without saying that a piece of software must be executed. Since the computer has just been powered

More information

PROC SUMMARY AND PROC FORMAT: A WINNING COMBINATION

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

Watch the video below to learn more about number formats in Excel. *Video removed from printing pages. Why use number formats?

Watch the video below to learn more about number formats in Excel. *Video removed from printing pages. Why use number formats? Excel 2016 Understanding Number Formats What are number formats? Whenever you're working with a spreadsheet, it's a good idea to use appropriate number formats for your data. Number formats tell your spreadsheet

More information

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

Introduction to SAS Mike Zdeb ( , #61

Introduction to SAS Mike Zdeb ( , #61 Mike Zdeb (402-6479, msz03@albany.edu) #61 FORMAT, you can design informats for reading and interpreting non-standard data, and you can design formats for displaying data in non-standard ways....example

More information

Creation of SAS Dataset

Creation of SAS Dataset Creation of SAS Dataset Contents SAS data step Access to PC files Access to Oracle Access to SQL 2 SAS Data Step Contents Creating SAS data sets from raw data Creating and managing variables 3 Creating

More information

CS102: Variables and Expressions

CS102: Variables and Expressions CS102: Variables and Expressions The topic of variables is one of the most important in C or any other high-level programming language. We will start with a simple example: int x; printf("the value of

More information

Advanced Tutorials. Paper More than Just Value: A Look Into the Depths of PROC FORMAT

Advanced Tutorials. Paper More than Just Value: A Look Into the Depths of PROC FORMAT Paper 4-27 More than Just Value: A Look Into the Depths of PROC FORMAT Pete Lund, Northwest Crime and Social Research, Olympia, WA Abstract It doesn t take long for even novice SAS programmers to get their

More information

An Introduction to SAS/FSP Software Terry Fain, RAND, Santa Monica, California Cyndie Gareleck, RAND, Santa Monica, California

An Introduction to SAS/FSP Software Terry Fain, RAND, Santa Monica, California Cyndie Gareleck, RAND, Santa Monica, California An Introduction to SAS/FSP Software Terry Fain, RAND, Santa Monica, California Cyndie Gareleck, RAND, Santa Monica, California ABSTRACT SAS/FSP is a set of procedures used to perform full-screen interactive

More information

April 4, SAS General Introduction

April 4, SAS General Introduction PP 105 Spring 01-02 April 4, 2002 SAS General Introduction TA: Kanda Naknoi kanda@stanford.edu Stanford University provides UNIX computing resources for its academic community on the Leland Systems, which

More information

Format-o-matic: Using Formats To Merge Data From Multiple Sources

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

MITOCW ocw f99-lec07_300k

MITOCW ocw f99-lec07_300k MITOCW ocw-18.06-f99-lec07_300k OK, here's linear algebra lecture seven. I've been talking about vector spaces and specially the null space of a matrix and the column space of a matrix. What's in those

More information

Provided by - Microsoft Placement Paper Technical 2012

Provided by   - Microsoft Placement Paper Technical 2012 Provided by www.yuvajobs.com - Microsoft Placement Paper Technical 2012 1. Analytical 25 questions ( 30 minutes) 2. Reasoning 25 questions (25 minutes) 3. Verbal 20 questions (20 minutes) Analytical (some

More information

Paper DB2 table. For a simple read of a table, SQL and DATA step operate with similar efficiency.

Paper DB2 table. For a simple read of a table, SQL and DATA step operate with similar efficiency. Paper 76-28 Comparative Efficiency of SQL and Base Code When Reading from Database Tables and Existing Data Sets Steven Feder, Federal Reserve Board, Washington, D.C. ABSTRACT In this paper we compare

More information

Using Data Set Options in PROC SQL Kenneth W. Borowiak Howard M. Proskin & Associates, Inc., Rochester, NY

Using Data Set Options in PROC SQL Kenneth W. Borowiak Howard M. Proskin & Associates, Inc., Rochester, NY Using Data Set Options in PROC SQL Kenneth W. Borowiak Howard M. Proskin & Associates, Inc., Rochester, NY ABSTRACT Data set options are an often over-looked feature when querying and manipulating SAS

More information

So, Your Data are in Excel! Ed Heaton, Westat

So, Your Data are in Excel! Ed Heaton, Westat Paper AD02_05 So, Your Data are in Excel! Ed Heaton, Westat Abstract You say your customer sent you the data in an Excel workbook. Well then, I guess you'll have to work with it. This paper will discuss

More information

Paper PO06. Building Dynamic Informats and Formats

Paper PO06. Building Dynamic Informats and Formats Paper PO06 Building Dynamic Informats and Formats Michael Zhang, Merck & Co, Inc, West Point, PA ABSTRACT Using the FORMAT procedure to define informats and formats is a common task in SAS programming

More information

Use mail merge to create and print letters and other documents

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

Designing a Database -- Understanding Relational Design

Designing a Database -- Understanding Relational Design Designing a Database -- Understanding Relational Design Contents Overview The Database Design Process Steps in Designing a Database Common Design Problems Determining the Purpose Determining the Tables

More information

Create a SAS Program to create the following files from the PREC2 sas data set created in LAB2.

Create a SAS Program to create the following files from the PREC2 sas data set created in LAB2. Topics: Data step Subsetting Concatenation and Merging Reference: Little SAS Book - Chapter 5, Section 3.6 and 2.2 Online documentation Exercise I LAB EXERCISE The following is a lab exercise to give you

More information

Linked Lists. What is a Linked List?

Linked Lists. What is a Linked List? Linked Lists Along with arrays, linked lists form the basis for pretty much every other data stucture out there. This makes learning and understand linked lists very important. They are also usually the

More information

APPENDIX E SOLUTION TO CHAPTER SELF-TEST CHAPTER 1 TRUE-FALSE FILL-IN-THE-BLANKS

APPENDIX E SOLUTION TO CHAPTER SELF-TEST CHAPTER 1 TRUE-FALSE FILL-IN-THE-BLANKS APPENDIX E SOLUTION TO CHAPTER SELF-TEST CHAPTER 1 2. F The AS/400 family of computers, as with all IBM midrange and mainframe computers, uses the EBCDIC coding system. 3. F Arrival sequence files do not

More information

Quality Control of Clinical Data Listings with Proc Compare

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

Gary L. Katsanis, Blue Cross and Blue Shield of the Rochester Area, Rochester, NY

Gary L. Katsanis, Blue Cross and Blue Shield of the Rochester Area, Rochester, NY Table Lookups in the SAS Data Step Gary L. Katsanis, Blue Cross and Blue Shield of the Rochester Area, Rochester, NY Introduction - What is a Table Lookup? You have a sales file with one observation for

More information

Master Syndication Gateway V2. User's Manual. Copyright Bontrager Connection LLC

Master Syndication Gateway V2. User's Manual. Copyright Bontrager Connection LLC Master Syndication Gateway V2 User's Manual Copyright 2005-2006 Bontrager Connection LLC 1 Introduction This document is formatted for A4 printer paper. A version formatted for letter size printer paper

More information

3. Almost always use system options options compress =yes nocenter; /* mostly use */ options ps=9999 ls=200;

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

How to Implement the One-Time Methodology Mark Tabladillo, Ph.D., MarkTab Consulting, Atlanta, GA Associate Faculty, University of Phoenix

How to Implement the One-Time Methodology Mark Tabladillo, Ph.D., MarkTab Consulting, Atlanta, GA Associate Faculty, University of Phoenix Paper PO-09 How to Implement the One-Time Methodology Mark Tabladillo, Ph.D., MarkTab Consulting, Atlanta, GA Associate Faculty, University of Phoenix ABSTRACT This paper demonstrates how to implement

More information

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

NO MORE MERGE. Alternative Table Lookup Techniques

NO MORE MERGE. Alternative Table Lookup Techniques NO MORE MERGE. Alternative Table Lookup Techniques Dana Rafiee, Destiny Corporation/DDISC Group Ltd. U.S., Wethersfield, CT ABSTRACT This tutorial is designed to show you several techniques available for

More information

Introduction to Databases and SQL

Introduction to Databases and SQL Introduction to Databases and SQL Files vs Databases In the last chapter you learned how your PHP scripts can use external files to store and retrieve data. Although files do a great job in many circumstances,

More information

2. Don t forget semicolons and RUN statements The two most common programming errors.

2. Don t forget semicolons and RUN statements The two most common programming errors. Randy s SAS hints March 7, 2013 1. Always begin your programs with internal documentation. * ***************** * Program =test1, Randy Ellis, March 8, 2013 ***************; 2. Don t forget semicolons and

More information

Chapter 2. Designing a Program. Input, Processing, and Output Fall 2016, CSUS. Chapter 2.1

Chapter 2. Designing a Program. Input, Processing, and Output Fall 2016, CSUS. Chapter 2.1 Chapter 2 Input, Processing, and Output Fall 2016, CSUS Designing a Program Chapter 2.1 1 Algorithms They are the logic on how to do something how to compute the value of Pi how to delete a file how to

More information

PROC FORMAT Tips. Rosalind Gusinow 2997 Yarmouth Greenway Drive u Madison, WI (608) u

PROC FORMAT Tips. Rosalind Gusinow 2997 Yarmouth Greenway Drive u Madison, WI (608) u PROC FORMAT Tips Rosalind Gusinow 2997 Yarmouth Greenway Drive u Madison, WI 53711 (608) 278-9964 u www.sys-seminar.com 1 Proc Format - Viewing Formats Review the creation of formats: Proc Format; Value

More information

WHO STEPS Surveillance Support Materials. STEPS Epi Info Training Guide

WHO STEPS Surveillance Support Materials. STEPS Epi Info Training Guide STEPS Epi Info Training Guide Department of Chronic Diseases and Health Promotion World Health Organization 20 Avenue Appia, 1211 Geneva 27, Switzerland For further information: www.who.int/chp/steps WHO

More information

Definition: A data structure is a way of organizing data in a computer so that it can be used efficiently.

Definition: A data structure is a way of organizing data in a computer so that it can be used efficiently. The Science of Computing I Lesson 4: Introduction to Data Structures Living with Cyber Pillar: Data Structures The need for data structures The algorithms we design to solve problems rarely do so without

More information

From Manual to Automatic with Overdrive - Using SAS to Automate Report Generation Faron Kincheloe, Baylor University, Waco, TX

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

Statistics, Data Analysis & Econometrics

Statistics, 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 information

The 'SKIP' Statement

The 'SKIP' Statement The 'SKIP' Statement Paul Grant, Private Healthcare Systems, Inc. The Problem Sooner or later every SAS programmer faces the irritating problem of running only a portion of an existing SAS program. If

More information

6.034 Artificial Intelligence, Fall 2006 Prof. Patrick H. Winston. Problem Set 1

6.034 Artificial Intelligence, Fall 2006 Prof. Patrick H. Winston. Problem Set 1 6.034 Artificial Intelligence, Fall 2006 Prof. Patrick H. Winston Problem Set 1 This problem set is due Wednesday, September 20. If you have questions about it, ask the TA email list. Your response will

More information

INTRODUCTION to SAS STATISTICAL PACKAGE LAB 3

INTRODUCTION to SAS STATISTICAL PACKAGE LAB 3 Topics: Data step Subsetting Concatenation and Merging Reference: Little SAS Book - Chapter 5, Section 3.6 and 2.2 Online documentation Exercise I LAB EXERCISE The following is a lab exercise to give you

More information

Loading Data. Introduction. Understanding the Volume Grid CHAPTER 2

Loading Data. Introduction. Understanding the Volume Grid CHAPTER 2 19 CHAPTER 2 Loading Data Introduction 19 Understanding the Volume Grid 19 Loading Data Representing a Complete Grid 20 Loading Data Representing an Incomplete Grid 21 Loading Sparse Data 23 Understanding

More information

VISI ON CALC QuickStart Course

VISI ON CALC QuickStart Course VISI ON CALC QuickStart Course VISICORP Copyright 1983 VisiCorp All Rights Reserved. Printed in U.S.A. Visi On Calc Program Copyright 1983 VisiCorp All Rights Reserved. Visi OnTM, Visi On CalcTM, Visi

More information

MITOCW watch?v=4dj1oguwtem

MITOCW watch?v=4dj1oguwtem MITOCW watch?v=4dj1oguwtem PROFESSOR: So it's time to examine uncountable sets. And that's what we're going to do in this segment. So Cantor's question was, are all sets the same size? And he gives a definitive

More information

Designing and Printing Address Labels

Designing and Printing Address Labels Designing and Printing Address Labels This file will show you one way to use your computer for producing stick-on address labels, helping you to reduce the time involved in preparing the year's set of

More information

Hi everyone. Starting this week I'm going to make a couple tweaks to how section is run. The first thing is that I'm going to go over all the slides

Hi everyone. Starting this week I'm going to make a couple tweaks to how section is run. The first thing is that I'm going to go over all the slides Hi everyone. Starting this week I'm going to make a couple tweaks to how section is run. The first thing is that I'm going to go over all the slides for both problems first, and let you guys code them

More information

If You Need These OBS and These VARS, Then Drop IF, and Keep WHERE Jay Iyengar, Data Systems Consultants LLC

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

Beginning Tutorials. Introduction to SAS/FSP in Version 8 Terry Fain, RAND, Santa Monica, California Cyndie Gareleck, RAND, Santa Monica, California

Beginning Tutorials. Introduction to SAS/FSP in Version 8 Terry Fain, RAND, Santa Monica, California Cyndie Gareleck, RAND, Santa Monica, California Introduction to SAS/FSP in Version 8 Terry Fain, RAND, Santa Monica, California Cyndie Gareleck, RAND, Santa Monica, California ABSTRACT SAS/FSP is a set of procedures used to perform full-screen interactive

More information

Chapter 7 File Access. Chapter Table of Contents

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

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

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

More information

Introduction to the workbook and spreadsheet

Introduction to the workbook and spreadsheet Excel Tutorial To make the most of this tutorial I suggest you follow through it while sitting in front of a computer with Microsoft Excel running. This will allow you to try things out as you follow along.

More information

2018 NSP Student Leader Contact Form

2018 NSP Student Leader Contact Form 2018 NSP Student Leader Contact Form Welcome to the Office of New Student Programs! We are extremely excited to have you on our team. Please complete the below form to confirm your acceptance. Student

More information

Maximizing Statistical Interactions Part II: Database Issues Provided by: The Biostatistics Collaboration Center (BCC) at Northwestern University

Maximizing Statistical Interactions Part II: Database Issues Provided by: The Biostatistics Collaboration Center (BCC) at Northwestern University Maximizing Statistical Interactions Part II: Database Issues Provided by: The Biostatistics Collaboration Center (BCC) at Northwestern University While your data tables or spreadsheets may look good to

More information

Sql 2008 Copy Table Structure And Database To

Sql 2008 Copy Table Structure And Database To Sql 2008 Copy Table Structure And Database To Another Table Different you can create a table with same schema in another database first and copy the data like Browse other questions tagged sql-server sql-server-2008r2-express.

More information

MITOCW watch?v=0jljzrnhwoi

MITOCW watch?v=0jljzrnhwoi MITOCW watch?v=0jljzrnhwoi The following content is provided under a Creative Commons license. Your support will help MIT OpenCourseWare continue to offer high quality educational resources for free. To

More information

EnableBasic. The Enable Basic language. Modified by Admin on Sep 13, Parent page: Scripting Languages

EnableBasic. The Enable Basic language. Modified by Admin on Sep 13, Parent page: Scripting Languages EnableBasic Old Content - visit altium.com/documentation Modified by Admin on Sep 13, 2017 Parent page: Scripting Languages This Enable Basic Reference provides an overview of the structure of scripts

More information

Formal Methods of Software Design, Eric Hehner, segment 1 page 1 out of 5

Formal Methods of Software Design, Eric Hehner, segment 1 page 1 out of 5 Formal Methods of Software Design, Eric Hehner, segment 1 page 1 out of 5 [talking head] Formal Methods of Software Engineering means the use of mathematics as an aid to writing programs. Before we can

More information

Visual Workflow Implementation Guide

Visual Workflow Implementation Guide Version 30.0: Spring 14 Visual Workflow Implementation Guide Note: Any unreleased services or features referenced in this or other press releases or public statements are not currently available and may

More information

Getting Information from a Table

Getting Information from a Table ch02.fm Page 45 Wednesday, April 14, 1999 2:44 PM Chapter 2 Getting Information from a Table This chapter explains the basic technique of getting the information you want from a table when you do not want

More information

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

Hash Objects for Everyone

Hash Objects for Everyone SESUG 2015 Paper BB-83 Hash Objects for Everyone Jack Hall, OptumInsight ABSTRACT The introduction of Hash Objects into the SAS toolbag gives programmers a powerful way to improve performance, especially

More information

PHPM 672/677 Lab #2: Variables & Conditionals Due date: Submit by 11:59pm Monday 2/5 with Assignment 2

PHPM 672/677 Lab #2: Variables & Conditionals Due date: Submit by 11:59pm Monday 2/5 with Assignment 2 PHPM 672/677 Lab #2: Variables & Conditionals Due date: Submit by 11:59pm Monday 2/5 with Assignment 2 Overview Most assignments will have a companion lab to help you learn the task and should cover similar

More information

[buchanan1.net] The GDSII Stream Format

[buchanan1.net] The GDSII Stream Format [buchanan1.net] ------------------------------------------------------------------------ Search buchanan1.net See also: stream_utils The GDSII Stream Format ------------------------------------------------------------------------

More information

22/10/16. Data Coding in SPSS. Data Coding in SPSS. Data Coding in SPSS. Data Coding in SPSS

22/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 information

Paper PS05_05 Using SAS to Process Repeated Measures Data Terry Fain, RAND Corporation Cyndie Gareleck, RAND Corporation

Paper PS05_05 Using SAS to Process Repeated Measures Data Terry Fain, RAND Corporation Cyndie Gareleck, RAND Corporation Paper PS05_05 Using SAS to Process Repeated Measures Data Terry Fain, RAND Corporation Cyndie Gareleck, RAND Corporation ABSTRACT Data that contain multiple observations per case are called repeated measures

More information

An Introduction to Stored Procedures in MySQL 5 by Federico Leven6 Apr 2011

An Introduction to Stored Procedures in MySQL 5 by Federico Leven6 Apr 2011 An Introduction to Stored Procedures in MySQL 5 by Federico Leven6 Apr 21 MySQL 5 introduced a plethora of new features - stored procedures being one of the most significant. In this tutorial, we will

More information

Instructor: Craig Duckett. Lecture 04: Thursday, April 5, Relationships

Instructor: Craig Duckett. Lecture 04: Thursday, April 5, Relationships Instructor: Craig Duckett Lecture 04: Thursday, April 5, 2018 Relationships 1 Assignment 1 is due NEXT LECTURE 5, Tuesday, April 10 th in StudentTracker by MIDNIGHT MID-TERM EXAM is LECTURE 10, Tuesday,

More information

Part 1 Simple Arithmetic

Part 1 Simple Arithmetic California State University, Sacramento College of Engineering and Computer Science Computer Science 10A: Accelerated Introduction to Programming Logic Activity B Variables, Assignments, and More Computers

More information

44 Tricks with the 4mat Procedure

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

In our first lecture on sets and set theory, we introduced a bunch of new symbols and terminology.

In our first lecture on sets and set theory, we introduced a bunch of new symbols and terminology. Guide to and Hi everybody! In our first lecture on sets and set theory, we introduced a bunch of new symbols and terminology. This guide focuses on two of those symbols: and. These symbols represent concepts

More information

Instructor: Craig Duckett. Lecture 03: Tuesday, April 3, 2018 SQL Sorting, Aggregates and Joining Tables

Instructor: Craig Duckett. Lecture 03: Tuesday, April 3, 2018 SQL Sorting, Aggregates and Joining Tables Instructor: Craig Duckett Lecture 03: Tuesday, April 3, 2018 SQL Sorting, Aggregates and Joining Tables 1 Assignment 1 is due LECTURE 5, Tuesday, April 10 th, 2018 in StudentTracker by MIDNIGHT MID-TERM

More information

. NO MORE MERGE - Alternative Table Lookup Techniques Dana Rafiee, Destiny Corporation/DDISC Group Ltd. U.S., Wethersfield, CT

. NO MORE MERGE - Alternative Table Lookup Techniques Dana Rafiee, Destiny Corporation/DDISC Group Ltd. U.S., Wethersfield, CT betfomilw tltlljri4ls. NO MORE MERGE - Alternative Table Lookup Techniques Dana Rafiee, Destiny Corporation/DDISC Group Ltd. U.S., Wethersfield, CT ABSTRACT This tutorial is designed to show you several

More information

MillinPro+ USER GUIDE. A Complete Web-Based Platform for Managing Medical Bills and Insurance Claims

MillinPro+ USER GUIDE. A Complete Web-Based Platform for Managing Medical Bills and Insurance Claims MillinPro+ A Complete Web-Based Platform for Managing Medical Bills and Insurance Claims MILLIN ASSOCIATES, LLC USER GUIDE 2010-2012 Copyrights Reserved Millin Associates, LLC Document Change History Version

More information

Introduction (SPSS) Opening SPSS Start All Programs SPSS Inc SPSS 21. SPSS Menus

Introduction (SPSS) Opening SPSS Start All Programs SPSS Inc SPSS 21. SPSS Menus Introduction (SPSS) SPSS is the acronym of Statistical Package for the Social Sciences. SPSS is one of the most popular statistical packages which can perform highly complex data manipulation and analysis

More information

Chapter 6: Deferred Report Writer

Chapter 6: Deferred Report Writer Chapter 6: Deferred Report Writer CHAPTER 6: DEFERRED REPORT WRITER... 1 DEFERRED REPORT WRITER OVERVIEW... 2 REPORT TITLE (TYPE 01 PARAMETER)... 3 Type 01 Parameter Fields... 3 EXPANDER OPTION (TYPE 02

More information

Features of C. Portable Procedural / Modular Structured Language Statically typed Middle level language

Features of C. Portable Procedural / Modular Structured Language Statically typed Middle level language 1 History C is a general-purpose, high-level language that was originally developed by Dennis M. Ritchie to develop the UNIX operating system at Bell Labs. C was originally first implemented on the DEC

More information

Chapter One: Getting Started With IBM SPSS for Windows

Chapter One: Getting Started With IBM SPSS for Windows Chapter One: Getting Started With IBM SPSS for Windows Using Windows The Windows start-up screen should look something like Figure 1-1. Several standard desktop icons will always appear on start up. Note

More information

Give me EVERYTHING! A macro to combine the CONTENTS procedure output and formats. Lynn Mullins, PPD, Cincinnati, Ohio

Give me EVERYTHING! A macro to combine the CONTENTS procedure output and formats. Lynn Mullins, PPD, Cincinnati, Ohio PharmaSUG 2014 - Paper CC43 Give me EVERYTHING! A macro to combine the CONTENTS procedure output and formats. Lynn Mullins, PPD, Cincinnati, Ohio ABSTRACT The PROC CONTENTS output displays SAS data set

More information

Chapter 3: Working With Your Data

Chapter 3: Working With Your Data Chapter 3: Working With Your Data Creating variables based on other variables is easily done within the data step. Assignment is carried out with the = sign. Example: INPUT var1 var2 var3; mysum = var1

More information

Top-Down Programming with SAS Macros Edward Heaton, Westat, Rockville, MD

Top-Down Programming with SAS Macros Edward Heaton, Westat, Rockville, MD Paper P813 Top-Down Programming with SAS Macros Edward Heaton, Westat, Rockville, MD ABSTRACT Structured, top-down programming techniques are not intuitively obvious in the SAS language, but macros can

More information

Using Parameter Queries

Using Parameter Queries [Revised and Updated 21 August 2018] A useful feature of the query is that it can be saved and used again and again, whenever we want to ask the same question. The result we see (the recordset) always

More information

I m Carol Ember, the Executive Director of HRAF. First, let me tell you a little about HRAF and ehraf World Cultures.

I m Carol Ember, the Executive Director of HRAF. First, let me tell you a little about HRAF and ehraf World Cultures. Welcome to ehraf World Cultures. If you are reading this tutorial for the first time, we suggest reading it in its entirety. To review particular sections see the Table of Contents on the next slide. I

More information