Tuesday, October 16, 2018

Building Blondie


My vision for this viz was pretty simple. I thought it would be fun to keep track of who I want to connect with at Tableau Conference 2018 (#TC18), and maybe break it down by how I know them or if I have yet to meet them, where I saw them in the conference center, and what day.

One day the song "One Way or Another" by Blondie popped into my head, and I was curious if the lyrics would be in any way applicable to my viz.
There it was, right there in verse 2: 

One way or another, I'm gonna see ya' I'm gonna meet ya', meet ya', meet ya', meet ya'
Perfect. I had the seeds for my viz.

First, it had to be black. Because, you know, rock and roll! I used that line of the song as introductory text for my viz and quickly found a great free picture of Blondie on wikicommons.com.

Now for the viz...

The vision in my head was a waffle chart that would change colors as I met people. But waffle charts use 100 as their benchmark and I had around 120 people to meet. I could have used fancy math, but I would have ended up with fractions of people, and who wants to meet 20% of a person?

So, whole people. That's settled. But what should they look like? Bars? Circles?

Well, I'm not entirely sure why, but neither bars nor circles worked out. The bar had the right total, but looked like one gigantic person. The circles ended up as just one big fat round person. Even with Twitter handles on detail.

So...jitter? That worked to an extent, but ended up looking like a bunch of round circle people standing on each other's shoulders or laying side by side, ready to be steamrolled.

And then, quite by accident, I took something off my viz and saw exactly what I was looking for. Lots of nicely separated individual dots. It was at this point that I turned them into people.

I played around a bit with the color choice and ultimately settled on something in the color blind palette that looked good on a black background.

Early on in the viz design, I knew I wanted music. Turns out, that's more tricky than I thought. I read a lot of blogs, but I think perhaps something has changed with Spotify players, I'm not sure. I almost resorted to using someone's cover from SoundCloud, because the YouTube link kept crashing on me too. 

So here's my tip... my player is NOT the embedded YouTube player. It's an image, with a URL link attached. Turns out that if you follow a web link to an external page to play a YouTube video, it works just fine.

This duct tape and chewing gum method ended up having a bonus feature. When I determined that my little people were a little boring without DOING anything, I figured it might be nice to link to people's Twitter profiles. Uh oh, Houston, we have a problem. At the time I was attempting this, I was using YouTube's web player as a web page in the dashboard. So any time I clicked on a Twitter link, it passed to that window and messed up my video player.

So my workaround of using an image with a link attached was initially created to avoid having a web page inside the dashboard that was confusing for Tableau. And, as it happens, it made my player more reliable as well. (Spotify worked for a time, but after publishing it just kept asking me to log back in. Blech.)

In order to see days in advance, before I'd met people, I needed a second data source with all the dates in it. I did a right-join to that data source and voila! Problem solved.

But I didn't really like that before I met people they were all huddled under a giant NULL header, so here's how I got around that:

There is a teensy problem with my logic, and I purposely didn't fix it. One reason is that I don't anticipate it actually being an issue in the long run. But another reason is that I thought it would be a fun Easter Egg. So I'm buying a drink (coffee if you prefer) in NOLA for the first conference attendee who DMs me on Twitter and tells me what I did wrong (@thizviz).

Saturday, October 13, 2018

Tableau Conference Tips

I know there have been quite a few blog articles with Tableau Conference tips, and I've made good use of them myself! This year my luggage will contain something new - a Rocket Everlast Notebook, which was recommended by Mark Bradbourne (thanks Mark!)

Some of what I have to say here is going to sound redundant. But trust me when I tell you that if every blog you read says the same thing, it's important! Which brings me to my personal tips for Tableau Conference.

One Tip to Rule Them All - SHOES

Wear excellent, comfortable, supportive shoes. You'll see this tip repeated frequently, and it's way more important than I'd once thought. Seriously...find the most comfortable and supportive shoes you own. Slip them on. Nice, right? Now see if you can go out and find shoes that are EVEN MORE COMFORTABLE AND SUPPORTIVE. This is no joke, friends. I started out at a conference wearing Chucks. That lasted all of about 2 days till my feet were throbbing. I had to miss part of the conference for an emergency shoe purchase, and still spent the majority of the following year attempting to remedy the plantar faciitis I'd inflicted upon myself. 


Thanks to me NOT following my own advice above, I learned that I will forever want a hotel room with a bathtub. Oh, how I longed to soak my aching feet. So get a room with a bathtub, and then find the nearest drugstore and grab some Epsom Salts. At the end of a long day or start of a new one, your sore feet and muscles will be very grateful for this indulgence. Enjoy a nice, hot soak and feel that magnesium sulfate suck the stress and soreness right out of you.

While you're at the store picking up Epsom Salts, grab some snacks and pick-me-ups. Tableau is really, really good about having plentiful snacks on hand. But for those off times when you require an emergency chocolate fix, or as you're waiting for the shuttle, or when you're just plain pooped, it's a good idea to have some sustenance. My must-have list includes 5-Hour Energy drinks, trail mix, and cheese & crackers.

Water, Water Everywhere

The quickest way for me to run out of steam at conference is dehydration. DRINK. LOTS. OF. WATER. Yes, you will need to take more breaks. Take them. You'll be glad for them. Just stay hydrated, kids. This year I'm adding a collapsible water bottle to my shopping list. It won't be as bulky as a regular bottle but I can still fill it up at drinking fountains when I need to. I also think the collapsing will be a sort of subliminal hydration gamification - how many times in a day can I empty my bottle and scrunch it? 

Session Scheduling

This tip may be coming too late for this year's conference, but that's OK - it comes with a lifetime warranty.

Many sessions are repeated, so keep in mind that you may get more value from sitting down and having a chat with new people than sitting in a session. I hardly remember half the content I’ve gotten in sessions, but I’ve had moments in conversations that were life and career altering.

I recommend taking one hands-on session, but only one. You will get all training materials for all hands on sessions by attending just one (they give you a flash drive with everything on it). Also, hands-on is way more likely to be repeated than a one-time session. Another consideration is that hands-on are typically twice as long. If you attended regular sessions, you’d get twice as many in the same amount of time.

Make a note of any sessions you’re interested in which are repeated during the conference (if you search a session in the app it will list all available times). That way, you can pick the time that works best and has the least “sacrifices” of other interesting sessions.

Go through the whole schedule and star everything you’re interested in (except hands-on/reserved seating – just write those down). Then, when you look at your schedule, you’ll see that you have multiple sessions in one time slot. Start eliminating the ones that are least interesting, comparing them and un-starring them until you have just one in that time slot. BUT make a note of the ones you eliminated so you can check back for recordings/slides after conference (you could attend “virtually” later). 

If you need help deciding which sessions to attend, here are a few guidelines to help you  narrow down the options:

  • If you want to have a great time, go to any session with "speed" in the title. This year, that's "Tableau speed charting | 50 charts in 50 minutes" and "Tableau speed tipping | Can they reach 100 tips?". These sessions go way too fast to take notes, but that’s OK because they’ll publish everything later for you to review. But they are a BLAST to witness in person.
  • If a session is presented by a Zen Master, put that higher on your list.
  • When you get down to just a few sessions in a time slot, read the descriptions thoroughly and if any use words like “demonstrate”, “live”, “how to” then pick those. When the recordings are published they often only include slides, but not the Tableau demos.
  • Pick sessions that sound like they wouldn’t be as fun if you’re not there in person (that’s more subjective).
  • You might want to check if a session was offered at last year’s conference (just Google it). If it was, you know that content is not unique to this conference and  you can watch that recording or just wait till this year’s is published online.

Now, go back to your list of interesting reserved/hands on, and determine if any of your favorite sessions are worth trading for a hands-on.

If there’s a time slot where nothing jumps out at you, leave that time slot free. There is way too much to do at conference, so you will be glad for that time to network, chill, shop, visit the data village, or rest.

That about wraps up my contribution to the vast wealth of Tableau Conference tips. But check back in a couple of days and I'll have some NOLA specific tips for you.

Saturday, July 8, 2017

Alteryx - Using the Runner Macro / Chaining Workflows / Caching Data How-To

In my conversations with people at Alteryx Inspire, I hear a couple of topics come up frequently: How can I cache data that's already been processed, and how can I schedule workflows to run consecutively?

My answer to both of those questions is the Runner macro.

Yes, there is the cache data tool - but I actually have to do something with that. I have to change the settings from input to output.

Using the method I'm describing here, that caching is automatic.

The first step is to plan out what you want to do with your data, where you want to cache it, how you want to process it. Then you divide those steps into logical sections, and make workflows that only address one section at a time.

In this example, all I'm doing in workflow 1 is creating a .yxdb from my data. That's always a good place to start, because if you have, for instance, a .csv file coming in, Alteryx will process that same data exponentially faster than if it remains a .csv. Yes, there is some processing time to do the conversion, but everything else will run faster after that.

Then, you can make as many other workflows off that yxdb as you like. Maybe in one workflow you do all your joins, and in another you create all your calculations.

The scenario where splitting up my workflows makes the most sense is when I have multiple disparate data sources. I might have to do a lot of processing to get all that data to be homogeneous. But I need to perform different kinds of processing on each of those data sets. So after I convert each data source to a yxdb, I'll make a workflow to process data source 1, another to process data source 2, etc. 

Finally, I'll make a workflow that re-unites all my other workflows.

The magic touch is to then create one last master workflow to run all the others, and this is where the Runner macro comes in. I add a Runner tool for each of my underlying workflows, separating them with Block Until Done tools.

Then, when I'm ready to process my data, I only need to run one workflow - the master workflow with the Runner tools - and everything else is automatic.

It makes it a LOT easier to fix things if they break (and we all know they do sometimes), and I don't have to sit and toy with the cache tool. I can hit run and walk away or do something else.

If you haven't tried this method, I encourage you to experiment. If you have any questions, feel free to comment or ping me directly on Twitter @thizviz

You can download the sample workflows here:

Happy analyzing!

Thursday, September 29, 2016

Tips & Tricks from an Alteryx ACE: Cathy Bridges - Part 1

During my Alteryx webinar, which you can watch here: http://pages.alteryx.com/Alteryx-ACE-Cathy-Bridges-On-Demand-Webinar-Tableau-W.html?lsm=webdirect, I promised to follow up with answers to the remaining questions from participants and share even more tips and tricks than what I covered in the webinar.

The time has come!

I had so much to share that we opted to split the post into two parts.

Here's the link to part one:

And here's a little excerpt:

Webinars and Hangouts

Did you know that Alteryx hosts regular webinar trainings and hangouts? Under Community-Events there’s a section called Alteryx|Hangout. You can subscribe to that topic to receive email updates on future hangouts. These are a lot of fun and are a great way to get to know some of the community members and get tips and training from experts.

In the Resources section of the Alteryx web site, you can find on-demand webinars or register for upcoming webinars.

On occasion, I’ve watched webinars that I wasn’t sure I would benefit from, like beginner trainings or webinars designed to introduce Alteryx to people who aren’t familiar with it. What I’ve realized is that I can often learn something new just by watching someone else use Alteryx. That’s how I discovered some of the tips I’m sharing in this article.

Thursday, August 25, 2016

Exponential Process Acceleration Using Alteryx

Seems a shame I haven't yet posted the link to my Alteryx Inspire 2016 presentation!

I repent!

Click below to check it out!