Skip to content

Tableau Developer Interview Questions & Answers

40 questions for Tableau Developer interviews — 3 easy, 31 medium, 6 hard.

About the Tableau Developer role

A Tableau Developer builds interactive dashboards and reports from business requirements, writes calculations, LOD expressions and table calculations, designs data sources and publishes content on Tableau Server or Cloud. The role involves working with business users to understand KPIs, with data engineers for data, and ensuring accuracy, performance and good design. It is one of the most common BI openings in Indian IT services and analytics firms.

Dashboard development LOD expressions SQL Data modelling Performance tuning
Solved for this roleStart practicing
3 QUESTIONS FREESign up to unlock the full question bank and track your progress.Unlock every question and answer, then continue practising company-wise and package-wise.
3 questions free Unlock the rest in seconds
01

An extract refresh fails every morning on Server. How do you troubleshoot?

Save to ▾
Show answer
Check the background task and job history for the error message. Common causes are expired or changed database passwords, firewall or VPN issues, schema changes like renamed columns, timeout because the query is too large, or Backgrounder overload at peak time. Fix credentials, update the data source, optimise the query or move the schedule. Set up failure email notifications.
02

What are subscriptions and data-driven alerts?

Save to ▾
Show answer
Subscriptions email users an image or PDF snapshot of a view or dashboard on a schedule, such as every Monday at 9 AM. Data-driven alerts notify users when a measure crosses a threshold, such as inventory below safety stock, checked when data refreshes. Both help business users who do not open dashboards daily, but too many can cause email fatigue.
03

You need to show the percent of customers who ordered more than once. How do you do it?

Save to ▾
Show answer
Create Orders per Customer: {FIXED [Customer ID] : COUNTD([Order ID])}. Summing a row-level 1 or 0 flag would count order lines, not customers, so instead use COUNTD(IF [Orders per Customer] > 1 THEN [Customer ID] END) / COUNTD([Customer ID]). Format as percentage and break it down by region or segment to compare loyalty.
04

How do you calculate each category's percent of total sales using LOD?

Save to ▾
Show answer
Total Sales: {FIXED : SUM([Sales])} Percent of Total: SUM([Sales]) / MIN([Total Sales]) Place Category on Rows and Percent of Total on Columns, formatted as percentage. Add Region to context filters if the total should respect the region selection.
05

Are LOD expressions dimensions or measures?

Save to ▾
Show answer
FIXED LODs with dimensions return row-level values that can be used as dimensions, for example a customer's first order year used for cohort analysis. Tableau puts them in measures by default when the result is numeric, but you can convert them to dimension. INCLUDE and EXCLUDE results are measures because they depend on the view. Converting FIXED to a dimension is common for bucketing.
06

Tell me about a time you handled conflicting requests from two teams.

Save to ▾
Show answer
Situation: finance wanted revenue after returns while sales wanted gross revenue on the same dashboard. Task: satisfy both without confusion. Action: I arranged a short call, documented both definitions, and added a parameter to switch between gross and net with a clear label and tooltip definitions. Result: both teams used the dashboard, and the definitions became part of our data dictionary.
07

What is the difference between Tableau Server and Tableau Cloud?

Save to ▾
Show answer
Tableau Server is self-hosted on the company's own infrastructure or cloud machines, so IT manages installation, upgrades, scaling and security. Tableau Cloud is a fully hosted software-as-a-service platform managed by Tableau, with automatic upgrades. Cloud reaches on-premise data through Tableau Bridge. Companies with strict data residency or customisation needs may prefer Server.
08

Business wants financial year April to March in reports. How do you handle it?

Save to ▾
Show answer
Right-click the date field, choose Default Properties, then Fiscal Year Start, and select April. Tableau then shows FY quarters and years based on April. For a label such as FY 2025-26, create a calculation: IF MONTH([Order Date]) >= 4 THEN STR(YEAR([Order Date])) + '-' + RIGHT(STR(YEAR([Order Date]) + 1), 2) ELSE STR(YEAR([Order Date]) - 1) + '-' + RIGHT(STR(YEAR([Order Date])), 2) END.
09

A dashboard compares stores of very different sizes and small stores are invisible. What do you do?

Save to ▾
Show answer
Use relative metrics such as growth percent, sales per square foot or target achievement instead of absolute sales. Consider log scale for wide ranges, separate small multiples by store size band, or independent axes. Sorting and highlighting outliers also help. Explain the chosen normalisation in the subtitle so readers understand the comparison.
10

