<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Philip Saidi</title>
    <description>The latest articles on DEV Community by Philip Saidi (@saks_007).</description>
    <link>https://dev.to/saks_007</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4070921%2Fcc298991-3623-407c-a5ad-065b33cd52fa.png</url>
      <title>DEV Community: Philip Saidi</title>
      <link>https://dev.to/saks_007</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/saks_007"/>
    <language>en</language>
    <item>
      <title>JCARS LOGISTICS DATA ANALYSIS: FROM RAW DATA TO INTERACTIVE POWERBI BUSINESS INSIGHTS.</title>
      <dc:creator>Philip Saidi</dc:creator>
      <pubDate>Tue, 29 Sep 2026 17:20:31 +0000</pubDate>
      <link>https://dev.to/saks_007/jcars-logistics-data-analysis-from-raw-data-to-interactive-powerbi-business-insights-f4d</link>
      <guid>https://dev.to/saks_007/jcars-logistics-data-analysis-from-raw-data-to-interactive-powerbi-business-insights-f4d</guid>
      <description>&lt;h1&gt;
  
  
  INTRODUCTION
&lt;/h1&gt;

&lt;p&gt;JCars Logistics imports, sells, and delivers vehicles to customers across different regions in Kenya. The company collects information about its sales transactions, vehicles, customers,&lt;br&gt;
branches, sales representatives, payments, deliveries, logistics costs, returns, cancellations, and customer experiences. Management would like to use this information to better understand how the business is performing and identify areas that require attention.&lt;/p&gt;
&lt;h1&gt;
  
  
  TOOLS USED FOR THIS DATASET
&lt;/h1&gt;

&lt;ul&gt;
&lt;li&gt;PowerQuery for cleaning the dataset.&lt;/li&gt;
&lt;li&gt;PowerBI for Modelling, Relationships, Visualization,  and Dashboard.&lt;/li&gt;
&lt;/ul&gt;
&lt;h1&gt;
  
  
  DATA OVERVIEW
&lt;/h1&gt;
&lt;h2&gt;
  
  
  Step one: Understand the data before you build
&lt;/h2&gt;

&lt;p&gt;&lt;em&gt;Grain&lt;/em&gt; of the data what each &lt;em&gt;row&lt;/em&gt; and _column _represents.&lt;br&gt;
I then sorted the columns into groups: transaction, customer, geography, people and channel, vehicle, money, status and experience.&lt;br&gt;
The dataset had 277 rows and 32 columns.&lt;br&gt;
Columns were named column 1 to column 32 each representing different data as shown below:&lt;br&gt;
&lt;code&gt;OrderID, Order date, Delivery date, customer name, age, type, Region, county, city, branch, sales rep, lead, car details, units sold, selling price, Discount, revenue recorded, delivery fee, logistic fee, customer rating, review count and returned&lt;/code&gt;&lt;br&gt;
The loaded data shown below&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fn4gebqxuh7konp2f5svt.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fn4gebqxuh7konp2f5svt.png" alt=" " width="800" height="420"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h1&gt;
  
  
  DATA QUALITY
&lt;/h1&gt;

&lt;p&gt;The most important step in data analysis.&lt;br&gt;
This helps in discovering data quality issues.&lt;br&gt;
After loading the data in powerBI here are some of the issues found:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The Order ID was not an ID. There were five prefix styles &lt;code&gt;(LC1000, LCL-1001, ORD1004, ord1020, CAR1086), 19 blanks or N/A, and three numbers used twice&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Dates were in six formats. &lt;code&gt;Some were numbers (46066), 
some 26-Mar-25, some Aug 29, 2025, and four were 2026-13-04, which is year-day-month. Worst were the 47 slash dates like 03/04/2026, which are valid as both 3 April and 4 March&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Categories exploded. &lt;code&gt;Toyota appeared as Toyota, TOYOTA, Toyta, Totoya, Toyota Kenya. In total, Car Make had 62 spellings for 10 real car makes. Sales reps had 80 "names" for 10 people, including Dan1el Kimani, where a digit 1 had replaced the letter i.&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Discounts came in over 50 different spellings. &lt;code&gt;7%, 0.07, 7, 7 percent, ten percent, No Discount, #ERROR.&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Numbers were formatted as text as shown below.&lt;/li&gt;
&lt;li&gt;Five columns held money: price, unit cost, delivery fee, logistics cost, and recorded revenue. They mixed &lt;code&gt;KSh, KES, plain numbers, $, USD, EUR, ZAR, R, a ?, and an M suffix (9.14M)&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Customer names, Region, Branch, City were not in proper case and inconsistent spellings like &lt;code&gt;COUNTY GOVERMENT, Msa, Nkr, Faith ACHIENG&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Numerical values that held monetary values had negative values like &lt;code&gt;-22,738,440&lt;/code&gt; and customer rating of &lt;code&gt;-1&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Customer Age as text.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fododwpn6umytoj9armdz.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fododwpn6umytoj9armdz.png" alt=" " width="184" height="183"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F6bkqte4vi89bn54woebq.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F6bkqte4vi89bn54woebq.png" alt=" " width="247" height="525"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fou58sgxfao4akibvxf4e.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fou58sgxfao4akibvxf4e.png" alt=" " width="235" height="310"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fvasmiwuo5lu27o6la5w0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fvasmiwuo5lu27o6la5w0.png" alt=" " width="207" height="45"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fzbjd0s8zg26icqfixluj.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fzbjd0s8zg26icqfixluj.png" alt=" " width="472" height="385"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fs6afvn2k1k4n49559h7n.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fs6afvn2k1k4n49559h7n.png" alt=" " width="800" height="361"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F98966afuw8wrrmafgxpp.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F98966afuw8wrrmafgxpp.png" alt=" " width="178" height="309"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Ffu4o7d9icz9ibbi11bz3.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Ffu4o7d9icz9ibbi11bz3.png" alt=" " width="244" height="411"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fy0si95vswokp7gceqriy.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fy0si95vswokp7gceqriy.png" alt=" " width="800" height="400"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fv02l8razzfv2cex4zhye.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fv02l8razzfv2cex4zhye.png" alt=" " width="193" height="30"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h1&gt;
  
  
  DATA CLEANING
&lt;/h1&gt;

&lt;p&gt;After identifying the data quality issues, I hit transform data.&lt;br&gt;
First step I categorized according to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Customer details&lt;/li&gt;
&lt;li&gt;Location details&lt;/li&gt;
&lt;li&gt;Currency details&lt;/li&gt;
&lt;li&gt;Payment details&lt;/li&gt;
&lt;li&gt;Customer rating&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;First and foremost I made first rows as headers (promoted headers) as shown below&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fuvi8yh5hvsyz5uaif40s.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fuvi8yh5hvsyz5uaif40s.png" alt=" " width="800" height="421"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F1ah641iu4ju466bdb7ad.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F1ah641iu4ju466bdb7ad.png" alt=" " width="799" height="466"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;
  
  
  Customer, sales rep details cleaning
&lt;/h2&gt;

&lt;p&gt;Here I cleaned the customer name, customer type and age&lt;br&gt;
Customer names were in improper case as shown below&lt;br&gt;
&lt;code&gt;Select the customer name column -&amp;gt; Rightclick-&amp;gt; Transform-&amp;gt; Capitalize each word -&amp;gt;OK&lt;/code&gt;&lt;br&gt;
The Age I changed from text format to wholenumber type by&lt;br&gt;
&lt;code&gt;Selecting customer age -&amp;gt; Rightclick -&amp;gt; Change type -&amp;gt; Wholenumber -&amp;gt; OK&lt;/code&gt;&lt;br&gt;
Sales rep had Improper case too, I transformed to proper case and used Replace values with the inconsistent words like &lt;code&gt;Dan1el to Daniel&lt;/code&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F7xvabjtm34wraem3iqke.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F7xvabjtm34wraem3iqke.png" alt=" " width="235" height="310"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fw6c886r4melpy03l3a5b.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fw6c886r4melpy03l3a5b.png" alt=" " width="207" height="45"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;
  
  
  Location data quality issues
&lt;/h2&gt;

&lt;p&gt;I cleaned includes city names like &lt;code&gt;Nkr changed to Nakuru, Msa to Mombasa, Eldo to Eldoret&lt;/code&gt; by replacing values &lt;code&gt;Selecting column -&amp;gt; Right click -&amp;gt; Replace values -&amp;gt; Write the value to be replaced and value to replace with (Msa -&amp;gt; Mombasa )-&amp;gt;OK&lt;/code&gt;&lt;br&gt;
Then changed to proper case by &lt;code&gt;Transform -&amp;gt; Capitalize each word -&amp;gt;OK&lt;/code&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F6so3n2icn6749kstoai6.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F6so3n2icn6749kstoai6.png" alt=" " width="800" height="361"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;
  
  
  Currency
