Finding July 4th fireworks shows with SAS software!

A friend who recently moved to North Carolina from the west coast asked, "What's there to do around here for the July 4th holiday?" So I created a fireworks map, showing the locations of many of the celebrations around the state!

Here's a snapshot of my map - click on it to see the interactive version, which has hover-text over each marker, and you can click on them to launch a Google search that should help you get more details. The red dots represent fireworks on Saturday, July 4th, and the yellow dots represent fireworks that are on a different night (mostly Friday, July 3rd). If you're in North Carolina for the holiday, hopefully this map will help you find something to do!


This example is a little fancier/flashier than my usual business/scientific/news graphs ... but hey - it's designed for a holiday/celebration audience! And although you probably don't want to use all of these tricks in a graph, it does demonstrate several techniques you might want to know how to do, should a special need arise. Here's a link to the SAS code if you'd like to experiment with it.

Technical Details:

In my data, I have the zip code of the location with the fireworks, and I use Proc Geocode to estimate the latitude/longitude center of each zip code. Rather than using the traditional SAS/Graph maps.uscounty, I use the newer mapsgfk.us_counties map - this allows me to leave all my latitude/longitude data in eastlong degrees (whereas the old/traditional SAS/Graph maps required me to convert the latitude/longitude to westlong radians). I use the goptions iback option to place the firecracker image in the background behind the map, and I use an alpha transparent color for the map, so you can barely see the firecrackers behind the map. I place a box around the title (using the title statement's box=1 option), and fill the box with a transparent color (similar to the map).

For those who would rather see a text list (such as someone wanting to do a string search for a particular city name), I follow the map with a Proc Print table. I encode html href (drilldown) tags in the table so you can click on the events and launch the same Google search as the map markers, and I modify the individual style elements of the pieces of the table to do things like make the font larger, and the borders disappear.

And now for the big question ... what's the best fireworks show you've been to?!? :-)

Post a Comment

Top 3 reasons to attend Analytics 2015 in Las Vegas

I’m not a big gambler, but there is something I would put my money on – analytics.

Analytics is helping companies turn information into value. And yes, I mean money.

If you want to learn about the latest analytics trends and get in on some of that “value” – attend the Analytics Conference Series.

The next event takes place Oct. 26-27 at the Bellagio in Las Vegas.

I’ll be attending again this year as the host of the Inside Analytics video series. Here are the three reasons why I think you should join me there.


The Analytics 2015 agenda

Read More »

Post a Comment

Born to be wild - analyzing motorcycle data

What is it that people like so much about motorcycles? The thrill/excitement/freedom of riding them, the 'biker image' portrayed in movies, or great songs such as Little Honda by the Hondells? I'm not a biker per say, but I do have a couple of motorcycles, and am a known associate of some bikers. Therefore when I saw a graph of some biker data, it caught my attention and I had to try my hand at improving it.

But first, here's a picture of one of my biker buddies here at SAS, Mark - he's got several bikes, and especially likes to ride on race tracks. The graphs below have a '>=50' age category, and you probably would have never guessed that Mark has been in that category for many years! :)


And now, let's proceed with the data analysis! Read More »

Post a Comment

Is Greece in hot water, financially?

Greece has been in the news lately, trying to secure funds to repay 1.5 billion euros to the International Monetary Fund (IMF) by the end of the month. And as luck would have it, there is some data available and some graphs to be created ... I love this job!

But before we get into the nitty-gritty data analysis, here's a picture that my friend Karen took while vacationing in Greece. She enjoyed her trip in 2008, but she laments that her US dollars would have gone much farther with today's 2015 exchange rates (see my other blog on that topic).


