Common Power BI interview questions focus on core concepts like measures vs. calculated columns, Import vs. DirectQuery, and DAX functions. . Preparing clear answers for these fundamental topics ensures you are ready to impress your interviewer.

Core Concepts & Architecture
- What is Power BI?
A suite of business analytics tools by Microsoft that lets you connect to different data sources, clean data, build models, and share interactive dashboards and reports. - Difference between a Report, Dashboard, and Semantic Model (Dataset)?
- Semantic Model: The underlying data structure and connections ready for queries.
- Report: A multi-page interactive view of data with various visualizations built from a single dataset.
- Dashboard: A single-page canvas (pinned tiles) used to monitor key metrics across multiple reports.
- Import Mode vs. DirectQuery vs. Live Connection?
- Import: Loads data into the Power BI memory (VertiPaq engine). Fastest performance, but requires scheduled data refreshes.
- DirectQuery: Queries the underlying database live. No data is stored in Power BI, meaning no refresh needed, but performance depends on the source database speed.
- Live Connection: Connects directly to an external Analysis Services instance without transforming data inside Power BI.
Data Modeling & Power Query
- Star Schema vs. Snowflake Schema?
- Star Schema: A central fact table surrounded by denormalized dimension tables. Best practice for Power BI performance.
- Snowflake Schema: Dimension tables are normalized (split into sub-dimensions), creating more complex relationships and slower queries.
- What is Query Folding?
- The process where Power Query pushes data transformation steps back to the original database (like SQL) rather than processing them locally, optimizing load times.
DAX (Data Analysis Expressions)
- Measure vs. Calculated Column?
- Calculated Column: Evaluated row-by-row during data refresh and stored in memory, consuming storage space (uses row context).
- Measure: Calculated on the fly when you place it in a visual or filter, does not take up database space (uses filter context).
- What does the
CALCULATEfunction do?- It evaluates an expression in a context modified by filters. It is the most powerful DAX function used to override or redefine filter context.
Basics
1. What is Power BI, and what are its main components?
A business analytics tool for visualizing and sharing insights. Core components: Power BI Desktop (authoring), Power BI Service (cloud sharing/collaboration), Power BI Mobile, Power BI Report Server (on-premises), and Power BI Gateway (connects on-prem data to the cloud).
2. What’s the difference between Power BI Desktop and Power BI Service?
Desktop is where you build reports, create data models, and write DAX/Power Query transformations locally. Service is the cloud platform where you publish, share, schedule refreshes, and set up dashboards/workspaces.
3. What are the different types of filters in Power BI?
Visual-level, page-level, report-level, and drillthrough filters. Also worth mentioning slicers as an interactive filtering visual.
4. What is Power Query, and what’s it used for?
The data transformation/ETL engine in Power BI (M language under the hood). Used for cleaning, shaping, merging, and loading data before it hits the model.
5. What’s the difference between a calculated column and a measure?
A calculated column is computed row-by-row and stored in the table (takes up memory, static per row). A measure is calculated on the fly based on the current filter context and isn’t stored — used for aggregations that need to respond dynamically to slicers/filters.
Data Modeling
6. Explain star schema vs. snowflake schema.
Star schema: one central fact table connected directly to denormalized dimension tables — simpler, faster performance. Snowflake schema: dimension tables are further normalized into sub-dimensions — more complex, saves storage but can hurt performance.
7. What’s the difference between a fact table and a dimension table?
Fact tables hold quantitative/transactional data (sales amount, quantity) and foreign keys. Dimension tables hold descriptive attributes (product name, customer info, date) used to slice and filter facts.
8. What are relationships in Power BI, and what types exist?
Connections between tables based on common columns. Types: one-to-many (most common), one-to-one, and many-to-many. Also relevant: cross-filter direction (single vs. both) and active vs. inactive relationships.
9. What is a bidirectional (both-direction) relationship, and why be careful with it?
It lets filters flow both ways between two tables. Useful in some many-to-many scenarios, but can cause ambiguous filter paths, performance issues, and circular logic if overused.
10. What is the role of a Date/Calendar table, and why create one manually?
A dedicated date table enables time intelligence functions (YTD, MTD, same period last year, etc.). You create one manually to ensure it’s continuous, marked as a proper date table, and not dependent on inconsistent dates from fact tables.
DAX
11. What is DAX?
Data Analysis Expressions — the formula language used for measures, calculated columns, and calculated tables in Power BI.
12. Explain context in DAX — row context vs. filter context.
Row context is the “current row” being evaluated (relevant in calculated columns or iterator functions like SUMX). Filter context is the set of filters applied to the model (from slicers, visuals, or filter functions) that determines which rows are visible when a measure is evaluated.
13. What does CALCULATE do, and why is it considered the most important DAX function?
It modifies filter context — it can add, remove, or override filters. Nearly every advanced DAX pattern (YTD, comparisons, % of total) relies on CALCULATE to manipulate context.
14. Difference between SUM, SUMX, and other X-suffixed functions?
SUM aggregates a single column directly. SUMX is an iterator — it goes row by row (using row context) evaluating an expression, then sums the results. Useful when you need to multiply/combine columns before summing (e.g., quantity × price).
15. How do you calculate Year-to-Date (YTD) in DAX?
Typically: TOTALYTD(SUM(Sales[Amount]), 'Date'[Date]) or CALCULATE(SUM(Sales[Amount]), DATESYTD('Date'[Date])).
16. What’s the difference between ALL, ALLEXCEPT, and REMOVEFILTERS?
ALL removes all filters from a table/column (used for “% of total” calcs). ALLEXCEPT removes all filters except the ones specified. REMOVEFILTERS is functionally similar to ALL but reads more explicitly and is the modern recommended syntax.
17. What’s the difference between VAR and using nested expressions?
VAR lets you store an intermediate calculation as a variable for readability and performance (it’s evaluated once, not recalculated each time it’s referenced).
Visualizations & Reports
18. What’s the difference between a dashboard and a report in Power BI Service?
A report is multi-page, built from a single dataset, with interactive filtering. A dashboard is a single-page canvas of pinned tiles that can pull from multiple reports/datasets, but has limited interactivity compared to a report.
19. What is drill-through vs. drill-down?
Drill-down moves through a visual’s own hierarchy (Year → Quarter → Month). Drill-through navigates to a separate detail page filtered by the item you clicked, passing context along.
20. What are bookmarks, and what are they used for?
They capture the current state of a report page (filters, visual visibility, slicer selections) so you can create guided navigation, toggle views, or build custom tooltips/pop-ups.
Performance & Administration
21. How do you optimize a slow Power BI report?
Common answers: reduce cardinality, use star schema instead of snowflake, avoid excessive bidirectional relationships, minimize calculated columns in favor of measures, use variables in DAX, disable auto date/time, reduce visuals per page, use aggregations/incremental refresh for large datasets.
22. What is Row-Level Security (RLS), and how do you implement it?
Restricts data visibility per user based on roles. Implemented via DAX filter expressions on roles in Power BI Desktop, then assigning users/groups to those roles in the Service.
23. What’s the difference between Import, DirectQuery, and Live Connection modes?
Import loads data into memory (fast, but needs refreshes). DirectQuery queries the source live on every interaction (always current, but can be slower). Live Connection connects directly to an existing Power BI dataset or Analysis Services model without importing data.
24. What is incremental refresh, and why use it?
Refreshes only new/changed data instead of the entire dataset — critical for large fact tables to reduce refresh time and resource usage.
Scenario-Style Questions to Expect
- “Walk me through how you’d model a sales dataset with multiple currencies and regions.”
- “A report is running slowly — how do you troubleshoot it?”
- “How would you handle a many-to-many relationship between two tables?”
- “How do you show a ‘sales this month vs. same month last year’ comparison?”
- “Explain a time you had to clean messy data before building a model.”
Common Power BI interview questions and answers, organized by level (beginner → intermediate → advanced). These draw from frequently asked topics across recent guides (GeeksforGeeks, DataCamp, Agilemania, and community sources).
Beginner / Basic Questions
1. What is Power BI? Power BI is Microsoft’s business intelligence and data visualization platform. It connects to multiple data sources, transforms data, builds interactive reports and dashboards, and enables sharing and collaboration. Key strengths include strong Microsoft ecosystem integration (Excel, Azure, Microsoft 365), self-service analytics, and AI-assisted insights.
2. What are the main components / products of Power BI?
- Power BI Desktop — Authoring tool (data connection, modeling, DAX, report design).
- Power BI Service (app.powerbi.com) — Cloud platform for publishing, sharing, scheduling refreshes, and dashboards.
- Power BI Mobile — Apps for viewing on mobile devices.
- Power BI Report Server — On-premises alternative.
- Power BI Report Builder — For paginated (pixel-perfect) reports.
- Power BI Embedded — For embedding reports in custom apps. Supporting technologies: Power Query (ETL), Power Pivot (modeling), DAX, Q&A.
3. What is the difference between a Report, Dashboard, Dataset (Semantic Model), and Visual?
- Dataset / Semantic Model — The data model (tables, relationships, measures).
- Report — Multi-page interactive document built on a dataset (filters, drill-downs, cross-filtering).
- Dashboard — Single-page overview created by pinning visuals from one or more reports (mainly in the Service).
- Visual — Individual chart, table, KPI, map, etc.
4. Power BI vs Tableau / vs Excel?
- vs Tableau: Power BI has a gentler learning curve (especially for Excel users), deeper Microsoft integration, and is often more cost-effective for many organizations. Tableau is frequently preferred for highly customized visualizations and complex data exploration.
- vs Excel: Excel is excellent for spreadsheets, ad-hoc analysis, and formulas on smaller data. Power BI is designed for interactive dashboards, larger datasets, data modeling, scheduled refreshes, and sharing.
5. What are the licensing options? Free (personal use, limited sharing), Pro (collaboration/sharing), Premium Per User (PPU — advanced features per user), and capacity-based (Premium / Fabric F-SKUs for enterprise scale, larger models, more frequent refresh).
6. What is Power Query? The ETL (Extract, Transform, Load) engine in Power BI. It connects to sources, cleans and reshapes data using a visual editor (M language under the hood), and prepares data for the model.
Intermediate Questions
7. Difference between Calculated Column, Calculated Table, and Measure?
- Calculated Column — Row-by-row calculation stored in the model (increases size).
- Calculated Table — New table created with DAX (also stored).
- Measure — Dynamic aggregation calculated at query time based on filter context (preferred for most aggregations; better performance).
8. What is DAX? Give examples of important functions. Data Analysis Expressions — the formula language for calculations in Power BI. Common functions: SUM, SUMX, CALCULATE, FILTER, ALL / REMOVEFILTERS, RELATED, time-intelligence functions (TOTALYTD, SAMEPERIODLASTYEAR), RANKX, etc. CALCULATE is especially important because it modifies filter context.
9. What is a Star Schema and why is it recommended? A central fact table (transactions/metrics with foreign keys) surrounded by dimension tables (descriptive attributes). It is the preferred model in Power BI because it is simple, performs well with the VertiPaq engine, supports clear relationships, and makes DAX easier and more efficient.
10. Relationships, Cardinality, and Cross-filter Direction Cardinality options: One-to-Many (most common and recommended), Many-to-One, One-to-One, Many-to-Many. Prefer single-direction filtering in most cases; bi-directional only when necessary (can introduce ambiguity and performance issues).
11. Import vs DirectQuery vs Composite / Live Connection
- Import — Data is loaded into Power BI (best performance, scheduled refresh).
- DirectQuery — Queries go to the source in real time (good for very large or frequently changing data; can be slower).
- Composite — Mix of Import and DirectQuery in one model.
- Live Connection — Typically to Analysis Services or similar.
12. What is Query Folding? Power Query pushes transformation steps back to the data source (as native SQL, etc.) instead of processing them locally. It greatly improves performance on large relational sources. You can check it via “View Native Query” in the Applied Steps pane.
13. How do you refresh data? Manual refresh in Desktop, scheduled refresh in the Service (requires gateway for on-premises sources), DirectQuery/Live (always current), incremental refresh for large datasets, or automation via Power Automate / APIs.
14. What is an On-premises Data Gateway? A bridge that securely allows the Power BI Service to reach on-premises data sources for scheduled refresh or DirectQuery. Standard mode supports multiple users and connection types; Personal mode is single-user and more limited.
Advanced / Scenario-Style Questions
15. Row-Level Security (RLS) Filters data so users only see rows they are authorized to see. Implemented with DAX filter expressions on tables, then roles are assigned in the Service (or via groups). Dynamic RLS often uses USERPRINCIPALNAME() or similar.
16. Performance optimization techniques
- Prefer star schema and Import mode where possible.
- Use measures instead of calculated columns when appropriate.
- Reduce cardinality of columns, remove unused columns, avoid bi-directional relationships.
- Use variables in DAX, avoid unnecessary iterators.
- Enable query folding, use incremental refresh, aggregate tables, and monitor with Performance Analyzer / DAX Studio / VertiPaq Analyzer.
- Limit visuals per page and use appropriate visual types.
17. Filter Context vs Row Context
- Row context — Exists when iterating over rows (e.g., calculated columns, iterators like SUMX).
- Filter context — Comes from slicers, filters, visual interactions, and is modified by CALCULATE. Understanding the difference (and how CALCULATE transitions between them) is a classic advanced interview topic.
18. Time Intelligence Requires a proper date table marked as a date table. Common patterns: YTD, QTD, MTD, Year-over-Year growth using SAMEPERIODLASTYEAR, DATEADD, PARALLELPERIOD, etc.
19. Handling Many-to-Many or Inactive Relationships Use a bridge table for true many-to-many, or USERELATIONSHIP / TREATAS for inactive relationships.
20. Microsoft Fabric and Power BI Power BI is now one experience within Microsoft Fabric (unified analytics platform with OneLake). Enterprise capacity is typically purchased as Fabric F-SKUs. Models can sit directly on lakehouse/warehouse data.
Quick Tips for Interviews
- Be ready to write simple-to-medium DAX on the spot (e.g., YoY growth, Top N with Others, running totals).
- Explain why you choose certain modeling or DAX approaches (performance, maintainability, accuracy).
- Mention real projects: data volume, refresh strategy, security, stakeholder feedback, and performance improvements you made.
- Know the difference between report-level, page-level, visual-level, and drill-through filters, plus edit interactions.
These cover the majority of questions asked for analyst, developer, and BI specialist roles. Practice explaining concepts out loud and building small sample models so you can discuss trade-offs confidently. Good luck!
Let’s go deeper on all three — these are exactly where interviews get technical. I’ll give you more advanced questions, actual DAX patterns, and the reasoning interviewers are listening for.
DAX — Deeper Dive
1. Explain filter context propagation across relationships.
Filters flow from the “one” side to the “many” side by default in a one-to-many relationship. So filtering the Date table filters Sales, but filtering Sales does NOT automatically filter Date — unless the relationship is set to bidirectional. Interviewers want to hear you understand direction matters.
2. Write a measure for “Sales % of Total.”
Sales % of Total =
DIVIDE(
SUM(Sales[Amount]),
CALCULATE(SUM(Sales[Amount]), ALL(Sales))
)Key point: ALL(Sales) strips filters so the denominator is always the grand total, while the numerator respects the current visual’s filter context. Always use DIVIDE() instead of / — it handles divide-by-zero gracefully.
3. Write a Same Period Last Year (SPLY) measure.
Sales SPLY = CALCULATE(
SUM(Sales[Amount]),
SAMEPERIODLASTYEAR('Date'[Date])
)Follow-up they might ask: “What if you don’t have a continuous date table?” Answer: SAMEPERIODLASTYEAR and other time-intelligence functions will break or give wrong results — they require a contiguous, marked date table.
4. What’s the difference between EARLIER and VAR for row context problems?
EARLIER references an outer row context from within a nested row context (used in calculated columns, common in older DAX). VAR is the modern, more readable replacement — store the outer value in a variable instead of relying on EARLIER’s implicit context stack. Most interviewers now expect VAR as the answer, but you should know EARLIER exists since it shows up in legacy code.
5. What are context transition and why does CALCULATE trigger it?
When CALCULATE is used inside a row context (e.g., inside a calculated column or iterator), it converts that row context into an equivalent filter context — this is context transition. It’s why measures behave differently when referenced inside FILTER or SUMX versus directly in a visual. This is a favorite “gotcha” question for mid/senior roles.
6. Difference between COUNTROWS, COUNT, COUNTA, DISTINCTCOUNT?
- COUNT: counts numeric/date values in a column, ignores blanks
- COUNTA: counts non-blank values of any type
- COUNTROWS: counts rows in a table (no column needed) — best for counting filtered rows
- DISTINCTCOUNT: counts unique values in a column
7. How would you write a running total?
Running Total =
CALCULATE(
SUM(Sales[Amount]),
FILTER(ALL('Date'), 'Date'[Date] <= MAX('Date'[Date]))
)Or with the modern function: DATESYTD, DATESBETWEEN, or the more direct approach using ALLSELECTED if you want it to respect user selections rather than the full table.
8. What’s ALLSELECTED used for, and how is it different from ALL?
ALL removes all filters. ALLSELECTED removes filters added by the visual itself but retains filters from slicers/external selections outside that visual. Common use case: “% of total” that respects a slicer but not the visual’s own row/column grouping.
Data Modeling — Deeper Dive
9. Why avoid bidirectional relationships and many-to-many at scale?
Ambiguous filter propagation paths can cause circular references Power BI has to resolve, which hurts performance and can produce unexpected results in complex models. Better pattern: use a bridge table for many-to-many, and keep cross-filter direction single unless there’s a specific reason (like a many-to-many bridge or a role-playing dimension scenario).
10. What is a role-playing dimension, and how do you handle it in Power BI?
A single dimension (like Date) that relates to a fact table in multiple ways — e.g., OrderDate, ShipDate, DueDate. Since Power BI only allows one active relationship per pair of tables, you either create separate physical Date tables (Date, ShipDate, DueDate) or use USERELATIONSHIP() in DAX to activate an inactive relationship for specific measures.
Sales by Ship Date =
CALCULATE(
SUM(Sales[Amount]),
USERELATIONSHIP(Sales[ShipDateKey], 'ShipDate'[DateKey])
)11. How do you handle slowly changing dimensions (SCD) in Power BI?
Type 1 (overwrite) is simplest and most common in BI reporting. Type 2 (track history with surrogate keys, start/end dates) requires more careful modeling — usually handled upstream in the data warehouse before it ever reaches Power BI, since Power BI itself isn’t built to manage SCD logic natively.
12. What’s a composite model, and when would you use one?
A model combining Import and DirectQuery sources (or multiple DirectQuery sources) in the same file. Useful when you need near-real-time data from one source but want the performance of Import for a large historical dataset. Trade-off: added complexity and potential performance issues at the “seam” between storage modes.
13. What is a bridge table, and when do you need one?
An intermediate table used to resolve a many-to-many relationship — e.g., students and courses, where each student takes many courses and each course has many students. You connect Student → Bridge → Course instead of a direct many-to-many link.
14. How do you decide between snowflake and star schema in a real project?
Star schema almost always wins for performance and simplicity in Power BI, since the engine (VertiPaq) is optimized for it. Snowflake might be justified if you’re inheriting a pre-normalized data warehouse and don’t want to duplicate transformation logic, but best practice is to flatten dimensions during Power Query load.
Performance — Deeper Dive
15. What is VertiPaq, and how does it store data?
Power BI’s in-memory columnar storage engine. It compresses data column-by-column (not row-by-row), which is why high-cardinality columns (like unique IDs or timestamps with seconds) hurt compression and performance far more than low-cardinality columns.
16. How does column cardinality affect performance, and what do you do about it?
High cardinality = larger memory footprint, slower scans. Fixes: remove unnecessary high-cardinality columns, split datetime into separate Date and Time columns (rather than one high-cardinality datetime column), round or bucket continuous values if full precision isn’t needed.
17. What’s the impact of calculated columns vs. measures on model size/performance?
Calculated columns are computed at refresh time and stored in-memory, adding to model size and compression overhead. Measures are computed at query time and add zero storage cost. Rule of thumb: prefer measures unless you need the result for slicing, filtering, or relationships (which requires an actual column).
18. What is query folding in Power Query, and why does it matter for performance?
Query folding pushes your Power Query transformation steps back to the source system (e.g., SQL) instead of pulling raw data and transforming it locally. When folding breaks (often due to certain M functions or custom columns), all transformation work happens locally, which is much slower — especially on large sources.
19. How would you troubleshoot a report that’s slow to load?
Use Performance Analyzer in Power BI Desktop to see time breakdown per visual (DAX query time, visual rendering time, other). Then: check for expensive DAX (iterators over large tables, unnecessary bidirectional filters), reduce visuals per page, check for unnecessary calculated columns, verify aggregations/incremental refresh are configured for large fact tables, and check whether DirectQuery is generating inefficient native queries.
20. What’s the difference between Import mode performance and DirectQuery performance considerations?
Import is limited by RAM and model size but is generally fast since queries hit compressed in-memory data. DirectQuery performance depends entirely on the source database’s query performance and can be a bottleneck — every visual interaction sends a live query to the source, so poorly indexed source tables directly hurt the user experience.
21. What are aggregations, and when would you use them?
Pre-summarized tables (e.g., daily sales aggregated instead of row-level transactions) that Power BI automatically routes queries to when possible, falling back to the detail table only when needed. Useful for very large DirectQuery or Import datasets where querying billions of rows directly is too slow.
1. What is Power BI?
Answer
Power BI is Microsoft’s Business Intelligence and Data Visualization platform used to connect to multiple data sources, transform data, build interactive reports, dashboards, and share insights across an organization.
Main components:
- Power BI Desktop
- Power BI Service
- Power BI Mobile
- Power BI Gateway
- Power BI Report Server
2. Explain Power BI Architecture.
Answer
Architecture consists of:
Data Sources
↓
Power Query (ETL)
↓
Data Model
↓
DAX Calculations
↓
Visualizations
↓
Power BI Service
↓
Dashboard SharingFlow:
Database → Import/DirectQuery → Transform → Model → Report → Publish → Dashboard
3. What are the different Power BI components?
Answer
- Power BI Desktop
- Power BI Service
- Power BI Mobile
- Power BI Gateway
- Report Server
- Dataflows
- Power Query
- DAX
- Power BI Embedded
4. What are Import, DirectQuery and Live Connection?
Import Mode
- Data stored inside Power BI
- Fastest performance
- Scheduled refresh
Best for:
Small-Medium datasets
DirectQuery
- Data remains in SQL Server
- Every visual sends SQL query
- Real-time
Best for:
Large datasets
Live Connection
Connects directly to:
- SSAS
- Azure Analysis Services
- Power BI Dataset
No data stored locally.
5. Difference between Dashboard and Report?
| Report | Dashboard |
|---|---|
| Multiple pages | Single page |
| Interactive | Limited interaction |
| Created in Desktop | Created in Service |
| Multiple visuals | Pinned visuals |
6. What is Power Query?
Answer
Power Query is ETL engine inside Power BI.
Used for:
- Cleaning data
- Removing duplicates
- Merge
- Append
- Pivot
- Unpivot
- Split columns
- Replace values
Language used:
M Language
7. What is DAX?
Answer
DAX (Data Analysis Expressions) is the formula language used in Power BI.
Used for:
- Measures
- Calculated Columns
- Calculated Tables
- KPIs
- Time Intelligence
Example
Total Sales =
SUM(Sales[Amount])8. Difference between Measure and Calculated Column?
| Measure | Calculated Column |
|---|---|
| Calculated during query | Calculated during refresh |
| Doesn’t increase model size | Increases model size |
| Dynamic | Static |
| Uses Filter Context | Uses Row Context |
9. What is Row Context?
Answer:
Row context means DAX evaluates one row at a time.
Example:
Profit =
Sales[SalesAmount]-Sales[Cost]Every row is evaluated independently.
10. What is Filter Context?
Answer:
Filter context comes from:
- Slicers
- Filters
- Visuals
- Relationships
Example
SUM(Sales[Amount])If Year=2025 selected
Only 2025 data gets calculated.
11. Difference between SUM and SUMX?
SUM
SUM(Sales[Amount])Adds one column.
SUMX
SUMX(
Sales,
Sales[Qty]*Sales[Price]
)Iterates row by row.
12. Explain CALCULATE()
Most important DAX function.
Changes filter context.
Example
Total Sales =
CALCULATE(
SUM(Sales[Amount]),
Sales[Region]="East"
)13. Explain ALL() Function
Removes filters.
Example
Overall Sales =
CALCULATE(
SUM(Sales[Amount]),
ALL(Sales)
)14. Difference between ALL and ALLEXCEPT
ALL removes all filters.
ALLEXCEPT removes all except selected columns.
15. Explain RELATED()
Fetches values from related table.
Example
RELATED(Customer[Country])16. Difference between RELATED and LOOKUPVALUE
RELATED
Requires relationship.
LOOKUPVALUE
No relationship required.
17. Explain Star Schema.
Best modeling practice.
Date
Product Sales Customer
GeographyOne Fact table
Multiple Dimension tables
18. What is Snowflake Schema?
Normalized dimension tables.
Country
State
City
CustomerMore joins than Star Schema.
19. Why Star Schema preferred?
- Better performance
- Simpler model
- Less memory
- Easier DAX
20. What is Cardinality?
Relationship types:
One-to-One
One-to-Many
Many-to-One
Many-to-Many
21. What is Cross Filter Direction?
Single
Customer → SalesBoth
Customer ↔ SalesUse Both only when necessary.
22. Explain Incremental Refresh.
Loads only new data.
Instead of loading:
10 million rows
Loads:
Last 1 day
Huge performance improvement.
23. Explain Aggregation Tables.
Pre-calculated summary tables.
Instead of
100 Million rowsUse
Monthly SalesPerformance improves significantly.
24. What is Composite Model?
Combination of:
Import
DirectQuery
25. Explain RLS (Row Level Security).
Restricts users to see only authorized data.
Example
Manager A
Can see
East Region
Manager B
Can see
West Region
26. Difference between Static and Dynamic RLS
Static
Hardcoded users
Dynamic
Uses USERPRINCIPALNAME()
27. Explain USERPRINCIPALNAME()
Returns logged-in user.
Example
USERPRINCIPALNAME()Useful in Dynamic Security.
28. What is Drill Down?
Year
↓
Quarter
↓
Month
↓
Day
29. What is Drill Through?
Navigate to detailed report by right-clicking.
Example
Sales Summary
↓
Customer Details
30. Explain Bookmarks.
Bookmarks save:
- Filters
- Slicers
- Navigation
- Visibility
Useful for storytelling.
31. What is Power BI Gateway?
Secure bridge between:
On-Premises SQL Server
↓
Power BI Service
32. Difference between Personal and Enterprise Gateway
Personal
Single user
Enterprise
Multiple users
Recommended for production.
33. Explain Scheduled Refresh.
Automatically refreshes data.
Example
Every
- 2 Hours
- Daily
- Weekly
34. What causes slow Power BI reports?
- Too many visuals
- Poor DAX
- Bidirectional relationships
- High-cardinality columns
- Large model size
- Importing unnecessary columns
- Inefficient DirectQuery
35. How do you optimize Power BI performance?
- Star schema
- Remove unused columns
- Remove unused tables
- Use measures instead of calculated columns
- Disable Auto Date
- Use aggregation tables
- Incremental refresh
- Optimize DAX
- Reduce visuals
- Proper indexing in SQL
36. Difference between COUNT, COUNTA and DISTINCTCOUNT
COUNT
Counts numeric values
COUNTA
Counts non-empty values
DISTINCTCOUNT
Counts unique values
37. Explain Time Intelligence.
Functions:
TOTALYTD()
DATESYTD()
SAMEPERIODLASTYEAR()
DATEADD()
PARALLELPERIOD()
38. Difference between HASONEVALUE and ISFILTERED
HASONEVALUE
Checks one value selected.
ISFILTERED
Checks if filter exists.
39. What is a Dataflow?
Reusable ETL process in Power BI Service.
Multiple reports can consume same cleaned data.
40. What Power BI interview questions have you faced in real projects?
A strong project-based answer:
“In my recent project, I connected Power BI to Azure SQL Database and Azure Data Factory pipelines. I used Power Query for data cleansing, designed a star schema with fact and dimension tables, created DAX measures for KPIs like Revenue, Profit Margin, and Year-over-Year Growth, implemented Row-Level Security using
USERPRINCIPALNAME(), configured incremental refresh for large datasets, and published reports to the Power BI Service with scheduled refresh through an enterprise gateway. I also optimized performance by reducing model size, using measures instead of calculated columns, and simplifying DAX expressions.”
Common Scenario-Based Questions
- Why is your report running slowly?
- How would you optimize a 100 million row dataset?
- How do you implement Row-Level Security?
- How do you connect Power BI to Azure SQL or Snowflake?
- What is the difference between Import and DirectQuery, and when would you choose each?
- How do you debug incorrect DAX calculations?
- How do you handle duplicate records in Power Query?
- How do you create Year-to-Date (YTD) and Year-over-Year (YoY) measures?
- Explain the difference between a calculated column and a measure with a practical example.
- How do you publish and schedule refresh for Power BI reports?
These questions are commonly asked in interviews for Power BI Developer, Data Analyst, BI Developer, Azure Data Engineer with Power BI, and Microsoft Fabric roles. Given your Azure Data Factory and SQL focus, be prepared to explain how Power BI integrates with ETL pipelines, data warehouses, and enterprise security.

