Here at SAS, we understand the importance of having access to cutting-edge professional resources. That’s why, for more than 40 years, we’ve provided individuals in programming, data management and analytics fields with low-cost and no-cost materials that promote success in their educational and professional journeys. And today, as the demand
Tag: programming
The Day of the Programmer is not enough time to celebrate our favorite code-creators. That’s why at SAS, we celebrate an entire week with SAS Programmer Week! If you want to extend the fun and learning of SAS Programmer Week year-round, SAS Press is here to support you with books
Whether you enjoy debugging or hate it, for programmers, debugging is a fact of life. It’s easy to misspell a keyword, scramble your array subscripts, or (heaven forbid!) forget a semicolon. That’s why we include a chapter on debugging in The Little SAS® Book and its companion book, Exercises and
With increasing interest in Continuous Integration/Continuous Delivery (CI/CD), many SAS Users want to know what can be done for Visual Analytics reports. In this article, I will explain how to use Python and SAS Viya REST APIs to extract a report from a SAS Viya environment and import it into another environment.
SAS is launching the SAS Student Series, which bundles thousands of dollars’ worth of training and certification materials into an affordable package for university students and recent graduates.
I often get asked for programming tips. Here, I share three of my favorite tips for beginners. Tip #1: COUNTC and CATS Functions Together The CATS function concatenates all of its arguments after it strips leading and trailing blanks. The COUNTC function counts characters. Together, they can let you operate
SAS Programming Professionals, SAS & bugs & rock & roll? But, of course! SAS Because of its amazing versatility, SAS is indisputably the greatest software package currently in use anywhere within the Milky Way Galaxy. Can SAS input every type of flat file imaginable? Yes! Can SAS read and write
Are you ready to expand your programming skills and become a more versatile programmer? Then this new (and free!) course might be for you. SAS Programming for R Users is a free course aimed at helping R programmers who want to learn SAS. The goal is for you to be comfortable accomplishing
A reader posed a question in the comments to an earlier Jedi SAS Trick, asking how to write the results of a DS2 DATA _NULL_ program to a text file. It's an interesting question, as DS2 currently has no text file handling statements or capabilities. Take, for example, this traditional
A recent post, Jedi SAS Tricks: The DATA to DATA Step Macro, engendered a lot of response on Twitter. One of the re-tweets included a call to action - make this a button in Base SAS!
I was answering questions about SAS in a forum the other day, and it struck me how much easier it is to help folks if they can provide a snippet of data to go along with their program when asking others to help troubleshoot. This makes it easy to run
Last Christmas I decided to knit a scarf while at a concert in the Bahamas. A little boy and his sister sitting in front of me watched me very intently. Their eyes grew bigger and bigger as the scarf grew longer and longer. Finally the little boy couldn’t take it
I think everyone can agree that being able to debug programs is an important skill for SAS programmers. That’s why Susan Slaughter and I devoted a whole chapter to it in The Little SAS® Book. I don’t know about you, but I think figuring out what’s wrong with my program
The 2015 United States Tennis Open tournament is now underway, and like most tennis fans, I’ve got my eyes on women’s tennis great Serena Williams, as she attempts to make history by winning the tournament and achieving a calendar Grand Slam. What are her chances of reaching the milestone? Most
I'm gearing up to teach the next "DS2 Programming Essentials with Hadoop" class, and thinking about Warp Speed DATA Steps with DS2 where I first demonstrated parallel processing using threads in base SAS. But how about DATA step processing at maximum warp? For that, we'll need a massively parallel processing
In just one weekend Shang-Hua Wu went from a SAS user to a super SAS user by getting not just one, but two SAS certifications – SAS Certified Base Programmer and SAS Certified Advanced Programmer. Wu wanted to earn his certifications to position himself for new career opportunities in the
Have you ever waited a bit for SAS Enterprise Guide to display the Output Data tab when submitting a SAS program that generates multiple output tables? Or, perhaps your program only generates one big output table but it takes a little while for it to surface on the Output Data
“Phew! That tip alone was a life saver,” said a student in one of my SAS SQL classes. “Before, I would have to read about ten Google search results before I could find that content of the sort you shared in class.” That student was referring to the tip I
New York City Mayor, Michael Bloomberg made a new-year's resolution to learn code. Apple’s Steve Jobs said, “I think everybody in this country should learn how to program a computer because it teaches you how to think.” President Barrack Obama said, "Don't just buy a new video game, make one.
I remember the first time I was faced with the challenge of parallelizing a DATA step process. It was 2001 and SAS V8.1 was shiny and new. We were processing very large data sets, and the computations performed on each record were quite complex. The processing was crawling along on
With any software program, there are always new tips and tricks to learn, and nobody can know them all. Sometimes I even pick up tips or techniques from my students while they’re learning broader programming tips from me. Like fine wine, instructors only get better with age. Every customer interaction
A student in a SAS class recently asked if there were a way to eliminate data error notes from the SAS log and, instead, write them to a separate file. Of course there's a way! Here's a simple datastep. Notice the missing dollar sign to indicate the variable GENDER (M,
This SAS tutorial video will show you how to generate plots for two continuous numeric variables with Base SAS. Basic scatter plots, linear or curvilinear regression lines, confidence intervals or ellipses, and multiple plot overlays are demonstrated. To learn more about this topic, check out our SAS Programming 1: Essentials
In this tutorial video, you will learn to print a simple listing with Base SAS. You see how to write a PRINT procedure step to display a SAS data set. You also see how to use statements and options to subset observations and variables and enhance the report. Learn
This SAS tutorial video will show you how to create a new variable with Base SAS. During the step-by-step video, you will see exactly how to create and modify numeric and character variables using assignment statements in a DATA step. Watch and learn… To learn more about the steps in
Over the holidays I was having a discussion with my cat, Ms. Trixie Lou. A question that often arises during the first programming class is the following: how do I find the variables that are in common to these two or three data sets? As it turns out, Ms. Trixie
Dear Miss SAS Answers, I have read through a few Dear Miss SAS Answers blog posts, but I cannot seem to find what I am looking for. I need to extract only the second duplicate from a whole list of duplicates per account number. Is there a way to
A SAS user (who lives in the the US) emailed me a question about SAS functions. He was reading UTC (Coordinated Universal Time) datetime values from server logs, and to make future calculations and comparisons easier, he wanted to transform the value to local datetime. The INTNX() function worked great, but
In the Star Wars movie, Obi-wan could just wave his hand, mutter a few words, and the stormtroopers would "move along". How the power of the Force makes ridding yourself of problematic characters so much easier! I recently was invited to become an alternate instructor for Ron Cody’s SAS Business
Dear Miss SAS Answers, In PROC REPORT can I use one calculated (computed) variable in the calculation of another computed variable? In the example below, I’m trying to use the value of the Bonus column to calculate the Total column: compute Bonus; Bonus =sal.sum*0.05; endcomp; compute Total; total=sum(sal.sum, Bonus.sum); endcomp;