<?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: Dorsila Otieno</title>
    <description>The latest articles on DEV Community by Dorsila Otieno (@dorsila_otieno_f355d37bd8).</description>
    <link>https://dev.to/dorsila_otieno_f355d37bd8</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%2F4071521%2F926326a0-7f44-4067-9899-e86063769f88.png</url>
      <title>DEV Community: Dorsila Otieno</title>
      <link>https://dev.to/dorsila_otieno_f355d37bd8</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/dorsila_otieno_f355d37bd8"/>
    <language>en</language>
    <item>
      <title>Data Modelling, Relationships And Joins In Power BI</title>
      <dc:creator>Dorsila Otieno</dc:creator>
      <pubDate>Sun, 13 Sep 2026 12:08:02 +0000</pubDate>
      <link>https://dev.to/dorsila_otieno_f355d37bd8/data-modelling-relationships-and-joins-in-power-bi-3dml</link>
      <guid>https://dev.to/dorsila_otieno_f355d37bd8/data-modelling-relationships-and-joins-in-power-bi-3dml</guid>
      <description>&lt;h2&gt;
  
  
  Introduction
&lt;/h2&gt;

&lt;p&gt;Power BI is a business intelligence and data visualization platform used to transform raw data into meaningful information for decision making. However, creating effective reports does not only depend on attractive charts and dashboards. The underlying data model is equally important. A well designed data model determines how tables interact, how filters are applied, how DAX calculations behave, and how efficiently Power BI processes queries.&lt;/p&gt;

&lt;p&gt;Data modelling in Power BI involves organizing tables, defining relationships between them, and establishing how data should interact within a report. Common modelling approaches include the flat table, star schema, and snowflake schema. In addition, Power BI provides relationships in the data model and joins in Power Query for connecting data.&lt;br&gt;
Understanding these concepts is essential because poor modelling can result in incorrect calculations, duplicated information, slow reports, ambiguous filter paths, and difficult-to-maintain solutions. This article discusses data modelling, fact and dimension tables, relationships, filter direction, Power Query joins, and the differences between Power Query merges and Power BI relationships.&lt;/p&gt;
&lt;h1&gt;
  
  
  Data modelling in power BI
&lt;/h1&gt;

&lt;p&gt;&lt;strong&gt;Data modelling&lt;/strong&gt; in Power BI is the process of organizing data from one or more sources into a structured model that allows users to analyze and visualize information effectively. It involves deciding which tables should be created, how they should be related, which columns should be keys, and how filters should move between tables. For example, a retail business may have information about customers, products, dates, locations, and sales. Instead of keeping all this information in one large table, the data can be separated into logical tables and connected using relationships.&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%2Ft3klyzh26ss0rgdmo2u9.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%2Ft3klyzh26ss0rgdmo2u9.png" alt="Data modelling view"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;A good data model is important because it Makes DAX calculations easier to write and understand, Improves report and query performance, Reduces unnecessary data duplication, Makes the model easier to understand, allows reports to scale as data increases, Makes troubleshooting easier, Supports accurate filtering and aggregation and Improves long-term maintainability while a poor data model is a disadvantage because it can  produce incorrect totals, unnecessarily large datasets, complicated DAX formulas and ambiguous relationships.&lt;/p&gt;
&lt;h2&gt;
  
  
  Flat table
&lt;/h2&gt;

&lt;p&gt;A flat table is a single, large data table that combines all your information such as sales transactions, product names, and customer details into one wide row structure, for example&lt;/p&gt;

&lt;p&gt;customer ID │ Date │ Customer │ Product │ Sales  │ Category│ Location │ Quantity │&lt;/p&gt;

&lt;p&gt;1001 | 01/09/2026 | Alice | Laptop | Electronics | Nairobi| 1 | 80,000&lt;br&gt;
1002|   01/09/2026  |John|  Phone   |Electronics|   Kisumu| 2|  60,000|&lt;/p&gt;

&lt;p&gt;A flat table can be suitable for a small, simple dataset where the data has relatively few rows. However, for larger business intelligence solutions, a dimensional model is generally more appropriate&lt;br&gt;
A flat table is Simple to understand, easy to import and start analyzing, requires few or no relationships, appropriate for small dataset, and convenient for simple dashboards. A flat table also has limitations in that it creates data redundancy ,the same customer, product, or category information may be repeated many times the table can become very wide, changes to descriptive information may need to be repeated across many records, it becomes difficult to maintain as the dataset grows, and it may increase model size and reduce the advantages of dimensional modelling.&lt;/p&gt;
&lt;h2&gt;
  
  
  Star schema
&lt;/h2&gt;

&lt;p&gt;A star schema is a data modeling technique in Power BI where a central fact table connects directly to multiple surrounding dimension tables, forming a star like structure. It consists of a central fact table surrounded by dimension tables, the structure resembles a star because the fact table is positioned at the center while dimensions surround it. Dimension tables support filtering and grouping, while fact tables support summarization. Star schema is highly suitable for business intelligence projects involving sales, finance, inventory, human resources, healthcare, marketing, and other analytical workloads.&lt;/p&gt;

