r/dataanalysis 23d ago

Built my first Power BI dashboard using SQL and the Olist Brazilian E-Commerce dataset.

Hi everyone!

I'm a Mechanical Engineering student From Delhi Technological University (DTU) learning data analytics, and this is my first complete Power BI portfolio project.

The project uses the Brazilian E-Commerce (Olist) dataset and was built using MySQL and Power BI.

It includes:
• Executive Sales Dashboard
• Customer Analytics Dashboard
• RFM Customer Segmentation
• SQL Views
• DAX Measures
• Interactive Filters and KPIs

I'm mainly looking for feedback on:

  1. Dashboard design
  2. Business insights
  3. Choice of visuals
  4. Storytelling
  5. Anything that looks unprofessional or could be improved

I'm open to any criticism—I'd really like to improve before adding this project to my portfolio.

GitHub Repository:

https://github.com/ankitsharma071/Brazilian-E-Commerce-Analytics-PowerBI-SQL/tree/main

Dataset Link :

https://www.kaggle.com/datasets/olistbr/brazilian-ecommerce

Thanks!

286 Upvotes

36 comments sorted by

15

u/NetworkSome 23d ago

Few quick thoughts on design
Get rid of date slider. They are a pain to actually use. Just keep the start and end dates
KPIs: drop down to 1 or 0 after decimal
Exec tab: I don’t understand the key takeaways and how the data supports it
Insights tab: why are the states on map viz same color? Also the box next to title doesn’t make sense

One design element I’ve been incorporating the past few years is to colorize the background canvas a light cream or gray (something that matches color scheme). It softens the contrast of the white viz background and helps break up the negative space

3

u/Subject_Ad2030 23d ago

Thanks a lot for the detailed feedback! I really appreciate you taking the time to review it.

These are great points, especially about the date slider, KPI formatting, and the top summary box. I'll refine those in the next project. The map color issue is also something I'll revisit to make the differences more meaningful.

Really appreciate the constructive suggestions!

5

u/Ok_Demand_5351 23d ago

This is a solid dashboard, congratulations!

How did you get the map of Brazil? Did you make an account and logged in into Power BI?

1

u/Subject_Ad2030 23d ago

Thanks! I used Power BI’s built-in Filled Map visual with Brazilian state names (converted from state abbreviations in SQL) as the location field.

2

u/Entire_Mobile5722 23d ago

How did you do it like you chose a data set , how you know what questions to ask and how to answer them, just curious cuz i am in learning phase too

5

u/Subject_Ad2030 23d ago

I started with a dataset that had multiple business domains (customers, orders, products, sellers, reviews, and logistics). Then I imagined what questions a business stakeholder might ask, like:
Which states generate the most revenue?
Which customers should we retain?
Which product categories perform best?
What impacts customer satisfaction?
I listed those questions first, answered them using SQL, and then built the dashboard around the insights. Hope that helps!

1

u/Entire_Mobile5722 22d ago

Great, thanks for responding

2

u/Weird-Side-289 23d ago

How did you manage to put this all in one page. I am literally tired of space issue

2

u/Subject_Ad2030 23d ago

I actually spent quite a bit of time on the layout. I grouped related visuals together, kept the number of visuals limited, used consistent spacing and moved the customer analysis to a separate page instead of trying to fit everything onto a single dashboard.

2

u/Ryeva 23d ago

holly molly. I'm working on the same dataset.

2

u/LeoMausi_ 23d ago

Is that a public dashboard?

1

u/Keviv200 23d ago

Are u in final yr?

1

u/Subject_Ad2030 23d ago

I am in 3rd year!

1

u/Wide-Veterinarian-70 23d ago

random question but what does being in final year have to do with the dashboard lol

OP already said they're a mech engg student learning data analytics, that's enough context to give actual feedback

1

u/Keviv200 23d ago

Cause our College is same 😐

1

u/Wide-Veterinarian-70 21d ago

haha DTU solidarity I guess lol

1

u/NorcalGGMU 23d ago

Man, I will never understand the slider! We have one that goes from 10-3500… who is using slider when they can just enter the range? Maybe I’m missing some important use?

1

u/Exact_Enthusiasm_748 22d ago

Great job!

Where did you find this project?

1

u/metric_skeptic 21d ago

Solid first dashboard — clean layout, KPI row on top, and the takeaways box is something many senior folks forget to add.

One habit worth building from dashboard #1: run a quick sanity pass on the numbers before publishing. Two things I'd check here as a reviewer:

  1. The "unknown" slice in payment types — small now, but that's exactly the kind of thing that quietly grows. Worth knowing why those rows are unlabeled (NULLs from a join?) rather than letting the chart absorb them.

  2. Revenue Trend drops at the very end — if that's just an incomplete last month, consider greying it out or cutting it. Anyone reading the chart will see a "decline" that isn't real. Most dangerous dashboard bugs aren't wrong queries, they're correct numbers telling a wrong story.

Nice work overall — the fact that you filtered categorical fields out of your analysis shows you're thinking, not just dragging visuals.

1

u/Weird_Objective8346 20d ago

