June 10, 2016
My First Alteryx App: Pinterest Board Downloader
Alteryx Inspire was an amazing conference! And the name is absolutely spot on…you will be so inspired to do amazing things with Alteryx. While there, I decided to challenge myself and learn how to build an Alteryx app. My app, named Pinterest Board Downloader, allows you to download all of the information about any public Pinterest board. In this post, I’m going to detail how I built it, what I learned, and who helped me along the way.
A bit of background on where the app came from. I had been using IFTTT to log all of the pins I make to the Makeover Monday Pinterest board, but the main problem was that I didn’t have data for the first few weeks. Pinterest has an API that you can call to download all of the pins and Paul Houghton was teaching data parsing, data prep, JSON parsing, and macros in the first week of Alteryx training for cohort 3 of The Data School. I saw this as a great way for me to learn these skills too and also fix my data issues with Makeover Monday.
However, for the app, I wanted to make it more generic so that it would work for ANY Pinterest board. Let’s start with the guts of the workflow.
Essentially this is what the macro does:
- Take the input from the app (the URL of the Pinterest board) and call the Pinterest API
- Parse the JSON
- Clean up the JSON to make it wide rather than tall
- Interate through all pages of the Inboard (the API only returns a subset of the records with each call)
The parsing and cleaning bits were pretty straight forward and so was calling the API. What tripped me up was how to cycle through the pages in the Pinboard to get all records. That’s where Robin Kennedy showed me how to make it an interative macro. Make sure you choose the Iterative Macro option on the Workflow tab of the Configuration window.
I couldn’t quite get it to work though and the Data School presentations were looming. So I called Chris Love and he showed me how to make the macro page through the iterations. It’s like magic watching Chris use Alteryx.
Conceptually I understand what an interative macro is and what it does, but I still don’t have my head wrapped around WHY it works the way it does. I admit that I don’t quite “flow” with Alteryx yet like I do with Tableau.
Ok, so now I’m getting all of the records. The next step is to turn it into an app. I had never done this before, but it was fairly straight forward. The trick is to go to the Workflow tab on the Configuration window and choose the Analytic App option.
The app workflow is also pretty straight forward.
Andy Pick helped me get started with the interface design part. All it does is provide a text box for the user to enter the Pinterest board URL. From there, I update the API string to use my API key, but to get the data for the Pinboard entered. The app then calls the interative macro above and the Action tool asks the user where to save it and in what format. I didn’t want to only allow a CSV or TDE, so the user can save it in any Alteryx supported format.
After I got this bit working, the macro broke. This led me to the Community room that was set up at Inspire and there waiting for me was the great Chris Love. It turned out I wasn’t passing the string properly from my app into the macro. Once that was fixed, it worked perfectly.
And that’s it! I feel like I learn a massive amount at Inspire this week. The Community is amazing, enthusiastic and absolutely brilliant. The most important lesson I’d like to pass on is that in order to learn, you need to get stuck in. Find a real problem you’re trying to solve and see it through. Ask for help when you get stuck.
Give my Pinterest Board Downloader app a whirl! Send me any feedback if it isn’t working quite right.
March 23, 2015
Makeover Monday: Who’s Really Using Social Media in 2015?
Wow! That's quite a bit to digest. So much going on, from the donut/pie charts, to all of the annotations, to the sizing of the pies by overall growth. This infographic has it all.
I recreated the data in Excel, which you can download here, and decided to build a couple of different alternatives because the design choices depend on the question that's trying to be answered. This first version aims to show which social networks are predicted to grow the most in each demographic.

Looking at the data this way, it's clear that Facebook will continue to see the largest growth across all ages. This view also makes the following obvious:
- Younger people are using Instagram
- Older age groups are using Pinterest
- Twitter is a middle of the road platform everywhere, which you could spin as a more diverse audience
The second alternative takes the pie charts and converts them all into more organized bar charts. The question being answered here is how is each app doing?
There's a selector at the top right where you can pick the view you want to see:
- The spread of growth across each app separately
- The growth estimates for each app
Looking at the data this way allows you to compare within a single app, compare to the total and compare across apps. Which version do you prefer? What would you do differently?
Download the Tableau workbook here (requires Tableau 9).
January 21, 2014
Spreading the gospel, one data viz nerd at a time
Fact: If I didn’t start my blog, I wouldn’t be working at Facebook.
When Facebook was looking for people to build out their new Tableau team, naturally they started scouring the web to find people that could make an impact. The only reason Facebook knew I existed was because I write my blog. That brings me back to the beginning…how did I get started and why?
Back in September 3, 2007, in no less than one hour, I:
- Ran a Google search for dashboard software
- Downloaded and installed Tableau 3 (people new to Tableau have no idea how good they have it now)
- Watched the first two intro training videos
- Created my first dashboard
That one hour changed my life. I became seriously OCD about Tableau and data visualization.
Almost another two years passed. I had been reading tons about data visualization, but there were very few blogs about data viz or Tableau and Tableau Public didn’t exist. I had been practicing a lot, I loved writing and I needed a way to document my work. I wasn’t even considering that other people might actually read it; the blog was like a diary after all.
There was a void, so I created vizwiz.blogspot.com. I chose to host it on blogger for no other reason than I was already using it for my personal blog and it’s super simple.
I started the blog as a place for me to take existing charts and graphs I found on the internet and transform them into something more meaningful. My first blog post on August 17, 2009 was a remake of our friend the pie chart.
People were starting to read my blog more (particularly after the Huffington Post mentioned my post about birthdays). I had a small following on my blog, but I wanted more people to know that I had content to share that they might be interested in. After all, one of the best things about the Tableau community is the willingness of people to share their knowledge.
Facebook and Twitter are embedded in our every day lives and are the two best ways to spread a message, so I adjusted my creation flow for blog posts to optimize my time and the blog’s reach.
1. Publish a blog post
2. Use the Facebook Share Button in Chrome to create a post on the VizWiz Facebook page
3. I’m not a very active Twitter user (go figure), so I created a recipe on IFTTT.com that automatically posts content I share on my Facebook page to Twitter. This includes posts from my own blog as well as content I find on the internet. Basically, I share on Facebook and I get Twitter for free (one less step for me). Hopefully they’ll add support for Pinterest soon too.
Naturally, once your blog gains some followers you’ll begin getting feedback. It’s critical that you engage with your audience.
- Respond to blog comments (I would recommend you turn on word verification and moderation to help avoid spam)
- Use an RSS reader (I use feedly) and Facebook to follow people and pages your like. If you enjoy their content, share it.
- Help others if you’re willing and able. If you post an interesting technique, people might have questions. Hop on a screen sharing session, Skype or Google Hangout with them. Trust me, you’ll learn more from helping other people than you can ever learn on your own.
I’m always looking for great data viz and Tableau content to read. I keep a log of sites I follow here. It’s a bit out of date, so if you don’t see your site on there, leave me a comment and I’ll check it out.
In the meantime, feel free to follow me on Facebook, Twitter, Pinterest and Tableau Public.