← 30 Days Power BI Series
Day 25 of 30AdvancedInterview Prep

Day 25: Power BI — Technical Interview Q&A Set 2

5 questions · Power BI Interview Preparation

Q1

What is context transition in DAX and why does it matter?

Context transition occurs when a row context (the current row being iterated) is converted to an equivalent filter context. This happens automatically when a measure is referenced inside a calculated column or an iterator function (SUMX, AVERAGEX, etc.). Example: in a SUMX iteration, calling [Total Revenue] inside the iterator triggers context transition — the current row's values become filter context for the measure. This is why measures inside iterators can give different results than expected if you do not account for the transition. Context transition is one of the most complex DAX concepts and a common source of subtle calculation bugs.

💡 Interview tip: Context transition is an advanced DAX topic asked in Power BI developer interviews. If you can explain it clearly with an example, you demonstrate senior DAX knowledge.
Q2

How does ALLSELECTED differ from ALL in DAX?

ALL removes all filters from a table or column — including slicer selections. The result is always the absolute grand total regardless of any user interaction. ALLSELECTED removes filters applied by cross-filtering from other visuals but keeps filters from slicers and page/report-level filters. Use ALLSELECTED for "% of total as the user sees it": Revenue % of Visual Total = DIVIDE(SUM(Sales[Revenue]), CALCULATE(SUM(Sales[Revenue]), ALLSELECTED(Sales[Product]))). If the user filters to "North" via a slicer, ALLSELECTED keeps North — so the denominator is North's total, not the grand total. ALL ignores the slicer and uses the absolute grand total.

💡 Interview tip: ALLSELECTED for user-visible total (respects slicers). ALL for absolute grand total (ignores everything). This is a frequently asked interview question.
Q3

What is the TREATAS function in DAX?

TREATAS(table_expression, column1, column2, ...) applies a virtual relationship — it treats the values in a table expression as if they were filter values for the specified columns. Used when you need to filter a table using values from an unrelated table (no physical relationship). Example: applying a dynamic filter set from a What-If parameter table to the Sales table without creating a relationship: CALCULATE(SUM(Sales[Revenue]), TREATAS(SelectedProducts, Sales[ProductID])). TREATAS is an advanced alternative to USERELATIONSHIP when no physical relationship exists.

💡 Interview tip: TREATAS is an advanced DAX function used in disconnected slicer scenarios. Knowing it signals senior Power BI developer-level knowledge.
Q4

How do you implement a dynamic measure selector (switching between measures with one slicer)?

Create a disconnected measures table: Measure Name | Measure Index (Revenue, 1), (Profit, 2), (Orders, 3). Add a slicer for Measure Name. Create a DAX measure: Selected Measure = SWITCH(SELECTEDVALUE(MeasureTable[Measure Index]), 1, SUM(Sales[Revenue]), 2, SUM(Sales[Profit]), 3, COUNTROWS(Sales)). Use Selected Measure in all visuals. When the user selects "Revenue" in the slicer, all visuals show revenue. When they select "Profit", all visuals switch to profit — without creating multiple versions of the report.

💡 Interview tip: Dynamic measure selector is a popular Power BI pattern for executive dashboards where stakeholders want to switch the metric being analysed. It reduces page count and keeps the report clean.
Q5

What is Incremental Refresh in Power BI and when do you need it?

Incremental Refresh only refreshes new or changed data rather than re-loading the entire dataset on each refresh. For a dataset with 3 years of sales history, only the last 3 days of new data needs to refresh — the 3-year history stays cached. Setup: in Power Query, create RangeStart and RangeEnd parameters (exact names required) → filter the date column to between these parameters → in Power BI Desktop, right-click the table → Incremental Refresh → define the historical and refresh windows. Benefits: much faster refresh, less source database load, enables larger datasets within Pro limits. Requires Power BI Premium for datasets larger than 1 GB.

💡 Interview tip: Incremental Refresh is a Premium feature for large datasets where full refresh takes too long. Knowing it exists and the setup concept is sufficient for most analyst interviews.
← Day 24All DaysDay 26

Want live Power BI coaching?

Join EVIKA Academy for hands-on Power BI training with real projects and placement support in Delhi NCR.

Book Free Demo →
Best Data Analytics Course in Noida Delhi NCR | EVIKA ACADEMY