SAS DATA Step Merge A Powerful Tool Dalia C. Kahane, Westat, Rockville, MD

Size: px
Start display at page:

Download "SAS DATA Step Merge A Powerful Tool Dalia C. Kahane, Westat, Rockville, MD"

Transcription

1 SAS DATA Step Merge A Powerful Tool Dalia C. Kahane, Westat, Rockville, MD ABSTRACT Through the DATA Step Merge, SAS offers you a method by which you may join two or more datasets and output a combined product. This is a truly powerful tool. If you follow some important basic rules you will find that you may accomplish many tasks, such as: adding summary national data to individual educational data to compare individual performances to national averages, adding sales to customer data, etc. The DATA step Merge is similar, but not identical, to a Join operation in PROC SQL. The advantages of mastering the Merge is that you are totally in charge and that you may see explicitly what happens behind the scenes. As a matter of fact, you may use the DATA step Merge to test if results achieved by other methods are accurate. Like all powerful tools, you need to know how to use it; how to take advantage of the power without making mistakes. This paper explores the strengths inherent in the Merge and gives you suggestions on how to avoid possible pitfalls. It is a must for beginners and yet includes tips for experienced programmers too. INTRODUCTION The SAS documentation describes the DATA step Merge in the following way: The MERGE statement joins corresponding observations from two or more SAS data sets into single observations in a new SAS data set. The way the SAS system joins the observations depends on whether a BY statement accompanies the MERGE statement 1 Why does SAS offer this tool? Here are some every day examples of why you might want to combine data: Educational data about students appear in multiple files, one per class (e.g. Math, English, etc.); you want to combine the data to show a student s performance across all classes; you may also then get the average performance per student across all classes Your client wants to see educational performance data where you need to combine teachers data with that of their students You have research data about physicians and you want to compare individual against national or regional averages; combining individual data with summary data You have two datasets: one which contains data from parents and another which contains data from children; you want to combine them; parents may have multiple children and vice versa These examples illustrate that there are different types of merges (one-to-one, one-to-many and many-to-many). This paper explores the rules to follow in order to perform these varying types of merges and points out the importance of using an accompanying BY statement. Also, since by default, SAS keeps all the observations and all the variables that belong to all the datasets being joined, you need to carefully trim the incoming datasets, so that the combined product will reflect exactly what you want, not what automatically happens due to the SAS program data vector (PDV) rules. This paper demonstrates the use of the SAS DATA Step options such as the DROP=, KEEP=, and RENAME=, which help you take control of variables, and the WHERE= and subsetting IF, which help you take control of the observations to be included in the merge. All the examples used in this paper limit the merge to two source datasets, so that the rules can be more easily demonstrated. Also, in order to keep things simple, the examples are about toys and children with very few observations in each dataset/table. 1

2 DATASETS USED TO ILLUSTRATE COMBINING OF DATA The datasets that will be used as examples for the purpose of discussing the Merge and Join actions include the following: Toy dataset includes the code, description and company code for various toys Code Description CompanyCode 1202 Princess Baby Doll Animal Set Model Train Electric Truck Animal Cards Teddy Bear 2000 ToyGenderAge provides associated gender and recommended-age information for each toy Code Gender AgeRangeLow AgeRangeHigh 1202 F F B M M M 2 6 Company provides the company code and name for toy manufacturers CompanyCode CompanyName 1000 Kids Toys 2000 More Toys Factory provides data on all factories associated with each company Company Code FactoryCode FactoryState MD NY VT AZ ME CA 2

3 THE BASICS OF PERFORMING THE DATA STEP MERGE As described above, the SAS Merge allows the programmer to combine data from multiple datasets. Each observation from dataset one is combined with a corresponding observation in dataset two (and dataset three, etc.) 1 The observations and data fields from the source datasets that will be included in the resulting dataset are determined by the detailed instructions provided by the programmer. DEFAULT MERGE: ONE-TO-ONE NO MATCHING The default action taken by SAS when the code requests a merge between two datasets is to simply combine the observations one by one in the order that they appear in the datasets. data Merged_ToyGA_default; merge Toy ToyGenderAge; INFO: The variable Code on data set WORK.TOY will be overwritten by data set WORK.TOYGENDERAGE. NOTE: There were 7 observations read from the data set WORK.TOY. NOTE: There were 6 observations read from the data set WORK.TOYGENDERAGE. NOTE: The data set WORK.MERGED_TOYGA_DEFAULT has 7 observations and 6 variables. Code Description CompanyCode Gender RangeAgeLow RangeAgeHigh 1202 Princess 1000 F Baby Doll 1000 F Animal Set 1000 B Model Train 1000 M Electric Truck 1000 M Animal Cards 2000 M Teddy Bear By default the SAS Merge does the following: combines in order observation #1 from Toy with Observation #1 from ToyGenderAge, then Observation #2 with Observation #2, etc.; does not try to match on common variable(s); simply matches the observations in the random order that they appear in the datasets keeps all observations from both datasets the system option MergeNoBy is set to NOWARN; neither a warning nor an error message is given to alert user that a merge is being performed without matching observations through a BY statement in a one-to-one merge, common variables that are not part of BY statement, act as follows: the values coming in from the right dataset override those coming in from the left dataset see SAS NOTE in Log results above This is usually not what the programmer would want, since it would make much more sense to combine all data related to toy Princess together; all data related to Electric Truck together; etc. 3

4 ONE-TO-ONE MATCH-MERGE KEEPING ALL OBSERVATIONS A Match-Merge combines observations from multiple datasets into a single observation in the result dataset based on the values of one or more common variables. It is highly recommended that you do the following: set the system option: MergeNoBy = ERROR; this ensures that if a MERGE statement is used without a corresponding BY statement the log will present an error message to that effect; use a BY statement in the data step to force SAS to put values into a single observation combining data from observations in the source datasets where the BY Variable has the same value; make sure to sort all source datasets by the matching variable(s) listed in the BY statement; if the datasets are not sorted properly you will get error messages in the log Note that by default a match-merge keeps all observations from all datasets; but each final observation gets its data values only from data variables that are contributed by those datasets with matching Toy Code values; where there is no contributing matching observation the data values are set to missing. Here again, the product is the same as a full outer-join where some of the observations have variables filled from both datasets, because a match was found, but others only get values from their source-dataset. 2 Note that by default a match-merge keeps all observations from all datasets; however, each final observation gets its data values only from data variables that are contributed by those datasets with matching Toy Code values; where there is no contributing matching observation the data values are set to missing. options mergenoby=error; proc sort data=toy; by Code; proc sort data=toygenderage; by Code; data Merged_ToyGA_ByCode; merge Toy (keep=code Description) ToyGenderAge; by Code; NOTE: There were 7 observations read from the data set WORK.TOY. NOTE: There were 6 observations read from the data set WORK.TOYGENDERAGE. NOTE: The data set WORK.MERGED_TOYGA_BYCODE has 8 observations and 5 variables. Code Description Gender AgeRangeLow AgeRangeHigh 0101 Baby Doll F Princess F Animal Set B Electric Truck M Model Train M Animal Cards 4400 Teddy Bear 5500 M 2 6 4

