SAS Jedi
Principal Technical Training Consultant

Mark Jordan (a.k.a. SAS Jedi) grew up in northeast Brazil as the son of Baptist missionaries. After 20 years as a US Navy submariner pursuing his passion for programming as a hobby, in 1994 he retired, turned his hobby into a dream job, and has been a SAS programmer ever since. Mark writes and teaches a broad spectrum of SAS programming classes, and his book, "Mastering the SAS® DS2 Procedure: Advanced Data Wrangling Techniques" is in its second edition. When he isn’t writing, teaching, or posting “Jedi SAS Tricks”, Mark enjoys playing with his grand and great-grandchildren, hanging out at the beach, and reading science fiction novels. His secret obsession is flying toys – kites, rockets, drones – and though he usually tries to convince Lori that they are for the grandkids, she isn't buying it. Mark lives in historic Williamsburg, VA with his wife, Lori, and Stella, their cat. To connect with Mark, check out his SAS Press Author page, follow him on Twitter @SASJedi or connect on Facebook or LinkedIn.

Learn SAS
SAS Jedi 11
Jedi SAS Tricks: Some Experience Required

As a Master Chief in US Navy submarines, one of my favorite sayings was “Good judgment comes from experience, and experience comes from poor judgment.”  I've always had difficulty solidly learning new programming techniques in a traditional classroom.  The new techniques and theories I've learned don’t really take root until I've used them to solve

SAS Jedi 0
Jedi SAS Tricks: These aren't the droids... Episode 2

We started out in Episode 1 cleaning and standardizing data from the Academy.  As you recall, Mr. Vader apparently had a attitude when making his entry in the database.  The original data looked like this: You can find the code for creating the original data set back in Episode 1. There,

SAS Jedi 2
Jedi SAS Tricks: Free SAS Training (if you're quick)

*** UPDATE 10/11/11: All available seats for the test teach are full, enrollment is closed. The response was awesome - thank you! *** You may be wondering why I've been so quiet lately.  The answer is - I've been busy building SAS' first instructor based asynchronous training class!  Our new "SAS® SQL2:

SAS Jedi 0
Jedi SAS Tricks: Macro Q functions

James Bond: “Give me the old fashioned target range, Quartermaster. “ Q: “Yes, well, it's called the future, so get used to it.” In James Bond movies, it's Q's job to disguise wickedly effective technology as seemingly innocuous everyday objects. The power of those seemingly everyday objects, revealed at just

SAS Jedi 4
Jedi SAS Tricks: Email from the Front – Part 2

In my last blog post, I discussed how to use SAS options to send unattended email using an SMTP server. In this segment, I’ll tackle creating “pretty” email (using HTML) and sending out emails with attachments. First, I produced a basic report using ODS. I liked the look, and set

SAS Jedi 6
Jedi SAS Tricks: Email from the Front - Part 1

I’m responsible for a SAS program that runs nightly in batch on a Linux server here at SAS. I am also a road warrior, and routine status checking via a remote connection is often tricky, and sometimes impossible due to unstable hotel internet connections. So I thought “Why can’t SAS just