I recently saw an interesting graph on, showing the interest rate on ~10 year bonds in several European countries, with Greece's rate highlighted in red. I liked the graph, but there were a few small details I would have done a little differently, and I also wanted to see a separate graph for each country (not just Greece). So I used the link they provided to get the raw data, and saved it as an Excel spreadsheet. I then used Proc Import to get the data into SAS, and Proc Transpose to turn the columns (they had a separate column for each country) into rows, so that the country names are now values, rather than variables. I could have created this same plot with the data structured either way, but this way it's more convenient, and I don't have to list all 18 country name variables in the plot statement. I wrote a SAS macro to create the plot for the specified country, and then called the macro once for each country (rather than duplicating the same code 18 times). Read More »

Post a Comment

Pyramids, body parts, and gender differences

Nope - we're not digging up mummies in pyramids and analyzing the gender - this blog is about population pyramid charts and "digging into data"! But since the title might have lured in some pyramid fans, here's a picture of my friend Angela posing beside a pyramid - pretty cool, eh?!? :)


Speaking of pyramids, I recently saw this graph on, that was in the style of a population pyramid chart. The chart was attention-grabbing, and the data seemed to be interesting (haven't you ever wondered which parts of the human body were larger & smaller on males & females?), so I stopped to admire it for a while. Read More »

Post a Comment

2 days. 2 exams. 2 SAS certifications.

Shang_Hua_Wu.newIn 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 pharmaceutical industry. “I wanted to prove myself,” said Wu. “I knew I could do that after I got the certifications.”

Wu is currently a statistician at the UCLA Center for Health Policy Research where he uses SAS software to evaluate health policy programs. He’s proud to say he’s the first employee in his office to earn a SAS credential.

Preparing for the exams

Wu is the type of person who attempts to take two certification exams in two days, so his way of studying would, of course, be unorthodox.

He spent just one month prior to the tests reading the certification prep guides for both the base and advanced programmer exams. He read about two or three chapters a day. And don’t forget he also has a full-time job.

Read More »

Post a Comment

New SAS Visual Analytics certification launched


SAS Visual Analytics

The SAS Global Certification program is proud to announce the release of a new credential: SAS Certified Visual Business Analyst Using SAS Visual Analytics. This credential is designed for analysts who are using SAS Visual Analytics to explore data and create insightful data visualizations. With SAS Visual Analytics now deployed in over 3,400 sites around the globe, more and more employers are seeking analysts who can make data tell a visual story.

Work on the credential began in late 2014 with a poll of a global audience to determine the important skills that should be tested. As 2015 began, a cross functional group of SAS Visual Analytics experts from across the CES division, including education, professional services, and technical support, gathered to write items for the exam. A beta version of the exam was administered in March and April to measure the performance of the test, and after statistical analysis of the beta (using SAS!), the exam was officially launched in May.

What can candidates expect when they take the exam?

Read More »

Post a Comment

Using SAS to get the jump on Shark Week

Discovery Channel's Shark Week starts July 5, 2015 - and I've created a special SAS map & graph of shark attacks in North Carolina to get you in the mood for their week of shark education!

But first, to get you in the mood for my blog, here's a picture of my friend Kirk, posing for a "shark bite" picture on his boat (note that no sharks were harmed in the making of this picture, lol). Captain Kirk is a lot of fun, and you should go fishing on his boat if you're ever visiting Marco Island Florida!


Read More »

Post a Comment

How to handle time ( values in SAS

One of my earlier blogs on handling percent (%) values in SAS was very popular (it's been viewed over 34,000 times!), so I thought I'd write a similar blog on handling time ( values in SAS ...

This past weekend I was in a dragonboat race (that's me in the red hat)...


Read More »

Post a Comment

SAS Enterprise Guide: Suppress Output Data tab when programming

stop_watchHave 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 tab?  You are in luck!  There is an easy way to suppress the Output Data tab in the data grid window from opening up in your Enterprise Guide session after submitting a SAS program.

Here is a simple example of creating multiple output tables in one data step.  Keep in mind the data set used as input in this example is very small in terms of the number of observations and variable so the Output Data tab would automatically open up very quickly.  However, if your input data set is HUGE and your intention is to split it up into smaller SAS data sets, it could take a while to present all the new tables on the Output Data tab. Read More »

Post a Comment