Excelgoodies logo +1 650 491 3131

LEARN THIS HANDS ON

Microsoft Fabric & Power BI

ET . Live Online FILLING FAST
View all upcoming batches
Microsoft Fabric for Businesses in Phoenix, Arizona: From Sprawl to a Usable Analytics Hub

Microsoft Fabric for Businesses in Phoenix, Arizona: From Sprawl to a Usable Analytics Hub

Phoenix teams sitting on a mix of on‑prem SQL, SaaS app exports, and messy Excel files are hitting the same wall: reports are slow, data is duplicated, and nobody trusts the numbers. Microsoft Fabric is showing up in licensing conversations, but it’s not obvious how to use it to reduce this sprawl without breaking what already works.

This article walks through a realistic Phoenix scenario and shows how to use Microsoft Fabric’s Lakehouse, Warehouse, and Power BI workloads to consolidate data, keep costs predictable, and avoid the common architectural traps that make Fabric projects stall.

Scenario: A Phoenix Operations Team Drowning in Reports

Picture a mid‑sized operations and finance team in Phoenix:

  • Core data in an on‑prem SQL Server in a local colocation facility
  • SaaS systems for HR, ticketing, and logistics
  • A handful of critical Excel workbooks shared on a file server
  • Power BI Pro reports built over the years, mostly Import mode, refreshes scheduled overnight

Pain points:

  • Refresh windows are creeping into business hours
  • Same metrics computed differently in Excel and Power BI
  • IT wants to reduce on‑prem footprint over the next couple of years
  • Leadership is hearing about "Microsoft Fabric" from licensing reviews and wants a plan

We’ll use this scenario to anchor decisions around:

  • Where Fabric Lakehouses and Warehouses actually help
  • How to move incrementally from Import mode chaos to a governed Lake
  • What Phoenix‑specific constraints (latency, hybrid, cost) mean for architecture choices

Step 1: Pick the Right Fabric Entry Point for Phoenix

Most Phoenix businesses won’t flip a switch from on‑prem BI to full Fabric in one go. You need a path that respects:

  • Existing Power BI content
  • Latency to Azure regions
  • Budget constraints and capacity planning

Capacity and Region Considerations

Fabric is capacity‑based (F‑SKUs or P‑SKUs with Fabric enabled). Key points:

  • Fabric workloads run in an Azure region; Power BI tenants are bound to a region
  • Phoenix tenants are commonly hosted in West US or West US 2; check your tenant region in the Power BI admin portal
  • Network latency from Phoenix to West US regions is typically acceptable for BI workloads, but real‑time scenarios need testing

Practical approach for our Phoenix team:

  1. Enable Fabric in the existing Power BI tenant (if using Premium or F‑capacity):
    • Use existing workspaces, don’t create a separate Fabric tenant
    • Start with one dedicated capacity sized for current Power BI load plus initial Fabric experiments
  2. Keep on‑prem SQL as a source initially:
    • Use Fabric Dataflows Gen2 and/or Pipelines to ingest
    • Avoid a forced migration of OLTP workloads to Azure until you’ve proven value

This lets you start building a Lakehouse without destabilising existing reports.

Step 2: Design a Lakehouse That Matches How Phoenix Teams Actually Work

In Fabric, the Lakehouse is built on OneLake with Delta tables. For our Phoenix operations team, the Lakehouse becomes the consolidation point for:

  • Daily extracts from on‑prem SQL (orders, inventory, financials)
  • Incremental loads from SaaS APIs
  • Structured exports from Excel (where you can’t get rid of spreadsheets yet)

Core Lakehouse Design Decisions

For a mid‑sized Phoenix business:

  • Use a single business Lakehouse per domain rather than one per report
  • Model data in bronze/silver/gold zones inside the same Lakehouse or across a small number of Lakehouses

A pragmatic pattern:

  • OperationsLakehouse
    • bronze – raw ingested tables, lightly typed
    • silver – cleaned, conformed dimensions and facts
    • gold – report‑ready aggregates

Fabric supports this via:

  • Tables backed by Delta files in OneLake
  • Shortcuts to other Lakehouses, Warehouses, or external storage (where supported)

Use shortcuts when:

  • You need to reference data owned by another team without copying it
  • You’re spanning multiple regions or subscriptions and want to avoid duplicated storage

For Phoenix teams with multiple departments, shortcuts are a clean way to share conformed dimensions while keeping ownership clear.

