DZone
Thanks for visiting DZone today,
Edit Profile
  • Manage Email Subscriptions
  • How to Post to DZone
  • Article Submission Guidelines
Sign Out View Profile
  • Post an Article
  • Manage My Drafts
Over 2 million developers have joined DZone.
Log In / Join
Refcards Trend Reports
Events Video Library
Refcards
Trend Reports

Events

View Events Video Library

Zones

Culture and Methodologies Agile Career Development Methodologies Team Management
Data Engineering AI/ML Big Data Data Databases IoT
Software Design and Architecture Cloud Architecture Containers Integration Microservices Performance Security
Coding Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks
Culture and Methodologies
Agile Career Development Methodologies Team Management
Data Engineering
AI/ML Big Data Data Databases IoT
Software Design and Architecture
Cloud Architecture Containers Integration Microservices Performance Security
Coding
Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance
Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks

Generative AI has transformed nearly every industry. How can you leverage GenAI to improve your productivity and efficiency?

SBOMs are essential to circumventing software supply chain attacks, and they provide visibility into various software components.

Related

  • Beyond Code: The Crucial Role of Databases in Software
  • Using Envoy Proxy’s PostgreSQL and TCP Filters to Collect Yugabyte SQL Statistics
  • How Milvus Realizes the Delete Function
  • Text Analysis Within a Full-Text Search Engine

Trending

  • MCP Client Agent: Architecture and Implementation
  • Build AI Agents With MCP Server in C# and Run in VS Code
  • Engineering High-Scale Real Estate Listings Systems Using Golang, Part 1
  • Cell-Based Architecture: Comprehensive Guide
  1. DZone
  2. Data Engineering
  3. Databases
  4. Tableau Dashboard Development Best Practices

Tableau Dashboard Development Best Practices

There are many ways a user can create a dashboard but there are ways to make it better. I will go over the best practices to follow while creating these reports.

By 
Dhaval Patolia user avatar
Dhaval Patolia
·
Jun. 30, 25 · Analysis
Likes (1)
Comment
Save
Tweet
Share
1.1K Views

Join the DZone community and get the full member experience.

Join For Free

Tableau is a great tool for turning data into clear, interactive visuals. But to get the most out of it, it’s important to follow a few best practices. These help keep dashboards clean, fast, and easy to understand. Whether you're building reports for yourself or a wider team, sticking to some core development habits can save time, avoid headaches, and make your work more impactful.

Data Sources and Extracts

It is the main section of Tableau where you begin the configuration to pull the data from any source from this list.

Single Table (Logical) vs. Multi-Table (Physical) Data Sources


Single / Logical Tables
Multi / Physical Tables
Pros
  • Easy for someone else to replicate
  • Can use data source filters
  • Can use directly in database without additional logic
  • Memory-efficient
  • Faster extracts
  • Reduces report specific views/tables in database
Cons
  • Redundant data
  • Slower extract times
  • Data source filters cannot be used
  • Hard to replicate


Data Source Classifications

  • Simplest Data Source: When the data consists of a single table.
  • Typical Data Source: if the data source is tables joined together in Tableau via direct joins or relationships.
  • Complex Data Source: if the data source leverages a database view or Custom SQL Query where complex logic is being applied (e.g., subqueries, aggregations, window functions, etc.)

Extracts

It is best to use extracts when developing and deploying new reports to server. It is helpful to ensure data sources are limited only to the data (i.e. only columns and records applicable to the report). It will greatly improve the speed and space usage of reports. 

Extract settings are found by editing the data source settings:

Data source setting in Tableau


What is a Tableau Data Extract?

Extracts are saved subsets of data that are used to improve performance or take advantage of Tableau functionality not available or supported in the original data source. When we create extracts, we are specifying the total amount of data that should be copied from the source into an extract based on the columns saved in the Tableau data source and the data source filters applied.

See Tableau documentation for more information on extracts: 

How a Single Tableau Data Extract Impacts a Process

For every embedded workbook data source or published Tableau data source which uses an object from a database, Tableau Server will execute a query on database at extract time to transmit the relevant columns and rows from the database to Tableau server.

