Power BI Fabric Integration: Complete Enterprise Guide
Microsoft Fabric, generally available since November 2023, is the unified analytics platform that consolidated Azure Synapse, Azure Data Factory, Power BI Premium, and Azure Data Explorer into a single SaaS environment. For Power BI customers, the most consequential element of that consolidation is Direct Lake mode and the underlying OneLake storage layer — which together change how Power BI reads data, computes capacity, and shares semantic models across an enterprise.
This guide explains how Power BI fits inside Fabric, what changed with Direct Lake, and what teams should consider when migrating from Power BI Premium or building net-new Fabric deployments.
Power BI is now a workload inside Microsoft Fabric. The two key innovations are OneLake (a tenant-wide Delta Lake) and Direct Lake mode (Power BI reads Delta tables directly with import-mode performance, no copy). Capacities are now Fabric F-SKUs, shared across all Fabric workloads. Semantic models are reusable across reports and notebooks. Migration from Power BI Premium is mostly automatic — but Direct Lake adoption requires data to live in Delta on OneLake.
Power BI in Fabric
Before Fabric, Power BI was a standalone product with its own pricing tiers (Pro, Premium Per User, Premium capacity) and its own runtime. Reports lived in workspaces; data either lived in Import mode (loaded into Power BI's VertiPaq engine) or in DirectQuery mode (queries pushed to the source on every interaction).
With Fabric, Power BI becomes one of several workloads running on a shared F-SKU capacity. The Power BI service URL (app.powerbi.com) and tooling (Power BI Desktop) are unchanged for everyday users — but underneath, capacity, storage, and semantic-model architecture have been substantially restructured.
How Power BI Fits in Fabric
Fabric introduces a tenant-wide architecture with several roles for Power BI assets:
The four layers from bottom up:
- OneLake — tenant-wide Delta Lake storage. Every Fabric workload reads and writes here.
- Data items — Lakehouses (Spark + Delta), Data Warehouses (T-SQL), Eventhouses (KQL/Kusto). All persist data into OneLake.
- Semantic models — formerly "Power BI datasets". Define tables, relationships, and DAX measures. Connect to underlying data via Direct Lake, Import, DirectQuery, or composite mode.
- Reports and tools — Power BI reports, paginated reports, Excel pivot tables, notebooks, Copilot, and any tool speaking the XMLA endpoint or DAX query language.
Direct Lake Mode Explained
Direct Lake is the most significant Power BI feature change in years. Before Fabric, Power BI engineers had to choose between two trade-offs:
- Import mode — copy data into Power BI's VertiPaq columnar engine. Fast queries, but data is stale until the next refresh, and large datasets hit storage and refresh-time limits.
- DirectQuery mode — push every query down to the source. Always fresh, but every dashboard interaction triggers a database query, and performance is bounded by the source.
Direct Lake is a third option that combines the strengths of both:
- Power BI reads Delta tables in OneLake directly into VertiPaq on demand — column by column — with no copy or refresh schedule.
- Queries run at import-mode speed because data is in VertiPaq's columnar store.
- Data is always current — when the underlying Delta table changes, Direct Lake picks up the new version on the next access.
The trick is that Delta is already columnar (Parquet underneath), and VertiPaq is columnar. Direct Lake converts on the fly without re-encoding. The model holds metadata (tables, relationships, measures); the column data is paged in from OneLake at query time.
Direct Lake has limitations. Composite models (mixing Direct Lake and Import) are supported but constrained; some DAX patterns force a fallback to DirectQuery mode (which is slower); calculated columns must be materialized in the lakehouse, not the model. As a rule, Direct Lake works best when your Delta tables are clean, well-modeled, and partitioned correctly. The fallback to DirectQuery is silent — monitoring is essential.
OneLake Foundation
OneLake is the storage layer that makes the Fabric integration work. It is a single, tenant-wide Delta Lake automatically provisioned for every Fabric tenant and accessed through a unified URL pattern (https://onelake.dfs.fabric.microsoft.com/<tenant>/<workspace>/...).
Two OneLake features matter most for Power BI users:
- Shortcuts — virtual references to data in S3, ADLS Gen2, Dataverse, or other OneLake locations, without copying. A Power BI semantic model in one workspace can read a Delta table physically stored in another team's lakehouse — or in another cloud — through a shortcut. This is the core mechanism for sharing data across Fabric workspaces.
- Iceberg interop — OneLake supports Apache Iceberg table format alongside Delta, enabling interop with Snowflake, Databricks (UniForm), and other Iceberg-compatible engines.
Semantic Models in Fabric
Power BI's "datasets" were renamed semantic models in 2023. The change was more than cosmetic — it reflects the new role of these models as a shared, governed layer reused across many tools.
A semantic model in Fabric:
- Defines tables, columns, relationships, hierarchies, and DAX measures.
- Connects to OneLake data via Direct Lake, or to external sources via DirectQuery / Import.
- Is consumed by Power BI reports, Excel, paginated reports, notebooks, custom apps via XMLA, Copilot, and third-party tools through the same XMLA endpoint.
- Inherits workspace-level security and integrates with Microsoft Purview for data classification and lineage.
For deeper modeling guidance, see Power BI Data Modeling.
Workspaces and Sharing
Fabric workspaces hold all artifacts — lakehouses, warehouses, semantic models, reports, dashboards. Within a workspace:
- All workloads share the same backing OneLake storage and capacity.
- Item-level permissions support ReadAll, Write, and Admin roles.
- Apps package selected reports and dashboards for end-user distribution, hiding the underlying complexity.
Cross-workspace sharing happens through OneLake shortcuts, semantic model endorsement (Promoted, Certified), and Power BI app distribution. The semantic-model-as-shared-asset pattern is the recommended approach for organizations that previously had dozens of duplicated dataset copies across different reports.
Performance Considerations
- Direct Lake fallback — certain DAX patterns (some calculated columns, complex SUMMARIZE, certain time intelligence) trigger automatic fallback to DirectQuery on the SQL endpoint. Fallback is slower; monitor query duration and use the Performance Analyzer in Power BI Desktop to detect it.
- Capacity sizing — Fabric F-SKUs share capacity across all workloads. Heavy Spark jobs and intensive Power BI use compete for the same CUs. Smoothing (deferring background work) and bursting help, but capacity sizing must consider all workloads, not just Power BI.
- Cold cache — Direct Lake pages columns into memory on first access. Initial queries after a model load can be slower than subsequent queries. Pre-warming via scheduled refresh-style operations helps.
- Delta file layout — too many small files in the underlying Delta table degrade Direct Lake performance dramatically. Use
OPTIMIZEand Z-ordering (or V-Order, Fabric's Microsoft-tuned alternative).
Migration from Power BI Premium
Microsoft positioned Fabric as a superset of Power BI Premium. Migration is generally smooth:
- Premium per Capacity → Fabric F-SKU — automatic mapping at parity (P1 ≈ F64). Existing reports, datasets, and apps continue to work without changes.
- Premium Per User remains as a license tier; users do not need to migrate.
- New features (Direct Lake, OneLake shortcuts, Eventhouse) require data to live in Fabric workloads. Pure Power BI users can stay on Import / DirectQuery indefinitely; the Fabric features are upside, not requirement.
The bigger migration is operational. Capacity is now consumed by Spark notebooks, warehouse queries, real-time analytics, and Power BI together — a Power BI capacity that was comfortably sized in 2023 may be tight in 2026 if other Fabric workloads have moved into the same tenant.
Best Practices
- Default to Direct Lake when data is in OneLake Delta tables. The performance and freshness combination is hard to beat.
- Watch for fallback. Set up monitoring on Direct Lake fallback rates. If fallback is frequent, fix the model — calculated columns moved to the lakehouse, problematic DAX rewritten.
- Optimize Delta files. Use V-Order during Lakehouse writes; run
OPTIMIZEon tables with frequent appends. Direct Lake performance is bounded by file layout. - Treat semantic models as shared assets. Endorse them, version them with Git integration, document them in business glossary terms.
- Monitor capacity holistically. Fabric Capacity Metrics app shows total CU consumption across all workloads. Capacity bottlenecks in 2026 rarely come from Power BI alone.
- Govern with Purview. Microsoft Purview reads Fabric metadata directly. Use it for data classification, sensitivity labels, and lineage that crosses out of Fabric.
Power BI inside Fabric is a more capable platform than Power BI Premium ever was. The cost is operational complexity — capacity now serves many workloads, semantic models are more central, and Direct Lake performance depends on lakehouse hygiene. Teams that adopted Power BI primarily for self-service BI will find the new world more powerful, but it asks more of the data engineering side of the house.