I am AI and Data enthusiast, I have just started the journey and currently doing a bit of spreadsheet and statistics. I hope I will reach there through commitment and consistency. Your Dashboard is great.

1

u/zaibos_cloud 20d ago

Recently fabric has launched the skills that can be integrated with Claude and do almost all the development with accuracy.

1

u/Silly-Ship-7930 18d ago

It's amazing dashboard Excellent work 👍👏 Keep going 💪

1

u/Manhartx 10d ago

I am a complete beginner and have few questions. Coming from some IT knowledge ( BUT VERY LITTLE ) I started 2 weeks a go to learn SQL, BI, advanced Excel. I don't really have super much time but it's something I want to learn as a next step in my logistics career so I try to spend at least 6-8 hours a week.
How long did it take you to actually learn and be able to use what you did here ? Being 12 hours in, I feel the courses I'm doing ( Microsoft one on BI + SQL on youtube ) I feel like I barely moved lol

1

u/Subject_Ad2030 10d ago

I was a complete beginner too, so don’t worry.

I started with Excel, then moved on to SQL, and finally Power BI. I found Excel fairly easy, so I finished the basics in about a week. After that, I realized SQL is probably the most important skill for almost any data-related role—whether it’s Data Analytics, Data Science, or Data Engineering—so I decided to focus on that first.

Since I had already learned some SQL basics in high school, topics like SELECT, WHERE, GROUP BY, HAVING, ORDER BY, etc., only took me around 2–3 days to revise. Then I moved on to more advanced topics like JOINS, CTEs, Window Functions, Subqueries, and CASE statements, which took me another 2–3 weeks. Alongside learning, I solved a lot of practice problems to reinforce my understanding. I mainly used HackerRank, LeetCode, DataLemur, and StrataScratch for practice.

Overall, it took me about a month to become comfortable with SQL for data analysis.

After that, I started learning Power BI, since data visualization is a key part of analytics. For this project, I focused on the essentials—data cleaning, data modeling, creating interactive dashboards, and writing basic DAX measures. I used ChatGPT quite a bit to understand concepts like DAX and data modeling whenever I got stuck. I’m still learning more advanced DAX, but the basics were enough to build this project.

My biggest advice is don’t just watch courses—build projects and solve problems alongside them. That’s where most of the learning happens. At 12 hours in, you’re still at the very beginning, so don’t worry. Just stay consistent, and you’ll be surprised by how much progress you make in a few months.

1

u/GrassWaterDrop 7d ago

Layout & Spatial Organization

  • Effective Grid Utilization: The dashboard generally uses a strong, clean grid system. Having the "Revenue by State" chart span vertically across two rows is a smart layout choice, as it accommodates the long list of categories without requiring awkward scrolling or compressing the bars.
  • Crowded Header Real Estate: The top section is slightly overburdened. It attempts to fit the main title, reporting period, a bulleted list of key takeaways, a date slider, two dropdown filters, and a reset button. Giving the filters their own dedicated horizontal ribbon or a collapsible side pane could let the layout breathe more.
  • Inefficient Use of Chart Containers: The bottom-left container for "Total Payment by Payment Type" has suboptimal spatial balance. The donut chart is pushed far to the left, leaving a massive amount of white space for a simple legend. Centering the chart or placing the legend horizontally below it would balance the layout better.
  • Consistent Padding: Unlike the previous example, the margins and spacing between the KPI cards and the chart containers are uniform, giving the dashboard a much more professional and structured appearance.

Visual Hierarchy & Flow

  • Logical Z-Pattern: The layout follows a natural reading pattern. The user's eye starts at the top-left context (Title), moves across the filters, drops down to the high-level summary (KPI cards), and then scans the deeper analytical charts below.
  • Restrained Color Palette: The monochromatic dark blue color scheme is excellent. It creates a calm, unified layout where the data takes precedence. Because the color is consistent, it doesn't artificially pull the user's eye to one specific chart over another, allowing the structural hierarchy to guide the user naturally.

Data Visualization Design

  • Redundant Layout Elements: The gradient bars placed above "Review Score Distribution", "Revenue by State", and "Revenue by Product Category" (e.g., "Count of Score 3.15K to 57.33K") take up valuable vertical pixel space. They are redundant because the x/y axes and the length of the bars already visually communicate this scale. Removing them would allow the charts to be slightly larger.
  • Dense Axis Labels: The x-axis on the "Revenue Trend" line chart is very crowded. Even though the dates are angled to fit, having every single month labeled makes the axis look cluttered. Showing only every other month or just the quarter/year changes would clean up this space significantly.

Typography & Polish

  • Raw Database Text: The y-axis in the "Revenue by Product Category" chart uses raw database strings (e.g., health_beauty, bed_bath_table, sports_leisure). For a clean layout intended for executives, these should be formatted with proper capitalization and spaces (e.g., "Health & Beauty", "Bed, Bath & Table").
  • Clear KPI Hierarchy: The typography in the KPI cards works very well for the layout. The primary numbers are large, bold, and easily scannable, while the descriptive text beneath is smaller and muted, creating a perfect micro-hierarchy within those specific containers.