The real question
Tableau’s extract vs live choice and Power BI’s Import vs DirectQuery choice are both about where query compute runs and how fresh the data is. Names differ; the program decision is the same:
- Materialize data for speed and isolation from the source, or
- Query the source (or a lakehouse) at interactive time for freshness
Do not assume every .hyper extract becomes Import “automatically.” Re-decide per semantic model based on size, SLA, concurrency, and gateway capacity.
Concept mapping
| Tableau | Power BI / Fabric | What it means |
|---|---|---|
| Extract (.hyper) | Import mode | Data copied into the analytic engine on a schedule |
| Live connection | DirectQuery (or live to AS / Fabric) | Queries fold to the source at view time |
| Extract + some live tables | Composite / hybrid model | Mixed storage in one model |
| — | Direct Lake (Fabric) | Query lakehouse Delta without classic Import refresh copy |
Tradeoffs to re-evaluate
| Concern | Prefer materialize (Extract / Import / scheduled lake load) | Prefer live / DQ / Direct Lake |
|---|---|---|
| Interactive performance | Usually better | Depends on source tuning |
| Source load | Lower at view time; spikes at refresh | Continuous query load |
| Freshness | As fresh as last refresh | Near real time if source is |
| Complex DAX / calcs | Broadly supported in Import | More limitations in DirectQuery |
| Offline / gateway | Gateway for refresh | Gateway for every interactive query (often) |
How to implement the decision
1. Inventory current Tableau modes
Per published source and workbook connection:
- Extract or live
- Extract filters and row counts
- Refresh schedule and duration
- Failure rate
- Whether multi-table extracts or federated live connections are in play
2. Choose a target mode per semantic model
Guidelines that work for most enterprise migrations:
- Default to Import (or lakehouse + Import / Direct Lake) for executive and self-service analytics unless a hard freshness requirement exists.
- Use DirectQuery when the source must remain system of record and latency/concurrency are proven acceptable.
- Prefer Fabric Direct Lake over chatty DirectQuery to operational SQL when you are already landing data in OneLake.
- Use hybrid tables when a hot recent partition must be live and history can be imported.
3. Redesign refresh before cutover
- Map Tableau extract schedules to Power BI / Fabric refresh schedules
- Size gateway VMs for concurrent refresh + interactive DQ if both exist
- Replace “extract filter as security” with proper RLS—extract filters are not a security boundary in the Power BI sense
- Document incremental refresh policies where extracts were incremental
4. Validate with production-like volume
- Time cold and warm query for top visuals
- Run refresh during business hours once to watch gateway contention
- Compare totals after first successful refresh against Tableau on the same business date
Connection and credential realities
Moving from Tableau to Power BI does not move the warehouse. You still need:
- Connectivity from the Power BI gateway or Fabric capacity to each source
- Secrets / service principals aligned to Microsoft auth patterns
- Network rules that previously allowed Tableau Server but not the gateway
Treat credential cutover as a parallel workstream to visual conversion.
Common pitfalls
- Importing multi-billion-row facts because “Tableau had an extract” without aggregating or using Direct Lake
- DirectQuery to an untuned operational DB that worked for a few Tableau authors but fails for hundreds of Power BI viewers
- Matching extract cadence weekly but promising “real-time” in Power BI stakeholder decks
- Forgetting that some Tableau live connections used federated joins that are expensive to recreate in DQ
Checklist
- [ ] Extract vs live inventory with sizes and SLAs
- [ ] Target mode chosen per model (Import / DQ / hybrid / Direct Lake)
- [ ] Refresh and gateway capacity planned
- [ ] Security moved from extract filters to RLS where needed
- [ ] Performance tested with production-scale data
- [ ] Credentials and network path validated
Related topics
- Published Tableau data sources vs Power BI semantic models
- Tableau Prep flows vs Power BI dataflows
- Tableau custom SQL and blends vs Power BI relationships