&lt;/h2&gt;

&lt;p&gt;Currency was to be standardized to KES or Ksh.&lt;br&gt;
Currency was in &lt;em&gt;USD or $, EURO, ?&lt;/em&gt; assumed as &lt;em&gt;EURO and ZAR/R.&lt;/em&gt;&lt;br&gt;
I used &lt;code&gt;1USD = 129.35, 1EURO = 147.15 and 1ZAR = 7.8.&lt;/code&gt;&lt;br&gt;
I changed the values to fixed decimal numbers in the rows affected holding monetary values like Revenue, Delivery fee, Logistics fee, Unit selling price and others.&lt;br&gt;
The negative values I assumed they were whole and changed them to a positive number.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fi0sldtsuwn1t5f3nv11m.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fi0sldtsuwn1t5f3nv11m.png" alt=" " width="184" height="183"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;
  
  
  Date column
&lt;/h2&gt;

&lt;p&gt;This contains delivery date and order date.&lt;br&gt;
Date was in serial numbers like 4648, mixed date formats as text.&lt;br&gt;
I changed the format to date format and Removed errors.&lt;/p&gt;
&lt;h2&gt;
  
  
  Payment methods and Customer rating
&lt;/h2&gt;

&lt;p&gt;The issues with payment methods was improper case, names were mispelled.&lt;br&gt;
I used Replace values with correct spelled words.&lt;br&gt;
Customer rating was in words , I used Replace values  with the correct values like &lt;code&gt;4.5 out of 5 with 4.5&lt;/code&gt;.&lt;/p&gt;
&lt;h1&gt;
  
  
  DATA MODELLING
&lt;/h1&gt;

&lt;p&gt;After cleaning I had one Flat table.&lt;br&gt;
To start modelling process, I had to categorize the Flat table into separate Dimension table and one Fact table.&lt;br&gt;
I categorized according to each components of the table namely:&lt;br&gt;
I used duplication of the flat table into 8 tables and removed columns one by one until I got the required details for each.&lt;/p&gt;
&lt;h3&gt;
  
  
  Dim_customer
&lt;/h3&gt;

&lt;p&gt;This will hold all customer details like:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Customer name&lt;/li&gt;
&lt;li&gt;Customer age&lt;/li&gt;
&lt;li&gt;Customer ID&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fzg5rko826m9ijdqx8kvh.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fzg5rko826m9ijdqx8kvh.png" alt=" " width="763" height="820"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;
  
  
  Sales representative
&lt;/h3&gt;

&lt;p&gt;This will hold the sales rep details:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Sales rep name&lt;/li&gt;
&lt;li&gt;Lead source&lt;/li&gt;
&lt;li&gt;Sales_rep ID&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Feak6tl3drux0yotmfjxo.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Feak6tl3drux0yotmfjxo.png" alt=" " width="699" height="864"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;
  
  
  Order status
&lt;/h3&gt;

&lt;p&gt;This represents order and delivery status:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Delivery status&lt;/li&gt;
&lt;li&gt;Order status&lt;/li&gt;
&lt;li&gt;Status ID&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fz74ad3lqz4bzet607bob.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fz74ad3lqz4bzet607bob.png" alt=" " width="777" height="802"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;
  
  
  Dim_location
&lt;/h3&gt;

&lt;p&gt;Contains the location details like:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Branch&lt;/li&gt;
&lt;li&gt;Region&lt;/li&gt;
&lt;li&gt;County&lt;/li&gt;
&lt;li&gt;City&lt;/li&gt;
&lt;li&gt;Location ID&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Frrlkqjmd13p0mbzjs4zq.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Frrlkqjmd13p0mbzjs4zq.png" alt=" " width="708" height="402"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;
  
  
  Payment method
&lt;/h3&gt;

&lt;p&gt;Represents payment methods used:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Payment method&lt;/li&gt;
&lt;li&gt;Payment ID&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fb2fgnngd0xu7bb88kqj6.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fb2fgnngd0xu7bb88kqj6.png" alt=" " width="421" height="408"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;
  
  
  Dim_date
&lt;/h3&gt;

&lt;p&gt;Represents the dates for time series analysis.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Delivery date&lt;/li&gt;
&lt;li&gt;Order date&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fgps5yymdp1em03dgj8cu.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fgps5yymdp1em03dgj8cu.png" alt=" " width="570" height="832"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;
  
  
  Dim_car
&lt;/h3&gt;

&lt;p&gt;Represents the car details:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Car make&lt;/li&gt;
&lt;li&gt;Vehicle&lt;/li&gt;
&lt;li&gt;Fuel type&lt;/li&gt;
&lt;li&gt;Transmission&lt;/li&gt;
&lt;li&gt;Color&lt;/li&gt;
&lt;li&gt;Car model&lt;/li&gt;
&lt;li&gt;Vehicle year&lt;/li&gt;
&lt;li&gt;Car ID&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fe814x0p0htogdlyl4g95.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fe814x0p0htogdlyl4g95.png" alt=" " width="800" height="576"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;
  
  
  Dim_Fact_table
&lt;/h3&gt;

&lt;p&gt;This contains all numeric values and all foreign keys.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Customer rating&lt;/li&gt;
&lt;li&gt;Revenue recorded&lt;/li&gt;
&lt;li&gt;Delivery fee&lt;/li&gt;
&lt;li&gt;Logistic fee&lt;/li&gt;
&lt;li&gt;Units sold&lt;/li&gt;
&lt;li&gt;Unit selling price&lt;/li&gt;
&lt;li&gt;Primary key (OrderID)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fwhrjp2jf5s4udt9uq61r.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fwhrjp2jf5s4udt9uq61r.png" alt=" " width="799" height="370"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;After categorizing the tables into dimtables and one fact table, I checked for duplication by &lt;code&gt;Select the column -&amp;gt; Remove duplicates -&amp;gt; OK&lt;/code&gt;&lt;br&gt;
Then I added an index column by &lt;code&gt;Selecting the table -&amp;gt; add index column -&amp;gt; Choose from 1 -&amp;gt; OK and rename accodring to the table created&lt;/code&gt;.&lt;br&gt;
I closed and applied for loading in PowerBI for creating relationships.&lt;/p&gt;
&lt;h1&gt;
  
  
  RELATIONSHIPS
&lt;/h1&gt;

&lt;p&gt;Data is loaded to PowerBI.&lt;br&gt;
To establish relationships, I used the Primary keys in the Dimension tables to Foreign keys in the jcars_fact_table.&lt;br&gt;
The cardinality used is one to many because is the required standard in star schema approach, with a Filter direction of single , and made the relationship active.&lt;br&gt;
The relationships was represented by a star schema, with one fact table at the centre with an active relation with all the dimension tables as shown below.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fc8y2bo6q6zoz8428hglu.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fc8y2bo6q6zoz8428hglu.png" alt=" " width="800" height="427"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Ffpaan1xghlxhm57wrvng.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Ffpaan1xghlxhm57wrvng.png" alt=" " width="800" height="440"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fo5prxyf0e4r8ftg3hpyk.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fo5prxyf0e4r8ftg3hpyk.png" alt=" " width="800" height="414"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h1&gt;
  
  
  DAX MEASURES
&lt;/h1&gt;

&lt;p&gt;I created some important DAX measures to represent the Business performance.&lt;br&gt;
&lt;code&gt;Select column jcars_fact_table -&amp;gt; Create a new measure -&amp;gt; Write the formule example Total revenue =SUM(Revenue recorded) -&amp;gt; Enter&lt;/code&gt;&lt;br&gt;
To display the measure go to &lt;code&gt;Report view -&amp;gt; Select a card visual -&amp;gt; Look for the created measure in the jcars_fact_table -&amp;gt; click on it -&amp;gt; The measure will be displayed on the card&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F28jdnynkqtm9erf0gzwq.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F28jdnynkqtm9erf0gzwq.png" alt=" " width="800" height="238"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;
  
  
  DAX MEASURES CREATED
&lt;/h3&gt;

