<?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: MwendeMugambi</title>
    <description>The latest articles on DEV Community by MwendeMugambi (@mwendemugambi).</description>
    <link>https://dev.to/mwendemugambi</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.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3718037%2F3fdc87e1-cd74-48b8-bf44-271daad3bb52.png</url>
      <title>DEV Community: MwendeMugambi</title>
      <link>https://dev.to/mwendemugambi</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/mwendemugambi"/>
    <language>en</language>
    <item>
      <title>Introduction to Python: A Practical Starting Point for Data Work</title>
      <dc:creator>MwendeMugambi</dc:creator>
      <pubDate>Sun, 29 Mar 2026 14:29:35 +0000</pubDate>
      <link>https://dev.to/mwendemugambi/introduction-to-python-a-practical-starting-point-for-data-work-2bop</link>
      <guid>https://dev.to/mwendemugambi/introduction-to-python-a-practical-starting-point-for-data-work-2bop</guid>
      <description>&lt;p&gt;I'm sure every time you listen to people in tech talk about coding languages, you have heard the mention "Python" several times. If you're like me, I'm sure you are wondering what Python is. &lt;br&gt;
&lt;em&gt;Python is a simple and powerful programming language used to automate tasks, analyze data, and build software by giving clear instructions to a computer.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;If you’ve worked with Excel long enough, you’ve probably hit at least one of these limits:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Your file crashes when it gets too big&lt;/li&gt;
&lt;li&gt;Formulas become impossible to track&lt;/li&gt;
&lt;li&gt;You spend hours repeating the same cleaning steps every week&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Python usually enters the picture at that exact moment.&lt;br&gt;
It’s not that Excel is bad, it’s just that it wasn’t designed for scale or automation. Python, on the other hand, is built for handling large datasets, repeating tasks reliably, and giving you full control over how data is processed.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;What surprises most beginners is this:&lt;br&gt;
You don’t need to become a “software developer” to use Python effectively. For data work, you’re mostly writing small, practical scripts.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 1: Setting Up Your Environment&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;To get started, you need:&lt;br&gt;
Python installed (Anaconda is the easiest option for beginners). &lt;em&gt;Mine is version 3.12&lt;/em&gt;&lt;br&gt;
A tool to write and run code (Jupyter Notebook is recommended)&lt;br&gt;
Once installed, open Jupyter Notebook.&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.amazonaws.com%2Fuploads%2Farticles%2Fzjxulh00v0jrrxfy3dze.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.amazonaws.com%2Fuploads%2Farticles%2Fzjxulh00v0jrrxfy3dze.png" alt="Jupyter Notebook Overview" width="800" height="369"&gt;&lt;/a&gt;&lt;br&gt;
Click New - Python 3 Notebook&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.amazonaws.com%2Fuploads%2Farticles%2F87qil3w0qdv1pld65b05.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.amazonaws.com%2Fuploads%2Farticles%2F87qil3w0qdv1pld65b05.png" alt="New Notebook" width="800" height="366"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 2: Writing Your First Python Code&lt;/strong&gt;&lt;br&gt;
In the notebook, you’ll see a blank cell. This is where you write code.&lt;br&gt;
Try this:&lt;br&gt;
&lt;code&gt;print("Hello, World!")&lt;/code&gt;&lt;br&gt;
Click Run.&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.amazonaws.com%2Fuploads%2Farticles%2Fiyvuefqpzbeguu3hxfcv.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.amazonaws.com%2Fuploads%2Farticles%2Fiyvuefqpzbeguu3hxfcv.png" alt="Printed Code" width="800" height="106"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 3: Working with Data Using Pandas&lt;/strong&gt;&lt;br&gt;
For data analysis, Python uses a library called pandas.&lt;br&gt;
First, import it:&lt;br&gt;
&lt;code&gt;import pandas as pd&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Loading a Dataset&lt;/strong&gt;&lt;br&gt;
Let’s load a CSV file (similar to opening an Excel file):&lt;br&gt;
&lt;code&gt;df = pd.read_csv("sales.csv")&lt;br&gt;
df.head()&lt;/code&gt;&lt;br&gt;
What’s happening here:&lt;br&gt;
&lt;em&gt;read_csv() loads your data&lt;br&gt;
head() shows the first few rows&lt;/em&gt;&lt;br&gt;
This table is called a DataFrame - your main workspace in Python.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 4: Basic Data Operations (What You Already Do in Excel)&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Creating a New Column&lt;br&gt;
In Excel, you would write a formula and drag it down.&lt;br&gt;
In Python:&lt;br&gt;
&lt;code&gt;df['Total'] = df['Price'] * df['Quantity']&lt;/code&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Filtering Data&lt;br&gt;
To filter rows:&lt;br&gt;
&lt;code&gt;df[df['Region'] == 'Nairobi']&lt;/code&gt;&lt;br&gt;
This is like applying a filter in Excel, but faster and reusable.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Summarizing Data (Like a Pivot Table)&lt;br&gt;
&lt;code&gt;df.groupby('Region')['Total'].sum()&lt;/code&gt;&lt;br&gt;
This shows total sales per region.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Step 5: Using Variables (Making Your Work Clear)&lt;/strong&gt;&lt;br&gt;
Instead of hardcoding values, Python lets you name them:&lt;br&gt;
&lt;code&gt;tax_rate = 0.16&lt;br&gt;
df['Tax'] = df['Total'] * tax_rate&lt;/code&gt;&lt;br&gt;
This makes your work easier to understand and update.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 6: Automating Decisions with Logic&lt;/strong&gt;&lt;br&gt;
Let’s say you want to label customers as Active or Inactive.&lt;br&gt;
&lt;code&gt;df['Status'] = df['Last_Purchase_Date'].apply(&lt;br&gt;
    lambda x: 'Inactive' if x &amp;lt; '2025-01-01' else 'Active'&lt;br&gt;
)&lt;/code&gt;&lt;br&gt;
This replaces manual sorting and tagging.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 7: Saving Your Results&lt;/strong&gt;&lt;br&gt;
Once you’re done, you can export your data:&lt;br&gt;
&lt;code&gt;df.to_csv("processed_data.csv", index=False)&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Beginner Tips (Based on Real Experience)&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Start with datasets you already understand&lt;/li&gt;
&lt;li&gt;Don’t try to learn everything at once&lt;/li&gt;
&lt;li&gt;Expect errors- they’re part of the process&lt;/li&gt;
&lt;li&gt;Focus on doing, not memorizing&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I hope that this article makes it a bit easier for you to try out Python. See you in the next article as I shed more light to what Python is.&lt;/p&gt;

