SynfraCore
Synfracore
Start Learning
Navigation

Academies

Platform

RoadmapsLabsCertificationsInterviewPYQsAI AssistantCareer
Start Learning Free🗺️ Learning Roadmaps

Power BIInterview Q&A

Most asked interview questions with detailed answers

💬
Verified by practitioners with 5+ years production experience· Updated 2025 · SynfraCore Power BI Team
Expert Content

Power BI Interview Questions

Core Concepts

Q: What is Power BI? Components of the Power BI ecosystem.

Power BI is Microsoft's business intelligence and data visualisation platform. Three main components:

Power BI Desktop: Free Windows app for building reports. Connect data, transform with Power Query, model with DAX, create visualisations.

Power BI Service (app.powerbi.com): Cloud platform. Publish reports, create dashboards, share, schedule data refresh. Requires Pro/Premium licence for sharing.

Power BI Mobile: iOS/Android app to view reports on mobile.

Additional: Power BI Embedded (embed in apps), Power BI Report Server (on-premise).


Q: DAX (Data Analysis Expressions) — core concepts.

DAX is Power BI's formula language for calculated columns and measures.

dax
-- Measures (calculated at query time, context-aware)
Total Sales = SUM(Orders[Amount])
Average Order Value = DIVIDE([Total Sales], COUNT(Orders[OrderID]))
YTD Sales = TOTALYTD([Total Sales], Dates[Date])
Sales LY = CALCULATE([Total Sales], SAMEPERIODLASTYEAR(Dates[Date]))
Growth % = DIVIDE([Total Sales] - [Sales LY], [Sales LY])

-- Calculated columns (computed row by row, stored in model)
Full Name = Customers[FirstName] & " " & Customers[LastName]
Profit Margin = (Orders[Revenue] - Orders[Cost]) / Orders[Revenue]
Age Group = IF(Customers[Age] >= 30, "Senior", "Junior")

-- CALCULATE: the most important DAX function
-- Changes filter context for a calculation
Sales USA = CALCULATE([Total Sales], Customers[Country] = "USA")
Sales Top Products = CALCULATE([Total Sales], 
    TOPN(10, Products, [Total Sales], DESC))
    
-- Time intelligence
Sales MTD = TOTALMTD([Total Sales], Dates[Date])
Sales QTD = TOTALQTD([Total Sales], Dates[Date])
Rolling 3M = CALCULATE([Total Sales], 
    DATESINPERIOD(Dates[Date], LASTDATE(Dates[Date]), -3, MONTH))

Q: Power Query in Power BI.

Home → Transform Data → Power Query Editor

Steps:
1. Get Data (CSV, Excel, SQL Server, SharePoint, Web, etc.)
2. Remove unnecessary columns
3. Filter rows (e.g., only 2024 data)
4. Rename columns (make them user-friendly)
5. Change data types (text → date, text → number)
6. Split columns (Full Name → First, Last)
7. Merge queries (JOIN tables)
8. Add custom column (calculated field)
9. Close & Apply

Each step is recorded → refresh reruns all steps automatically.

Q: Data model — star schema in Power BI.

Fact Tables: contain measures (numbers), foreign keys
  → Orders (OrderID, CustomerID, ProductID, DateID, Amount, Quantity)
  → Sales (SaleID, ...)

Dimension Tables: contain attributes, primary keys  
  → Customers (CustomerID, Name, Country, Segment)
  → Products (ProductID, Category, Brand, Price)
  → Dates (DateID, Date, Year, Quarter, Month, Week)

Relationships: Fact → Dimension (many-to-one)
  Orders[CustomerID] → Customers[CustomerID]
  
Always use star schema (not snowflake) in Power BI for performance.

Q: Row-Level Security (RLS).

RLS restricts which data users see based on their identity.

dax
-- Create role: "Sales Manager"
-- Add DAX filter to Sales table:
[Manager Email] = USERPRINCIPALNAME()
-- Each manager sees only their team's sales

-- Or use a security table:
[Region] IN VALUES(SecurityTable[Region])
-- Where SecurityTable maps user email to allowed regions

Deploy to Power BI Service → manage role assignments → test as user.

Revision Notes

POWER BI ECOSYSTEM:
Desktop (build) → Service (publish/share) → Mobile (view)
Pro licence: share with others | Premium: larger datasets, no per-user licence

DAX KEY FUNCTIONS:
SUM/COUNT/AVERAGE: basic aggregates
CALCULATE: change filter context (most important function)
DIVIDE: safe division (handles divide-by-zero)
Time intelligence: TOTALYTD, SAMEPERIODLASTYEAR, TOTALMTD

CALCULATED COLUMN vs MEASURE:
Columns: computed per row, stored, use for slicing/filtering
Measures: computed on demand, context-aware, use for aggregations

DATA MODEL: Star schema (fact tables + dimension tables)
Fact → Dimension: many-to-one relationships
Always include a date dimension table

POWER QUERY: import + transform + load pipeline
Each step recorded → refresh reruns automatically

RLS: filter data by user identity using USERPRINCIPALNAME()
Share:
Join our Community
Daily tips, job alerts, interview help — join engineers learning together
Quick Check — Power BI
1 / 2

What is the most important concept to understand about Power BI for interviews?

Up Next
🔧
Power BITroubleshooting
Debug common issues with root cause analysis
Also Worth Exploring
← Back to all Power BI modules
ProjectsTroubleshooting