How do calculations affect performance, and what are best practices?

Save to ▾
Show answer
Row-level calculations on large live sources run in the database for every query, so heavy string operations and nested IFs can be slow. Best practices are to use booleans and integers instead of strings, prefer CASE for fixed lists, move complex logic to the database or extract, materialise calculations in extracts, avoid unnecessary COUNTD, and keep LODs and table calculations simple.
11

What are good practices for colour use in dashboards?

Save to ▾
Show answer
Use colour with a purpose: highlight key data and keep the rest neutral. Use sequential palettes for ordered values, diverging palettes around a meaningful midpoint such as zero profit, and categorical palettes with fewer than eight colours. Keep colours consistent across sheets, check colour-blind friendliness, avoid red and green only, and never use colour as the only way to convey meaning.
12

How do you calculate the current month and previous month sales in a KPI?

Save to ▾
Show answer
Current Month: IF DATETRUNC('month', [Order Date]) = DATETRUNC('month', TODAY()) THEN [Sales] END Previous Month: IF DATETRUNC('month', [Order Date]) = DATEADD('month', -1, DATETRUNC('month', TODAY())) THEN [Sales] END MoM %: SUM([Current Month]) / SUM([Previous Month]) - 1
13

You get the error cannot mix aggregate and non-aggregate arguments. How do you fix it?

Save to ▾
Show answer
The formula mixes a row-level field with an aggregated one, such as IF [Sales] > AVG([Sales]). Either aggregate everything, for example IF SUM([Sales]) > 1000, or make everything row level. If you need to compare a row with an overall average, use an LOD such as [Sales] > {FIXED : AVG([Sales])}, which returns a row-level value that can be mixed safely.
14

How do maps work in Tableau and what is geocoding?

Save to ▾
Show answer
Tableau has built-in geocoding for countries, states, cities, postal codes and more, so assigning a geographic role generates latitude and longitude. You can build symbol maps with circles sized by a measure or filled maps coloured by a measure. For Indian data, district or custom regions may need spatial files such as shapefiles or GeoJSON, or custom geocoding imports.
15

What is the difference between a calculated field and an ad-hoc calculation?

Save to ▾
Show answer
A calculated field is created through the Analysis menu or Data pane and saved in the data source for reuse. An ad-hoc calculation is typed directly into a pill on Rows, Columns or the Marks card by double-clicking, useful for quick tests. Ad-hoc calcs can be dragged to the Data pane to save them. Saved fields are better for maintainability and naming.
16

Create age buckets for customers using a calculation.

Save to ▾
Show answer
Age Group: IF [Age] < 18 THEN 'Under 18' ELSEIF [Age] <= 25 THEN '18-25' ELSEIF [Age] <= 35 THEN '26-35' ELSEIF [Age] <= 50 THEN '36-50' ELSE '50+' END To sort buckets correctly, create a sort order calculation or sort manually.
17

What options does the Analytics pane provide?

Save to ▾
Show answer
The Analytics pane offers summarise options such as constant line, average line, median with quartiles, box plot and totals, model options such as average with confidence interval, trend line, forecast and clustering, and custom reference lines, bands, distributions and box plots. Dragging an item onto the view adds it at table, pane or cell scope.
18

How do you create a donut chart in Tableau?

Save to ▾
Show answer
Create a pie on the first axis using a measure on Angle and a dimension on Color. Put two copies of MIN(0) on Rows, set the second to circle mark, make it smaller and white, and select Dual Axis with synchronised axes. Place a total label on the inner circle. Use donuts only for two to four segments; bar charts are usually clearer.
19

How would you set up row-level security using a user entitlement table?

Save to ▾
Show answer
Create an entitlement table with Username and Region columns, maintained by the business or IT. Relate or join it to the fact table on Region. Create a calculation USERNAME() = [Username] and add it as a data source filter set to True. Publish the data source with embedded credentials and restrict download permissions. Test with View As or user impersonation for each role.
20

How do you create a navigation menu between multiple dashboards?

Save to ▾
Show answer
Add Navigation objects or buttons from the Objects pane, set each to go to a target dashboard, and style them with text or images. Place them in a horizontal container at the top of each dashboard for consistency. Use Go to Sheet actions for drill-through from charts. Hide sheets and use Show Sheets as Tabs off when publishing, so users rely on the custom menu.
21

How do you ensure your dashboards are actually used after launch?

