Power BI Interview Questions for Data Analysts
Power BI interviews test your practical understanding of business intelligence architecture: data modeling, DAX measure optimization, filter context transition, and executive report design. Master these critical scenario-based interview questions.
What is the core difference between a Calculated Column and a DAX Measure in Power BI?
A Calculated Column evaluates row-by-row during data refresh and is stored permanently in file memory (RAM). A Measure calculates dynamically on the fly based on current user slicers and visual filters (filter context) without storing values in the file, making measures significantly faster and more memory-efficient.
-- Measure: Dynamic and computed on the fly
Total Profit Margin % =
DIVIDE(
[Total Revenue] - [Total Cost],
[Total Revenue],
0
)How does the CALCULATE function work in DAX, and what is context transition?
CALCULATE evaluates an expression in a modified filter context. It is the only function in DAX that can override or add filters. Context transition occurs when a row context is converted into an equivalent filter context, which automatically happens when a measure is invoked inside an iterator function like SUMX.
-- CALCULATE modifies the filter context to evaluate prior year sales
Prior Year Revenue =
CALCULATE(
[Total Revenue],
SAMEPERIODLASTYEAR(DimDate[Date])
)Why is a Star Schema strongly recommended over a flat single table or Snowflake schema in Power BI?
A Star Schema isolates quantitative numbers into a central Fact table and attributes into surrounding Dimension tables connected by 1-to-many relationships. VertiPaq compresses star schemas with maximum efficiency, reduces ambiguity in filter propagation, and makes DAX formulas simpler and faster.
-- Star Schema Structure:
FactSales (Amount, Quantity, DateKey, CustomerKey, ProductKey)
├── 1-to-many ── DimDate (Date, Month, Quarter, Year)
├── 1-to-many ── DimCustomer (Name, Segment, City)
└── 1-to-many ── DimProduct (SKU, Category, Brand)How do you handle multiple date relationships (e.g., Order Date vs Shipping Date) in Power BI?
Power BI allows only one active relationship between two tables at a time. The secondary relationship (e.g., Shipping Date to DimDate) is kept inactive and activated programmatically within specific measures using the USERELATIONSHIP function.
-- Activating inactive relationship for shipping metrics
Shipped Revenue =
CALCULATE(
[Total Revenue],
USERELATIONSHIP(FactSales[ShipDateKey], DimDate[DateKey])
)What is Row-Level Security (RLS) in Power BI and how is it implemented?
Row-Level Security (RLS) restricts data access for specific users based on roles and DAX filter rules. In Power BI Desktop, you define roles (e.g., "North Region") with DAX filters like `[Region] = "North"`. In Power BI Service, users or security groups are assigned to these roles.
-- Dynamic RLS using UserPrincipalName()
DimStore[ManagerEmail] = USERPRINCIPALNAME()Practice Live Technical Assessments with SSSAM Faculty
Reading questions is the first step. Writing queries under timed screen-share tests with live mentor reviews builds genuine interview confidence.