&lt;p&gt;These are some of the DAX measures I created.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Revenue = sum(jcars_fact_table[Revenue Recorded])
Total cost of units sold = SUMX(jcars_fact_table,jcars_fact_table[Unit Cost] * jcars_fact_table[Units Sold])
Total cars sold = sum(jcars_fact_table[Units Sold])
Gross Margin % = DIVIDE([Gross Profit],[Revenue], 0)
Gross Profit = [Revenue] - [Total cost of units sold]
Average Customer rating = AVERAGE(jcars_fact_table[Customer Rating])
Total Transcations = COUNTA(jcars_fact_table[Order ID])
Unpaid Revenue = CALCULATE([Revenue],dim_order_status[Payment Status] IN {"Pending", "Partially Paid", "Unpaid"})
Return Rate % = DIVIDE(CALCULATE([All Orders], dim_order_status[Returned] = "Y"), CALCULATE([All Orders], dim_order_status[Returned] = "Unknown"))
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h1&gt;
  
  
  DASHBOARD
&lt;/h1&gt;

&lt;p&gt;I created my dashboards with DAX measures as my Key Performance Indicators namely:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Revenue&lt;/li&gt;
&lt;li&gt;Gross Profit&lt;/li&gt;
&lt;li&gt;Gross margin&lt;/li&gt;
&lt;li&gt;Return Rate&lt;/li&gt;
&lt;li&gt;Unpaid Rate&lt;/li&gt;
&lt;li&gt;Units sold&lt;/li&gt;
&lt;li&gt;Total transcations made
I also included Slicers for Customer type and Regions for Interactivity, with Visuals as shown below.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fzztywwm2yl4p0u2kkj9z.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fzztywwm2yl4p0u2kkj9z.png" alt=" " width="800" height="365"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  BUSINESS INSIGHTS
&lt;/h1&gt;

&lt;h4&gt;
  
  
  What the data said
&lt;/h4&gt;

&lt;p&gt;Headline: KSh 408.6M revenue, 128 vehicles, KSh 7.8M gross profit, 0.02 gross margin. &lt;br&gt;
More Findings:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;More Discounts does not mean more units sold.
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight csvs"&gt;&lt;code&gt;&lt;span class="k"&gt;Discount&lt;/span&gt;    &lt;span class="k"&gt;Units&lt;/span&gt; &lt;span class="k"&gt;sold&lt;/span&gt;  &lt;span class="k"&gt;Gross&lt;/span&gt; &lt;span class="k"&gt;margin&lt;/span&gt;
&lt;span class="mf"&gt;0&lt;/span&gt;&lt;span class="err"&gt;–&lt;/span&gt;&lt;span class="mf"&gt;3&lt;/span&gt;&lt;span class="err"&gt;%&lt;/span&gt;          &lt;span class="mf"&gt;1&lt;/span&gt;            &lt;span class="mf"&gt;16.0&lt;/span&gt; &lt;span class="err"&gt;%&lt;/span&gt; 
&lt;span class="k"&gt;over&lt;/span&gt; &lt;span class="mf"&gt;3&lt;/span&gt;&lt;span class="err"&gt;-&lt;/span&gt;&lt;span class="mf"&gt;5&lt;/span&gt;&lt;span class="err"&gt;%&lt;/span&gt;   &lt;span class="mf"&gt;5&lt;/span&gt;            &lt;span class="mf"&gt;49.0&lt;/span&gt; &lt;span class="err"&gt;%&lt;/span&gt; 
&lt;span class="k"&gt;over&lt;/span&gt; &lt;span class="mf"&gt;5&lt;/span&gt;&lt;span class="err"&gt;-&lt;/span&gt;&lt;span class="mf"&gt;7&lt;/span&gt;&lt;span class="err"&gt;%&lt;/span&gt;   &lt;span class="mf"&gt;7&lt;/span&gt;            &lt;span class="mf"&gt;12.0&lt;/span&gt;&lt;span class="err"&gt;%&lt;/span&gt;  
&lt;span class="k"&gt;over&lt;/span&gt; &lt;span class="mf"&gt;7&lt;/span&gt;&lt;span class="err"&gt;-&lt;/span&gt;&lt;span class="mf"&gt;10&lt;/span&gt;&lt;span class="err"&gt;%&lt;/span&gt;      &lt;span class="mf"&gt;1&lt;/span&gt;                &lt;span class="mf"&gt;14.0&lt;/span&gt;&lt;span class="err"&gt;%&lt;/span&gt;
&lt;span class="k"&gt;over&lt;/span&gt; &lt;span class="mf"&gt;10&lt;/span&gt;&lt;span class="err"&gt;-&lt;/span&gt;&lt;span class="mf"&gt;15&lt;/span&gt;&lt;span class="err"&gt;%&lt;/span&gt; &lt;span class="mf"&gt;1&lt;/span&gt;            &lt;span class="mf"&gt;2.0&lt;/span&gt;&lt;span class="err"&gt;%&lt;/span&gt;   
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Revenue is up margin is down&lt;br&gt;
Quarterly gross margin slid from 15.0% (Q1 2025) to -3.0% (Q2 2026) while Q4 2026 revenue hit a period high of KSh 49.2M, with a gross margin of 53.0%.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Athi River Branch had the highest Revenue of 53.9M and a gross margin of 49.0%, with least is Kakamega Branch with a Revenue of 1.9M and a gross margin of -1.0%.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Volume is not value in lead sources.&lt;/strong&gt; Whatsapp is the biggest revenue source (KSh 65.8M) but earns 36.0% margin, with 9 units sold and Walk-in had 16.2M revenue with a negative margin of -17%, selling 11 units.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;24% of active revenue (≈ KSh 96.33M) is Pending ,  Partially Paid or Unpaid.&lt;/strong&gt; The exposure is spread across every customer type (NGO and Corporate each ≈ KSh 64.81M), so it is a process issue, not one bad customer.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Toyota and SUVs dominate, and customer types differ sharply in margin.&lt;/strong&gt; Toyota is 8% of revenue and SUVs 15%%, which is strong but a concentration risk. Dealers earn the best margin (14.0%) while NGOs, at 16% of revenue. Cash and Wire deals earn 30.0% against  24% for RTGS and  Cash.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Customer ratings are not linked to revenue.&lt;/strong&gt; Correlation of rating with order revenue is −0.08, and the average rating is 3.6 out of 5 for every customer type (3.56–3.62). customer satisfaction is not a function of deal size or customer type.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  CHALLENGES AND LESSONS LEARNED
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;PowerQuery  issues&lt;/strong&gt; with performance and ran slower.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Discovering that the delivery fee sits inside recorded revenue&lt;/strong&gt; changed the profit definition. Testing a formula against a recorded column paid off more than any single cleaning step.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Recorded values are not automatically right.&lt;/strong&gt; The recorded revenue column was less reliable than a recalculation from its own components.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Lesson:&lt;/strong&gt; understand the business meaning of each field before modelling. Most of the value came from questions asked &lt;em&gt;before&lt;/em&gt; touching a visual.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  ASSUMPTIONS
&lt;/h2&gt;

&lt;p&gt;The currency column the figures which were in EURO and ? were all marked as EURO.&lt;br&gt;
Recorded Revunue has Delivery calculated in it.&lt;/p&gt;

&lt;h1&gt;
  
  
  CONCLUSION
&lt;/h1&gt;

&lt;h2&gt;
  
  
  Recommendations
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Review Thika's pricing and discounting&lt;/strong&gt; before scaling it.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Shift lead-generation effort toward Instagram and Referral&lt;/strong&gt;, and review how Phone Call leads are handled.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Set collection targets and ageing reports&lt;/strong&gt;, and start capturing payment dates.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Define "Returned"&lt;/strong&gt; and record return date, reason and refund value.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Fix data entry at the source&lt;/strong&gt; with dropdowns, currency and date validation, and real Order IDs. Cleaning once does not stop the mess coming back.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  What I learned
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Test formulas against recorded values.&lt;/strong&gt; Finding that the delivery fee sits inside revenue came from a validation check, not from a cleaning step, and it changed the whole profit definition.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Certainty has limits.&lt;/strong&gt; Ambiguous dates cannot be resolved perfectly. A documented rule plus a flag beats a silent guess.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Excluding data has a cost.&lt;/strong&gt; Showing the 68% coverage next to the KPIs is more honest than a clean-looking number.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Questions come before visuals.&lt;/strong&gt; Most of the value came before I dragged a single chart onto the canvas.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Code, data, model and the full data-quality log are in the:&lt;a href="https://github.com/saks-saidi/Jcars_PowerBI_Project" rel="noopener noreferrer"&gt;Github&lt;/a&gt;&lt;/p&gt;