5 Note that: all observations from both datasets are kept where identical code value was found on both datasets, all variables get filled with data coming in from the corresponding source datasets; therefore, for codes 4300 and 4400 the combined observations contain Description values from the Toy dataset but no Gender or Age Range values coming in from the ToyGenderAge dataset; for Code 5500, the combined observation contains data values from the ToyGenderAge dataset but no Description from the Toy dataset ONE-TO-ONE MATCH-MERGE KEEPING SOME OBSERVATIONS In many cases we may want to further control which observations (of those that match) will actually be included in the final dataset. This is done via a subsetting if statement combined with an in= data option. There are several different choices such as: keep only those observations where a match is found on the BY variable in all source datasets keep all those that appear in the 1 st dataset whether or not a match is found in the 2 nd dataset keep all those that appear in the 2 nd dataset whether or not a match is found in the 1 st dataset In the 1 st instance the product is really an inner join data Merged_ToyGA_KeepOnlyMatched; merge Toy (in=a keep=code Description) ToyGenderAge (in=b) ; by Code; if a and b; NOTE: There were 7 observations read from the data set WORK.TOY. NOTE: There were 6 observations read from the data set WORK.TOYGENDERAGE. NOTE: The data set WORK.MERGED_TOYGA_KEEPONLYMATCHED has 5 observations and 5 variables. Code Description Gender AgeRangeLow AgeRangeHigh 0101 Baby Doll F Princess F Animal Set B Electric Truck M Model Train M 6 9 5

6 There are several things to note here: the in= option which uniquely identifies each source dataset; the by Code statement which ensures a one-to-one matching; the if a and b statement, which instructs SAS to keep only those observations with matching code values in both datasets; those observations with code values that appear in only one or the other dataset get excluded from the final combined dataset; In the 2 nd instance, what we get is a statement of if a ensures that all observations and only observations from dataset Toy will be kept in the final dataset; the data values coming from the ToyGenderAge will be set to missing when no matching observation with that Code value is found there; result in log data Merged_ToyGA_KeepOnlyLeft; merge Toy (in=a keep=code Description) ToyGenderAge (in=b) ; by Code; if a; NOTE: The data set WORK.MERGED_TOYGA_KEEPONLYLEFT has 7 observations and 5 variables. Code Description Gender AgeRangeLow AgeRangeHigh 0101 Baby Doll F Princess F Animal Set B Electric Truck M Train Thomas M Animal Cards Teddy Bear.. 6

7 In the 3 rd instance a statement of if b ensures that all observations and only observations from dataset ToyGenderAge will be kept in the final dataset; the data values coming from Toy will be set to missing when no matching observation with that Code value is found in the Toy dataset; result in log data Merged_ToyGA_KeepOnlyRight; merge Toy (in=a keep=code Description) ; by Code; if b; ToyGenderAge (in=b) NOTE: The data set WORK.MERGED_TOYGA_KEEPONLYRIGHT has 6 observations and 5 variables. Code Description Gender AgeRangeLow AgeRangeHigh 0101 Baby Doll F Princess F Animal Set B Electric Truck M Train Thomas M M 2 6 ONE-TO-MANY MERGE One of the most common purposes of the one-to-many merge is to join individual observations with summarystatistics for purposes of evaluations and comparisons; another purpose is to combine detailed data with higher level data, as in our example datasets, combining the Toys with their Company name. There are many toys per company. proc sort data=toy; by CompanyCode; proc sort data=company; by CompanyCode; data Merged_ToyCompany; merge Toy Company; by CompanyCode; NOTE: There were 7 observations read from the data set WORK.TOY. NOTE: There were 2 observations read from the data set WORK.COMPANY. NOTE: The data set WORK.MERGED_TOYCOMPANY has 7 observations and 4 variables. 7

8 Code Description Company Code Company Name 0101 Baby Doll 1000 Kids Toys 1202 Princess 1000 Kids Toys 1316 Animal Set 1000 Kids Toys 3201 Electric Truck 1000 Kids Toys 3220 Model Train 1000 Kids Toys 4300 Animal Cards 2000 More Toys 4400 Teddy Bear 2000 More Toys Important issues to note for the one-to-many merge are: In DATA Step MERGE the one-to-many and many-to-one merges are the same! The order of the dataset names within the MERGE statement has no significance; the actual merge action still combines one observation from a dataset to one observation from another; The data from each observation coming from the one side is retained through all merges with the many side (until a new observation comes in from the one side); see later discussion of the Program data Vector Common variables that are not included in the BY statement should be renamed since bringing them in may lead to errors. In a one-to-one merge a common variable s value coming from a later dataset simply overwrites the value from an earlier dataset (in the order that the datasets appear in the MERGE statement). This is not always true in the case of a one-to-many merge. It is good practice to always rename common variables as they come in from the source files and calculate a final value in the result dataset. Use the RENAME= option per dataset in the MERGE statement; see later discussion of the Program data Vector MANY-TO-MANY MERGE The many-to-many merge refers to the instance where at least two source datasets contain multiple repeats of values in the BY variables used for match-merging. An example of a many-to-many merge using our datasets is to present all possible factories from where all toys of a given company may be shipped. Another way to describe this: show any factory from which any toy may be shipped. proc sort data=toy; by CompanyCode Code; proc sort data=factory; by CompanyCode FactoryCode; /* create cross walk dataset to tell us how many factories per company and assigns them numbers */ data Factory Company_Xwalk(keep=CompanyCode MaxFactory); retain FactoryNumber 0; set Factory; by CompanyCode; if first.companycode then cnt=0; FactoryNumber +1; MaxFactory = FactoryNumber; output factory; if last.companycode then output Company_Xwalk; 8

9 /* prepare the toys dataset by merging with the company Xwalk */ data ToyWithFN (drop=i); merge Toy(in=a) Company_Xwalk(in=b) ; by CompanyCode; if a; if not b then put "No Company record found for Toy: " _all_; /* per toy - output multiple records - one per factory */ do i =1 to MaxFactory; end; FactoryNumber=i; output; /* we now finaly merge Toys with Factories */ proc sort data=toywithfn; by CompanyCode FactoryNumber Code; proc sort data=factory; by CompanyCode FactoryNumber; data Merged_ToyFactory (drop=maxfactory FactoryNumber); merge ToyWithFN(in=a) Factory(in=b) ; by CompanyCode FactoryNumber; NOTE: The data set WORK.COMPANY_XWALK has 2 observations and 2 variables. NOTE: The data set WORK.TOYWITHFN has 21 observations and 5 variables. NOTE: There were 21 observations read from the data set WORK.TOYWITHFN. NOTE: There were 6 observations read from the data set WORK.FACTORY. NOTE: The data set WORK.MERGED_TOYFACTORY has 21 observations and 5 variables. Code Description CompanyCode FactoryCode FactoryState 0101 Baby Doll MD 1202 Princess MD 1316 Animal Set MD 3201 Electric Truck MD 3220 Model Train MD 0101 Baby Doll NY 1202 Princess NY 1316 Animal Set NY 3201 Electric Truck NY 3220 Model Train NY 0101 Baby Doll VT 9