</description>
      <category>python</category>
      <category>beginn</category>
      <category>data</category>
    </item>
    <item>
      <title>Connecting Power BI to SQL Databases</title>
      <dc:creator>MwendeMugambi</dc:creator>
      <pubDate>Sun, 29 Mar 2026 13:49:13 +0000</pubDate>
      <link>https://dev.to/mwendemugambi/connecting-power-bi-to-sql-databases-lo8</link>
      <guid>https://dev.to/mwendemugambi/connecting-power-bi-to-sql-databases-lo8</guid>
      <description>&lt;p&gt;If you have taken time to go through my articles, then you will notice that I had given a defined Power BI a few weeks back. But for the sake of any newcomers, Power BI is a tool created by Microsoft to turn raw data into interactive insights. It is widely used by analysts, organizations, and decision-makers to track performance, identify trends, and generate insights in real time.&lt;br&gt;
It is a data consumption and visualization tool, and that's why it is commonly connected to databases rather than static files. While Excel or CSV files may work for small datasets, modern organizations rely on structured databases to store, manage, and update large volumes of data efficiently.&lt;br&gt;
SQL databases, such as PostgreSQL, are especially important in this ecosystem. They provide:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Structured storage for relational data&lt;/li&gt;
&lt;li&gt;Efficient querying using SQL&lt;/li&gt;
&lt;li&gt;Data integrity and consistency&lt;/li&gt;
&lt;li&gt;Scalability for growing datasets&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;By connecting Power BI directly to a SQL database, companies ensure that their reports are built on reliable, up-to-date, and well-organized data.&lt;/p&gt;

&lt;h2&gt;
  
  
  Connecting Power BI to a Local PostgreSQL Database
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Step 1: Open Power BI Desktop&lt;/strong&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.amazonaws.com%2Fuploads%2Farticles%2Fvg57qxq753ksoepnf9j5.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.amazonaws.com%2Fuploads%2Farticles%2Fvg57qxq753ksoepnf9j5.png" alt="An open Power BI Desktop" width="800" height="420"&gt;&lt;/a&gt;&lt;br&gt;
Launch Power BI Desktop. &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.amazonaws.com%2Fuploads%2Farticles%2Fawol15kz1hgy0468ay5y.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.amazonaws.com%2Fuploads%2Farticles%2Fawol15kz1hgy0468ay5y.png" alt="Launched Power BI Desktop" width="800" height="420"&gt;&lt;/a&gt;&lt;br&gt;
On the home screen, locate the “Get Data” button in the top ribbon.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 2: Select PostgreSQL Database&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Click Get Data&lt;/li&gt;
&lt;li&gt;Search for or select PostgreSQL database&lt;/li&gt;
&lt;li&gt;Click Connect&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.amazonaws.com%2Fuploads%2Farticles%2Fmjgeyyw3pyymnvynqjuu.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.amazonaws.com%2Fuploads%2Farticles%2Fmjgeyyw3pyymnvynqjuu.png" alt="After pressing Get 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.amazonaws.com%2Fuploads%2Farticles%2Fefj897zfhqynx2ey8fye.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.amazonaws.com%2Fuploads%2Farticles%2Fefj897zfhqynx2ey8fye.png" alt="Selecting PostgresSQL database" width="800" height="418"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 3: Enter Connection Details&lt;/strong&gt;&lt;br&gt;
A dialogue box will appear prompting you to enter:&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.amazonaws.com%2Fuploads%2Farticles%2Fiszdsd4zip6pbwh1bagn.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.amazonaws.com%2Fuploads%2Farticles%2Fiszdsd4zip6pbwh1bagn.png" alt="Sample dialogue bos" width="800" height="396"&gt;&lt;/a&gt;&lt;br&gt;
Server: localhost (if your database is running locally)&lt;br&gt;
Database: (e.g., saleslux)&lt;br&gt;
Click OK to proceed.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 4: Authenticate&lt;/strong&gt;&lt;br&gt;
Enter your PostgreSQL credentials:&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.amazonaws.com%2Fuploads%2Farticles%2Fr8nw69fwmrw8pqr19jxz.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.amazonaws.com%2Fuploads%2Farticles%2Fr8nw69fwmrw8pqr19jxz.png" alt="The required PostgresSQL information" width="800" height="359"&gt;&lt;/a&gt;&lt;br&gt;
Username&lt;br&gt;
Password&lt;br&gt;
Choose the appropriate authentication method (typically Database authentication).&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 5: Load Data into Power BI&lt;/strong&gt;&lt;br&gt;
Once connected, Power BI will display a Navigator window showing available tables.&lt;br&gt;
For example:&lt;br&gt;
    customers&lt;br&gt;
    products&lt;br&gt;
    sales&lt;br&gt;
    inventory&lt;br&gt;
Select the tables you need and click Load (or Transform Data if you want to clean them first).&lt;/p&gt;

&lt;h2&gt;
  
  
  Connecting Power BI to a Cloud Database (Aiven PostgreSQL)
&lt;/h2&gt;

&lt;p&gt;When working with cloud-hosted databases like Aiven PostgreSQL, the process is similar like above, but it includes additional security steps.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 1: Obtain Connection Details from Aiven&lt;/strong&gt;&lt;br&gt;
From your Aiven dashboard, retrieve:&lt;br&gt;
Host (e.g., your-db.aivencloud.com) - pg-726720-mwendemugambi8-cc78.c.aivencloud.com&lt;br&gt;
Port (usually 5432)- 12155&lt;br&gt;
Database name- defaultdb&lt;br&gt;
Username- avnadmin&lt;br&gt;
Password- **********&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.amazonaws.com%2Fuploads%2Farticles%2Fojgw3ccoe5mefkslrc9e.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.amazonaws.com%2Fuploads%2Farticles%2Fojgw3ccoe5mefkslrc9e.png" alt="You can refer to the information here" width="800" height="374"&gt;&lt;/a&gt;&lt;br&gt;
&lt;em&gt;These replace the “localhost” setup used in local connections.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 2: Download the SSL Certificate&lt;/strong&gt;&lt;br&gt;
Aiven requires secure connections using SSL.&lt;br&gt;
Download the CA certificate (often named something like ca.pem) from the Aiven console.&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.amazonaws.com%2Fuploads%2Farticles%2Fzi0rk1r6ornvh99rryeh.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.amazonaws.com%2Fuploads%2Farticles%2Fzi0rk1r6ornvh99rryeh.png" alt="Where to find your SSL Certificate" width="800" height="54"&gt;&lt;/a&gt;&lt;br&gt;
&lt;em&gt;Why this matters:&lt;br&gt;
SSL certificates encrypt the connection between Power BI and the database. This prevents sensitive data (like credentials or query results) from being intercepted during transmission.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 3: Configure the Connection in Power BI&lt;/strong&gt;&lt;br&gt;
Open Get Data → PostgreSQL&lt;br&gt;
Enter:&lt;br&gt;
Server: host:port (e.g., your-db.aivencloud.com:5432)&lt;br&gt;
Database name&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.amazonaws.com%2Fuploads%2Farticles%2Ftmbfa70thndbytt395k0.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.amazonaws.com%2Fuploads%2Farticles%2Ftmbfa70thndbytt395k0.png" alt="Sample connection details" width="800" height="400"&gt;&lt;/a&gt;&lt;br&gt;
During connection:&lt;br&gt;
Enable SSL mode (if prompted)&lt;br&gt;
Provide credentials&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Loading Tables and Building Relationships&lt;/strong&gt;&lt;br&gt;
After connecting (locally or via cloud), Power BI imports your selected tables into the data model.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Typical Tables&lt;br&gt;
customers containing customer details&lt;br&gt;
products containing product catalog&lt;br&gt;
sales containing transaction records&lt;br&gt;
inventory containing stock levels&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Creating Relationships&lt;/strong&gt;&lt;br&gt;
Power BI attempts to automatically detect relationships, but you should always verify them in the Model View. &lt;br&gt;
PS: Different Power BI Relationships are covered in the Schemas article.&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.amazonaws.com%2Fuploads%2Farticles%2F2eb8easmgxdv6xlqrjoe.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.amazonaws.com%2Fuploads%2Farticles%2F2eb8easmgxdv6xlqrjoe.png" alt="Relationships in PowerBI" width="800" height="378"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Common relationships include:&lt;br&gt;
customers.customer_id connected to sales.customer_id&lt;br&gt;
products.product_id connected to sales.product_id&lt;br&gt;
products.product_id connected inventory.product_id&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Importance of Relationships&lt;/strong&gt;&lt;br&gt;
Relationships define how data flows between tables.&lt;br&gt;
For example:&lt;/p&gt;

