Showing posts with label Tableau Interview Questions. Show all posts
Showing posts with label Tableau Interview Questions. Show all posts

Thursday, June 18, 2026

Top Tableau Scenario-Based Interview Questions Set -34 (1- 5) - Important

 

1. How would you calculate Month-to-Date (MTD), Quarter-to-Date (QTD), and Year-to-Date (YTD) Sales?

These are very common business reporting requirements.

MTD Sales

IF DATETRUNC('month',[Order Date])
=
DATETRUNC('month',TODAY())
THEN [Sales]
END

QTD Sales

IF DATETRUNC('quarter',[Order Date])
=
DATETRUNC('quarter',TODAY())
THEN [Sales]
END

YTD Sales

IF YEAR([Order Date])
=
YEAR(TODAY())
THEN [Sales]
END

Interview Follow-up: Difference between YTD and Running Total?

  • YTD resets every year.
  • Running Total continues across all periods.

2. How would you calculate Year-over-Year (YoY) Growth %?

A very frequently asked Tableau interview question.

(
SUM([Sales])
-
LOOKUP(SUM([Sales]),-1)
)
/
ABS(
LOOKUP(SUM([Sales]),-1)
)

Example:

YearSales
2024100K
2025120K

Growth = (120K-100K)/100K = 20%


3. How would you find customers who purchased in every month of the year?

Useful in customer loyalty analysis.

{ FIXED [Customer ID] :
COUNTD(
DATETRUNC('month',[Order Date])
)
}
= 12

Returns customers who purchased in all 12 months.


4. How would you identify the Top 20% Customers contributing 80% Revenue (Pareto Analysis)?

Sort customers by Sales descending.

RUNNING_SUM(SUM([Sales]))
/
TOTAL(SUM([Sales]))

Filter:

RUNNING_SUM(SUM([Sales]))
/
TOTAL(SUM([Sales]))
<= 0.8

This identifies the customers contributing to the first 80% of revenue.


5. How would you implement Row-Level Security (RLS) in Tableau?

One of the most important enterprise interview questions.

Security Table

UserRegion
AnitaEast
RaviWest

Join security table with fact table.

Create filter:

USERNAME() = [User]

Or

[Region] = ATTR([User Region])

Result:

  • Anita sees East data only.
  • Ravi sees West data only.

Interview Tip: If asked "How have you implemented RLS in Tableau?" mention:

  • Security Mapping Table
  • USERNAME() Function
  • Entitlement Table
  • Published Data Source Security

These are the approaches used in enterprise Tableau environments.

Tuesday, June 16, 2026

Top Tableau Scenario-Based Interview Questions Set -32 (1- 10) - Important

 

1. How would you identify customers who purchased in consecutive months?

Find customers whose purchase month difference is exactly 1.

DATEDIFF(
'month',
LOOKUP(MIN([Order Date]),-1),
MIN([Order Date])
) = 1

This helps analyze customer engagement and retention.


2. How would you identify customers whose latest purchase amount is greater than their first purchase amount?

Compare sales from first and latest purchase.

First Purchase Date

{ FIXED [Customer ID] :
MIN([Order Date])
}

Latest Purchase Date

{ FIXED [Customer ID] :
MAX([Order Date])
}

Flag customers where latest purchase value exceeds first purchase value.


3. How would you calculate the percentage of customers acquired each month?

Count first-time customers in a month divided by total customers.

COUNTD(
IF DATETRUNC('month',[Order Date]) =
{ FIXED [Customer ID] :
DATETRUNC('month',MIN([Order Date]))
}
THEN [Customer ID]
END
)
/
COUNTD([Customer ID])

4. How would you identify products that are sold together frequently?

Create combinations using Order ID.

COUNTD([Order ID])

Then analyze Product A and Product B combinations using self-join in the data source.

This is commonly called Market Basket Analysis.


5. How would you identify customers whose profit is increasing for 3 consecutive months?

Compare profit values across months.

SUM([Profit])
>
LOOKUP(SUM([Profit]),-1)

AND

LOOKUP(SUM([Profit]),-1)
>
LOOKUP(SUM([Profit]),-2)

Useful for identifying growing customers.


6. How would you calculate customer concentration risk?

Measure sales dependency on top customers.

WINDOW_SUM(
IF RANK(SUM([Sales])) <= 5
THEN SUM([Sales])
END
)
/
WINDOW_SUM(SUM([Sales]))

