The heatmap is a graphical representation of a table where colors are used to represent the values in the table. This is an effective graphic for finding the minimum and maximum values across the table and may surface patterns in the data. With the addition of the HEATMAPPARM statement to
Uncategorized

Yes, it’s a holiday week, which means Thanksgiving-related posts and people telling you what they’re thankful for. You know it, you love it. So here’s my shot: I’m thankful for new editions. That’s right—second editions, third editions—if it’s new and updated, I’m all for it. Go with me on this….

Here's a quick tip to keep in mind when you write SAS/IML programs: although the SAS/IML documentation lists about 300 functions that are built into the SAS/IML language, you can also call hundreds of functions in Base SAS. Furthermore, you can pass in SAS/IML vectors for arguments to the functions.

Paul Goodwin's Hot New Research column is a must-read in each issue of Foresight. The current column, "High on Complexity, Low on Evidence: Are Advanced Forecasting Methods Always as Good as They Seem?" ends with this sage advice: If the name of a method contains more words than the number of observations that

If you’ve taken one of my SAS classes you may recall “Mark’s 3 rules of programming”, the first of which is “Lazy programmers are GOOD programmers.” One of the things I love about best about SAS programming is the plethora of functions and shortcuts built into the language, all designed

Halloween night was rainy, so many fewer kids knocked on the door than usual. Consequently, I'm left with a big bucket of undistributed candy. One evening as I treated myself to a mouthful of tooth decay, I chanced to open a package of Wonka® Bottle Caps. The package contained three

Rick posted a tip today about using abbreviations in the SAS program editor window (often referred to as the "enhanced editor"). Defining abbreviations is a great way to save keystrokes and re-use "templates" of code that you've squirreled away. (One of Rick's readers also picked up on the tip, and

I recently attended The Education Trust’s 2011 National Conference on closing gaps and raising achievement for ALL students. This was my first Ed Trust event and I walked away baffled by the data about the inequities in our education system, and the persistent gaps between the affluent and impoverished. First,

When I moved last year from Denver to the Washington, DC area people told me to prepare myself for the long hours I would spend in my car. I had no idea. It takes forever to get anywhere. Once, during a snowstorm it took me 9 hours to drive 10

Did you know that you can define "abbreviations" in the SAS enhanced editor? These handy little shortcuts can save you a lot of typing. For example, I have an abbreviation for the string _iml. Whenever I type _iml, the editor prompts me to replace those four characters with the following

Here is a little trick to file away. Given a row vector of zeros and ones, thought of as representing a number in base 2, the following SAS/IML statements compute the decimal value of that vector. proc iml; x = {1 0 0 1 1 1}; /* number in base

I've been working with date-time data on a recent project, and I've come across a few SAS programs that have "opportunity for improvement" when it comes time to create reports. (Or maybe I haven't, and I contrived this entire blog post so that I could reference one of my favorite

One aspect of blogging that I enjoy is getting feedback from readers. Usually I get statistical or programming questions, but every so often I receive a comment from someone who stumbled across a blog post by way of an internet search. This morning I received the following delightful comment on

If you want to extract values from a SAS/IML vector, use the subscripting operation, such as in the following example: proc iml; x = {A B C D E}; y = x[{1 2 3}]; /* {A,B,C} */ The vector y contains the first three elements of x. However, did you

Mean Absolute Percent Error (MAPE) is the most commonly used forecasting performance metric, and for good reason, the most disparaged. When we compute the absolute percent error the usual way, as APE = | Forecast - Actual | / Actual this is undefined when Actual = 0. It can also lead to
You can still get a paper proposal in for SAS Global Forum 2012. All you need is an idea. And probably some data. And also, some techniques for analyzing that data. Oh, and some conclusions would be helpful as well. I know: you are a busy person! You might not

Sometimes you want to label only certain observations in a plot. This is useful in many ways, but one use is to label outliers on a scatter plot. In the SGPLOT procedure, the DATALABEL= option enables you to specify the name of a variable that is used to label observations.
The popular mailing list for the SAS user community hits a milestone this weekend by turning 25. 25 is often referred to as the "silver anniversary", but for a quarter century SAS users have found gold among the messages in this list, which feature everything from questions and answers about

Drill-through to detail is the ability to right click within a cell of a web report or OLAP viewer and request the detail source records that make up that specific cell's measure. The maximum number of records, by default, is set to 300,000. Feasibly the report user could download all

I was at the Wikipedia site the other day, looking up properties of the Chi-square distribution. I noticed that the formula for the median of the chi-square distribution with d degrees of freedom is given as ≈ d(1-2/(9d))3. However, there is no mention of how well this formula approximates the
Celebrity fame (I'm told) is overrated. Do you really want hordes of people to recognize you in the shopping mall or while you wait at a red light? Of course you don't. And that's why I advise you to never win the American Idol competition (nor should you lose with

Sometimes you can't forecast worth a darn because something is just not forecastable. Being "unforecastable" doesn't mean you can't create a forecast, because you can always create a forecast. It just means there is so much instability or randomness in your demand patterns that even sophisticated forecasting methods don't help

JSM, Miami Beach, FL, July 31–August 3 Miami Beach in August is hot. Ridiculously hot. Almost as hot as our preview copies at this show. Conference goers were extremely excited about a number of our upcoming statistics titles, including Customer Segmentation and Clustering Using SAS® Enterprise Miner™, Second Edition, by

What do you call an interview on Twitter? A Tw-interview? A Twitter-view? Regardless of what you call it, I'm going to be involved in a "live chat" on Twitter this coming Thursday, 10NOV2011, 1:30–2:00pm ET. The hashtag is #saspress. Shelly Goodin (@SASPublishing) and SAS Press author recruiter Shelley Sessoms (@SSessoms)

Life Lesson from a Black Eye I'm fond of arguing that Plato is the father of philosophy. Apparently that is the wrong argument to make, in a bar, with a stranger, when said stranger takes the opposing view. (And I thought politics, religion, and his mother were the only things never

Last week I showed how to use the UNIQUE-LOC technique to iterate over categories in a SAS/IML program. The observant reader might have noticed that the algorithm, although general, could be made more efficient if the data are sorted by categories. The UNIQUEBY Technique Suppose that you want to compute
Welcome to this new blog on data visualization at SAS. Our goal is to engage with you on a discussion about analytical and business graphics for reporting and interactive applications. Our primary focus will be on ODS Graphics and related topics, but we look forward to a lively discussion on all things

Among the suitable-for-blog-publication-without-risking-my-job definitions of masochism is this: A willingness or tendency to subject oneself to unpleasant or trying experiences So to be a forecaster, must you also be a masochist? Few people enjoy the difficulties and degradation that go with being a forecaster, so few are willing to do it

On September 10, 2001, I was attending a law enforcement conference in Atlantic City, NJ. While I have attended hundreds of similar meetings, this conference stands out for several reasons. First, and most obvious, it was the eve of the day where most of our lives were indelibly altered. Second,

Being able to reshape data is a useful skill in data analysis. Most of the time you can use the TRANSPOSE procedure or the SAS DATA step to reshape your data. But the SAS/IML language can be handy, too. I only use PROC TRANSPOSE a few times per year, so