Interactive dashboards built around specific business questions, not generic charts
An interactive Power BI dashboard analyzing job market trends, salary insights, and employment patterns in the data industry. It lets a viewer explore job postings, salaries, remote-work opportunities, hiring trends, and job benefits, with drill-through for detail on a selected role.
The main page gives a high-level overview of the data job market, with dynamic filtering and slicing across every visual.
A drill-through page lets a viewer go from the overview straight into detail for a selected job role.
Workflow: data collection, cleaning and transformation in Power Query, data modeling, DAX measure creation, dashboard design, drill-through implementation, and visualization polish for usability.
A 6-page, 28-visual Power BI dashboard built on the Gold-layer star schema of the OlistEcom data warehouse. Each page is organized around specific business questions about orders, revenue, customers, delivery, and sellers on a Brazilian e-commerce marketplace.
The model sits on 4 dimensions and 3 fact tables and answers 17 business questions across six pages:
One unexpected finding: freight cost as a share of revenue varies much more by category than I assumed. Some categories quietly lose a far larger share of revenue to shipping, which only became visible after building the freight-ratio measure instead of looking at freight totals.
order_id, so Power BI wired direct fact-to-fact relationships. That created two paths between the same tables, and Power BI silently marked one inactive, so some slicers would not work. I deleted both, since facts should never connect directly in a star schema.dim_geolocation to both customers and sellers created two paths to fact_order_items. I traced the cycle manually, kept the customers side active, and dropped the sellers connection. Sellers keep their own city and state columns for filtering, so nothing was lost.DimDate[Date] is date-only while the fact timestamps include time, so I added DATEVALUE() calculated columns on each fact table to make the relationships connect.
All DAX measures live in a dedicated _Measures table to keep the model
easy to navigate. The date dimension is generated inside Power BI with DAX's
CALENDAR() rather than loaded from the warehouse, so the same logic is not
maintained in two places.
Full model documentation and screenshots are in the GitHub repository below.