What Dataflow Gen2 is for#

Dataflow Gen2 is Fabric Data Factory's low-code data preparation item, built on the Power Query experience you may already know from Excel or Power BI [S1]. It's the tool Microsoft recommends whenever data needs shaping before it's loaded — classic ETL — offering 300+ transformations, from joins and aggregations to cleansing and custom logic, over hundreds of source connectors [S1] [S2].

It's easy to confuse with Power BI's older Dataflow Gen1, but they're different products: Gen2 is Fabric Data Factory's ingestion and transformation interface, and there is no upgrade path from Gen1 — migrating is required, not an upgrade click [S3].

Dataflow Gen2 Power Query ETL — sources to staging to Fabric and external destinations, with pipeline orchestration

Where the output goes#

Gen1 kept results in internal storage reachable only through the dataflow connector. Gen2 can write output directly to destinations including Azure SQL Database, ADLS Gen2, Lakehouse tables and files, Fabric Warehouse, a Fabric KQL database, a Fabric SQL database, SharePoint files, and Snowflake [S1]. That's one of the biggest gains over Gen1, alongside pipeline integration and background-publishing autosave — though Gen1 alone keeps DirectQuery access through its connector [S1].

Authoring and a worked example#

Edits autosave continuously as a draft, so a dropped connection doesn't lose work; publishing commits the dataflow and validates in the background instead of blocking you [S1]. A Recent data module remembers connections already used, and Copilot in Fabric can connect sources, apply transformations, and undo steps via natural-language prompts, each shown as a card next to its step [S1]. Running any of this needs capacity — a Fabric capacity, trial capacity, or Power BI Premium capacity [S1].

Example: joining weekly sales against a product lookup table and landing the result in a Lakehouse. Connect to both sources, use Power Query's join transform, apply a cleansing step, and set the Lakehouse table as destination [S1] [S2]. Publish, and once background validation completes, the table is ready for a notebook, pipeline, or Power BI report to consume [S1].

What goes wrong#

  • Expecting an in-place Gen1-to-Gen2 upgrade. There isn't one. Migrate instead: export queries to a PQT template and import them, copy/paste queries in the Power Query editor, or use Save As to clone a dataflow as a CI/CD-enabled Gen2 item [S3] [S1].
  • Forgetting Dataflow Gen2 needs capacity. Without a Fabric, trial, or Power BI Premium capacity behind it, it won't run [S1].
  • Assuming classic (non-CI/CD) creation is still available. Since April 2026 every new item is created with CI/CD and Git integration by default; existing classic items keep working or convert via Save As [S1].
  • Chasing scheduled-refresh failures as a data problem. Refreshes are bound to the creator's credentials, so a departed employee or changed password can silently break a schedule behind a generic "user configuration issue" error; taking explicit ownership in settings and forcing a metadata refresh (e.g. editing a step description, then republishing) is the reported fix [S4].