This is a repost from September 2019. It look me a little while to get this back up and running. 🙂 For the latest, check out GitHub!
For the past ~12 months or so, I’ve been working away on a pet project of mine — LumberSnake. A Python iteration on a popular Tableau community tool known as LumberJack (LJ). LumberSnake originally had one purpose: “go fast”, or at least faster than the David Spezia original VBA LumberJack equivalent. Oh — and to create a pretty dashboard along with it.
Then came the Hyper API. Although not released at the current time of writing (check out the Tableau Developer program here! #datadev!), it’s started to leak out into the community — and rightly so, it’s freaking powerful stuff. If you’re new to the Hyper API — I highly recommend checking out Craig Bloodworth’s post on importing CSV files direct to Hyper.
The Hyper API has since been released. It’s a powerful addition and a personal favourite. https://help.tableau.com/current/api/hyper_api/en-us/index.html
Hyper was, and forever will be, a stateless powerful database. What the Hyper API does, in the simplest possible terms, is it allows you to treat Hyper like the database it deserves to be treated as — including the ability to directly send SQL statements against it.
SQL statements you say? Now we’re talking! In an effort to push that to it’s limits (or at least, my limits), I decided to convert as many as the Python functions over to Hyper as possible. The result? Faster, more stable, and direct to Hyper.
Better still, it’s far more flexible when dealing with the final output file. Append to the existing extract? Sure, just INSERT. CREATE a new table within the file? Absolutely possible. DELETE redundant data or DROP and entire table? Tick and tick. Hopefully, it’s becoming increasingly obvious how powerful this will be for extract creation and data source management in general — and there should be enough examples in this one source for you to apply to your own creations.
So what’s new?
Available on GitHub — new features include:
- Append an existing LumberSnake.hyper file.
- Read from a file directory as opposed to just zip logs.
- HTTP data as well as VizQL data.
- A few corrections to the workbook itself.
If at any point you run in to any issues — please comment below or raise an issue in GitHub. This isn’t supported by any means, but I’m always interested in improving this where I can.