Business Professionals
Power BI | Power Pivot | Power Query | DAX
Cloud Flows | RPA | AI Builder | Copilot
60+ Formulas | Data Stories | Advanced Reporting & Modeling
VB Programming | Report Automation |
MS-Office Automation
Techno-Business Professionals
Power BI | Power Query | Advanced DAX | SQL - Query &
Programming
Microsoft Fabric | Power BI | Power Query | Advanced DAX |
SQL - Query & Programming
Power BI | Power Apps | Power Automate | Copilot Studio | Power Pages | Dataverse
Microsoft Power Apps | Microsoft Power Automate
Power BI | Adv. DAX | SQL (Query & Programming) |
VBA | Python | Web Scrapping | API Integration
Power BI | Power Apps | Power Automate |
SQL (Query & Programming)
Power BI | Adv. DAX | Power Apps | Power Automate |
SQL (Query & Programming) | VBA | Python | Web Scrapping | API Integration
Power Apps | Power Automate | SQL | VBA | Python |
Web Scraping | RPA | API Integration
Technology Professionals
Power BI | DAX | SQL | ETL with SSIS | SSAS | VBA | Python
Power BI | SQL | Azure Data Lake | Synapse Analytics |
Data Factory | Databricks | Power Apps | Power Automate |
Azure Analysis Services
Microsoft Fabric | Power BI | SQL | Lakehouse |
Data Factory (Pipelines) | Dataflows Gen2 | KQL | Delta Tables | Power Apps | Power Automate
Power BI | Power Apps | Power Automate | SQL | VBA | Python | API Integration
Power BI | Advanced DAX | Databricks | SQL | Lakehouse Architecture
Business Professionals
Power BI | Power Pivot | Power Query | DAX
Cloud Flows | RPA | AI Builder | Copilot
60+ Formulas | Data Stories | Advanced Reporting & Modeling
VB Programming | Report Automation |
MS-Office Automation
Techno-Business Professionals
Power BI | Power Query | Advanced DAX | SQL - Query &
Programming
Microsoft Fabric | Power BI | Power Query | Advanced DAX |
SQL - Query & Programming
Power BI | Power Apps | Power Automate | Copilot Studio | Power Pages | Dataverse
Microsoft Power Apps | Microsoft Power Automate
Power BI | Adv. DAX | SQL (Query & Programming) |
VBA | Web Scrapping | API Integration
Power BI | Power Apps | Power Automate |
SQL (Query & Programming)
Power BI | Adv. DAX | Power Apps | Power Automate |
SQL (Query & Programming) | VBA | Web Scrapping | API Integration
Power Apps | Power Automate | SQL | VBA |
Web Scraping | RPA | API Integration
Technology Professionals
Power BI | DAX | SQL | ETL with SSIS | SSAS | VBA
Power BI | SQL | Azure Data Lake | Synapse Analytics |
Data Factory | Azure Analysis Services
Microsoft Fabric | Power BI | SQL | Lakehouse |
Data Factory (Pipelines) | Dataflows Gen2 | KQL | Delta Tables
Power BI | Power Apps | Power Automate | SQL | VBA | API Integration
Power BI | Advanced DAX | Databricks | SQL | Lakehouse Architecture
LEARN THIS HANDS ON
Microsoft Fabric & Power BI
Your team finally gets a Fabric capacity, points the existing Power BI workspace at it, and expects everything to hum along. Instead, refreshes stall, semantic models behave differently, and your data engineers start asking whether this was a good idea.
This is a lessons-learned story from a migration that looked “simple” on paper and then surfaced six specific breakpoints. If you’re planning a move to Microsoft Fabric and hoping for lift‑and‑shift, use these to stress‑test your own plan before production gets noisy.
Picture a typical analytics setup:
Management agrees to move to Microsoft Fabric to consolidate data engineering and BI. The initial decision: upgrade the existing Premium capacity to Fabric and leave most content as‑is, then “gradually modernize”.
On day one, nothing looks broken. But over the next few weeks, six issues show up. None are bugs; all are design mismatches between “old Premium” assumptions and how Fabric actually works.
The first surprise: the team assumed they could keep dataflows Gen1 untouched and “just” start using Fabric items alongside them.
What actually happens:
The break point in our scenario:
That doesn’t hold:
For a Fabric‑native setup you need to:
Example: re‑implement a simple dimension load into a Lakehouse using dataflows Gen2 and Power Query.
let
Source = Sql.Database("myserver.database.windows.net", "FinanceDW", [Query="SELECT DimCustomerID, Name, Country FROM dbo.DimCustomer"]),
RenamedColumns = Table.RenameColumns(Source, {{"DimCustomerID", "CustomerKey"}}),
Cleaned = Table.TransformColumns(RenamedColumns, {{"Name", Text.Trim, type text}})
in
Cleaned
In the dataflow Gen2 designer, you then map the Cleaned query to a Lakehouse table.
Lesson: moving to Fabric is your moment to pick a lane. Running Gen1 and Gen2 side‑by‑side is possible, but every hybrid dependency you keep will slow down later modernization.
The team is excited about Direct Lake and assumes they can switch their largest import models over and “get the same performance without refresh”.
Key reality points:
In the scenario:
Direct Lake is table‑level, not “model‑wide magic”. You need:
If you’re using Fabric notebooks or pipelines, you can materialize Delta tables explicitly. For example, in a notebook using PySpark:
from pyspark.sql import SparkSession
spark = SparkSession.builder.getOrCreate()
df = spark.read.parquet("Tables/raw/sales/")
# Simple transformation
clean_df = df.dropna(subset=["OrderId"]).withColumnRenamed("OrderDate", "OrderDateUtc")
# Write as Delta into the Lakehouse
clean_df.write.format("delta").mode("overwrite").save("Tables/curated/sales_delta/")
Then, in Power BI Desktop connected to the Fabric workspace, you:
curated/sales_delta table.Lesson: switching an import model to Direct Lake is a data engineering change, not just a connection string tweak. You must control table formats and sources, or you’ll end up in mixed Direct Lake/DirectQuery mode with unpredictable performance.
The team assumes that once they’re in Fabric, on‑premises gateways will become less important because “Fabric is more cloud‑native”.
Reality:
In our scenario:
You still need to:
For example, a Fabric dataflow Gen2 connecting to on‑prem SQL Server via gateway uses the same underlying gateway configuration as Power BI.
Checklist for migration:
Lesson: Fabric doesn’t remove gateway; it broadens where gateway is required. Migration plans that ignore gateway configuration will hit connectivity issues as soon as data engineering moves into Fabric.
Before Fabric, the team had a simple pattern:
Fabric introduces:
The team initially drops all new items into the same existing workspaces.
You need a Fabric‑aware workspace strategy. A pragmatic pattern:
In our scenario, Finance ends up with:
Finance-Data workspace: Lakehouse, pipelines, dataflows Gen2.Finance-Reports workspace: semantic models and reports.Lesson: Fabric adds new item types that behave differently. If you drop them into old workspaces without revisiting governance, you’ll end up with tangled dependencies and fragile deployment pipelines.
The team originally relied on:
After moving to Fabric, they start using:
They assume they can keep the old refresh schedules and “slot Fabric tasks around them”.
Fabric gives you more orchestration options, but you need to align them deliberately:
Options include:
An example pattern (described, not full code):
Lesson: Fabric adds orchestration; it doesn’t magically align existing refresh schedules. Migrating without rethinking the end‑to‑end timing will surface race conditions and capacity spikes.
The team is used to thinking in terms of Power BI Premium capacity utilization for:
Once Fabric is enabled, the same capacity now runs:
The migration plan did not include any capacity modelling for these new workloads.
You need to:
In our scenario, the fix is:
Lesson: Fabric workloads are not free. Migration that ignores capacity behaviour will look fine during testing and then degrade once real data engineering jobs start sharing the same pool as BI queries.
The pattern across all six breakpoints is simple: moving to Microsoft Fabric is not lift‑and‑shift. Turning on Fabric capacity keeps old content running, but every Fabric feature you adopt (Lakehouse, Warehouse, Direct Lake, pipelines, notebooks, dataflows Gen2) comes with architectural decisions.
If you’re about to migrate:
That way, the first time something breaks, it’s in a controlled slice of your environment—and the fix becomes part of your standard pattern instead of a late‑night firefight.
This article reflects the shift from treating Fabric as a simple Premium upgrade to designing full end-to-end architectures, especially in teams that already have mature Power BI deployments and are layering Fabric workloads on top.
Professionals who want to apply these patterns to their own data can explore Excelgoodies' Microsoft Fabric & Power BI programme - taught live by instructors, with certification awarded once a real project is running at work.
Insights compiled through ongoing industry research and discussions within the Excelgoodies Analytics Community.
Microsoft Fabric
New
Next Batches Now Live
Power BI
SQL
Power Apps
Power Automate
Microsoft Fabrics
Azure Data Engineering