&lt;p&gt;When you filter by a specific customer, Power BI uses the relationship to show only that customer’s sales&lt;br&gt;
When analyzing product performance, sales data is grouped correctly by product&lt;br&gt;
Without proper relationships:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Data may be duplicated&lt;/li&gt;
&lt;li&gt;Aggregations may be incorrect&lt;/li&gt;
&lt;li&gt;Visuals may show misleading results&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Why SQL Skills Matter for Power BI Analysts&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;As we end this article, it is important we all understand why understanding SQL is important for all analysts. While Power BI provides powerful visualization tools, SQL remains a foundational skill for any serious analyst.&lt;/p&gt;

&lt;p&gt;SQL allows you to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Retrieve data efficiently using &lt;strong&gt;SELECT&lt;/strong&gt; statements&lt;/li&gt;
&lt;li&gt;Filter datasets using &lt;strong&gt;WHERE&lt;/strong&gt; clauses&lt;/li&gt;
&lt;li&gt;Aggregate data using functions like &lt;strong&gt;SUM&lt;/strong&gt;, &lt;strong&gt;COUNT&lt;/strong&gt;, and &lt;strong&gt;AVG&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Join multiple tables&lt;/strong&gt; to create meaningful datasets&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Preprocess data&lt;/strong&gt; before it reaches Power BI
In practice, the most effective Power BI workflows involve:
Preparing and shaping data in SQL
Visualizing and analyzing it in Power BI&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This division of work ensures that dashboards are not only visually appealing, but also accurate, scalable, and high performing.&lt;/p&gt;

&lt;p&gt;Thank you for passing by and I hope connecting Power BI to SQL is a bit easier especially after going through this article.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Joins and Window Functions in SQL</title>
      <dc:creator>MwendeMugambi</dc:creator>
      <pubDate>Tue, 17 Mar 2026 12:01:32 +0000</pubDate>
      <link>https://dev.to/mwendemugambi/joins-and-window-functions-in-sql-27pj</link>
      <guid>https://dev.to/mwendemugambi/joins-and-window-functions-in-sql-27pj</guid>
      <description>&lt;p&gt;Most people start using SQL to retrieve data. The real shift happens when you begin using it to shape relationships within that data.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Joins as Data Logic, Not Just Combination&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;A &lt;strong&gt;join&lt;/strong&gt; is not just about “bringing tables together”, it’s about defining which relationships matter and which don’t.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Types of Joins&lt;/strong&gt;&lt;br&gt;
Inner Join - Returns records that have matching values in both tables.&lt;br&gt;
Left Join - Returns all records from them left table, and matched records from the right.&lt;br&gt;
Right Join - Returns all records from the right table, and matched records from the left.&lt;br&gt;
Full Join - Returns all records when there is a match in either table.&lt;/p&gt;

&lt;p&gt;Expounding more on Left and Inner Joins:&lt;br&gt;
&lt;strong&gt;Left Join&lt;/strong&gt; &lt;br&gt;
It guarantees that every record from your primary table survives the query, even when there is no matching data in the second table.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;For example&lt;/em&gt;, in a student system, if you join Students to Borrowed_Books, a Left Join ensures students who have never borrowed a book still appear in your results. Their book-related fields will return NULL, which is not “empty”; it’s meaningful. It tells you no relationship exists.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;This is critical in real analysis: drop-offs, non-participation, and missing relationships are often more important than the matches.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Inner Join&lt;/strong&gt;&lt;br&gt;
It filters your data to only records where a relationship exists in both tables.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Using the same example&lt;/em&gt;, only students who have borrowed books will appear. Everyone else is excluded entirely.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;This is useful when your analysis depends strictly on confirmed interactions; such as completed transactions, logged activities, or verified matches.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;The key difference:&lt;/p&gt;

&lt;p&gt;LEFT JOIN answers: “Who exists, regardless of activity?”&lt;/p&gt;

&lt;p&gt;INNER JOIN answers: “Who has participated?”&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Window Functions: Calculations Without Losing Detail&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Traditional aggregation functions like SUM() or COUNT() collapse rows into a summary. That’s useful, but limiting.&lt;/p&gt;

&lt;p&gt;Window functions solve this by allowing you to compute aggregates while retaining every individual row.&lt;/p&gt;

&lt;p&gt;The core idea sits in the OVER() clause.&lt;/p&gt;

&lt;p&gt;PARTITION BY: Controlled Context&lt;br&gt;
When you write:&lt;/p&gt;

&lt;p&gt;SUM(sales) OVER (PARTITION BY region)&lt;/p&gt;

&lt;p&gt;you’re telling SQL:&lt;br&gt;
“Calculate totals within each region, but do not merge the rows.”&lt;/p&gt;

&lt;p&gt;Each row still represents an individual transaction—but now carries additional context: the total performance of its group.&lt;/p&gt;

&lt;p&gt;Why this matters in practice&lt;br&gt;
Imagine a sales dataset. With a window function, each row can simultaneously show:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The value of that specific deal&lt;/li&gt;
&lt;li&gt;The total sales for that salesperson’s region&lt;/li&gt;
&lt;li&gt;The ranking of that deal within the region
All without losing granularity.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This is what makes window functions powerful. They allow you to move from static summaries to context-aware analysis.&lt;/p&gt;

</description>
      <category>postgres</category>
      <category>sql</category>
      <category>datascience</category>
    </item>
    <item>
      <title>Solving Messy Data the Analyst way</title>
      <dc:creator>MwendeMugambi</dc:creator>
      <pubDate>Mon, 09 Feb 2026 09:02:22 +0000</pubDate>
      <link>https://dev.to/mwendemugambi/solving-messy-data-the-analyst-way-2lhe</link>
      <guid>https://dev.to/mwendemugambi/solving-messy-data-the-analyst-way-2lhe</guid>
      <description>&lt;p&gt;Everyone understand the feeling when you open a spreadsheet full of data and nothing makes sense. Some rows are empty, dates are in the wrong format, numbers don’t add up, and there are duplicates everywhere. This is what we call &lt;strong&gt;Messy data&lt;/strong&gt;,and it’s how most real-world data arrives.&lt;/p&gt;