Factors of Poor Extract Performance

  • the size of the table or resulting table (# or rows, # of columns).
  • network latency between database and Tableau Server.
  • extracts scheduled during peak database processing hours.

Tableau executes all joins directly on the database prior to transmitting data which can impact database performance if the tables are very large or join logic is not optimized.

Best Practices 

  • Use Physical table extracts by default unless you're intentionally building a Logical tabledata source.
  • Minimize complex logic in views or Custom SQL. Instead, move logic to an automated post-processing procedure to reduce the impact on the database server.
  • Extracts should happen less frequently and off-peak.

Filters

The screenshots for filters below shows data from the sample superstore dataset from Tableau.

Data Source Filters

It is a way to cut out large chunks of data to speed up extracts and dashboard views.  It can be helpful to use a restrictive data source filter for development and then remove prior to release.   

Data source filters



Dashboard Filters

  • Generally, Multiple Values (dropdown) is a good filter option, but you can use others if appropriate. Using Wildcard Matchcan be faster if you're searching through a long list (like a list of employees).
  • Limiting to Only Relevant Values will restrict the options based on other filters. You can also limit to Only Values in Context, which applies the context filters first.
  • Customize to show/hide the "All" value.   Check Show Apply Button to let users select multiple options before refreshing the dashboard, instead of triggering a refresh after each click.
  • Consciously choose which worksheets to apply the filter to. If you have multiple sheets in a dashboard, you’ll likely want the filter to apply to Selected Worksheets instead of Only This Worksheet.

filter to apply to Selected Worksheets instead of Only This Worksheet

filter to apply to Selected Worksheets instead of Only This Worksheet


User Filters

Some workbooks require that people only see certain information based on who they are (i.e. I should only see projects I am assigned to, or I should only see people in my reporting line). You can use the USERNAME() and ISMEMBEROF() functions in Tableau to accomplish this.  See below calculated field, where the field "Data Permissions" is only true if the Tableau user is in the Sales group or is in the reporting line of the person or is the people manager of the person. This field then added to the Tableau Filters such that Data Permissions = TRUE.  

Note:  Tableau is case-sensitive, so the UPPER() function is used.

Data Permissions



Key Dashboard Elements, With an Emphasis on User Experience

It is important to keep in mind the overall user experience when building a Tableau dashboard. We should choose to configure workbooks to...

  • be easy to use and navigate.
  • view sizing - will it be used primarily by teams on laptops or teams in-office?
  • filter configurations
  • given view sizing, should filters be at the top or side?
  • will using a show/hide container affect how filter information appears in email subscriptions?
  • actions 

It is always considered a good practice to include the actions in all the dashboards, this enables the user to click on different data elements of the dashboard.  A user can drill down to see how a specific aggregated value was generated. For many use cases it is also advisable to include a URL as an action. A user can click on it and it will take them to a webpage that will provide more information related to the cell that clicked on.

  • naming: The worksheet and dashboards naming conventions should be named appropriately
  • be responsive and performant 
  • default filter settings - should all rows be hidden by default?
  • data volume - is the dataset larger than necessary?
  • extract & logical complexity - is the data source extracts completing in a timely manner on the server?

Adding Info Text and Help Text

Info / help text should be provided where it can help resolve user confusion when using or navigating the workbook; all other information should be included in the documentation. Help text can contained in a floating container to help reduce dashboard crowding. 

Helpful content which can be considered to be added as info / help text:

  • Clarifying that there are filters being applied.
  • Noting a specific assumption or rule applied in the data.
  • Highlighting a feature or dashboard action.
  • Indicating a data source or support email for a particular data point.

Extensions

It comes as an add-on feature from Tableau where users can download them from their website. It has helped me with several scenarios. Few of them are covered below.

Export All (often updated to say "Easy Export" in dashboards)

  • very helpful for any view where users would like to export data to excel.
  • best practice is to include only key columns and to format nicely to improve user experience.
  • Caution! - using this extension with a large dataset can cause dashboards to load much slower.

Dynamic Date Range Filter

  • helpful for automatically moving the date filter window as time goes on (e.g. always show -4 weeks to +8 weeks relative to today).
  • takes a few seconds to be applied in a view.
  • applied upon using the view containing the extension...therefore, may need to be added across all views even though the filter applies across the workbook.

Dashboard Layout and Design

Tableau Dashboard Sizes

It's helpful to try to be consistent across an entire workbook and considerate of how the full audience will be engaging with the workbook (i.e. via email subscription, on laptop/while traveling, in office/with monitors).

Broad Audience - often on laptop or traveling, less familiar with navigating Tableau, may often opt for subscriptions

  • I have found that 1150 x 750 works well for heavy laptop audiences.
  • Minimizing show/hide containers helps with navigating the workbook.
  • Oversized dashboards can be difficult to navigate due to the need of excessive scrolling.

Small Audience - often in-office, comfortable with navigating Tableau

I have found that option to select PowerPoint (1600x900) works well for most of the scenarios.

select PowerPoint (1600x900) in Tableau


Mobile Layouts

I have found that these are more confusing than helpful, and that they can cause weird layout behavior when on laptop. It is recommended that all alternative layouts be removed (i.e. tablet, phone).

Mobile layout in Tableau


Dashboard Permission

A common practice we follow is to create AD groups specific to each project and site. This helps restrict the users based on the data they should have access to.

  • Reader AD: The users who are a part of this group can only view the dashboard.
  • Publisher AD: Users in this group have admin rights to manage the content of the project
  • Site Admin AD: They are defined at the site level, and they manage the access for the whole site.
  • Server Admin AD: This is the Tableau administrator group who manages and controls the content of the entire Tableau server.

Conclusion

Great dashboards aren’t just about looking good. They should feel intuitive, load fast, and make it easy for people to find what they need. When you focus on layout, filters, interactivity, and clarity, the final product becomes something users actually enjoy exploring.

Database User experience Filter (software)

Opinions expressed by DZone contributors are their own.

Related

  • Beyond Code: The Crucial Role of Databases in Software
  • Using Envoy Proxy’s PostgreSQL and TCP Filters to Collect Yugabyte SQL Statistics
  • How Milvus Realizes the Delete Function
  • Text Analysis Within a Full-Text Search Engine

Partner Resources

×

Comments

The likes didn't load as expected. Please refresh the page and try again.

ABOUT US

  • About DZone
  • Support and feedback
  • Community research
  • Sitemap

ADVERTISE

  • Advertise with DZone

CONTRIBUTE ON DZONE

  • Article Submission Guidelines
  • Become a Contributor
  • Core Program
  • Visit the Writers' Zone

LEGAL

  • Terms of Service
  • Privacy Policy

CONTACT US

  • 3343 Perimeter Hill Drive
  • Suite 100
  • Nashville, TN 37211
  • [email protected]

Let's be friends: