Toolmingo
Guides24 min read

50 Tableau Interview Questions (With Answers)

Top Tableau interview questions with clear answers — covering data connections, LOD expressions, calculations, dashboards, performance, and Tableau Server administration.

Tableau interviews test your understanding of data connections, calculations, LOD expressions, dashboard design, performance optimisation, and Tableau Server administration. This guide covers 50 of the most common questions — with clear answers and practical examples.

Quick reference

Topic Most asked questions
Fundamentals Components, file types, data source types
Data Connections Live vs extract, joins, unions, blending
Calculations Calculated fields, table calcs, parameters
LOD Expressions FIXED, INCLUDE, EXCLUDE
Filters Order of operations, context filters, data source filters
Visualisations Dual axis, reference lines, chart types
Dashboards Actions, layouts, containers
Performance Extracts, aggregation, performance recording
Tableau Server Publishing, permissions, schedules, projects
Advanced Sets, groups, bins, Tableau Prep

Fundamentals

1. What is Tableau and what are its main product components?

Tableau is a visual analytics platform that translates data queries into interactive visualisations without requiring SQL or programming.

Main components:

Product Purpose
Tableau Desktop Build visualisations and workbooks
Tableau Server On-premise sharing and collaboration
Tableau Cloud SaaS version of Tableau Server (formerly Tableau Online)
Tableau Public Free tier — published content is publicly accessible
Tableau Prep Builder Visual ETL and data preparation tool
Tableau Prep Conductor Automate and schedule Prep flows on Server/Cloud
Tableau Mobile iOS/Android app for consuming dashboards
Tableau CRM (Einstein Analytics) Salesforce-native analytics (now Salesforce Analytics)

2. What are the different file types in Tableau?

Extension Name Description
.twb Tableau Workbook XML file; references data but doesn't embed it
.twbx Packaged Workbook ZIP archive containing .twb + data/images
.tds Tableau Data Source Connection metadata only (no data)
.tdsx Packaged Data Source .tds + embedded data extract
.hyper (.tde) Tableau Data Extract Columnar extract file (.hyper replaces .tde)
.tfl Tableau Flow Tableau Prep flow definition
.tflx Packaged Flow Flow + embedded data
.tbm Tableau Bookmark Single saved sheet

Use .twbx when sharing with others who don't have access to the original data source.


3. What is the difference between a Dimension and a Measure in Tableau?

Dimension Measure
Type Categorical / qualitative Numeric / quantitative
Pill colour Blue Green
Default aggregation None (used for grouping) SUM, AVG, COUNT, etc.
Role in viz Rows, columns, colour, filters Size, axis values
Examples Country, Category, Date (discrete) Sales, Profit, Quantity

Dimensions define the granularity of a view. Measures are aggregated based on the dimensions present.


4. What is the difference between discrete and continuous fields?

Discrete Continuous
Pill colour Blue Green
Axis type Creates headers (labels) Creates a continuous axis
Typical use Categorical grouping, colour Axes with ranges
Date example Month of Year (Jan, Feb…) Date field as a timeline

Right-click any field to toggle between discrete and continuous.


5. What is VizQL?

VizQL (Visual Query Language) is Tableau's proprietary language that translates drag-and-drop actions into database queries. When you drag a field to a shelf, Tableau generates VizQL, which is then converted to the native SQL dialect of the connected data source. This abstraction enables non-SQL users to query any database through visual interactions.


Data Connections

6. What is the difference between a Live connection and an Extract?

Live Connection Extract (.hyper)
Data freshness Real-time Point-in-time snapshot
Performance Depends on data source speed Usually faster (in-memory columnar)
Network required Yes No (after extract created)
Best for Frequently changing data, small datasets Large datasets, slow databases, offline use
Scheduling N/A Refresh schedules on Server/Cloud

When to use extracts: dashboards with millions of rows, slow database connections, or scenarios requiring offline access.


7. What are the types of data connections in Tableau?

  1. Direct connections — built-in connectors (Salesforce, Google Sheets, PostgreSQL, Snowflake, etc.)
  2. ODBC/JDBC — generic connectivity for unsupported databases
  3. Web Data Connector (WDC) — JavaScript API for connecting to web APIs
  4. Published Data Sources — shared data sources on Tableau Server/Cloud
  5. Spatial files — shapefiles, GeoJSON for map visualisations
  6. Statistical files — R .rdata, SAS .sas7bdat, SPSS .sav

8. What is the difference between a Join and a Blend in Tableau?

Join Data Blend
Mechanism SQL JOIN at the database level Left join performed in Tableau
Data sources Same data source Different data sources
Primary source N/A Left (primary) data source
Granularity Controlled by join keys Secondary aggregated to primary's level
Performance Generally faster Can be slower; aggregation step
Accuracy Exact row-level May lose rows without matching keys

Blending limitation: Secondary source fields appear with an orange icon and are always aggregated to the primary source's granularity.


9. What is a Union in Tableau and when would you use it?

A Union appends rows from one table to another — equivalent to SQL UNION ALL. Use it when:

  • You have identical schemas split across multiple files (e.g., monthly CSVs)
  • Data for different time periods is stored in separate tables

In Tableau Desktop: drag a second table to the canvas and drop it in the Union zone that appears below the first table.

Tableau adds a Sheet field automatically to track which source each row came from.


10. What is a Relationship in Tableau (introduced in version 2020.2)?

Relationships are the default way to combine tables in Tableau since version 2020.2, replacing the need to define joins upfront.

Key differences from Joins:

Relationship Join
When evaluated At query time, based on fields used At data source creation
Granularity Preserved per table Rows multiplied if not careful
Nulls Table with nulls retained Depends on join type
Aggregation Correct across all tables Can double-count
Context Multi-table model Single flat table

Relationships behave like smart, context-sensitive joins that prevent many common pitfalls (row duplication, incorrect aggregations).


Calculations

11. What are the types of calculations in Tableau?

Type Evaluated Scope Example
Basic (row-level) Per row in data Before aggregation [Profit] / [Sales]
Aggregate After aggregation At viz level SUM([Sales]) / SUM([Profit])
Table Calculation After all SQL On viz result RUNNING_SUM(SUM([Sales]))
LOD Expression Controlled scope Fixed/include/exclude {FIXED [Region] : SUM([Sales])}

12. What is a Table Calculation and what are common examples?

Table Calculations operate on the aggregated query result displayed in the view — they don't touch the database. They depend on the Compute Using setting (Table Across, Pane Down, specific dimension, etc.).

Common Table Calculations:

Function Description
RUNNING_SUM() Cumulative total
WINDOW_SUM() Sum across a window
RANK() / RANK_DENSE() Rank within partition
PERCENT_OF_TOTAL() Row value as % of total
LOOKUP(expr, offset) Value from a relative row
FIRST() / LAST() Index from start/end of partition
SIZE() Number of rows in partition
WINDOW_AVG() Average across window
// Running sum of Sales partitioned by Category, ordered by Order Date
RUNNING_SUM(SUM([Sales]))
// Compute Using: Order Date, partitioned by Category

13. What is a Parameter in Tableau?

A Parameter is a dynamic value that can be inserted into a calculation, filter, or reference line. Parameters let users interact with the workbook without changing the underlying data.

Use cases:

  • Let users switch between metrics: IF [Metric Selector] = "Sales" THEN SUM([Sales]) ELSE SUM([Profit]) END
  • Dynamic top-N filter: RANK(SUM([Sales])) <= [Top N]
  • Dynamic reference lines (target value)
  • Date range selectors

Parameters are created via Analysis → Create Parameter and exposed via Show Parameter Control.


14. What are Sets in Tableau?

A Set is a custom field that defines a subset of members from a dimension based on conditions or manual selection.

Type How defined
Fixed set Manually selected members
Computed set Condition (top N, formula) — updates with data

Sets produce In/Out members. You can use sets in calculated fields:

IF [Top Customers] THEN "Top" ELSE "Other" END

Set Actions (Tableau 2018.3+) let dashboard interactions update set membership dynamically.


15. What are Groups and Bins?

Groups — manually combine dimension members into higher-level categories.
Example: group "Alabama", "Alaska", "Arizona"… into "West", "East" regions when no region field exists.

Bins — create equal-width buckets from a numeric measure to build histograms.
Example: bin [Age] into 5-year intervals. Tableau creates a dimension like [Age (bin)].


LOD Expressions

16. What is an LOD (Level of Detail) Expression?

An LOD expression controls which dimensions a calculation uses, independent of the dimensions in the view. This solves problems where you need a different granularity than what the view shows.

Syntax:

{ [FIXED | INCLUDE | EXCLUDE] <dimension(s)> : <aggregate expression> }

17. What is the difference between FIXED, INCLUDE, and EXCLUDE?

LOD Type Behaviour Use Case
FIXED Uses only the specified dimensions Anchored calculations independent of view
INCLUDE Uses view dimensions plus specified dimensions Finer granularity than view
EXCLUDE Uses view dimensions minus specified dimensions Coarser granularity than view

Examples:

// FIXED: Customer's total sales regardless of what's in the view
{ FIXED [Customer Name] : SUM([Sales]) }

// INCLUDE: Sales per Order within the current view context
{ INCLUDE [Order ID] : SUM([Sales]) }

// EXCLUDE: Regional total regardless of sub-category in view
{ EXCLUDE [Sub-Category] : SUM([Sales]) }

18. Give a real-world FIXED LOD example.

Problem: Show the percentage of each customer's orders that contain returns.

// Step 1: Total orders per customer
{ FIXED [Customer Name] : COUNTD([Order ID]) }

// Step 2: Returned orders per customer
{ FIXED [Customer Name] : COUNTD(IF [Returned] = "Yes" THEN [Order ID] END) }

// Step 3: Ratio
[Returned Orders per Customer] / [Total Orders per Customer]

This works even when the view is at Product level — FIXED anchors the calculation to Customer regardless.


19. What is the order of operations (Order of SQL) in Tableau?

Tableau evaluates filters in this order (highest to lowest precedence):

  1. Extract Filters — applied when extract is created
  2. Data Source Filters — applied to all sheets using the data source
  3. Context Filters — create a temporary table; top-N and fixed LODs respect this
  4. Dimension Filters — filter on categorical fields
  5. Measure Filters — filter on aggregated measures
  6. Table Calculation Filters — filter after table calcs are computed

Critical: FIXED LOD expressions are evaluated before dimension filters but after context filters. This is why FIXED may include filtered-out values — unless you use a context filter.


20. How do you ensure a FIXED LOD respects a dashboard filter?

By default, FIXED LODs ignore dimension filters. To make them respect a filter, promote that filter to a Context Filter (right-click → Add to Context). Context filters run before LOD computation.


Filters

21. What are the different types of filters in Tableau and their order?

Filter Type Purpose Notes
Extract Filter Subset data at extract creation Permanent until rebuild
Data Source Filter Apply to entire workbook Across all sheets
Context Filter Creates a temporary subset LODs and top-N respect this
Dimension Filter Filter categorical fields After LOD evaluation
Measure Filter Filter aggregated measures After aggregation
Table Calculation Filter Filter computed results Last to run

22. What is a Context Filter?

A Context Filter creates an independent subset of data that other filters, top-N sets, and LODs use as their universe. Without a context filter:

  • Top-10 customers = top 10 out of ALL customers
  • With a context filter on Region = "West": top 10 out of West customers only

To create: right-click a filter pill → Add to Context (turns grey).

Performance note: Context filters create a temporary table — useful for filtering large extracts to a smaller working set.


23. What is the difference between a data source filter and a dimension filter?

Data Source Filter Dimension Filter
Scope All sheets using this data source Current sheet only
Position in order Before all sheet-level filters After LOD/context
Use case Security row filtering, always-exclude data Sheet-specific slicing

Visualisations

24. How do you create a dual-axis chart in Tableau?

  1. Add a measure to the Rows shelf (creates a chart)
  2. Drag a second measure to the Rows shelf
  3. Right-click the second pill → Dual Axis
  4. Right-click the secondary axis → Synchronize Axis (if needed)
  5. On the Marks card, change each measure's mark type independently

Common use: bars for sales, line for profit margin on the same chart.


25. What are Reference Lines, Reference Bands, and Reference Distributions?

Description
Reference Line Horizontal/vertical line at a fixed value, average, median, or parameter
Reference Band Shaded area between two values (e.g., target range)
Reference Distribution Multiple quantile lines (percentiles, standard deviations)
Box Plot Automated quartile distribution using reference distribution

Add via Analytics Pane → drag to viz.


26. What chart types can Tableau create and when should you use each?

Chart Type Best For
Bar chart Compare categories
Line chart Trends over time
Scatter plot Correlations between measures
Heat map Density across two dimensions
Treemap Part-to-whole with hierarchy
Bubble chart Three variables (X, Y, size)
Gantt chart Project timelines
Box plot Distributions and outliers
Bullet chart Actual vs target
Waterfall chart Running totals with additions/subtractions
Histogram Distribution of a single measure
Map Geographic data

27. How do you create a calculated field for Year-over-Year growth?

// Current year sales
{ FIXED YEAR([Order Date]) : SUM([Sales]) }

// Previous year using LOOKUP (Table Calculation approach)
(SUM([Sales]) - LOOKUP(SUM([Sales]), -1)) / ABS(LOOKUP(SUM([Sales]), -1))

// LOD approach
([This Year Sales] - [Last Year Sales]) / [Last Year Sales]

Format as percentage. Set Compute Using to Year for the Table Calculation version.


28. What is a Trend Line and how is it different from a Reference Line?

Trend Line Reference Line
Purpose Statistical model fit Static or aggregate value marker
Model types Linear, logarithmic, exponential, polynomial, power N/A
Shows R-squared, p-value Value label only
Interaction Changes with filtered data Can be static or dynamic

Add via Analytics Pane → Trend Line. Right-click to edit the model or describe the trend.


Dashboards

29. What are Dashboard Actions and what types exist?

Dashboard Actions create interactivity between sheets and external targets:

Action Type Behaviour
Filter Action Selection in source sheet filters target sheet(s)
Highlight Action Selection highlights related marks in target
URL Action Opens a URL (web page, email, custom protocol)
Go to Sheet Action Navigate to another sheet/dashboard
Parameter Action Selection updates a parameter value
Set Action Selection updates a Set's members

Configure via Dashboard → Actions. Trigger on hover, select, or menu.


30. What is the difference between tiled and floating objects on a dashboard?

Tiled Floating
Layout Grid-based, snap to layout Free position anywhere
Responsiveness Adapts to container resizing Fixed pixel position
Best for Structured layouts Overlays, custom annotations

Containers (horizontal/vertical) are key for responsive tiled layouts — they distribute space among children proportionally.


31. How do you make a dashboard responsive for different screen sizes?

  1. Device Layouts — define separate layouts for Desktop, Tablet, Phone
  2. Automatic sizing — set dashboard size to "Automatic" (expands to browser)
  3. Range sizing — specify min/max dimensions
  4. Containers — use nested horizontal/vertical containers with percentage widths
  5. Avoid absolute pixel sizes for text and objects when possible

Performance

32. What causes a Tableau dashboard to load slowly?

Common causes and fixes:

Cause Fix
Live connection to slow database Switch to extract
Too many marks on one sheet Aggregate, filter, or split into multiple sheets
Complex LOD expressions Simplify or pre-compute in database/Prep
Many dashboard sheets loading simultaneously Use dashboard actions to load sheets on demand
Unused data source joins Remove unnecessary joins
High-cardinality dimensions Reduce members, use bins/groups
Non-aggregated data Enable "Aggregate Measures" in Analysis menu
Too many cross-database joins Pre-join in Tableau Prep

33. How do you use Performance Recording in Tableau Desktop?

  1. Help → Settings and Performance → Start Performance Recording
  2. Interact with the dashboard or workbook
  3. Help → Settings and Performance → Stop Performance Recording

Tableau opens a new workbook showing a Gantt chart of query execution, layout computation, and rendering times. Look for:

  • Long Query bars → optimise the data source or SQL
  • Long Layout bars → simplify dashboard layout
  • Long Rendering bars → reduce mark count

34. How can extracts be optimised for performance?

Technique How
Extract filters Exclude irrelevant rows at creation
Aggregation Enable "Aggregate data for visible dimensions"
Materialise calculations Compute calculated fields in the extract
Hide unused fields Reduce extract size
Incremental refresh Refresh only new rows (requires an incrementing key)
Partition Large Hyper extracts can be partitioned logically

35. What is the difference between a full refresh and an incremental refresh?

Full Refresh Incremental Refresh
Replaces All data Appends new rows only
Speed Slower Faster for large datasets
Requires Nothing extra An incrementing column (date, ID)
Use when Data can be deleted/modified Append-only data (logs, events)
Risk Higher database load Won't capture updates to existing rows

Tableau Server & Cloud Administration

36. What is a Project in Tableau Server/Cloud?

A Project is a container for organising workbooks, data sources, and flows — similar to a folder. Projects support:

  • Nested projects (subfolders)
  • Permissions set at project level (inherit to child projects and content)
  • Content ownership and certification

Best practice: one project per team or business domain, with a locked permissions model so only admins can grant access.


37. What are the user roles in Tableau Server/Cloud?

Role Capabilities
Server Admin Full access to all content, settings, users
Site Admin Creator Manage a site, create/publish content
Site Admin Explorer Manage site, can't create content
Creator Publish workbooks, connect to data sources
Explorer (Can Publish) View and edit published content, can publish
Explorer View and interact with published content
Viewer View and interact (limited); cannot edit or publish
Unlicensed No access

Roles are additive — higher roles include all lower capabilities.


38. How do Row-Level Security (RLS) work in Tableau?

Option 1: User Filters — filter data based on USERNAME() or USERDOMAIN():

[Sales Rep] = USERNAME()

Apply this as a data source filter.

Option 2: Entitlement table — join a permissions table to your data:

// Entitlement table: email, region_access
// Filter: [email] = USERNAME()

Option 3: VPD (Virtual Private Database) — database-native RLS passed via initial SQL.

Option 4: Data policies (Tableau Data Management) — centralised RLS on published data sources.


39. What is content certification in Tableau Server/Cloud?

Certification marks a data source or workbook as trusted and approved for use across the organisation. Certified content:

  • Displays a certification badge
  • Surfaces higher in search results
  • Can include a certification note and certifier name

Only Publisher or Admin-level users with permission can certify content. It's used to steer users away from duplicate/unofficial data sources.


40. What are Subscriptions and Data-Driven Alerts?

Feature Description
Subscription Scheduled email snapshot of a view/dashboard (PDF or PNG)
Data-Driven Alert Email triggered when a measure crosses a threshold

Subscriptions are time-based (daily at 8am). Alerts are condition-based (notify when Sales < 10,000). Both require a configured SMTP server on Tableau Server.


Advanced

41. What is Tableau Prep and when should you use it vs Desktop?

Tableau Prep Builder is a visual ETL (Extract, Transform, Load) tool for data preparation before connecting to Tableau Desktop.

Task Tableau Desktop Tableau Prep
Clean/reshape raw data Limited ✅ (cleaning steps, scripts)
Union many files Basic ✅ (wildcard union)
Complex joins across sources Limited ✅ (visual join editor)
Pivot columns to rows Basic ✅ (multi-field pivot)
Deduplicate Manual calc ✅ (Remove Duplicates step)
Schedule automated refreshes No ✅ (via Prep Conductor)
Visualise results interactively No (profile only)

42. What is the difference between SUM and TOTAL in Tableau?

SUM([Sales]) — aggregates the Sales field at the current view's granularity.

TOTAL(SUM([Sales])) — a Table Calculation that returns the total across the current partition (similar to WINDOW_SUM).

// Percentage of total using TOTAL
SUM([Sales]) / TOTAL(SUM([Sales]))

TOTAL respects Compute Using settings; use { FIXED : SUM([Sales]) } if you need an absolute total independent of view structure.


43. How do you handle NULL values in Tableau calculations?

// Replace NULL with 0
ZN([Profit])

// Custom null handling
IFNULL([Discount], 0)

// Conditional
IF ISNULL([Region]) THEN "Unknown" ELSE [Region] END

In filters: NULLs are excluded by default in dimension filters. Uncheck "Exclude Null Values" in the filter dialogue to include them.


44. What are the string functions available in Tableau?

Function Description Example
LEFT(str, n) First n characters LEFT([Name], 3)
RIGHT(str, n) Last n characters RIGHT([Name], 4)
MID(str, start, len) Substring MID([SKU], 3, 5)
LEN(str) Length LEN([Email])
UPPER / LOWER Case conversion LOWER([Country])
TRIM / LTRIM / RTRIM Remove whitespace TRIM([City])
REPLACE(str, old, new) Find and replace REPLACE([Code], "-", "")
CONTAINS(str, sub) Boolean substring test CONTAINS([Product], "Pro")
STARTSWITH / ENDSWITH Prefix/suffix test STARTSWITH([SKU], "A")
SPLIT(str, delim, part) Split on delimiter SPLIT([Email], "@", 2)
REGEXP_MATCH Regex match (some DBs) REGEXP_MATCH([Phone], "^\d{10}$")

45. What are date functions in Tableau?

Function Description
TODAY() Current date
NOW() Current date and time
YEAR([Date]) Year number
MONTH([Date]) Month number (1–12)
DAY([Date]) Day of month
DATEPART('quarter', [Date]) Quarter (1–4)
DATEDIFF('day', [Start], [End]) Difference in date parts
DATEADD('month', 3, [Date]) Add date parts
DATENAME('month', [Date]) Month name string
DATETRUNC('month', [Date]) Truncate to period start
ISDATE(str) Boolean date check

46. What is the INDEX() function used for?

INDEX() returns the position of the current row in the Table Calculation partition (1, 2, 3…). Common uses:

// Show only every nth row (label every 5th)
IF INDEX() % 5 = 0 THEN SUM([Sales]) END

// Dynamic top-N with parameter
IF INDEX() <= [Top N Parameter] THEN SUM([Sales]) END

// Colour alternating rows
IF INDEX() % 2 = 0 THEN "Even" ELSE "Odd" END

Set Compute Using to control the partition direction.


47. What is the difference between WINDOW_AVG and RUNNING_AVG?

WINDOW_AVG RUNNING_AVG (=RUNNING_SUM/INDEX)
Scope All rows in the partition Rows up to and including current
Result Same for all rows Changes per row
Use case Show overall average on every row Cumulative moving average
// Moving 3-period average
WINDOW_AVG(SUM([Sales]), -2, 0)  // previous 2 + current

48. How do you publish a data source to Tableau Server/Cloud?

In Tableau Desktop:

  1. Server → Publish Data Source (or via the data source tab right-click)
  2. Choose the target server, project, and name
  3. Set permissions (inherit from project or customise)
  4. Optionally embed credentials or prompt users
  5. Set extract refresh schedule (if applicable)
  6. Click Publish

Published data sources can be used by multiple workbooks and centrally governed.


49. What are the common anti-patterns in Tableau development?

Anti-pattern Problem Fix
Overusing LOD expressions Complex, slow queries Pre-compute in database or Prep
Too many marks in one view Slow rendering, visual noise Aggregate or filter data
Live connection to transactional DB Slow, query-per-filter Use extract
Embedding large images Workbook file bloat Host images externally
Building everything in one workbook Hard to maintain Split by subject area
Using EXCLUDE when FIXED is needed Wrong granularity Understand LOD semantics
No context filter with top-N Wrong top-N universe Add context filter
Hardcoded values in calculations Brittle, hard to update Use Parameters

50. How does Tableau compare to Power BI and Looker?

Feature Tableau Power BI Looker
Best for Exploration, pixel-perfect viz Microsoft ecosystem, self-service Code-first, governed metrics
Language VizQL, Tableau Calc DAX / Power Query LookML
Pricing (creator) ~$75/user/mo ~$10/user/mo Custom (enterprise)
Self-hosting Tableau Server Power BI Report Server Looker (GCP)
Data model In-tool (relationships) In-tool (Power Query) LookML (version-controlled)
Embedded analytics Tableau Embedded Power BI Embedded Looker Embedded
Learning curve Moderate–High Moderate High (requires LookML)
Mobile Tableau Mobile Power BI Mobile Looker Mobile
Git integration Limited None (native) Full (LookML in Git)

Common mistakes

Mistake Impact Fix
Confusing row-level vs aggregate calcs Wrong results Know which calculation type to use
Forgetting LOD respects context, not dimension filters FIXED returns unfiltered values Add context filter
Using data blending when join is possible Aggregation artefacts Use joined data source
Not synchronising dual axes Misleading visualisation Right-click axis → Synchronize
Using too many detail marks Performance issues Aggregate to needed granularity
Not refreshing extract after schema change Broken calculations Rebuild extract after schema changes
Hardcoding date ranges Dashboard breaks over time Use relative date filters or parameters
Over-nesting table calculations Difficult to debug Break into intermediate calculations

Tableau vs Power BI vs Looker vs Metabase

Tableau Power BI Looker Metabase
Type Commercial BI Commercial BI Enterprise semantic layer Open source BI
Strengths Exploration, viz quality M365 integration, price Governed metrics, LookML Ease of use, free tier
Weaknesses Price, Microsoft gap Tableau viz flexibility Learning curve, cost Scale, enterprise features
Self-hosted Tableau Server Report Server Yes (GCP) Yes
SQL required No No Yes (LookML) Optional

FAQ

Q: What is the difference between COUNTD and COUNT in Tableau?
COUNT counts all non-null values (can include duplicates). COUNTD counts distinct values. Use COUNTD([Order ID]) for unique order count, COUNT([Order ID]) for total rows with an order.

Q: Can you use Python or R in Tableau?
Yes, via TabPy (Python) or Rserve (R). Configure the connection in Help → Settings and Performance → Manage Analytics Extension Connection. Then use SCRIPT_INT, SCRIPT_REAL, SCRIPT_STR, SCRIPT_BOOL table calculations.

Q: What is a "Mark" in Tableau?
A mark is a single data point rendered on the canvas — a bar segment, a dot, a line point. The number of marks = combinations of dimension values in the view. High mark counts slow rendering.

Q: How do you show the top 10 products by sales?

  1. Drag Product to Rows, SUM(Sales) to Columns.
  2. In the filter dialogue for Product → Top tab → By field: SUM(Sales) top 10.
  3. If other filters are active, add the main filter to Context first.

Q: What is Tableau's hyper file vs the older .tde format?
.hyper (introduced Tableau 10.5) is the modern extract format. It uses a columnar storage engine with better compression, faster queries, and support for partial appends. .tde files are automatically converted to .hyper on first use in modern versions.

Q: How do you version-control Tableau workbooks?
.twb files are XML and can be committed to Git. Use .twb (not .twbx) for version control — .twbx is a binary ZIP. Tools like Tableau Document API or Workbook Formatter can help normalise XML for cleaner diffs. Tableau Cloud/Server also maintains revision history natively.

Related tools

Keep reading

All Toolmingotools are free & run in your browser

No sign-up, no upload, no watermark. Your files never leave your device.

Browse all tools