10 1202 Princess VT 1316 Animal Set VT 3201 Electric Truck VT 3220 Model Train VT 4300 Animal Cards AZ 4400 Teddy Bear AZ 4300 Animal Cards ME 4400 Teddy Bear ME 4300 Animal Cards CA 4400 Teddy Bear CA Important notes for the many-to-many merge: As shown in the SAS code, the goal here is to combine many toys with many factories. The MERGE statement however still ends up combining observations from the 1 st dataset with observations of the other datasets, one by one Before performing the merge, several steps are needed to prepare the source datasets: we use PROC SORT for each source dataset and we create a crosswalk dataset; etc. Much less work is needed to accomplish the task of combining many-to-many via the PROC SQL JOIN 3 MERGE AND THE PROGRAM DATA VECTOR In order to illustrate what happens in the Program Data Vector (PDV) when a MERGE is done, we ll use two new and very simple datasets that contain student grades. The 1 st dataset contains grades for English class and the 2 nd contains grades for a Math class. Each of these datasets contains three variables per record: StudentID, Grade and TeacherID. The English dataset contains 1 record each for The Math dataset contains one record each for StudentIDs 101,102 and 104 but two records for 103 StudentIDs 101, 103 and 104 StudentI Grade TeacherID StudentID Grade TeacherID E M E M E M E E02 In order to get the students grades and averages into a single dataset we ll use the following code: proc sort data=english; by StudentID; proc sort data=math; data Grades; by StudentID; merge English (in=a rename=(grade=english_grade)) ; by StudentID; Math (in=b rename=(grade=math_grade)) 10

11 When data is mapped into the PDV, any variable with identical name across the two datasets, and which is not used as a BY variable, may become corrupt. Therefore, in this example the PDV contains the following: StudentID English Math_ TeacherID First. Last. _Grade Grade StudentID StudentID _N ERROR_ M E M E M When the first record comes in from the English dataset, the variables StudentID, English_Grade, and TeacherID are properly stored in the appropriate storage units. When the Math record for that StudentID comes in, the Math_Grade is correctly added. But, the TeacherID value coming in from the Math dataset replaces the TeacherID which was already there from the English dataset. If no record exists for this StudentID in the Math dataset the Math_Grade remains missing and the TeacherID is not replaced. The variable of TeacherID just became meaningless because some of the time it contains the English TeacherID and at other times it contains the Math TeacherID. The code should have included a RENAME= for the TeacherID variable similar to that done for the Grade variables, or the TeacherID variable should have been dropped. The following principles should always be remembered 4 : 1. Only one value can be held under one name in the PDV at any one time 2. No common variable between two or more data sets listed in the merge with the exception of the BY variables that must be common to all the data sets 3. No more than one data set with multiple records for any combination of BY values Remember that it is a mistake to think that the PDV always gets filled with the value of the variable which comes from the last dataset mentioned on the MERGE. It is important to note that a variable coming from any dataset is RETAINED by the PDV only if there does not exist a variable by the same name already coming in from a previous dataset! In cases where there are multiple records per BY variable in the 1 st dataset, only the 1 st of these gets a value from the last dataset to replace the value from the previous dataset. All the other records do not receive this new value! BEWARE OF THE FOLLOWING NOTES IN THE LOG Some notes that appear in the LOG, even though they are not marked as errors or warnings are very dangerous to ignore. It is much better to add the code that is necessary to make such notes disappear. These include: (1) NOTE: More than one dataset have repeats of the BY variables (2) NOTE: the variable xxx in data A is replaced by variable xxx in data B Note (1) may appear under the following conditions: merging the English dataset with the Math dataset by StudentID, where there are multiple grade records per student in each (due to multiple sessions). Possible solutions: keep only the latest or highest grade per student; or, add the sessionid to the BY statement and join the datasets by both student ID and SessionID. Note (2) may appear in the case shown above where TeacherID appeared in both datasets. Either rename the variable or drop it, as appropriate. 11