&lt;p&gt;If this data is used as it is, it can lead to confusion and poor decisions. So the analyst’s job is to turn this mess into something meaningful. And you get to become an analyst just for this article.&lt;/p&gt;

&lt;p&gt;Once you open the data, the journey to transform it usually starts in &lt;strong&gt;Power Query&lt;/strong&gt;, where the data is cleaned and organized. Here, the analyst removes duplicate and empty rows, fixes column names, corrects data types, and deals with missing values. Sometimes columns are split, merged, or reshaped so the data finally makes sense. At this stage, the chaos begins to look a little like order.&lt;/p&gt;

&lt;p&gt;Next comes &lt;strong&gt;Data Modeling&lt;/strong&gt;, the process of creating a structured, visual representation of data and its relationships. Instead of working with scattered tables, the analyst connects them in a clear structure called a schema with Star Schema being the most preferred for Power BI. If there was any Sales data, it is linked to customers, products, and dates. This step is important because it ensures the numbers tell the right story and calculations work correctly.&lt;/p&gt;

&lt;p&gt;Once the data is structured, the analyst uses &lt;strong&gt;DAX&lt;/strong&gt;(Data Analysis Expressions),a formula expression language that makes it easy for you to perform calculations and queries with your data therefore bringing it to life. Simple formulas answer big questions: How much profit did we make? Are sales growing compared to last year? Which customers bring the most value? DAX turns raw data into insights that actually matter to the business.&lt;/p&gt;

&lt;p&gt;Now comes the most visually appealing part the &lt;strong&gt;Dashboard&lt;/strong&gt;, a single page, often called a canvas, that tells a story through visualizations. Because it's limited to one page, a well-designed dashboard contains only the highlights of that story. Instead of long tables, the story is told using charts, KPIs, and trends. A quick glance shows what’s going well, what’s not, and where attention is needed. The goal is clarity, not clutter.&lt;/p&gt;

&lt;p&gt;In the end, the dashboard helps decision-makers move from questions to action. They can see what happened, understand why it happened, and decide what to do next.&lt;/p&gt;

&lt;p&gt;That’s how analysts use Power BI to translate messy data, DAX, and dashboards into action thus turning confusion into clarity and data into decisions.&lt;/p&gt;

&lt;p&gt;So my question to you, do you now feel like an analyst? Do you feel like you are ready to handle Messy Data like a pro? I really hope the answer is a resounding Yes!&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>datascience</category>
      <category>dataanalysis</category>
    </item>
    <item>
      <title>Schemas(more like Schemes) &amp; Data Modelling in Power BI.</title>
      <dc:creator>MwendeMugambi</dc:creator>
      <pubDate>Mon, 02 Feb 2026 10:38:22 +0000</pubDate>
      <link>https://dev.to/mwendemugambi/schemasmore-like-schemes-data-modelling-in-power-bi-5aaf</link>
      <guid>https://dev.to/mwendemugambi/schemasmore-like-schemes-data-modelling-in-power-bi-5aaf</guid>
      <description>&lt;p&gt;Schemas and data modelling in Power BI involve &lt;strong&gt;structuring data&lt;/strong&gt; into a logical and efficient format to enable accurate analysis, strong relationships, and fast reporting. A well-designed model is the backbone of any reliable Power BI report as it determines how easily users can explore data and how efficiently visuals perform.&lt;/p&gt;

&lt;h2&gt;
  
  
  Key Definitions
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Power BI&lt;/strong&gt;&lt;br&gt;
It is a tool created by Microsoft to turn raw data into interactive insights.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Schema&lt;/strong&gt;&lt;br&gt;
Refers to the logical blueprint of how data is organized in a database. It defines tables, fields, data types, and the relationships between them.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Data Modelling&lt;/strong&gt;&lt;br&gt;
The process of analyzing, defining, and structuring data entities and their relationships based on how a business collects, stores, and uses data.&lt;/p&gt;

&lt;h2&gt;
  
  
  Fact Tables and Dimension Tables
&lt;/h2&gt;

&lt;p&gt;Fact and dimension tables are the foundation of data warehousing and Power BI modelling. Together, they support efficient querying, filtering, and aggregation.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Differences Between Fact and Dimension Tables&lt;/em&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.amazonaws.com%2Fuploads%2Farticles%2Fx554igd5yjehabyeiyhu.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.amazonaws.com%2Fuploads%2Farticles%2Fx554igd5yjehabyeiyhu.png" alt="Differences between Fact and Dimension Tables" width="800" height="339"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Together, fact and dimension tables form a &lt;strong&gt;Star Schema&lt;/strong&gt;, where one central fact table connects to multiple dimension tables. Before exploring the Star Schema further, it is important we understand schemas more broadly.&lt;/p&gt;

&lt;h3&gt;
  
  
  Understanding Schemas
&lt;/h3&gt;

