Power BI Interview Questions for 2026: 40+ Questions Across DAX, Power Query, Data Modeling, Visualization (BI Developer Edition)
Power BI interview questions in 2026 test six things: tool fundamentals, DAX formula fluency, Power Query M cleanups, data modeling and relationships, visualization design choices, and performance tuning on large semantic models. This guide covers 40+ questions across those six buckets, plus the Excel-to-BI pivot plan most analysts skip.
By Alex Chen, Founder, InterviewChamp.AI · Last updated
29 min readWhat Power BI interview questions actually test in 2026
Power BI interview questions in 2026 test six things in order: whether you can write DAX that responds to filter context correctly, whether you reach for a star schema by reflex, whether you can read and fix Power Query M when the GUI doesn't expose what you need, whether you pick the right visual for the business question, whether you understand the Desktop-to-Service hand-off, and whether you can debug a slow refresh on a 10-million-row model. The syntax check is the floor. Almost every Excel-fluent analyst clears it. The DAX context check and the modeling reflex check are where most analyst-to-BI candidates lose the offer.
The 2026 hiring environment shifted the bar. Most mid-market BI developer roles list Power BI as the primary tool, and most enterprises that ran on Excel and SQL three years ago have moved dashboards into Power BI workspaces. The interviewer across from you is a working BI developer, not a hiring manager pattern-matching on resume bullets. They know what a junior candidate looks like (calculated columns everywhere, no time intelligence, snowflake schemas because the source warehouse was snowflake) and what a senior one looks like (measures by default, star schema by reflex, knows when to break the rule). The bar is the right mental-model defaults across the board.
The distribution of question types most BI candidates report seeing in their interviews:
- 30% DAX (CALCULATE, filter context, time intelligence, iterators)
- 25% data modeling (star vs snowflake, relationships, role-playing dimensions, many-to-many traps)
- 20% Power Query M (folding, conditional column logic, error rows, source-system patterns)
- 15% visualization design (chart selection, accessibility, conditional formatting from measures)
- 10% basics and performance (Desktop vs Service, gateways, incremental refresh, Vertipaq behavior)
The DAX 30% slice is the one most analysts underprepare for. It's also the slice that disproportionately determines the outcome. Drill DAX first.
How Power BI interview questions differ from Excel or SQL interviews
An Excel interview tests formula fluency and lookup patterns. A SQL interview tests joins, window functions, and execution plans. A Power BI interview tests something different from both: the ability to think about data as a model rather than as a sheet or table set, and to write formulas that respond to user interaction without re-querying the source.
Three concepts in particular show up over and over in Power BI interviews and rarely appear in pure Excel or SQL rounds:
DAX evaluation context. Row context vs filter context. The candidate who hasn't internalized this distinction will write a measure that returns the wrong number in 40% of test cases and won't know why. The candidate who has can walk through CALCULATE's order of operations and explain exactly what each filter argument does.
Star schema reflex. Almost every Power BI codebase is built on a star schema. Modeling questions test whether the candidate reaches for star by default. Candidates arriving from a SQL background with deep normalized-warehouse instincts often default to snowflake and have to be coached out of it.
Visualization-as-answer. Report design is an exercise in answering business questions with the simplest possible visual. The candidate who reaches for a gauge chart or a 3D pie chart when a clustered column would answer the question better is showing junior judgment in two seconds. Senior roles increasingly include a "given this dashboard, what would you change?" round that grades this judgment directly.
If I had a weekend before a Power BI round, I'd drill CALCULATE and the star schema reflex first. Being fast on those two compensates for being slow on three others.
The 40+ Power BI interview questions you should rehearse
What follows is a structured rehearsal set covering the six categories that show up most. Each question has a sample answer outline. Not a full canned response, but the bones of what a strong answer covers. Adapt the language to your own voice. The structure is the load-bearing part.
Power BI basics interview questions (6 Q)
Q1. What's the difference between Power BI Desktop, Power BI Service, and Power BI Mobile?
Desktop is the free Windows authoring app where you build .pbix files. Service is the cloud platform where you publish reports, schedule refreshes, manage workspaces and permissions. Mobile is the iOS/Android app where end users view reports on the go. The development cycle in 2026: build in Desktop, publish to Service, consume in browser or Mobile.
Q2. What is a semantic model in Power BI?
A semantic model (formerly "dataset") is the layer between raw data and reports. It contains tables, relationships, calculated columns, measures, and role-level security rules. One semantic model can power many reports. The 2024 rebrand aligned Microsoft's terminology with the broader analytics industry. Worth knowing the new name even if your team still says "dataset."
Q3. What are the different file types in Power BI?
.pbix is the standard Desktop file containing the model, queries, and report pages. .pbit is a template holding the structure without data, useful for distributing a skeleton colleagues can wire to their own sources. .pbids is a data source definition. .pbip is the newer project file format (2024+) that splits a .pbix into version-controllable components and enables proper Git workflows.
Q4. What's a workspace in Power BI Service?
A workspace is the collaboration container in the Service. It holds semantic models, reports, dashboards, dataflows, and the people who can edit or view them. Workspace roles (Admin, Member, Contributor, Viewer) control what each user can do. Apps publish from workspaces to a broader audience without granting workspace access. The 2026 governance pattern: one workspace per business domain, dev/test/prod managed by deployment pipelines if you're on Premium.
Q5. What's the difference between Import mode, DirectQuery, and Live Connection?
Import loads data into the Vertipaq columnar engine and answers queries in-memory. Fast, but requires scheduled refresh and is bound by capacity memory limits. DirectQuery leaves data at the source and translates each visual into a SQL query. Always-fresh, but slower per click. Live Connection is the special case for Analysis Services Tabular models. Defaults: Import under 1 GB compressed, DirectQuery for real-time or too-large models, composite (mixing both) for hybrid patterns.
Q6. What is a data gateway in Power BI?
A data gateway is a small Windows service installed on-prem that brokers requests between the cloud Service and on-prem data sources. Two gateway types: Personal (single user, single source) and Enterprise (shared, multi-source, supports DirectQuery and Live Connection). Almost every BI candidate gets at least one gateway question because misconfiguration is the most common production refresh-failure cause.
DAX interview questions (10 Q)
Q7. What does CALCULATE do?
CALCULATE evaluates an expression after modifying filter context. The expression is the first argument; filter expressions are subsequent arguments. Filter modifications happen first, then the expression evaluates against the modified context. The interview follow-up is the order of operations: detect explicit filters, apply context transition if invoked inside row context, apply the CALCULATE filter arguments, evaluate the expression. Memorize this order.
Q8. What is filter context transition?
When you use CALCULATE inside row context (a calculated column or an iterator like SUMX), the row context converts into filter context. The single row becomes a filter selecting that row's values across all related tables. This is why a measure works inside SUMX even though measures normally need filter context. One of the top three sources of DAX confusion: candidates write a formula that "should" work and get the wrong number because context transition happened (or didn't) where they didn't expect.
Q9. Write a measure that returns total sales for the prior year.
Sales PY = CALCULATE([Total Sales], SAMEPERIODLASTYEAR('Date'[Date]))
This requires the Date table to be marked as a date table and connected to the fact table on the date column. The follow-up: what if I need prior year for a non-standard fiscal calendar? Switch to DATEADD('Date'[Date], -1, YEAR) and configure the fiscal year offset in your Date dimension.
Q10. What's the difference between SUM and SUMX?
SUM aggregates a column across the current filter context. SUMX iterates row-by-row over a table and accumulates the per-row expression result. Use SUM when you're aggregating an existing column. Use SUMX when the per-row value requires a calculation that doesn't exist as a stored column (such as SUMX(Sales, Sales[Quantity] * Sales[Price]) for revenue when there's no Revenue column). The pattern: any time you'd add a calculated column just to sum it later, SUMX is the cleaner answer.
Q11. What is ALL in DAX and when do you use it?
ALL removes filters from a table or columns. ALL('Product') returns the entire Product table, ignoring any filters currently applied. Common use case: computing a percentage of total. Be careful with ALL vs ALLEXCEPT. The latter removes all filters except the ones you name, the right tool when you want to keep one filter but remove the rest.
Q12. What's the difference between FILTER and CALCULATETABLE?
FILTER is an iterator that returns a table containing only rows satisfying a condition. CALCULATETABLE evaluates a table expression after modifying filter context. Use FILTER when the condition needs row-by-row evaluation. Use CALCULATETABLE when simple filter overrides will do. FILTER is slower because it forces row context iteration; reach for it only when needed.
Q13. Write a measure that returns the percentage of total sales for each category.
% of Total Sales =
DIVIDE(
[Total Sales],
CALCULATE([Total Sales], ALL('Product'[Category]))
)
DIVIDE handles the divide-by-zero case automatically; using the / operator would throw an error on empty contexts.
Q14. What is RELATED in DAX?
RELATED retrieves a value from a related dimension table when called from row context on a fact table. RELATED('Product'[Category]) returns the category for the current row's product. The relationship must be active and the direction must be from fact (Many side) toward dimension (One side). The reverse direction uses RELATEDTABLE, which returns a table of all related rows.
Q15. What's a variable in DAX and why use them?
Variables, declared with VAR name = expression followed by RETURN expression, store an intermediate value once and reuse it. Two reasons: readability (the measure becomes scannable) and performance (DAX evaluates each variable once, so repeated references don't re-trigger the calculation). Senior signal: using variables liberally. Junior signal: one-line measures with the same sub-expression repeated three times.
Q16. What's the difference between the IF and SWITCH functions?
IF takes a condition and returns one of two branches. SWITCH takes an expression and a series of value-then-result pairs and is cleaner for multi-branch logic. Chain of 5+ IF statements → rewrite as SWITCH. The 2026 best practice for multi-branch logic is SWITCH(TRUE(), condition1, result1, condition2, result2, ...) which reads top-to-bottom and lets you test arbitrary expressions.
Power Query M interview questions (7 Q)
Q17. What is Query Folding and why is it important?
Query Folding is Power Query's ability to translate M steps into the source's native query language and push the work to the source. When folding works, the source database does the heavy lifting; when it breaks, Power Query pulls all source data and filters locally. Check status by right-clicking a step for "View Native Query". Enabled means it folded. Grayed out means the chain broke at or before that step. Reorder steps to keep foldable operations first.
Q18. What steps typically break Query Folding?
Custom M functions, certain merge operations (especially anti-joins), Table.AddColumn with non-foldable expressions, Table.ReplaceValue in some scenarios, and any step downstream of a non-foldable step. Pattern: foldable operations first (filter rows, select columns, basic transformations), then non-foldable work at the end. Senior signal: auditing folding before shipping a refresh.
Q19. How do you handle errors in Power Query?
Three options. try ... otherwise wraps a step and returns a fallback if it errors out, useful for occasional type-conversion failures. Table.RemoveRowsWithErrors strips rows where any column errored. Table.ReplaceErrorValues swaps error values for a specified value. Choice depends on whether you want to drop, recover, or forward.
Q20. Write an M expression that adds a conditional column for revenue tier.
= Table.AddColumn(#"Previous Step", "Revenue Tier", each
if [Revenue] >= 100000 then "High"
else if [Revenue] >= 50000 then "Medium"
else "Low")
Pattern: Table.AddColumn with an each shortcut opens row-level access to the previous step's columns via [ColumnName]. The GUI's Conditional Column dropdown writes the same M behind the scenes.
Q21. What's the difference between Merge and Append?
Merge joins two queries side-by-side based on matching key columns, like SQL JOIN. Append stacks two queries vertically, like SQL UNION ALL. Merge adds columns; Append adds rows. When you Merge, you choose a join kind (Inner, Left Outer, Right Outer, Full Outer, Left Anti, Right Anti) that behaves exactly like the SQL equivalent.
Q22. How do you combine multiple Excel files in a folder as a single source?
"Get Data → From Folder → Combine & Transform." Power Query reads each file, applies the same transformations, and unions them. The catch: schema must match across files. An extra column or renamed column throws. Senior signal: use Table.PromoteHeaders and Table.SelectColumns after the combine to enforce a stable schema, instead of relying on every file being identical.
Q23. What are Parameters in Power Query?
Named values that can be referenced inside M code. Two common uses: making queries dynamic (a Server name parameter that swaps between dev and prod sources), and enabling incremental refresh (RangeStart and RangeEnd date parameters that filter the source table). Senior roles often test whether you've shipped a parameterized template colleagues can connect to their own sources.
Data modeling interview questions (8 Q)
Q24. What is a star schema and why is it preferred in Power BI?
A star schema has one fact table at the center surrounded by denormalized dimension tables, each linked to the fact by a single key with One-to-Many cardinality. Preferred because Vertipaq compresses stars efficiently, DAX measures are simpler to write, and visual interactions filter naturally. The Power BI engine was designed around the star pattern; deviating costs both performance and code clarity.
Q25. When would you snowflake instead of star?
Almost never by choice. Two legitimate reasons: the source warehouse is already snowflaked and flattening inside Power Query is impractical, or you have a slowly-changing dimension that needs versioning in a separate table. Even then, most teams flatten in Power Query. Reaching for snowflake by reflex signals SQL-warehouse instincts that haven't been re-trained.
Q26. What's a role-playing dimension?
A dimension table used in multiple semantic roles. Classic example: a Date dimension joined to Sales on Order Date and again on Ship Date. Two relationships, but Power BI only allows one to be active at a time. Either duplicate the Date table (one for Order, one for Ship) or use the inactive relationship via USERELATIONSHIP inside specific measures. Senior interviews often set this up.
Q27. How do you handle many-to-many relationships?
Three options. First and best: insert a bridge table with One-to-Many to both ends. This is the canonical fix for "customers can be in multiple segments." Second: use a Many-to-Many relationship type directly (supported since 2018). Works but has performance implications on large models. Third: handle it in DAX using TREATAS or SUMMARIZE patterns. Most flexible but most code-heavy. Senior interviews almost always probe this; it separates the "I read about Power BI" candidates from the "I built it" candidates.
Q28. What's the difference between active and inactive relationships?
A model can have multiple relationships between two tables, but only one can be active at a time. The active relationship is the one that handles filter context propagation by default. Inactive relationships are dormant unless explicitly invoked with USERELATIONSHIP inside a CALCULATE. The pattern is to use this for role-playing dimensions (Order Date is the active path, Ship Date and Due Date are inactive paths invoked via USERELATIONSHIP in measures).
Q29. What is cross-filter direction?
Cross-filter direction controls which way the filter context flows across a relationship. "Single" (the default for most relationships) means filters flow from the One side to the Many side; selecting a Product filters Sales, not the other way. "Both" means filters flow in both directions. Use "Both" sparingly; it creates ambiguity in models with multiple paths between tables and can cause measures to return unexpected results. The senior signal is leaving it Single by default and only enabling Both for documented cases.
Q30. What's a fact table and what types are there?
A fact table records business events with foreign keys to dimensions plus one or more numeric measures. Three common types: Transactional (one row per event such as sales, orders, clicks), Periodic Snapshot (one row per entity per period such as daily account balance, monthly inventory), Accumulating Snapshot (tracks a process through stages such as order lifecycle from placement to shipment). Each requires different DAX patterns; transactional is the easiest, accumulating is the trickiest because the same row gets updated over time.
Q31. What is a Date dimension and why do you need a dedicated one?
A Date dimension is a table with one row per date, augmented with helpful columns (Year, Quarter, Month, Day of Week, Fiscal Year, IsWeekend, IsHoliday). You need a dedicated one because Power BI's auto-date hierarchy is limited and the time intelligence functions (SAMEPERIODLASTYEAR and family) require a properly marked Date table to work. Build it once using CALENDARAUTO() or a Power Query date list, mark it as a date table, and connect every fact table's date column to it.
Visualization design interview questions (5 Q)
Q32. How do you choose the right visual for a business question?
Match the visual to the question shape. Comparing categories: clustered column or bar. Trend over time: line chart. Composition of a whole: stacked column or treemap (avoid pie for more than 3-4 slices). Distribution of a numeric: histogram or box plot. Correlation between two numerics: scatter. Tracking a single KPI: card or gauge. Cross-tabulated detail: matrix or table. The senior signal is choosing the simpler visual when it answers the question better.
Q33. What's the rule for using a pie chart?
Use sparingly. Pie charts are appropriate when there are 3-4 slices, the values sum to a meaningful whole, and the differences between slices are large enough to be visually obvious. Beyond that, a bar chart or treemap is almost always clearer. 3D pie charts are a hard ban in 2026 BI work; they distort visual proportions through perspective.
Q34. How would you apply conditional formatting in Power BI?
Three flavors. Background or font color based on a value range (low/medium/high). Icons (arrows, traffic lights) based on threshold rules. Data bars inside table cells showing relative magnitude. The senior pattern is driving the formatting from a measure, not from a static threshold, so the rules adapt to the data. The trap is over-formatting, where every cell has a color and the meaning gets lost. One conditional format per visual is usually plenty.
Q35. What accessibility considerations apply to Power BI reports?
Color-blind safe palettes (avoid red/green as the only differentiator), alt text on visuals, keyboard navigation set via the Selection pane, sufficient text-to-background contrast (WCAG AA minimum), and font sizes that work on Mobile and Desktop. The 2025-2026 Service release added more accessibility tooling, and many enterprise governance policies require it.
Q36. What's the difference between a Report and a Dashboard?
A Report is a multi-page interactive document built in Desktop with filtering, drill-down, slicing. A Dashboard is a Service-only single-canvas overview built from pinned tiles. Dashboards don't support filtering; clicking a tile takes the user to the underlying report. The 2024-2026 trend is to skip dashboards and design reports with a clear summary page that serves the dashboard role.
Performance optimization interview questions (5 Q)
Q37. How does Vertipaq compress data in Power BI?
Vertipaq is a columnar in-memory engine using three compression techniques: value encoding (storing numeric values directly), hash encoding (mapping repeated strings to integer indices), and run-length encoding (collapsing repeated consecutive values). Low-cardinality sorted columns compress 10:1 to 100:1. High-cardinality random columns compress poorly. Optimization: drop unused columns at the Power Query layer, sort by the highest-cardinality column, remove free-text columns that won't compress.
Q38. What is a Vertipaq Analyzer and what would you check first?
Vertipaq Analyzer (free external tool, also built into Desktop's Performance Analyzer) exposes model size by table and column. First check: which columns take the most memory. Common culprits are high-cardinality text columns (Notes fields, GUIDs, raw timestamps with millisecond precision) and unused columns from the source. Drop them, round timestamps to the second, split text columns into useful parts plus a key.
Q39. What are aggregations in Power BI?
Aggregations are pre-computed summary tables stored alongside the detail fact table. When a visual asks for a summary an aggregation can answer, the engine queries the aggregation instead of the detail (orders of magnitude faster). Use them on fact tables over 10 million rows where most user queries hit a small number of summary patterns. Configure via the model view's Manage Aggregations dialog.
Q40. How do you diagnose a slow report?
Performance Analyzer in Desktop. View tab → start recording, interact with the slow page, stop. The output splits each visual into DAX query time, visual display time, and other. DAX query time over 2 seconds is the most common culprit. Copy the DAX query into DAX Studio (free external tool) and use Server Timings to split storage engine vs formula engine time. Storage engine over 80% means DAX is fine but the model forces scans. Formula engine over 80% means the DAX has a problem (often a context transition or iterator over too much data).
Q41. What is incremental refresh and what's the minimum setup?
Incremental refresh partitions a large table by date range so only recent partitions refresh on each schedule. Setup: define RangeStart and RangeEnd date parameters in Power Query, filter the source by [Date] >= RangeStart and [Date] < RangeEnd, then set the table's refresh policy in the model view (store 5 years, refresh the last 30 days). Publish to a workspace that supports it (Pro for small datasets, Premium or Premium Per User for production). Senior signal: check that Query Folding still works after parameterization. If it doesn't fold, incremental refresh degrades to full refresh.
Power BI vs Tableau: which one matters for your interview
Most BI developer roles in 2026 list one tool, not both. Knowing which the role uses determines what you study. The high-level breakdown of the differences candidates ask about most:
| Dimension | Power BI | Tableau |
|---|---|---|
| Vendor | Microsoft | Salesforce |
| Formula language | DAX (steeper curve, more powerful) | Calculated Fields + LOD expressions |
| Data shaping | Power Query M (recorded by GUI) | Tableau Prep + Data Source page |
| Modeling | Star schema, explicit relationships | Joins + Blends, more analyst-driven |
| Visualization customization | Moderate (improving fast) | Deeper, more flexible |
| Per-user cost (Enterprise) | ~$10/month Pro, $20/month PPU | $42-75/month per role |
| Mobile experience | Strong on Microsoft 365 stacks | Strong cross-platform |
| Strength in 2026 | Mid-market and Microsoft-shop enterprises | Analyst-led teams and Salesforce-integrated stacks |
For the candidate figuring out which to learn first: pick the one your target market uses. Mid-market in 2026: Power BI 70% of the time. Larger analyst-led teams: closer to 50/50. The concepts overlap (both require star-schema reflexes and visualization-as-answer judgment), but the syntax does not transfer between DAX and Tableau's calculation language without significant relearning.
Many roles list "experience with Power BI or Tableau" as a soft requirement. The honest interview answer when asked about the other tool is "I built my portfolio in Power BI; I've used Tableau enough to read calculated fields and recognize modeling patterns, but I'd ramp faster on Power BI on day one." That beats pretending fluency.
Power BI interview format by company size
Same role title, different test depending on company stage. The four common interview formats in 2026:
| Company stage | Interview rounds | Take-home? | DAX depth | Project tour? |
|---|---|---|---|---|
| Early-stage startup (Series A-B) | 2-3 rounds | Yes, usually a small build task | Light | Always |
| Mid-market (50-500 employees) | 3-4 rounds | Sometimes | Medium | Usually |
| Enterprise (Microsoft-shop) | 4-5 rounds | Rarely | Deep | Always |
| Consultancy (Power BI specialist firm) | 4-6 rounds | Often (complex multi-day) | Very deep | Yes, with critique |
Two patterns. First, the take-home is most common at startup and consultancy ends; the startup wants what you ship in 4 hours, the consultancy what you ship in 4 days. Second, every tier asks for the project tour. Having a portfolio with one published report is non-negotiable. Zero published reports drops candidates to the bottom half of the pool.
How to prepare for a Power BI interview (6 steps)
A focused three-week prep plan for an Excel-fluent analyst whose DAX is still shaky. The Excel-to-BI gap isn't knowledge depth, it's mental-model switching, and the highest-impact prep is doing rather than reading.
-
Week 1: drill DAX context. Three days on row context vs filter context. Read Microsoft's official DAX documentation. Write 10 measures from scratch on a toy model with two fact tables and three dimensions. Cover CALCULATE, SUMX, FILTER, ALL, ALLEXCEPT, and the time intelligence family.
-
Week 2: build and ship one end-to-end project. Pick a public dataset. Connect through Power Query, build a star schema with 4-5 dimensions plus 1 fact, write 10-15 measures, design a three-page report, and publish to the free Power BI Service tier. The build surfaces every gap you'd otherwise hit during the interview.
-
Memorize the time intelligence family. SAMEPERIODLASTYEAR, DATESYTD, DATESQTD, DATESMTD, PREVIOUSMONTH, PREVIOUSQUARTER, PARALLELPERIOD, DATEADD. Reaching for these by reflex looks fluent in 30 seconds.
-
Week 3: drill the 6 categories. Power BI basics, DAX, Power Query M, modeling, visualization, performance. 60-90 minutes per category, answers out loud. The first three carry the most weight at the analyst-pivoting tier; the last three matter more at senior roles.
-
Run 2-3 timed Power BI mock interviews. 45-minute mocks narrating DAX reasoning out loud while writing it. Silent DAX-writing is an anti-pattern in BI developer rounds; interviewers can't grade thinking they can't hear. Three runs is the minimum.
-
Morning of the interview: rehearse the project tour. Have a 3-minute version (elevator pitch with one screenshot) and an 8-minute version (deep-dive with model diagram, two key measures, one design decision). The candidate who hits 3 minutes and asks "should I go deeper on any part?" shows seniority.
Building a Power BI portfolio that actually moves interviews
Every Power BI interview opens with "walk me through a project you built." The analyst with a 3-page published report wins. The analyst with "I built dashboards at my last job but I can't share them" loses. Maya, the analyst this guide is written for, built three portfolio dashboards in 11 weeks on the side while working her Excel-heavy day job at a regional insurance firm. By interview five she'd memorized the three follow-up questions interviewers ask (which is harder to model, what was the slowest measure, how would you scale to 50 million rows) and had crisp answers ready.
What goes into a portfolio dashboard interviewers respect:
One real dataset, not a Power BI sample. Use public data from Kaggle, the U.S. Census, the Federal Reserve, transit agencies, or your local open-data portal. The Adventure Works dataset Microsoft ships is recognizable from across the room and signals "I followed a tutorial." A real dataset signals "I made decisions about messy data."
A star schema you can defend. Document why each dimension exists separately and why you chose star over snowflake. Have answers ready for "why did you put City inside Customer instead of a separate Geography dimension." A good one: "cardinality didn't justify the separation; the analytical questions all flow through Customer anyway."
Three to five measures with non-trivial DAX. Total Sales demonstrates nothing. Same-Period-Last-Year growth filtered to the top 10 products is a real measure. Rolling 12-month margin with a fallback for partial periods is. Pick measures that exercise CALCULATE, time intelligence, and filter context manipulation; document the DAX with comments so you can read it back during the project tour.
Two intentional design decisions you defend. Maybe a clustered column chart over a stacked one because cross-category comparison was the question. Maybe KPI cards at the bottom because the trend line told the bigger story. Senior interviewers grade judgment, not prettiness.
Published to the Service. A .pbix file you can email isn't a portfolio. A workspace URL the interviewer can click is. The free Service tier lets you publish, schedule refreshes, and share dashboards without paying. Use it.
Total time investment: 16-24 hours across 2-4 weekends. Less and the build is too thin to defend; more and you're polishing instead of shipping. Ship at the 20-hour mark.
Power BI interview red flags to watch for
Three patterns show up in interviews where the role isn't what the JD claims. Worth knowing because Power BI candidates accept the wrong offers often, and recovering from "I took the wrong role" costs 6-12 months.
The "Power BI developer" role with no Power Query questions. If the interview is 80% DAX and 0% Power Query, the team probably has a data engineer pre-cleaning everything. The BI work is then mostly visualization and measures. Fine if that's what you want; not fine if you wanted to build models from messy sources.
The "BI analyst" role asking system-design questions. Larger companies increasingly test data-flow thinking: design a metrics pipeline, handle late-arriving fact data, decide between Import and DirectQuery for a workload. If the interview leans heavily this direction, the role is closer to analytics engineering than traditional BI development.
No project tour, all algorithm questions. A role labeled "Power BI" that's actually testing SQL window functions and Python list comprehensions is hiring generically. Ask what percentage of the work is in Power BI Desktop vs other tools. The honest answer often clarifies the role.
Common Power BI interview mistakes for Excel-pivoting analysts
The seven most-reported mistakes from analyst-to-BI candidates in the 2025-2026 hiring cycle, in roughly the order of frequency:
Reaching for calculated columns instead of measures. The Excel reflex says "I need a new field, add a column." The Power BI reflex should be "I need a value that responds to filters, write a measure." Interviewers spot this in 30 seconds. The fix: for every aggregation you'd compute in Excel, write the DAX measure equivalent until measures become the default reach.
Not understanding row context vs filter context. Writing CALCULATE expressions by trial and error instead of by reasoning about which context applies where. The fix: spend three solid days on context and the official Microsoft documentation. There's no shortcut.
Using a snowflake schema because the source warehouse was snowflake. The model should be a star unless you have a documented reason to break the rule. Flatten in Power Query.
Skipping the Date dimension. Trying to use the column's raw date and discovering that none of the time intelligence functions work as expected. Build a proper Date table, mark it as a date table in the modeling view, connect every fact to it.
Writing one-line DAX measures with repeated sub-expressions. Without VAR, the engine re-evaluates each repeated sub-expression separately. Senior reviewers spot this immediately. The fix is using VAR liberally; it's a readability win and a performance win simultaneously.
Bare visuals with no formatting context. A clustered column chart with no axis labels, no title, no color logic. The senior signal is intentional minimalism: every choice (color, label, axis) earns its place. Junior signal is over-decoration or under-decoration.
Not knowing what happens when the refresh fails. Power BI refresh failures are a daily reality. Senior roles will ask "your scheduled refresh failed at 3 AM, what's your first move." The answer they want: check the refresh history in Service, check gateway logs, check whether the source schema changed, look for credential expiration. Junior signal is not having a debugging order.
A thing I'd add from watching analysts pivot into BI: don't try to memorize the seven mistakes the night before. Pick the two that match your prior background (almost always calculated columns and skipping the Date dimension for Excel-heavy candidates) and audit one of your existing Power BI projects for those patterns. Fix them in muscle memory. The other five take care of themselves once those two are gone.
Power BI interview cheat sheet
A one-page reference of the top 20 patterns, organized for the morning-of warmup. The act of writing this from memory is the prep; carrying it in is the safety net.
| # | Pattern | Use case | Notes |
|---|---|---|---|
| 1 | CALCULATE([Measure], filter) | Change filter context | The DAX workhorse |
| 2 | SUMX(Table, expression) | Row-level multiplication or conditional sum | When no stored column fits |
| 3 | DIVIDE(num, denom) | Safe division | Handles zero denominator |
| 4 | SAMEPERIODLASTYEAR(Date[Date]) | Prior-year comparison | Needs marked Date table |
| 5 | DATESYTD(Date[Date]) | Year-to-date filter | Use inside CALCULATE |
| 6 | RELATED('Dim'[Col]) | Pull dimension value into fact-row context | One side from Many side |
| 7 | VAR x = expr RETURN x | Reusable intermediate | Performance + readability |
| 8 | ALL('Product') | Remove all filters from table | For % of total |
| 9 | ALLEXCEPT(Table, col) | Keep one filter, remove rest | Subtotal patterns |
| 10 | FILTER(Table, condition) | Row-by-row filter | Slower; reach only when needed |
| 11 | USERELATIONSHIP(col1, col2) | Activate inactive relationship | For role-playing dimensions |
| 12 | SWITCH(TRUE(), cond1, r1, ...) | Multi-branch logic | Cleaner than nested IF |
| 13 | DATEADD(Date[Date], -1, MONTH) | Custom prior-period | Configurable offset |
| 14 | RANKX(ALL(Table), [Measure]) | Ranking measure | Common visual pattern |
| 15 | HASONEVALUE('Dim'[Col]) | Check single selection | For dynamic titles |
| 16 | SELECTEDVALUE('Dim'[Col]) | Get single selected value | With fallback parameter |
| 17 | Star schema by default | Modeling reflex | Snowflake only with reason |
| 18 | VAR liberally | DAX best practice | Compute once, reuse |
| 19 | Measure-first reflex | Excel-to-BI mental switch | Columns only when stored fits the use |
| 20 | Query Folding check | Power Query discipline | Right-click step, View Native Query |
Memorize the top half; the bottom half is the polish.
How to handle Power BI tricky questions you've never seen
Every Power BI interview includes at least one question you haven't seen. A DAX edge case, a Power Query operation, a modeling scenario with three foreign keys and two role-playing dimensions. The candidate who freezes loses the round. The candidate who reasons through it out loud often passes even when the final answer isn't right.
A four-step pattern:
1. Restate the question in your own words. Half the "tricky" questions become normal once you say them back. "So you're asking how to write a measure that returns the prior year's value for the same employee, even when filter context restricts to one department. Let me think about that." Buys 10 seconds of thinking time and signals careful reasoning.
2. State what you know and what you don't. "I know SAMEPERIODLASTYEAR is the time intelligence function, but I'm not 100% sure how filter context interacts when the employee dimension is restricted. Can I walk through what I'd try first?" Calibration beats confidence.
3. Reason from first principles. "Time intelligence functions modify the date filter. The employee filter still applies because CALCULATE doesn't remove filters I didn't ask it to remove. So the prior-year value should be filtered to the same employee." That trail of reasoning is the work the interviewer is grading.
4. Test the hypothesis if you can. "Can I sketch the DAX and walk through what each step does?" is usually welcome. If allowed, write and narrate. If not, walk through it verbally with the same structure.
Tricky Power BI questions are rarely about memorization. They're about whether you understand row vs filter context, the star schema reflex, what CALCULATE actually does. Show your reasoning and you show your understanding.
Key terms
- DAX (Data Analysis Expressions)
- The formula language for Power BI, Analysis Services tabular models, and Power Pivot. Operates on entire columns and tables, not on cells. Two evaluation contexts (row and filter) define what data a formula sees.
- Row context vs Filter context
- Row context is the iteration over individual rows, present inside calculated columns and iterator functions like SUMX. Filter context is the set of filters active across the model, coming from slicers, visuals, and CALCULATE's filter arguments.
- CALCULATE
- The only DAX function that modifies filter context. Evaluates an expression after applying filter changes. The workhorse of every non-trivial measure.
- Star schema vs snowflake schema
- A star has one fact table linked directly to denormalized dimensions. A snowflake further normalizes dimensions into multiple tables. Star is the Power BI default; snowflake costs both performance and code clarity.
- Semantic model (formerly dataset)
- The layer containing tables, relationships, calculated columns, measures, and security rules. One semantic model can power many reports. The 2024 rebrand aligned Microsoft's terminology with the broader analytics industry.
- Power Query + M language
- Power Query is the data-shaping layer for connection and transformation. M is the underlying functional language Power Query records as you click. Reading and editing M directly is a senior BI developer skill.
- Query Folding
- Power Query's ability to translate M steps into the source system's native query language (usually SQL) and push the work to the source. When folding works, refresh is fast. When it breaks, the source's full dataset gets pulled and processed locally.
- Vertipaq
- The columnar in-memory engine inside Power BI that stores Import-mode data. Uses value encoding, hash encoding, and run-length encoding to compress aggressively. Optimization targets column cardinality and data sort order.
- Incremental refresh
- A Power BI feature that partitions a large fact table by date so only recent partitions refresh on each schedule. Configured via RangeStart/RangeEnd parameters and a model-level refresh policy.
- Power BI Desktop vs Service vs Mobile
- Desktop is the free Windows authoring app. Service is the cloud platform for publishing, scheduling, and sharing. Mobile is the consumption app on iOS and Android. The dev cycle: build in Desktop, publish to Service, consume in browser or Mobile.
Related guides
- Data engineer interview questions: the upstream role that supplies the warehouses Power BI sits on top of.
- Python interview questions: the language Power BI candidates increasingly need for advanced data shaping outside Power Query.
- Technical phone screen tactics: the early round where the analytical-thinking calibration happens.
- HackerRank tech interview guide: the assessment platform most likely to host the SQL portion of a BI loop.
- System design basics for new grads: the data-flow thinking that increasingly shows up in senior BI developer rounds.
- Mock interview practice: how to drill these questions under realistic timing pressure.
About the author: Alex Chen is the founder of InterviewChamp.AI, building AI interview prep for the new-grad CS market and writing about the modern interview gauntlet from the inside.
Related guides
System Design Interview Guide for CS New Grads (2026): Framework, Templates, Cheat Sheet
The new-grad system design interview is a vocabulary check, a structure check, and a communication check, not a senior architect evaluation. This guide gives you a 4-step framework, a 12-template cheat sheet, a 45-minute time budget, the five canonical problems that carry 80% of new-grad rotations, and a side-by-side of HLD vs LLD vs machine-learning-system-design. Built for the CS new grad who has solved 600 LeetCode problems but never drawn a load balancer.
Alex Chen ·
Read more →The 2026 CS New-Grad Interview Loop: Phone Screen to Offer at Every Tier
The 2026 CS new-grad interview loop runs five steps (recruiter screen, technical screen, onsite, debrief, offer) but the shape of each step now depends on tier of company. This guide maps the loop for FAANG, mid-tier public, startup, consultancy, and research lab, with 2026 timelines and how AI-fraud concerns brought in-person rounds back.
Alex Chen ·
Read more →Accounting Interview Questions for 2026: 40+ Questions for Staff Accountants, Big 4 Candidates, and CPA Pivots
Accounting interview questions in 2026 test six things at once: do you know GAAP cold, can you walk a transaction from journal entry to the three financial statements, can you read a balance sheet under pressure, do you understand the difference between Big 4 audit and corporate close work, can you handle the behavioral round without sounding rehearsed, and can you reason through a case study when the prompt is intentionally vague. If you're an accounting grad, a CPA candidate, or pivoting from finance/ops into staff accountant work, the technical bar isn't the killer. It's framing what you know in 60 seconds while a senior manager watches you on Zoom. This guide walks 40+ questions across six categories, the Big 4 vs corporate vs public-accounting split, and the four-week prep plan that actually works.
Alex Chen ·
Read more →Frequently asked questions
- What Power BI interview questions should I prepare for in 2026?
- Prepare across six categories: Power BI basics (Desktop vs Service vs Mobile, semantic models, workspace governance), DAX formulas (CALCULATE, FILTER, time intelligence, iterators like SUMX), Power Query M (Folding, error rows, conditional column logic), data modeling (star vs snowflake, relationships and cardinality, role-playing dimensions), visualization design (chart selection, conditional formatting, accessibility), and performance optimization (Vertipaq compression, aggregations, incremental refresh). Most BI developer interviews split roughly 30% DAX, 25% modeling, 20% Power Query, 15% visualization, and 10% basics-plus-performance. The DAX bar is where most analyst-to-BI candidates stumble, because Excel formulas teach the wrong mental model.
- What's the difference between Power BI Desktop and Power BI Service?
- Power BI Desktop is the free Windows authoring app where you connect to sources, shape data in Power Query, build the data model, write DAX, and design report pages. Power BI Service is the cloud platform where you publish those reports, schedule refreshes, manage workspaces, grant permissions, and embed dashboards. Desktop is the dev environment; Service is production. The hand-off pattern in 2026 is: build the .pbix file locally, push to a workspace in the Service, set up a scheduled refresh through a data gateway if you're pulling from on-prem sources, then share via apps or workspace permissions. Almost every BI developer interview asks you to walk through this hand-off.
- What is DAX and how is it different from Excel formulas?
- DAX (Data Analysis Expressions) is the formula language for Power BI, Analysis Services tabular models, and Power Pivot. It looks like Excel at first glance but it operates on entire columns and tables, not on cells. The two big mental shifts: DAX has two evaluation contexts (row context and filter context) that determine what subset of data a formula sees, and DAX uses CALCULATE to manipulate filter context in ways Excel can't. The analyst who treats DAX as 'Excel formulas plus tables' writes inefficient code that breaks on large models. The BI developer who internalizes row vs filter context writes measures that scale to millions of rows. This shift is the single hardest part of the Excel-to-BI pivot.
- What is the difference between a calculated column and a measure in Power BI?
- A calculated column is computed row by row at refresh time and stored in the model alongside source data; it expands the model size. A measure is computed at query time using the filter context of the visual that asks for it; it adds no storage cost but recomputes on every interaction. Rule of thumb: if the value belongs to a single row (a category, a date bucket, a derived flag), use a calculated column. If the value aggregates across rows depending on what the user filters (a sum, an average, a ratio), use a measure. New BI developers reach for calculated columns far too often; the senior signal is using measures unless a column is genuinely required.
- What is CALCULATE in DAX and why does every interviewer ask about it?
- CALCULATE is the only DAX function that changes filter context. It evaluates an expression after applying a set of filter modifications you specify. Every non-trivial measure (year-over-year growth, percentage of total, comparing one segment against the model average) requires CALCULATE because the default filter context isn't enough. The interviewer asks because CALCULATE separates the two populations: candidates who memorized the syntax and can't explain when filter context overrides happen, and candidates who can walk through the order (1: detect explicit filters, 2: apply filter context transitions from row context, 3: apply CALCULATE's filter arguments, 4: evaluate the expression).
- What's the difference between a star schema and a snowflake schema?
- A star schema has one fact table in the center linked directly to dimension tables, each at one hop. A snowflake schema normalizes dimensions further; a Product dimension might split into Product, Subcategory, and Category tables, each linked by foreign keys. Star schemas are the strong default in Power BI because the Vertipaq engine compresses and queries them faster and DAX measures are simpler to write against them. Snowflake schemas pop up when you import an existing normalized warehouse, but you typically flatten them inside Power Query before loading. Most modeling interview questions test whether you reach for star by reflex and only break the rule for a documented reason.
- What is row context vs filter context in DAX?
- Row context is the iteration over individual rows of a table. It exists inside calculated columns and inside iterator functions like SUMX, AVERAGEX, FILTER. Row context knows which single row the formula is currently looking at. Filter context is the set of filters active across the entire model. It comes from slicers, visual filters, page filters, report filters, and the rows or columns of the visual asking for the value. Filter context determines what data the formula sees in aggregate. Most DAX confusion stems from not knowing which context applies where, and from not knowing that CALCULATE and the iterator functions are the bridges between the two. Mastering this distinction is the prerequisite for writing any non-trivial measure.
- What is Power Query and what does the M language do?
- Power Query is the data-shaping layer inside Power BI Desktop and Excel. It connects to sources, transforms the data (filter rows, split columns, pivot, merge, append), and outputs the cleaned tables that load into the model. M is the underlying functional language Power Query records as you click through the GUI. Most analysts write M by clicking; BI developers also read and edit the M code directly because the GUI doesn't expose every operation. Interviewers test whether you can read M, recognize when Query Folding broke (the killer performance issue), and write conditional column logic when the GUI dropdown isn't enough.
- How is Power BI different from Tableau?
- Power BI and Tableau both deliver enterprise BI, but they hit the market from different angles. Power BI is Microsoft's stack: tight integration with Excel, Azure, SQL Server, and Microsoft 365; cheaper per-user licensing at scale; DAX as the formula language; M as the data-shaping language. Tableau is Salesforce's stack: deeper visualization customization; more analyst-friendly drag-and-drop modeling; Tableau Calculated Fields and LOD expressions instead of DAX; higher per-user cost. In 2026, Power BI dominates mid-market and Microsoft-shop enterprises, while Tableau holds on at enterprises with deep prior investment in its server infrastructure and at analyst-led teams that prefer its exploration UX. Most BI developer roles list one or the other; some list both.
- What is Query Folding in Power Query and why does it matter?
- Query Folding is Power Query's ability to translate the M transformation steps into the source system's native query language (usually SQL) and push the work to the source. When folding works, a million-row table can be filtered down to 10,000 rows by the database before Power Query even sees the data. When folding breaks, Power Query pulls all million rows into memory and filters locally, which is slow and bloats refresh times. Steps that break folding include custom M functions, certain merge operations, and any step after a non-foldable step in the chain. Interviewers ask about folding because it separates analysts who think 'the refresh takes 20 minutes, that's just how it is' from BI developers who know how to diagnose and fix the chain.
- What is a relationship cardinality and which type is most common?
- Relationship cardinality describes how rows in one table relate to rows in another: One-to-Many (one customer has many orders), Many-to-One (the reverse), One-to-One (one customer profile per customer), and Many-to-Many (a customer can be in many segments, a segment contains many customers). One-to-Many is the workhorse. Almost every dimension-to-fact relationship is One-to-Many with the dimension on the One side and the fact on the Many side. Many-to-Many is the trap; it requires a bridging table or DAX changes to behave correctly, and it's a common interview-question setup ('we have customers tagged with multiple segments, how would you model this?').
- What is incremental refresh in Power BI and when do you use it?
- Incremental refresh is a Power BI feature that splits a large table into a partitioned set, where only the most-recent partitions refresh on each schedule and historical partitions stay static. Configure it by parameterizing your Power Query with RangeStart and RangeEnd date filters, then setting a policy in the model (store five years, refresh the last 30 days). Use it when your fact table is over 10 million rows and a full refresh exceeds the gateway timeout or the Service's refresh window. The 2026 update worth knowing: Premium-tier workspaces can also enable an active hybrid pattern where the most-recent partition is DirectQuery while history is Import. Senior BI developer roles always test incremental refresh.
- How should I prepare for a Power BI interview as an Excel-heavy analyst?
- Three weeks of focused work. Week 1: shore up DAX. Internalize row context vs filter context, write measures using CALCULATE, SUMX, FILTER, and the time intelligence family (SAMEPERIODLASTYEAR, DATESYTD, PREVIOUSMONTH) on a small toy model you build from scratch. Week 2: build and ship one end-to-end Power BI project. Connect to a public dataset, model a star schema, write 10-15 measures, design a three-page report with appropriate chart choices, publish to the free Service tier. Week 3: drill the 40+ canonical questions from this guide and run 2-3 timed mock interviews narrating your DAX out loud. The Excel-to-BI gap isn't knowledge depth; it's mental-model switching. Build before you study.
- What's the most common Power BI interview mistake analysts make?
- Writing calculated columns instead of measures. The Excel reflex says 'I need a new field, I'll add a column.' The Power BI reflex should be 'I need a value that responds to filters, I'll write a measure.' Interviewers spot this in 30 seconds. When you reach for a calculated column to compute Year-over-Year growth instead of using CALCULATE with SAMEPERIODLASTYEAR, the candidate has revealed they're still thinking in Excel. The fix is rote practice: for every aggregation you'd compute in Excel, write the DAX measure equivalent until it becomes the default reach.
- What Power BI visualization questions get asked in interviews?
- Three patterns. Chart selection: given a business question, which visual best answers it (clustered column for category comparison, line for trend over time, scatter for correlation, matrix for cross-tabulated drill-down, KPI card for single-number tracking). Conditional formatting: when to use icons versus data bars versus background color, and how to drive formatting from a measure rather than a static threshold. Accessibility: color-blind safe palettes, alt text, keyboard navigation, and the WCAG-aligned requirements built into the 2025-2026 Power BI Service release. The senior signal is choosing a less-flashy visual when it answers the question better; the junior signal is using gauge charts and 3D pie charts because they look impressive.