</description>
      <category>powerquery</category>
      <category>powerbitools</category>
      <category>datascience</category>
      <category>data</category>
    </item>
    <item>
      <title>DATA MODELLING 101 IN POWERBI</title>
      <dc:creator>Philip Saidi</dc:creator>
      <pubDate>Wed, 16 Sep 2026 03:58:48 +0000</pubDate>
      <link>https://dev.to/saks_007/data-modelling-101-in-powerbi-58dj</link>
      <guid>https://dev.to/saks_007/data-modelling-101-in-powerbi-58dj</guid>
      <description>&lt;h1&gt;
  
  
  WHAT IS DATA MODELLING IN POWERBI.
&lt;/h1&gt;

&lt;p&gt;It's a process of setting up tables, relationships, calculations and access for data analysis scenarios.&lt;br&gt;
Data modelling also define the data structure of single or many tables and there relationships.&lt;br&gt;
A well defined model delivers fast performance, accurate results, simple DAX, and an intuitive experience for data analysts.&lt;br&gt;
This topic will cover the essential principles of data modelling in PowerBI, with strong focus on recommended &lt;strong&gt;star schema, relationships and joins(both in PowerQuery and data model&lt;/strong&gt;).&lt;/p&gt;

&lt;h2&gt;
  
  
  Why Data Modelling matters.
&lt;/h2&gt;

&lt;p&gt;Good modelling delivers:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Faster query performance and lower memory consumption.&lt;/li&gt;
&lt;li&gt;Simple and more reliable DAX.&lt;/li&gt;
&lt;li&gt;Easier maintenance and scalability.&lt;/li&gt;
&lt;li&gt;Better usage for business us&lt;/li&gt;
&lt;/ul&gt;

&lt;h1&gt;
  
  
  Model Schemas
&lt;/h1&gt;

&lt;p&gt;We will focus on two types of schemas:&lt;/p&gt;

&lt;h2&gt;
  
  
  Star schema
&lt;/h2&gt;

&lt;p&gt;The data model in this schema demonstrates the relationship between one fact table and many different dimension tables.&lt;br&gt;
Figure below shows components of star schema.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Feqoqro5duz400ov761ry.webp" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Feqoqro5duz400ov761ry.webp" alt=" " width="800" height="400"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Fact Table&lt;/strong&gt;:&lt;br&gt;
The fact table sits at the center of the schema and stores the measurable, quantitative data used for analysis. Examples include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Sales amount&lt;/li&gt;
&lt;li&gt;Units sold&lt;/li&gt;
&lt;li&gt;Discount&lt;/li&gt;
&lt;li&gt;Profit
Each record in a fact table represents a business event (e.g sales transcation).&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Dimension Tables:&lt;/strong&gt;&lt;br&gt;
Dimension tables surround the fact table and contain descriptive attributes that add context to the facts. Common dimensions include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Product details&lt;/li&gt;
&lt;li&gt;Customer details&lt;/li&gt;
&lt;li&gt;Time attributes&lt;/li&gt;
&lt;li&gt;Employee or store information
These tables allow users to slice, dice, filter, and group the fact data for analysis (e.g., sales by region, by month, by product category).&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Features of Star schema.
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Fact table contains numeric measures.&lt;/li&gt;
&lt;li&gt;Dimension table storing descriptive attributes.&lt;/li&gt;
&lt;li&gt;High query performance.&lt;/li&gt;
&lt;li&gt;Easy to understand, even for non-technical users.&lt;/li&gt;
&lt;li&gt;Allows fast joins and simple queries.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Example of a star schema:(sample-chocolate-sales-data-all)
&lt;/h3&gt;

&lt;p&gt;To demonstrate how a star schema works, consider a sample chocolate  data where each shipments details is stored in a fact table and is analyzed through sorrounding dimension tables.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F42265m4stne58dze73j5.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F42265m4stne58dze73j5.png" alt=" " width="800" height="388"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Shipments fact table contains numeric measures such as amount, boxes along with foreign keys to each dimension such as product id, geographical id and sales person id.&lt;/li&gt;
&lt;li&gt;Sorrounding dimension tables provide descriptive attributes that allow the facts to be examined from different perspectives.&lt;/li&gt;
&lt;li&gt;Locations dimensions describes the shipment location and product dimensions describes the product being shipped.&lt;/li&gt;
&lt;li&gt;Calendar dimension shows the date in years, months the product was shipped.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Advantages of a Star schema
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Easier to perform simple queries.&lt;/li&gt;
&lt;li&gt;Simplified business reporting logically.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Disadvantages of a Star schema
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Denormalized data can introduce duplicates.&lt;/li&gt;
&lt;li&gt;Not as adaptable as normalized models when analysis needs change frequently.&lt;/li&gt;
&lt;li&gt;Weak support for many to many relationships.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Snowflake Schema
&lt;/h2&gt;

&lt;p&gt;Is data model technique where dimension tables are normalized into multiple related sub-tables.&lt;br&gt;
The snowflake schema applies only to dimension tables, not the fact table.&lt;br&gt;
Figure shows the snowflake schema.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fklbyp0wijr6g0i6j3t4l.webp" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fklbyp0wijr6g0i6j3t4l.webp" alt=" " width="800" height="400"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Dimension tables are normalized into multiple related tables, creating a hierarchial structure.&lt;/li&gt;
&lt;li&gt;Fact table is still located at the center of the schema, surrounded by dimension tables.&lt;/li&gt;
&lt;li&gt;Each dimension table is further broken down into multiple related tables.
&lt;em&gt;&lt;strong&gt;Example&lt;/strong&gt;&lt;/em&gt;: A customer dimension may contain a cityID that links to a separate city dimension tables storing city, state, country.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Features of a Snowflake Schema
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Uses normalized tables to reduce redundancy and improve consistency.&lt;/li&gt;
&lt;li&gt;Are built around a central fact table with connected dimension tables.&lt;/li&gt;
&lt;li&gt;Dimensions can be split into multiple levels, allowing detailed analysis.&lt;/li&gt;
&lt;li&gt;Requires more joins which can slow performance on large datasets.
-Scales well for large data, but its complexity makes it harder to manage.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Example of Snowflake schema.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Foto6oayngmcir6rpjzzu.webp" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Foto6oayngmcir6rpjzzu.webp" alt=" " width="800" height="400"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Employee diemnsion includes atrributes like employeeID, Name, DepartmentID, Region, and Territory.DepartmentID links to the department table, which holds department details like Nmae and location.&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  Advantages
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;Improves data integrity through normalization.&lt;/li&gt;
&lt;li&gt;Reduces redundancy and storage usage.&lt;/li&gt;
&lt;li&gt;Supports detailed hierarchical drill-down.&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  Disadvantages
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;Increased schema complexity.&lt;/li&gt;
&lt;li&gt;More joins, leading to slower query performance.&lt;/li&gt;
&lt;li&gt;Normalization may offer minimal storage savings compared to the entire warehouse.&lt;/li&gt;
&lt;li&gt;Not recommended unless the hierarchy is essential and widely used in queries.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Difference Between Snowflake and Star Schema
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Feature             Star schema      Snowflake schema
Dimension structure- Denormalized     - Normalized
Query performance -Faster(few joins) -Slower(more joins) 
Storage requirement- Higher          - Lower
Complexity         - Simple          - More complex
Use case - Simple analytics      - Complex hierarchies.



&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  What are Table Relationships?
&lt;/h2&gt;

&lt;p&gt;A relationship described between two or more tables via a common attribute is termed a table relationship. It is very crucial as it enables users to access data from two separate tables with ease.&lt;/p&gt;

&lt;h3&gt;
  
  
  Types of Table Relationships
&lt;/h3&gt;

&lt;p&gt;There are four types of table relationships&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;em&gt;One-to-One (1:1)&lt;/em&gt;: One row in a table that can only link to one row in another table.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F2awlo5s2cnvxm8n2oxmy.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F2awlo5s2cnvxm8n2oxmy.png" alt=" " width="604" height="179"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;em&gt;One-to-Many (1:*)&lt;/em&gt;: One row matching to many rows in another table.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fim3t2dw0s3ueam1pgb0r.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fim3t2dw0s3ueam1pgb0r.png" alt=" " width="630" height="193"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;em&gt;Many-to-One (*:1)&lt;/em&gt;: Many rows in a table, matching one unique row in another table.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Flv02q1qvvgh56nsp98wz.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Flv02q1qvvgh56nsp98wz.png" alt=" " width="619" height="246"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;em&gt;Many-to-Many (&lt;em&gt;:&lt;/em&gt;)&lt;/em&gt;: Multiple rows that can link into multiple rows in another table.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F8ekygzwqj9fol5dhnlzx.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F8ekygzwqj9fol5dhnlzx.png" alt=" " width="609" height="216"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Cross filter direction
&lt;/h3&gt;