&lt;p&gt;A schema (database schema), is a structured framework that defines how data is organized and how different data elements relate to one another.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Core Components of a Schema&lt;/em&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Table – A collection of related data organized in rows and columns&lt;/li&gt;
&lt;li&gt;Field (Column) – A single piece of information within a table&lt;/li&gt;
&lt;li&gt;Data Type – Specifies the type of data stored in a field (e.g., integer, text, date)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;A well-designed schema ensures:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Data accuracy and integrity&lt;/li&gt;
&lt;li&gt;Optimized query performance&lt;/li&gt;
&lt;li&gt;Scalability to support business growth&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Good schemas also include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Constraints to enforce data rules&lt;/li&gt;
&lt;li&gt;Efficient indexing to speed up data retrieval&lt;/li&gt;
&lt;li&gt;Automation support for updates and system growth&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Types of Database Schemas&lt;/strong&gt;&lt;br&gt;
Different schema types serve different stages of database design:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;a) Conceptual Schema&lt;/strong&gt;&lt;br&gt;
A high-level representation that shows what data exists and how it flows, without technical details. It is useful for both technical and non-technical stakeholders.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;b) Logical Schema&lt;/strong&gt;&lt;br&gt;
Defines the logical structure of data, including entities, attributes, relationships, and constraints—without specifying physical storage details.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;c) Physical Schema&lt;/strong&gt;&lt;br&gt;
Describes how and where data is physically stored, including file locations, indexes, and storage strategies to improve performance.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Styles of Database Schemas&lt;/strong&gt;&lt;br&gt;
Different business needs require different schema designs:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. Star Schema&lt;/strong&gt;&lt;br&gt;
This is the most common schema used in Power BI. It consists of:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;One central fact table&lt;/li&gt;
&lt;li&gt;Multiple surrounding dimension tables
The structure is simple, intuitive, and optimized for fast querying and reporting.&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.amazonaws.com%2Fuploads%2Farticles%2Ficenshhda4nek97qbpfl.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.amazonaws.com%2Fuploads%2Farticles%2Ficenshhda4nek97qbpfl.png" alt="Star Schema" width="800" height="397"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Snowflake Schema&lt;/strong&gt;&lt;br&gt;
Similar to the star schema, but dimension tables are normalized into multiple related tables.&lt;br&gt;
While it reduces data redundancy, it can be more complex and slower in Power BI.&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.amazonaws.com%2Fuploads%2Farticles%2F9daurno8zhv5q7s0mvee.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.amazonaws.com%2Fuploads%2Farticles%2F9daurno8zhv5q7s0mvee.png" alt="Snowflake Schema" width="640" height="600"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Relational Schema&lt;/strong&gt;&lt;br&gt;
Used primarily in transactional systems (OLTP). Each entity has its own table, and tables are highly normalized. This structure is less optimal for analytical reporting.&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.amazonaws.com%2Fuploads%2Farticles%2Fghvz8y1vcpf4roj06dhv.webp" 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.amazonaws.com%2Fuploads%2Farticles%2Fghvz8y1vcpf4roj06dhv.webp" alt="Relational Schema" width="800" height="400"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4. Hierarchical Schema&lt;/strong&gt;&lt;br&gt;
Organized in a tree-like structure where one parent table connects to multiple child tables. Each child has only one parent.&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.amazonaws.com%2Fuploads%2Farticles%2Fjm7l90cwv5lew45tlbso.webp" 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.amazonaws.com%2Fuploads%2Farticles%2Fjm7l90cwv5lew45tlbso.webp" alt="Hierarchical Schema" width="575" height="251"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Benefits of Using Schemas&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Organize data clearly and consistently&lt;/li&gt;
&lt;li&gt;Enforce data accuracy using keys and constraints&lt;/li&gt;
&lt;li&gt;Improve security by controlling access at the schema level&lt;/li&gt;
&lt;li&gt;Support scalability and growth&lt;/li&gt;
&lt;li&gt;Enable better collaboration between designers and administrators&lt;/li&gt;
&lt;li&gt;Allow structural changes without disrupting applications&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Data Modelling Explained&lt;/strong&gt;&lt;br&gt;
Data modelling defines how data is structured, related, and used within a system. Using diagrams and symbols, it visually represents how data flows from capture to reporting.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Benefits of Data Modelling&lt;/em&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Improves collaboration between business and IT teams&lt;/li&gt;
&lt;li&gt;Identifies opportunities to optimize business processes&lt;/li&gt;
&lt;li&gt;Saves time and costs through proper planning&lt;/li&gt;
&lt;li&gt;Reduces errors and redundant data entry&lt;/li&gt;
&lt;li&gt;Enhances performance of analytics and reporting&lt;/li&gt;
&lt;li&gt;Helps define and track key performance indicators (KPIs)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Relationships in Schemas and Data Modelling&lt;/strong&gt;&lt;br&gt;
Relationships define how tables connect and interact. They are essential for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Data integrity&lt;/li&gt;
&lt;li&gt;Accurate joins and filters&lt;/li&gt;
&lt;li&gt;Reflecting real-world business processes&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;em&gt;Types of Relationships&lt;/em&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;One-to-One (1:1): One record relates to exactly one other record (e.g., user and user profile)&lt;/li&gt;
&lt;li&gt;One-to-Many (1:N): One record relates to many others (e.g., customer and orders)&lt;/li&gt;
&lt;li&gt;Many-to-Many (M:N): Many records relate to many others and require a bridge (junction) table.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Good Modelling and Why It Matters&lt;/strong&gt;&lt;br&gt;
Good modelling simplifies complexity and improves clarity across systems.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Why Good Modelling Is Important&lt;/em&gt;&lt;br&gt;
I. Enhances Understanding – Focuses on essential elements and removes unnecessary complexity&lt;br&gt;
II. Improves Communication – Acts as a shared language among stakeholders&lt;br&gt;
III. Supports Decision-Making – Enables scenario testing and risk identification&lt;br&gt;
IV. Drives Efficiency and Quality – Prevents messy structures and improves data reliability&lt;br&gt;
V. Enhances Learning and Teaching – Builds confidence and independence through clarity&lt;/p&gt;

&lt;p&gt;As we come to the end of today's article, Did you catch something new?&lt;br&gt;
If you did, then you know what to do...look out for my next piece next week.&lt;/p&gt;

&lt;p&gt;For now, let me go learn some more. 😊&lt;/p&gt;

</description>
      <category>schemas</category>
      <category>datamodelling</category>
      <category>beginners</category>
    </item>
    <item>
      <title>MS Excel?! Simple beginner steps for basic Data Analysis using Excel.</title>
      <dc:creator>MwendeMugambi</dc:creator>
      <pubDate>Sun, 25 Jan 2026 19:18:44 +0000</pubDate>
      <link>https://dev.to/mwendemugambi/ms-excel-simple-beginner-steps-for-basic-data-analysis-using-excel-25bb</link>
      <guid>https://dev.to/mwendemugambi/ms-excel-simple-beginner-steps-for-basic-data-analysis-using-excel-25bb</guid>
      <description>&lt;p&gt;Let me tell you a story of a lady.&lt;/p&gt;

&lt;p&gt;A lady who, whenever she receives any Excel-related task, immediately grabs her laptop and runs to the nearest person for help. In her mind, one thought keeps ringing: “&lt;em&gt;MS Excel is too hard. This thing is not for me&lt;/em&gt;.” &lt;/p&gt;

&lt;p&gt;She asks for help, and the person helping her looks at her wondering, “&lt;em&gt;But… has she even tried?&lt;/em&gt;” But since that can't be said out loud, the person just quietly judges her.&lt;/p&gt;

&lt;p&gt;I would loved to tell you her name, but I fear I'm still a student data analyst who might not be able to afford a lawyer yet. Let’s just say… you might know her. You might be her. And honestly? That’s okay.&lt;/p&gt;

&lt;p&gt;That’s why I’m here; to help you get a beginner-friendly understanding of Excel, without the stress, panic, or running around the office looking for rescue.&lt;/p&gt;

&lt;p&gt;Because the truth is, &lt;strong&gt;data is everywhere&lt;/strong&gt;. We use it when tracking monthly expenses, monitoring attendance at events, or collecting survey responses, often without even realizing it.&lt;/p&gt;

&lt;p&gt;Today, I introduce you to Microsoft Excel (MS Excel), one of the most common and beginner-friendly tools for organizing and analyzing data. By the end of this article, I promise you’ll understand how to use Excel for basic data analysis, and maybe even stop running away from it.&lt;/p&gt;

&lt;h2&gt;
  
  
  Opening MS Excel and finding your way around.
&lt;/h2&gt;