Shows % of revenue coming from Top 5 customers.


7. How would you identify customers whose order frequency is decreasing?

Compare current period order count with previous period.

COUNTD([Order ID])
<
LOOKUP(COUNTD([Order ID]),-1)

Helps identify customers at risk of churn.


8. How would you calculate the average discount given per customer?

Aggregate discount at customer level.

{ FIXED [Customer ID] :
AVG([Discount])
}

Useful for discount optimization analysis.


9. How would you identify products that are profitable but have declining sales?

Combine profit and sales trend.

SUM([Profit]) > 0

AND

SUM([Sales])
<
LOOKUP(SUM([Sales]),-1)

These products may need marketing support rather than pricing changes.


10. How would you identify regions where sales are increasing but profits are decreasing?

Compare sales growth and profit growth together.

SUM([Sales])
>
LOOKUP(SUM([Sales]),-1)

AND

SUM([Profit])
<
LOOKUP(SUM([Profit]),-1)

This often indicates excessive discounting or rising costs.


These are closer to the real Tableau interview scenarios asked in Deloitte, Accenture, Cognizant, TCS, Infosys, Capgemini, EY, KPMG, EXL, Tiger Analytics, Fractal, and BI Architect interviews than the basic Top-N and Running Total questions.

Monday, June 15, 2026

Top Tableau Scenario-Based Interview Questions Set -31 (1- 5)

 

1. How would you identify customers whose average order value is increasing month over month?

Calculate Average Order Value (AOV) and compare it with the previous month.

(
SUM([Sales]) / COUNTD([Order ID])
)
>
LOOKUP(
SUM([Sales]) / COUNTD([Order ID]),
-1
)

This identifies customers whose spending per order is growing.


2. How would you calculate the percentage of profitable orders?

Count profitable orders and divide by total orders.

COUNTD(
IF [Profit] > 0
THEN [Order ID]
END
)
/
COUNTD([Order ID])

This measures order quality rather than revenue volume.


3. How would you identify products that contribute more than 10% of category sales?

Compare product sales against category sales using FIXED LOD.

{ FIXED [Product Name] :
SUM([Sales])
}
/
{ FIXED [Category] :
SUM([Sales])
}
> 0.10

This helps identify key products within each category.


4. How would you calculate the average time between a customer's first and last purchase?

Calculate the duration of the customer relationship.

DATEDIFF(
'day',
{ FIXED [Customer ID] :
MIN([Order Date])
},
{ FIXED [Customer ID] :
MAX([Order Date])
}
)

This is often used in customer lifecycle analysis.


5. How would you identify categories whose sales are growing faster than the company average?

Compare category growth rate against overall growth rate.

Category Growth:

(
SUM([Sales])
-
LOOKUP(SUM([Sales]),-1)
)
/
ABS(LOOKUP(SUM([Sales]),-1))

Compare with Overall Average Growth:

(
SUM([Sales])
-
LOOKUP(SUM([Sales]),-1)
)
/
ABS(LOOKUP(SUM([Sales]),-1))
>
WINDOW_AVG(
(
SUM([Sales])
-
LOOKUP(SUM([Sales]),-1)
)
/
ABS(LOOKUP(SUM([Sales]),-1))
)

This highlights categories outperforming the business average growth rate.

Saturday, June 13, 2026

Top Tableau Scenario-Based Interview Questions Set -30 (1- 6)

 

1. How would you identify customers whose sales doubled compared to the previous year?

Compare current year sales with previous year sales and flag customers with >100% growth.

(
SUM([Sales])
-
LOOKUP(SUM([Sales]),-1)
)
/
ABS(LOOKUP(SUM([Sales]),-1))
>= 1

This identifies customers whose sales increased by 100% or more.


2. How would you calculate the percentage of products contributing to 80% of sales (Pareto Analysis)?

Calculate cumulative sales percentage and identify products within the 80% threshold.

RUNNING_SUM(SUM([Sales]))
/
TOTAL(SUM([Sales]))
<= 0.8

Sort products by Sales descending before applying the calculation.


3. How would you identify customers who purchased from all product categories?

Count distinct categories purchased by a customer and compare with total categories.

{ FIXED [Customer ID] :
COUNTD([Category])
}
=
{ FIXED :
COUNTD([Category])
}

This finds customers with purchases across every category.


4. How would you calculate average profit per active month for each product?

Divide total product profit by the number of months in which the product was sold.