&lt;p&gt;Cross filter considers the columns from both the tables that join them together and allows the user to tell the direction of filtering allowed.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Single: It represents a single direction filter. In this filtering choices in connected tables work on the table where values are being aggregated.&lt;/li&gt;
&lt;li&gt;Both: It represents a bi-directional filter. In this, for filtering both tables connected are considered as one single table.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  We need to identify key fields for Relationships
&lt;/h3&gt;

&lt;p&gt;A table relationship works by matching key fields.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;They can be fields with the same name in both fact and dimension tables.&lt;/li&gt;
&lt;li&gt;Mostly we use the primary key of one table as a foreign key in another table and helps in establishing a relationship between two tables.
&lt;strong&gt;&lt;em&gt;Example&lt;/em&gt;&lt;/strong&gt;: Table below shows primary keys like GeographicalID in the location table.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fb8fkdvzrna8nichjbtgw.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fb8fkdvzrna8nichjbtgw.png" alt=" " width="799" height="380"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Impact of table relationships in powerBI
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Incorrectly defined table relationships can lead to performance issues, such as slow query execution.&lt;/li&gt;
&lt;li&gt;Complex relationships with large datasets may result in increased memory.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  How to optimize table relationships
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Avoid unnecessary relationships.&lt;/li&gt;
&lt;li&gt;Keep the number of relationships to a minimum.&lt;/li&gt;
&lt;li&gt;Use Bi-directional filtering only when necessary.&lt;/li&gt;
&lt;li&gt;High cardinality relationships can impact performance.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Merged Tables in PowerQuery
&lt;/h2&gt;

&lt;p&gt;This merges data from two or more tables into single table by using PowerQuery.&lt;br&gt;
It's based on common columns between tables.&lt;/p&gt;

&lt;h3&gt;
  
  
  Importance of merging tables.
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Enables user to perform analysis, reporting, and visualization on combined datasets without the need for complex joins/relationships between tables.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Merging Tables using Merge queries command
&lt;/h3&gt;

&lt;p&gt;First load the data sets into powerbi as shown below:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fg3zwe036zhv0l2p66nnq.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fg3zwe036zhv0l2p66nnq.png" alt=" " width="487" height="445"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;Click on Transform data -&amp;gt; click on merge queries command&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Feubwu1gufk4vzw364r97.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Feubwu1gufk4vzw364r97.png" alt=" " width="800" height="154"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F4oxqui1r72awttjnsrfu.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F4oxqui1r72awttjnsrfu.png" alt=" " width="796" height="80"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Select the left table for merge and next right table for merge.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F2qojz7ywymv9ypfnwqge.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F2qojz7ywymv9ypfnwqge.png" alt=" " width="800" height="691"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Select type of join you want perform, the join operations are used to join the tables.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F1dlkffwcqd979yq4qvul.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F1dlkffwcqd979yq4qvul.png" alt=" " width="754" height="261"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Types Of Joins
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;Left outer join:- Merges all the rows from the left table and matching rows from right table.&lt;/li&gt;
&lt;li&gt;Right outer join:- Merges all the rows from the right table and matching rows from left table.&lt;/li&gt;
&lt;li&gt;Full outer join:- Merges all the rows from the both tables.&lt;/li&gt;
&lt;li&gt;Inner join:- Merges only same rows from the same tables.&lt;/li&gt;
&lt;li&gt;Left anti:- Merges only rows from left table.&lt;/li&gt;
&lt;li&gt;Right anti:- Merges only rows from right table.&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  Fuzzy Matching
&lt;/h3&gt;

&lt;p&gt;Fuzzy matching is a technique used to identify and match similar strings or text values within a dataset by measuring their similarity based on various algorithms and criteria.&lt;/p&gt;

&lt;h3&gt;
  
  
  Impact of Merged tables on performance in powerbi
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Tables can impact performance during data refresh.&lt;/li&gt;
&lt;li&gt;Large merged tables can increase data model size and memory usage thus affecting performance.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  How to make Merge queries work:
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Limit the number of transformations applied to merged tables.&lt;/li&gt;
&lt;li&gt;Apply filters and aggregations to reduce the number of rows and columns in merged tables before loading into data model.&lt;/li&gt;
&lt;/ul&gt;

&lt;h1&gt;
  
  
  CONCLUSION
&lt;/h1&gt;

&lt;p&gt;For most business intelligence work, I would consider a star schema with one-to-many relationships, single-direction filtering, and a dedicated Date dimension.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;&lt;em&gt;Star schema&lt;/em&gt;&lt;/strong&gt; is easier to perform simple queries in DAX and has simplified business reporting logically compared to a Snowflake schema which offers complex operations.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;em&gt;One to many&lt;/em&gt;&lt;/strong&gt;relationships because it keeps filter propagation predictable: dimensions filter facts, not the other way around.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;em&gt;Date table&lt;/em&gt;&lt;/strong&gt; which keeps time reporting possible for time series data analysis and reporting.&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>powerfuldevs</category>
      <category>datascience</category>
      <category>analytics</category>
    </item>
    <item>
      <title>Jumia Product Performance Dashboard: Analyzing Pricing, Discounts, and Customer Reviews</title>
      <dc:creator>Philip Saidi</dc:creator>
      <pubDate>Sun, 06 Sep 2026 13:35:06 +0000</pubDate>
      <link>https://dev.to/saks_007/jumia-product-performance-dashboard-analyzing-pricingdiscounts-and-customer-reviews-28c5</link>
      <guid>https://dev.to/saks_007/jumia-product-performance-dashboard-analyzing-pricingdiscounts-and-customer-reviews-28c5</guid>
      <description>&lt;h1&gt;
  
  
  Introduction
&lt;/h1&gt;

&lt;p&gt;The project introduces a Jumia dataset in csv file.&lt;br&gt;
Jumia is an ecommerce powerhouse operating accross Africa.&lt;br&gt;
The goal of this project is to create an interactive Excel dashboard that provides insights into the&lt;br&gt;
performance of products listed on Jumia&lt;/p&gt;
&lt;h1&gt;
  
  
  Overview
&lt;/h1&gt;

&lt;p&gt;The dataset contains information about products listed on Jumia with the following columns:&lt;br&gt;
• Product: Name of the product.&lt;br&gt;
• Current Price: The current selling price of the product (in KSh).&lt;br&gt;
• Old Price: The original price before discount (in KSh).&lt;br&gt;
• Discount: The percentage discount offered on the product.&lt;br&gt;
• Review: The number of customer reviews received by the product.&lt;br&gt;
• Rating: The average customer rating of the product (out of 5).&lt;/p&gt;
&lt;h1&gt;
  
  
  Objectives of the objectives
&lt;/h1&gt;

&lt;ul&gt;
&lt;li&gt;Identify errors in the dataset&lt;/li&gt;
&lt;li&gt;Perform data cleaning&lt;/li&gt;
&lt;li&gt;Perform analysis for trends&lt;/li&gt;
&lt;li&gt;Visualize your results using pivot charts&lt;/li&gt;
&lt;li&gt;Use slicers to interact with the indicators&lt;/li&gt;
&lt;li&gt;Create a dashboard with all the KPIs&lt;/li&gt;
&lt;/ul&gt;
&lt;h1&gt;
  
  
  Data Cleaning
&lt;/h1&gt;

&lt;p&gt;I copied and named the cleaning sheet cleaned.&lt;br&gt;
Autofitted column width to accomodate the long product names by&lt;br&gt;
 &lt;code&gt;CTRL + A -&amp;gt;Home -&amp;gt; Format -&amp;gt; Autofit column width -&amp;gt; OK&lt;/code&gt;&lt;br&gt;