&lt;p&gt;When you open MS Excel, you find a blank workbook made up of rows and columns&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.amazonaws.com%2Fuploads%2Farticles%2F3h38mjqc04yhp1w27u2h.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.amazonaws.com%2Fuploads%2Farticles%2F3h38mjqc04yhp1w27u2h.png" alt="Blank MS Workbook" width="800" height="420"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Key parts of the Excel interface:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Workbook – the Excel file you are working on&lt;/li&gt;
&lt;li&gt;Worksheet – a single page inside the workbook&lt;/li&gt;
&lt;li&gt;Rows – horizontal lines, labeled with numbers (1, 2, 3…)&lt;/li&gt;
&lt;li&gt;Columns – vertical lines, labeled with letters (A, B, C…)&lt;/li&gt;
&lt;li&gt;Cells – small boxes where rows and columns meet (e.g., A1, B2)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Each cell is where you enter data such as names, numbers, or text.&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.amazonaws.com%2Fuploads%2Farticles%2Fsgejrfjl2mh52t149qf5.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.amazonaws.com%2Fuploads%2Farticles%2Fsgejrfjl2mh52t149qf5.png" alt="A Blank Worksheet" width="800" height="419"&gt;&lt;/a&gt;Red= Column&lt;br&gt;
Yellow/Lime= Row&lt;/p&gt;

&lt;h2&gt;
  
  
  What is Data in Excel?
&lt;/h2&gt;

&lt;p&gt;Data, in Excel simply means information that has been entered into cells.&lt;br&gt;
For example:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Names of people&lt;/li&gt;
&lt;li&gt;Ages&lt;/li&gt;
&lt;li&gt;Counties&lt;/li&gt;
&lt;li&gt;Test scores&lt;/li&gt;
&lt;li&gt;Amounts of money&lt;/li&gt;
&lt;li&gt;Dates&lt;/li&gt;
&lt;li&gt;Gender&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Let's assume we have the following 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.amazonaws.com%2Fuploads%2Farticles%2Fduk8lbitwuzuv6lggf9b.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.amazonaws.com%2Fuploads%2Farticles%2Fduk8lbitwuzuv6lggf9b.png" alt="Data in a Worksheet" width="800" height="418"&gt;&lt;/a&gt;&lt;br&gt;
The above table is a simple dataset that can be analyzed.&lt;/p&gt;

&lt;h2&gt;
  
  
  Basic Data Analysis tasks in Excel
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;1 Sorting Data&lt;/strong&gt;&lt;br&gt;
Sorting helps you arrange data in a specific order, such as highest to lowest scores.&lt;br&gt;
For example, to see who scored the highest:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Select the entire table&lt;/li&gt;
&lt;li&gt;Click on the Data tab&lt;/li&gt;
&lt;li&gt;Choose Sort&lt;/li&gt;
&lt;li&gt;Sort by Test Score from largest to smallest&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.amazonaws.com%2Fuploads%2Farticles%2F45pbvofk9jahkllqeqlk.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.amazonaws.com%2Fuploads%2Farticles%2F45pbvofk9jahkllqeqlk.png" alt="Sorted Data Screenshot" width="800" height="418"&gt;&lt;/a&gt;&lt;br&gt;
After sorting, you can now easily identify top and low performers.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2 Filtering Data&lt;/strong&gt;&lt;br&gt;
Filtering allows you to view specific information without deleting other data.&lt;br&gt;
For example, to view only students from Nairobi:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Select the table&lt;/li&gt;
&lt;li&gt;Click Filter under the Data tab&lt;/li&gt;
&lt;li&gt;Click the dropdown arrow in the County column&lt;/li&gt;
&lt;li&gt;Select Nairobi&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.amazonaws.com%2Fuploads%2Farticles%2F0wownv2sg247lez47v6d.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.amazonaws.com%2Fuploads%2Farticles%2F0wownv2sg247lez47v6d.png" alt="Filtered Data Screenshot" width="800" height="417"&gt;&lt;/a&gt;&lt;br&gt;
Now, excel only shows students from Nairobi, which is according to our selection.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Using simple Formulas&lt;/strong&gt;&lt;br&gt;
Excel can automatically calculate values using formulas.&lt;/p&gt;

&lt;p&gt;3.1: Calculating Total (SUM)&lt;br&gt;
To calculate the total of numbers (like test scores):&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Click an empty cell&lt;/li&gt;
&lt;li&gt;Type =SUM(C2:C6)&lt;/li&gt;
&lt;li&gt;Press Enter&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.amazonaws.com%2Fuploads%2Farticles%2Fyqdmf6ichp6n9g3bjkm6.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.amazonaws.com%2Fuploads%2Farticles%2Fyqdmf6ichp6n9g3bjkm6.png" alt="SUM Screenshot" width="800" height="419"&gt;&lt;/a&gt;&lt;br&gt;
A column of numbers with the SUM formula entered in an empty cell and the total is displayed.&lt;/p&gt;