{ FIXED [Product Name] :
SUM([Profit])
}
/
{ FIXED [Product Name] :
COUNTD(
DATETRUNC('month',[Order Date])
)
}

This helps compare products fairly regardless of sales duration.


5. How would you identify orders where sales are above the average order sales?

Compare each order's sales against the average order sales.

SUM([Sales])
>
WINDOW_AVG(SUM([Sales]))

Compute using Order ID.

This highlights unusually large orders.


6. How would you calculate the percentage of customers who are repeat customers?

Divide customers with more than one order by total customers.

COUNTD(
IF
{ FIXED [Customer ID] :
COUNTD([Order ID])
} > 1
THEN [Customer ID]
END
)
/
COUNTD([Customer ID])

This is a common customer loyalty metric.

Friday, June 12, 2026

Top Tableau Scenario-Based Interview Questions Set -29 (1- 5)

 

1. How would you identify customers whose profit margin is higher than the company average?

Compare customer profit margin against overall company profit margin.

{ FIXED [Customer ID] :
SUM([Profit]) / SUM([Sales])
}
>
{ FIXED :
SUM([Profit]) / SUM([Sales])
}

This helps identify highly profitable customers.


2. How would you calculate the percentage of sales contributed by the Top 10 customers?

First identify Top 10 customers, then divide their sales by total sales.

IF RANK(SUM([Sales])) <= 10
THEN SUM([Sales])
END

Contribution %:

WINDOW_SUM(
IF RANK(SUM([Sales])) <= 10
THEN SUM([Sales])
END
)
/
WINDOW_SUM(SUM([Sales]))

3. How would you identify products whose current month sales are lower than last month?

Compare current month sales with previous month sales.

SUM([Sales])
<
LOOKUP(SUM([Sales]),-1)

Compute using Month.

This highlights declining products.


4. How would you calculate customer tenure in days?

Calculate the number of days from first purchase until today.

DATEDIFF(
'day',
{ FIXED [Customer ID] :
MIN([Order Date])
},
TODAY()
)

This is commonly used in Customer Lifetime Value analysis.


5. How would you identify regions where profit growth is negative?

Compare current period profit against previous period profit.

(
SUM([Profit])
-
LOOKUP(SUM([Profit]),-1)
)
/
ABS(LOOKUP(SUM([Profit]),-1))
< 0

This identifies regions experiencing profit decline.

Tuesday, June 9, 2026

Top Tableau Scenario-Based Interview Questions Set - 26 (1- 10)

 

1. How would you calculate the difference between current month's sales and the average sales of the last 3 months?

Use a moving average and subtract it from current sales.

SUM([Sales]) -
WINDOW_AVG(SUM([Sales]),-2,0)

2. How would you identify customers whose total sales exceed ₹1,00,000?

Create a conditional flag.

IF { FIXED [Customer ID] : SUM([Sales]) } > 100000
THEN "High Value"
ELSE "Normal"
END

3. How would you find the first order amount for each customer?

Use FIXED LOD to get the first order date.

IF [Order Date] =
{ FIXED [Customer ID] : MIN([Order Date]) }
THEN [Sales]
END

4. How would you calculate month-over-month profit growth %?

Compare current month profit with previous month.

(
SUM([Profit]) -
LOOKUP(SUM([Profit]),-1)
)
/
ABS(LOOKUP(SUM([Profit]),-1))

5. How would you identify products that generated more than ₹50,000 profit?

Create a flag using FIXED LOD.

IF { FIXED [Product Name] : SUM([Profit]) } > 50000
THEN "Top Product"
END

6. How would you calculate average sales per order?

Divide sales by distinct order count.

SUM([Sales])
/
COUNTD([Order ID])

7. How would you identify customers whose latest order was placed this month?

Compare latest order month with current month.

DATETRUNC('month',
{ FIXED [Customer ID] : MAX([Order Date]) }
)
=
DATETRUNC('month',TODAY())

8. How would you calculate cumulative profit percentage?

Divide running profit by total profit.

RUNNING_SUM(SUM([Profit]))
/
TOTAL(SUM([Profit]))

9. How would you identify the top customer within each region?

Rank customer sales by region.

RANK(SUM([Sales])) = 1

Compute Using: Customer Name
Partition By: Region


10. How would you calculate the average monthly sales for each customer?

Calculate total sales per customer divided by active months.

{ FIXED [Customer ID] : SUM([Sales]) }
/
{ FIXED [Customer ID] :
COUNTD(DATETRUNC('month',[Order Date]))
}

