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

Size: px
Start display at page:

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

Transcription

1 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. The trouble is with data is that it is not always: Valid Correct Fortunately, SAS has a myriad of tools to deal with such issues. One such tool is formats, which allows to you both view your data in another form, or to transform it based upon pre-determined rules i.e. those established when the format was created. This paper will cover the basic uses of formats within SAS. Rather than just approaching formats from a syntactical perspective, it will be approached using examples of their use. Syntax is easy to reference, but practical uses are harder to find. Both the use and the creation of formats will be used. Formats that are part of SAS software itself will be briefly covered followed by those created by the user. Emphasis will be given to both the creation and the use of the format. What is a Format? A format is a stored set of rules that can be used to restructure the cardinality of a column. This restructuring can take place in either viewing the data, or by recoding the data. These rules can either be determined by the user (a user-defined format), or by SAS software itself. This is a very simplistic definition of a tool that is extremely powerful and useful, but one that will suffice for an introduction to the subject. Rather than a definition of what a format actually is, more useful will be what it can be used for. This paper will be concentrating on the latter. Data for Examples For each of the examples, we will be using the same data. This will make following each example easier. This data will be rich in formatable data so that each of the techniques will be applicable. The data will look as follows: Column Description Customer_num C Unique Customer id Age N Customer Age Gender C Customer Gender Classification C Customer Type birthdate N SAS date value zip C Zip Code phone N Phone Number Orders N Number of Orders value N $ Value of Orders Table: Customer_data The actual data values are predictable given the column descriptions, and are rich in potential for main topics of this paper: the validation, recoding (transformation) and lookup of data. Viewing Data In a Different Form (Using inherent SAS Formats) This is one of the most elementary uses of formats. Data is stored in one way, but is required to be viewed in another. For example, in the customer_data file, the birth date is stored as a SAS date, but using SAS date time formats, could be viewed or transformed into almost any form. For example, if the customer was born on January 1, 1960, then because it is a SAS date, the stored value would be 0 (zero). If the birth month is required from this date, then it would not be necessary to programatically work this out, but a SAS format could be used. Many formats are supplied with SAS software and are therefore available to anyone using the software. It is very

2 worthwhile exploring the different categories of formats SAS supplies to understand the general ways in which they can be used, even if every single available format is not learned. Key categories (with format examples) are as follows (see the online documentation for a complete list): Numeric Formats! PERCENTw.d (convert percentages to numeric values)! COMMAw.d (removes embedded characters) Character Formats! $UPCASEw. (convert character data to upcase)! $QUOTEw. (writes data values enclosed in double quotation marks), Date and Time Formats! DAYw. (writes day of week)! DOWNAMEw. (writes data value as the name of the day of the week)! MONYYw. (writes date values in the form mmmyy or mmmyyyy)! MONNAMEw. (writes a date value as the name of month) The above list merely illustrates the types of formats that SAS supplies. The entire list is very long, but one that is worthwhile perusing. SAS formats are used to write-out existing data in another form. SAS also has the concept of an informat that is a mirror image of a format. Instead of writing out as a format will do, an informat will read-in data in a particular form. Note the final example in the list above: monname. As the format name suggests, this format will write out the month name from a SAS date value. The following snippet of code will illustrate the how this can be used to display the month instead of the value 0 (zero). proc print data=customer_data noobs; var customer_num birthdate; format birthdate monname9.; The output from the Print procedure will contain two columns: one containing the stored value of the customer_num column, and the other containing the 9 character month corresponding the date the customer was born. Note: most SAS procedures will, by default, operate on the formatted value of a column. Make sure that you read and understand how the formatted values are used before applying formats to columns in SAS procedures. So, up to this point, we have seen the types of inherent formats SAS supplies. We have also seen a simple example of how a format can be applied using a very basic SAS procedure. Of course, use of formats is not limited to procedures, but can also be used within the data step construct, or SQL. The simple example above illustrated the process of viewing data in a different form than it is stored. In this case, we converted a SAS date value to a 9-character month value for display purposes only. We also applied the format on an as needed basis, rather than applying it permanently to the column. Transforming (recoding) Data Having seen how a format can be used to view data in a different form than it is stored, the same principle can be used to actually transform data. Rather than using predetermined inherent SAS formats for this, an example of user defined formats will be used. Supposing the column classification in the customer_data table is to be changed into something more meaningful (maybe for analysis purposes). The way the data is stored currently is at too granular a level and it needs to be grouped into more convenient levels. Obviously, SAS itself will not have a convenient format to perform this change. There is, however, a SAS procedure that can be used to create a format. Not surprisingly, this procedure is called PROC FORMAT.

