VizQL Data Service from Tableau: Use Your Data, Your Way

What is VizQL Data Service?

The VizQL Data Service was first demoed at Tableau Conference 2023 and allows users to make programmatic (API) requests for data from published data sources in Tableau. The ability to get exactly the data we want—without being tied to an existing View or Dashboard—is a novel feature in the Tableau ecosystem.

The possibilities are extensive. For example, you could collect a subset of columns from a large dataset and send them via email in CSV format. You could also use filtering, sorting, and ad-hoc aggregations and calculations to power a custom UI for your application with data you already trust from Tableau. If you can dream it, you can achieve it.

How We Got from VizQL to VizQL Data Service

VizQL is one of the core capabilities that makes Tableau what it is. It works constantly in the background while we drag-and-drop our green and blue pills in Tableau Desktop or while we view and explore content created by others on Tableau Server, Cloud, and Public.

From Tableau.com: "Simply put, [VizQL] is the proprietary query language behind the Tableau product suite's visual rendering. It is essentially a translator of SQL queries that traditionally return numbers and tables into an effortless visual analysis."

Many Tableau users and developers may not think much about what VizQL does in the background, and honestly, that’s sort of the point. It’s one of the things that makes Tableau so easy to get started with. Along with the Desktop/Web Authoring interface, it allows users with little or no experience with SQL to create beautiful visualizations and find actionable insights right away.

So what if we could tap into the capabilities of VizQL outside of these “traditional” interactions via Desktop or viewing published content? This is exactly what the VizQL Data Service enables. In this article, I’ll show some practical examples and hopefully inspire you to think of ways you can make VizQL Data Service work for you.

Why Should You Be Excited About VizQL Data Service?

I realize the irony in telling you to be excited about something you may not have considered before. And honestly, if you’re a daily Desktop user or consumer of published Tableau content, this might not have been on your radar—but this is really significant!

The rollout of VizQL Data Service could be compared to the introduction of Parameter Actions or Map Layers in Tableau Desktop. There were ways to achieve similar outcomes before, but they were often clunky, hard to reproduce, and unsupported. Once these features were part of our toolset, many wondered how we ever got by without them.

The VizQL Data Service introduces "headless BI" capabilities on top of the data management and security we already know from Tableau. You don’t need to be a #DataDev to appreciate the power unlocked by VizQL Data Service.

Consider all the times a client or stakeholder has said: “Can I just have the Excel behind this dashboard?” If you’re like most, this request instantly makes you shudder. Balancing encouraging users to be data-driven while avoiding dumping raw data they might not fully understand is challenging. Can we really trust all users to aggregate/disaggregate properly? What about complex datasets with joins, relationships, or blending?

VizQL Data Service enables us to create a different experience, where we can request exactly the data we want (or want our users to have) outside of the traditional Tableau experience.

VizQL Data Service in Action

If you’re struggling to imagine what you might do with VizQL Data Service, here are a couple of examples:

  1. Create a Controlled Way for Users to Download the Data They Want: Despite our best efforts, there will always be people who want to explore the raw data behind our visualizations. VizQL Data Service provides an easy way to supply users with the data they want in a controlled fashion, ensuring they have what they need to succeed.

  2. Build a Product Gallery from Your Existing Data: If you want to create completely unique experiences or workflows for your users using the data you already have in Tableau, VizQL Data Service makes it incredibly easy to bring it into another application, such as a web portal.

VizQL Data Service removes many of the hurdles that made obtaining unrestricted access to our data challenging or time-consuming.