Welcome to the beginner DataDev Quest Challenge for May 2025! This challenge is designed to help you learn how to use Tableau Hyper API to create datasources for your dashboards.

Difficulty Level: Beginner
Time Estimate: 30 minutes
Technology: Python, Tableau, hyperapi, pantab


Challenge Overview

Objective

Hey there, data enthusiast! Today, we’re tackling a super useful skill for anyone working with Tableau – converting Excel data into Tableau’s speedy Hyper format using Python.

You’ll implement two different approaches to accomplish this task and compare their performance and ease of use.

Why this challenge matters

Let’s be real, nobody likes waiting for dashboards to load, right? That’s where Tableau’s Hyper format comes in clutch! Converting your Excel files to Hyper gives you:

Trust me, your future self (and your teammates) will thank you for mastering this skill!

Learning Goals

Once you crush this challenge, you’ll be able to:

These are seriously handy skills that’ll make you look like a data wizard!

Submission Guidelines

Additional Resources


The Challenge

So here’s the deal: You’ve got an Excel file called RWFD_Supply_Chain.xlsx with a bunch of order data in the “OrderList” sheet. Your mission (should you choose to accept it) is to convert this Excel data to Tableau Hyper format using TWO different methods:

You can find the dataset here!

  1. Using the Pantab library – think of this as the “easy button” way
  2. Using the Tableau Hyper API – the “I want more control” way

For each method, you’ll:


Getting Started

Prerequisites

Before diving in, make sure you’ve got:

Don’t have these installed? No worries! Just run:

pip install pandas pantab tableauhyperapi
Python

Challenge Instructions

Part 1: Setup and Data Loading

pip install pandas pantab tableauhyperapi
Python
import pandas as pd import time
import pantab from tableauhyperapi import HyperProcess, Connection, Telemetry, TableDefinition, SqlType, TableName, Inserter, CreateMode, Nullability
Python
excel_path = "path/to/your/RWFD_Supply_Chain.xlsx"
sheet_name = "OrderList"
Python
df = pd.read_excel(excel_path, sheet_name=sheet_name)
Python

Part 2: Method 1 – The Pantab Express Lane

This is the quick and easy route. Just:

  1. Decide where you want your Hyper file to go
  2. Use the awesome pantab.frame_to_hyper() function to work its magic
  3. Time how long it takes (we’re keeping score, remember?)

This approach is like using a microwave β€” just push a button and done! πŸ‘¨β€πŸ³

Part 3: Method 2 – The Hyper API Adventure

This is the scenic route with more control. Steps:

  1. Pick a spot for your second Hyper file
  2. Create a table definition that matches your DataFrame columns
  3. Use the Hyper API to create your Hyper file with the perfect schema
  4. Get all your data from the DataFrame into the Hyper file
  5. Time this process too!

This approach is more like cooking from scratch – more steps, but hey, you control the seasonings! πŸ§‚

Part 4: Compare Results

Now for the fun part:

  1. Which method was faster? By how much?
  2. Which code was easier to write?
  3. Think about when you might prefer one method over the other

It’s like comparing fast food to home cooking – each has its time and place!

Solution Expectations

Your awesome solution should:

Testing Your Solution

Wanna make sure everything worked? Try this:

  1. Open up Tableau Desktop
  2. Connect to each of your fresh Hyper files
  3. Make sure all your data made it across safely
  4. Check that dates still look like dates, numbers like numbers, etc. (VERY IMPORTANT THING)

If Tableau loads your data without complaining, you’re golden!

Common Mistakes to Avoid

Watch out for these gotchas:

Extensions and Variations

Finished already? You overachiever! Try these bonus challenges:


Solution

Coming soon…


Special Thanks

To Marcelo Has and Cristian Saavedra Desmoineaux for inviting me to create this challenge.
To William Ayd, one of the biggest contributors to Pantab β€” a true DataDev Legend!
And to the DataDevQuest organizers and DataDev Ambassadors team β€” always great examples for me.


Who am I?

I’m Nik Dutra, data enthusiast, Tableau lover, and proud DataDev Ambassador. I’m passionate about helping everyone level up their data skills!
Connect on LinkedIn or find me in the DataDev Slack as @nikdutra.

Happy coding, and may the data be with you!

Leave a Reply

Your email address will not be published. Required fields are marked *