Pick a business question, generate coherent CSV data, model it at the correct grain, and build a dashboard you can explain—not just decorate.
Choose a dataset by analytical question
Ecommerce Sales Power BI project
Dashboard question: Where are revenue and profit coming from, and what is eroding margin?
A familiar beginner-friendly sales story with products, customers, fulfillment, and additive financial fields.
Row-grain guardrail: One row is one product line. Sum revenue and profit, but count orders with DISTINCTCOUNT(order_id).
Core measures
- Revenue
- Profit
- Weighted profit margin
- Distinct orders
Useful visuals
- Monthly revenue trend
- Category profit breakdown
- Customer segment matrix
- Order-status distribution
Open the Ecommerce Sales Dataset Generator
Support Tickets Power BI project
Dashboard question: Where is support performance breaking down across priority, channel, and team?
Each row is already one ticket, making backlog, SLA, resolution time, and CSAT logic easy to explain.
Row-grain guardrail: Use ticket_id as the unique row identifier. Keep unresolved-ticket resolution and CSAT blanks meaningful.
Core measures
- Ticket count
- Open backlog
- SLA breach rate
- Average resolution hours
Useful visuals
- Ticket trend
- Priority and SLA matrix
- Team workload bar chart
- CSAT versus resolution scatter
Open the Support Tickets Dataset Generator
HR Analytics Power BI project
Dashboard question: How do workforce mix, tenure, compensation, and engagement relate to attrition?
A snapshot model supports headcount and attrition analysis without requiring a complex multi-table model.
Row-grain guardrail: One row is one employee snapshot. Use employee_id for headcount and respect status and termination fields.
Core measures
- Headcount
- Attrition rate
- Average tenure
- Average salary
Useful visuals
- Department headcount
- Attrition by tenure band
- Compensation distribution
- Workforce location map
Open the HR Analytics Dataset Generator
SaaS Subscriptions Power BI project
Dashboard question: Which customer and plan movements are changing recurring revenue?
Monthly snapshots make it possible to practice MRR movement, churn, reactivation, and cohort analysis.
Row-grain guardrail: One row is one subscription month. Filter one snapshot_month for current MRR and count subscription_id distinctly.
Core measures
- Current MRR
- ARR run rate
- Gross MRR churn
- Net MRR movement
Useful visuals
- MRR bridge
- Plan-mix trend
- Churn by cohort
- Movement-type waterfall
Open the SaaS Subscriptions Dataset Generator
Marketing Campaigns Power BI project
Dashboard question: Which channels and campaigns turn spend into efficient conversion value?
Daily campaign-channel rows support pacing, funnel, channel-mix, and creative-fatigue analysis.
Row-grain guardrail: Calculate CTR, CPC, CPA, and ROAS from aggregated totals; do not average the row-level ratios.
Core measures
Useful visuals
- Spend and conversion trend
- Channel efficiency matrix
- Campaign ROAS ranking
- Creative fatigue diagnostic
Open the Marketing Campaigns Dataset Generator