1 min read
Power BI Dataflows: Self-Service ETL
Power BI Dataflows bring Power Query’s transformation capabilities to a shared, reusable layer. Think of it as self-service ETL that IT can govern.
Creating a Dataflow
- Power BI Service → Workspace → New → Dataflow
- Choose data source (SQL, Excel, API, etc.)
- Apply transformations in Power Query Editor
- Save and schedule refresh
M Query Transformations
let
Source = Sql.Database("server.database.windows.net", "sales_db"),
Orders = Source{[Schema="dbo",Item="Orders"]}[Data],
// Filter to recent orders
FilteredRows = Table.SelectRows(Orders, each [OrderDate] >= Date.AddMonths(DateTime.LocalNow(), -12)),
// Add calculated column
AddedMargin = Table.AddColumn(FilteredRows, "Margin", each [Revenue] - [Cost]),
// Clean up types
ChangedTypes = Table.TransformColumnTypes(AddedMargin, {
{"OrderDate", type date},
{"Revenue", type number},
{"Cost", type number},
{"Margin", type number}
})
in
ChangedTypes
Benefits
- Reusability: Multiple reports consume the same dataflow
- Consistency: One source of truth for calculations
- Governance: IT reviews and approves logic
- Performance: Computed tables in premium capacity use enhanced compute
Premium Features
With Premium capacity:
- Linked entities (reference other dataflows)
- Computed entities (incremental refresh)
- DirectQuery for dataflows
- Enhanced compute engine
Dataflows bridge the gap between self-service BI and governed enterprise data.