3 There are many different options available for specifying which values are included in a particular formatted group. There are many short cuts available. Although beyond the scope of this paper, it is definitely worth reading the online documentation to understand these options i. The following code will create a format that can then be used in the same way a SAS supplied format can be applied. proc format library=work; (1) value $ c_type (2) XA, XB = Books (3) XC XZ = Magazines (4) YA - YZ = E books ; When run, this code will create a format that will be stored in the work library (line 1). This means, as with the rest of SAS software when storing an object in the work library, that it will only be available for the length of the SAS session. Once the session is ended, the ability to use this format without creating it again will be removed. The format is actually stored in a SAS catalog within the work library. This catalog is always named formats and will automatically be created by SAS. If the format were to be needed across SAS sessions, then it should be permanently stored. This would be done by specifying a library that will be recreated in subsequent SAS sessions (e.g. library=mylib). The name of the format (see line 2) is c_type and it is a character format. It is very important to understand the distinction between character and numeric formats. Character formats can only be used on character data. They are always preceded by a $ upon their use and the format name is limited to seven characters (eight including the $). Numeric formats can only be used on numeric data and the format name can be up to eight characters. Note that if a numeric format were being created, the only difference would be that the $ on the value statement would be removed. Obviously, the values that make up the formatted groupings would also have to be numeric in nature. The values that make up the format groupings (see line 3) can then be listed. In line 4, an optional technique is to use the - syntax that means that any values in the range from XC to XZ will be included within the Magazine group. The format is now created. It can now be used to transform the classification column. In the example below, the format is being used to create a new column (gen_class). data new_cust; set customer_data; length gen_class $9; gen_class=put(classification,$c_type); This is a very simple example of using the put() function to recode a column. It would, of course, have been possible to perform the same actions with if-then-else SAS language constructs, but this would be both lengthy to type and difficult to maintain. A warning about using the put() function is that it always returns a character string. This might not be what is required, so be careful in its use ii. One of the benefits of using a format in the example outlined above is that it reduces the amount of code that needs to be maintained. Instead, only the format needs to be maintained. This can be done in a couple of ways: Update the Proc Format code that created the format and re-run it. Store the format information in a data table, update the table as needed then recreate the data. If there is choice between these two methods, the last one is preferable. To use it, however, a further feature of Proc Format is required, the use of the cntlout and cntlin options. The cntlin options facilitates the translation of data within a SAS file directly into a

4 format. The cntlout option does the opposite, it takes a SAS format and translates it into a SAS data file. The following code will take the format $c_type and store it as a SAS table. proc format library=work cntlout=c_type; select $c_type; The cntlout option specifies the name of the SAS table where the format information will be stored. In this case, a temporary SAS table called c_type will be created. The select statement specifies the format(s) to be extracted. Note that if more than one format is specified in the select statement, then all of the information will be placed into the single cntlout= SAS file. If the select statement is not included, then all the formats contained within the catalog speicified by the library= option will be extracted to the output SAS file. Note that the $c_type format will still exist. Using the cntlout option will not remove the format. Once the format information is extracted, then it can be updated just like any other SAS table. It is important to remember, however, that the structure of the table must be kept intact if the format is to be recreated from the table. The c_type table will have many columns (run a Proc Contents against the output file to see a full list), but the following are some of the key ones: Column start end fmtname type label Description Starting Value for the the format grouping Ending value for the format grouping Name of the format Type of format (character or numeric) Format Value Label These have been selected as the key columns since to perform the opposite function (create a format from a table), these are the columns that are minimally required (specifically, end is not really needed unless a range is present). In our example, using the $c_type format, to add another format grouping, we would edit the outputted c_type SAS table, adding a new row corresponding to the new format group and then submit the following code: proc format library=work cntlin=c_type; This will write over the existing $c_type format, incorporating any changes made within the data table. This method of updating or creating formats is incredibly useful, since it allows the SAS user to use existing data to create formats without having to write multiple lines of code. It also means that formats can be easily maintained, since they will be leveraged off any changes made to data files. For example, if a format was created to collapse general ledger accounts into summary accounts, any time a new account was created, the file used to classify the accounts could be used as the basis for the input into a Proc Format with the cntlin option. Using the illustrations above, user defined formats have been used to re-classify data. The cardinality of a column within a table has been changed based upon the format grouping defined within the user created SAS format. In the example above, a new column was created based upon the formatted values of the classification column. Be careful when transforming a column based upon format because the transformation is one way. It is always safer to create a new column so that the original data remains intact. There is no concept of de-formatting! An Alternative to Look-up Tables Another very powerful use of formats is as an alternative to look-up tables. Using our existing customer_data file, suppose we

