SynfraCore
Synfracore
Start Learning
Navigation

Academies

Platform

RoadmapsLabsCertificationsInterviewPYQsAI AssistantCareer
Start Learning Free🗺️ Learning Roadmaps

TableauOverview

What it is, why it matters, architecture and key concepts

✍️
Written by senior engineers. Reviewed for technical accuracy.· Updated 2025 · SynfraCore Tableau Team
Expert Content

Tableau — Data Visualisation and Business Intelligence

Tableau is the leading enterprise BI tool. It transforms raw data into interactive dashboards that non-technical users can explore. Learning Tableau opens data analyst, BI developer, and data scientist roles.

Tableau Products

Tableau Desktop:    Build visualisations and dashboards (Windows/Mac)
Tableau Server:     Share and publish within organisation (on-premise)
Tableau Cloud:      SaaS version of Tableau Server
Tableau Public:     Free, all work is public
Tableau Prep:       Data cleaning and transformation pipeline
Tableau Reader:     View packaged workbooks (free, no editing)

Core Concepts

Workbook (.twbx):   Everything — data, worksheets, dashboards
Worksheet:          Single visualisation
Dashboard:          Collection of worksheets + filters + text
Story:              Sequence of dashboards that tell a narrative

Data pane:
  Dimensions (blue): Categorical — names, dates, IDs, regions
  Measures (green):  Numeric — revenue, quantity, count
  
Marks:
  Color, Size, Label, Detail, Tooltip, Shape
  Dragging a field to marks encodes it visually

Building Visualisations

Show Me panel: Automatically suggests chart type based on fields selected

Chart type selection guide:
  Bar chart:        Compare categories (Sales by Region)
  Line chart:       Trends over time (Monthly Revenue)
  Scatter plot:     Correlation between two measures
  Map:              Geographic data (Sales by State)
  Pie/Donut:        Part of whole (max 5 categories)
  Treemap:          Hierarchical proportions
  Heat map:         Two dimensions with colour intensity
  Gantt chart:      Project timelines
  Box plot:         Distribution and outliers
  
Dual axis:
  Drag second measure to right axis
  Right-click → Synchronise Axis
  Change mark type per axis (bar + line combo)

Calculated Fields

// Basic calculation
[Sales] - [Cost]

// Conditional
IF [Sales] > 10000 THEN "High"
ELSEIF [Sales] > 5000 THEN "Medium"
ELSE "Low"
END

// Date calculations
DATEDIFF('day', [Order Date], [Ship Date])

// Running total
RUNNING_SUM(SUM([Sales]))

// Year over year growth
(SUM([Sales]) - LOOKUP(SUM([Sales]), -1)) / 
ABS(LOOKUP(SUM([Sales]), -1))

// Rank within partition
RANK(SUM([Sales]))

LOD (Level of Detail) Expressions — The Power Feature

LOD expressions compute at a different granularity than the view.

// FIXED — ignore view filters, compute at specified level
{ FIXED [Customer ID] : SUM([Sales]) }
// "Total sales per customer" regardless of what the view shows

// INCLUDE — more granular than view
{ INCLUDE [Order ID] : SUM([Sales]) }
// Average order value when view is at customer level

// EXCLUDE — less granular than view  
{ EXCLUDE [Month] : SUM([Sales]) }
// Annual total on a monthly view

// Common use: % of total
SUM([Sales]) / { FIXED : SUM([Sales]) }

// Cohort analysis: first purchase date per customer
{ FIXED [Customer ID] : MIN([Order Date]) }

Dashboard Design Best Practices

Layout:
  Most important KPIs: Top left (eye tracking follows Z pattern)
  Filters: Top or right side, visible
  Context/title: Clear and concise
  
Interactivity:
  Use filters as actions (click bar → filter other charts)
  Highlight actions (hover → highlight related)
  URL actions (click → open external link)
  
Colour:
  One primary colour + one accent
  Diverging palette for positive/negative
  Sequential for quantities
  Accessible: Colour-blind safe palettes (avoid red-green alone)

Performance:
  Extract data sources (not live connection for dashboards)
  Aggregate data before Tableau (fewer rows = faster)
  Limit marks: Over 100K marks → performance degrades
  Context filters: Reduce data early in pipeline

Connecting to Data

Live connection:  Every interaction queries the database (real-time but slow)
Extract (.hyper): Snapshot of data in Tableau format (fast, not real-time)
Publish extract:  Schedule refresh on Tableau Server/Cloud

Supported sources:
  Databases: PostgreSQL, MySQL, Snowflake, BigQuery, Redshift, SQL Server
  Files: Excel, CSV, JSON, Spatial files
  Cloud: Salesforce, Google Analytics, Marketo
  ODBC/JDBC: Any database with driver

Interview Topics

What is the difference between FIXED, INCLUDE, and EXCLUDE LOD expressions?

FIXED computes at a specified level completely independent of the view — even ignoring dimension filters. INCLUDE adds specified dimensions to the level of detail, making the calculation more granular than the view. EXCLUDE removes specified dimensions from the calculation, making it less granular. The most common use is FIXED for cohort analysis and totals.

When would you use an Extract vs Live connection?

Extract when dashboard performance is the priority, data doesn't change frequently, or you need to work offline. Live connection when real-time data is essential (financial dashboards, operational monitoring) and you can tolerate the query latency. Large live connections can make dashboards unusable — always test performance with realistic data volumes.

Share:
Join our Community
Daily tips, job alerts, interview help — join engineers learning together
Up Next
TableauPrerequisites
What to know or set up before starting
Also Worth Exploring
← Back to all Tableau modules
Prerequisites