&lt;p&gt;It is generally the preferred approach for Power BI models because it separates descriptive information from measurable business events&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%2Fuliykxya9htuvcxld5th.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%2Fuliykxya9htuvcxld5th.png" alt="star schema"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;for example:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Fact Sales&lt;/strong&gt;: customer ID, Date Key ,Customer Key ,Product Key ,Location Key&lt;br&gt;
Quantity, Sales Amount, &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Dim Customer&lt;/strong&gt;: Customer Key, Customer Name, Gender, Age group&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Dim Product&lt;/strong&gt;: Product Key, Product Name, Category, Brand&lt;br&gt;
&lt;strong&gt;Dim Date&lt;/strong&gt;: Date Key, Date, Month, Quarter, Year&lt;br&gt;
&lt;strong&gt;Dim Location&lt;/strong&gt; :Location Key, County, Region&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Advantages of a star schema&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Provides a clear and understandable model.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Reduces unnecessary duplication.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Makes DAX measures easier to create.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Provides efficient filter propagation.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Supports scalable reporting.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Makes the Model View easier to understand.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Works well with Power BI's analytical engine.&lt;br&gt;
&lt;strong&gt;The disadvantages of a star schema are as follows:&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Requires more planning than a flat table.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;May require Power Query transformations.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Poorly designed keys can cause relationship problems.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Users need to understand fact and dimension concepts.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;
  
  
  Snowflake schema
&lt;/h2&gt;

&lt;p&gt;A snowflake schema  is a data modeling structure where dimension tables are split into multiple related sub dimension tables forming a pattern that resembles a snowflake .It is an extension of the star schema where dimension tables are further divided into related tables. Snowflake schemas may be appropriate when dimensions have complex hierarchical structures or when maintaining normalized dimension data is important. However, Microsoft notes that Power BI models generally benefit from star-schema principles, and snowflake dimensions may sometimes not be normalized to produce a simpler model table.&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%2Fzwgevgnufo9qb5d51jmd.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%2Fzwgevgnufo9qb5d51jmd.png" alt="Snowflake schema"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Advantages&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Reduces duplication within dimensions.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Can represent complex hierarchical structures.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Can be useful when dimensions contain multiple levels.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;May be appropriate when the source system is already highly normalized.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Disadvantages&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Creates more tables and relationships.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Makes the model more complicated.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Can make report development less intuitive.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Can create longer filter paths.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;May require more complex DAA &lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h1&gt;
  
  
  Fact tables and Dimension tables
&lt;/h1&gt;
&lt;h2&gt;
  
  
  Fact tables
&lt;/h2&gt;

&lt;p&gt;A fact table stores measurable business events. It normally contains numeric values that can be aggregated together with foreign keys that identify the related dimensions. It stores quantitative, numerical data and measurable business events like sales, orders, or transactions. Fact tables anwser questions like how many, how much, how often and what was the total&lt;/p&gt;
&lt;h2&gt;
  
  
  Dimension tables
&lt;/h2&gt;

&lt;p&gt;Dimension tables contain descriptive information used to filter, group, and analyze facts. Examples include: Dim Customer, Dim Product, Dim Date, Dim Location. Dimensions anwser questions like who, where , what, when and which category&lt;/p&gt;
&lt;h1&gt;
  
  
  Grain or granularity of a fact table
&lt;/h1&gt;

&lt;p&gt;The grain describes exactly what one row in a fact table represents.For example, the grain of Fact Sales might be, One row represents one product sold in one order. This distinction is important because all measures and relationships depend on the level of detail stored in the fact table. A consistent grain prevents incorrect aggregations and helps ensure that DAX calculations produce reliable results. Microsoft specifically recommends that fact tables load data at a consistent grain.&lt;/p&gt;
&lt;h1&gt;
  
  
  Relationships in power BI
&lt;/h1&gt;

&lt;p&gt;Relationships in a Power BI data model link two separate tables together using a common column or key, allowing filters to flow and data to combine correctly in your reports. They are important business information is often distributed across several tables.&lt;/p&gt;
&lt;h2&gt;
  
  
  One to One
&lt;/h2&gt;

&lt;p&gt;A one-to-one relationship occurs when each record in one table corresponds to exactly one record in another table. It may be useful when information has been separated into two tables for security, organization, or specific modelling requirements.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;Customer ID 1 ---------- 1 Customer ID&lt;/code&gt;&lt;/p&gt;
&lt;h2&gt;
  
  
  One to many
&lt;/h2&gt;

&lt;p&gt;A one-to-many relationship occurs when one record in one table can be related to many records in another table. For example One customer can make many purchases. This is the most common relationship in a star schema. It is normally used between a dimension table and a fact table. It should not be used if the supposed one side contains duplicate values the key on the one side must be unique&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Dim Customer                 Fact Sales

Customer ID  1  ----------    Customer ID

For example:

Dim Customer
C001 - Mary

Fact Sales
C001 - Order 101
C001 - Order 102
C001 - Order 103

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

&lt;/div&gt;



&lt;h2&gt;
  
  
  Many to Many
&lt;/h2&gt;

&lt;p&gt;A many-to-many relationship occurs when multiple records in one table can correspond to multiple records in another table. For example, one student may register for many courses, while one course may have many students. Many to many relationships are useful when the business situation genuinely contains many-to-many relationships. They should not be used  to solve duplicate key problems. Where possible, a bridge table and a clearer star schema should be considered. Primary key uniquely identifies each record in a table while a foreign key is a column that refers to a key in another table.&lt;br&gt;
&lt;code&gt;Student ID    --------    Course ID&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%2F6k0xhwt5htsvhxqpzjom.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%2F6k0xhwt5htsvhxqpzjom.png" alt="Relationships in power BI"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;
  
  
  Referential Integrity