Save to ▾
Show answer
Situation: an earlier dashboard I built had low usage after launch. Task: improve adoption on the next project. Action: I involved users in design, ran a short training session, added a how-to-use panel, set subscriptions for managers, and checked usage statistics monthly to remove unused views. Result: weekly active users doubled compared with the earlier dashboard, and feedback guided the next release.
22

Your map shows many cities with an unknown indicator. How do you fix it?

Save to ▾
Show answer
Click the unknown indicator and choose Edit Locations. Tableau shows unmatched names; correct spellings such as Bengaluru versus Bangalore, set the correct country and state context, or map them manually. Make sure State is in the view to resolve duplicate city names. For permanent fixes, clean names at the source or add latitude and longitude columns.
23

What is Tableau Pulse and how does it differ from dashboards?

Save to ▾
Show answer
Tableau Pulse is a metrics layer that delivers personalised KPI summaries with AI-generated insights in plain language, through the web, email or chat tools. Instead of opening a dashboard and exploring, users follow metrics such as weekly revenue and get notified about changes, drivers and trends. Dashboards remain better for deep exploration, while Pulse serves quick, proactive monitoring.
24

What is a published data source and why use it?

Save to ▾
Show answer
A published data source is a data connection with calculations, metadata and refresh schedules stored on Server or Cloud, which many workbooks can connect to. It provides a single version of truth, central refresh, and permissions, and can be certified by data stewards. Changes to calculations update all connected workbooks. It is a key practice for governance in enterprise Tableau.
25

Write a calculation for year-to-date sales compared with last year to date.

Save to ▾
Show answer
YTD Sales: IF YEAR([Order Date]) = YEAR(TODAY()) AND [Order Date] <= TODAY() THEN [Sales] END LYTD Sales: IF YEAR([Order Date]) = YEAR(TODAY()) - 1 AND [Order Date] <= DATEADD('year', -1, TODAY()) THEN [Sales] END Growth: (SUM([YTD Sales]) - SUM([LYTD Sales])) / SUM([LYTD Sales])
26

What is the Tableau Server architecture and its key processes?

Save to ▾
Show answer
Tableau Server runs processes such as Gateway for incoming requests, Application Server for the web interface and permissions, VizQL Server for rendering views, Backgrounder for extract refreshes and subscriptions, Data Server for published data sources, Data Engine (Hyper) for extracts, the Repository database for metadata, and File Store. Administrators scale by adding nodes and adjusting process counts, often isolating Backgrounder on separate nodes.
27

Users say the dashboard takes 30 seconds to load on Server but is fast in Desktop. What do you check?

Save to ▾
Show answer
Compare data connection, since Server may use a live connection through a slower network or different credentials. Record performance on Server using the performance recording parameter. Check concurrent load, VizQL and cache settings, the number of quick filters and marks, and whether extracts are refreshing at the same time. Ask the Server admin for resource usage and background job schedules.
28

How do you improve dashboard performance in Tableau?

Save to ▾
Show answer
Use the performance recorder to find slow queries and rendering. Use extracts with only needed fields and rows, aggregate data, reduce marks and sheets, limit quick filters and relevant values, prefer integer and boolean calculations, avoid heavy custom SQL, use fixed dashboard size for caching, and hide unused fields. Workbook Optimizer in Desktop also suggests improvements based on best practices.
29

What are site roles in Tableau Server or Cloud?

Save to ▾
Show answer
Site roles define the maximum capabilities a user can have. Creator users can connect to data, build in Desktop and Prep and publish. Explorer users can explore and web edit existing data sources, with Explorer (can publish) allowing publishing. Viewer users can view and interact with dashboards. Site Administrator roles manage users and content. Permissions on content further restrict what each user can do.
30

Count customers by the number of orders they placed.

Save to ▾
Show answer
Orders per Customer: {FIXED [Customer ID] : COUNTD([Order ID])} Convert it to a dimension and discrete, place it on Columns, and put COUNTD([Customer ID]) on Rows. The chart shows how many customers placed 1, 2, 3 or more orders, a common customer frequency analysis.
31

How does forecasting work in Tableau?

Save to ▾
Show answer
Tableau uses exponential smoothing models to forecast continuous time series. It chooses the best model, with or without trend and seasonality, based on the data and shows prediction intervals. You need a continuous date and a measure. Options include forecast length, aggregation level and ignoring the last incomplete period. It suits quick projections, while complex forecasting needs Python or R integration.
32

Describe a time a stakeholder disagreed with your visualisation choice.