12 CONCLUSION The DATA step Merge is a powerful tool but you need to know all rules governing its functionality and use them to advantage. Here is a list of the salient features of the merge: One-to-one oriented (consequently limited but offers very tight control) Observations are read once (SAS data retained) Default is a one-to-one "outer-join" using the given order of observations in the source datasets BY variables must have same name and type and preferably same length too in all source tables The order of the data sets should not matter; therefore no variables (other than the BY variables) should be in common; variables should be renamed (if needed) IN= variables are not reset by the system unless new data is read Match-merge of two datasets (merge with "BY Common variable(s)" but without a subsetting "IF" still results in a full outer-join but combines observations that have something in common "Outer-joins" may be done on multiple source datasets Need to sort the source datasets before the data step match-merge Merge of datasets with "BY common variables(s) and "If a and b" results in an inner join and therefore, a limited product Merge of datasets with "BY common variables(s) and If a or If b is used, results in another type of limited product where all records from either source are kept; same rule holds for any dataset selected from however many datasets that participate in the merge In a one-to-one match-merge, common variables that are not included in the match condition (i.e. are not part of the BY statement): the value from the latter dataset sometimes overwrites the value coming from the left-more dataset Impossible to do a many-to-many merge due to one-to-one behavior of MERGE NOTES 1 Refer to the SAS Language: Reference, chapter 9, description of the Merge statement 2 all Venn diagram images were taken from by Jeff Atwood 3 comparison of MERGE to PROC SQL offered in Kahane paper referenced below 4 Refer to Ian Whitlock s paper shown below REFERENCES Kahane, Dalia C. (2009), Using DATA Step MERGE and PROC SQL JOIN to Combine SAS Proceedings of the 2009 North East SAS Users Group Conference Datasets, Schreier, Howard (2005), Let Your Data Power Your DATA Step: Making Effective Use of the SET, MERGE, UPDATE, and MODIFY Statements, Proceedings of the 30 th Annual SAS Users Group International Conference SAS Institute Inc. (1990), SAS Language: Reference, Version 6, 1 st Edition, Cary, NC: SAS Institute Inc. Whitlock, Ian (2006), How to Think Through the SAS DATA Step, Proceedings of the 31 st Annual SAS Users Group International Conference 12

13 DISCLAIMER The contents of this paper are the work of the author and do not necessarily represent the opinions, recommendations, or practices of Westat. ACKNOWLEDGEMENTS I would like to thank Ian Whitlock and Michael Raithel who reviewed my paper, provided comments, and made this a true learning experience for me. CONTACT INFORMATION If you have any questions or comments about the paper, you can reach the author at: Dalia Kahane, Ph.D. Westat 1600 Research Blvd. Rockville, MD Kahaned1@Westat.com SAS and all other SAS Institute Inc. product or service names are registered trademarks or trademarks of SAS Institute Inc. in the USA and other countries. indicates USA registration. Other brand and product names are registered trademarks or trademarks of their respective companies. 13

Using DATA Step MERGE and PROC SQL JOIN to Combine SAS Datasets Dalia C. Kahane, Westat, Rockville, MD

Using DATA Step MERGE and PROC SQL JOIN to Combine SAS Datasets Dalia C. Kahane, Westat, Rockville, MD Using DATA Step MERGE and PROC SQL JOIN to Combine SAS Datasets Dalia C. Kahane, Westat, Rockville, MD ABSTRACT This paper demonstrates important features of combining datasets in SAS. The facility to

More information

Paper 2917. Creating Variables: Traps and Pitfalls Olena Galligan, Clinops LLC, San Francisco, CA

Paper 2917. Creating Variables: Traps and Pitfalls Olena Galligan, Clinops LLC, San Francisco, CA Paper 2917 Creating Variables: Traps and Pitfalls Olena Galligan, Clinops LLC, San Francisco, CA ABSTRACT Creation of variables is one of the most common SAS programming tasks. However, sometimes it produces

More information

Foundations & Fundamentals. A PROC SQL Primer. Matt Taylor, Carolina Analytical Consulting, LLC, Charlotte, NC

Foundations & Fundamentals. A PROC SQL Primer. Matt Taylor, Carolina Analytical Consulting, LLC, Charlotte, NC A PROC SQL Primer Matt Taylor, Carolina Analytical Consulting, LLC, Charlotte, NC ABSTRACT Most SAS programmers utilize the power of the DATA step to manipulate their datasets. However, unless they pull

More information

Demonstrating a DATA Step with and without a RETAIN Statement

Demonstrating a DATA Step with and without a RETAIN Statement 1 The RETAIN Statement Introduction 1 Demonstrating a DATA Step with and without a RETAIN Statement 1 Generating Sequential SUBJECT Numbers Using a Retained Variable 7 Using a SUM Statement to Create SUBJECT

More information

PharmaSUG 2015 - Paper QT26

PharmaSUG 2015 - Paper QT26 PharmaSUG 2015 - Paper QT26 Keyboard Macros - The most magical tool you may have never heard of - You will never program the same again (It's that amazing!) Steven Black, Agility-Clinical Inc., Carlsbad,

More information

Paper 109-25 Merges and Joins Timothy J Harrington, Trilogy Consulting Corporation

Paper 109-25 Merges and Joins Timothy J Harrington, Trilogy Consulting Corporation Paper 109-25 Merges and Joins Timothy J Harrington, Trilogy Consulting Corporation Abstract This paper discusses methods of joining SAS data sets. The different methods and the reasons for choosing a particular

More information

Programming Tricks For Reducing Storage And Work Space Curtis A. Smith, Defense Contract Audit Agency, La Mirada, CA.

Programming Tricks For Reducing Storage And Work Space Curtis A. Smith, Defense Contract Audit Agency, La Mirada, CA. Paper 23-27 Programming Tricks For Reducing Storage And Work Space Curtis A. Smith, Defense Contract Audit Agency, La Mirada, CA. ABSTRACT Have you ever had trouble getting a SAS job to complete, although

More information

Beyond the Simple SAS Merge. Vanessa L. Cox, MS 1,2, and Kimberly A. Wildes, DrPH, MA, LPC, NCC 3. Cancer Center, Houston, TX. vlcox@mdanderson.

Beyond the Simple SAS Merge. Vanessa L. Cox, MS 1,2, and Kimberly A. Wildes, DrPH, MA, LPC, NCC 3. Cancer Center, Houston, TX. vlcox@mdanderson. Beyond the Simple SAS Merge Vanessa L. Cox, MS 1,2, and Kimberly A. Wildes, DrPH, MA, LPC, NCC 3 1 General Internal Medicine and Ambulatory Treatment, The University of Texas MD Anderson Cancer Center,

More information

Creating Contrast Variables

Creating Contrast Variables Chapter 112 Creating Contrast Variables Introduction The Contrast Variable tool in NCSS can be used to create contrasts and/or binary variables for use in various analyses. This chapter will provide information

More information

SET The SET statement is often used in two ways copying and appending.

SET The SET statement is often used in two ways copying and appending. Point, Set, Match (Merge) A Beginner s Lesson Jennifer Hoff Lindquist, Institute for Clinical and Epidemiologic Research, Veterans Affairs Medical Center, Durham, NC The phrase Point, Set and Match is

More information

Counting the Ways to Count in SAS. Imelda C. Go, South Carolina Department of Education, Columbia, SC

Counting the Ways to Count in SAS. Imelda C. Go, South Carolina Department of Education, Columbia, SC Paper CC 14 Counting the Ways to Count in SAS Imelda C. Go, South Carolina Department of Education, Columbia, SC ABSTRACT This paper first takes the reader through a progression of ways to count in SAS.

More information

The Essentials of Finding the Distinct, Unique, and Duplicate Values in Your Data

The Essentials of Finding the Distinct, Unique, and Duplicate Values in Your Data The Essentials of Finding the Distinct, Unique, and Duplicate Values in Your Data Carter Sevick MS, DoD Center for Deployment Health Research, San Diego, CA ABSTRACT Whether by design or by error there

More information

Paper TU_09. Proc SQL Tips and Techniques - How to get the most out of your queries

Paper TU_09. Proc SQL Tips and Techniques - How to get the most out of your queries Paper TU_09 Proc SQL Tips and Techniques - How to get the most out of your queries Kevin McGowan, Constella Group, Durham, NC Brian Spruell, Constella Group, Durham, NC Abstract: Proc SQL is a powerful

More information

The Program Data Vector As an Aid to DATA step Reasoning Marianne Whitlock, Kennett Square, PA

The Program Data Vector As an Aid to DATA step Reasoning Marianne Whitlock, Kennett Square, PA PAPER IN09_05 The Program Data Vector As an Aid to DATA step Reasoning Marianne Whitlock, Kennett Square, PA ABSTRACT The SAS DATA step is easy enough for beginners to produce results quickly. You can

More information

The Query Builder: The Swiss Army Knife of SAS Enterprise Guide

The Query Builder: The Swiss Army Knife of SAS Enterprise Guide Paper 1557-2014 The Query Builder: The Swiss Army Knife of SAS Enterprise Guide ABSTRACT Jennifer First-Kluge and Steven First, Systems Seminar Consultants, Inc. The SAS Enterprise Guide Query Builder

More information

Transforming SAS Data Sets Using Arrays. Introduction

Transforming SAS Data Sets Using Arrays. Introduction Transforming SAS Data Sets Using Arrays Ronald Cody, Ed.D., Robert Wood Johnson Medical School, Piscataway, NJ Introduction This paper describes how to efficiently transform SAS data sets using arrays.

More information

Subsetting Observations from Large SAS Data Sets

Subsetting Observations from Large SAS Data Sets Subsetting Observations from Large SAS Data Sets Christopher J. Bost, MDRC, New York, NY ABSTRACT This paper reviews four techniques to subset observations from large SAS data sets: MERGE, PROC SQL, user-defined

More information

Wimba Create. Version 2.5. Installation Guide

Wimba Create. Version 2.5. Installation Guide Wimba Create Version 2.5 Installation Guide Wimba Create Installation Guide 1 Before Installing Wimba Create 1 Previous Versions 1 System Requirements 1 Installing Wimba Create 2 Wimba Create Licenses

More information

SUGI 29 Hands-on Workshops

SUGI 29 Hands-on Workshops Paper 123-29 Creating and Exploiting SAS Indexes Michael A. Raithel, Westat, Rockville, MD Abstract SAS indexes can drastically improve the performance of programs that access small subsets of observations

More information

A Study to Predict No Show Probability for a Scheduled Appointment at Free Health Clinic

A Study to Predict No Show Probability for a Scheduled Appointment at Free Health Clinic A Study to Predict No Show Probability for a Scheduled Appointment at Free Health Clinic Report prepared for Brandon Slama Department of Health Management and Informatics University of Missouri, Columbia

More information

Everything you wanted to know about MERGE but were afraid to ask

Everything you wanted to know about MERGE but were afraid to ask TS- 644 Janice Bloom Everything you wanted to know about MERGE but were afraid to ask So you have read the documentation in the SAS Language Reference for MERGE and it still does not make sense? Rest assured

More information

Programming Idioms Using the SET Statement

Programming Idioms Using the SET Statement Programming Idioms Using the SET Statement Jack E. Fuller, Trilogy Consulting Corporation, Kalamazoo, MI ABSTRACT While virtually every programmer of base SAS uses the SET statement, surprisingly few programmers

More information

How to Benchmark Your Building. Instructions for Using ENERGY STAR Portfolio Manager and Southern California Gas Company s Web Services

How to Benchmark Your Building. Instructions for Using ENERGY STAR Portfolio Manager and Southern California Gas Company s Web Services How to Benchmark Your Building Instructions for Using ENERGY STAR Portfolio Manager and Southern California Gas Company s Web Services This document is a quick-start guide for entering your property into

More information

Simulate PRELOADFMT Option in PROC FREQ Ajay Gupta, PPD, Morrisville, NC

Simulate PRELOADFMT Option in PROC FREQ Ajay Gupta, PPD, Morrisville, NC ABSTRACT PharmaSUG 2015 - Paper QT33 Simulate PRELOADFMT Option in PROC FREQ Ajay Gupta, PPD, Morrisville, NC In Pharmaceuticals/CRO industries, table programing is often started when only partial data

More information

Alternatives to Merging SAS Data Sets But Be Careful

Alternatives to Merging SAS Data Sets But Be Careful lternatives to Merging SS Data Sets ut e Careful Michael J. Wieczkowski, IMS HELTH, Plymouth Meeting, P bstract The MERGE statement in the SS programming language is a very useful tool in combining or

More information

The SET Statement and Beyond: Uses and Abuses of the SET Statement. S. David Riba, JADE Tech, Inc., Clearwater, FL

The SET Statement and Beyond: Uses and Abuses of the SET Statement. S. David Riba, JADE Tech, Inc., Clearwater, FL The SET Statement and Beyond: Uses and Abuses of the SET Statement S. David Riba, JADE Tech, Inc., Clearwater, FL ABSTRACT The SET statement is one of the most frequently used statements in the SAS System.

More information

How to Create an XML Map with the XML Mapper

How to Create an XML Map with the XML Mapper How to Create an XML Map with the XML Mapper Wendi L. Wright CTB McGraw-Hill ABSTRACT You ve been given an XML file and told to read it into SAS. You open this file and think to yourself This looks like

More information

School Bullying Survey

School Bullying Survey School Bullying Survey This survey is not required for your class. If you choose not to complete this survey, your grade in the class will not be affected in any way. If this is your decision, just leave

More information

Need for Speed in Large Datasets The Trio of SAS INDICES, PROC SQL and WHERE CLAUSE is the Answer, continued

Need for Speed in Large Datasets The Trio of SAS INDICES, PROC SQL and WHERE CLAUSE is the Answer, continued PharmaSUG 2014 - Paper CC16 Need for Speed in Large Datasets The Trio of SAS INDICES, PROC SQL and WHERE CLAUSE is the Answer ABSTRACT Kunal Agnihotri, PPD LLC, Morrisville, NC Programming on/with large

More information

Paper FF-014. Tips for Moving to SAS Enterprise Guide on Unix Patricia Hettinger, Consultant, Oak Brook, IL

Paper FF-014. Tips for Moving to SAS Enterprise Guide on Unix Patricia Hettinger, Consultant, Oak Brook, IL Paper FF-014 Tips for Moving to SAS Enterprise Guide on Unix Patricia Hettinger, Consultant, Oak Brook, IL ABSTRACT Many companies are moving to SAS Enterprise Guide, often with just a Unix server. A surprising

More information

a presentation by Kirk Paul Lafler SAS Consultant, Author, and Trainer E-mail: KirkLafler@cs.com

a presentation by Kirk Paul Lafler SAS Consultant, Author, and Trainer E-mail: KirkLafler@cs.com a presentation by Kirk Paul Lafler SAS Consultant, Author, and Trainer E-mail: KirkLafler@cs.com 1 Copyright Kirk Paul Lafler, 1992-2010. All rights reserved. SAS is the registered trademark of SAS Institute

More information

PowerScheduler Load Process User Guide. PowerSchool Student Information System

PowerScheduler Load Process User Guide. PowerSchool Student Information System PowerSchool Student Information System Released November 18, 2008 Document Owner: Documentation Services This edition applies to Release 5.2 of the PowerSchool software and to all subsequent releases and

More information

A Gentle Introduction to Hash Tables. Kevin Martin, Kevin.Martin2@va.gov Dept. of Veteran Affairs July 15, 2009

A Gentle Introduction to Hash Tables. Kevin Martin, Kevin.Martin2@va.gov Dept. of Veteran Affairs July 15, 2009 A Gentle Introduction to Hash Tables Kevin Martin, Kevin.Martin2@va.gov Dept. of Veteran Affairs July 15, 2009 ABSTRACT Most SAS programmers fall into two categories. Either they ve never heard of hash

More information

CNPS Chapter Monthly Membership Report FAQ and Excel Tips. 1. The design and purpose of this report.

CNPS Chapter Monthly Membership Report FAQ and Excel Tips. 1. The design and purpose of this report. CNPS Chapter Monthly Membership Report FAQ and Excel Tips Index: 1. The design and purpose of this report. Pg 1 2. How to alphabetize the roster by last name/how to sort by any column in Excel. Pg 2 3.

More information

Cross platform Migration of SAS BI Environment: Tips and Tricks

Cross platform Migration of SAS BI Environment: Tips and Tricks ABSTRACT Cross platform Migration of SAS BI Environment: Tips and Tricks Amol Deshmukh, California ISO Corporation, Folsom, CA As a part of organization wide initiative to replace Solaris based UNIX servers

More information

Multiple Set Statements in a Data Step: A Powerful Technique for Combining and Aggregating Complex Data. Renu Gehring

Multiple Set Statements in a Data Step: A Powerful Technique for Combining and Aggregating Complex Data. Renu Gehring Multiple Set Statements in a Data Step: A Powerful Technique for Combining and Aggregating Complex Data Renu Gehring SAS Instructor Ace-Cube, LLP Beaverton, OR Health Care Analyst CareOregon, Inc. Portland,

More information

Table 1. Demog. id education B002 5 b003 8 b005 5 b007 9 b008 7 b009 8 b010 8

Table 1. Demog. id education B002 5 b003 8 b005 5 b007 9 b008 7 b009 8 b010 8 Adding PROC SQL to your SAS toolbox for merging multiple tables without common variable names Susan Wancewicz, Moores Cancer Center, UCSD, La Jolla, CA ABSTRACT The SQL procedure offers an efficient method

More information

SAS Enterprise Guide A Quick Overview of Developing, Creating, and Successfully Delivering a Simple Project

SAS Enterprise Guide A Quick Overview of Developing, Creating, and Successfully Delivering a Simple Project Paper 156-29 SAS Enterprise Guide A Quick Overview of Developing, Creating, and Successfully Delivering a Simple Project Ajaz (A.J.) Farooqi, Walt Disney Parks and Resorts, Lake Buena Vista, FL ABSTRACT

More information

Preserving Line Breaks When Exporting to Excel Nelson Lee, Genentech, South San Francisco, CA

Preserving Line Breaks When Exporting to Excel Nelson Lee, Genentech, South San Francisco, CA PharmaSUG 2014 Paper CC07 Preserving Line Breaks When Exporting to Excel Nelson Lee, Genentech, South San Francisco, CA ABSTRACT Do you have imported data with line breaks and want to export the data to

More information

Intro to Longitudinal Data: A Grad Student How-To Paper Elisa L. Priest 1,2, Ashley W. Collinsworth 1,3 1

Intro to Longitudinal Data: A Grad Student How-To Paper Elisa L. Priest 1,2, Ashley W. Collinsworth 1,3 1 Intro to Longitudinal Data: A Grad Student How-To Paper Elisa L. Priest 1,2, Ashley W. Collinsworth 1,3 1 Institute for Health Care Research and Improvement, Baylor Health Care System 2 University of North

More information

Extending the Metadata Security Audit Reporting Capabilities of the Audit and Performance Measurement Package October 2010

Extending the Metadata Security Audit Reporting Capabilities of the Audit and Performance Measurement Package October 2010 Extending the Metadata Security Audit Reporting Capabilities of the Audit and Performance Measurement Package October 2010 ENTERPRISE EXCELLENCE CENTER Table of Contents 1 Introduction... 1 2 Metadata

More information

UNIVERSAL REMOTE CONTROL GUIDE

UNIVERSAL REMOTE CONTROL GUIDE UNIVERSAL REMOTE CONTROL GUIDE Service provided by We Keep You Connected Your new AT6400 AllTouch Infrared (IR) Universal Remote Control (remote) is a true universal remote, functioning as four remotes

More information

Text Analytics Illustrated with a Simple Data Set

Text Analytics Illustrated with a Simple Data Set CSC 594 Text Mining More on SAS Enterprise Miner Text Analytics Illustrated with a Simple Data Set This demonstration illustrates some text analytic results using a simple data set that is designed to

More information

Read this syllabus very carefully. If there are any reasons why you cannot comply with what I am requiring, then talk with me about this at once.

Read this syllabus very carefully. If there are any reasons why you cannot comply with what I am requiring, then talk with me about this at once. LOGIC AND CRITICAL THINKING PHIL 2020 Maymester Term, 2010 Daily, 9:30-12:15 Peabody Hall, room 105 Text: LOGIC AND RATIONAL THOUGHT by Frank R. Harrison, III Professor: Frank R. Harrison, III Office:

More information

LOCF-Different Approaches, Same Results Using LAG Function, RETAIN Statement, and ARRAY Facility Iuliana Barbalau, ClinOps LLC. San Francisco, CA.

LOCF-Different Approaches, Same Results Using LAG Function, RETAIN Statement, and ARRAY Facility Iuliana Barbalau, ClinOps LLC. San Francisco, CA. LOCF-Different Approaches, Same Results Using LAG Function, RETAIN Statement, and ARRAY Facility Iuliana Barbalau, ClinOps LLC. San Francisco, CA. ABSTRACT LOCF stands for Last Observation Carried Forward

More information

Lost in Space? Methodology for a Guided Drill-Through Analysis Out of the Wormhole

Lost in Space? Methodology for a Guided Drill-Through Analysis Out of the Wormhole Paper BB-01 Lost in Space? Methodology for a Guided Drill-Through Analysis Out of the Wormhole ABSTRACT Stephen Overton, Overton Technologies, LLC, Raleigh, NC Business information can be consumed many

More information

Anyone Can Learn PROC TABULATE

Anyone Can Learn PROC TABULATE Paper 60-27 Anyone Can Learn PROC TABULATE Lauren Haworth, Genentech, Inc., South San Francisco, CA ABSTRACT SAS Software provides hundreds of ways you can analyze your data. You can use the DATA step

More information

Survey Analysis: Options for Missing Data

Survey Analysis: Options for Missing Data Survey Analysis: Options for Missing Data Paul Gorrell, Social & Scientific Systems, Inc., Silver Spring, MD Abstract A common situation researchers working with survey data face is the analysis of missing

More information

2: Entering Data. Open SPSS and follow along as your read this description.

2: Entering Data. Open SPSS and follow along as your read this description. 2: Entering Data Objectives Understand the logic of data files Create data files and enter data Insert cases and variables Merge data files Read data into SPSS from other sources The Logic of Data Files

More information

PT AVENUE GUIDE OVERVIEW

PT AVENUE GUIDE OVERVIEW PT AVENUE GUIDE OVERVIEW WSPTA is currently undertaking a database conversion from imis (the previous membership database) to a cloud based service called PT Avenue. The primary reason for this conversion

More information

Binary Logistic Regression

Binary Logistic Regression Binary Logistic Regression Main Effects Model Logistic regression will accept quantitative, binary or categorical predictors and will code the latter two in various ways. Here s a simple model including

More information

Aim To help students prepare for the Academic Reading component of the IELTS exam.

Aim To help students prepare for the Academic Reading component of the IELTS exam. IELTS Reading Test 1 Teacher s notes Written by Sam McCarter Aim To help students prepare for the Academic Reading component of the IELTS exam. Objectives To help students to: Practise doing an academic

More information

One problem > Multiple solutions; various ways of removing duplicates from dataset using SAS Jaya Dhillon, Louisiana State University

One problem > Multiple solutions; various ways of removing duplicates from dataset using SAS Jaya Dhillon, Louisiana State University One problem > Multiple solutions; various ways of removing duplicates from dataset using SAS Jaya Dhillon, Louisiana State University ABSTRACT In real world, analysts seldom come across data which is in

More information

Defining a Validation Process for End-user (Data Manager / Statisticians) SAS Programs

Defining a Validation Process for End-user (Data Manager / Statisticians) SAS Programs Defining a Validation Process for End-user (Data Manager / Statisticians) SAS Programs Andy Lawton, Boehringer Ingelheim UK Ltd., Berkshire, England INTRODUCTION The requirements for validating end-user

More information

PROC SQL for SQL Die-hards Jessica Bennett, Advance America, Spartanburg, SC Barbara Ross, Flexshopper LLC, Boca Raton, FL

PROC SQL for SQL Die-hards Jessica Bennett, Advance America, Spartanburg, SC Barbara Ross, Flexshopper LLC, Boca Raton, FL PharmaSUG 2015 - Paper QT06 PROC SQL for SQL Die-hards Jessica Bennett, Advance America, Spartanburg, SC Barbara Ross, Flexshopper LLC, Boca Raton, FL ABSTRACT Inspired by Christianna William s paper on

More information

KEYWORDS ARRAY statement, DO loop, temporary arrays, MERGE statement, Hash Objects, Big Data, Brute force Techniques, PROC PHREG

KEYWORDS ARRAY statement, DO loop, temporary arrays, MERGE statement, Hash Objects, Big Data, Brute force Techniques, PROC PHREG Paper BB-07-2014 Using Arrays to Quickly Perform Fuzzy Merge Look-ups: Case Studies in Efficiency Arthur L. Carpenter California Occidental Consultants, Anchorage, AK ABSTRACT Merging two data sets when

More information

GPS 72. Personal Navigator. Read This First! quick start guide

GPS 72. Personal Navigator. Read This First! quick start guide GPS 72 Personal Navigator Read This First! quick start guide Internal Antenna Quick Start Unit Overview Interface keys MOB ZOOM Battery Compartment MARK External Data/Auxilary Power Port 120 x 160 Four

More information

Internet basics 2.3 Protecting your computer

Internet basics 2.3 Protecting your computer Basics Use this document with the glossary Beginner s guide to Internet basics 2.3 Protecting your computer How can I protect my computer? This activity will show you how to protect your computer from

More information

DOH 329 Registry Physician Initiated Application

DOH 329 Registry Physician Initiated Application DOH 329 Registry Physician Initiated Application Detailed Instructions For Certifying Physicians 11/12/2015 Physician Initiated Application Instructions 1 Background On January 1, 2015, the Department

More information

Provider Web Portal Quick User Guide Version 5.0

Provider Web Portal Quick User Guide Version 5.0 Provider Web Portal Quick User Guide Version 5.0 Copyright Statement 2012 Gold Coast Health Plan. All rights reserved. Gold Coast Health Plan and logo are service marks of Gold Coast Health Plan in the

More information

Efficient Techniques and Tips in Handling Large Datasets Shilong Kuang, Kelley Blue Book Inc., Irvine, CA

Efficient Techniques and Tips in Handling Large Datasets Shilong Kuang, Kelley Blue Book Inc., Irvine, CA Efficient Techniques and Tips in Handling Large Datasets Shilong Kuang, Kelley Blue Book Inc., Irvine, CA ABSTRACT When we work on millions of records, with hundreds of variables, it is crucial how we

More information

Learn How to Revise 1

Learn How to Revise 1 Learn How to Revise 1 SCHOOL EXAM DATES 2016 END OF YEAR EXAMS FOR YEARS 7-9 BEGIN ON MONDAY 6 TH JUNE THEY WILL TAKE PLACE IN LESSONS DURING THIS WEEK AND IF NECESSARY THE WEEK AFTER. Some subjects are

More information

EPM Performance Suite Profitability Administration & Security Guide

EPM Performance Suite Profitability Administration & Security Guide BusinessObjects XI R2 11.20 EPM Performance Suite Profitability Administration & Security Guide BusinessObjects XI R2 11.20 Windows Patents Trademarks Copyright Third-party Contributors Business Objects

More information

Internet basics 2.2 Staying safe online. Beginner s guide to. Basics

Internet basics 2.2 Staying safe online. Beginner s guide to. Basics Basics Beginner s guide to Internet basics 2.2 Staying safe online Use this document with the glossary A helper should take you through this guide This activity will help you register safely online and

More information

Phases of the Moon. Preliminaries:

Phases of the Moon. Preliminaries: Phases of the Moon Sometimes when we look at the Moon in the sky we see a small crescent. At other times it appears as a full circle. Sometimes it appears in the daylight against a bright blue background.

More information

B) Mean Function: This function returns the arithmetic mean (average) and ignores the missing value. E.G: Var=MEAN (var1, var2, var3 varn);

B) Mean Function: This function returns the arithmetic mean (average) and ignores the missing value. E.G: Var=MEAN (var1, var2, var3 varn); SAS-INTERVIEW QUESTIONS 1. What SAS statements would you code to read an external raw data file to a DATA step? Ans: Infile and Input statements are used to read external raw data file to a Data Step.

