Mastering the SAS® DS2 Procedure: Advanced Data Wrangling Techniques

Do you work with big data, perhaps in a DBMS? If so, you should know that Mark Jordan (AKA the SAS Jedi) has just completed a book on PROC DS2 called Mastering the SAS® DS2 Procedure: Advanced Data Wrangling Techniques.

The traditional SAS DATA step does not support multi-threading — using several CPUs at the same time — to process data. PROC DS2 does. Another huge advantage of using DS2 instead of a traditional DATA step is that when you use DS2, it is not necessary to translate data (using a LIBNAME engine for example) from a DBMS into a SAS data set. This means that DS2 can read almost all ANSI SQL data types in their native format in full precision. I was also impressed with the fact that a SET statement in DS2 can actually be an SQL query. This is a very powerful feature that could greatly streamline your SAS code.

What I really like about this book is that many of the programs are presented first using a DATA step and then rewritten using PROC DS2. For "old time" programmers like myself, this is a great way to understand how DS2 works. You can also download all of the book examples and run them yourself.

Mastering the SAS® DS2 Procedure: Advanced Data Wrangling Techniques assumes that the reader has a basic knowledge of SAS programming, including some intermediate concepts such as arrays and SQL joins. The bottom line is that if you plan to use PROC DS2, this book will be invaluable. Not only that, but Mark is one of the best SAS instructors I know and now, with this well-written book, you can "be in the classroom" with a master teacher."

Ron Cody, EdD
Retired professor and SAS author


Mastering the SAS® DS2 Procedure: Advanced Data Wrangling Techniques is so well written that users can easily convert a DATA step to the DS2 procedure. It covers comprehensive DS2 topics with many sections and numerous examples. The structure builds chapter by chapter and program step by step using Mark's data, which you can download online. The layout is easily searchable and helpful. This is a great book for your first experience with the DS2 procedure.

I enjoyed this book and highly recommend it to other SAS users. It's better than other books I've used to learn DS2 procedures. More importantly, this is a tool book that you should keep in close range for reference. If you are taking advantage of SAS 9.4 or want to put SQL in a DATA step, get this book, and get it now!"

Shang-Hua Wu

Although aimed at the advanced SAS programmer, Mastering the SAS® DS2 Procedure: Advanced Data Wrangling Techniques makes the SAS DS2 programming language both accessible and informative to SAS programmers of all abilities.

Written in a conversation style, this text is easy to read and makes you want to learn more about the DS2 language. Side-by-side code examples are provided for both traditional DATA step and DS2 programs making it easy to take your existing SAS skills and apply that knowledge to DS2.

The book has been written to be read chapter-by-chapter in order to build up your knowledge of DS2; however, once the first two introductory chapters have been read, it becomes easy to skip to the chapters and learn the relevant DS2 technique that you require.

All aspects of the DS2 language are covered in this book and Mark has made learning this exciting and new SAS language available in a fun and digestible manner."

David Moors
Whitehound Limited

Mark Jordan's book Mastering the SAS® DS2 Procedure: Advanced Data Wrangling Techniques has done the impossible and made me appreciate what I can do with DS2. I came to SAS as a long-time SQL programmer, and so have used SQL for everything from data manipulation to data cleaning, querying to merging and splitting my data. I've tried using the DATA step, but must admit that I always found it to be counter-intuitive, and was always able to do what I needed with SQL.

Jordan, however, has shown some truly astounding things that can be done with DS2, and my personal favourite (and which I've already started using at work!) is the user-defined functions. I have been truly astounded with the power and flexibility from combining DS2 with the UDFs.

The other feature of the DS2 that I'm very excited about is the HTTP API, allowing me to incorporate data retrieval and uploading to the Internet quickly, efficiently, and with a minimal amount of effort. Jordan's ability to explain complex concepts like the HTTP process is one I am extremely envious of as he makes it look so easy—but as a reader, that is a very good thing.

A very slim book, this packs a serious punch and I'm thrilled to be able to highly recommend it to the SAS Community."

Christopher Battiston
Wait Times Coordinator
Women's College Hospital

Just what is this DS2 procedure, how does it work, and why would I use it? Those were some of the questions in my mind as I picked up Mastering the SAS® DS2 Procedure: Advanced Data Wrangling Techniques. Thankfully, I didn't have to wait long to find answers to those questions.

From page 1, Mr. Jordan jumps into a great introduction and comparison of the DS2 data process with traditional SAS DATA step processing. From there, the reader is taken on a deeper review of the DS2 features, including useful code examples and comparisons to other SAS statements to bridge learning. The "Six Subtle Dissimilarities" discussion in Chapter 3 highlights where the DATA step and DS2 are close, but not quite the same, and is especially helpful in avoiding potential frustrations when getting started.

Mr. Jordan's in-depth background in SAS programming combined with his experience teaching and leading SAS programmers is evident in his writing style. This book provides a quick initial read, but more importantly it will serve as a handy reference to implementing DS2 and related features in a programmer's tool kit."

Tim Wilson
Lead Informaticist
Integrated Health System