Introduction
Modern organizations often work with data coming from multiple systems, while business users expect both fast report performance and up-to-date information. Power BI Composite Models address this requirement by allowing a semantic model to combine different storage modes, such as Import, DirectQuery, and Dual, and can also integrate multiple DirectQuery sources.
This approach provides flexibility when a single storage mode cannot satisfy all reporting requirements.
What Are Power BI Composite Models?
A Composite Model is a Power BI semantic model that contains tables using more than one storage mode. For example, a model might store historical sales data using Import mode while retrieving current transactional data through DirectQuery.
Composite Models can also combine multiple DirectQuery sources, allowing organizations to build a single analytical model across different systems.
How Does a Composite Model Work?
The key concept is table-level storage mode. Depending on the reporting requirement, individual tables can use different modes:
- Import: Data is loaded into Power BI’s in-memory model, providing fast analytical performance.
- DirectQuery: Data remains in the source system and Power BI sends queries to the source when users interact with the report.
- Dual: A table can operate as either Import or DirectQuery depending on the query.
- Hybrid: A table can combine imported historical partitions with a DirectQuery partition for more recent data.
For example, a Sales fact table containing very large transactional data might remain in DirectQuery, while smaller Customer and Product dimensions can use Dual storage.
Real-World Use Case
Consider a retail organization that stores several years of sales transactions in an SQL Server database. Historical information doesn’t change frequently, but today’s transactions need to be available with minimal delay.
A Composite Model can keep historical sales data in Import mode while using DirectQuery for current transactions. Dimension tables such as Customer, Product, and Date can be configured appropriately to support efficient filtering.
This allows business users to analyze historical trends while also accessing more recent operational information from the source system.
Key Use Cases
1. Combining Import and DirectQuery
Organizations can combine cached historical data with source-level data when near-real-time reporting is required.
2. Combining Multiple Data Sources
Composite Models can integrate multiple DirectQuery sources into a single semantic model, which can be useful when information is distributed across different systems.
3. Extending Enterprise Semantic Models
Organizations can extend an existing Power BI or Analysis Services semantic model with additional data when the existing model does not contain everything required for a specific reporting scenario.
4. Improving DirectQuery Performance
Composite Models can use Import tables and aggregations to reduce the amount of data that needs to be queried directly from the source.
Best Practices
1. Use Import Where Practical
Microsoft recommends considering Import mode whenever possible because it generally provides strong performance and modeling flexibility. Composite Models should address a specific requirement rather than being used simply because multiple storage modes are available.
2. Use DirectQuery for Appropriate Tables
DirectQuery is useful for large datasets or scenarios requiring near-real-time access. However, performance depends heavily on the underlying data source and query design.
3. Use Dual Mode Carefully
Dimension tables can often benefit from Dual storage because they can work with both Import and DirectQuery queries. This can help avoid unnecessary limited relationships and improve query behavior.
4. Minimize Cross-Source Relationships
Relationships between different source groups can introduce additional query complexity. Therefore, model relationships should be designed carefully, particularly when combining large DirectQuery and Import tables.
5. Optimize the Source Database
For DirectQuery tables, database performance matters significantly. Proper indexing, optimized queries, and an efficient data model can help Power BI respond more efficiently.
6. Monitor Report Performance
Test report interactions, slicers, relationships, and DAX measures before deployment. A Composite Model can introduce complexity, so performance should be evaluated using realistic data volumes and user workloads.
Advantages of Composite Models
- Combines different storage modes
- Supports multiple DirectQuery sources
- Enables near-real-time reporting scenarios
- Can improve DirectQuery performance through caching and aggregations
- Provides greater modeling flexibility
- Allows organizations to extend existing semantic models
Limitations and Considerations
Composite Models also introduce additional design complexity. Cross-source relationships can behave differently from relationships within the same source group, and DirectQuery limitations can affect modeling and reporting capabilities.
Therefore, teams should evaluate whether Import, DirectQuery, Hybrid, or another modeling approach better fits the specific business requirement.
Conclusion
Power BI Composite Models provide a flexible approach for organizations that need to combine performance, data freshness, and multiple data sources. By strategically using Import, DirectQuery, Dual, and Hybrid storage modes, developers can create semantic models that address different analytical requirements within a single solution.
However, Composite Models should be designed carefully. Understanding storage modes, relationships, source performance, and query behavior is essential for building a scalable and reliable Power BI reporting environment.
Author By

Gaurav Lakhotia
Gaurav holds an MBA in Business Analytics. As a data geek and avid learner, he has earned accolades including Microsoft Certified Data Analyst, Microsoft Certified Azure Administrator, and active Power BI Community contributor. He is also a Microsoft Certified Trainer. With critical thinking and project delivery skills, he strives to achieve customer delight in Data Analytics projects. Gaurav loves travelling with friends when he is not busy working on data.