More information

MWSUG 2011 - Paper S111

MWSUG 2011 - Paper S111 MWSUG 2011 - Paper S111 Dealing with Duplicates in Your Data Joshua M. Horstman, First Phase Consulting, Inc., Indianapolis IN Roger D. Muller, First Phase Consulting, Inc., Carmel IN Abstract As SAS programmers,

More information

Managing Student Records Online at the Building Level

Managing Student Records Online at the Building Level ReadyResults.net 2014 Managing Student Records Online at the Building Level For help, send email to: help@readyresults.net or call: 877-456-1547 Table of Contents Introduction... 1 Adding a Teacher...

More information

First Data Personal Financial Manager (PFM) FAQ s

First Data Personal Financial Manager (PFM) FAQ s First Data Personal Financial Manager (PFM) FAQ s Q: Can PFM be presented in a language other than English? A: Currently the PFM product is English language supported only. There are no current plans to

More information

Credit Union Employee Security - Understanding CU*BASE

Credit Union Employee Security - Understanding CU*BASE Auditing Employee Access to CU*BASE Tools Understanding CU*BASE Employee Activity Tracking Features & Data Center Employee Security INTRODUCTION This booklet describes special features your credit union

More information

Understanding Wheel Offset and Backspacing

Understanding Wheel Offset and Backspacing Understanding Offset and Backspacing Proper service and repair procedures are vital to the safe, reliable operation of all motor vehicles as well as the personal safety of those performing the repairs.

