When you're working with Power BI Desktop day in and day out, speed matters. Not just for your own productivity, but for your ability to iterate with clients, respond to changing requirements, and deliver value quickly. At Axis Group, we've developed a systematic approach to Power BI development that helps our team work faster without cutting corners.
This isn't about doing things the wrong way faster—it's about eliminating repetitive work, leveraging automation, and setting yourself up for success from the start. Whether you're new to Power BI or a seasoned developer, these techniques can help you shave hours off your development time.
Our approach to fast Power BI development breaks down into three distinct stages:
BEFORE: Setup and planning—the foundation work you do once
DURING: Active development—best practices and shortcuts while building
AFTER: Cleanup and automation—reviewing and optimizing what you've created
Let's dive into each stage.
The fastest way to speed up development is to not have to do work twice. That starts with proper setup and planning before you write a single line of DAX or touch Power Query.
Your hardware and settings can make or break your development experience. Here's what we recommend:
Minimum 16GB RAM (32GB if you're working with large datasets)
Power Mode: Switch from "Best Power Efficiency" to at least "Balanced" or "Best Performance" when plugged in. This is especially important if you've recently upgraded to Windows 11, which often defaults to the lowest power setting
C-Drive Storage: Keep at least 20GB free. Power BI Desktop stores temp files, recovery files, and cached queries on your C-Drive, and low storage will cause save failures
Navigate to Power Query → View menu and adjust these settings:
Enable: Monospaced font and "Show whitespace" for easier debugging
Disable: Column profiling and quality indicators. These features add overhead and only analyze the first 1,000 rows anyway, which isn't representative of real-world data
Go to File → Options and Settings → Options:
Turn OFF Auto Date/Time: This prevents Power BI from creating hidden date tables that bloat your model and slow processing
Always ignore Privacy Level settings: This avoids unnecessary isolation steps that can break query folding
Enable Preview Features:
On-object interaction: Direct editing of visual elements
PBIP: Edit reports and models via code/text
New visualizations and AI features
In Report View → View menu:
Enable smart guides and gridlines for faster alignment
Pin all panes to the pane manager for quicker navigation
Configure autosave to prevent data loss (Power BI can crash unexpectedly)
Get sign-off on standards before you do significant development. This includes:
File structure conventions
Semantic model vs. report measures
Table and column naming standards
Calendar source and fiscal year handling
Point-in-time calculation behavior
Time intelligence standards
Canvas size, margins, and spacing
Font hierarchy and sizes
Required elements on every page (logo, data freshness date, navigation)
Brand colors AND semantic colors (what represents "good" vs. "bad")
Pro Tip: Document these standards in a Markdown file. Markdown is easy to maintain and can be fed directly to AI tools for automated code generation.
Create a JSON theme file that includes:
All brand colors with descriptions and usage comments
Semantic colors (good, bad, neutral, etc.)
A high-resolution SVG background image that scales smoothly
Conditional formatting examples
Start with Axis Group's standard template and customize it with:
Power Query Components:
Incremental refresh parameters
Connection parameters
Reusable functions (profiling, data quality, temporarily filtering data, etc.)
Calendar table
Documentation tables
DAX Components:
Calculation groups for time intelligence
Metadata measures (last refresh time, report version)
AI Instructions populated with customer context
Pages:
Template page with pre-formatted layouts
Component library with reusable visuals (KPI cards, slicers, buttons)
Required pages (About, Data Dictionary, Navigation)
Critical: Don't abandon the template once you create it. When you discover new requirements mid-project, update the template so the next developer doesn't have to recreate everything manually.
Once your environment is set up, these techniques will help you develop faster.
If you're clicking through menus for basic operations, you're wasting time. Master these:
Ctrl + A / Z / X / C / V: Select all, undo, cut, copy, paste
Ctrl/Shift + Click: Multi-select objects
Ctrl + G / Ctrl + Shift + G: Group / Ungroup visuals
Arrow / Shift + Arrow: Move objects precisely (1px / 10px)
Ctrl + D: Multi-cursor editing for find & replace in editors that don't have built-in find and replace functionality
Keep a separate group of disabled queries that contain your raw, unfiltered source data. This gives you a quick reference for exploration and profiling without adding overhead to your model. Use query references when you're ready to materialize the data.
This approach is invaluable for data discovery—you can sort, filter, check distinct values, and test assumptions without writing any SQL.
Query folding pushes work to the source database, which speeds up both refreshes and development (because previews return faster). Always try to:
Reduce data volume early (select only needed columns, filter, aggregate)
Keep transformations foldable before adding non-foldable steps
Check if a step is foldable by right-clicking and looking for "View Native Query"
Our template includes functions like:
fx_ConditionallyLimitRows
: Temporarily limit data during development
fx_FilterDimByFact
: Automatically filter dimension tables to only include values that exist in your fact tables
These functions are already tested, foldable, and save you from writing repetitive code.
The Model View is the only place where you can multi-select fields and change their properties in bulk:
Hide multiple keys at once
Format all date fields identically
Turn off default summarization for multiple measures
Apply consistent number formatting
Enable TMDL view to:
Edit semantic model properties as text
Bulk update measure descriptions
Copy/paste calculation groups between reports
Modify hidden properties that have no GUI option
Enable asynchronous development (merge measures from multiple developers)
Use the DAX Query View to:
Generate or troubleshoot measures with Copilot
Define all measures in a table and do find & replace
Profile semantic model data with "column statistics"
Query metadata using INFO functions like INFO.VIEW.MEASURES()
Preview data when connected to a semantic model in the service
Pro Tip: You can filter the results of INFO functions to find measures with invalid expressions, making cleanup much faster.
When working with large datasets that slow down the interface:
Use View → Pause Visuals to stop queries while designing
Temporarily limit data in Power Query during development
Wait to build the interface until your base measures are organized
Enable the "On-object interaction" preview feature, then:
Double-click an object to activate it (blue border appears)
Click the specific part you want to modify (title, axis labels, bars, etc.)
The Format pane automatically jumps to those settings
Double-click outside to deactivate
This is dramatically faster than hunting through hundreds of formatting options.
Select multiple objects (Ctrl or Shift + Click) to:
Change width, height, and other common properties simultaneously
Align objects (top, bottom, left, right)
Distribute evenly with precise spacing
Apply the format painter (only works between same object types)
Want to place 6 slicers horizontally with perfect spacing? Do the math once:
Canvas width: 1280px
Design standard gap: 4px
Number of gaps: 7 (edges + between objects)
Available width = 1280 - (7 × 4) = 1252px
Width per slicer = 1252 ÷ 6 = 208px
Then:
Create one slicer at 208px width with all formatting
Copy/paste 5 times
Place left-most slicer 4px from edge
Place right-most slicer at calculated X position
Select all and use "Distribute horizontally"
Perfect spacing, no guesswork, no iteration.
Once development is complete, these tools help you review and optimize:
Tabular Editor: Run BPA (Best Practice Analyzer) rules to refine your semantic model
DAX Studio: Check relationship integrity and performance
Report Analyzer: Identify performance issues and UI best practices violations
Measure Killer: Find unused/duplicate measures, unused columns, and unused queries
Bravo: Auto-format all your DAX for consistency
Modern AI tools can help with:
Commenting your M code
Finding optimizations in your DAX measure table
Suggesting naming improvements based on your standards
Generating PowerShell scripts to modify Report.json en masse
For best results, provide your design standards document as context so the AI understands your conventions.
Fast Power BI development isn't about cutting corners—it's about working smarter. By setting up your environment correctly, establishing standards early, leveraging built-in tools and functions, and using automation where appropriate, you can dramatically reduce the time it takes to build production-quality reports.
The key is to think systematically: What work can be done once and reused? What repetitive tasks can be automated? What mistakes can be prevented through proper setup?
Start with these techniques, adapt them to your workflow, and you'll find yourself delivering faster without sacrificing quality. And that's exactly what clients value most—speed AND excellence.