Leonid Batkhan introduces multipurpose TRIMS function that removes any leading, trailing or both leading and trailing characters from SAS strings.
Leonid Batkhan introduces multipurpose TRIMS function that removes any leading, trailing or both leading and trailing characters from SAS strings.
SAS' Leonid Batkhan shows how to cut away ANY unwanted trailing characters (not just blanks) from SAS text strings to clean up your data.
SAS' Leonid Batkhan shows you how to remove ANY leading characters (not just blanks) from text strings to tidy up your data.
SAS' Leonid Batkhan reveals how to use versatile iterative DO loops with index variable pertaining to SAS DATA steps.
SAS' Leonid Batkhan presents an implementation of parallel processing by spawning multiple SAS sessions using SYSTASK statements with subsequent synchronization.
SAS' Leonid Batkhan explores shell scripting as an alternative way to implement parallel processing.
If I were to say that we live in uncertain times, that would probably be an understatement. Therefore, I won’t say that. Oops, I already did. Or did I? For centuries, people around the world have been busy scratching their heads in search of a meaningful answer to Shakespeare’s profoundly
SAS' Leonid Batkhan reveals a fuss-free way to halt SAS program execution and terminate SAS session in batch-processing scenarios.
SAS' Leonid Batkhan reveals coding techniques that give you control of when and whether global statements are executed.
SAS' Leonid Batkhan shows you how to delete a substring from a character string - one of the common character data manipulation tasks.
SAS' Leonid Batkhan demonstrates a common character data manipulation task of inserting a substring into a character string.
SAS' Leonid Batkhan encourages you to join him at SASensei, an independent, third-party online SAS learning resource (game).
SAS' Leonid Batkhan demonstrates a popular "divide-and-conquer" efficiency strategy using SAS/Connect®.
SAS' Leonid Batkhan explains the data cleansing task of removing unwanted repeated characters in SAS character variables.
SAS' Leonid Batkhan summarizes a lesser known but useful feature in SAS that allows you to bring Microsoft Excel functions into your SAS programs.
SAS' Leonid Batkhan reviews SAS functionality related to the character strings quoting/unquoting, then dives deep into unquoting SAS character variables.
SAS' Leonid Batkhan reveals how to change lengths for all character variables in a data set and all data sets in a data library to facilitate data migration to Unicode encoding environment.
SAS' Leonid Batkhan shows you how to split a large data set into many by a subsetting by a number of observations to produce smaller, better manageable data sets.
SAS' Leonid Batkhan describes programming technique for creating multi-purpose SAS® Macro functions.
SAS' Leonid Batkhan differentiates between SAS macro and programming languages, defines two types of SAS macros and much more.
SAS' Leonid Batkhan shows you how to automate creation of SAS variable labels so tables and reports are easier to read.
This blog post demonstrates process and SAS coding techniques to shift dates by a given number of workdays accounting for weekends and holidays.
SAS' Leonid Batkhan shows you how to compare SAS data sets that include common and uncommon columns. You'll learn how to check mark commonalities and color-code differences in data tables side-by-side columns and add a comments field to see greater detail.
Leonid Batkhan shows you easy ways to create a checklist table in SAS software.
Just when you think you’ve seen it all, life can surprise you in a big way, making you wonder what else you've missed. That is what happened when I recently had a chance to work with the SAS® Scalable Performance Data Server, a product that's been around a while, but
Have you ever thought of selling sand on the beach? Neither have I. To most people the mere idea is preposterous. But isn’t it how all great discoveries, inventions and breakthroughs are made? Someone comes up with an outwardly crazy, outlandish idea, and despite all the skepticism, criticism, ostracism, ridicule
Have you ever tried to pass comma-delimited values to SAS macro or to a SAS macro function? How can SAS distinguish commas separating parameters or arguments from commas separating parts of the values? Passing comma-delimited value as an argument to a SAS macro function Let’s say you want to extract
"There's a way to do it better - find it." - Thomas A. Edison When it comes to SAS coding, this quote by Thomas A. Edison is my best advisor. Time permitting, I love finding better ways of implementing SAS code. But what code feature means “better” – brevity, clarity
To those of you who have not read my previous post, Dividing by zero with SAS, it's not too late to go back and make it up. You missed a lot of fun, deep thought and opportunity to solve an unusual SAS coding challenge. For those who have already read
Whether you are a strong believer in the power of dividing by zero, agnostic, undecided, a supporter, denier or anything in between and beyond, this blog post will bring all to a common denominator. History of injustice For how many years have you been told that you cannot divide by