KPI Partners - Blogs

Azure Analysis Services & Power BI: Best Practices

Written by Chandra Maatam | Sep 28, 2026, 2:59:03 PM

Author: Chandra Matam: Solution Architect

 

Key takeaways:

  • A fast, trusted Power BI report depends on the semantic model beneath it, not only the report visuals.
  • Azure Analysis Services' best practices still apply across Power BI and Microsoft Fabric semantic models, but new work should be designed for portability and governance.

 

It is tempting to treat a Power BI performance issue as a report-design problem: the dashboard feels slow, so we start with the visuals. In most cases, the real issue sits deeper in the semantic model. Performance, trust, and reuse are shaped by how that model is designed, governed, and maintained. The good news is that the discipline is portable. The same tabular modeling practices apply whether the model runs in Azure Analysis Services, Power BI, or a Microsoft Fabric semantic model.

 

Choose the Right Power BI Connectivity Model

Power BI connects to a model in one of three ways, and it helps to be clear on the trade-offs before talking about tuning.


  • Import: Best performance through cached, in-memory data.
  • DirectQuery: Useful for near real-time needs, but source performance matters.
  • Live connection: Power BI acts as the front end for an external tabular model such as AAS or SSAS.
 

Azure Analysis Services remains relevant for existing tabular models, but Microsoft’s roadmap has shifted toward Power BI Premium and Microsoft Fabric semantic models. For technical leaders, the priority is to keep models portable, governed, and ready for modernization when the business case is right.

 

Design the Data Model for Performance

The tabular engine stores data in a compressed, columnar format, so model size and column design directly affect performance. A few decisions usually make the biggest difference:


  • Reduce unnecessary size: Exclude high-cardinality, surrogate, and ETL-only columns that do not support reporting.
  • Bring in only relevant columns: Import only what users need for analysis instead of loading entire source tables and hiding unused fields.
  • Partition fact tables: Use partitions for large fact tables so only recent or changed data needs to be processed.
  • Model for business use: Use business-friendly names, hide technical fields, and rely on a standard date dimension so time intelligence works consistently.

 

Govern Calculations and Security

Concentrating business logic in the model is what gives you a single version of the truth across every report. The caution is that calculations are not free.


  • Prefer measures, and do not overload the model: Calculated columns consume memory and can slow the model. Where a calculation can be pushed into the import query or into the dimensional model in the warehouse, do that instead.
  • Optimize your Data Analysis Expressions (DAX): Use tools such as DAX Studio to identify expensive calculations and simplify logic before scaling capacity.
  • Choose cheaper functions: Favor lighter constructs where they return the same result.
  • Write engine-friendly expressions: Rewrite deeply nested functions so the engine can resolve them efficiently and filter out empty or unneeded rows before any expensive computation.

 

Governance should be built into the semantic layer through approved measures, consistent naming, documented definitions, role-level security, and controlled change management.

 

Tune the Report Layer

A well-built model can still be undone by a heavy report page.


  • Limit visuals and data behind each visual
  • Reduce unnecessary cross-highlighting
  • Test row-level security and cache behavior using real user roles

 

Plan for Capacity and Modernization

  • Optimize the model before increasing capacity.
  • Partitioning and object-level refresh reduce processing cost.
  • A clean model supports easier modernization.

 

Where This Is Heading

Azure Analysis Services remains useful for existing tabular models, but the broader Microsoft analytics roadmap is moving toward Power BI Premium and Microsoft Fabric semantic models. For technical leaders, the goal is not to rebuild everything immediately. It is to keep the semantic layer clean, governed, and portable so modernization can happen when the business case is clear.

 

As a Microsoft Partner, KPI Partners helps organizations assess, optimize, and modernize BI estates while preserving the modeling discipline already built into their Azure Analysis Services and Power BI environments. Teams planning this shift can explore KPI Partners’ BI Modernization Accelerator or speak with our experts about the right path forward.