Applied a filter for all the columns by &lt;code&gt;Select First Header row -&amp;gt; Home -&amp;gt; Sort and Filter -&amp;gt; Filter-&amp;gt; Apply filter -&amp;gt; OK&lt;/code&gt;&lt;br&gt;
Changed the header row background color &lt;code&gt;Select First Header row -&amp;gt; Home -&amp;gt; Fill color -&amp;gt; Select the desired color -&amp;gt; OK&lt;/code&gt; to differenciate from the main data.&lt;/p&gt;
&lt;h2&gt;
  
  
  Data Errors Identified
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Duplicates&lt;/li&gt;
&lt;li&gt;The current and old price are in text format
&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fasba45gw3k6q5d6rkxhu.png" alt=" " width="577" height="48"&gt;
&lt;/li&gt;
&lt;li&gt;Rating is mispelled and in text format
&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Focbcxyvovaukvf139yvx.png" alt=" " width="97" height="39"&gt;
&lt;/li&gt;
&lt;li&gt;Review column is in negative number 
&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Finoh6r6n47vobd81oq7y.png" alt=" " width="190" height="54"&gt;
&lt;/li&gt;
&lt;li&gt;Price in a row is in range of two numbers 
&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Ffod70b565b25rqa9e79h.png" alt=" " width="511" height="27"&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;
  
  
  Removing duplicates
&lt;/h3&gt;

&lt;p&gt;&lt;code&gt;Select the entire data -&amp;gt; Go to data tab -&amp;gt; Remove duplicates -&amp;gt; Choose all columns -&amp;gt; OK&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fjhtw920stm4ytzvuqbuy.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fjhtw920stm4ytzvuqbuy.png" alt=" " width="800" height="405"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F4ucxya0i3mvnig270jkp.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F4ucxya0i3mvnig270jkp.png" alt=" " width="799" height="408"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;
  
  
  Change current price and old price to currency format.
&lt;/h3&gt;

&lt;p&gt;&lt;code&gt;Select the current/old price column -&amp;gt; Use Find and replace -&amp;gt; First Replace Ksh to Blank -&amp;gt; OK -&amp;gt; Select price column -&amp;gt; Home -&amp;gt; Number -&amp;gt; Choose currency on the dropdown menu -&amp;gt; choose Ksh on the currency symbol -&amp;gt; select 1 decimal place -OK&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fkz2sbr2a7uofowitaikm.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fkz2sbr2a7uofowitaikm.png" alt=" " width="800" height="406"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F8dmunqmvzq0kwpyqti0f.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F8dmunqmvzq0kwpyqti0f.png" alt=" " width="800" height="407"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F2nfefkrgs0xj1zua5zf0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F2nfefkrgs0xj1zua5zf0.png" alt=" " width="800" height="411"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Ff2l9b4ykwcc4afvs5lty.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Ff2l9b4ykwcc4afvs5lty.png" alt=" " width="800" height="410"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fvzc15nwn7wlvchn2kcoc.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fvzc15nwn7wlvchn2kcoc.png" alt=" " width="799" height="405"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F4t75wugujma0jmtpoz40.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F4t75wugujma0jmtpoz40.png" alt=" " width="800" height="396"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;
  
  
  Change Rating to number format
&lt;/h3&gt;

&lt;p&gt;I used Find and replace&lt;br&gt;
&lt;code&gt;Select Rating column -&amp;gt; Home tab -&amp;gt; Find and select -&amp;gt; Replace or CTRL + H -&amp;gt; example  2.0 out 5 with 2, 2.5 out of 5 with 2.5&lt;/code&gt;&lt;br&gt;
Changed the name by renaming the Ratingd to Ratings.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fc1rauot2bp17ycwd8h25.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fc1rauot2bp17ycwd8h25.png" alt=" " width="799" height="422"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F7mzyhak6f20i6j5xejng.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F7mzyhak6f20i6j5xejng.png" alt=" " width="800" height="422"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;
  
  
  Change Review to a positive number
&lt;/h3&gt;

&lt;p&gt;Select the Review column&lt;br&gt;
&lt;code&gt;CTRL + H for find and replace-&amp;gt; Replace - with blank-&amp;gt; OK&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fs8alcdlts4z53gojsc7v.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fs8alcdlts4z53gojsc7v.png" alt=" " width="799" height="415"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fq5q315f0fxw62hmzj9et.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fq5q315f0fxw62hmzj9et.png" alt=" " width="800" height="409"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;
  
  
  Price in a row is in range of two numbers
&lt;/h3&gt;

&lt;p&gt;I calculated the average of the two numbers in range by &lt;br&gt;
&lt;code&gt;=AVERAGE(2200,3200)&lt;/code&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Ftckgru6mwqd3ik07j6m6.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Ftckgru6mwqd3ik07j6m6.png" alt=" " width="800" height="416"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F9elwpybpl5nbkkdl94d1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F9elwpybpl5nbkkdl94d1.png" alt=" " width="799" height="404"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;
  
  
  Data Enrichment
&lt;/h2&gt;