5 want to include some basic demographic data based upon the customer_num and zip. There could be two look-up tables, one for the customer demographic information, and one for the zip code information. The example we have is to compare the customer s income with the median income within their zip code. This could be done with the following code: proc sql; create table cust_demographic as select cust.*, zip.median_income, c_dem.median from customer_data cust, zip_demographic zip, customer_demog c_dem where cust.customer_num=zip.customer_id and cust.customer_num=c_dem.customer_id; quit; This could, depending on the size of the files, become very resource intensive. An alternative would be to create formats. In this case, there would be two formats created as follows: A format from the zip_demographic file with the customer_id as the start value and median_income as the value. The format will be called $zip_inc. A format from the customer_demog file with the customer_id as the start value and median as the value. The format will be called $c_inc. The following code would perform the same task as the SQL above: proc sql; create table cust_demographic as select cust.*, put(customer_num,$zip_inc.) as median_income, put(customer_num,$c_inc.) as median from customer_data cust; quit; The need to actually perform joins is removed completely. Of course, as with everything, one does not get something for nothing. The formats have to be created which takes up resources. The creation of the two new columns median and median_income will also take up resources. There is no hard set of rules as to using a lookup table or a format is more efficient. A great deal depends on the following: The computing resources available. SAS formats are loaded into memory, so very large formats might not be a good idea. How often the lookup will be performed. The more often, the more sense it makes to create a permanent format. How static the format will be. If the format grouping change very often, it might be more trouble than it is worth to keep a permanent format. If many attributes are required for a single key value. The example above illustrates the use of two distinct formats. What if five, or ten, or fifteen attributes were needed, would using formats then make sense? iii There are instances, however, that using formats as lookups can be surprisingly efficient. It is a technique that should be looked into, even though it is a proprietary to SAS. Note that there are potential gains in efficiency by creating format groupings in a specific order. If you know that your data has certain values with high frequency, then there is a benefit to storing the applicable format group toward the start of the format. Since SAS will store the format groups in order of the label, the notsorted option on the value statement will ensure that the format values will be stored in the order in which they have been placed. Be wary of this option, however, since it will affect the output behavior of several SAS procedures when output is to be sorted by the formatted value of a column, rather than its actual value. Data Validation One of the key problems that every SAS programmer comes across is the validity of

6 data. The temptation is for full speed ahead on the analysis and damn the torpedoes. This is a dangerous and counter-productive tendency since few of us work in an environment where we can make assumptions about the validity of data. In fact, the only assumption we can safely make is that somewhere in the data, there are problems lurking that will surface only after we hand in the final report. Problems with data necessitate an approach that will help us both get to know the data (still essential, despite all the modern technological tools available) and uncover any problems. Using formats is one method that can help in uncovering unexpected data. The restriction with formats is that they will be based upon some a priori knowledge of that data iv. One form of data validation is finite validation. This can be used when there are a known number of possibilities for a value in a given column. In customer_data, the column gender can only have two values: 0 or 1. This is a very simple validation that will be easy to perform with a format. The format could be created as follows: proc format library=work; value $ chk_gen 0 = female 1 = male other= error ; With this simple format, the data can then be checked. An example of this is illustrated in the following snippet of code: data check(drop=chk_gen); set customer_data; length chk_gen $6; chk_gen=put(gender,$chk_gen.); if chk_gen = error then do; put gender error id: customer_num; output; end; Any customers that have an invalid gender will be both listed in the log and the entire row from the customer_data file will be outputted to the check file. This is a very simple example of using a format to test for the validity of data, but one that can be extended to become very complex. An additional trick in using formats to validate data is to use nested formats v. Suppose that we want to validate for very high or low value values. We might, for example be suspicious of any value below or including $100 or above $100,000. We want to see these rows explicitly, but otherwise want the value printed with the $ sign and commas. We could create the following format: proc format library=mylib; (1) value chk_val (2) low-100= too low (3) 100 < =[dollar16.] (4) <- high = too high ; There are a few differences from previous examples we have used: First of all, we are creating a permanent format (see line 1). We are storing the format in a catalog called formats that is referenced by the mylib libname. Secondly, we are creating, for the first time, a numeric format i.e. a format that will be used on data stored within a SAS numeric field or on numeric data itself (see line 2, that has a value statement without a $). We are using the low option in the range. In this case (line 3) this means that any value below and including 100 will be included in this grouping. In line 4, any value that is between 100 and (excluding the value 100) will have another format applied. In this case, it is the SAS supplied dollar16 format which writes out the numeric value with dollar signs, commas and decimal points