&lt;/h2&gt;

&lt;p&gt;Referential integrity means that relationships between tables are logically consistent. For example, a Customer ID appearing in Fact Sales should normally correspond to a valid Customer ID in Dim Customer. If a fact record contains a Customer ID that does not exist in the customer dimension, it may result in unmatched or unexpected data during analysis. Good data preparation should therefore identify missing keys, duplicates, and invalid references before building the final model.&lt;/p&gt;
&lt;h2&gt;
  
  
  Active and inactive relationships
&lt;/h2&gt;

&lt;p&gt;An active relationship is the relationship Power BI automatically uses when applying filters between tables while a inactive relationship exists in the model but is not automatically used for filtering. It can be activated within a DAX calculation when required. A common example involves dates, Fact Sales table might contain: Order Date, Ship Date, Delivery Date. A single Date dimension may therefore have multiple relationships with Fact Sales, but normally only one can be active for automatic filtering at a time. Inactive relationships are useful when a report needs to analyze the same fact table using different date roles.&lt;/p&gt;
&lt;h1&gt;
  
  
  Filter direction
&lt;/h1&gt;

&lt;p&gt;Filter direction determines how filters move between related tables. With single-direction filtering, filters normally move from the dimension table toward the fact table while bidirectional filtering allows filters to move in both directions. single direction filtering is normally prefered in star schema because it provides predictable filter propagation. Possible problems associated with bidirectional filtering are Ambiguous filter paths, Unexpected filtering behaviour. More complicated models, Difficulty troubleshooting calculations and Potential performance issues, Therefore single direction filtering is the most prefered.&lt;/p&gt;
&lt;h1&gt;
  
  
  Joins in power query
&lt;/h1&gt;

&lt;p&gt;A join combines information from two tables based on one or more matching columns. In Power Query, this is performed using Merge Queries.&lt;/p&gt;

&lt;p&gt;A Left Outer Join keeps all records from the left table and matching records from the right table.&lt;br&gt;
Right Outer Join keeps all records from the right table and matching records from the left table.&lt;br&gt;
Full Outer Join keeps all records from both tables, whether or not they have a match.&lt;br&gt;
An Inner Join keeps only records that have a match in both tables.&lt;br&gt;
Left Anti Join returns records that exist in the left table but do not have a match in the right table.&lt;br&gt;
A Right Anti Join returns records that exist in the right table but do not have a match in the left table.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;| Join Type | Records Retained | Example |
| Left Outer | All Customers + matching Orders | Find all customers, including those without orders |
| Right Outer | All Orders + matching Customers | Find all orders, including unmatched orders |
| Full Outer | All Customers and Orders | Find all matched and unmatched records |
| Inner | Only matching records | Find customers who placed orders |
| Left Anti | Customers without Orders | Find customers who never placed an order |
| Right Anti | Orders without Customers | Find orders without matching customer |

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

&lt;/div&gt;



&lt;h1&gt;
  
  
  Power query joins vs power BI relationships
&lt;/h1&gt;

&lt;p&gt;Power Query merge combines information during the data preparation stage. For example, Customers and Orders can be merged using Customer ID so that customer information becomes available in the resulting query.&lt;/p&gt;

&lt;p&gt;Customers + Orders&lt;br&gt;
       ↓&lt;br&gt;
 Power Query Merge&lt;br&gt;
       ↓&lt;br&gt;
Combined Query&lt;/p&gt;

&lt;p&gt;The merge can physically bring columns from one table into another.&lt;/p&gt;

&lt;p&gt;A relationship is created during the data modelling stage.&lt;/p&gt;

&lt;p&gt;Dim Customer&lt;br&gt;
     |&lt;br&gt;
     | 1:*&lt;br&gt;
     |&lt;br&gt;
 Fact Sales&lt;/p&gt;

&lt;p&gt;The tables remain separate.&lt;/p&gt;

&lt;p&gt;A relationship does not physically combine their columns. Instead, it tells Power BI how the tables are connected and how filters should move between them.&lt;br&gt;
Their differences include: Power query merge is a data preparation stage, Combines columns/data ,Produces a transformed query, Uses join types, Can increase table size, Useful for enriching data while a power BI relationship is a Data modelling stage, Connects separate tables, Produces a model relationship, Uses cardinality and filter direction, Keeps tables separate, Useful for analysis and filtering&lt;br&gt;
A merge can be appropriate when: A column is required directly in another table, Data sources need to be cleaned or consolidated, The information logically belongs in the same table while a relationship is suitable when relationship is preferable when tables represent different business entities or roles.&lt;/p&gt;

&lt;h1&gt;
  
  
  Reccommended power BI model
&lt;/h1&gt;

&lt;p&gt;For a typical business intelligence project, I would recommend a star schema. The recommended model would contain one or more central fact tables supported by descriptive dimension tables. I would also recommend to use one-to-many relationships between dimensions and fact tables.&lt;/p&gt;

&lt;p&gt;For example:&lt;/p&gt;

&lt;p&gt;Dim Customer  1  →  * Fact Sales&lt;br&gt;
Dim Product   1  →  * Fact Sales&lt;br&gt;
Dim Date      1  →  * Fact Sales&lt;br&gt;
Dim Location  1  →  * Fact Sales&lt;br&gt;
I would also use single-direction filtering from dimensions to facts.&lt;/p&gt;