&lt;p&gt;3.2: Calculating Average (AVERAGE)&lt;br&gt;
To find the average of numbers:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Click an empty cell&lt;/li&gt;
&lt;li&gt;Type =AVERAGE(C2:C6)&lt;/li&gt;
&lt;li&gt;Press Enter&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.amazonaws.com%2Fuploads%2Farticles%2F4gnvvyndqjf4qyga7puy.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.amazonaws.com%2Fuploads%2Farticles%2F4gnvvyndqjf4qyga7puy.png" alt="AVERAGE Screenshot" width="800" height="415"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;3.3: Subtracting Numbers (-)&lt;br&gt;
To subtract numbers (like finding the difference between scores or expenses):&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Click an empty cell&lt;/li&gt;
&lt;li&gt;Type =C2-C3&lt;/li&gt;
&lt;li&gt;Press Enter&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.amazonaws.com%2Fuploads%2Farticles%2F34j3c5mnyh7v3yhapm7i.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.amazonaws.com%2Fuploads%2Farticles%2F34j3c5mnyh7v3yhapm7i.png" alt="Subtraction Screenshot" width="800" height="421"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;3.4: Multiplying Numbers (*)&lt;br&gt;
To multiply numbers (like calculating total cost or combining quantities):&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Click an empty cell&lt;/li&gt;
&lt;li&gt;Type =C2*C3&lt;/li&gt;
&lt;li&gt;Press Enter&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.amazonaws.com%2Fuploads%2Farticles%2Feifztcs5wzprhozlgzoe.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.amazonaws.com%2Fuploads%2Farticles%2Feifztcs5wzprhozlgzoe.png" alt="Multiplication Screenshot" width="800" height="419"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;3.5: Counting Numbers (COUNT)&lt;br&gt;
To count how many numeric entries are in your data:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Click an empty cell&lt;/li&gt;
&lt;li&gt;Type =COUNT(C2:C6)&lt;/li&gt;
&lt;li&gt;Press Enter&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.amazonaws.com%2Fuploads%2Farticles%2Foq4vv4w9be5hqvy7ogsz.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.amazonaws.com%2Fuploads%2Farticles%2Foq4vv4w9be5hqvy7ogsz.png" alt="Screenshot of COUNT" width="800" height="420"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;3.6 Counting Everything (COUNTA)&lt;br&gt;
To count all non-empty cells (numbers or text):&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Click an empty cell&lt;/li&gt;
&lt;li&gt;Type =COUNTA(A2:A6)&lt;/li&gt;
&lt;li&gt;Press Enter&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.amazonaws.com%2Fuploads%2Farticles%2F03d3xru34qhwyjqmyez0.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.amazonaws.com%2Fuploads%2Farticles%2F03d3xru34qhwyjqmyez0.png" alt="Screenshot of COUNTA" width="800" height="420"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;3.7: Finding the Highest Value (MAX)&lt;br&gt;
To find the highest number:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Click an empty cell&lt;/li&gt;
&lt;li&gt;Type =MAX(C2:C5)&lt;/li&gt;
&lt;li&gt;Press Enter&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.amazonaws.com%2Fuploads%2Farticles%2F8gvozsgvaq1nzpnp2t1l.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.amazonaws.com%2Fuploads%2Farticles%2F8gvozsgvaq1nzpnp2t1l.png" alt="Screenshot of MAX" width="800" height="418"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;3.8: Finding the Lowest Value (MIN)&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;To find the lowest number:&lt;/li&gt;
&lt;li&gt;Click an empty cell&lt;/li&gt;
&lt;li&gt;Type =MIN(C2:C6)&lt;/li&gt;
&lt;li&gt;Press Enter&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.amazonaws.com%2Fuploads%2Farticles%2F4hk2rfgz275lp28yqeol.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.amazonaws.com%2Fuploads%2Farticles%2F4hk2rfgz275lp28yqeol.png" alt="Screenshot of MIN" width="800" height="419"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;3.9: Making Decisions (IF)&lt;br&gt;
To assign labels like Pass/Fail based on a condition:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Click an empty cell&lt;/li&gt;
&lt;li&gt;Type =IF(C2&amp;gt;=50,"Pass","Fail")&lt;/li&gt;
&lt;li&gt;Press Enter&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.amazonaws.com%2Fuploads%2Farticles%2Fo4j0kvrbab0aniuh8k77.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.amazonaws.com%2Fuploads%2Farticles%2Fo4j0kvrbab0aniuh8k77.png" alt="Screenshot of IF" width="800" height="419"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Creating a Simple Chart&lt;br&gt;
Charts help turn numbers into visuals that are easier to understand.&lt;br&gt;
To create a chart:&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Select the Name and Test Score columns&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Click Insert&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Choose a Column Chart&lt;/p&gt;&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.amazonaws.com%2Fuploads%2Farticles%2Fmyge5xtachodwe3wmlvt.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.amazonaws.com%2Fuploads%2Farticles%2Fmyge5xtachodwe3wmlvt.png" alt="Simple Chart screenshot" width="800" height="420"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Why Excel Is a Good Tool for Beginners in Data Analytics
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Excel is ideal for beginners because:&lt;/li&gt;
&lt;li&gt;It is easy to use&lt;/li&gt;
&lt;li&gt;It requires no programming&lt;/li&gt;
&lt;li&gt;It is widely available&lt;/li&gt;
&lt;li&gt;It helps build strong data foundations&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Skills learned in Excel, such as sorting, filtering, and using formulas, are transferable to advanced tools like Power BI, SQL, and Python.&lt;/p&gt;

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

&lt;p&gt;Microsoft Excel is a powerful starting point for anyone interested in data analytics. With just basic skills, you can organize information, analyze trends, and make informed decisions.&lt;br&gt;
As a beginner, focus on:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Understanding rows, columns, and cells&lt;/li&gt;
&lt;li&gt;Practicing simple formulas&lt;/li&gt;
&lt;li&gt;Exploring charts and filters&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Once comfortable, you can move on to advanced Excel features like &lt;strong&gt;Pivot Tables&lt;/strong&gt; and &lt;strong&gt;Dashboards&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;You don’t need to know everything to start. Just start, Excel will grow with you.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>data</category>
    </item>
    <item>
      <title>You too can Git it: A beginners guide to connecting Git and GitHub</title>
      <dc:creator>MwendeMugambi</dc:creator>
      <pubDate>Sun, 18 Jan 2026 16:38:32 +0000</pubDate>
      <link>https://dev.to/mwendemugambi/you-too-can-git-it-a-beginners-guide-to-connecting-git-and-github-466o</link>
      <guid>https://dev.to/mwendemugambi/you-too-can-git-it-a-beginners-guide-to-connecting-git-and-github-466o</guid>
      <description>&lt;p&gt;If you’re new to Git and GitHub, welcome! Don’t worry, you don’t need to be a coding wizard. This guide will walk you through everything, step by step, from downloading the tools and creating your GitHub account to pushing your first project online, and understanding the basics of version control. &lt;br&gt;
