CALCULATE, time intelligence), Power Query (merges, appends, unpivot, query folding), performance (storage modes, Performance Analyzer) and security (row-level security). Microsoft's PL-300 exam weights the same areas: prepare, model and visualise data at 25–30% each, and manage and secure at 15–20%. The answers below are kept short, with DAX examples and scenario questions.What sample model do the DAX examples use?
Picture a small star schema: one fact table, Sales (OrderID, OrderDate, ShipDate, RegionKey, ProductKey, Units, Revenue), and dimension tables Date, Region and Product, each related one-to-many to Sales. The Sales table holds 10 orders from April and May 2026, totalling ₹3,97,500:
| Region | Revenue (₹) | Orders |
|---|---|---|
| East | 13,500 | 2 |
| North | 2,70,000 | 3 |
| South | 74,000 | 3 |
| West | 40,000 | 2 |
| Total | 3,97,500 | 10 |
It is the same sales data we use in our Excel interview questions practice test, so you can load that sheet into Power BI Desktop (a free download) and check every number below.
Power BI data modelling interview questions
1. What is a star schema, and why does Power BI prefer it?
A star schema has fact tables (events with numbers, such as sales lines) surrounded by dimension tables (things you filter and group by, such as date, product, region). Microsoft's modelling guidance recommends it because dimensions give clean filtering and grouping while facts are summarised, which makes DAX simpler and models faster. Avoid mixing fact and dimension columns in one table.
2. Why not just load one big flat table?
A flat table repeats descriptive text on every row, which bloats the model. It also makes some calculations awkward (for example, counting products that had no sales) and cannot serve two fact tables, such as sales and targets, from shared dimensions. It is fine for a quick prototype, but it rarely survives a real report.
3. What do cardinality and cross-filter direction mean?
Cardinality describes how keys match: one-to-many (the normal dimension-to-fact case), one-to-one, or many-to-many. Cross-filter direction says which way filters flow. Single means from the "one" side to the "many" side, so Region filters Sales. Both lets filters flow back too. Keep Single as the default; bidirectional filters can create ambiguous paths and slow queries, so use them only for a specific need.
4. What is an inactive relationship, and how do you use it?
Only one active relationship can exist between two tables. If Sales has both OrderDate and ShipDate linked to Date, one relationship must be inactive. Activate it inside a measure with USERELATIONSHIP:
Revenue by Ship Date =
CALCULATE ( [Total Revenue], USERELATIONSHIP ( Sales[ShipDate], 'Date'[Date] ) )
The alternative Microsoft describes for role-playing dimensions is a separate Ship Date table with its own active relationship. That allows filtering by order date and ship date at the same time.
5. Why do you need a separate date table?
Classic time intelligence functions such as TOTALYTD and SAMEPERIODLASTYEAR need a proper date table, marked with Mark as date table. Power BI checks that the date column has unique values, no blanks and contiguous dates. A date table also gives you fiscal year, quarter and week columns, which matters in India, where many companies report on an April–March financial year.
6. How do you handle a many-to-many relationship?
The usual pattern is a bridge (factless fact) table between the two dimensions, for example salespeople and the regions they cover. Power BI also supports a direct many-to-many cardinality, but a bridge table is easier to reason about and to explain in an interview.
DAX interview questions
7. What is the difference between a measure and a calculated column?
A calculated column is computed row by row when data refreshes, stored in the model, and usable in slicers and rows. A measure is computed at query time for whatever filters the visual applies, and is not stored. Use measures for aggregations such as totals, ratios and growth. Use calculated columns only when you need a value per row to slice by, and prefer creating those in Power Query or the source.
8. What is the difference between row context and filter context?
Filter context is the set of filters applied to a calculation: slicers, visual rows and columns, page filters, and filters added by CALCULATE. Row context exists when DAX iterates over rows, as in a calculated column or inside SUMX, and it means "the current row". Row context does not filter other tables by itself; that needs context transition (question 11).
9. What does CALCULATE do? Give an example.
CALCULATE(<expression>, <filter1>, ...) evaluates an expression in a modified filter context. Each filter adds a new filter, or overwrites an existing filter on the same column. A classic interview measure is share of total:
Total Revenue = SUM ( Sales[Revenue] )
Revenue % of All Regions =
DIVIDE (
[Total Revenue],
CALCULATE ( [Total Revenue], REMOVEFILTERS ( Region ) )
)
In a table visual with Region on rows, this returns:
| Region | Total Revenue | Revenue % of All Regions |
|---|---|---|
| East | 13,500 | 3.4% |
| North | 2,70,000 | 67.9% |
| South | 74,000 | 18.6% |
| West | 40,000 | 10.1% |
| Total | 3,97,500 | 100.0% |
For the North row, the visual filters Region to North, so the numerator is 2,70,000. Inside CALCULATE, REMOVEFILTERS(Region) removes that filter, so the denominator is 3,97,500.
10. What is the difference between ALL, REMOVEFILTERS, ALLEXCEPT and KEEPFILTERS?
REMOVEFILTERS removes filters and is the clearest choice inside CALCULATE. ALL does the same as a filter modifier but can also return a table. ALLEXCEPT(table, column) removes filters from every column of a table except the ones listed. KEEPFILTERS adds a filter without overwriting an existing filter on the same column, so the two intersect.
11. What is context transition?
When CALCULATE (or a measure, which is implicitly wrapped in CALCULATE) is evaluated in a row context, the current row becomes an equivalent filter context. That is why a calculated column in the Region table such as Region Revenue = [Total Revenue] shows each region's own revenue, while = SUM(Sales[Revenue]) in the same column shows the grand total on every row.
Build the model, not just the visuals
The ISS Data & Business Intelligence program builds from business metrics and SQL to dashboards and a BI capstone, with mock interviews in its career support. Check the brochure for the full tool list, or download the free Data Analyst Starter Kit on this page.
View Data & Business Intelligence curriculum →12. When do you use SUMX instead of SUM?
SUM adds one column. SUMX iterates a table and adds an expression evaluated row by row. Use it when the value does not exist as a column, for example SUMX(Sales, Sales[Units] * RELATED(Product[Price])). Multiplying two separate SUMs would give the wrong answer.
13. Why use DIVIDE instead of the / operator?
DIVIDE(numerator, denominator, [alternate]) returns BLANK, or the alternate result, when the denominator is zero, instead of an error or infinity. It keeps visuals clean when some rows have no base value.
14. How do you calculate year-to-date and year-on-year growth?
Revenue FYTD =
TOTALYTD ( [Total Revenue], 'Date'[Date], "3/31" )
Revenue LY =
CALCULATE ( [Total Revenue], SAMEPERIODLASTYEAR ( 'Date'[Date] ) )
Revenue YoY % =
DIVIDE ( [Total Revenue] - [Revenue LY], [Revenue LY] )
The "3/31" year-end argument gives an April–March financial year-to-date. Microsoft's documentation recommends writing it as month/day. All three need a proper date table.
Power Query interview questions
15. What is the difference between Merge and Append?
Merge joins two queries side by side on a key, like a SQL join (left outer, inner, anti and so on). Append stacks queries with the same columns on top of each other, like UNION ALL, for example monthly sales files from January to December.
16. What is query folding and why does it matter?
Query folding is Power Query translating your steps into the source's own language, such as SQL, so the database does the work instead of the Power Query engine. It makes refreshes faster, and incremental refresh depends on it. File sources such as CSV and Excel cannot fold. Check with View Native Query where the connector supports it, and put foldable steps (filters, column removal) early.
17. When do you unpivot data?
When values are spread across columns, such as Jan, Feb, Mar sales in separate columns. Unpivoting turns them into Month and Value columns, which is the shape Power BI models and time intelligence expect.
18. What is the difference between a referenced and a duplicated query?
A duplicate copies all the steps into an independent query. A reference starts from the output of the original query, so changes upstream flow through. Use references to build several dimension tables from one cleaned staging query.
Power BI performance interview questions
19. What are Import, DirectQuery and Direct Lake modes?
Import loads a compressed copy of the data into the model: fastest queries, but data is only as fresh as the last refresh. DirectQuery sends queries to the source every time: fresher data, but slower and dependent on the source's speed. Direct Lake (in Microsoft Fabric) reads Delta tables in OneLake directly. Composite models can mix modes, and dimension tables can use Dual mode.
20. A report is slow. How do you find the cause?
Open Performance Analyzer in Power BI Desktop, record while refreshing visuals, and see which visual takes longest and whether the time is in the DAX query or in rendering. Copy the slow query into DAX query view to test changes. Both tools are named in Microsoft's PL-300 skills list.
21. How do you reduce model size and speed up a model?
- Remove columns and rows the report does not use, especially high-cardinality columns such as GUIDs or timestamps down to the second.
- Reduce granularity, for example daily rather than per-transaction data if that is all the report needs.
- Replace calculated columns with Power Query columns or measures.
- Use a star schema with single-direction relationships.
- Limit the number of visuals per page.
Row-level security (RLS) and service questions
22. How do you set up row-level security?
In Power BI Desktop, go to Modeling → Manage roles, create a role and add a DAX filter that returns TRUE for the rows that role may see. Static RLS: [Region] = "West". Dynamic RLS uses the signed-in user, often through a mapping table: [UserEmail] = USERPRINCIPALNAME(). Publish, add members to roles in the Power BI service, and validate with Test as role.
23. Does RLS apply to everyone in the workspace?
No. According to Microsoft's documentation, RLS restricts only users with the Viewer role. Workspace Admins, Members and Contributors can edit the semantic model, so RLS does not apply to them. Roles are additive, so a user in two roles sees both sets of rows. RLS filters rows, not columns; object-level security handles columns.
24. When do you need a gateway?
When the Power BI service must refresh from, or query, a data source that is not reachable from the cloud, such as an on-premises SQL Server or files on a local network. Cloud sources usually do not need one.
25. Is Power BI free?
Power BI Desktop is a free download. Sharing and collaborating in the service needs a paid licence. Microsoft's pricing page lists Power BI Pro at US$14.00 per user per month and Premium Per User at US$24.00 per user per month (paid yearly), with Fabric capacity priced separately (checked September 2026). Indian rupee prices can differ, so see the vendor's pricing page.
Power BI scenario interview questions
S1. The regional manager for West should see only West data. What do you build?
A dynamic RLS role on a user-to-region mapping table, filtered with USERPRINCIPALNAME(), related to Region. Publish, assign managers as Viewers, and test as that user. Mention that RLS will not restrict them if they are workspace Members.
S2. Your total in a card does not match the Excel file finance sent. How do you investigate?
Check filters on the page and visual first, then whether the relationship drops rows (keys missing from the dimension show as a "blank" member), then data types and duplicates in Power Query, and finally whether Excel included cancelled or returned orders. State the definitions you compared, not only the numbers.
S3. The business wants sales by order date and by ship date on the same page.
Either one measure per date role using USERELATIONSHIP, or a second Ship Date dimension with its own active relationship. The second option lets users filter by both at once.
S4. A page with 25 visuals takes 15 seconds to load.
Use Performance Analyzer to find the slowest visuals. Reduce the visual count (bookmarks, drillthrough pages, tooltips), simplify the heaviest DAX, remove unused columns, and check whether DirectQuery can move to Import.
S5. Show each region's share of total, but respect a Product slicer.
Use REMOVEFILTERS(Region) rather than REMOVEFILTERS(Sales) or ALL(Sales), so the denominator keeps the product filter and only ignores the region, as in question 9. Explaining why the other two versions would also ignore the product slicer is the real test.
How should you prepare for a Power BI interview?
- Build one end-to-end report from a messy source: clean it in Power Query, model it as a star schema, write 8–10 measures, add RLS, and publish it. Our Power BI projects for beginners has ideas.
- Be ready to explain filter context out loud using one of your own measures.
- Practise DAX patterns: share of total, YTD, YoY, running totals and top N. Our guide to DAX functions in Power BI goes deeper.
- Consider Microsoft's free PL-300 practice assessment to find gaps, whether or not you take the exam.
- Brush up on SQL too, since many BI roles test it; see our SQL interview questions.
Frequently Asked Questions
What are the most common Power BI interview questions?
Expect questions on star schema and relationships, measures vs calculated columns, row vs filter context, CALCULATE, time intelligence, Power Query merges and query folding, Import vs DirectQuery, Performance Analyzer and row-level security, plus one or two scenarios based on a report.
What is CALCULATE in DAX in simple words?
CALCULATE evaluates an expression after changing the filters. You can add a filter, such as only the North region, or remove one, such as all regions, to compute things like share of total or sales for one segment.
Is DAX hard to learn for a Power BI interview?
The basics are quick, but filter context and CALCULATE take practice. Build measures on a small model you understand fully, and check each result by hand, as with the share-of-total example in this guide.
Is the PL-300 certification needed for a Power BI job?
It is not usually mandatory. It is Microsoft’s Power BI Data Analyst Associate exam, with a 100-minute proctored test, a passing score of 700 and yearly free renewal. A portfolio report often carries as much weight in interviews. Exam prices vary by country, so check Microsoft’s exam page.
Is Power BI Desktop free?
Yes. Microsoft lists Power BI Desktop as a free download. Publishing and sharing reports with others in the Power BI service needs a paid licence such as Pro or Premium Per User.
Does the ISS Data and Business Intelligence program teach Power BI?
The public program page shows BI dashboards as a core outcome, with dashboard examples in Tableau and Looker, but it does not list Power BI by name in the first six weeks shown. Download the brochure for the full 16-week tool list before you decide.
Sources and methodology
Feature behaviour, exam details and prices were checked on Microsoft's official pages in September 2026. The DAX results table was computed from the 10-row sample data (also used in our Excel guides) by script; load it into Power BI Desktop to reproduce it.
- Microsoft Learn, PL-300 study guide (skills measured and weights as of 20 April 2026; passing score 700) and Power BI Data Analyst Associate certification (100-minute exam, 12-month renewal), checked September 2026.
- Microsoft Learn, Understand star schema and the importance for Power BI, checked September 2026.
- Microsoft Learn, CALCULATE function and TOTALYTD function, checked September 2026.
- Microsoft Learn, Set and use date tables in Power BI Desktop, checked September 2026.
- Microsoft Learn, Query evaluation and query folding in Power Query, checked September 2026.
- Microsoft Learn, Row-level security (RLS) with Power BI, checked September 2026.
- Microsoft, Power BI pricing (Desktop free; Pro US$14.00 and Premium Per User US$24.00 per user per month, paid yearly), checked September 2026.
- ISS: Data & Business Intelligence program page.
The question selection, scenarios and preparation tips are ISS editorial guidance, not survey data.
Next steps
The Data & Business Intelligence program covers business metrics, Excel, SQL and Python in its first six weeks and ends with a BI dashboard capstone. Download the brochure to see weeks 7–16 and the exact BI tools. The free Data Analyst Starter Kit on this page includes a skills checklist and interview questions. ISS does not guarantee placement.
Applying is free, and you pay only after accepting an offer. Apply here.