Return to Homepage

See the Current Tip of the Month

Other interesting pages ...
LinkedIn Profile
SAS Cheat Sheet
Useful SAS Code
Full SAS Example
Basic Statistics
Contact Information

SAS Tip of the Month
Archive

2014
May - DKROCOND option, an a tale of intregue
April - Adding one observation to a dataset with multile records
March - Creating sets of listings by an ID value
February - Avoiding writing multiple WHERE statements on difference datasets
January - A quick compare of two directories of data

2013
December - Using PROC FREQ to get what you need
November - Pickup up a missing BY statement when merging data
October - Export data to Excel creating a sheet for each BY value
September - Using PROC EXPORT to export data to an Excel file
August - Using PROC IMPORT to import data from an Excel file
July - Using SAS/WPS with R
June - Adding an observation with no values for all variables on to a dataset with no observations
May - Adding an observation number to each observation in a SAS dataset
April - Creating a DOS Batch File for running a set of SAS programs
March - Comment out code using a dummy macro
February - Array calculations
January - An old way to update a dataset, using the MERGE statement

2012
December - Finding the mean, minimum and maximum values for a quartile
November - Including external SAS files in your program
October - Getting a list of formats from a FORMATS library, without detail
September - Suspending LOG output to the LOG
August - Removing dummy records from a directory of datasets
July - Counting the number of COMPLETE months between two dates
June - Creating a list of datasets into a macro variable, and why this may be useful
May - Using variable ranges instead of a list of individual variables
April - Accessing a dataset without a LIBNAME reference
March - LOG and OUTPUT text to one file
February - Breaking apart a dataset using variable values, Part 2
January - Breaking apart a dataset using variable values, Part 1

2011
December - How to track and avoid values being overwritten when merging datasets
November - Capturing Results from a SAS Statistical Procedure, Using PROC PRINTTO and a Data Step
October - Capturing Results from a SAS Statistical Procedure, Using ODS
September - Getting what SAS code is run in CONFIG and AUTOEXEC to the LOG
August - How many values are in a macro variable?
July - Sending an Email from SAS
June - If no observations to report, output a message saying "no observations" to the report
May - Another detour to VBA --a macro to convert all RTF files in a directory to ASCII Text files
April - SOURCE2 -- printing out source code from a %INCLUDE file
March - Creating a footer with a horizonal line above using GETOPTION
February - A detour into VBA -- printing the first 2 pages of an output for all RTF files in a directory
January - A very useful macro, PROC CONTENTS followed by a listing of the first 25 observations

2010
December - And finally, PROC PRINT with SUM, BYLINE and HTML!
November - PROC PRINT, ID and BY statements
October - Using NOOBS and LABEL in PROC PRINT
September - A Quick Look at WPS version 2.5 -- a real alternative to SAS?
August - Using ACCESS=READONLY to avoid writing over datasets in a directory
July - Breaking a large dataset into parts
June - Generating a list of integers from 1 to 10 inclusive
May - Making a datastep act like a PROC APPEND
April - Get the Option settings and use in your program
March - DROPing and KEEPing variables using the DATASETS procedure
February - Does the NODUPKEY option is PROC SORT always select the first record in a group of records?
January - How can an external file be deleted using SAS

2009
December - A Many to Many Merge using a Data Step
November - Looping the loop with DO loops
October - The Use and Abuse of the NODUPKEY option in the SORT Procedure
September - Comparing all datasets in one directory against all the datasets in a second dataset, using CALL EXECUTE
August - Selecting data for a particular month
July - I am missing a '0' in front of my day value, can SAS still read it okay? (or can SAS read a text date of '6JUN2009' correctly)
June - Prefixing a value with '+' or '-'
May - Why use dataset variable labels?
April - More on using a FORMAT to merge data
March - Delete all datasets in a library, except ...
February - Getting rid of the message "NOTE: BASE data set does not exist. DATA file is being copied to BASE file."
January - SUM(OF variables)

2008
December - Making a copy of a SAS dataset, Part 2
November - How would I set only character or numeric variables of an observation to missing?
October - Making a copy of a SAS dataset, Part 1
September - Character to Numeric Conversion
August - Numeric to Character Conversion
July - How would I set all variables of an observation to missing?
June - Making a SAS Transport File
May - Creating a Batch File
April - Transposing the data and label
March - Get a listing of all the SAS programs for a particular directory
February - Enclosing a negative value within brackets
January - Stripping (text)

2007
December - The CALL MISSING Routine
November - The MISSING function
October - Renaming a SAS dataset variable
September - Since when does a null string have a length of 1?
August - I just received a dataset with the dates in dd/mm/yy format but I want them in mm/dd/yy format for my report
July - The COLLATE function
June - PROC MEANS vs PROC SUMMARY
May - What SAS modules are on your system, and how to work around those that are missing
April - Removing labels and formats from all variables inside a dataset
March - Deleting old datasets using a date
February - The trig functions
January - FLOOR, CEIL, ROUND and INT

2006
December - Creating a graph using ODS RTF
November - Using the DHMS function to create a datetime value
October - Using CARDS or DATALINES to input data
September - FORMCHAR
August - Does the string contain a number?
July - LOWCASE/UPCASE/PROPCASE
June - Why use DATA _NULL_
May - Does x+y = SUM(x,y), revisited
April - Six ways to make your program run faster
March - SQL and the CALCULATED keyword
February - TRIM and TRIMN
January - Four Common Ways to Merge Two Datasets

2005
December - The CANCEL option in the RUN command
November - The DIM function for repeating the same action of different variables
October - The COMPARE function
September - Getting the last word in a string using SAS or Excel
August - Using SASHELP.VMACRO to view your macro variables, and %SYMDEL to delete them
July - Deleting a SAS dataset, revisited
June - Using PROC CHART to do a quick frequency analysis
May - The Variance results from SAS and Excel are different!
April - Finding a duplicate key record, Part II
March - The 2005 Conference Season begins
February - Sometimes, overwriting a dataset does not replace it
January - How does SAS store your date and/or time?

2004
December - Does x+y = SUM(x,y)?
November - An example of some unexpected results
October - Does a macro variable exist in your program?
September - Adding a value to an existing format
August - Common Mathematical Operators
July - Getting the background color from an Excel Worksheet cell
June - BYTE/RANK (this is not eating a hamburger)
May - The 2004 Conference Season begins
April - Getting a Cell Comment inside an Excel Worksheet
March - Finding a duplicate key record
February - FIRSTOBS=, OBS=
January - A BAT to create a Backup of your file

2003
December - SAS and Excel do not compute the same quartile value
November - Using a format to group basic statistical analysis
October - Coding a missing value
September - Sometimes your System Command Call within SAS does not work
August - COMPRESS or COMPBL, that is the question
July - Placing Unique values from a dataset into a macro variable
June - Share your datasets with others, consider the SASViewer
May - INDEX, INDEXW and INDEXC
April - Deleting a SAS dataset
March - Helping a SORT run faster
February - To avoid confusion, define the variables you create in a datastep
January - Introduction/Have a notebook handy


Updated December 10, 2013