Step 3: Move from Import Mode Chaos to Direct Lake Where It Makes Sense

Power BI in Fabric introduces Direct Lake for models built over Lakehouse or Warehouse tables. This is often pitched as the answer to refresh pain, but you need to be precise about where it works.

Key behaviours (as of late 2024):

  • Direct Lake works with Power BI semantic models connected to Fabric Lakehouse or Warehouse tables
  • Data is read directly from OneLake in memory, avoiding scheduled refresh for many scenarios
  • Certain features or operations can cause a fallback to Import or DirectQuery; this is configuration‑dependent

For our Phoenix team:

  • Keep some existing Import models (especially ones with complex Power Query logic) while you stabilise the Lakehouse
  • Build new semantic models on cleaned silver/gold tables using Direct Lake where:
    • The tables are reasonably sized and stable
    • You can accept that schema changes require coordination (because Direct Lake is sensitive to table structure)

Example: Building a Direct Lake Semantic Model

Assume we’ve created a gold.FactDailySales table in the Lakehouse, with columns:

  • SaleDate (date)
  • StoreId (int)
  • ProductId (int)
  • NetSalesAmount (decimal)

In Power BI Desktop (connected to Fabric):

  1. Get data from Fabric → Lakehouse → select OperationsLakehouse
  2. Choose the gold.FactDailySales table
  3. Configure the connection as Direct Lake (available when connecting to Fabric Lakehouse tables and the capacity supports it; in Desktop this is controlled by the storage mode and Direct Lake support in the target workspace/capacity rather than a separate "Direct Lake" dialog option)
  4. Create a measure:
Total Net Sales := SUM ( FactDailySales[NetSalesAmount] )

This model will:

  • Read data directly from OneLake via Direct Lake when published to a Fabric‑enabled capacity that supports Direct Lake
  • Avoid scheduled refresh for the fact table in Direct Lake mode

If you later add complex calculated columns that rely on row‑by‑row operations, consider whether they belong in the Lakehouse transformation layer instead of inside the model; this keeps Direct Lake efficient.

Step 4: Use Dataflows Gen2 and Pipelines for Hybrid Phoenix Ingestion

Many Phoenix businesses still have:

  • On‑prem SQL Server
  • File server shares
  • Line‑of‑business systems only reachable over a private network

Fabric doesn’t magically eliminate hybrid complexity, but gives you a consistent ingestion story.

Dataflows Gen2 for Reusable Logic

Dataflows Gen2 run on Fabric capacity and store results in OneLake. Good fits:

  • Reusable dimension logic (e.g., Customer, Product, Calendar)
  • Transformations that multiple Lakehouses or Warehouses need

For our Phoenix team, use Dataflows Gen2 to:

  • Connect to on‑prem SQL via the on‑premises data gateway
  • Apply standard cleaning rules
  • Output to Lakehouse tables in silver zone

A simple Power Query step for a calendar table in a Dataflow Gen2 might look like:

let
    StartDate = #date(Date.Year(DateTime.LocalNow()), 1, 1),
    EndDate = #date(Date.Year(DateTime.LocalNow()), 12, 31),
    Source = List.Dates(StartDate, Duration.Days(EndDate - StartDate) + 1, #duration(1,0,0,0)),
    ToTable = Table.FromList(Source, Splitter.SplitByNothing(), {"Date"}),
    AddYear = Table.AddColumn(ToTable, "Year", each Date.Year([Date]), Int64.Type),
    AddMonth = Table.AddColumn(AddYear, "Month", each Date.Month([Date]), Int64.Type)
in
    AddMonth

This produces a current‑year calendar without hard‑coded years and can be reused across models.

Data Pipelines for Orchestrated Loads

Fabric Data Pipelines (based on Azure Data Factory capabilities) let you:

  • Schedule and orchestrate ingestion from multiple sources
  • Write to Lakehouses, Warehouses, or other Fabric items

For the Phoenix operations team:

  • Create a nightly pipeline that:
    1. Copies incremental sales data from on‑prem SQL to bronze.FactSalesRaw
    2. Triggers a Notebook or Dataflow for silver transformations
    3. Refreshes gold aggregates

This replaces brittle Power BI dataset refresh chains with a clear data engineering workflow.

Step 5: Decide When to Use Warehouses vs Lakehouses

Fabric offers both Lakehouse and Warehouse (SQL) experiences. Phoenix teams often ask whether they should standardise on one.

Key distinctions:

  • Lakehouse:
    • Optimised for Delta tables on OneLake
    • Best for large, file‑oriented analytics workloads
    • Access via Spark, SQL endpoints, and Power BI
  • Warehouse:
    • Presents a relational SQL surface optimised for BI
    • Tables are also stored in OneLake, but the experience is closer to a traditional data warehouse

For our Phoenix scenario:

  • Use Lakehouse as the main storage and transformation layer
  • Introduce Warehouse when:
    • You have SQL‑heavy consumers (e.g., analysts used to T‑SQL)
    • You need fine‑grained control over relational schemas and stored procedures (within what Fabric Warehouse supports)

Practical pattern:

  • Build curated gold tables in the Lakehouse
  • Expose them via shortcuts or loads into a Fabric Warehouse for SQL consumers
  • Keep semantic models pointing to Lakehouse or Warehouse depending on the team’s skillset

This avoids forcing everyone into Spark or everyone into SQL; Phoenix businesses typically have both skillsets across teams.

Step 6: Cost and Governance for a Phoenix Fabric Rollout

Fabric’s value disappears quickly if capacity and governance are left to chance.

Capacity Management

For a mid‑sized Phoenix business:

  • Start with a single F‑capacity sized for current Power BI Premium usage plus headroom for Fabric workloads
  • Use workspace assignment to:
    • Put Lakehouse, Warehouse, and Dataflow Gen2 items in dedicated workspaces
    • Keep experimental workloads separate from production

Monitor:

  • Capacity metrics (CPU, memory, query wait times)
  • Power BI dataset and report performance

If Phoenix users start seeing slow report loads during business hours, you may need to:

  • Scale up capacity
  • Move heavy batch processing (Spark notebooks, large pipeline runs) out of peak hours

Governance Basics

Phoenix businesses often have a mix of central IT and business‑led analytics. Fabric can support this if you:

  • Define data product ownership per Lakehouse/Warehouse
  • Use workspaces to separate:
    • Production data products
    • Departmental sandboxes
    • Personal experimentation

Put guardrails in place:

  • Require central review for shortcuts that cross domains
  • Standardise naming and folder structures inside Lakehouses (bronze/silver/gold)
  • Use Power BI endorsement (Certified/Promoted) for semantic models built on governed Fabric data

This reduces the risk that Phoenix teams spin up ad‑hoc Lakehouses that recreate the sprawl you’re trying to escape.

Before/After for the Phoenix Operations Team

Before Fabric:

  • On‑prem SQL feeding multiple Import datasets
  • Excel workbooks acting as shadow systems
  • Overnight refreshes barely completing
  • Conflicting numbers between reports

After a pragmatic Fabric rollout:

  • A single OperationsLakehouse with:
    • bronze raw ingests from on‑prem SQL and SaaS
    • silver conformed dimensions and facts via Dataflows Gen2
    • gold aggregates for key KPIs
  • Power BI semantic models using Direct Lake where appropriate
  • A small Fabric Warehouse exposing curated tables to SQL‑heavy analysts
  • Data Pipelines coordinating nightly loads, with capacity kept clear during Phoenix business hours

The team still uses Power BI and some Excel, but the data backbone is Fabric, not a patchwork of imports.

Practical Takeaway for Phoenix Teams Looking at Fabric

If you’re evaluating Microsoft Fabric for businesses in Phoenix, Arizona, don’t start with a full migration plan; start by picking one domain (like operations) and standing up a single Lakehouse with clear bronze/silver/gold layers, wired to your existing Power BI tenant. Prove that this reduces refresh pain and metric confusion, then scale the pattern to other teams instead of trying to solve everything in one shot.

Editor's Note

This article reflects how Phoenix-area teams are using Microsoft Fabric to turn scattered on-prem and SaaS data into a governed Lakehouse and Warehouse backbone, a pattern that matters most in hybrid environments with existing Power BI investments.

Professionals who want to apply these patterns to their own data can explore Excelgoodies' Microsoft Fabric & Power BI Training in Phoenix, Arizona 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 BIPower BI
SQLSQL
Power AppsPower Apps
Power AutomatePower Automate
Microsoft FabricMicrosoft Fabrics
AzureAzure Data Engineering
Explore Dates & Reserve Your Spot → Reserve Your Spot →