More information

SAS and Clinical IVRS: Beyond Schedule Creation Gayle Flynn, Cenduit, Durham, NC

SAS and Clinical IVRS: Beyond Schedule Creation Gayle Flynn, Cenduit, Durham, NC Paper SD-001 SAS and Clinical IVRS: Beyond Schedule Creation Gayle Flynn, Cenduit, Durham, NC ABSTRACT SAS is the preferred method for generating randomization and kit schedules used in clinical trials.

More information

KEY FEATURES OF SOURCE CONTROL UTILITIES

KEY FEATURES OF SOURCE CONTROL UTILITIES Source Code Revision Control Systems and Auto-Documenting Headers for SAS Programs on a UNIX or PC Multiuser Environment Terek Peterson, Alliance Consulting Group, Philadelphia, PA Max Cherny, Alliance

More information

@ptitude Observer Database Adminstrator. User Manual. Part No. 32170600 Revision E Observer 9.1

@ptitude Observer Database Adminstrator. User Manual. Part No. 32170600 Revision E Observer 9.1 @ptitude Observer Database Adminstrator Part No. 32170600 Revision E Observer 9.1 User Manual Copyright 2014 by SKF Reliability Systems All rights reserved. Aurorum 30, 977 75 Luleå Sweden Telephone: +46

