100% Free Forever
AI-Powered Learning
Industry Expert Content
Certificates & Badges
Learn At Your Own Pace
Programming

The Power BI Workflow

The end-to-end Power BI lifecycle: connecting, transforming with Power Query, modeling with relationships and DAX, and publishing with scheduled refresh.

FoundationsBeginner8 min readJul 10, 2026
Analogies

The End-to-End Workflow: Connect, Transform, Model, Visualize, Share

A typical Power BI project moves through five stages. First, connect to one or more sources using Get Data. Second, transform the raw data in Power Query — filtering rows, splitting columns, fixing data types, and merging queries. Third, model the cleaned tables by defining relationships and writing DAX measures. Fourth, visualize the model by building report pages with charts, tables, and slicers. Fifth, share the finished report by publishing it to a workspace in the Power BI Service, where scheduled refresh keeps it current.

🏏

Cricket analogy: The workflow mirrors a franchise's season: connect is like scouting players, transform is like fitness testing and form assessment, model is like building the batting order, visualize is like the matchday scoreboard, and share is like broadcasting the game nationally.

Transforming Data with Power Query

Every action taken in the Power Query Editor — removing a column, filtering rows, splitting a delimiter, changing a type — is recorded as a discrete, reorderable Applied Step written under the hood in the M language. Steps can be renamed, reordered, or deleted individually in the Query Settings pane, making transformations auditable and repeatable on refresh. When the source supports it (most relational databases), Power BI uses query folding to push these steps back to the source as a single generated SQL statement, rather than pulling all the raw data across the network first and filtering it locally.

🏏

Cricket analogy: Applied steps in Power Query are like a scorer's ball-by-ball log — each delivery recorded as a discrete, reorderable entry — and query folding is like the ground staff doing the pitch prep off-site so the umpire only sees the finished surface.

Modeling: Relationships and DAX

A well-designed Power BI model typically follows a star schema: a central fact table of transactional events (like sales orders) surrounded by dimension tables (products, customers, dates) connected through one-to-many relationships. Once relationships exist, DAX measures such as Total Revenue = SUMX(Sales, Sales[Quantity] * Sales[UnitPrice]) recalculate on the fly for whatever filter context a visual applies, in contrast to a calculated column, which is computed once per row at refresh time and stored in the model, taking up memory and never adapting to filters afterward.

🏏

Cricket analogy: A star schema is like a scorecard fact table of every ball bowled surrounded by dimension tables for players, venues, and matches, and a DAX measure like Total Runs is like a live run-rate calculation that recalculates instantly as filters change, unlike a calculated column baked in at import time.

Publishing and Refresh

Publishing a report sends the .pbix's report and dataset to a chosen workspace in the Power BI Service, where teammates with access can view, comment on, and build new reports against the shared dataset. If the underlying source is cloud-hosted, scheduled refresh can be configured directly in the Service to re-import the data automatically on a set cadence. If any source lives on-premises — a local SQL Server, a file share, an on-prem SAP system — an on-premises data gateway must be installed and configured to act as the secure bridge that lets the cloud-hosted dataset pull fresh data from inside the corporate network.

🏏

Cricket analogy: Publishing to a Power BI workspace is like sending your match analysis to the team's shared war room, scheduled refresh is like the ground staff updating the pitch report every morning automatically, and a gateway is like the stadium's dedicated data line connecting the on-site scoring system to the broadcast center.

dax
// Calculated column (row context, stored per row)
Line Total = Sales[Quantity] * Sales[UnitPrice]

// DAX measure (evaluated per filter context, not stored)
Total Revenue = SUMX(Sales, Sales[Quantity] * Sales[UnitPrice])

Revenue YTD =
TOTALYTD([Total Revenue], 'Date'[Date])

Applied steps in Power Query are listed in the Query Settings pane and can be renamed, reordered, or deleted individually, making it easy to audit or fix a transformation without rebuilding the whole query from scratch.

Scheduled refresh frequency is capped at 8 times per day on a Pro license and requires an on-premises data gateway if any source — like a local SQL Server or a file share — isn't cloud-hosted. Publishing a report alone does not make on-prem data refresh automatically.

  • The Power BI workflow has five stages: connect, transform, model, visualize, and share.
  • Power Query records every transformation as a reorderable Applied Step written in the M language.
  • Query folding pushes transformations back to the source as a single query when supported.
  • A star schema (fact table + dimension tables) is the recommended modeling pattern.
  • DAX measures recalculate per filter context; calculated columns are fixed at refresh time.
  • Publishing sends the report and dataset to a workspace in the Power BI Service.
  • On-premises sources require a data gateway for scheduled refresh to work.

Practice what you learned

Was this page helpful?

Topics covered

#Programming#PowerBIStudyNotes#ThePowerBIWorkflow#Power#Workflow#End#Connect#StudyNotes#SkillVeris#ExamPrep