Save to ▾
Show answer
Situation: a sales head wanted a 3D pie chart for regional share. Task: deliver what he needed while keeping the chart readable. Action: I made both versions, showed how the bar chart made the rank and gap between regions obvious, and kept his preferred colours. Result: he chose the bar chart for the monthly review and asked me to apply the same style to other reports.
33

How are LOD expressions different from table calculations?

Save to ▾
Show answer
LOD expressions are computed in the data source as part of the query, so they can be used as dimensions, in filters and inside other calculations. Table calculations run on the aggregated results already in the view, so they depend on the view layout and addressing. LODs are better for fixed levels such as customer totals, while table calcs suit running totals, ranks and differences.
34

What are the main table calculation functions?

Save to ▾
Show answer
Key functions are RUNNING_SUM, RUNNING_AVG, WINDOW_SUM, WINDOW_AVG, WINDOW_MAX, LOOKUP, PREVIOUS_VALUE, INDEX, FIRST, LAST, SIZE, RANK, RANK_DENSE, RANK_PERCENTILE and TOTAL. They operate on aggregates, so arguments must be aggregated, such as RUNNING_SUM(SUM([Sales])). WINDOW functions accept start and end offsets for moving calculations.
35

What does {FIXED : SUM([Sales])} return?

Save to ▾
Show answer
With no dimension, FIXED computes at the table level, returning grand total sales for the whole data source, after context and data source filters. It is useful for percent of total: SUM([Sales]) / MIN({FIXED : SUM([Sales])}). Since it repeats on every row, wrap it in MIN, MAX or AVG in the view rather than SUM, which would multiply the total.
36

The dashboard should open showing yesterday's data by default but allow users to change the date. How do you do it?

Save to ▾
Show answer
Create a date parameter with dynamic current value from a calculation such as MAX([Order Date]) or TODAY()-1, refreshing when the workbook opens. Filter the data with a calculation [Order Date] = [Selected Date] set to True. Show the parameter control. Users get yesterday by default and can pick another date without editing the workbook.
37

An interviewer asks you to find the highest-selling product in each category. How do you approach it?

Save to ▾
Show answer
Calculate category max: {FIXED [Category] : MAX({FIXED [Category], [Product Name] : SUM([Sales])})}. Then flag: IF {FIXED [Category], [Product Name] : SUM([Sales])} = [Category Max] THEN 'Top' END and filter to Top. A simpler alternative is a RANK table calculation computed along products within each category, filtering rank equal to 1.
38

How do you build a bullet chart for actual versus target?

Save to ▾
Show answer
Select Sales and Target with a dimension such as Region, then choose bullet graph from Show Me. Tableau puts Sales as bars and Target as a reference line with distribution bands. If the roles are reversed, right-click the axis and choose Swap Reference Line Fields. Add colour for achieved versus missed using a calculation comparing SUM(Sales) with SUM(Target).
39

A CSV loads dates as strings like 15-08-2025. How do you convert them?

Save to ▾
Show answer
Try changing the data type to Date first; Tableau may parse it automatically. If not, use DATEPARSE with the pattern: DATEPARSE('dd-MM-yyyy', [Date String]). For extracts and most databases this works reliably. Alternatively use MAKEDATE with INT of SPLIT parts. Then check for nulls, which indicate rows with a different format that need cleaning.
40

Describe how you work with data engineers on a BI project.

Save to ▾
Show answer
Situation: my dashboard needed customer data that was spread across three systems. Task: get a reliable, single table. Action: I wrote clear requirements with grain, fields and refresh needs, shared sample SQL, and reviewed their view together, testing counts against source systems. Result: they built a curated table, my dashboard became simpler and faster, and we reused the table for two other reports.

Frequently asked questions

What does a Tableau Developer do?

A Tableau Developer builds interactive dashboards and reports from business requirements, writes calculations, LOD expressions and table calculations, designs data sources and publishes content on Tableau Server or Cloud. The role involves working with business users to understand KPIs, with data engineers for data, and ensuring accuracy, performance and good design. It is one of the most common BI openings in Indian IT services and analytics firms.

Which skills are tested in a Tableau Developer interview?

Expect questions on Dashboard development, LOD expressions, SQL, Data modelling, Performance tuning. Most rounds also ask you to explain a project and solve one practical problem live.

How do I prepare for a Tableau Developer interview?

Revise Calculated Fields, LOD Expressions, Charts and Visual Design, Dashboards and Tableau Server first using the topic sheets, practise the questions on this page aloud, then do one full mock interview to practise timing.