If you’ve spent any serious time building models in Microsoft Power BI, you’ll remember the old ritual.
Create measure.
Hit Enter
Wait
Watch the little spinner
Question your life choices
Repeat
Over and over and over again
The Old Way: Measure-by-Measure Misery
Creating measures used to feel… heavier than it should.
You’d:
- Right-click a table
- Click New Measure
- Write your DAX
- Press Enter
- Wait for the model to update
- Hope nothing broke
- Repeat 47 more times
On small models? Fine.
On enterprise models every single enter key press triggered a model validation and recalculation. And when you’re building a full KPI layer: Revenue, Revenue YTD, Revenue LY, Variance, Variance %, Rolling 12, etc. that lag adds up fast.
It wasn’t just slow. It broke your flow.
Enter: DAX Query View (Where Has This Been All My Life?)
Somewhere along the way (and yes, I might be late to this party), I properly started using DAX Query View.
And suddenly…
You can write multiple measures in one go
No waiting after each one
No constant model refresh after every Enter
Just clean, uninterrupted DAX writing
Why This Is Such a Big Deal
When you use DAX Query View, you can define measures in batches.
Instead of:
Revenue = SUM(Sales[Amount])
wait
Revenue YTD = TOTALYTD([Revenue], 'Date'[Date])
wait
Revenue LY = CALCULATE([Revenue], SAMEPERIODLASTYEAR('Date'[Date]))
wait
You can define them together in a structured block and apply changes in one operation.
DEFINE
MEASURE 'Measure Table'[Revenue] = SUM(Sales[Amount])
MEASURE 'Measure Table'[Revenue YTD] = TOTALYTD([Revenue], 'Date'[Date])
MEASURE 'Measure Table'[Revenue LY] = CALCULATE([Revenue], SAMEPERIODLASTYEAR ('Date'[Date]))
MEASURE 'Measure Table'[Revenue Variance] = [Revenue] - [Revenue LY]
MEASURE 'Measure Table'[Revenue Variance %] = DIVIDE([Revenue Variance], [Revenue LY])
That means:
- Faster measure development
- Better logical grouping of related calculations
- Easier refactoring
- Fewer interruptions to your concentration
When you're building out a semantic layer especially on larger models this saves a ridiculous amount of time.
The Real Productivity Gain
The biggest improvement isn’t just speed. It’s flow.
You can:
- Draft an entire KPI framework in one sitting
- Create base measures and derived measures together
- Spot naming inconsistencies immediately
- Structure things more cleanly
It encourages you to think architecturally instead of tactically.
Instead of reacting to model updates after every line, you design the measure layer properly and then commit it.
“Am I Late to This?”
Honestly? Probably.
But I only properly embraced this in my latest project, and I’m not exaggerating when I say it changed how I build models.
Sometimes features land quietly, and you don’t realise how much friction they remove until you use them intentionally.
If You’re Still Doing It the Old Way…
Stop torturing yourself.
Open DAX Query View.
Batch define your measures.
Top comments (0)