"Twitter, thou art nought but data." So sayeth the SAS programmer. Many data analysts now recognize Twitter for what it is: a tremendous source of data covering almost any topic, from Justin Bieber's hair to political uprisings to technical conferences to company brands. SAS offers sophisticated solutions to harness this
English

This week, I posted the 100th article to The DO Loop. To celebrate, I'm going to analyze the content of my first 100 articles. In December 2010, I compiled a list of The DO Loop's most-read posts, so I won't repeat that exercise. Instead, I thought it would be interesting

Let’s start with a quiz. Which of the following is the Programmer’s Rule # 1? 1. Expert knowledge of multiple languages, like SAS and Java 2. Talent to maneuver with complex algorithms 3. Innate ability to draw flowcharts 4. None of the above Dear reader, as a savvy programmer, you
SAS Global Forum appreciates the support of its sponsors. I asked a Red Hat representative some questions so that we could get to know this valued Gold sponsor better. 1. What initiatives or goals are you trying to achieve by partnering with SAS? To help SAS and its customers exploit

In a previous post, I described how to compute means and standard errors for data that I want to rank. The example data (which are available for download) are mean daily delays for 20 US airlines in 2007. The previous post carried out steps 1 and 2 of the method

Many SAS users love "undocumented features" within SAS software that they have found or heard about. Sometimes they can be really useful, and the fact that they are undocumented adds to the mystique. Some users have written entire conference papers on the subject. After 35 years of evolution, SAS contains
SAS Global Forum appreciates the support of its sponsors. I asked a Teradata representative some questions so that we could get to know this valued Premier sponsor better. 1. Can you provide some background information on the Teradata Corporation? Teradata is the world’s largest company focused solely on raising intelligence

When you create a character matrix in SAS/IML software, the initial values determine the number of characters that can fit into any element of the matrix. For example, the following statements define a 1x3 character matrix: proc iml; m = {"Low" "Med" "High"}; After the matrix is defined, at most

I recently posted an article about representing uncertainty in rankings on the blog of the ASA Section for Statistical Programmers and Analysts (SSPA). The posting discusses the importance of including confidence intervals or other indicators of uncertainty when you display rankings. Today's article complements the SSPA post by showing how


I believe I would have interviewed AnnMaria De Mars even if you hadn't sent me scads of e-mails and tweets suggesting her as a perfect candidate for the SAS Rock Stars series. I "met" AnnMaria when I started looking for SAS users on Twitter – nearly three years ago while

I recently blogged about how to eliminate a macro loop in favor of using SAS/IML language statements. The purpose of the program was to extract N 3x3 matrices from a big 3Nx3 matrix. The main portion of my PROC IML program looked something like this: proc iml; ... do i=0
Marje Fecht has been an active SAS User and SAS Conference participant and leader for over 30 years. This year, she is the Section Chair for the brand new Enterprise Guide Section and for the Travel, Hospitality, and Entertainment section. She has provided some great highlights on these sections.. Do

SAS procedure SUMMARY is a quick method of converting your detail table to a fully summarized one. Included is a sample. The key option to set is the NWAY - this generates the lowest level of summary for use in the OLAP cube. Essentially - the class statement contains all
In the computer software industry, 35 years is like an eon. I mean, 35 years ago, the computing power that I carry around within my mobile phone didn't even exist all in one place; but if it did, it would have filled an entire building. That's why the recent posting

Statistical programmers can be creative and innovative. But when it comes to choosing names of variables, often x1, x2, x3,... works as well as any other choice. In this blog post, I have two tips that are related to constructing variable names of the form x1, x2,..., xn. Both tips

We're having an early spring in North Carolina. Trees are budding, flowers are blooming, and the warmer temperatures make even a pistol whipping more enjoyable. What better way to take advantage of the new season than filling your spring with educational opportunities in forecasting. Plan in Perfect Sync with Customer

Loony. Zany. Brilliant. Hysterical. Those are some of the adjectives I use to describe The Far Side® cartoons by Gary Larson from the 1980s and early '90s. I recently rediscovered an old book, The Far Side Gallery 2, which collects some of the best of Larson's wonderfully wacky cartoons. Every

I recently asked chair Debbie Buck some questions to help us learn more about the upcoming conference. Here’s what she had to share – good reading ahead! 1) How is this year’s conference different from SAS Global Forum 2010? What’s New? SAS Global Forum 2011 includes a number of changes
SAS Global Forum 2011 just over two weeks away. The R&D and product management teams are preparing the demos to show on stage during the highly-visible opening sessions. A tremendous amount of work goes into planning the program. It's great to see what they come up with. When it comes
This blog post is the ninth in our series and I can promise you that you will still be amazed by what you learn about this SAS user and friend. Today, I’ve had the privilege to interview Toby Dunn. I met him for the first time in Savannah, Georgia, in

In a previous blog post, I showed how to use the SAS/IML SORT and SORTNDX subroutines to sort rows of a matrix according to the values of one or more columns. There is another common situation in which you might need to sort a matrix: you compute a statistic for

Sorting is a fundamental operation in statistical programming, and most SAS programmers are familiar with PROC SORT for sorting data sets. But did you know that you can also sort rows of a SAS/IML matrix according to the value of one or more columns? This post shows how. Sorting a

In my spare time, I enjoy browsing the StackOverflow discussion forum to see what questions people are asking about SAS, SAS/IML, and statistics. Last week, a statistics student asked for help with the following homework problem: I need to generate a one-dimensional random walk in which the step length and
I met Phil Holland nearly three years ago at my first SAS Global Forum. Actually, he and I met on Twitter before the conference. Phil, as @hollandnumerics, talked with me many times on Twitter about his plans for attending SAS Global Forum. He and I were excited about SAS'; plans
In November, I introduced a series of interviews called SASonality. The term was meant to define a person – SAS user or SAS staff – who had made a lasting impression, both in the way that he or she uses SAS and cares for and treats others. The problem is

Several times a year, I am contacted by a SAS account manager who tells me that a customer has asked whether it is possible to convert a MATLAB program to the SAS/IML language. Often the customer has an existing MATLAB program and wants to include the computation as part of
When I began my job at SAS in 1999 (I was only 14 years old at the time), one of my responsibilities was taking over the production of a listserv called NEWDOCNEWS. The listserv consisted of all the new titles from Books By Users (now SAS Press) and SAS Documentation
Recently we reached out to Tyler Smith, who has been involved in the SAS users community through local, regional, and international meetings for a number of years, and pick his brain about the conference. Tyler has used SAS for nearly 20 years and received multiple invitations to speak at SAS

String comparisons in SAS software are case-sensitive. For example, the uppercase letter "F" and lowercase letter "f" are treated as unique characters. When these two letters represent the same condition (for example, a female patient), the strings need to be handled in a case-insensitive manner, and a SAS programmer might