This gives the average sales generated by a customer per active month.

Monday, June 8, 2026

Top Tableau Scenario-Based Interview Questions Set - 25 (1- 5)

 

1. How would you identify customers who purchased in the current month but not in the previous month?

Compare customer purchases between the current and previous month.

Example:

COUNTD(
IF DATETRUNC('month',[Order Date]) =
DATETRUNC('month',TODAY())
THEN [Customer ID]
END
)
>
COUNTD(
IF DATETRUNC('month',[Order Date]) =
DATEADD('month',-1,DATETRUNC('month',TODAY()))
THEN [Customer ID]
END
)

This helps identify newly active customers.


2. How would you calculate the percentage of orders that are profitable?

Divide profitable orders by total orders.

Example:

COUNTD(
IF [Profit] > 0
THEN [Order ID]
END
)
/
COUNTD([Order ID])

This measures the quality of orders rather than just revenue.


3. How would you identify the top-selling product within each sub-category?

Use a rank calculation partitioned by Sub-Category.

Example:

RANK(SUM([Sales])) = 1

Compute Using: Product Name
Partition By: Sub-Category


4. How would you calculate the average profit per customer?

Divide total profit by distinct customer count.

Example:

SUM([Profit])
/
COUNTD([Customer ID])

This shows the profitability of the customer base.


5. How would you identify customers whose sales contribute more than 5% of total company sales?

Calculate customer contribution percentage and filter.

Example:

SUM([Sales])
/
TOTAL(SUM([Sales]))
> 0.05

This highlights key customers contributing significantly to revenue.

Sunday, June 7, 2026

Top Tableau Scenario-Based Interview Questions Set - 23 (1- 5)

 

1. How would you identify customers whose average order value is greater than the overall average order value?

Calculate customer AOV and compare it with the overall AOV.

Example:

SUM([Sales]) / COUNTD([Order ID])
>
{ FIXED : SUM([Sales]) / COUNTD([Order ID]) }

This highlights customers spending more per order than the average customer.


2. How would you calculate the percentage of sales generated by new customers?

Identify first-time customers and divide their sales by total sales.

Example:

SUM(
IF [Order Date] =
{ FIXED [Customer ID] : MIN([Order Date]) }
THEN [Sales]
END
)
/
SUM([Sales])

This shows how much revenue comes from newly acquired customers.


3. How would you identify products with no sales in the last 12 months?

Compare the latest sale date for each product against today's date.

Example:

DATEDIFF(
'month',
{ FIXED [Product ID] : MAX([Order Date]) },
TODAY()
) > 12

This helps identify obsolete or inactive products.


4. How would you calculate the running count of distinct customers over time?

Use a running total on customer acquisitions.

Example:

RUNNING_SUM(
COUNTD([Customer ID])
)

Place Month on Columns and compute using Month.


5. How would you identify categories where profit margin is below the company average?

Compare category profit margin against overall profit margin.

Example:

SUM([Profit]) / SUM([Sales])
<
{ FIXED : SUM([Profit]) / SUM([Sales]) }

This quickly highlights underperforming categories that need attention.

Friday, June 5, 2026

Top Tableau Scenario-Based Interview Questions Set - 22 (1- 5)

 

1. How would you identify customers who have not placed any order in the last 90 days?

Calculate the difference between today's date and the customer's last order date.

Example:

DATEDIFF(
'day',
{ FIXED [Customer ID] : MAX([Order Date]) },
TODAY()
) > 90

2. How would you calculate the average sales of the Top 10 customers?

Rank customers by sales and average the Top 10.

Example:

IF RANK(SUM([Sales])) <= 10
THEN SUM([Sales])
END

Then place:

AVG([Top 10 Sales])

in the view.


3. How would you identify products whose sales are below the overall average sales?

Compare product sales against overall average sales.

Example:

SUM([Sales])
<
WINDOW_AVG(SUM([Sales]))

Compute using Product.


4. How would you calculate customer recency score?

Measure the number of days since the last purchase.

Example:

DATEDIFF(
'day',
{ FIXED [Customer ID] : MAX([Order Date]) },
TODAY()
)

Lower values indicate more recent customers.


5. How would you identify the top-performing sub-category within each category?

Rank sub-categories by sales within each category.

Example:

RANK(SUM([Sales])) = 1

Compute Using: Sub-Category
Partition By: Category

This returns the highest-selling sub-category for each category.