&lt;p&gt;Dim Product&lt;br&gt;
     |&lt;br&gt;
     ↓&lt;br&gt;
 Fact Sales&lt;/p&gt;

&lt;p&gt;This provides predictable filter propagation and reduces the possibility of ambiguous relationships. Bidirectional filtering would only be introduced when a genuine business requirement makes it necessary.&lt;br&gt;
The following are the reasons why I would recommend a star schema:&lt;/p&gt;

&lt;p&gt;1.&lt;strong&gt;DAX simplicity&lt;/strong&gt; Measures can be created against the fact table while dimensions provide the filtering context.&lt;br&gt;
For example: &lt;code&gt;Total Sales = SUM(Fact Sales[Sales Amount])&lt;/code&gt;&lt;br&gt;
A user can then analyze this measure by Product, Customer, Date, or Location.&lt;/p&gt;

&lt;p&gt;2.&lt;strong&gt;Scalability&lt;/strong&gt; New products, customers, locations, and transactions can be added without redesigning the entire model.&lt;/p&gt;

&lt;p&gt;3.&lt;strong&gt;Reduced Redundancy&lt;/strong&gt; Customer and product information does not need to be repeated for every transaction.&lt;/p&gt;

&lt;p&gt;4.&lt;strong&gt;Maintainability&lt;/strong&gt; Changes to dimension information can be made in one location rather than across thousands or millions of fact records.&lt;/p&gt;

&lt;p&gt;5.&lt;strong&gt;Filter Propagation&lt;/strong&gt; The dimension-to-fact relationship provides a predictable filtering structure.&lt;/p&gt;

&lt;p&gt;6.&lt;strong&gt;Performance&lt;/strong&gt; Separating descriptive dimensions from transactional facts can make the model efficient and reduce unnecessary duplication.&lt;/p&gt;

&lt;h1&gt;
  
  
  Conclusion
&lt;/h1&gt;

&lt;p&gt;In conclusion, effective data modelling, relationships, and joins are essential for building reliable Power BI reports. A star schema with clear fact and dimension tables, appropriate relationships, and mainly single-direction filtering provides better performance, simpler DAX, and easier maintenance. Proper use of Power Query joins also helps prepare and combine data efficiently for analysis.&lt;/p&gt;

</description>
      <category>analytics</category>
      <category>data</category>
      <category>database</category>
      <category>datascience</category>
    </item>
    <item>
      <title>Building An Interactive Excel Dashboard For E-commerce Product Analysis :A case study of Jumia products</title>
      <dc:creator>Dorsila Otieno</dc:creator>
      <pubDate>Sat, 12 Sep 2026 07:43:00 +0000</pubDate>
      <link>https://dev.to/dorsila_otieno_f355d37bd8/building-an-interactive-excel-dashboard-for-e-commerce-product-analysis-a-case-study-of-jumia-4hbe</link>
      <guid>https://dev.to/dorsila_otieno_f355d37bd8/building-an-interactive-excel-dashboard-for-e-commerce-product-analysis-a-case-study-of-jumia-4hbe</guid>
      <description>&lt;h1&gt;
  
  
  Introduction
&lt;/h1&gt;

&lt;p&gt;Jumia is one of Africa’s leading online shopping platforms, offering a wide range of products at different prices and discount levels. With many products competing for customers’ attention, understanding pricing, discounts, customer reviews, and ratings is important for making better business decisions. This project analyzes data from 116 products listed on Jumia to identify patterns in pricing, discounts, and customer feedback.&lt;br&gt;
The analysis uses Microsoft Excel to clean, organize, and analyze the product data and present the findings through an interactive dashboard. The dashboard provides insights into product prices, discount levels, customer reviews, and ratings, helping sellers and Jumia understand product performance and make informed decisions about pricing, promotions, and customer engagement.&lt;/p&gt;

&lt;h1&gt;
  
  
  Dataset description
&lt;/h1&gt;

&lt;p&gt;The dataset consist consists of the following variables:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Product: The name and description listed on jumia&lt;/li&gt;
&lt;li&gt;Current price: The current selling price in kenyan shillings&lt;/li&gt;
&lt;li&gt;Old price: The original price of the product before any discount was applied&lt;/li&gt;
&lt;li&gt;Discount: The percentage deduction offered on the the original price&lt;/li&gt;
&lt;li&gt;Review: The number of customer reviews received by each product&lt;/li&gt;
&lt;li&gt;Rating: The average customer rating given to the product&lt;/li&gt;
&lt;li&gt;Rating category:&lt;/li&gt;
&lt;li&gt;Discount category:&lt;/li&gt;
&lt;li&gt;Current price category: &lt;/li&gt;
&lt;/ol&gt;

&lt;h1&gt;
  
  
  Data cleaning and preparation process
&lt;/h1&gt;

