Top 100 PowerBI DAX Interview Questions

Sai Sarthak

profile
Top 100 PowerBI DAX Interview Questions
profile
Digital Product

CORE AGGREGATIONS

━━━━━━━━━━━━━━━━━━━━

SUM vs SUMX?

-> SUM sums a column directly

-> SUMX evaluates row by row THEN sums

-> Example: SUMX(Sales, Sales[Qty] * Sales[SalesAmount])

Always use DIVIDE over /:

-> DIVIDE(Sales[Amount], Sales[Qty]) handles zero errors safely

━━━━━━━━━━━━━━━━━━━━

FILTER CONTEXT

━━━━━━━━━━━━━━━━━━━━

-> CALCULATE → modifies filter context

-> ALL → removes ALL filters

-> ALLEXCEPT → keeps filters on specified columns

-> ALLSELECTED → respects user slicer selections

-> REMOVEFILTERS → removes filters from specific columns

━━━━━━━━━━━━━━━━━━━━

TIME INTELLIGENCE

━━━━━━━━━━━━━━━━━━━━

-> YTD: TOTALYTD(SUM(Sales[Amount]), Date[Date])

-> vs Last Year: CALCULATE(SUM(Sales[Amount]), SAMEPERIODLASTYEAR(Date[Date]))

-> MoM Growth: DIVIDE(SUM(Sales[Amount]), CALCULATE(SUM(Sales[Amount]), PREVIOUSMONTH(Date[Date]))) - 1

-> 30-Day Moving Avg: AVERAGEX(DATESINPERIOD(Date[Date], MAX(Date[Date]), -30, DAY), Sales[Amount])

-> Last 6 Months: CALCULATE(SUM(Sales[Amount]), DATESINPERIOD(Date[Date], TODAY(), -6, MONTH))

━━━━━━━━━━━━━━━━━━━━

RANKING & RUNNING TOTALS

━━━━━━━━━━━━━━━━━━━━

-> Rank: RANKX(ALL(Sales[ProductID]), SUM(Sales[Amount]), , DESC)

-> Running Total: CALCULATE(SUM(Sales[Amount]), FILTER(ALL(Date[Date]), Date[Date] <= MAX(Date[Date])))

-> % of Total: DIVIDE(SUM(Sales[Amount]), CALCULATE(SUM(Sales[Amount]), ALL(Sales)))

━━━━━━━━━━━━━━━━━━━━

ADVANCED DAX

━━━━━━━━━━━━━━━━━━━━

-> RELATED → fetches from related table via relationship

-> LOOKUPVALUE → fetches without a relationship

-> EARLIER → references outer row context during iteration

-> TREATAS → creates virtual relationships between columns

-> CROSSFILTER → changes relationship filter direction

-> SUMMARIZE → creates grouped summary tables

-> CALCULATETABLE → returns a filtered table (not a value)

-> RLS: USERNAME() → filters rows by logged-in user

100