More information

OA4-13 Rounding on a Number Line Pages 80 81

OA4-13 Rounding on a Number Line Pages 80 81 OA4-13 Rounding on a Number Line Pages 80 81 STANDARDS 3.NBT.A.1, 4.NBT.A.3 Goals Students will round to the closest ten, except when the number is exactly halfway between a multiple of ten. PRIOR KNOWLEDGE

More information

DATA CLEANING: LONGITUDINAL STUDY CROSS-VISIT CHECKS

DATA CLEANING: LONGITUDINAL STUDY CROSS-VISIT CHECKS Paper 1314-2014 ABSTRACT DATA CLEANING: LONGITUDINAL STUDY CROSS-VISIT CHECKS Lauren Parlett,PhD Johns Hopkins University Bloomberg School of Public Health, Baltimore, MD Cross-visit checks are a vital

More information

Taming the PROC TRANSPOSE

Taming the PROC TRANSPOSE Taming the PROC TRANSPOSE Matt Taylor, Carolina Analytical Consulting, LLC ABSTRACT The PROC TRANSPOSE is often misunderstood and seldom used. SAS users are unsure of the results it will give and curious

More information

My Classroom Management Philosophy

My Classroom Management Philosophy My Classroom Management Philosophy I believe one of the hardest things for new teachers to build is their classroom management plan. I have seen many different types of classroom management plans throughout

More information

MATH Student Book. 5th Grade Unit 7

MATH Student Book. 5th Grade Unit 7 MATH Student Book th Grade Unit Unit FRACTION OPERATIONS MATH 0 FRACTION OPERATIONS Introduction. Like Denominators... Adding and Subtracting Fractions Adding and Subtracting Mixed Numbers 0 Estimating

More information

A Many to Many Merge, Without SQL? Paper TU05

A Many to Many Merge, Without SQL? Paper TU05 A Many to Many Merge, Without SQL? Paper TU05 David Franklin Independent SAS Consultant TheProgrammersCabin.com While you are waiting, some trivia. The first U.S. Transcontinental Flight took 84 days,

