As awkward as it might sound to write a blog post about how you can avoid reading more blog posts, I want to diverse my bonds here and let anyone who values these tutorials know that we are now producing Youtube tutorial videos at a faster rate than we are writing them. Wouldn’t want anyone to miss out!
In 2020 I joined the first cohort of Tableau DataDev Ambassadors, so you can expect even more educational content from me moving forward.
The Youtube channel (Devyx) provides tutorials relevant to Tableau APIs (REST API, Metadata API, etc.) and Python.
My preference is to watch tutorial videos rather than read them. I’m also finding that it is often more efficient to condense content into a ten minute video than it is to write a tutorial. That’s good — it means there will be more content, faster! …
In another article we covered how you can query your Tableau view data like a boss, and I received some feedback from one person that they wanted to tumble deeper down the rabbit hole.
That brings us to this article, where we will demonstrate how you can download view data for a table (crosstab) in Tableau, and reconstruct the shape of that data as it appeared in Tableau.
This tutorial walks through using the Python tableau-api-lib package and is part of a series on how to tap Tableau Server like a keg, giving you control over Tableau Server’s REST API.
I recently overheard a professional speaker from the hospitality industry having a conversation, and they mentioned something that piqued my interest. They were making the case that an inferior product, when paired with excellent service, will often make a customer happier than an objectively superior product with worse service.
If that’s true, it means time spent on improving your service can be more valuable than time spent on improving your product.
One way service manifests itself is through presentation. If you were competing on a cooking show, you’d be packing your knives and going home if your food was great but your presentation wasn’t on point. …
Between data blends, joins, and wrestling with the resulting levels of detail in Tableau, managing relationships between data can be tricky.
Stepping into your shiny new Python shoes, the world opens up a bit. Instead of trying to squeeze everything into a single data source to rule them all, you can choose your battles.
In our previous articles, we already saw:
In this article, we’ll focus on one of the most important aspects of working with data in any ecosystem: joins.
Lucky for us, the Tableau data we have been playing around with comes with batteries included! Within the context of the fictitious store we have been analyzing, we have a bit of data detailing various items that were returned. …
One of Tableau’s biggest advantages is how it lets you swim around in your data. You don’t always need a fine-tuned dashboard to find meaningful insights, so even someone with quite a basic understanding of Tableau can make a significant impact.
For this article, we’ll play into that theme of not needing to know everything about a tool in order to build useful things with it. In our previous article, we touched on how you can create custom calculations and color visuals in Python to arrive at visuals that look quite similar to what we build in Tableau.
Today, let’s expand on what we’ve learned so far. Let’s see how we can take what we’ve seen up to this point and apply that to a common scenario: data exploration. …
And we’re back! Let’s pick up where we left off in the first article of this series and use the visual we built there as a starting point.
Before we dive in, let’s set the stage for what we’ll accomplish here:
In Tableau, you can often get your brain all twisted around a tricky situation that requires you to produce calculations various levels of aggregation. Some of you might have Googled your way through this to the point that if you type ‘level’ into the search bar, it autocompletes to ‘level of detail tableau’ (I feel you). …
Like many other people, my first steps into the world of data were taken wearing the shoes of a Tableau developer. As the Tableau skills increased, so did my exposure to other things like SQL and Python.
Over time, learning more about these adjacent tools enhanced my day to day capabilities. As I learned more SQL, I better understood how to optimally feed data into Tableau. That enabled me to take more ownership of the wider data flow, beyond Tableau itself.
Python was a natural next step. It offered flexible control over the Tableau ecosystem via the Tableau Server REST API, and the syntax was straightforward. …
Breakups are hard. Tableau users come and go, and lucky for us we have some tools at our fingertips that can help us make a clean break to avoid the unpleasant nuances of dealing with orphaned content.
This article explores one approach to making the removal of Tableau Server users a painless process. …
Our first three milestones in this series produced a Tableau Hyper extract containing data lineage information from the Metadata API, user interaction information from Tableau Server’s internal PostgreSQL database. The fourth milestone (our previous article) built an interactive Tableau dashboard based on that extract.
In this article, we loop back to the second milestone, where we pulled data lineage information from the Metadata API. Here we will revisit that process and expand the scope to include data lineage information across all sites available on Tableau Server. Originally, the process only pulled data for the active site we authenticated into.
If this is your first time tuning into this series, here are the previous milestones for your…
In this article, we pick up where we left off in the previous impact analysis milestones to build interactive visuals based on the data our previous efforts generated.
As a refresher, the previous milestones combined data from Tableau’s Metadata API and the internal PostgreSQL repository database, turned that data into a Tableau Hyper extract, and published that data to Tableau Server.
If this is your first time tuning into this series, here are the previous milestones for your convenience: