<?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: Daniel Kemei</title>
    <description>The latest articles on DEV Community by Daniel Kemei (@daniel_kemei).</description>
    <link>https://dev.to/daniel_kemei</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%2F3711854%2Faf433f26-780a-4aa9-895b-89286bdcb588.png</url>
      <title>DEV Community: Daniel Kemei</title>
      <link>https://dev.to/daniel_kemei</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/daniel_kemei"/>
    <language>en</language>
    <item>
      <title>How Analysts Translate Messy Data, DAX, and Dashboards into Action Using Power BI</title>
      <dc:creator>Daniel Kemei</dc:creator>
      <pubDate>Fri, 13 Feb 2026 07:16:31 +0000</pubDate>
      <link>https://dev.to/daniel_kemei/how-analysts-translate-messy-data-dax-and-dashboards-into-action-using-power-bi-3ka3</link>
      <guid>https://dev.to/daniel_kemei/how-analysts-translate-messy-data-dax-and-dashboards-into-action-using-power-bi-3ka3</guid>
      <description>&lt;h2&gt;
  
  
  The Reality of Messy Data
&lt;/h2&gt;

&lt;p&gt;Power BI is one of the tools for analysts that allows you to create and share robust and interactive reports in a secure environment.However,data from different sources does not arrive clean, structured, or ready for decision-making.Analysts are mostly faced with dirty data which may contain duplicate records, missing values or inconsistent date formats.&lt;br&gt;
Before any meaningful analysis can begin, analysts must first fix these issues.&lt;/p&gt;
&lt;h2&gt;
  
  
  Cleaning Data with Power Query
&lt;/h2&gt;

&lt;p&gt;This is where Power Query,a Component in Power BI, becomes essential. Power Query is the Worlds’ greatest washing machine for dirty data.It contains essential transformation techniques such as:&lt;/p&gt;
&lt;h3&gt;
  
  
  Remove duplicates
&lt;/h3&gt;

&lt;p&gt;This lets you identify and remove duplicate rows based on specific columns, ensuring each customer or transaction appears only once.&lt;/p&gt;
&lt;h3&gt;
  
  
  Change Data Types
&lt;/h3&gt;

&lt;p&gt;Setting the correct data type prevents calculation errors and enables proper sorting and filtering. For instance,ensuring date column is set to date or revenue column to number&lt;/p&gt;
&lt;h3&gt;
  
  
  Handle Errors in Specific Columns
&lt;/h3&gt;

&lt;p&gt;Errors can occur when data doesn't match expected formats. You can use the Replace Values to change "Error" to null or use conditional logic to handle them.&lt;/p&gt;
&lt;h3&gt;
  
  
  Remove blank or error rows
&lt;/h3&gt;

&lt;p&gt;Power Query lets you filter out blank rows automatically.&lt;/p&gt;
&lt;h3&gt;
  
  
  Standardizing formats
&lt;/h3&gt;

&lt;p&gt;Convert text to proper case, ensure dates follow a consistent format, and create uniform category names. For example, transforming "new york," "New York," and "NY" into a single standardized value.&lt;/p&gt;
&lt;h3&gt;
  
  
  Merging and appending data
&lt;/h3&gt;

&lt;p&gt;Combine sales data from different regions, join customer information with transaction records, or append monthly files into a single dataset.&lt;/p&gt;
&lt;h2&gt;
  
  
  DAX: Turning Data into Insights
&lt;/h2&gt;

&lt;p&gt;Once the data is clean, &lt;strong&gt;DAX (Data Analysis Expressions)&lt;/strong&gt; is where the analytical process begins. The syntax of DAX is not dissimilar to Excel’s function language but is extremely more powerful.&lt;br&gt;
DAX allows for the creation of the following: &lt;br&gt;
&lt;strong&gt;Calculated columns&lt;/strong&gt; are columns that are added to an existing table within the semantic model. These columns are defined by the DAX formula entered for the column. This formula is used to create a calculated value for each row in the table. &lt;br&gt;
&lt;strong&gt;Measures&lt;/strong&gt; are DAX formulas that are not tied to any particular table except as referenced within the DAX formula itself. These calculations are dynamic and can change values based upon the context within which the formula is calculated.&lt;br&gt;
 &lt;strong&gt;Calculated tables&lt;/strong&gt; are entire tables within the semantic model whose columns, rows, and values are defined by a DAX formula.&lt;br&gt;
There are several hundred DAX functions that can be used in formulas, and these functions can be infinitely nested to create extremely complex calculations. However, all DAX formulas have the same format: &lt;code&gt;Name = Formula&lt;/code&gt;&lt;br&gt;
&lt;strong&gt;Practical DAX Example&lt;/strong&gt;&lt;br&gt;
Consider a retail analyst needing to identify top-performing products. A simple measure might be:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Top 10 Product Sales = 
CALCULATE(
    SUM(Sales[Revenue]),
    TOPN(10, ALL(Products[ProductName]), [Total Sales], DESC)
)

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

&lt;/div&gt;



&lt;h2&gt;
  
  
  Building Dashboards That Drive Decisions
&lt;/h2&gt;

&lt;p&gt;Humans are visually oriented and thus it is advantageous to view the results of the analysis in the form of charts, reports, and dashboards. Charts may take the form of tables, matrices, pie charts, bar graphs, and other visual displays that help provide context and meaning to the analysis, and multiple charts are combined to make reports and dashboards&lt;br&gt;
Power BI offers a rich array of visualization types, each suited for specific types of analysis. Knowing which visuals to use and when can greatly enhance the effectiveness of your reports.&lt;/p&gt;

&lt;h3&gt;
  
  
  Design Principles for Actionable Dashboards:
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Clarity over complexity&lt;/strong&gt;: Resist the urge to cram every metric onto one page. Focus on the 3-5 KPIs that actually drive decisions for your audience. A sales manager needs different insights than a CFO.&lt;br&gt;
&lt;strong&gt;Choose visuals purposefully&lt;/strong&gt;: Use bar charts for comparisons, line charts for trends over time, cards for single KPIs, and maps for geographical analysis. Don't use a pie chart with 12 slices when a sorted bar chart would be clearer.&lt;br&gt;
&lt;strong&gt;Enable exploration with interactivity&lt;/strong&gt;: Slicers let users filter by date ranges, regions, or product categories. Drill-through pages allow them to click a high-level metric and explore the underlying details. Tooltips can display additional context without cluttering the visual.&lt;br&gt;
&lt;strong&gt;Visual hierarchy matters&lt;/strong&gt;: Place the most critical metrics at the top left (where eyes naturally go first), use consistent color schemes, and ensure text is readable without zooming.&lt;/p&gt;

&lt;p&gt;By mastering the three-step process—cleaning messy data with Power Query, creating intelligent calculations with DAX, and building focused dashboards—analysts enable their organizations to move from gut-feel decisions to data-driven action.&lt;br&gt;
The skill isn't just in knowing the tools; it's in understanding which business questions matter, what data transformations are necessary, and how to present insights that compel action. &lt;/p&gt;

</description>
      <category>datascience</category>
      <category>analytics</category>
      <category>analyst</category>
      <category>beginners</category>
    </item>
    <item>
      <title>Getting started with Data Modeling in Power BI</title>
      <dc:creator>Daniel Kemei</dc:creator>
      <pubDate>Mon, 02 Feb 2026 16:11:36 +0000</pubDate>
      <link>https://dev.to/daniel_kemei/getting-started-with-data-modeling-in-power-bi-758</link>
      <guid>https://dev.to/daniel_kemei/getting-started-with-data-modeling-in-power-bi-758</guid>
      <description>&lt;h2&gt;
  
  
  What is Data Modelling?
&lt;/h2&gt;

&lt;p&gt;Data modeling is the process of organizing and structuring your data tables and defining the relationships between them.This creates a logical framework that allows Power BI to understand how your data connects and flows.&lt;br&gt;
There are two types of table in Power BI:&lt;br&gt;
-Fact Tables&lt;br&gt;
-Dimension Tables&lt;/p&gt;

&lt;h3&gt;
  
  
  Fact Tables
&lt;/h3&gt;

&lt;p&gt;Fact tables contain the measurable and quantitative data in your model.They contain numbers you want to analyze, such as sales amounts, quantities sold, revenue, costs, or transaction counts.Fact tables typically contain many rows and have foreign keys that link to dimension tables.&lt;/p&gt;

&lt;h3&gt;
  
  
  Dimension Tables
&lt;/h3&gt;

&lt;p&gt;Dimension tables provide the descriptive context for your facts.A dimension table contains a key column  that acts as a unique identifier, and other columns which support filtering and grouping your data.&lt;/p&gt;

&lt;h1&gt;
  
  
  Star schema
&lt;/h1&gt;

&lt;p&gt;Star schema contains a central fact table connected to multiple dimension tables.&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%2Fr8a8w39ey51rnzrw57yz.jpg" 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%2Fr8a8w39ey51rnzrw57yz.jpg" alt=" " width="800" height="557"&gt;&lt;/a&gt;&lt;br&gt;
It is the most common and recommended data modeling approach in Power BI.&lt;br&gt;
In a star schema, you have:&lt;/p&gt;

&lt;p&gt;-One or more fact tables at the center containing your measurements&lt;/p&gt;

&lt;p&gt;-Dimension tables radiating outward, each connecting directly to the fact table&lt;/p&gt;

&lt;p&gt;-No connections between dimension tables themselves&lt;/p&gt;

&lt;h3&gt;
  
  
  Why Star Schema is Recommended
&lt;/h3&gt;

&lt;p&gt;Power BI's engine is specifically optimized for star schemas. The way it compresses data and performs calculations works best with this structure, resulting in faster query performance and smaller file sizes.&lt;br&gt;
Writing DAX formulas becomes more straightforward when your model follows a star schema, because the relationships are predictable and &lt;br&gt;
consistent.&lt;/p&gt;

&lt;h2&gt;
  
  
  Snowflake dimensions
&lt;/h2&gt;

&lt;p&gt;A snowflake dimension is a set of normalized tables for a single business entity.Products are assigned to subcategories, and subcategories are in turn assigned to categories.&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%2Furtxgdg27efe7qu1nyse.jpg" 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%2Furtxgdg27efe7qu1nyse.jpg" alt=" " width="800" height="557"&gt;&lt;/a&gt;&lt;br&gt;
While snowflake schemas can reduce data redundancy and save storage space in traditional databases, they're generally not recommended for Power BI for several reasons:&lt;/p&gt;

&lt;p&gt;-Power BI loads more tables, which is less efficient from storage and performance perspectives. These tables must include columns to support model relationships, and it can result in a larger model size.&lt;/p&gt;

&lt;p&gt;-Longer relationship filter propagation chains need to be traversed, which might be less efficient than filters applied to a single table.&lt;/p&gt;

&lt;p&gt;-The Data pane presents more model tables to report authors, which can result in a less intuitive experience, especially when snowflake dimension tables contain only one or two columns.&lt;/p&gt;

&lt;p&gt;-It's not possible to create a hierarchy that comprises columns from more than one table.&lt;/p&gt;

&lt;h2&gt;
  
  
  Relationships
&lt;/h2&gt;

&lt;p&gt;Relationships are the connections between tables that allow Power BI to combine data from multiple sources.&lt;/p&gt;

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

&lt;h4&gt;
  
  
  One-to-one relationship
&lt;/h4&gt;

&lt;p&gt;One-to-one relationships occur in two main scenarios: degenerate dimensions derived from fact tables, and row data that spans across tables where a single business entity is loaded as two or more model tables.&lt;br&gt;
&lt;strong&gt;For Intra Source Group Relationships&lt;/strong&gt;:&lt;br&gt;
When a one-to-one intra source group relationship exists between tables,it is reccommended to consolidate the data into a single model table by merging Power Query queries using a left outer join.&lt;br&gt;
&lt;strong&gt;For Cross Source Group Relationships&lt;/strong&gt;:&lt;br&gt;
When a one-to-one cross source group relationship exists between tables, there's no alternative model design unless you pre-consolidate the data in your data source, as Power BI evaluates these as limited relationships.&lt;/p&gt;

&lt;h4&gt;
  
  
  Many-to-Many Relationships
&lt;/h4&gt;

&lt;p&gt;Many-to-many scenarios occur in three situations: relating two dimension tables, relating dimension tables to higher grain fact tables, and the  many-to-many scenario involving entities like bank customers and bank accounts.&lt;/p&gt;

&lt;h4&gt;
  
  
  Active vs Inactive Relationships
&lt;/h4&gt;

&lt;h4&gt;
  
  
  Active Relationships
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;By default, only &lt;strong&gt;one active relationship&lt;/strong&gt; can exist between two tables.
&lt;/li&gt;
&lt;li&gt;Active relationships propagate filters automatically in visuals.
&lt;/li&gt;
&lt;li&gt;Use active relationships &lt;strong&gt;where most filtering should occur&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  Inactive Relationships
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;Inactive relationships do &lt;strong&gt;not&lt;/strong&gt; filter by default.
&lt;/li&gt;
&lt;li&gt;Use them when you have multiple possible joins (like a fact table with two date columns)&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  Bi-Directional relationship
&lt;/h4&gt;

&lt;p&gt;A &lt;strong&gt;bi-directional relationship&lt;/strong&gt; sends filters in both directions between tables, instead of the usual one-way flow.&lt;br&gt;
&lt;strong&gt;When Bi-Directional Is Useful&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Special cases&lt;/strong&gt; such as many-to-many with a bridge table or one-to-one relationships.
&lt;/li&gt;
&lt;li&gt;Scenarios where slicers should reflect only values with data (like Excel pivot slicers).
&lt;/li&gt;
&lt;li&gt;Limited dimension-to-dimension analysis where filters need to propagate across multiple tables.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Why Good Data Modeling Matters
&lt;/h3&gt;

&lt;p&gt;The quality of your data model directly impacts three critical areas: performance, accuracy, and usability.&lt;/p&gt;

&lt;h2&gt;
  
  
  Practical Tips for Building Your Model
&lt;/h2&gt;

&lt;p&gt;-Start by identifying your fact tables—what are you measuring? Then identify the dimensions—what context do you need to analyze those measurements?&lt;/p&gt;

&lt;p&gt;-Transform your data in Power Query to create star schemas. Merge snowflaked dimensions, remove unnecessary columns, and ensure your dimension tables have unique keys.&lt;br&gt;
-Create a calendar table using DAX or Power Query, even if you have date columns in your fact tables. This gives you complete control over fiscal years, holidays, and custom date groupings.&lt;br&gt;
-Name your tables and columns clearly and consistently. Use spaces in names to make them readable &lt;br&gt;
-Hide technical columns like keys and internal IDs that users don't need to see in reports. Keep your field list clean and focused on business-relevant fields.&lt;/p&gt;

</description>
      <category>datascience</category>
      <category>dataengineering</category>
      <category>database</category>
      <category>data</category>
    </item>
    <item>
      <title>Excel:A Beginners Guide</title>
      <dc:creator>Daniel Kemei</dc:creator>
      <pubDate>Sun, 25 Jan 2026 16:08:18 +0000</pubDate>
      <link>https://dev.to/daniel_kemei/excela-beginners-guide-51fk</link>
      <guid>https://dev.to/daniel_kemei/excela-beginners-guide-51fk</guid>
      <description>&lt;p&gt;&lt;strong&gt;Excel&lt;/strong&gt; is a powerful spreadsheet program created by Microsoft that helps you organize, calculate, and analyze data.In Data Analysis Excel structures data in a meaningful way by letting you:&lt;br&gt;
-Collect, store, organize, and sort information.&lt;/p&gt;

&lt;p&gt;-Identify patterns and piece the data together in a way that works for each specific data project.&lt;/p&gt;

&lt;p&gt;-Create  data visualizations, like graphs and charts.&lt;/p&gt;

&lt;h2&gt;
  
  
  Excel Overview
&lt;/h2&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%2Fgho92ye7eb3xpgym1a3k.jpg" 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%2Fgho92ye7eb3xpgym1a3k.jpg" alt=" " width="800" height="421"&gt;&lt;/a&gt;&lt;br&gt;
The &lt;strong&gt;Ribbon&lt;/strong&gt; provides shortcuts to Excel commands.This can for example be to: insert a table, change the font size, or to change the color of a cell.&lt;br&gt;
The &lt;strong&gt;Sheet&lt;/strong&gt; is a set of &lt;em&gt;rows&lt;/em&gt; and &lt;em&gt;columns&lt;/em&gt;.&lt;br&gt;
&lt;strong&gt;Rows&lt;/strong&gt; are organized horizontally and are ordered by number while &lt;strong&gt;columns&lt;/strong&gt; are ordered vertically and are ordered by letters.A &lt;strong&gt;cell&lt;/strong&gt; is a single box at the intersection of a row and columns and is referenced by combining the column letter and the row number where it is located.For example,In the above image the word &lt;em&gt;row&lt;/em&gt; is in cell &lt;code&gt;D4&lt;/code&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Excel Functionalities Explained
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1. Working with Formulas
&lt;/h3&gt;

&lt;p&gt;A  &lt;strong&gt;Formula&lt;/strong&gt; is a set of instructions used to perform a calculation using the data in a spreadsheet.Formulas always start with the equal sign &lt;code&gt;=&lt;/code&gt; typed in the cell, followed by your calculation.&lt;/p&gt;

&lt;h4&gt;
  
  
  Creating formulas, step by step
&lt;/h4&gt;

&lt;p&gt;1.Select a cell&lt;br&gt;
2.Type the equal sign (&lt;code&gt;=&lt;/code&gt;)&lt;br&gt;
3.Select a cell or type value&lt;br&gt;
4.Enter an arithmetic operator&lt;br&gt;
5.Select another cell or type value &lt;br&gt;
6.Press &lt;code&gt;enter&lt;/code&gt;&lt;br&gt;
You can make formulas with arithmetic operations such as:&lt;br&gt;
&lt;strong&gt;Addition(+)&lt;/strong&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%2F46943m331q22e19pb89o.jpg" 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%2F46943m331q22e19pb89o.jpg" alt=" " width="800" height="348"&gt;&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;Subtraction(-)&lt;/strong&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%2F8lz9x6zbi6bmn1yifx0g.jpg" 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%2F8lz9x6zbi6bmn1yifx0g.jpg" alt=" " width="800" height="348"&gt;&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;Multiplication(*)&lt;/strong&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%2F7ml9c6htj7uyyl1ohb12.jpg" 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%2F7ml9c6htj7uyyl1ohb12.jpg" alt=" " width="800" height="348"&gt;&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;Division(/)&lt;/strong&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%2Fhbuaoesxnpx85mvuuql6.jpg" 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%2Fhbuaoesxnpx85mvuuql6.jpg" alt=" " width="800" height="348"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  2.Using Functions
&lt;/h2&gt;

&lt;p&gt;A &lt;strong&gt;function&lt;/strong&gt; is a preset command that automatically performs a specific process or task using the data in a spreadsheet.&lt;br&gt;
&lt;strong&gt;SUM - Add Numbers Together&lt;/strong&gt;&lt;br&gt;
Syntax: &lt;code&gt;=SUM(number1, number2, ...)&lt;/code&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1whoqzgve65gcy2vyx6b.jpg" 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%2F1whoqzgve65gcy2vyx6b.jpg" alt=" " width="800" height="348"&gt;&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;AVERAGE - Calculate Mean&lt;/strong&gt;&lt;br&gt;
Syntax:&lt;code&gt;=AVERAGE(number1, number2, ...)&lt;/code&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fcui70awjp9hrliisclx9.jpg" 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%2Fcui70awjp9hrliisclx9.jpg" alt=" " width="800" height="348"&gt;&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;MIN and MAX - Find smallest and largest values&lt;/strong&gt;&lt;br&gt;
Syntax: &lt;code&gt;=MIN(range)&lt;/code&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fn5b83ws9qywvg5exff8x.jpg" 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%2Fn5b83ws9qywvg5exff8x.jpg" alt=" " width="800" height="348"&gt;&lt;/a&gt;&lt;br&gt;
Syntax: &lt;code&gt;=MAX(range)&lt;/code&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fipbo85rsnmmwd921n8c7.jpg" 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%2Fipbo85rsnmmwd921n8c7.jpg" alt=" " width="800" height="348"&gt;&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;COUNT - Counts cells containing numbers&lt;/strong&gt;&lt;br&gt;
Syntax: &lt;code&gt;=COUNT(range)&lt;/code&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9f3tu4iloephi7fze1k5.jpg" 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%2F9f3tu4iloephi7fze1k5.jpg" alt=" " width="800" height="348"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Text Functions for Data Cleaning
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;LOWER function is used to lowercase text in a cell&lt;/strong&gt;&lt;br&gt;
Syntax: &lt;code&gt;=LOWER(cell)&lt;/code&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnw6buknqbm2tik33cdd8.jpg" 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%2Fnw6buknqbm2tik33cdd8.jpg" alt=" " width="800" height="348"&gt;&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;UPPER function is used to uppercase text in a cell&lt;/strong&gt;&lt;br&gt;
Syntax: &lt;code&gt;=UPPER(cell)&lt;/code&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F21zcuif47htw1vqjsfte.jpg" 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%2F21zcuif47htw1vqjsfte.jpg" alt=" " width="800" height="348"&gt;&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;PROPER function capitalizes the first letter of every word in a text string and converts all other letters to lowercase&lt;/strong&gt;&lt;br&gt;
Syntax: &lt;code&gt;=PROPER(cell)&lt;/code&gt;&lt;br&gt;
&lt;strong&gt;TRIM function is used to remove irregular text spacing and keep single spaces between words.&lt;/strong&gt;&lt;br&gt;
Syntax:&lt;code&gt;=TRIM(cell)&lt;/code&gt;&lt;br&gt;
&lt;strong&gt;The CONCAT function is used to link multiple cells without adding any delimiters between the combined cell values.&lt;/strong&gt;&lt;br&gt;
Syntax:&lt;code&gt;=CONCAT(cell1, delimiter, cell2)&lt;/code&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Conditional Math Functions
&lt;/h2&gt;

&lt;p&gt;These calculate only for rows meeting specific criteria.&lt;br&gt;
&lt;strong&gt;SUMIF - Sum based on one condition&lt;/strong&gt;&lt;br&gt;
Syntax: &lt;code&gt;=SUMIF(range, criteria, [sum_range])&lt;/code&gt;&lt;br&gt;
&lt;strong&gt;SUMIFS - Sum based on multiple conditions&lt;/strong&gt;&lt;br&gt;
Syntax: =&lt;code&gt;SUMIFS(sum_range, criteria_range1, criteria1, criteria_range2, criteria2, ...)&lt;/code&gt;&lt;br&gt;
&lt;strong&gt;COUNTIF counts cells as specified.&lt;/strong&gt;&lt;br&gt;
Syntax=&lt;code&gt;COUNTIF(range,criteria)&lt;/code&gt;&lt;br&gt;
&lt;strong&gt;COUNT IFS is used to count cells in a range based on one or more true or false condition.&lt;/strong&gt;&lt;br&gt;
Syntax=&lt;code&gt;COUNTIFS(criteria_range1, criteria1, [criteria_range2, criteria2], ...)&lt;/code&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Logical Functions
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;IF Function returns values based on a true or false condition.&lt;/strong&gt;&lt;br&gt;
Syntax&lt;code&gt;=IF(logical_test, [value_if_true], [value_if_false])&lt;/code&gt;&lt;br&gt;
&lt;strong&gt;AND - Returns TRUE only if ALL conditions are TRUE&lt;/strong&gt;&lt;br&gt;
Syntax&lt;code&gt;=AND([logical1], [logical2], ...)&lt;/code&gt;&lt;br&gt;
&lt;strong&gt;OR - Returns TRUE if ANY condition is TRUE&lt;/strong&gt;&lt;br&gt;
Syntax&lt;code&gt;=OR([logical1], [logical2], ...)&lt;/code&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Lookup Functions
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;VLOOKUP - Search vertically in a table&lt;/strong&gt;&lt;br&gt;
Syntax: &lt;code&gt;=VLOOKUP(lookup_value, table_array, col_index_num, FALSE)&lt;/code&gt;&lt;br&gt;
&lt;strong&gt;HLOOKUP - Search Horizontally in a table&lt;/strong&gt;&lt;br&gt;
Syntax: &lt;code&gt;=HLOOKUP(lookup_value, table_array, row_index_num, FALSE)&lt;/code&gt;&lt;br&gt;
&lt;strong&gt;INDEX + MATCH-retrieves data from a table based on vertical or horizontal criteria&lt;/strong&gt;&lt;br&gt;
Syntax=&lt;code&gt;INDEX(return_range, MATCH(lookup_value, lookup_range, 0))&lt;/code&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  3.Data Organization and Management
&lt;/h2&gt;

&lt;p&gt;Excel is useful in organizing data in structured ways.&lt;/p&gt;

&lt;h3&gt;
  
  
  Sorting data
&lt;/h3&gt;

&lt;p&gt;Arranging data into a meaningful order to make it easier to understand,analyze and visualize.&lt;br&gt;
Ranges can be sorted using the Sort Ascending and Sort Descending commands.&lt;br&gt;
&lt;strong&gt;Sort Ascending&lt;/strong&gt;: from smallest to largest.&lt;br&gt;
&lt;strong&gt;Sort Descending&lt;/strong&gt;: from largest to smallest.&lt;br&gt;
1.Select Data: Select the entire range of data, including headers, or just a single cell in the range. &lt;br&gt;
2.Open Sort Dialog: Go to the Data tab and click the Sort button (the icon with A/Z and an arrow). &lt;br&gt;
3.Configure Sort: In the dialog box:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;My data has headers: Check this if your selection includes header rows. 
-Sort by: Choose the column you want to sort by first.&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%2Fe6jakxcffdjxxvy0irh7.jpg" 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%2Fe6jakxcffdjxxvy0irh7.jpg" alt=" " width="800" height="611"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Filtering data
&lt;/h3&gt;

&lt;p&gt;Showing only the data that meets a specific criteria&lt;/p&gt;

&lt;p&gt;-Select the header row of your dataset.&lt;/p&gt;

&lt;p&gt;-Go to the Data tab and click Filter.&lt;/p&gt;

&lt;p&gt;-Click the arrow in the header cell of the column you want to filter.&lt;/p&gt;

&lt;p&gt;-Uncheck "Select All" and select the desired criteria, or use "Text Filters" / "Number Filters" for specific criteria.&lt;/p&gt;

&lt;p&gt;-Click OK&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%2Ffdttxfx63rg8nev7gsn0.jpg" 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%2Ffdttxfx63rg8nev7gsn0.jpg" alt=" " width="800" height="611"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  4.Conditional Formatting
&lt;/h2&gt;

&lt;p&gt;Spreadsheet tool that changes how cells appear when values meet specific conditions.&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%2Fby0t5c1by4c6mvtgxyts.jpg" 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%2Fby0t5c1by4c6mvtgxyts.jpg" alt=" " width="800" height="611"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  5.Pivot Table
&lt;/h2&gt;

&lt;p&gt;Data summarization tool used in data processing.They are used to summarize,sort,reorganize,group,count,total or average data.&lt;/p&gt;

&lt;h3&gt;
  
  
  How to create a pivot table
&lt;/h3&gt;

&lt;p&gt;1.Insert: Click any cell in your data, go to the Insert tab, and select PivotTable.&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%2Fzz9484vj29gfuqkukene.jpg" 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%2Fzz9484vj29gfuqkukene.jpg" alt=" " width="800" height="557"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;2.Configure: Choose to place it on a new or existing sheet, then click OK.&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%2Fa3ylxjxmrkgep7xagjxs.jpg" 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%2Fa3ylxjxmrkgep7xagjxs.jpg" alt=" " width="800" height="557"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;3.Field List: Drag fields from the list into the four areas: Filters, Columns, Rows, or Values. &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%2Fifmk1jsd8n56x0l5xlo0.jpg" 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%2Fifmk1jsd8n56x0l5xlo0.jpg" alt=" " width="800" height="557"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Key Components &amp;amp; Functions
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Rows/Columns&lt;/strong&gt;: Define the categories for organizing data.&lt;br&gt;
&lt;strong&gt;Values&lt;/strong&gt;: The numerical data to be summarized (e.g., Sum of Sales).&lt;br&gt;
&lt;strong&gt;Filters&lt;/strong&gt;: Restricts the data displayed.&lt;br&gt;
&lt;strong&gt;Calculated Fields&lt;/strong&gt;: Create new data points &lt;br&gt;
&lt;strong&gt;Slicers&lt;/strong&gt;: Visual filters for creating interactive dashboards.  &lt;/p&gt;

&lt;h2&gt;
  
  
  6. Creating Charts and Graphs
&lt;/h2&gt;

&lt;p&gt;Visual representations make data patterns immediately obvious.&lt;/p&gt;

&lt;h3&gt;
  
  
  Common Chart Types:
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Column Charts&lt;/strong&gt; - Vertical bars comparing categories&lt;/p&gt;

&lt;p&gt;Best for: Comparing sales across different products&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Bar Charts&lt;/strong&gt; - Horizontal bars comparing categories&lt;/p&gt;

&lt;p&gt;Best for: Showing rankings or when category names are long&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Line Charts&lt;/strong&gt; - Show trends over time&lt;/p&gt;

&lt;p&gt;Best for: Tracking monthly revenue growth&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Pie Charts&lt;/strong&gt; - Show parts of a whole&lt;/p&gt;

&lt;p&gt;Best for: Displaying market share percentages&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Scatter Plots&lt;/strong&gt; - Show relationships between two variables&lt;/p&gt;

&lt;p&gt;Best for: Analyzing correlations&lt;br&gt;
&lt;strong&gt;Creating Charts in Excel&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;1.Select Data: Highlight the cells containing the data you want to visualize.&lt;/p&gt;

&lt;p&gt;2.Insert Chart: Go to the "Insert" tab on the ribbon and select a chart type (e.g., column, line, or pie).&lt;/p&gt;

&lt;p&gt;3.Customize: Use the "Chart Design" and "Format" tabs to add titles, axis labels, legends, and adjust styles. &lt;/p&gt;

&lt;p&gt;.&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>datascience</category>
      <category>data</category>
      <category>analyst</category>
    </item>
    <item>
      <title>Getting Started with Git and GitHub</title>
      <dc:creator>Daniel Kemei</dc:creator>
      <pubDate>Sun, 18 Jan 2026 10:52:23 +0000</pubDate>
      <link>https://dev.to/daniel_kemei/getting-started-with-git-and-github-6ig</link>
      <guid>https://dev.to/daniel_kemei/getting-started-with-git-and-github-6ig</guid>
      <description>&lt;h2&gt;
  
  
  What is Version Control?
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Version Control&lt;/strong&gt; is a system that tracks and manages changes to your code over time. This lets you:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Track who made what changes and when&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Revert to previous versions of your project&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Collaborate with others&lt;br&gt;
&lt;strong&gt;Git&lt;/strong&gt; is the most popular version control system.&lt;br&gt;
&lt;strong&gt;GitHub&lt;/strong&gt; on the other hand is a platform where you can store and share your Git repositories online.A &lt;strong&gt;repository&lt;/strong&gt; Is a place where all versions of your files and their complete change history are stored.&lt;br&gt;
Think of &lt;strong&gt;Git&lt;/strong&gt; like your personal diaries where you write entries and &lt;strong&gt;Github&lt;/strong&gt; like the library where you share your diaries with others&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Step 1: Introduce Yourself to Git
&lt;/h2&gt;

&lt;p&gt;Before you start using Git, you need to configure it with your identity which will be attached to every change you make.&lt;/p&gt;

&lt;h3&gt;
  
  
  Set Your Username
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git config --global user.name "yourname"
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Set Your Email
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git config --global user.email "youremail@gmail.com"
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Important&lt;/strong&gt;: Use the same email address that you'll use for your GitHub account.&lt;/p&gt;

&lt;h3&gt;
  
  
  Verify Your Configuration
&lt;/h3&gt;

&lt;p&gt;To confirm everything is set up correctly, run:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git config --global --list
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This command will display your configured username and email.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 2: Connect Git to GitHub Using SSH
&lt;/h2&gt;

&lt;p&gt;SSH (Secure Shell) provides a secure way to connect your computer to GitHub without typing your password every time.&lt;/p&gt;

&lt;h3&gt;
  
  
  Generate Your SSH Key
&lt;/h3&gt;

&lt;p&gt;Run this command to create a new SSH key pair:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;ssh-keygen -t ed25519 -C "youremail@gmail.com"
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;What this does&lt;/strong&gt;: Generates a public/private key pair using the ed25519 encryption algorithm.&lt;br&gt;
&lt;strong&gt;When prompted&lt;/strong&gt;:&lt;br&gt;
&lt;strong&gt;Path to save the key&lt;/strong&gt;: Press &lt;code&gt;Enter&lt;/code&gt; to accept the default location &lt;br&gt;
&lt;strong&gt;Passphrase&lt;/strong&gt;: You can press &lt;code&gt;Enter&lt;/code&gt; to skip, or add a password for extra security&lt;/p&gt;
&lt;h3&gt;
  
  
  Start the SSH Agent
&lt;/h3&gt;

&lt;p&gt;The SSH agent is a program that holds your private keys in memory. Start it with:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;eval "$(ssh-agent -s)"
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;You should see output like &lt;code&gt;Agent pid 12345&lt;/code&gt;, confirming the agent is running.&lt;/p&gt;

&lt;h3&gt;
  
  
  Add Your Key to the SSH Agent
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;ssh-add ~/.ssh/id_ed25519
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This adds your newly generated private key to the agent so it can be used for authentication.&lt;/p&gt;

&lt;h3&gt;
  
  
  Copy Your Public Key
&lt;/h3&gt;

&lt;p&gt;To view and copy your public key, run:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;cat ~/.ssh/id_ed25519.pub
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This will display your public key. Copy the entire output.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 3: Add Your SSH Key to GitHub
&lt;/h2&gt;

&lt;p&gt;Now you need to tell GitHub about your SSH key:&lt;/p&gt;

&lt;p&gt;Go to  GitHub.com and sign in&lt;br&gt;
Click your profile picture (top right) → &lt;strong&gt;Settings&lt;/strong&gt;&lt;br&gt;
In the left sidebar, click &lt;strong&gt;SSH and GPG keys&lt;/strong&gt;&lt;br&gt;
Click the &lt;strong&gt;New SSH key&lt;/strong&gt; button&lt;br&gt;
Give your key a descriptive title (e.g., "My Laptop")&lt;br&gt;
Paste your public key into the "Key" field&lt;br&gt;
Click &lt;strong&gt;Add SSH key&lt;/strong&gt;&lt;/p&gt;
&lt;h3&gt;
  
  
  Test Your Connection
&lt;/h3&gt;

&lt;p&gt;Verify everything is working:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;ssh -T git@github.com
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;If successful, you'll see a message like: &lt;code&gt;Hi username! You've successfully authenticated...&lt;br&gt;
&lt;/code&gt;&lt;/p&gt;
&lt;h2&gt;
  
  
  Step 4: Create Your First Repository
&lt;/h2&gt;

&lt;p&gt;You can create a &lt;strong&gt;repository&lt;/strong&gt;  locally on your computer or on GitHub.&lt;/p&gt;
&lt;h3&gt;
  
  
  Option A: Create a New Repository on GitHub
&lt;/h3&gt;

&lt;p&gt;Go to GitHub.com and sign in&lt;br&gt;
Click the + icon in the top right → &lt;strong&gt;New repository&lt;/strong&gt;&lt;br&gt;
Give your repository a name &lt;br&gt;
Add a description&lt;br&gt;
Choose &lt;strong&gt;Public&lt;/strong&gt; or &lt;strong&gt;Private&lt;/strong&gt;&lt;br&gt;
Check "&lt;strong&gt;Add a README file&lt;/strong&gt;" &lt;br&gt;
Click &lt;strong&gt;Create repository&lt;/strong&gt;&lt;/p&gt;
&lt;h3&gt;
  
  
  Option B: Create a Local Repository
&lt;/h3&gt;

&lt;p&gt;Navigate to your project folder and initialize Git:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;bashcd /path/to/your/project
git init
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This creates a hidden &lt;code&gt;.git&lt;/code&gt; folder that tracks all your changes.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 5: Track Changes with Git
&lt;/h2&gt;

&lt;p&gt;Git tracks changes in three stages: &lt;strong&gt;Working Directory → Staging Area → Repository.&lt;/strong&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Check the Status of Your Files
&lt;/h3&gt;

&lt;p&gt;See which files have been modified:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git status
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This shows you:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Files that have been changed&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Files that are staged (ready to commit)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Files that are untracked (new files Git doesn't know about)&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Add Files to the Staging Area
&lt;/h3&gt;

&lt;p&gt;Before Git can save your changes, you need to stage them:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;# Add a specific file
git add filename.txt

### Add all changed files
git add .

# Add multiple specific files
git add file1.txt file2.txt file3.txt
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Commit Your Changes
&lt;/h3&gt;

&lt;p&gt;A commit is a snapshot of your project at a specific point in time. Each commit has a message describing what changed.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git commit -m "Add initial project files"
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  View Your Commit History
&lt;/h3&gt;

&lt;p&gt;See all the commits you've made:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git log
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Step 6: Push Your Code to GitHub
&lt;/h2&gt;

&lt;p&gt;Pushing means sending your local commits to GitHub so others can see them.&lt;/p&gt;

&lt;h2&gt;
  
  
  Push for the First Time
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git push -u origin main
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h4&gt;
  
  
  Push Subsequent Changes
&lt;/h4&gt;

&lt;p&gt;After the first push, you can simply use:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git push
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Step 7: Pull Changes from GitHub
&lt;/h2&gt;

&lt;p&gt;Pulling means downloading changes from GitHub to your local computer. &lt;/p&gt;

&lt;h3&gt;
  
  
  Pull the Latest Changes
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git pull
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This downloads and merges changes from GitHub into your local repository.&lt;/p&gt;

</description>
      <category>data</category>
      <category>git</category>
      <category>programming</category>
      <category>beginners</category>
    </item>
  </channel>
</rss>
