Curated interview practice questions with answers. These are practice scenarios, not a verified list of past interview questions.
About EY hiring for Power BI roles
EY is one of the Big Four professional services networks, offering assurance, tax, strategy and transactions, and consulting services. In India, EY GDS and EY member firms support global clients with technology consulting, data analytics, cybersecurity and risk work. It hires for analyst and consultant roles in data analytics, BI, testing, ERP and risk.
For Power BI roles, this EY practice set focuses most on Power Query and Data Transformation (7), Advanced DAX and Time Intelligence (6), Visualisation and Report Design (5), Power BI Fundamentals (4). It has 4 easy, 20 medium, 6 hard questions, so you can start easy and work up to the harder ones.
Company type
Consulting
Headquarters
London, United Kingdom
Main India offices
Bengaluru, Kolkata, Gurugram, Hyderabad, Kochi
EY Power BI interview process
Online assessment (aptitude + technical)
Technical interview
Managerial or case round
Partner or HR round
Typical pattern based on public candidate experiences. Rounds vary by role, team and year.
Solved for EYStart 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
What is the relationship between Power BI and Microsoft Fabric?
Microsoft Fabric is Microsoft's unified analytics platform that includes data engineering, data factory, data warehousing, real-time analytics and Power BI as its reporting layer. Power BI workspaces can live on Fabric capacity and use items such as lakehouses and warehouses in OneLake. Direct Lake mode lets semantic models read Delta tables in OneLake directly without a full import, combining fresh data with near-import speed.
Visual calculations are DAX calculations defined directly on a visual and computed on the visual's own aggregated data, rather than on the model. They make running totals, moving averages, percent of parent and comparison with previous rows simpler using functions like RUNNINGSUM, MOVINGAVERAGE and PREVIOUS. They do not add measures to the model, so they suit visual-specific logic but cannot be reused across visuals.
03
What is the difference between SELECTEDVALUE and VALUES?
SELECTEDVALUE(column, alternate) returns the single value of a column when exactly one is visible in the filter context, otherwise the alternate or blank. VALUES(column) returns a table of distinct visible values, including blank for unmatched rows, and can be used in iterators or as a filter. Use SELECTEDVALUE for titles and parameters, and VALUES when you need to loop over the visible items.
04
How do you set up an app with different audiences?
In the workspace choose Create app or Update app, add the reports and dashboards, then in the Audience tab create audiences such as Sales Managers and Finance, choose which content each audience sees and grant access to the right Entra ID security groups. Publish the app and share the link. Remember RLS still controls rows inside reports; audiences only control which items are visible.
05
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.
06
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.
07
A stakeholder insists on a 3D pie chart with 12 slices. How do you handle it?
I would understand what they want to see, usually share of total by category, then show a quick comparison: a sorted bar chart beside the pie, explaining that bars make small differences readable while 3D distorts sizes. Offering a donut with top five plus Others is a compromise. Usually seeing both side by side convinces them, and the final choice remains theirs.
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
09
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.
10
The model is 9 GB and refresh times out. What would you do?
I would analyse it with VertiPaq Analyzer to find the largest columns and tables, remove unused columns, split or round datetime columns, replace text keys with integer keys and drop history users do not need. Then set up incremental refresh on large fact tables so only recent partitions reload. If needed, push heavy transformations upstream into the warehouse and consider Direct Lake on Fabric.
11
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.
Product Rank =
IF(
ISINSCOPE('Product'[Product]),
RANKX(ALLSELECTED('Product'[Product]), [Total Sales], , DESC, DENSE)
)
ALLSELECTED ranks within the products visible after slicers, and ISINSCOPE hides the rank on total rows.
13
You inherit 40 reports, each with its own copy of the same sales data. How would you consolidate?
I would identify the common tables and measures, then build one certified shared semantic model with a proper star schema and agreed measure definitions. Reports would be rebuilt or rebound as thin reports using live connections to it, starting with the most used ones from activity data. Old models are retired gradually. This cuts refresh load, removes conflicting numbers and makes changes in one place.
A good dashboard answers specific questions for a specific audience. Put the most important KPIs at the top left, follow a logical flow from summary to detail, use a few consistent colours with one highlight colour, and choose simple visuals like bar and line charts. Remove clutter such as 3D effects and heavy borders, label clearly, show context like targets or last year, and keep each page to a manageable number of visuals.
15
How do you create a dynamic axis using field parameters?
Go to Modeling, New parameter, Fields, and add the fields such as Region, Category and Channel. Power BI creates a parameter table and slicer. Put the parameter field on the axis of a chart; users select which dimension to show from the slicer. You can add measures to a separate field parameter so users switch both the measure and the axis.
16
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.
17
How do you set up a custom function in Power Query to apply logic to many files?
Write a query for one file, turn the file path into a parameter, then right-click and Create Function. Or write it in M:
(path as text) as table =>
let
Src = Excel.Workbook(File.Contents(path), true),
Sheet = Src{[Item="Sales", Kind="Sheet"]}[Data]
in
Sheet
Then invoke it on a column of file paths with Add Column, Invoke Custom Function and expand the results.
18
How do you handle a business user who keeps changing report requirements?
I first understand the goal behind the changes, because frequent changes often mean the core question was not clear. I write down agreed requirements and a mock-up, then deliver in small iterations so feedback comes early. In one project weekly 20-minute reviews cut rework a lot, and changes that were large were logged for the next version rather than added mid-sprint.
Incremental refresh partitions a large table by date so each refresh reloads only recent data, such as the last 10 days, while keeping older partitions, such as five years of history, unchanged. It uses the RangeStart and RangeEnd datetime parameters to filter the query, which must fold to the source. It cuts refresh time and load on sources, and can add a DirectQuery partition for real-time data.
20
Thirty measures each need YTD, previous year and YoY versions. How do you avoid 120 measures?
I would create a calculation group, such as Time Calculation, with items Current, YTD, PY and YoY % that use SELECTEDMEASURE() wrapped in the time intelligence logic, and set format strings for percent items. Users pick the item from a slicer or matrix columns. This keeps the model small and consistent. I would document it because calculation groups change measure behaviour everywhere.
21
What is the difference between Power BI and Excel for reporting?
Excel is flexible for ad hoc analysis and small models but struggles with large data, version control and secure sharing. Power BI handles millions of rows with a compressed columnar engine, central semantic models, scheduled refresh, row-level security and interactive web and mobile sharing. They work together: Power Query and Power Pivot exist in both, and users can analyse Power BI models in Excel.
22
How do you use a bridge table for a many-to-many scenario?
For example, accounts can have multiple customers and customers multiple accounts. Create a bridge table with unique Account and Customer pairs. Relate Customer to Bridge one-to-many, and Account to Bridge one-to-many, with the Bridge to Account relationship set to filter in both directions or use CROSSFILTER in measures. Facts relate to Account. Test totals carefully because shared accounts count once per customer.
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.
Query folding is when Power Query translates transformation steps into a native source query, such as SQL, so the source does the work and only the result is loaded. It makes refreshes much faster and is required for incremental refresh and efficient DirectQuery. Steps like filtering, removing columns and grouping usually fold on SQL sources, while some custom M functions or adding an index column can break folding.
VAR defines a named value inside an expression and RETURN gives the final result. Variables make measures easier to read, avoid repeating the same calculation, which improves performance, and help debugging because you can return an intermediate variable. A variable is evaluated once in the context where it is defined, so its value does not change if later CALCULATE filters are applied.
26
How do you handle errors in Power Query without failing the whole refresh?
Use Keep Errors on a copy of the query to inspect the bad rows, then fix the cause, such as wrong data types or invalid dates. Replace Errors can substitute a value, and in M try ... otherwise catches errors per value:
= Table.AddColumn(Source, "AmountNum", each try Number.From([Amount]) otherwise null, type nullable number)
Log error rows to a separate query so they can be reviewed rather than silently dropped.
27
Write basic measures for total sales, total cost and profit margin percentage.
Total Sales = SUM(Sales[Amount])
Total Cost = SUMX(Sales, Sales[Qty] * Sales[UnitCost])
Profit = [Total Sales] - [Total Cost]
Margin % = DIVIDE([Profit], [Total Sales])
Format Margin % as a percentage. Building measures on other measures keeps logic in one place and easy to change.
28
When would you use a custom visual and what are the risks?
Custom visuals from AppSource add chart types not built in, such as Gantt charts, sankey diagrams or advanced KPI cards. Risks include performance issues, limited support, export and accessibility gaps, and data security, since some visuals may call external services. Prefer certified visuals, check organisational policy, since admins can restrict them, and use built-in visuals where they meet the need.
Bookmarks capture the current state of a report page, including filters, slicers, visual visibility and sort order. They are used for storytelling, toggling between chart and table views with buttons, creating custom navigation, and resetting filters. Combined with the selection pane, they show and hide visuals. Too many bookmarks become hard to maintain, so field parameters are often a simpler alternative for switching measures.
30
A YTD measure returns blank for future months on a chart. Users want the line to stop at today. How?
The issue is the opposite for many teams: YTD repeats the last value for future months. I would add a condition so the measure returns BLANK when the period starts after the last date with data, for example IF(MIN('Date'[Date]) > [Last Sales Date], BLANK(), TOTALYTD(...)). Alternatively add a column flagging dates up to today in the date table and filter the visual on it.
Tips to crack the EY Power BI interview
Practise explaining a data project in business terms, focusing on the problem, approach and recommendation for the client.
Revise Excel, SQL and Power BI, which appear frequently in EY analytics and consulting job descriptions.
Read about EY's service lines and its focus on technology, AI and sustainability consulting for fit questions.
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; EY interviewers usually ask follow-ups on your first answer.
Frequently asked questions
How many rounds are there in the EY Power BI interview?
Candidates usually go through 4 stages: Online assessment (aptitude + technical); Technical interview; Managerial or case round; Partner or 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 EY Power BI interview?
This practice set leans on Power Query and Data Transformation (7), Advanced DAX and Time Intelligence (6), Visualisation and Report Design (5), Power BI Fundamentals (4). Revise those first, then practise explaining one or two of your own projects end to end, because most EY interviewers ask you to walk through real work.
Are these the exact questions asked at EY?
No. These are curated practice questions that match the skills and difficulty usually tested in consulting interviews like EY's. They are not a leaked or verified list of past questions.
Where does EY hire Power BI professionals in India?
EY has large teams in Bengaluru, Kolkata, Gurugram, Hyderabad, Kochi. Openings and locations change often, so check the EY careers page and filter by city and experience.