Introduction to Power BI
Power BI is a business analytics tool by Microsoft used to visualize data and share insights across your organization.
It combines data preparation, modeling, and visualization into a single workflow, enabling selfâservice BI and scalable enterprise reporting.
Power BI Basics
Power BI Desktop
Install and create reports locally. Load datasets, transform data, and build semantic models.
Power BI Service
Cloud-based platform for publishing, sharing, scheduling refresh, and collaboration.
Power BI Mobile
Access reports and dashboards with optimized mobile layouts.
Data Import & Transformation
Connecting Data
- Excel
- CSV
- SQL Server
- SharePoint / Web
Data Cleaning (Power Query)
Remove duplicates, filter rows, replace values, split/merge columns, and create reusable query steps.
Example: Filter sales > 1000, Replace null with 0
Data Modeling
Create relationships between tables, define keys, and use star schemas for clear filter flow and better performance.
DAX (Data Analysis Expressions)
DAX is used for calculations, measures, and complex aggregations. It relies on filter context and row context to evaluate results, and CALCULATE can modify filter context dynamically.
SUM(Sales[Amount])
AVERAGE(Sales[Amount])
CALCULATE(SUM(Sales[Amount]), Sales[Region]="East")
FILTER(Sales, Sales[Amount]>1000)
Best practices:
- Prefer measures over calculated columns for performance and flexibility
- Use variables (
VAR) to simplify complex logic - Use time intelligence functions for period comparisons
Sales YTD :=
CALCULATE([Total Sales], DATESYTD('Date'[Date]))
Sales LY :=
CALCULATE([Total Sales], SAMEPERIODLASTYEAR('Date'[Date]))
Advanced DAX Examples
// Remove all filters except Region
Sales by Region :=
CALCULATE([Total Sales], ALLEXCEPT(Sales, Sales[Region]))
// Top 5 products by sales
Top5 Sales :=
CALCULATE([Total Sales], TOPN(5, VALUES(Product[ProductName]), [Total Sales], DESC))
// Rank products by sales
Product Rank :=
RANKX(ALL(Product[ProductName]), [Total Sales], , DESC)
Use measures for dynamic calculations and avoid heavy calculated columns unless required for relationships.
Data Visualizations
- Bar / Column Charts
- Line Charts
- Pie / Donut Charts
- Maps & Filled Maps
- Tables & Matrices
- Cards & KPIs
Example:
Drag âSales Amountâ to Values, âRegionâ to Axis â Select Clustered Column Chart
Best practice: keep visuals focused, use consistent color palettes, and highlight key insights with labels or tooltips.
Advanced Power BI
Advanced Power BI focuses on scalable modeling, optimized DAX, and governance for enterprise reporting.
Calculated Columns & Measures
Profit = Sales[Revenue] - Sales[Cost]
Total Sales = SUM(Sales[Amount])
Advanced Visuals
Custom visuals from marketplace, conditional formatting, bookmarks, slicers, and drill-through reports.
Use tooltips and report page drillthrough to provide context without cluttering dashboards.
Row-Level Security (RLS)
Restrict data access for specific users based on roles and DAX filters. Combine static roles with dynamic security from user tables.
Power BI Dashboard
Combine multiple reports, pin visuals, and share dashboards with refresh schedules and permissions.
For performance, optimize data models with star schemas, avoid biâdirectional filters, and limit highâcardinality columns.
Deployment Pipelines & Incremental Refresh
Use deployment pipelines to promote content from dev to test to production with governance. Incremental refresh keeps large datasets fast by only updating new partitions.