&lt;p&gt;The project required we create 3 columns&lt;/p&gt;
&lt;h4&gt;
  
  
  Price category
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;High price greater ksh 3000&lt;/li&gt;
&lt;li&gt;Medium price greater or equal ksh 2000&lt;/li&gt;
&lt;li&gt;Low price less than 1000
I used a nested IF statement in the inserted column and renamed it price category.
&lt;code&gt;=IF(B2&amp;gt;3000,"High Price",IF(B2&amp;gt;=2000,"Medium Price","Low Price"))&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fw5840j1j1nkesbqneozz.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fw5840j1j1nkesbqneozz.png" alt=" " width="238" height="75"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h4&gt;
  
  
  Discount Category
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;High discount greater than 40%&lt;/li&gt;
&lt;li&gt;Medium discount less than or equal 40%&lt;/li&gt;
&lt;li&gt;Low discount less than 20%
I use a nested ID statement and renamed the column discount category &lt;code&gt;=IF([@Discount]="","Missing",IF([@Discount]&amp;lt;20%,"Low Discount",IF([@Discount]&amp;lt;=40%,"Medium Discount","High Discount"))&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fieaj3rzwviewhqpxjia9.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fieaj3rzwviewhqpxjia9.png" alt=" " width="192" height="79"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h4&gt;
  
  
  Rating Category
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;Excellent greater than 5&lt;/li&gt;
&lt;li&gt;Average less than or equal 4.5&lt;/li&gt;
&lt;li&gt;Poor less than 3
I used a nested IF statement here too and renamed Rating category.
&lt;code&gt;=IF([@Ratings]="","Missing",IF([@Ratings]&amp;lt;3,"Poor",IF([@Ratings]&amp;lt;=4.5,"Average","Excellent")))&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fo3p7likquf0wh4bxtgbr.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fo3p7likquf0wh4bxtgbr.png" alt=" " width="352" height="58"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h4&gt;
  
  
  Discount Amount
&lt;/h4&gt;

&lt;p&gt;I used subtraction from old price to current price.&lt;br&gt;
Renamed the column Discount amount.&lt;br&gt;
&lt;code&gt;=[@[Old price]]-[@[Current price]]&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F52gv8vcle01iurifqygw.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F52gv8vcle01iurifqygw.png" alt=" " width="189" height="82"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h1&gt;
  
  
  DATA ANALYSIS USING PIVOT TABLES AND CHARTS.
&lt;/h1&gt;

&lt;p&gt;I created pivot tables to help me with data analysis and data visualization.&lt;br&gt;
From the data analysis&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fkwsw6w5v5mupm621gx19.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fkwsw6w5v5mupm621gx19.png" alt=" " width="519" height="312"&gt;&lt;/a&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;- Click anywhere in the data table
- Go to insert table 
- Choose pivot table
- Choose from existing table and a new worksheet
- OK
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fb7nwhcnqv4o2zcask0l8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fb7nwhcnqv4o2zcask0l8.png" alt=" " width="800" height="415"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F5ckti2z5bssyur4jki94.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F5ckti2z5bssyur4jki94.png" alt=" " width="800" height="399"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fl2y7lf3dbmkt5eh7ndgb.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fl2y7lf3dbmkt5eh7ndgb.png" alt=" " width="799" height="427"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I created a pie chart and a bar chart showing discount by reviews, ratings category by average reviews, price and rating using the pivot tables created. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fmpnkphhb4jd818cq8vi3.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fmpnkphhb4jd818cq8vi3.png" alt=" " width="800" height="391"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F4eq99sjax5vw99kvsu4e.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F4eq99sjax5vw99kvsu4e.png" alt=" " width="799" height="395"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fdvhuohzi6lvmch1qrl5x.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fdvhuohzi6lvmch1qrl5x.png" alt=" " width="800" height="404"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  Excel Dashboard
&lt;/h1&gt;

&lt;p&gt;I used these slicers to connect all the pivot tables/charts.&lt;br&gt;
&lt;code&gt;Created a pivot table -&amp;gt; Insert -&amp;gt; Slicer -&amp;gt; Choose columns (Rating category, Price category, Discount category) -&amp;gt; OK&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fi5rqq3oryuwp9ikk7qv1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fi5rqq3oryuwp9ikk7qv1.png" alt=" " width="800" height="395"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F22oqb4s6i9x6g6yz5laf.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F22oqb4s6i9x6g6yz5laf.png" alt=" " width="800" height="421"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;From the Slicers and pivot tables/chart I created a Dashboard displaying all the charts, slicers for interaction and Key performance Indicators shown below&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F1ajwbfa2biqim7wfizi5.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F1ajwbfa2biqim7wfizi5.png" alt=" " width="799" height="346"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  CONCLUSION
&lt;/h1&gt;

&lt;p&gt;From the dataset given ratings,reviews,prices and large discounts do not guarantee for huge sales.Jumia should stock product that makes a different in quality this will attract customers.&lt;/p&gt;

&lt;h1&gt;
  
  
  Here is the link to the project files for collaboration:&lt;a href="https://github.com/saks-saidi/Excel-Project" rel="noopener noreferrer"&gt;GITHUB&lt;/a&gt;
&lt;/h1&gt;

</description>
      <category>data</category>
      <category>analyst</category>
      <category>beginners</category>
      <category>datacleaning</category>
    </item>
    <item>
      <title>Getting Started with Excel for Data Analytics: From Basics to Data Cleaning.</title>
      <dc:creator>Philip Saidi</dc:creator>
      <pubDate>Sat, 29 Aug 2026 20:13:33 +0000</pubDate>
      <link>https://dev.to/saks_007/getting-started-with-excel-for-data-analytics-from-basics-to-data-cleaning-nk8</link>
      <guid>https://dev.to/saks_007/getting-started-with-excel-for-data-analytics-from-basics-to-data-cleaning-nk8</guid>
      <description>&lt;h1&gt;
  
  
  Overview
&lt;/h1&gt;

&lt;h2&gt;
  
  
  What is data and data analysis
&lt;/h2&gt;

&lt;p&gt;Data is information that helps people or business make decisions.&lt;/p&gt;

&lt;h3&gt;
  
  
  Types of data
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Text (Abcde)&lt;/li&gt;
&lt;li&gt;Numbers (12348.0)&lt;/li&gt;
&lt;li&gt;Dates (12/3/1993, 12-5-2026)&lt;/li&gt;
&lt;li&gt;Currency ($45.5, KES200.5)&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Data analysis
&lt;/h2&gt;

&lt;p&gt;The process of making data to a useful information using different tools such as Excel.&lt;br&gt;
It entails processes like&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Data formatting&lt;/li&gt;
&lt;li&gt;Data validation&lt;/li&gt;
&lt;li&gt;Data cleaning&lt;/li&gt;
&lt;li&gt;Data analysis&lt;/li&gt;
&lt;li&gt;Data visualization&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  What is Excel
&lt;/h2&gt;

&lt;p&gt;Excel is a spreadsheet application used to create, view, edit , clean, analyze and visualize data.&lt;/p&gt;

&lt;h2&gt;
  
  
  Excel use cases
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Create data or record data for reference. &lt;/li&gt;
&lt;li&gt;To record data /data entry.&lt;/li&gt;
&lt;li&gt;Data analysis and give insights.&lt;/li&gt;
&lt;li&gt;Business intelligence on light weight.&lt;/li&gt;
&lt;li&gt;Project management.&lt;/li&gt;
&lt;li&gt;Cleaning data.&lt;/li&gt;
&lt;li&gt;Create beautiful visual representation of data.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Creating data with Excel for Students grades
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Open excel application in your pc&lt;/li&gt;
&lt;li&gt;Open Blank workbook name it Students grades&lt;/li&gt;
&lt;li&gt;Save by clicking File then Save as.&lt;/li&gt;
&lt;li&gt;Choose a location to save and name the file&lt;/li&gt;
&lt;li&gt;Click on cell A1 and name it FIRSTNAME&lt;/li&gt;
&lt;li&gt;Press TAB to move to the next cell&lt;/li&gt;
&lt;li&gt;Name it LASTNAME, next QUIZ 1, QUIZ 2, QUIZ 3, and AVERAGE as shown below&lt;/li&gt;
&lt;li&gt;Autofit the columns by Clicking Home tab -&amp;gt; Format -&amp;gt; Autofit column -&amp;gt; OK.&lt;/li&gt;
&lt;li&gt;Enter the data as shown in the screenshot and save.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fkntwr3tfcuw2vz06quu7.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fkntwr3tfcuw2vz06quu7.png" alt=" " width="800" height="487"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  Introduction to Excel Cleaning data.
&lt;/h1&gt;

&lt;p&gt;The first step to data cleaning:&lt;/p&gt;

&lt;h3&gt;
  
  
  Sample data errors
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Wrong date format &lt;/li&gt;
&lt;li&gt;Incorrect data types&lt;/li&gt;
&lt;li&gt;Blank cells/ missing values&lt;/li&gt;
&lt;li&gt;Duplicates&lt;/li&gt;
&lt;li&gt;Wrong format of data types&lt;/li&gt;
&lt;li&gt;Missing values&lt;/li&gt;
&lt;li&gt;Incorrect information&lt;/li&gt;
&lt;/ul&gt;

&lt;h1&gt;
  
  
  Formatting data
&lt;/h1&gt;

&lt;p&gt;You can format numbers, texts, rows and columns&lt;/p&gt;

&lt;h4&gt;
  
  
  Number formatting
&lt;/h4&gt;

&lt;p&gt;Numbers always align to the right of the cell. &lt;br&gt;
Follow these steps to format numbers to desired data type&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Select the column you want to format&lt;/li&gt;
&lt;li&gt;Click Home tab/ribbon and find Number group&lt;/li&gt;
&lt;li&gt;A drop down menu will occur, choose which number format you want and click OK.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fbxs3yh3ibiqri4ei5crz.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fbxs3yh3ibiqri4ei5crz.png" alt=" " width="799" height="396"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Ftwbl3fy4z4znbydamaza.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Ftwbl3fy4z4znbydamaza.png" alt=" " width="800" height="511"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  Text Formatting
&lt;/h4&gt;

&lt;p&gt;Text are a string or words like John, Lorry, HR.&lt;br&gt;
Text are aligned to the left of the cell&lt;br&gt;
Follow these steps to format texts&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Select the text you want &lt;/li&gt;
&lt;li&gt;Click Home tab&lt;/li&gt;
&lt;li&gt;Choose to color or make it bold in the font section&lt;/li&gt;
&lt;li&gt;You can change the background color and click OK.&lt;/li&gt;
&lt;li&gt;Save your work.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Frbayzsquripbsdkrfk8i.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Frbayzsquripbsdkrfk8i.png" alt=" " width="800" height="645"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fg0496uo0cyjjqtdsc3dl.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fg0496uo0cyjjqtdsc3dl.png" alt=" " width="800" height="417"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fvqxlviwcgofhkb831ewn.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fvqxlviwcgofhkb831ewn.png" alt=" " width="799" height="409"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  Row and Column formatting.
&lt;/h4&gt;

&lt;p&gt;Follow these steps&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Select an entire row/column example ROW 1&lt;/li&gt;
&lt;li&gt;Select Home tab and Click B to make it Bold.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F7xd29q7tuwwhvaevu3mg.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F7xd29q7tuwwhvaevu3mg.png" alt=" " width="800" height="408"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fjy015xu03dqi2ms0oouj.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fjy015xu03dqi2ms0oouj.png" alt=" " width="800" height="416"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F6vquvhcwccsfwvqsa0vw.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F6vquvhcwccsfwvqsa0vw.png" alt=" " width="800" height="414"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Data Cleaning Using Excel
&lt;/h2&gt;

&lt;p&gt;Data cleaning is the art of formatting and correcting data so that it can be correct and accurate for use in data analysis.&lt;/p&gt;

&lt;p&gt;For this We will use a random data set from the internet called kenya-school-grades-dirty.&lt;br&gt;
Start with removing duplicates&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Select all data&lt;/li&gt;
&lt;li&gt;Go to data tab &lt;/li&gt;
&lt;li&gt;Click remove duplicates.&lt;/li&gt;
&lt;li&gt;Select the column you want&lt;/li&gt;
&lt;li&gt;Click OK.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fkv3doohopm2dgwtf1row.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fkv3doohopm2dgwtf1row.png" alt=" " width="800" height="405"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fhsogczyp22ix24me5ohs.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fhsogczyp22ix24me5ohs.png" alt=" " width="799" height="406"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fdoc79x9yzqmzmt7j8izt.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fdoc79x9yzqmzmt7j8izt.png" alt=" " width="800" height="412"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F7u7n6qtpq63sq0tmtrr3.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F7u7n6qtpq63sq0tmtrr3.png" alt=" " width="800" height="411"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In the data set names are not in proper case and have spacing.&lt;br&gt;
We rectify this by:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Selecting the columns Student Name.&lt;/li&gt;
&lt;li&gt;Right click and insert a new column&lt;/li&gt;
&lt;li&gt;In the empty column write the formula =TRM(PROPER(B2:B221)) and Enter.&lt;/li&gt;
&lt;li&gt;This removes any whitespace and capitalize the first letter.&lt;/li&gt;
&lt;li&gt;Insert another cell and copy the corrected student name and delete the previous one then save.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fss1m3kddg8kyagu20azi.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fss1m3kddg8kyagu20azi.png" alt=" " width="800" height="412"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fvm1lhv7f3nrbpddz34qu.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fvm1lhv7f3nrbpddz34qu.png" alt=" " width="800" height="409"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In the gender it has more than one identifier that is M, f, Female, FEMALE, MALE.&lt;br&gt;
We can correct this by removing the repeating gender by find and replace method.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Select the gender column.&lt;/li&gt;
&lt;li&gt;Select Home tab&lt;/li&gt;
&lt;li&gt;Find and select -&amp;gt; Replace&lt;/li&gt;
&lt;li&gt;A dialogue box will pop up&lt;/li&gt;
&lt;li&gt;Type what you what to find and replace all it with the correct gender.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F931kmne09ebmgazwfr0x.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F931kmne09ebmgazwfr0x.png" alt=" " width="800" height="437"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F1gpxlwkfpvazplu020kw.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F1gpxlwkfpvazplu020kw.png" alt=" " width="800" height="433"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F8dkdpuzymsxhz71s9kkw.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F8dkdpuzymsxhz71s9kkw.png" alt=" " width="800" height="415"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F8b85a3rz58523fsap2lp.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F8b85a3rz58523fsap2lp.png" alt=" " width="799" height="407"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Date format&lt;br&gt;
In the last column the date format is inconsistent&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Select column you want to format(Date recorded)&lt;/li&gt;
&lt;li&gt;Go to Home tab&lt;/li&gt;
&lt;li&gt;Then Click Number group&lt;/li&gt;
&lt;li&gt;Scroll to date&lt;/li&gt;
&lt;li&gt;Select the date format that is correct.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F71jl4kuegtd8lzldwsdu.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F71jl4kuegtd8lzldwsdu.png" alt=" " width="799" height="407"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fs9la7ztzy81u61945leu.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fs9la7ztzy81u61945leu.png" alt=" " width="799" height="417"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F9d66wuyx70lnn3crumja.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F9d66wuyx70lnn3crumja.png" alt=" " width="799" height="417"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fwvtthwdxu6msk9ywf675.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fwvtthwdxu6msk9ywf675.png" alt=" " width="800" height="435"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  Data validation
&lt;/h4&gt;

&lt;p&gt;Restricting users on what is allowed to be entered in a given column.&lt;br&gt;
Follow these steps:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Select column you want to validate.&lt;/li&gt;
&lt;li&gt;Click on data ribbon&lt;/li&gt;
&lt;li&gt;Data validation group&lt;/li&gt;
&lt;li&gt;Choose list&lt;/li&gt;
&lt;li&gt;Type the data that you want to be allowed in that column&lt;/li&gt;
&lt;li&gt;Click OK.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fwrx31al6tbhkfambvbgj.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fwrx31al6tbhkfambvbgj.png" alt=" " width="800" height="416"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fcl5vih1rsy624xutgpts.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fcl5vih1rsy624xutgpts.png" alt=" " width="800" height="410"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fr0rcwes52nxig9lsxrhq.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fr0rcwes52nxig9lsxrhq.png" alt=" " width="800" height="430"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F2og1e1b0tn4glv0cipwe.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F2og1e1b0tn4glv0cipwe.png" alt=" " width="800" height="430"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  CONCLUSION
&lt;/h1&gt;

&lt;p&gt;Excel is important in both data analysis, cleaning and visualization.&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>datascience</category>
    </item>
    <item>
      <title># MY FIRST GITHUB PROJECT: FROM A LOCAL FOLDER TO GITHUB USING GIT AND SSH.</title>
      <dc:creator>Philip Saidi</dc:creator>
      <pubDate>Sat, 22 Aug 2026 08:37:21 +0000</pubDate>
      <link>https://dev.to/saks_007/-my-first-github-project-from-a-local-folder-to-github-using-git-and-ssh-3lna</link>
      <guid>https://dev.to/saks_007/-my-first-github-project-from-a-local-folder-to-github-using-git-and-ssh-3lna</guid>
      <description>&lt;h1&gt;
  
  
  What is git and github
&lt;/h1&gt;

&lt;p&gt;&lt;em&gt;Git is a command line tool used to create project folders and files that can be linked to your github account repositories.&lt;br&gt;
Github is a website where you put all your projects folders and files to enable collaboration with you team or anyone who can contribute to that project.&lt;br&gt;
Repository is a project folder that contains all of your project files.&lt;/em&gt;&lt;/p&gt;
&lt;h2&gt;
  
  
  Creating A Folder And Files
&lt;/h2&gt;

&lt;p&gt;We first create a folder in your desktop using gitbash.&lt;br&gt;
I followed these steps.&lt;/p&gt;

&lt;p&gt;_&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;open gitbash&lt;/li&gt;
&lt;li&gt;First know the current directory, if you in the Root directory tab change directory to Desktop.&lt;/li&gt;
&lt;li&gt;Make directory with the name of the Folder.&lt;/li&gt;
&lt;li&gt;Change the directory to the current Folder created.&lt;/li&gt;
&lt;li&gt;Make a file in the folder you created, like app.py or README.md.&lt;/li&gt;
&lt;li&gt;Write into the README.md and save.&lt;/li&gt;
&lt;li&gt;Display the contents of the file.&lt;/li&gt;
&lt;li&gt;Return to the previuos folder y_ou created.
Use the code below for reference
&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;pwd
cd &lt;/span&gt;Desktop
&lt;span class="nb"&gt;mkdir &lt;/span&gt;Folder name like Kenya-Health-Records
&lt;span class="nb"&gt;cd &lt;/span&gt;Kenya-Health-Records
&lt;span class="nb"&gt;touch &lt;/span&gt;File name with an extension like app.py or README.md
&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;"# DATA CLEANING USING EXCEL"&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&lt;/span&gt;README.md
&lt;span class="nb"&gt;cat &lt;/span&gt;README.md 
&lt;span class="nb"&gt;cd&lt;/span&gt; &lt;span class="nb"&gt;.&lt;/span&gt; &lt;span class="nb"&gt;.&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;h2&gt;
  
  
  Pushing Repo To Github Using Gitbash
&lt;/h2&gt;

&lt;p&gt;While still in gitbash current folder I created.&lt;br&gt;
I did this commands on the CLI&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Run git init to initialize a git repo
Run git status to check I repo is ready 
Run git add . 
Run git commit -m "write your commit message"
Run git log --oneline to check the commit message in a oneline
Run git branch to confirm if you are in the main branch
Run git branch -M main to change master to main branch
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Open github account, login and follow these steps.&lt;/p&gt;

&lt;p&gt;_&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Create a repository and give it a name and description.&lt;/li&gt;
&lt;li&gt;Go to your quick set ip and click SSH.&lt;/li&gt;
&lt;li&gt;Copy the url command&lt;/li&gt;
&lt;li&gt;Open gitbash and make sure you are in the current folder you want to push to github._
Follow this commands below
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Run git remote add origin "paste the url command from github"
Run git remote -v
Run git push - u origin main 
You will be prompted for your paraphrase you created while setting git
You will see a successful message that your folder successful pushed to github
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Now go to your github account and refresh.You will see the files and folder you created in the repository you created on github.&lt;br&gt;
Give yourself a clap&lt;/p&gt;

</description>
      <category>git</category>
      <category>github</category>
      <category>cli</category>
    </item>
  </channel>
</rss>
