The Power BI workflow
- 1. Get data — Excel, CSV, SQL databases, SharePoint and many other sources
- 2. Transform — clean and shape it in Power Query
- 3. Model — relate tables in a star schema
- 4. Calculate — write DAX measures
- 5. Visualise — build report pages and interactions
- 6. Share — publish to the Power BI Service and set refresh
Clean data with Power Query
Power Query records every cleaning step so it repeats automatically on refresh. Typical steps: set correct data types, remove blank or duplicate rows, split or merge columns, unpivot wide tables into long ones and merge (join) queries.
- Do the cleaning in Power Query, not in visuals — it keeps models fast and simple
- Rename steps clearly so others can follow your logic
- Disable loading for helper queries you only use to build other tables
Model your data as a star schema
Put measurable events (sales, orders) in a fact table and descriptive attributes (date, product, customer, region) in dimension tables, each related to the fact table by a key. This shape makes DAX simpler and reports faster.
- Always add a dedicated Date table and mark it as the date table
- Prefer one-to-many relationships with single-direction filtering
- Hide key columns users don't need to see
DAX: measures vs calculated columns
A calculated column is computed row by row and stored in the model. A measure is calculated on the fly for whatever filters are applied in the report. For totals, ratios and KPIs, use measures.
Total Sales = SUM ( Sales[Amount] )
Orders = DISTINCTCOUNT ( Sales[OrderID] )
Average Order Value = DIVIDE ( [Total Sales], [Orders] )
Sales Hyderabad =
CALCULATE ( [Total Sales], Customers[City] = "Hyderabad" )Time intelligence
With a proper Date table, comparisons over time take one line each.
Sales YTD = TOTALYTD ( [Total Sales], 'Date'[Date] )
Sales Last Year = CALCULATE ( [Total Sales], SAMEPERIODLASTYEAR ( 'Date'[Date] ) )
YoY Growth % = DIVIDE ( [Total Sales] - [Sales Last Year], [Sales Last Year] )Design a dashboard people use
- Start from the questions the audience asks; put the most important KPI top-left
- Use cards for headline numbers, line charts for trends, bar charts for comparisons
- Limit each page to one purpose and 5–7 visuals
- Add slicers for the filters people actually need (date, region, product)
- Use consistent colours and clear titles that state what the visual shows
Practice project ideas
- Sales performance dashboard with YoY growth and top products
- HR attrition analysis by department and tenure
- Marketing campaign funnel and cost per lead
- Personal finance tracker from bank statement exports