7 Line 4 really includes the clever piece of this code. The ability to nest formats can save the programmer a vast amount of time, both in the validation of data, and in any other way that the format might be used. The syntax of the nested format, however, is important with square brackets being essential. Sundry Format Topics Picture Statement One aspect of formats that has not been discussed so far is that using the picture statement. This enables the SAS programmer to use a format as a mask. The picture statement will allow, for instance, telephone numbers, or social security numbers stored without dashes, to be displayed with dashes. Note that a picture can only be used when the data is numeric. The picture statement can best be described by example, using the phone column in the customer_data table vi. proc format library=work; picture phonenum; low-high = (999) (prefix = ( ); Now, whenever the picture is applied to the phone column, the data will be viewed in the form: (555) Conclusions Know your data! It is important to really know your data when creating such a format. It is easy to mistreat data when applying formats, without even knowing you are doing so. When dealing with very large data, make sure that you test to see when a format might or might not be efficient. There are no simple rules. Using formats should be one weapon in the artillery. Think about permanently storing formats if at all possible. There is an overhead to their creation. If the underlying format groups change continuously, think about creating formats directly from tables (using the cntlin option) rather than through code. Know your data! i Some great examples of this can be found in Pete Lund s SUGI 25 paper, entitled: More than Just Value: A Look Into the Depths of PROC FORMAT. ii See Jack Shoemaker s SUGI 25 paper entitled: Eight PROC FORMAT Gems. Specifically look at Jack s tip number 4. iii For a discussion on multiple attributes, see Jack Shoemaker s : Eight PROC FORMAT Gems. Specifically look at Jack s tip number 8. iv For a discussion on the validation of data, see: Peter R. Welbrock, Strategic Data Warehousing Principles Using SAS Software, Cary, NC: SAS Institute Inc., pp. See Chapter 6. v This trick was inspired by Jack Shoemaker s tip number 7, in his SUGI 25 paper: Eight PROC FORMAT Gems vi The picture statement is well explained in detail Pete Lund s more advanced paper from SUGI 25: More than Just Value: A Look Into the Depths of PROC FORMAT. Contact Information Please feel free to contact the author with comments/suggestions/abuse: Peter Welbrock Britannia Consulting, Inc RR2 #1132 Vineyard Haven, MA Welbrock@erols.com Trademark Information SAS is a registered trademark of SAS Institute, Inc., Cary, NC, USA

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

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

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

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

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

PROC FORMAT Jack Shoemaker Real Decisions Corporation

PROC FORMAT Jack Shoemaker Real Decisions Corporation 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

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

Using a Picture Format to Create Visit Windows

Using a Picture Format to Create Visit Windows SCSUG 2018 Using a Picture Format to Create Visit Windows Richann Watson, DataRich Consulting ABSTRACT Creating visit windows is sometimes required for analysis of data. We need to make sure that we get

More information

%MAKE_IT_COUNT: An Example Macro for Dynamic Table Programming Britney Gilbert, Juniper Tree Consulting, Porter, Oklahoma

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

The FORMAT procedure - more than just a VALUE statement Lawrence Heaton-Wright, Quintiles, Bracknell, UK

The FORMAT procedure - more than just a VALUE statement Lawrence Heaton-Wright, Quintiles, Bracknell, UK Paper TT10 The FORMAT procedure - more than just a VALUE statement Lawrence Heaton-Wright, Quintiles, Bracknell, UK ABSTRACT The FORMAT procedure is most frequently used to define formats for variables.

More information

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

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

More information

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

Abstract. Introduction. Adding Extensions to the SAS/Warehouse Administrator Peter R. Welbrock Strategic Information Systems, Inc.

Abstract. Introduction. Adding Extensions to the SAS/Warehouse Administrator Peter R. Welbrock Strategic Information Systems, Inc. Paper 126 Adding Extensions to the SAS/Warehouse Administrator Peter R. Welbrock Strategic Information Systems, Inc. Philadelphia, PA Abstract It is highly unlikely that any administrative tool for a data-warehousing

More information

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

Getting Up to Speed with PROC REPORT Kimberly LeBouton, K.J.L. Computing, Rossmoor, CA SESUG 2012 Paper HW-01 Getting Up to Speed with PROC REPORT Kimberly LeBouton, K.J.L. Computing, Rossmoor, CA ABSTRACT Learning the basics of PROC REPORT can help the new SAS user avoid hours of headaches.

More information

Lecture 05 I/O statements Printf, Scanf Simple statements, Compound statements

Lecture 05 I/O statements Printf, Scanf Simple statements, Compound statements Programming, Data Structures and Algorithms Prof. Shankar Balachandran Department of Computer Science and Engineering Indian Institute of Technology, Madras Lecture 05 I/O statements Printf, Scanf Simple

More information

Using an Array as an If-Switch Nazik Elgaddal and Ed Heaton, Westat, Rockville, MD

Using an Array as an If-Switch Nazik Elgaddal and Ed Heaton, Westat, Rockville, MD Using an Array as an If-Switch Nazik Elgaddal and Ed Heaton, Westat, Rockville, MD Abstract Do you sometimes find yourself using nested IF statements or nested SELECT blocks? Does the code become more

More information

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

A Quick and Gentle Introduction to PROC SQL

A Quick and Gentle Introduction to PROC SQL ABSTRACT Paper B2B 9 A Quick and Gentle Introduction to PROC SQL Shane Rosanbalm, Rho, Inc. Sam Gillett, Rho, Inc. If you are afraid of SQL, it is most likely because you haven t been properly introduced.

More 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

Text Search & Auto Coding

Text Search & Auto Coding THE DATA LEVEL - BASIC FUNCTIONS 225 Text Search & Auto Coding The Text Search Tool is used to search within primary texts for the occurrence of specific text strings that match a designated string or

More information

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

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

More information

Lecture 1 Getting Started with SAS

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

PROC REPORT Basics: Getting Started with the Primary Statements

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

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

SAS/Warehouse Administrator Usage and Enhancements Terry Lewis, SAS Institute Inc., Cary, NC

SAS/Warehouse Administrator Usage and Enhancements Terry Lewis, SAS Institute Inc., Cary, NC SAS/Warehouse Administrator Usage and Enhancements Terry Lewis, SAS Institute Inc., Cary, NC ABSTRACT SAS/Warehouse Administrator software makes it easier to build, maintain, and access data warehouses

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

Infographics and Visualisation (or: Beyond the Pie Chart) LSS: ITNPBD4, 1 November 2016

Infographics and Visualisation (or: Beyond the Pie Chart) LSS: ITNPBD4, 1 November 2016 Infographics and Visualisation (or: Beyond the Pie Chart) LSS: ITNPBD4, 1 November 2016 Overview Overview (short: we covered most of this in the tutorial) Why infographics and visualisation What s the

More information

Guide Users along Information Pathways and Surf through the Data

Guide Users along Information Pathways and Surf through the Data Guide Users along Information Pathways and Surf through the Data Stephen Overton, Overton Technologies, LLC, Raleigh, NC ABSTRACT Business information can be consumed many ways using the SAS Enterprise

More information

Debugging 101 Peter Knapp U.S. Department of Commerce

Debugging 101 Peter Knapp U.S. Department of Commerce Debugging 101 Peter Knapp U.S. Department of Commerce Overview The aim of this paper is to show a beginning user of SAS how to debug SAS programs. New users often review their logs only for syntax errors

More information

How to Create Data-Driven Lists

How to Create Data-Driven Lists Paper 9540-2016 How to Create Data-Driven Lists Kate Burnett-Isaacs, Statistics Canada ABSTRACT As SAS programmers we often want our code or program logic to be driven by the data at hand, rather than

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

Best Practice for Creation and Maintenance of a SAS Infrastructure

Best Practice for Creation and Maintenance of a SAS Infrastructure Paper 2501-2015 Best Practice for Creation and Maintenance of a SAS Infrastructure Paul Thomas, ASUP Ltd. ABSTRACT The advantage of using metadata to control and maintain data and access to data on databases,

More information

WHAT IS GOOGLE+ AND WHY SHOULD I USE IT?

WHAT IS GOOGLE+ AND WHY SHOULD I USE IT? CHAPTER ONE WHAT IS GOOGLE+ AND WHY SHOULD I USE IT? In this chapter: + Discovering Why Google+ Is So Great + What Is the Difference between Google+ and Other Social Networks? + Does It Cost Money to Use

More information

Introduction to the SAS Macro Facility

Introduction to the SAS Macro Facility Introduction to the SAS Macro Facility Uses for SAS Macros The macro language allows for programs that are dynamic capable of selfmodification. The major components of the macro language include: Macro

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

Data Manipulation with SQL Mara Werner, HHS/OIG, Chicago, IL

Data Manipulation with SQL Mara Werner, HHS/OIG, Chicago, IL Paper TS05-2011 Data Manipulation with SQL Mara Werner, HHS/OIG, Chicago, IL Abstract SQL was developed to pull together information from several different data tables - use this to your advantage as you

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

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

Chapter 3: The IF Function and Table Lookup

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

Q &A on Entity Relationship Diagrams. What is the Point? 1 Q&A

Q &A on Entity Relationship Diagrams. What is the Point? 1 Q&A 1 Q&A Q &A on Entity Relationship Diagrams The objective of this lecture is to show you how to construct an Entity Relationship (ER) Diagram. We demonstrate these concepts through an example. To break

More information

New Perspectives on Access Module 5: Creating Advanced Queries and Enhancing Table Design

New Perspectives on Access Module 5: Creating Advanced Queries and Enhancing Table Design New Perspectives on Access 2016 Module 5: Creating Advanced Queries and Enhancing Table Design 1 Objectives Session 5.1 Review object naming standards Use the Like, In, Not, and & operators in queries

More information

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

Square Peg, Square Hole Getting Tables to Fit on Slides in the ODS Destination for PowerPoint PharmaSUG 2018 - Paper DV-01 Square Peg, Square Hole Getting Tables to Fit on Slides in the ODS Destination for PowerPoint Jane Eslinger, SAS Institute Inc. ABSTRACT An output table is a square. A slide

More information

Paper B GENERATING A DATASET COMPRISED OF CUSTOM FORMAT DETAILS

Paper B GENERATING A DATASET COMPRISED OF CUSTOM FORMAT DETAILS Paper B07-2009 Eliminating Redundant Custom Formats (or How to Really Take Advantage of Proc SQL, Proc Catalog, and the Data Step) Philip A. Wright, University of Michigan, Ann Arbor, MI ABSTRACT Custom

More information

Understanding Recursion

Understanding Recursion Understanding Recursion sk, rob and dbtucker (modified for CS 536 by kfisler) 2002-09-20 Writing a Recursive Function Can we write the factorial function in AFunExp? Well, we currently don t have multiplication,

More information

Create Custom Tables in No Time

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

Chapter 9: Dealing with Errors

Chapter 9: Dealing with Errors Chapter 9: Dealing with Errors What we will learn: How to identify errors Categorising different types of error How to fix different errors Example of errors What you need to know before: Writing simple

More information

If Statements, For Loops, Functions

If Statements, For Loops, Functions Fundamentals of Programming If Statements, For Loops, Functions Table of Contents Hello World Types of Variables Integers and Floats String Boolean Relational Operators Lists Conditionals If and Else Statements

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

Let the CAT Out of the Bag: String Concatenation in SAS 9

Let the CAT Out of the Bag: String Concatenation in SAS 9 Let the CAT Out of the Bag: String Concatenation in SAS 9 Joshua M. Horstman, Nested Loop Consulting, Indianapolis, IN, USA ABSTRACT Are you still using TRIM, LEFT, and vertical bar operators to concatenate

More 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

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

Working with Objects. Overview. This chapter covers. ! Overview! Properties and Fields! Initialization! Constructors! Assignment

Working with Objects. Overview. This chapter covers. ! Overview! Properties and Fields! Initialization! Constructors! Assignment 4 Working with Objects 41 This chapter covers! Overview! Properties and Fields! Initialization! Constructors! Assignment Overview When you look around yourself, in your office; your city; or even the world,

More information

Topic C. Communicating the Precision of Measured Numbers

Topic C. Communicating the Precision of Measured Numbers Topic C. Communicating the Precision of Measured Numbers C. page 1 of 14 Topic C. Communicating the Precision of Measured Numbers This topic includes Section 1. Reporting measurements Section 2. Rounding

More information

Anatomy of a Merge Gone Wrong James Lew, Compu-Stat Consulting, Scarborough, ON, Canada Joshua Horstman, Nested Loop Consulting, Indianapolis, IN, USA

Anatomy of a Merge Gone Wrong James Lew, Compu-Stat Consulting, Scarborough, ON, Canada Joshua Horstman, Nested Loop Consulting, Indianapolis, IN, USA ABSTRACT PharmaSUG 2013 - Paper TF22 Anatomy of a Merge Gone Wrong James Lew, Compu-Stat Consulting, Scarborough, ON, Canada Joshua Horstman, Nested Loop Consulting, Indianapolis, IN, USA The merge is

More information

Introduction to Excel

Introduction to Excel Introduction to Excel Written by Jon Agnone Center for Social Science Computation & Research 145 Savery Hall University of Washington Seattle WA 98195 U.S.A. (206)543-8110 November 2004 http://julius.csscr.washington.edu/pdf/excel.pdf

More information

Building and Using User Defined Formats

Building and Using User Defined Formats Paper TU02 Building and Using User Defined Formats Arthur L. Carpenter California Occidental Consultants, Oceanside, California ABSTRACT Formats are powerful tools within the SAS System. They can be used

More information

Access Intermediate

Access Intermediate Access 2013 - Intermediate 103-134 Advanced Queries Quick Links Overview Pages AC124 AC125 Selecting Fields Pages AC125 AC128 AC129 AC131 AC238 Sorting Results Pages AC131 AC136 Specifying Criteria Pages

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

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

ABSTRACT MORE THAN SYNTAX ORGANIZE YOUR WORK THE SAS ENTERPRISE GUIDE PROJECT. Paper 50-30 Paper 50-30 The New World of SAS : Programming with SAS Enterprise Guide Chris Hemedinger, SAS Institute Inc., Cary, NC Stephen McDaniel, SAS Institute Inc., Cary, NC ABSTRACT SAS Enterprise Guide (with

More information

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

Reducing SAS Dataset Merges with Data Driven Formats

Reducing SAS Dataset Merges with Data Driven Formats Paper CT01 Reducing SAS Dataset Merges with Data Driven Formats Paul Grimsey, Roche Products Ltd, Welwyn Garden City, UK ABSTRACT Merging different data sources is necessary in the creation of analysis

More information

Unlock SAS Code Automation with the Power of Macros

Unlock SAS Code Automation with the Power of Macros SESUG 2015 ABSTRACT Paper AD-87 Unlock SAS Code Automation with the Power of Macros William Gui Zupko II, Federal Law Enforcement Training Centers SAS code, like any computer programming code, seems to

More information

An Introduction to SAS University Edition

An Introduction to SAS University Edition An Introduction to SAS University Edition Ron Cody From An Introduction to SAS University Edition. Full book available for purchase here. Contents List of Programs... xi About This Book... xvii About the

More information

CMU MSP : SAS FORMATs and INFORMATs Howard Seltman October 15, 2017

CMU MSP : SAS FORMATs and INFORMATs Howard Seltman October 15, 2017 CMU MSP 36-601: SAS FORMATs and INFORMATs Howard Seltman October 15, 2017 1) Informats are programs that convert ASCII (Unicode) text to binary. Formats are programs that convert binary to text. Both come

More information

10 The First Steps 4 Chapter 2

10 The First Steps 4 Chapter 2 9 CHAPTER 2 Examples The First Steps 10 Invoking the Query Window 11 Changing Your Profile 11 ing a Table 13 ing Columns 14 Alias Names and Labels 14 Column Format 16 Creating a WHERE Expression 17 Available

More information

Accessing Data and Creating Data Structures. SAS Global Certification Webinar Series

Accessing Data and Creating Data Structures. SAS Global Certification Webinar Series Accessing Data and Creating Data Structures SAS Global Certification Webinar Series Accessing Data and Creating Data Structures Becky Gray Certification Exam Developer SAS Global Certification Michele

More information

GOOGLE ANALYTICS 101 INCREASE TRAFFIC AND PROFITS WITH GOOGLE ANALYTICS

GOOGLE ANALYTICS 101 INCREASE TRAFFIC AND PROFITS WITH GOOGLE ANALYTICS GOOGLE ANALYTICS 101 INCREASE TRAFFIC AND PROFITS WITH GOOGLE ANALYTICS page 2 page 3 Copyright All rights reserved worldwide. YOUR RIGHTS: This book is restricted to your personal use only. It does not

More information

SAS Business Rules Manager 1.2

SAS Business Rules Manager 1.2 SAS Business Rules Manager 1.2 User s Guide Second Edition SAS Documentation The correct bibliographic citation for this manual is as follows: SAS Institute Inc. 2012. SAS Business Rules Manager 1.2. Cary,

More 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

Be Your Own Task Master - Adding Custom Tasks to EG Peter Eberhardt, Fernwood Consulting Group Inc. Toronto, ON

Be Your Own Task Master - Adding Custom Tasks to EG Peter Eberhardt, Fernwood Consulting Group Inc. Toronto, ON Paper AP05 Be Your Own Task Master - Adding Custom Tasks to EG Peter Eberhardt, Fernwood Consulting Group Inc. Toronto, ON ABSTRACT In Enterprise Guide, SAS provides a ton of tasks to tickle travels into

More information

APPENDIX 3 Tuning Tips for Applications That Use SAS/SHARE Software

APPENDIX 3 Tuning Tips for Applications That Use SAS/SHARE Software 177 APPENDIX 3 Tuning Tips for Applications That Use SAS/SHARE Software Authors 178 Abstract 178 Overview 178 The SAS Data Library Model 179 How Data Flows When You Use SAS Files 179 SAS Data Files 179

More information

School of Computer Science CPS109 Course Notes Set 7 Alexander Ferworn Updated Fall 15 CPS109 Course Notes 7

School of Computer Science CPS109 Course Notes Set 7 Alexander Ferworn Updated Fall 15 CPS109 Course Notes 7 CPS109 Course Notes 7 Alexander Ferworn Unrelated Facts Worth Remembering The most successful people in any business are usually the most interesting. Don t confuse extensive documentation of a situation

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

Biology 345: Biometry Fall 2005 SONOMA STATE UNIVERSITY Lab Exercise 2 Working with data in Excel and exporting to JMP Introduction

Biology 345: Biometry Fall 2005 SONOMA STATE UNIVERSITY Lab Exercise 2 Working with data in Excel and exporting to JMP Introduction Biology 345: Biometry Fall 2005 SONOMA STATE UNIVERSITY Lab Exercise 2 Working with data in Excel and exporting to JMP Introduction In this exercise, we will learn how to reorganize and reformat a data

More information

A Practical Introduction to SAS Data Integration Studio

A Practical Introduction to SAS Data Integration Studio ABSTRACT A Practical Introduction to SAS Data Integration Studio Erik Larsen, Independent Consultant, Charleston, SC Frank Ferriola, Financial Risk Group, Cary, NC A useful and often overlooked tool which

More information

UAccess ANALYTICS Next Steps: Working with Bins, Groups, and Calculated Items: Combining Data Your Way

UAccess ANALYTICS Next Steps: Working with Bins, Groups, and Calculated Items: Combining Data Your Way UAccess ANALYTICS Next Steps: Working with Bins, Groups, and Calculated Items: Arizona Board of Regents, 2014 THE UNIVERSITY OF ARIZONA created 02.07.2014 v.1.00 For information and permission to use our

More information

Personally Identifiable Information Secured Transformation

Personally Identifiable Information Secured Transformation , ABSTRACT Organizations that create and store Personally Identifiable Information (PII) are often required to de-identify sensitive data to protect individuals privacy. There are multiple methods that

More information

Crystal Reports 7. Overview. Contents. Parameter Fields

Crystal Reports 7. Overview. Contents. Parameter Fields Overview Contents This document provides information about parameter fields in Crystal Reports (CR) version 7.x. Definition of terms, architecture, usage and features are discussed. This document should

More information

The Dynamic Typing Interlude

The Dynamic Typing Interlude CHAPTER 6 The Dynamic Typing Interlude In the prior chapter, we began exploring Python s core object types in depth with a look at Python numbers. We ll resume our object type tour in the next chapter,

More information

GOOGLE APPS. GETTING STARTED Page 02 Prerequisites What You Will Learn. INTRODUCTION Page 03 What is Google? SETTING UP AN ACCOUNT Page 03 Gmail

GOOGLE APPS. GETTING STARTED Page 02 Prerequisites What You Will Learn. INTRODUCTION Page 03 What is Google? SETTING UP AN ACCOUNT Page 03 Gmail GOOGLE APPS GETTING STARTED Page 02 Prerequisites What You Will Learn INTRODUCTION Page 03 What is Google? SETTING UP AN ACCOUNT Page 03 Gmail DRIVE Page 07 Uploading Files to Google Drive Sharing/Unsharing

More information

Have a Strange DATE? Create your own INFORMAT to Deal with Her Venky Chakravarthy, Ann Arbor, MI

Have a Strange DATE? Create your own INFORMAT to Deal with Her Venky Chakravarthy, Ann Arbor, MI Have a Strange DATE? Create your own INFORMAT to Deal with Her Venky Chakravarthy, Ann Arbor, MI ABSTRACT Whatever the title may lead you to believe, this is a serious discussion of dates that are strange

More information

(Refer Slide Time 01:41 min)

(Refer Slide Time 01:41 min) Programming and Data Structure Dr. P.P.Chakraborty Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur Lecture # 03 C Programming - II We shall continue our study of

More information

Level 6 Relational Database Unit 3 Relational Database Development Environment National Council for Vocational Awards C30147 RELATIONAL DATABASE

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

1. Join with PROC SQL a left join that will retain target records having no lookup match. 2. Data Step Merge of the target and lookup files.

1. Join with PROC SQL a left join that will retain target records having no lookup match. 2. Data Step Merge of the target and lookup files. Abstract PaperA03-2007 Table Lookups...You Want Performance? Rob Rohrbough, Rohrbough Systems Design, Inc. Presented to the Midwest SAS Users Group Monday, October 29, 2007 Paper Number A3 Over the years

More information

Table Lookups: From IF-THEN to Key-Indexing

Table Lookups: From IF-THEN to Key-Indexing Table Lookups: From IF-THEN to Key-Indexing Arthur L. Carpenter, California Occidental Consultants ABSTRACT One of the more commonly needed operations within SAS programming is to determine the value of

More information

The OLAPCONTENTS Procedure Shine the light onto your OLAP Cubes Jerry Copperthwaite, SAS Institute, Cary, NC

The OLAPCONTENTS Procedure Shine the light onto your OLAP Cubes Jerry Copperthwaite, SAS Institute, Cary, NC The OLAPCONTENTS Procedure Shine the light onto your OLAP Cubes Jerry Copperthwaite, SAS Institute, Cary, NC Introduction Prior to SAS 9.4, seeing the layout of your OLAP cube, its dimensions, hierarchies,

More information

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

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

More information

Bulk Registration File Specifications

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

Depending on the computer you find yourself in front of, here s what you ll need to do to open SPSS.

Depending on the computer you find yourself in front of, here s what you ll need to do to open SPSS. 1 SPSS 11.5 for Windows Introductory Assignment Material covered: Opening an existing SPSS data file, creating new data files, generating frequency distributions and descriptive statistics, obtaining printouts

More information

MAXQDA and Chapter 9 Coding Schemes

MAXQDA and Chapter 9 Coding Schemes MAXQDA and Chapter 9 Coding Schemes Chapter 9 discusses how the structures of coding schemes, alternate groupings are key to moving forward with analysis. The nature and structures of the coding scheme

More information

Journey to the center of the earth Deep understanding of SAS language processing mechanism Di Chen, SAS Beijing R&D, Beijing, China

Journey to the center of the earth Deep understanding of SAS language processing mechanism Di Chen, SAS Beijing R&D, Beijing, China Journey to the center of the earth Deep understanding of SAS language processing Di Chen, SAS Beijing R&D, Beijing, China ABSTRACT SAS is a highly flexible and extensible programming language, and a rich

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

Become a Champion Data Modeler with SQL Developer Data Modeler 3.0

Become a Champion Data Modeler with SQL Developer Data Modeler 3.0 Become a Champion Data Modeler with SQL Developer Data Modeler 3.0 Marc de Oliveira, Simplify Systems Introduction This presentation will show you how I think good data models are made, and how SQL Developer

More information

FAQ: Privacy, Security, and Data Protection at Libraries

FAQ: Privacy, Security, and Data Protection at Libraries FAQ: Privacy, Security, and Data Protection at Libraries This FAQ was developed out of workshops and meetings connected to the Digital Privacy and Data Literacy Project (DPDL) and Brooklyn Public Library

More information

What s New in SAS Studio?

What s New in SAS Studio? ABSTRACT Paper SAS1832-2015 What s New in SAS Studio? Mike Porter, Amy Peters, and Michael Monaco, SAS Institute Inc., Cary, NC If you have not had a chance to explore SAS Studio yet, or if you re anxious

More information

Database Management System Dr. S. Srinath Department of Computer Science & Engineering Indian Institute of Technology, Madras Lecture No.

Database Management System Dr. S. Srinath Department of Computer Science & Engineering Indian Institute of Technology, Madras Lecture No. Database Management System Dr. S. Srinath Department of Computer Science & Engineering Indian Institute of Technology, Madras Lecture No. # 5 Structured Query Language Hello and greetings. In the ongoing

More information

Mastering the Basics: Preventing Problems by Understanding How SAS Works. Imelda C. Go, South Carolina Department of Education, Columbia, SC

Mastering the Basics: Preventing Problems by Understanding How SAS Works. Imelda C. Go, South Carolina Department of Education, Columbia, SC SESUG 2012 ABSTRACT Paper PO 06 Mastering the Basics: Preventing Problems by Understanding How SAS Works Imelda C. Go, South Carolina Department of Education, Columbia, SC There are times when SAS programmers

More information

Chapter 1. Data types. Data types. In this chapter you will: learn about data types. learn about tuples, lists and dictionaries

Chapter 1. Data types. Data types. In this chapter you will: learn about data types. learn about tuples, lists and dictionaries Chapter 1 Data types In this chapter you will: learn about data types learn about tuples, lists and dictionaries make a magic card trick app. Data types In Python Basics you were introduced to strings

More information

Using Microsoft Excel

Using Microsoft Excel Using Microsoft Excel Excel contains numerous tools that are intended to meet a wide range of requirements. Some of the more specialised tools are useful to only certain types of people while others have

More information