Fifteen common Power BI interview questions
- What are the main components of Power BI?
- What does Power Query do? Name some common transformations.
- Why use a star schema in Power BI?
- Relationship cardinality and cross-filter direction?
- Calculated column versus measure?
- Row context versus filter context?
- What does CALCULATE do?
- What is context transition?
- How do you write a year-over-year measure?
- Why do you need a date table?
- Import versus DirectQuery versus composite models?
- How do you implement row-level security?
- How do you optimise a slow report?
- What are bookmarks and drill-through?
- Walk me through a report you built and its impact.
Modelling
- Star schema: fact tables with numeric measures surrounded by dimension tables; simpler DAX, better performance and fewer ambiguous relationships.
- Relationships: one-to-many from dimension to fact is the norm; single-direction filtering avoids ambiguity — use bidirectional filtering sparingly.
- Date table: a dedicated, contiguous date table marked as a date table enables reliable time intelligence.
- Power Query: remove columns, change types, merge and append queries, unpivot, and fold steps back to the source where possible for efficiency.
DAX essentials
| Concept | Interview-ready answer |
|---|---|
| Calculated column | Computed row by row at refresh, stored in the model; use for slicing or grouping |
| Measure | Computed at query time in the current filter context; use for aggregations |
| Row context | Iterating over rows, as in calculated columns or X-functions such as SUMX |
| Filter context | The filters from visuals, slicers and relationships applied to a calculation |
| CALCULATE | Evaluates an expression in a modified filter context |
| Context transition | CALCULATE converts row context into equivalent filter context |
Year-over-year growth: Sales LY = CALCULATE([Total Sales], SAMEPERIODLASTYEAR('Date'[Date])), then YoY % = DIVIDE([Total Sales] − [Sales LY], [Sales LY]). Using DIVIDE avoids divide-by-zero errors. Variables (VAR … RETURN) make complex measures readable and efficient.
Storage modes and security
Import mode loads data into the in-memory engine for the fastest queries, refreshed on a schedule. DirectQuery queries the source live, suited to very large or real-time data at some cost in speed and DAX flexibility. Composite models mix both, often with aggregations. Row-level security defines roles with DAX filters — for example, a region filter based on USERPRINCIPALNAME() matched against a user-to-region table — and is tested with “view as role” before publishing.
Performance
- Model: star schema, remove unused columns, reduce cardinality, avoid unnecessary calculated columns.
- DAX: prefer measures, use variables, avoid iterating large tables needlessly, and filter columns rather than whole tables in CALCULATE.
- Report: fewer visuals per page, limit high-cardinality slicers, and use Performance Analyzer to find slow visuals.
A modelling scenario to rehearse
“Sales by product shows the same total on every row.” This almost always means the relationship between the product dimension and the sales fact is missing, inactive or filtering in the wrong direction, or the visual uses a product field from the fact table instead of the dimension. Check the model view first, then the measure's filter context. Another classic: a total that doesn't equal the sum of its rows, which is usually correct behaviour for non-additive measures such as ratios, explained by filter context at the total level.
Being able to diagnose these quickly is one of the clearest signs of real Power BI experience, and interviewers use them precisely for that reason.
Practising
Answer these out loud, in two minutes or less each, and expect a follow-up on every claim. A free AI interview assistant such as CoPilot Interview can run Power BI questions as a mock interview built from your résumé and score each answer. Build a star-schema model with a date table and write total, year-over-year and running-total measures, explaining the filter context of each. See also Tableau interview questions and Excel interview questions.
Disclosure: CoPilot Interview is our product, so weigh what we say about it accordingly. Everything else on this page applies whichever tool you use, or none.
Frequently asked questions
What is the difference between a measure and a calculated column?
A calculated column is computed row by row at refresh and stored in the model; a measure is computed at query time in the current filter context. Use measures for aggregations.
What does CALCULATE do in DAX?
It evaluates an expression in a modified filter context, adding, removing or replacing filters, and triggers context transition when used in a row context.
Why should Power BI models use a star schema?
Star schemas make relationships unambiguous, simplify DAX, improve compression and query performance, and make models easier for others to understand.
Import or DirectQuery?
Import gives the best performance and full DAX capability with scheduled refresh. DirectQuery keeps data at the source for very large or real-time needs, with slower queries and some limitations.
Practise on real interview questions
Run 145 real interview questions across 10 tracks, answer out loud and see a structured answer to compare with yours. Free, no signup.
Try a practice question