And yes…there will be frustration and mistakes, but don't be like me, a person who tried to understand Git when hungry.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 1: Understand the Goal&lt;/strong&gt;&lt;br&gt;
The goal of Git is simple:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Track changes in your project on your computer&lt;/li&gt;
&lt;li&gt;Push these changes to GitHub so the world (or just your future self) can see them
Think of Git as your personal diary for your project, but with a very strict editor&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Step 2: Create a GitHub Account&lt;/strong&gt;&lt;br&gt;
Before you can push anything online, you need a GitHub account:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Go to &lt;a href="https://github.com" rel="noopener noreferrer"&gt;https://github.com&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Click Sign Up&lt;/li&gt;
&lt;li&gt;Fill in your username, email, and password&lt;/li&gt;
&lt;li&gt;Verify your email&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;em&gt;Congratulations! You now have a GitHub account—the gateway to version control fame.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 3: Download Git and Git Bash&lt;/strong&gt;&lt;br&gt;
Next, download the tools you need to communicate with GitHub:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Download Git: &lt;a href="https://git-scm.com/downloads" rel="noopener noreferrer"&gt;https://git-scm.com/downloads&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Install Git Bash (it usually comes with Git)
Git Bash is your terminal and in simpler terms, the “control room”, where all the magic happens. Accept the defaults during installation.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;em&gt;Optional: You can also download GitHub Desktop (&lt;a href="https://desktop.github.com" rel="noopener noreferrer"&gt;https://desktop.github.com&lt;/a&gt;) if you prefer a GUI version, but this guide focuses on Git Bash to understand the basics.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 4: Configure Git (Set Your Identity)&lt;/strong&gt;&lt;br&gt;
Git needs to know who you are, so it can attach your name and email to commits. In Git Bash, type:&lt;br&gt;
&lt;code&gt;git config --global user.name "Your Name"&lt;br&gt;
git config --global user.email "your-email@example.com"&lt;/code&gt;&lt;br&gt;
Check whether the code has worked with:&lt;br&gt;
&lt;code&gt;git config --list&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Think of this as signing your work. Without it, GitHub may show your commits as “unknown user.”&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 5: Create a Project Folder&lt;/strong&gt;&lt;br&gt;
Your “project” is just a folder with at least one file. It can be as simple as a &lt;em&gt;README.md&lt;/em&gt;.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Open Documents (or anywhere safe).&lt;/li&gt;
&lt;li&gt;Create a folder called:
&lt;code&gt;my-first-repo&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Inside, create a file called &lt;em&gt;README.md&lt;/em&gt; with some text:
&lt;code&gt;My first GitHub project&lt;/code&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;em&gt;Pro tip: Don’t try to be fancy. Keep it simple. One folder, one file, and you’re good to go&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 6: Initialize Git in the Right Place&lt;/strong&gt;&lt;br&gt;
Here’s where I learned my first painful lesson. I accidentally ran the following in my home directory &lt;em&gt;(C:\Users\YourName)&lt;/em&gt;.:&lt;br&gt;
&lt;code&gt;git init&lt;br&gt;
git add .&lt;/code&gt;&lt;br&gt;
The result? My poor computer started complaining:&lt;br&gt;
&lt;code&gt;warning: could not open directory 'AppData/Local/...': Permission denied&lt;br&gt;
fatal: adding files failed&lt;/code&gt;&lt;br&gt;
What was happening? Git was trying to track my entire computer profile, including:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;AppData (system files)&lt;/li&gt;
&lt;li&gt;Windows temp files&lt;/li&gt;
&lt;li&gt;Eclipse configuration files&lt;/li&gt;
&lt;li&gt;SSH keys&lt;/li&gt;
&lt;li&gt;My soul
And Windows was like: “Nope. Not today, buddy.”&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;em&gt;Lesson learned: Never, ever run Git commands in your home folder. Or any system folder. Unless you want to face the wrath of permission-denied errors&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 7: Open Git Bash in the Project Folder&lt;/strong&gt;&lt;br&gt;
Right-click inside &lt;em&gt;my-first-repo&lt;/em&gt; → Open Git Bash here.&lt;br&gt;
Check your location by the typing the following in Git Bash:&lt;br&gt;
&lt;code&gt;pwd&lt;/code&gt;&lt;br&gt;
You should see:&lt;br&gt;
&lt;code&gt;/c/Users/YourName/Documents/my-first-repo&lt;/code&gt;&lt;br&gt;
If you see &lt;em&gt;/c/Users/YourName&lt;/em&gt; instead, &lt;strong&gt;STOP&lt;/strong&gt;.Close Git Bash. Walk away. Grab a snack. You’ll thank me later. Then later come and initialize it in the correct place.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 8: Initialize Git&lt;/strong&gt;&lt;br&gt;
Inside your project folder:&lt;br&gt;
&lt;code&gt;git init&lt;/code&gt;&lt;br&gt;
You should see:&lt;br&gt;
&lt;code&gt;Initialized empty Git repository&lt;/code&gt;&lt;br&gt;
This creates a Git “tracking system” for your project.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 9: Add and Commit Your Files&lt;/strong&gt;&lt;br&gt;
Stage your files for tracking:&lt;br&gt;
&lt;code&gt;git add .&lt;/code&gt;&lt;br&gt;
Ignore harmless warnings like:&lt;br&gt;
&lt;code&gt;LF will be replaced by CRLF&lt;/code&gt;&lt;br&gt;
Commit your changes:&lt;br&gt;
&lt;code&gt;git commit -m "Initial commit"&lt;/code&gt;&lt;br&gt;
Then check the status with:&lt;br&gt;
&lt;code&gt;git status&lt;/code&gt;&lt;br&gt;
You should see:&lt;br&gt;
&lt;code&gt;nothing to commit, working tree clean&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Think of commits as screenshots of your project. They let you go back in time if needed.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 10: Create a GitHub Repository&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Go to GitHub and create a new repository
Name: my-first-repo
Leave it empty (no README, no license)&lt;/li&gt;
&lt;li&gt;Copy the SSH link in the repository. It will be written as:
&lt;code&gt;git@github.com:YourUsername/my-first-repo.git&lt;/code&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Step 11: Connect Local Repository to GitHub&lt;/strong&gt;&lt;br&gt;
In Git Bash, run the following codes:&lt;br&gt;
&lt;code&gt;git remote add origin git@github.com:YourUsername/my-first-repo.git&lt;br&gt;
git branch -M main&lt;br&gt;
git push -u origin main&lt;/code&gt;&lt;br&gt;
&lt;em&gt;remote add origin&lt;/em&gt; → links your local project to GitHub&lt;br&gt;
&lt;em&gt;branch -M main&lt;/em&gt; → sets your main branch&lt;br&gt;
&lt;em&gt;push -u origin main&lt;/em&gt; → sends your files online&lt;br&gt;
Refresh your GitHub repository, and there is your &lt;em&gt;README.md!&lt;/em&gt; 🎉&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 12: Pulling Code and Tracking Changes&lt;/strong&gt;&lt;br&gt;
Once your project grows, you’ll want to track changes and collaborate.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;To check the status of your folder:
&lt;code&gt;git status&lt;/code&gt;
Shows you what’s changed, what’s staged, and what’s untracked.&lt;/li&gt;
&lt;li&gt;To pull updates from GitHub:
&lt;code&gt;git pull origin main&lt;/code&gt;
This gets changes others (or you from another computer) pushed online.&lt;/li&gt;
&lt;li&gt;To stage and commit new changes:
&lt;code&gt;git add .
git commit -m "Updated file X"
git push&lt;/code&gt;
Think of this as:
&lt;em&gt;Add&lt;/em&gt; → “I want to track this change”
&lt;em&gt;Commit&lt;/em&gt; → “Save this change snapshot”
&lt;em&gt;Push&lt;/em&gt; → “Send it to GitHub”&lt;/li&gt;
&lt;li&gt;To view commit history
&lt;code&gt;git log&lt;/code&gt;
Shows all previous snapshots with author, date, and message.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Step 13: Understand Version Control&lt;/strong&gt;&lt;br&gt;
Version control is like a time machine for your code.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Every commit is a snapshot&lt;/li&gt;
&lt;li&gt;You can go back to previous snapshots if something breaks&lt;/li&gt;
&lt;li&gt;You can collaborate with others without overwriting each other’s work&lt;/li&gt;
&lt;li&gt;Branches let you work on new features separately, then merge when ready&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;em&gt;In short: Git = your code diary + time machine + collaboration hub.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 14: Lessons Learnt.&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Location matters. Always run Git in your project folder.&lt;/li&gt;
&lt;li&gt;Ignore harmless warnings. Line-ending messages won’t hurt your files.&lt;/li&gt;
&lt;li&gt;Do not try to understand Git while hungry. Starvation leads to home folder disasters.&lt;/li&gt;
&lt;li&gt;Start small. One folder, one file, one commit.&lt;/li&gt;
&lt;li&gt;Have fun. Mistakes happen—laugh at them, learn, and push forward.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Git and GitHub can be intimidating at first, but step-by-step practice makes them approachable. Follow this guide, and soon you’ll feel like a Git superhero.&lt;br&gt;
&lt;em&gt;Commit responsibly, push wisely, and never Git hungry.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>github</category>
      <category>datascience</category>
    </item>
  </channel>
</rss>
