Get better at iT
Tableau: Tricks, Tips & Custom Vizualizations

Felipe Urrios
Apr 8, 2025
Choosing the right chart is half the battle—don’t you think?
When you're trying to make sense of timelines, overlaps, or dependencies, a simple bar chart just won't cut it. That's where Gantt charts shine. They help you see not just what’s happening, but when—and how everything fits together.
In this quick guide, we’ll show you how to build a Gantt chart in Tableau, using a real-world aviation example to track flight schedules and crew assignments. It's a powerful way to turn complexity into clarity—and unlock insight from the very first glance.
When to Use Gantt Charts
Gantt charts are powerful tools for project management. They help plan business activities, visualize the scope and timeline of a project, track progress by identifying completed and pending tasks (along with their dependencies), and ensure proper monitoring of each development phase.
But their use goes beyond project tracking — Gantt charts are also ideal for visually representing the time span of any event or activity. Each bar on the chart clearly shows a specific duration, making complex timelines easy to understand at a glance.
Use Case
Today's use case is related to the world of aviation. Specifically, we’ll represent—visually—all the flights operated by an airline’s aircraft over the course of a single day.
Additionally, we’ll group these flights based on the crew operating them, which in aviation is known as pairing—that is, the set of flights operated by a single crew during the day.
By "crew," we mean all the personnel required to operate a flight.
What You’ll Need to Build a Gantt Chart in Tableau Desktop:
• Mark Type: Gantt Bar or Automatic
• Columns Shelf: Date or time field (continuous measure)
• Rows Shelf: Dimensions you want to display
• Size: Continuous measure
Steps to Build Our Gantt Chart
Step 1.
Since we want to represent all the flights operated by the different aircraft of a company in a single day, we’ll start by filtering the specific day to visualize. Then, drag the Aircraft ID field—which uniquely identifies each of the company’s aircraft—onto the Rows shelf.

Step 2.
To represent the duration of flights operated by different aircraft throughout the day, we’ll need to add a Date and Time field in the Columns shelf to show the departure times of each flight. We’ll drag the Flight_Time_Start field (set as an exact date, so it will be a continuous date field) to the Columns shelf, and in the Marks card, select either Automatic or Gantt Bar.
At this point, you’ll see the different start times for each flight on the selected day, for every aircraft. This will result in one mark for each flight of each aircraft.

Step 3.
Now that we have a mark indicating the start of each flight for every aircraft, we need to represent the duration of each flight. To do this, we need to create a continuous measure that provides the duration of each flight. In our dataset, we have both the flight start time and end time, so we’ll create a calculated field to determine the flight duration.
Flight Duration = Flight_Time_End - Flight_Time_Start.
Once the calculated field is created, drag it to the Size shelf to adjust the size of each flight according to its duration. This will visually represent all the flights with their respective durations.

We can add the departure and arrival airport information, as well as the flight's departure and arrival times, to complete the Gantt chart.

Step 4. Extra Analysis:
We can enrich the analysis by adding information about Pairings. A Pairing is defined as the set of flights operated by a crew (the number of crew members needed to operate an aircraft) in a single day. Due to operational restrictions, crew members have limited flight hours and cannot operate all the flights they want in a day.
It’s important to note that the flights an aircraft operates in a day may be grouped into multiplepairings. This is because, due to the aforementioned operational restrictions, a single crew cannot operate all of an aircraft's flights in one day, and multiple crews would be required.
To represent the duration of the pairings in our Gantt chart and see which flights they group, we need the following:
Step 4.1: We’ll create a dual axis by adding a new Date and Time field in the Columns shelf, which will represent the start time of each Pairing. (We’ll set it as an exact date, so it will be a continuous date field). In the Marks card, select either Automatic or Gantt Bar.
At this point, you’ll see the different start times for each pairing on the selected day, for every aircraft. This will result in one mark for each pairing.
Step 4.2: Now that we have a mark indicating the start time of each Pairing for every aircraft, we need to represent the duration of each Pairing. To do this, we need to create a continuous measure that gives us the duration of each pairing. In our dataset, we have both the start time and the end time of the flights, so we’ll create a calculated field to determine the duration of the pairings.
In this case, since each pairing may involve more than one flight, we need to calculate the difference between the end time of the last flight in the pairing and the start time of the first flight in the pairing.
Pairing Duration = MAX([Flight_Time_End]) - MIN([Flight_Time_Start])
To ensure each pairing is represented in the Gantt chart with the correct size, simply drag the newly created field to the Size shelf, and all pairings with their respective durations will be displayed on the Gantt chart.
Step 4.3: Now, all that’s left is to create a dual axis so that each Pairing groups the flights it consists of, and adjust the colors to our liking.
Mastering Gantt charts in Tableau isn’t just about charting tasks—it’s about unlocking new layers of clarity in your data. Whether you’re mapping flight schedules or project timelines, the right visualization turns complexity into insight. What kind of clarity could the right chart unlock in your data? If this sparked ideas, let’s talk. At Datwin, we’re here to help you evolve your data practice—from day one.