&lt;p&gt;The collected product dataset was cleaned and prepared in Microsoft Excel to ensure that the data was accurate, consistent, and suitable for analysis. The following steps were carried out:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Removal of Duplicate Products: Duplicate product records were identified and removed to ensure that each product appeared only once in the dataset. This helped prevent duplication from affecting the analysis and calculations.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Standardization of Currency Values: The Find and Replace function was used to remove the “KSh” text from price values. The values were then converted into a numerical format and formatted to KES currency. &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Freezing Panes: Panes were frozen to keep the column headings visible while scrolling through the dataset. This improved navigation and made it easier to identify variables when working with the large set of data.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Creation of Discount Categories&lt;br&gt;
Additional columns were created to categorize products according to their discount levels. The categories used were High Discount, Medium Discount, and Low Discount. &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Categorization of Product Ratings&lt;br&gt;
Product ratings were grouped into three categories: Poor, Average, and Excellent. A nested IF function was used to automatically assign each product to the appropriate rating category,e.g(&lt;code&gt;=IF(G2&amp;gt;40%,"High discount"IF(G2&amp;gt;20%,"Medium discount"IFG2&amp;lt;20%,"Low discount"&lt;/code&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Calculation of discount amount was done using the function &lt;code&gt;=C2-B2&lt;/code&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Filtering of the Dataset Sort and filter was used to view and examine specific products or categories based on selected criteria. &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Conversion into an Excel Table&lt;br&gt;
The cleaned dataset was converted into an Excel table. This made the data easier to manage and automatically extended formulas and formatting when new data was added. he table features were used to calculate important summary statistics, including the count of products, number of reviews, ratings, averages, and total sums of numerical variables. These calculations provided a foundation for the analysis and development of the product performance dashboard.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h1&gt;
  
  
  Dashboard creation process
&lt;/h1&gt;

&lt;p&gt;The cleaned data was organized into an Excel table, PivotTables were then created to summarize products, ratings, reviews, prices, and discounts, charts were then created to visualize the data, KPI cards were added to display key performance indicators, and slicers and filters were added to make the dashboard interactive. The charts, tables, and KPIs were arranged and formatted for easy interpretation.&lt;/p&gt;

&lt;h1&gt;
  
  
  key insights and business recommendations
&lt;/h1&gt;

</description>
      <category>analytics</category>
      <category>data</category>
      <category>productivity</category>
    </item>
    <item>
      <title>Building An Interactive Excel Dashboard For E-commerce Product Analysis :A case study of Jumia products</title>
      <dc:creator>Dorsila Otieno</dc:creator>
      <pubDate>Sat, 05 Sep 2026 11:35:08 +0000</pubDate>
      <link>https://dev.to/dorsila_otieno_f355d37bd8/building-an-interactive-excel-dashboard-for-e-commerce-product-analysis-a-case-study-of-jumia-9k0</link>
      <guid>https://dev.to/dorsila_otieno_f355d37bd8/building-an-interactive-excel-dashboard-for-e-commerce-product-analysis-a-case-study-of-jumia-9k0</guid>
      <description>&lt;h1&gt;
  
  
  Introduction
&lt;/h1&gt;

&lt;p&gt;Jumia is one of Africa’s leading online shopping platforms, offering a wide range of products at different prices and discount levels. With many products competing for customers’ attention, understanding pricing, discounts, customer reviews, and ratings is important for making better business decisions. This project analyzes data from 112 products listed on Jumia to identify patterns in pricing, discounts, and customer feedback.&lt;br&gt;
The analysis uses Microsoft Excel to clean, organize, and analyze the product data and present the findings through an interactive dashboard. The dashboard provides insights into product prices, discount levels, customer reviews, and ratings, helping sellers and Jumia understand product performance and make informed decisions about pricing, promotions, and customer engagement.&lt;/p&gt;

&lt;h1&gt;
  
  
  Dataset description
&lt;/h1&gt;

&lt;p&gt;The dataset consist consists of the following variables:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Product&lt;/strong&gt;: The name and description listed on jumia&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Current price&lt;/strong&gt;: The current selling price in kenyan shillings&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Old price&lt;/strong&gt;: The original price of the product before any discount was applied&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Discount&lt;/strong&gt;: The percentage deduction offered on the the original price&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Review&lt;/strong&gt;: The number of customer reviews received by each product&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Rating&lt;/strong&gt;: The average customer rating given to the product&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Rating category&lt;/strong&gt;:&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Discount category&lt;/strong&gt;:&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Current price category&lt;/strong&gt;: &lt;/li&gt;
&lt;/ol&gt;

&lt;h1&gt;
  
  
  Data cleaning and preparation process
&lt;/h1&gt;

&lt;p&gt;The collected product dataset was cleaned and prepared in Microsoft Excel to ensure that the data was accurate, consistent, and suitable for anaysis. The following steps were carried out:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Removal of Duplicate Products&lt;/strong&gt;: Duplicate product records were identified and removed to ensure that each product appeared only once in the dataset. This helped prevent duplication from affecting the analysis and calculations.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Standardization of Currency Values&lt;/strong&gt;: The Find and Replace function was used to remove the “KSh” text from price values. The values were then converted into a numerical format and formatted to KES currency. &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Freezing Panes&lt;/strong&gt;: Panes were frozen to keep the column headings visible while scrolling through the dataset. This improved navigation and made it easier to identify variables when working with the large set of data.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Creation of Discount Categories&lt;/strong&gt;&lt;br&gt;
Additional columns were created to categorize products according to their discount levels. The categories used were High Discount, Medium Discount, and Low Discount. &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Categorization of Product Ratings&lt;/strong&gt;&lt;br&gt;
Product ratings were grouped into three categories: Poor, Average, and Excellent. A nested IF function was used to automatically assign each product to the appropriate rating category,e.g(&lt;code&gt;=IF(G2&amp;gt;40%,"High discount"IF(G2&amp;gt;20%,"Medium discount"IFG2&amp;lt;20%,"Low discount"&lt;/code&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Calculation of discount amount&lt;/strong&gt; was done using the function &lt;code&gt;=C2-B2&lt;/code&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Filtering of the Dataset Sort and filter&lt;/strong&gt; was used to view and examine specific products or categories based on selected criteria. &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Conversion into an Excel Table&lt;/strong&gt;&lt;br&gt;
The cleaned dataset was converted into an Excel table. This made the data easier to manage and automatically extended formulas and formatting when new data was added. he table features were used to calculate important summary statistics, including the count of products, number of reviews, ratings, averages, and total sums of numerical variables. These calculations provided a foundation for the analysis and development of the product performance dashboard.&lt;/p&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%2Ffxgw49q401ub4kyzu76g.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%2Ffxgw49q401ub4kyzu76g.png" alt="excel table format" width="800" height="251"&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%2Fiwjd1nuwil5ovv2kdxyj.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%2Fiwjd1nuwil5ovv2kdxyj.png" alt="Raw data" width="800" height="418"&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%2Freb1qpo87iiz330lx829.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%2Freb1qpo87iiz330lx829.png" alt="Cleaned data" width="799" height="315"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  Dashboard creation process
&lt;/h1&gt;

&lt;p&gt;The cleaned data was organized into an Excel table, PivotTables were then created to summarize products, ratings, reviews, prices, and discounts, charts were then created to visualize the data, KPI cards were added to display key performance indicators, and slicers and filters were added to make the dashboard interactive. The charts, tables, and KPIs were arranged and formatted for easy interpretation.&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%2Fzs9wpwe9jxsgaihjfxbx.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%2Fzs9wpwe9jxsgaihjfxbx.png" alt="My dashboard" width="800" height="271"&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%2Fc3ouig1t08qu82s4f7yu.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%2Fc3ouig1t08qu82s4f7yu.png" alt="My dashboard" width="800" height="277"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  key insights and business recommendations
&lt;/h1&gt;

&lt;h2&gt;
  
  
  Insights
&lt;/h2&gt;

&lt;p&gt;High discounts (40%+ off) drive significantly higher review counts and engagement compared to low-discount items. However, steep discounts on low-rated items fail to generate sustained volume, indicating that discounts attract initial attention of customers&lt;/p&gt;

&lt;p&gt;Medium  prices generates the highest overall volume of positive reviews. Extremely low-priced products frequently suffer from lower average ratings due to perceived or actual quality issues.&lt;br&gt;
 Products rated above 4.0  receive higher visibility and sales volume. Items below a 3.0 rating show a sharp drop in customer reviews, signaling buyer hesitation and poor search rank performance.&lt;/p&gt;

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

&lt;p&gt;Shift focus from high pricing  to  "Medium Discounts" (20–40%) on high-rated products (4.0+ stars) to maximize profit margins while maintaining high conversion rates&lt;br&gt;
Encourage post-purchase reviews for average items using follow-up prompts or small loyalty incentives, as higher review  directly correlate with better search placement on Jumia.&lt;br&gt;
 Pair high-performing  products with newer or lower-visibility items in discount  to boost engagement without relying heavily on price drops.&lt;/p&gt;

&lt;h2&gt;
  
  
  Link
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://github.com/otienodorsila90-cell/MS-Excel-dashboard-for-E-commerce-product-analysis-A-case-study-for-Jumia-products" rel="noopener noreferrer"&gt;https://github.com/otienodorsila90-cell/MS-Excel-dashboard-for-E-commerce-product-analysis-A-case-study-for-Jumia-products&lt;/a&gt;&lt;/p&gt;

</description>
      <category>analysis</category>
      <category>data</category>
      <category>productivity</category>
    </item>
    <item>
      <title>Getting Started With Excel.</title>
      <dc:creator>Dorsila Otieno</dc:creator>
      <pubDate>Sat, 29 Aug 2026 19:05:18 +0000</pubDate>
      <link>https://dev.to/dorsila_otieno_f355d37bd8/getting-started-with-excel-2f14</link>
      <guid>https://dev.to/dorsila_otieno_f355d37bd8/getting-started-with-excel-2f14</guid>
      <description>&lt;h1&gt;
  
  
  Introduction
&lt;/h1&gt;

&lt;p&gt;Microsoft Excel is a spreadsheet program developed by Microsoft that allows users to organize, calculate, format, and analyze data using grids of rows and columns. Rows are the horizontal lines in the Excel worksheet while columns are the vertical bars in the worksheet. Excel worksheet contains cells and ranges, A cell in a Microsoft excel worksheet is made by the intersection of rows and columns while a range is made up of two or a group of cells. Microsoft Excel also has a workbook that is made up by a group of worksheets. The rows are ordered in alphabets while the columns are ordered in numerical form.&lt;/p&gt;

&lt;h1&gt;
  
  
  Basics and cleaning in Microsoft Excel
&lt;/h1&gt;

&lt;p&gt;Microsoft Excel contains a formula bar that helps display or edit contents in an excel worksheet. keying in data is done by clicking a cell and typing data that can be inform of texts, Numbers, and dates. To move to next cell press enter. Tabs i.e File, Home, Insert, Draw , Page layout etc.&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%2F1t7tetsy1fqr41qnyp2a.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%2F1t7tetsy1fqr41qnyp2a.png" alt="How an excel worksheet looks like" width="800" height="417"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Home tab
&lt;/h2&gt;

&lt;p&gt;The Home tab can be used to expand the width of all columns for visibility of data in the cells by clicking Format and choosing Auto column width. Conditional formatting can be used to view values between a range ,greater than or less than depending on the information you want, or check on text that contains specific alphabets of your choice. You can also sort and filter your data which will enable you to standardize your data.&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%2Fdhd9ismjil7789ihmjfm.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%2Fdhd9ismjil7789ihmjfm.png" alt="Home tab view" width="799" height="126"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Data tab
&lt;/h2&gt;

&lt;p&gt;this tab can be used to design scatter charts that looks at two numeric variables and also design a pivot table .Data validation is also possible in this tab to avoid inserting wrong data in your worksheet. In this section you can also remove duplicates to ensure standardization of data.&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%2Fzgpuuvqslejohr8hd9ny.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%2Fzgpuuvqslejohr8hd9ny.png" alt="Data tab view" width="800" height="107"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Other tabs
&lt;/h2&gt;

&lt;p&gt;Insert is used to add tables and columns etc, Custom is used to pick color and font size. Filtering hides rows temporarily and without deleting them. Wrap texting is used to make long texts appear on multiple lines in the same cell.&lt;/p&gt;

&lt;h1&gt;
  
  
  Functions used in Excel
&lt;/h1&gt;

&lt;h2&gt;
  
  
  Arithmetic operators
&lt;/h2&gt;

&lt;p&gt;The following signs are used in excel for Arithmetic analysis in Microsoft Excel; &lt;code&gt;+&lt;/code&gt; is used for addition, &lt;code&gt;-&lt;/code&gt; is used for subtraction, &lt;code&gt;*&lt;/code&gt; is used for multiplication, &lt;code&gt;/&lt;/code&gt; is used for division, &lt;code&gt;^&lt;/code&gt; is used for exponent.&lt;/p&gt;

&lt;h2&gt;
  
  
  Statistical  functions
&lt;/h2&gt;

&lt;p&gt;These functions are used to summarize ,analyze and interpret data. They include :&lt;code&gt;=COUNT&lt;/code&gt; which is used to count non-blank numeric cells, &lt;code&gt;=COUNTA&lt;/code&gt; which is used to count all non-blank cells, &lt;code&gt;=COUNTBLANK&lt;/code&gt; Which is used to count all blank cells. &lt;br&gt;
Conditional aggregation functions are also used in Microsoft excel for various functions ,They include &lt;code&gt;=COUNTIF&lt;/code&gt; which Counts cells that match a single rule or criteria while&lt;code&gt;=COUNTIFS&lt;/code&gt; can check multiple conditions at the same time, &lt;code&gt;=SUMIF&lt;/code&gt; add values based on a single condition, while &lt;code&gt;=SUMIFS&lt;/code&gt; add values based on multiple conditions .&lt;code&gt;=AVERAGEIF&lt;/code&gt; is used to calculate the average of a group of cells in a specific range.&lt;/p&gt;

&lt;h2&gt;
  
  
  Dispersion and spread functions.
&lt;/h2&gt;

&lt;p&gt;These measures how far apart numbers are from average. They include;&lt;code&gt;=POWER&lt;/code&gt;, &lt;code&gt;=SQRT&lt;/code&gt; used to find square root, &lt;code&gt;=PRODUCT&lt;/code&gt; used for multiplication purposes, &lt;code&gt;=MIN&lt;/code&gt; used to find the minimum value in a range, &lt;code&gt;=MAX&lt;/code&gt; used to find the maximum value in a range, &lt;code&gt;=MODE&lt;/code&gt; which is used to find mode ,&lt;code&gt;=MEDIAN&lt;/code&gt; ,&lt;code&gt;=SUM&lt;/code&gt;,&lt;code&gt;=AVERAGE&lt;/code&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Non-numerical functions
&lt;/h2&gt;

&lt;p&gt;These functions are used in text columns. They include;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;code&gt;=LEN&lt;/code&gt; used to check on the length of texts&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;=RIGHT&lt;/code&gt; used to check on the letters on the right part of a text&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;=LEFT&lt;/code&gt; used to check on letters on the left part of a text&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;=TRIM&lt;/code&gt; used to trim texts&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;=MID&lt;/code&gt; used to check on the middle letters of a text&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;=FIND&lt;/code&gt; used to find specific letters on a text&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;=CONCAT&lt;/code&gt;used to join words from different cells&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;=LOWER&lt;/code&gt; used to replace texts to lower case&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;=UPPER&lt;/code&gt; used to replace texts to upper case&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;=PROPER&lt;/code&gt; used to replace texts to proper case&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Other non-numerical functions are also in relation to date , month and year. They include;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;=Today&lt;/code&gt; it shows the current date&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;=Now&lt;/code&gt; it shows the current time&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;=YEAR&lt;/code&gt; it shows the current year&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;=MONTH&lt;/code&gt; it shows the current month&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;=DAY&lt;/code&gt;&lt;br&gt;
To find difference between dates ,months and year ,the following functions can be used;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;=Datedif&lt;/code&gt; shows the difference between two dates in different cells&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;=Monthdif&lt;/code&gt; shows  difference in months&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;=Yeardif&lt;/code&gt; shows the difference between years e.g difference of a hire year and the current year&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;=Networkdays&lt;/code&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h1&gt;
  
  
  Conclusion
&lt;/h1&gt;

&lt;p&gt;In conclusion, mastering the basics of Microsoft Excel provides a foundational skillset for efficiently managing and understanding data. By learning how to navigate the grid, perform simple calculations, and use core functions like &lt;code&gt;SUM&lt;/code&gt; or &lt;code&gt;AVERAGE&lt;/code&gt;, users can instantly transform messy, manual tasks into organized, automated workflows. Ultimately, these basic features serve as the critical building blocks for anyone looking to build data literacy, save time, and unlock more advanced analytical tools in the future.&lt;/p&gt;

</description>
      <category>tools</category>
      <category>datascience</category>
      <category>data</category>
    </item>
    <item>
      <title>Understanding Gitworkflow</title>
      <dc:creator>Dorsila Otieno</dc:creator>
      <pubDate>Sat, 22 Aug 2026 15:11:45 +0000</pubDate>
      <link>https://dev.to/dorsila_otieno_f355d37bd8/understanding-gitworkflow-5bo2</link>
      <guid>https://dev.to/dorsila_otieno_f355d37bd8/understanding-gitworkflow-5bo2</guid>
      <description>&lt;h1&gt;
  
  
  Git Workflow
&lt;/h1&gt;

&lt;p&gt;&lt;strong&gt;Git&lt;/strong&gt; is a local version control system that tracks code changes, while &lt;strong&gt;GitHub&lt;/strong&gt; is a cloud-based platform used to host those changes and collaborate with others. Together, they form the backbone of modern software development by allowing multiple developers to work on the same codebase simultaneously without overwriting each others work&lt;/p&gt;

&lt;h2&gt;
  
  
  Working directory of git
&lt;/h2&gt;

&lt;p&gt;This is the actual, physical folder on your computer's filesystem where you &lt;strong&gt;view, create, edit, and delete&lt;/strong&gt; your project files.&lt;br&gt;
It can either contain :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Tracked files&lt;/strong&gt;:  files that Git actively monitors and includes in version control history&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Untracked files&lt;/strong&gt;:  are any files in your working directory that have not yet been added to your Git repository's snapshots or staging area.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;
  
  
  Staging
&lt;/h2&gt;

&lt;p&gt;Staging is the process of preparing specific file changes to be included in your next commit.&lt;/p&gt;
&lt;h3&gt;
  
  
  Reasons for staging
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Atomic Commits&lt;/strong&gt;: It allows you to group related changes together. If you fix a bug and work on a new feature at the same time, you         can stage and commit the bug fix separately from the incomplete feature.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Review Mechanism&lt;/strong&gt;: It provides a safe buffer zone to double-check exactly what lines of code are moving forward.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Work Checkpointing&lt;/strong&gt;: You can stage a file at a certain point of success, continue experimenting on that file in your working directory, and still preserve your staged checkpoint.&lt;/li&gt;
&lt;/ol&gt;
&lt;h3&gt;
  
  
  Staging commands
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;git add "filename"&lt;/code&gt; Stages a specific file.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;git init&lt;/code&gt; Manages project.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;git status&lt;/code&gt; To see what files are currently sitting in staging vs your working directory.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;git diff&lt;/code&gt; Shows differences between your working directory and your staging area.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;git diff --staged&lt;/code&gt; Shows differences between your staging area and your last commit &lt;/li&gt;
&lt;li&gt;
&lt;code&gt;git restore --staged "filename"&lt;/code&gt; Removes Changes from Staging&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;
  
  
  Commit and push
&lt;/h2&gt;

&lt;p&gt;To save your local changes and upload them to git you need to  stage your changes, commit them locally, and push them to the server.&lt;/p&gt;
&lt;h3&gt;
  
  
  Commands used in commit and push
&lt;/h3&gt;

&lt;p&gt;The block of code below is used in the given order to commit and push;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git add
git commit &lt;span class="nt"&gt;-m&lt;/span&gt; &lt;span class="s2"&gt;"commit message"&lt;/span&gt;
git log
git log &lt;span class="nt"&gt;--oneline&lt;/span&gt;
git branch
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The next step is to create a respiratory in your github account that is linked to your gitbash then copy the link on the SSH key. Get back to gitbash and follow the steps in the block of code below;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git remote add origin &amp;lt;&lt;span class="nb"&gt;paste&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
git remote &lt;span class="nt"&gt;-v&lt;/span&gt;
git push &lt;span class="nt"&gt;-u&lt;/span&gt; origin main
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Other commands used in Git
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;cd&lt;/code&gt; used to change directory&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;cd ..&lt;/code&gt; used to get backwards with one step&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;mkdir&lt;/code&gt; used to make a new folder&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;ls&lt;/code&gt; used to list folders&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;ls -la&lt;/code&gt; used to list all files &lt;/li&gt;
&lt;li&gt;
&lt;code&gt;touch&lt;/code&gt; used to make a new file&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;echo " heading" &amp;gt; README.md&lt;/code&gt; &lt;/li&gt;
&lt;li&gt;
&lt;code&gt;Nano README.md&lt;/code&gt; used to write long texts&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;cat README.md&lt;/code&gt; Used to read texts in README.md&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;In conclusion, Git is the industry-standard, open-source distributed version control system (DVCS) that acts as the backbone of modern software engineering. By utilizing a unique three-stage architecture &lt;strong&gt;(Working Directory, Staging Area, and Local Repository)&lt;/strong&gt;, Git optimizes how changes are tracked, stored, and managed over time. It bridges the gap between individual, experimental coding and large-scale, enterprise collaboration.&lt;/p&gt;

</description>
      <category>git</category>
      <category>github</category>
      <category>software</category>
      <category>softwareengineering</category>
    </item>
  </channel>
</rss>
