Tiger Analytics Power BI Interview Questions & Answers
Curated interview practice questions with answers. These are practice scenarios, not a verified list of past interview questions.
About Tiger Analytics hiring for Power BI roles
Tiger Analytics is an AI and analytics consulting company working with clients in consumer goods, retail, insurance, banking and healthcare. Its India offices handle data engineering, data science and ML engineering work. It hires for data analysts, data scientists, data engineers and ML engineers. Many projects run on major cloud data platforms.
For Power BI roles, this Tiger Analytics practice set focuses most on Advanced DAX and Time Intelligence (6), Power Query and Data Transformation (6), Performance Optimisation and Administration (5), Power BI Service, Sharing and Security (4). It has 3 easy, 22 medium, 5 hard questions, so you can start easy and work up to the harder ones.
Company type
Analytics
Headquarters
Santa Clara, California, USA
Main India offices
Chennai, Bengaluru, Hyderabad
Tiger Analytics Power BI interview process
Online assessment (SQL + Python + statistics)
Technical round 1
Technical round 2 or case round
Managerial round
HR round
Typical pattern based on public candidate experiences. Rounds vary by role, team and year.
Solved for Tiger AnalyticsStart 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
Create a calculated column that categorises customers by their lifetime sales.
Customer Band =
VAR s = CALCULATE(SUM(Sales[Amount]))
RETURN
SWITCH(TRUE(),
s >= 500000, "Platinum",
s >= 100000, "Gold",
s > 0, "Silver",
"No Purchase")
This is a column on the Customer table; CALCULATE triggers context transition so each row gets its own customer's sales.
02
Users complain the report page is cluttered with 22 visuals. How do you redesign it?
I would ask which decisions the page supports and keep only visuals that answer those questions. Then group related KPIs into a top row of cards, keep two or three main charts, and move details to drill-through or tooltip pages. Slicers can move into a collapsible panel using bookmarks. Fewer visuals also make the page load faster.
Field parameters let report users switch which measure or dimension a visual shows using a slicer, for example choosing between Sales, Profit and Units, or switching the axis between Region and Category. They are created through Modeling, New parameter, Fields, which generates a calculated table. They reduce the number of duplicate visuals and bookmarks needed for dynamic reports.
Sales YTD = TOTALYTD([Total Sales], 'Date'[Date], "31/3")
Sales PY = CALCULATE([Total Sales], SAMEPERIODLASTYEAR('Date'[Date]))
YoY % =
VAR cur = [Total Sales]
VAR py = [Sales PY]
RETURN DIVIDE(cur - py, py)
The "31/3" argument makes YTD follow an April to March fiscal year.
Running Total =
VAR maxDate = MAX('Date'[Date])
RETURN
CALCULATE(
[Total Sales],
'Date'[Date] <= maxDate,
REMOVEFILTERS('Date')
)
REMOVEFILTERS clears the current period filter so all earlier dates are included. In a visual-only scenario, the visual calculation RUNNINGSUM is simpler.
06
A slicer on Product Category does not filter the Targets visual. What do you check?
I would check the relationship path in model view: whether Targets is related to the Product or Category dimension at all, whether the relationship is active, and its cross-filter direction. If Targets are at category level, it needs a relationship to a Category table that also filters Product. Also check whether visual interactions were turned off for that slicer and whether the measure uses ALL or REMOVEFILTERS.
07
Sales data has region codes, while targets use region names. How do you combine them?
I would create or import a region mapping table with code and name, clean both sides by trimming spaces and fixing case, then merge in Power Query or better, build a Region dimension table with both columns and relate sales by code and targets by name to it. Unmatched rows should be checked using a left anti join so missing mappings are fixed rather than silently dropped.
08
Split a datetime column to reduce cardinality in Power Query.
= Table.AddColumn(Source, "OrderDateOnly", each DateTime.Date([OrderDateTime]), type date)
= Table.AddColumn(Prev, "OrderHour", each Time.Hour([OrderDateTime]), Int64.Type)
Then remove the original OrderDateTime column. A datetime with seconds can have millions of unique values, while date and hour columns have only thousands and 24 values, compressing much better.
09
Users say the report shows yesterday's data even after a refresh. How do you troubleshoot?
I would check the refresh history in the Service for errors or whether the refresh actually ran, confirm the gateway is online and has valid credentials, and verify the source itself has the latest data. Then check for cached dashboard tiles, query caching, or an incremental refresh policy that excludes recent days. Also confirm users are viewing the right workspace or app version, which may need republishing.
10
Scheduled refresh fails every night with a gateway error. How do you troubleshoot?
I would check the refresh history error details, confirm the gateway machine is on and the gateway service is running and updated, and verify data source credentials in the gateway connection have not expired. Then test connectivity from the gateway machine to the source and check that the source names in the model exactly match the gateway data source. Gateway logs and network or firewall changes are next.
11
How do you create a measure-driven conditional colour?
Sales Colour =
VAR ach = DIVIDE([Total Sales], [Target])
RETURN
SWITCH(TRUE(),
ach < 0.9, "#D64550",
ach < 1, "#F2A93B",
"#2E9E5B")
In the visual, open conditional formatting for background or font colour, choose Format style Field value and select this measure.
Connect DAX Studio to the open Power BI Desktop file, go to Advanced, View Metrics to run VertiPaq Analyzer. It shows size per table and column, cardinality, encoding and relationship sizes. Sort columns by total size to find the biggest consumers, often IDs, timestamps or long text. You can export a vpax file to compare before and after optimisation or share with colleagues.
13
What is the difference between Group By in Power Query and summarising in DAX?
Group By in Power Query aggregates rows at refresh time and stores only the summarised table, reducing model size, which is useful when detail is never needed. Summarising in DAX through measures keeps detail in the model and aggregates dynamically for any filter at query time. Use Power Query grouping for fixed summaries such as monthly snapshots, and DAX measures when users need flexible slicing.
let
StartDate = #date(2022, 1, 1),
EndDate = #date(2026, 12, 31),
Days = Duration.Days(EndDate - StartDate) + 1,
Dates = List.Dates(StartDate, Days, #duration(1, 0, 0, 0)),
T = Table.FromList(Dates, Splitter.SplitByNothing(), {"Date"}),
Typed = Table.TransformColumnTypes(T, {{"Date", type date}}),
Y = Table.AddColumn(Typed, "Year", each Date.Year([Date]), Int64.Type),
M = Table.AddColumn(Y, "Month", each Date.MonthName([Date]), type text)
in
M
15
How do you split a full name column and clean text in Power Query?
Select the column, use Transform, Split Column by Delimiter (space, leftmost) to get first and last names. Then use Format, Trim and Clean to remove extra spaces and non-printable characters, and Capitalize Each Word for consistent case. In M:
= Table.TransformColumns(Source, {{"Name", each Text.Proper(Text.Trim(_)), type text}})
16
Tell me about the most complex DAX problem you solved.
Situation: finance needed month-end inventory balances, which are semi-additive and must not be summed across months. Task: build balances that work at any date level. Action: I wrote a measure using LASTNONBLANK over dates to take the closing balance per period and SUMX across warehouses, then validated against ERP reports for six months. Result: the report replaced a manual Excel process and matched ERP within rounding.
17
What are endorsement, sensitivity labels and lineage view?
Endorsement marks content as Promoted by its owners or Certified by authorised reviewers, guiding users to trusted semantic models. Sensitivity labels from Microsoft Purview classify content, such as Confidential, and labels flow to exports like Excel and PDF. Lineage view shows how data sources, dataflows, semantic models, reports and dashboards depend on each other, which helps impact analysis before changes.
18
How do you handle a many-to-many relationship between sales and budget at different grains?
Budgets are often at month and category level while sales are daily and per product. Instead of a direct many-to-many link, relate both fact tables to shared dimensions at the right level: Date and a Category dimension. Budget relates to Category and to Date through a month-level key or the first day of month. Measures then compare them, and visuals should use only the shared grain.
Power Query is the data connection and transformation engine in Power BI, Excel, dataflows and Fabric Data Factory. It lets you connect to hundreds of sources and shape data with a recorded series of steps, such as removing columns, changing types, merging and unpivoting. Behind the interface each step is written in the M language. Steps re-run automatically on every refresh, making cleaning repeatable.
20
A measure shows the same value on every row of a table visual. Why?
The measure is probably ignoring the filter context of the rows, for example using ALL on that column or table, or the row field comes from a table that is not related to the fact table, so its filter cannot reach the data. I would check relationships in model view, the direction of filtering, and any ALL or REMOVEFILTERS in the measure.
21
A manager must see their whole reporting hierarchy, not just their own team. How do you build RLS for that?
I would flatten the employee hierarchy with PATH(Employee[EmployeeID], Employee[ManagerID]) into a path column, then in the role filter use PATHCONTAINS(Employee[Path], LOOKUPVALUE(Employee[EmployeeID], Employee[Email], USERPRINCIPALNAME())). Each manager then sees every employee below them at any depth. I would test with a few known hierarchies and check performance on a large employee table.
22
A refresh fails with 'column not found' after the source team renamed a column. How do you make queries more robust?
I would fix the immediate step, then reduce dependence on exact column names: avoid hard-coded Changed Type steps on all columns, select only needed columns with MissingField.Ignore where suitable, and standardise names in one place. I would agree a data contract or SQL view with the source team so renames go through a stable interface, and set up refresh failure notifications.
23
Tell me about a report you built that changed a business decision.
Situation: regional managers tracked sales in separate Excel files, and stock planning was late. Task: give one daily view. Action: I combined ERP and target data in Power Query, built a star schema with DAX measures for target achievement and stock cover, and published an app with row-level security per region. Result: weekly planning moved from Friday to Monday morning, and two slow-moving products were discontinued earlier.
24
Each regional manager must see only their region, and the CEO must see everything. How do you implement this?
I would build dynamic RLS with a security table of Email and Region, related to the Region dimension, and a role filter Security[Email] = USERPRINCIPALNAME(). The CEO and other full-access users get an 'All' flag handled in the rule, or are placed in a separate role with no filter. I would test with View as role in Desktop and in the Service before publishing the app.
25
Users need to filter a report by 5,000 product names using a slicer, and it is slow. What do you do?
A slicer with thousands of values sends heavy queries and is hard to use. I would add a hierarchy so users pick category and subcategory first, enable the slicer search box, and consider a text filter visual for direct search. Apply buttons in query reduction settings stop queries on every click. If the slicer depends on a measure-filtered list, I would simplify that logic.
26
What is a disconnected table and how is it used for what-if analysis?
A disconnected table has no relationship to the model and is used to capture a user's choice through a slicer. For example, a Discount table from 0 to 30 percent created with GENERATESERIES, or the What-if parameter feature, lets a measure read SELECTEDVALUE(Discount[Value]) and calculate projected revenue. Since it does not filter facts, the measure decides how the selection is applied.
27
Business wants year-over-year growth, but the current year is incomplete. How do you compare fairly?
Comparing a partial year with a full last year understates growth. I would limit last year to the same date range, for example using the last date with sales this year and filtering last year's dates up to the matching day, or compare year-to-date to previous year-to-date. I would label the visual clearly as YTD versus same period last year so readers understand it.
28
A report page takes 25 seconds to load. Walk me through how you would fix it.
I would run Performance Analyzer to find the slowest visuals, copy their DAX queries into DAX Studio and check server timings. Common fixes are rewriting measures that iterate large fact tables, removing bi-directional relationships, reducing visuals on the page, and shrinking the model by removing high-cardinality columns. If the source is DirectQuery, I would add aggregations or move to Import. Then re-measure after each change.
29
What is Copilot in Power BI and what should you watch out for?
Copilot in Power BI uses generative AI to help create report pages, summarise visuals in narrative form, suggest DAX and answer questions about data in natural language. It needs supported capacity and tenant settings enabled by admins. Results depend heavily on a clean model with clear names, descriptions and synonyms, and outputs must be checked for correctness before sharing, especially generated DAX.
30
Reports slow down every morning at 9 a.m. on shared capacity. What could be happening?
Morning peaks often combine many users opening reports with heavy scheduled refreshes running at the same time. I would check the Fabric Capacity Metrics app for throttling and identify the heaviest items. Fixes include moving refreshes to off-peak hours, optimising the largest semantic models, spreading workloads across capacities, or scaling the capacity. Communicating refresh windows to teams also helps.
Tips to crack the Tiger Analytics Power BI interview
Revise machine learning algorithms, feature engineering and evaluation metrics, as technical rounds often go into depth.
Practise PySpark and SQL for data engineering roles, including data pipeline design on cloud platforms.
Prepare analytics case questions on demand forecasting or customer segmentation for retail and consumer goods clients.
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; Tiger Analytics interviewers usually ask follow-ups on your first answer.
Frequently asked questions
How many rounds are there in the Tiger Analytics Power BI interview?
Candidates usually go through 5 stages: Online assessment (SQL + Python + statistics); Technical round 1; Technical round 2 or case round; 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 Tiger Analytics Power BI interview?
This practice set leans on Advanced DAX and Time Intelligence (6), Power Query and Data Transformation (6), Performance Optimisation and Administration (5), Power BI Service, Sharing and Security (4). Revise those first, then practise explaining one or two of your own projects end to end, because most Tiger Analytics interviewers ask you to walk through real work.
Are these the exact questions asked at Tiger Analytics?
No. These are curated practice questions that match the skills and difficulty usually tested in analytics interviews like Tiger Analytics's. They are not a leaked or verified list of past questions.
Where does Tiger Analytics hire Power BI professionals in India?
Tiger Analytics has large teams in Chennai, Bengaluru, Hyderabad. Openings and locations change often, so check the Tiger Analytics careers page and filter by city and experience.