Curated interview practice questions with answers. These are practice scenarios, not a verified list of past interview questions.
About ZS Associates hiring for Tableau roles
ZS is a management consulting and technology firm known for its work with pharmaceutical and life sciences companies on sales, marketing and analytics. Its India offices in Pune, Gurugram and Bengaluru handle analytics, data engineering and technology delivery. It hires for business analysts, decision analytics associates, data engineers and data scientists.
For Tableau roles, this ZS Associates practice set focuses most on Table Calculations (6), Dashboards and Tableau Server (5), Charts and Visual Design (4), Tableau Fundamentals (4). It has 4 easy, 23 medium, 3 hard questions, so you can start easy and work up to the harder ones.
Company type
Consulting
Headquarters
Evanston, Illinois, USA
Main India offices
Pune, Gurugram, Bengaluru
ZS Associates Tableau interview process
Online assessment (aptitude + analytics)
Case interview
Technical interview
Managerial round
HR round
Typical pattern based on public candidate experiences. Rounds vary by role, team and year.
Solved for ZS AssociatesStart 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.
A union stacks tables with the same structure on top of each other, adding rows rather than columns. It is used for monthly or regional files such as Sales_Jan, Sales_Feb and Sales_Mar. Tableau supports manual unions and wildcard unions that pick up files or sheets matching a name pattern, and adds Table Name and Path fields to identify the source of each row.
A dashboard is a collection of sheets, filters, legends, text, images and objects arranged on one canvas so users can see related views together and interact through actions. A story is a sequence of story points, each showing a sheet or dashboard in a particular state, used to present a narrative such as how sales changed and why. Stories suit presentations, dashboards suit monitoring.
03
Business wants financial year April to March in reports. How do you handle it?
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.
04
Tell me about a time you found a data quality issue before stakeholders did.
Situation: while refreshing a weekly revenue dashboard I noticed one region had dropped 60 percent overnight. Task: confirm whether it was real. Action: I checked row counts in the source, found a failed ETL load for two days, informed the data engineering team and added a warning banner. Result: the leadership meeting used corrected figures, and we added an automatic row-count check to the pipeline.
05
A stakeholder says the dashboard is too crowded. How do you redesign it?
Ask which questions they need answered first. Follow a top-down layout: KPIs at the top, main trend and comparison charts in the middle, details at the bottom or on drill-through. Remove decorative elements, reduce colours, align objects in containers, use white space and consistent fonts, and move secondary filters into a collapsible panel using show and hide buttons.
Moving Avg:
WINDOW_AVG(SUM([Sales]), -2, 0)
This averages the current month and the two previous months. Compute along month. Use a dual axis to show actual sales as bars and the moving average as a line, which smooths seasonal noise for trend analysis.
07
When would you choose an LOD over a table calculation?
Choose an LOD when the result must be used as a dimension, a filter, in another data source level calculation, or must stay correct regardless of view layout, such as a customer's first purchase. Choose a table calculation for sequence-based logic such as running totals, ranks, moving averages and previous period values. LODs run in the database; table calcs run locally on the result set.
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.
09
A stakeholder asks for a pie chart with 15 categories. What do you suggest?
Explain that a pie with 15 slices is hard to read because people compare angles poorly. Suggest a sorted horizontal bar chart showing values and percentages, which makes ranking clear, or group the smallest categories into Others and show the top five. If they still want a pie, limit it to a few slices. Offer both and let them choose based on readability.
10
After rearranging the view, your percent of total gives wrong numbers. Why?
The table calc was probably set to Table Across or Table Down, which depends on layout. When fields move between Rows and Columns, the direction changes. Edit the table calculation and set Compute Using to Specific Dimensions with the correct addressing fields. Then the calculation stays correct even if users or developers reorganise the sheet.
Put the KPI dimension on Rows and continuous MONTH(Order Date) with SUM(Sales) on a separate column, choose line marks, and set Independent Axis Ranges for each row via Edit Axis. Remove gridlines, axes, headers and borders, and highlight the last point using a calculation such as IF LAST() = 0 THEN SUM([Sales]) END as a dual axis circle.
12
How do you change the default number format of a measure?
Right-click the measure in the Data pane, choose Default Properties, then Number Format, and pick currency, percentage or custom format with decimal places and units such as thousands or millions. For Indian reports, a custom format can show the rupee symbol. Default formatting applies everywhere the field is used, while formatting a pill only affects that one sheet.
13
An Employee ID field is being summed in your view. What do you do?
Employee ID is numeric, so Tableau classified it as a measure. Right-click it in the Data pane and choose Convert to Dimension, and optionally Convert to Discrete. Now it acts as a label rather than an aggregated number. If you need the number of employees, use COUNTD(Employee ID) instead of SUM. Fixing default properties early avoids wrong numbers across all sheets.
14
A client wants dashboards embedded in their internal web portal. How would you approach it?
Use Tableau's embedding API or the Tableau web component to embed views in the portal, with single sign-on such as SAML or connected apps for authentication so users do not log in twice. Ensure users have licences and correct permissions, apply row-level security, set the dashboard size to fit the portal, and use the API to pass filters or parameters from the page.
15
After joining Orders with Returns, total sales went up. What happened?
The join type or grain caused duplication. If Returns has multiple rows per order, an inner or left join repeats each order line, so SUM(Sales) inflates. Fix it by using a relationship instead of a join, aggregating Returns to order level before joining, or using an LOD to deduplicate. Always check row counts before and after a join to catch this problem early.
16
Tell me about a time you pushed back on a stakeholder's request.
Situation: a sales director asked me to remove returns from revenue on the leadership dashboard to show higher growth. Task: keep reporting accurate while meeting his need. Action: I explained the impact on other reports, showed gross and net side by side with clear labels, and escalated the definition to finance for a final decision. Result: finance confirmed net revenue, and the director accepted it.
MoM Growth:
(SUM([Sales]) - LOOKUP(SUM([Sales]), -1))
/ ABS(LOOKUP(SUM([Sales]), -1))
Compute along month. The first month returns null because there is no previous value. Format as percentage and colour positive and negative values differently for quick reading.
LOOKUP(expression, offset) returns the value of an aggregate from another row in the partition, relative to the current row. LOOKUP(SUM([Sales]), -1) returns the previous period, useful for period-over-period difference. Positive offsets look forward. FIRST() and LAST() can be used as offsets to compare every row with the first or last period.
19
How do you improve dashboard performance in Tableau?
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.
20
Using FIXED with SUM in the view gives a huge inflated number. Why?
FIXED returns a value repeated on every row at the fixed level. If the view is at a finer level, or at the total level, SUM adds the repeated values, multiplying the result. Use MIN, MAX or AVG to bring back the single value, or make sure the view level matches the FIXED dimensions. This is a frequent mistake when using table-level totals.
21
Users complain that a dashboard with 10 dropdown filters is slow. How do you improve it?
Measure first with performance recording. Reduce the number of quick filters and replace some with dashboard filter actions. Change Only Relevant Values to All Values in Database where cascading is not needed. Add an Apply button to multi-select filters, convert high-cardinality filters to wildcard search, and move fixed restrictions to data source filters. Re-test after changes.
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.
23
Tell me about a time your analysis changed a business decision.
Situation: the marketing team planned to increase spend on a segment they believed was growing. Task: check the trend before budget approval. Action: I built a cohort analysis using FIXED first purchase date and found repeat purchase rates in that segment had fallen for three quarters. Result: they shifted part of the budget to retention campaigns, and repeat purchases improved the next quarter.
24
A business user wants a what-if analysis for price increase on profit. How would you build it?
Create a float parameter Price Change with a slider range of -20 to 20 percent. Build calculations: New Revenue = SUM([Sales]) * (1 + [Price Change]) and New Profit = New Revenue - SUM([Cost]). Optionally include an elasticity parameter for demand change. Show current versus projected profit side by side, and label assumptions clearly on the dashboard.
25
A rank changes when the user selects a filter value. The business wants overall rank. What do you do?
Normal filters remove rows before the rank is computed, so rank recalculates on the filtered set. Either replace the filter with a table calculation filter such as LOOKUP(MIN([Product]), 0), which hides rows after ranking, or compute rank with an LOD-based approach. Explain both behaviours to the user and confirm which rank they actually need.
26
How do you create a hierarchy and a group from the Data pane?
For a hierarchy, drag Sub-Category onto Category in the Data pane and name it, then drag Product below Sub-Category. For a group, right-click a dimension, choose Create, then Group, select members with Ctrl, and click Group, renaming it. Optionally tick Include Other to bucket remaining members. Both appear as new fields and can be used on any sheet.
27
A string calculation CONTAINS([Product], 'phone') misses some rows. Why?
CONTAINS is case-sensitive in many sources, so Phone or PHONE will not match. Use CONTAINS(LOWER([Product]), 'phone') to normalise case. Also trim extra spaces and check for nulls. If you need complex patterns, use REGEXP_MATCH where the data source supports it. Test the result by counting matched rows and reviewing samples.
28
How do you build a line chart showing monthly sales trend?
Drag Order Date to Columns, right-click and choose continuous MONTH. Drag Sales to Rows; Tableau draws a line. Add Category to Color for multiple lines, enable markers from Color options, and add a trend line from the Analytics pane if needed. Format the axis, add a title and tooltip, and check that the latest incomplete month is labelled or excluded.
29
Tell me about a time you explained a complex chart to a non-technical stakeholder.
Situation: a regional head could not understand a scatter plot of discount versus profit. Task: help him act on it. Action: I replaced jargon with a simple story, highlighted the quadrant of loss-making high-discount orders, added a clear title and tooltip, and walked through two examples. Result: he reduced discounts above 30 percent in two regions, and margins improved the next quarter.
30
The dashboard should open showing yesterday's data by default but allow users to change the date. How do you do it?
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.
Tips to crack the ZS Associates Tableau interview
Learn pharma commercial basics like sales force effectiveness, market share and prescriber data for case questions.
Practise case interviews and guesstimates with a clear structure, as consulting rounds are central at ZS.
Revise Excel, SQL and basic statistics, since associate roles involve heavy data analysis.
Keep a one-minute story ready for every project on your CV: problem, your part, tools, result.
Practise the hard questions on this page aloud; ZS Associates interviewers usually ask follow-ups on your first answer.
Frequently asked questions
How many rounds are there in the ZS Associates Tableau interview?
Candidates usually go through 5 stages: Online assessment (aptitude + analytics); Case interview; Technical interview; Managerial round; HR round. The exact rounds change with the role, team, location and your experience, so confirm the process with the recruiter.
Which topics should I prepare for the ZS Associates Tableau interview?
This practice set leans on Table Calculations (6), Dashboards and Tableau Server (5), Charts and Visual Design (4), Tableau Fundamentals (4). Revise those first, then practise explaining one or two of your own projects end to end, because most ZS Associates interviewers ask you to walk through real work.
Are these the exact questions asked at ZS Associates?
No. These are curated practice questions that match the skills and difficulty usually tested in consulting interviews like ZS Associates's. They are not a leaked or verified list of past questions.
Where does ZS Associates hire Tableau professionals in India?
ZS Associates has large teams in Pune, Gurugram, Bengaluru. Openings and locations change often, so check the ZS Associates careers page and filter by city and experience.