More information

More Tales from the Help Desk: Solutions for Simple SAS Mistakes Bruce Gilsen, Federal Reserve Board

More Tales from the Help Desk: Solutions for Simple SAS Mistakes Bruce Gilsen, Federal Reserve Board More Tales from the Help Desk: Solutions for Simple SAS Mistakes Bruce Gilsen, Federal Reserve Board INTRODUCTION In 20 years as a SAS consultant at the Federal Reserve Board, I have seen SAS users make

More information

The Best-Kept Secret of Forex

The Best-Kept Secret of Forex The Best-Kept Secret of Forex Many traders go through trading system after trading system, only to find that most of them don t work. The truth of the matter is that there are many effective trading systems

More information

Effective Use of SQL in SAS Programming

Effective Use of SQL in SAS Programming INTRODUCTION Effective Use of SQL in SAS Programming Yi Zhao Merck & Co. Inc., Upper Gwynedd, Pennsylvania Structured Query Language (SQL) is a data manipulation tool of which many SAS programmers are

More information

Labels, Labels, and More Labels Stephanie R. Thompson, Rochester Institute of Technology, Rochester, NY

Labels, Labels, and More Labels Stephanie R. Thompson, Rochester Institute of Technology, Rochester, NY Paper FF-007 Labels, Labels, and More Labels Stephanie R. Thompson, Rochester Institute of Technology, Rochester, NY ABSTRACT SAS datasets include labels as optional variable attributes in the descriptor

More information

MAKING FRIENDS WITH MATH

MAKING FRIENDS WITH MATH MAKING FRIENDS WITH MATH Workshop sponsored by: The Dr. Mack Gipson, Jr., Tutorial and Enrichment Center Presented by: Carole Overton, Director The Dr. Mack Gipson, Jr., Tutorial and Enrichment Center

More information

Script/Notes for PowerPoint Presentation. Medication Use Safety Training for Seniors (MUST for Seniors)

Script/Notes for PowerPoint Presentation. Medication Use Safety Training for Seniors (MUST for Seniors) Script/Notes for PowerPoint Presentation Medication Use Safety Training for Seniors (MUST for Seniors) Instructions: You can use the following script to help you prepare your remarks to your organization

More information

for the Bill Hanlon bill@hanlonmath.com

for the Bill Hanlon bill@hanlonmath.com Strategies for Learning the Math Facts Bill Hanlon bill@hanlonmath.com The more sophisticated mental operations in mathematics of analysis, synthesis, and evaluation are impossible without rapid and accurate

More information

Microsoft Migrating to Word 2010 from Word 2003

Microsoft Migrating to Word 2010 from Word 2003 In This Guide Microsoft Word 2010 looks very different, so we created this guide to help you minimize the learning curve. Read on to learn key parts of the new interface, discover free Word 2010 training,

More information

Guido s Guide to PROC FREQ A Tutorial for Beginners Using the SAS System Joseph J. Guido, University of Rochester Medical Center, Rochester, NY

Guido s Guide to PROC FREQ A Tutorial for Beginners Using the SAS System Joseph J. Guido, University of Rochester Medical Center, Rochester, NY Guido s Guide to PROC FREQ A Tutorial for Beginners Using the SAS System Joseph J. Guido, University of Rochester Medical Center, Rochester, NY ABSTRACT PROC FREQ is an essential procedure within BASE

More information

The Power of PROC DATASETS Lisa M. Davis, Blue Cross Blue Shield of Florida, Jacksonville, Florida

The Power of PROC DATASETS Lisa M. Davis, Blue Cross Blue Shield of Florida, Jacksonville, Florida Paper #TU20 The Power of PROC DATASETS Lisa M. Davis, Blue Cross Blue Shield of Florida, Jacksonville, Florida ABSTRACT The DATASETS procedure can be used to do many functions that are normally done within

More information

Mathematics Higher Level

Mathematics Higher Level Mathematics Higher Level for the IB Diploma Exam Preparation Guide Paul Fannon, Vesna Kadelburg, Ben Woolley, Stephen Ward INTRODUCTION ABOUT THIS BOOK If you are using this book, you re probably getting

More information

NTFS permissions represent a core part of Windows s security system. Using

NTFS permissions represent a core part of Windows s security system. Using bonus appendix NTFS Permissions NTFS permissions represent a core part of Windows s security system. Using this feature, you can specify exactly which coworkers are allowed to open which files and folders

More information

Creating Word Tables using PROC REPORT and ODS RTF

Creating Word Tables using PROC REPORT and ODS RTF Paper TT02 Creating Word Tables using PROC REPORT and ODS RTF Carey G. Smoak,, Pleasanton, CA ABSTRACT With the introduction of the ODS RTF destination, programmers now have the ability to create Word

More information

Preparing and Revising for your GCSE Exams

Preparing and Revising for your GCSE Exams Preparing and Revising for your GCSE Exams Preparing and Revising for GCSEs Page 2 Contents Introduction 3 Effective Learning and Revision 4 What you need to Revise 5 Revision Notes and Practice 6 Getting

More information

English Language Arts Test Book 2

English Language Arts Test Book 2 English Language Arts Test Book 2 Grade 3 April 26 28, 2010 Name 21610 Tips for taking the test Here are some suggestions to help you do your best: Be sure to read carefully all the directions in the test

More information

A PUBLIC AGENDA CITIZEN CHOICEWORK GUIDE FOR COMMUNITY CONVERSATIONS, CLASSROOMS, STUDY GROUPS AND INDIVIDUALS. Public Agenda

A PUBLIC AGENDA CITIZEN CHOICEWORK GUIDE FOR COMMUNITY CONVERSATIONS, CLASSROOMS, STUDY GROUPS AND INDIVIDUALS. Public Agenda PUBLIC AGENDA Independent, Thought-Provoking, Always in the Public Interest Teaching Methods A PUBLIC AGENDA CITIZEN CHOICEWORK GUIDE FOR COMMUNITY CONVERSATIONS, CLASSROOMS, STUDY GROUPS AND INDIVIDUALS

More information

Steps in Implementing Self-Monitoring

Steps in Implementing Self-Monitoring 14 Mason, Reid, & Hagaman not they are paying attention. This is typically done by cuing students to self-assess through the use of an auditory cue (e.g., taped tones presented at random intervals). After

More information

What s New in Accounts Receivable!

What s New in Accounts Receivable! What s New in Accounts Receivable! By Mike Ausderan Welcome to What s New in Accounts Receivable; Once again my name is Mike Ausderan, I m a trainer at Britannia. During this webinar we will be covering

More information

User guide for the Error & Warning LabVIEW toolset

User guide for the Error & Warning LabVIEW toolset User guide for the Error & Warning LabVIEW toolset Rev. 2014 December 2 nd 2014 1 INTRODUCTION... 1 2 THE LABVIEW ERROR CLUSTER... 2 2.1 The error description... 3 2.2 Custom error descriptions... 4 3

More information

DISTANCE LEARNING CENTRE FEES & CHARGES

DISTANCE LEARNING CENTRE FEES & CHARGES DISTANCE LEARNING CENTRE FEES & CHARGES IMPORTANT INFORMATION ABOUT FEES AND PAYMENTS Unlike traditional Colleges, the Distance Learning Centre receives no government funding. We are entirely reliant on

More information