<?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>Forem: Brian Muchoki</title>
    <description>The latest articles on Forem by Brian Muchoki (@brianm).</description>
    <link>https://forem.com/brianm</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%2F3708857%2Fba9c9883-c246-42dd-b422-adcfc02c7128.png</url>
      <title>Forem: Brian Muchoki</title>
      <link>https://forem.com/brianm</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/brianm"/>
    <language>en</language>
    <item>
      <title>Joins and Windows Functions in SQL</title>
      <dc:creator>Brian Muchoki</dc:creator>
      <pubDate>Sat, 28 Feb 2026 17:16:39 +0000</pubDate>
      <link>https://forem.com/brianm/joins-and-windows-functions-in-sql-530h</link>
      <guid>https://forem.com/brianm/joins-and-windows-functions-in-sql-530h</guid>
      <description>&lt;h1&gt;
  
  
  Joins
&lt;/h1&gt;

&lt;p&gt;&lt;strong&gt;Let's JOIN It!&lt;/strong&gt;&lt;br&gt;
Joins combine two or more tables based on a related column.&lt;br&gt;
They aid in:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Retrieval of connected data that is stored across multiple tables.&lt;/li&gt;
&lt;li&gt;Matching records using columns.&lt;/li&gt;
&lt;li&gt;Improvement of Data Analysis through the combination of related information.&lt;/li&gt;
&lt;li&gt;Creation of a meaningful result set from separate tables.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;
  
  
  Types of SQL joins
&lt;/h2&gt;

&lt;p&gt;SQL joins are categorized by how rows from two tables are matched and combined.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;SQL Inner Join:&lt;/strong&gt; They retrieve rows where matching values exist in both tables.
They help in combining records based on a related column, retrieving only matching rows from both tables and ensuring accurate data relationships between tables.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Syntax&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;&lt;code&gt;Inner Join&lt;br&gt;
SELECT table1.column1,table1.column2,table2.column1,.... FROM table1  INNER JOIN&lt;br&gt;
 table2 ON  table1.matching_column = table2.matching_column;&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;&lt;em&gt;The join is also known as the Inner Join.&lt;/em&gt;&lt;br&gt;
&lt;em&gt;For Instance, if I have two tables, the customers table and orders table, and I want to know the customer who made an order, I can use the common column, which is the customer_id, to merge the tables.&lt;/em&gt;&lt;br&gt;
&lt;strong&gt;The Snapshot below shows a sample query:&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%2Fvv2oj2zuxx5zx1gezj5j.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%2Fvv2oj2zuxx5zx1gezj5j.png" alt="INNER JOIN" width="800" height="388"&gt;&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;Left Join:&lt;/strong&gt; They retrieve all rows on the left table and matching rows from the right table, and show null values where no match exists. It prioritizes the first table you mention.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Syntax&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;&lt;code&gt;Left Join&lt;br&gt;
SELECT table1.column1,table1.column2,table2.column1,....&lt;br&gt;
FROM table1 &lt;br&gt;
LEFT JOIN table2&lt;br&gt;
ON table1.matching_column = table2.matching_column;&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;&lt;em&gt;The Left Join is also known as the Left Outer Join.&lt;/em&gt;&lt;br&gt;
&lt;em&gt;For Instance, if I have two tables, the customers table and orders table, and I want to know the customer who made an order, I can use the common column, which is the customer_id, to merge the tables. The first table I chose is the customers table.&lt;/em&gt;&lt;br&gt;
&lt;strong&gt;The Snapshot below shows a sample query:&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%2Fovq3erq8cdq69k75dklv.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%2Fovq3erq8cdq69k75dklv.png" alt="LEFT JOIN" width="800" height="297"&gt;&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;Right Join:&lt;/strong&gt; It retrieves all rows from the right table and matching rows from the left table, and displays null values where no matching records exist in the left table. It prioritizes the second table you choose.&lt;br&gt;
&lt;em&gt;The Right Join is also known as the Right Outer Join.&lt;/em&gt;&lt;br&gt;
&lt;strong&gt;&lt;em&gt;Syntax&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;&lt;code&gt;Right Join&lt;br&gt;
SELECT table1.column1,table1.column2,table2.column1,....&lt;br&gt;
FROM table1 &lt;br&gt;
RIGHT JOIN table2&lt;br&gt;
ON table1.matching_column = table2.matching_column;&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;&lt;em&gt;For Instance, if I have two tables, the customers table and orders table, and I want to know the customer who made an order, I can use the common column, which is the customer_id, to merge the tables. The first table I chose is the orders table.&lt;/em&gt;&lt;br&gt;
&lt;strong&gt;The Snapshot below shows a sample query:&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%2Fvmjh6pbuqbtlushzjht6.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%2Fvmjh6pbuqbtlushzjht6.png" alt="Right Join" width="800" height="228"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;SQL Full Join:&lt;/strong&gt; It combines the results of both the left and right joins, providing complete data from both sides of the join.&lt;br&gt;
&lt;strong&gt;&lt;em&gt;Syntax&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;&lt;code&gt;SELECT table1.column1,table1.column2,table2.column1,....&lt;br&gt;
FROM table1 &lt;br&gt;
FULL JOIN table2&lt;br&gt;
ON table1.matching_column = table2.matching_column;&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;&lt;em&gt;If a customer has never placed an order, they still show up. If an order has no matching customer, it still shows up. Nobody gets left out.&lt;/em&gt;&lt;br&gt;
&lt;strong&gt;The Snapshot below shows a sample query:&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%2Ffhurif9yts0mk98nx3yq.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%2Ffhurif9yts0mk98nx3yq.png" alt="Full Join" width="800" height="230"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h1&gt;
  
  
  Window Functions in SQL
&lt;/h1&gt;

&lt;p&gt;They perform calculations across a specific set of rows(the window)(defined by an over clause) that are related to the current row without collapsing them into a single value.&lt;br&gt;
They use values from one or multiple rows to return a value for each row.&lt;br&gt;
They are commonly used for tasks such as aggregation, averaging, ranking, and running totals.&lt;br&gt;
&lt;strong&gt;Key Components of SQL Window Functions&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Select: This defines the columns you want to select from the table_name.&lt;/li&gt;
&lt;li&gt;Function: This is the window function you want to use.&lt;/li&gt;
&lt;li&gt;Over Clause: This defines the partitioning and ordering of rows and can be applied with functions to compute aggregated values.&lt;/li&gt;
&lt;li&gt;Partition by: This divides rows into partitions based on specified expressions. It is suitable for large datasets because it makes them simpler to manage.&lt;/li&gt;
&lt;li&gt;Order by: This is a specified order expression to define the order in which rows will be processed within each partition.&lt;/li&gt;
&lt;li&gt;Output column: This is the name you give to your output column.
*** Window functions are used after the processing of WHERE, GROUP BY and HAVING.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Syntax&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;&lt;code&gt;SELECT column_name1, &lt;br&gt;
       window_function(column_name2) &lt;br&gt;
       OVER ([PARTITION BY column_name3] [ORDER BY column_name4]) AS new_column&lt;br&gt;
FROM table_name;&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Types of SQL Windows Functions&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;&lt;em&gt;Aggregate Functions&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;AVG: Average value in a group. It ignores null values.&lt;/li&gt;
&lt;li&gt;MAX: Finds the maximum value in an expression.&lt;/li&gt;
&lt;li&gt;MIN: Finds the minimum value in an expression.&lt;/li&gt;
&lt;li&gt;SUM: Sum of all values, or only the distinct values.&lt;/li&gt;
&lt;li&gt;COUNT: This is the number of times a value is found in a group.&lt;/li&gt;
&lt;li&gt;STDEV: Returns the statistical standard deviation of all values in the specified expression.&lt;/li&gt;
&lt;li&gt;STDEVP: Returns the statistical standard deviation for the population for all the values in the specified expression.&lt;/li&gt;
&lt;li&gt;VAR: Returns the statistical variance of all the values in the specified expression. An over clause may follow it.&lt;/li&gt;
&lt;li&gt;VARP: Returns the statistical variance for the population for all the values in the specified expression.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Ranking Window Functions.&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Row-Number: It assigns a unique number to each row in a result set. Increment is by 1 for every row, and avoids duplication.&lt;/li&gt;
&lt;li&gt;Rank: It assigns a unique rank to each row with gaps/or while skipping duplicates/ties in a result set. Mainly used to organize and analyze data.&lt;/li&gt;
&lt;li&gt;Dense Rank: It assigns a unique rank to each row without skipping rank numbers for duplicates. The same rank can have the same values or ties.&lt;/li&gt;
&lt;li&gt;Percent Rank: It shows the relative rank of a row as a percentage within a group of rows.
N-tile: It distributes rows in an ordered partition with a specified number of approximately equal groups.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Value Window Functions.&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;LAG: Retrieves values from rows that precede the current row in the result set.&lt;/li&gt;
&lt;li&gt;LEAD: Retrieves values from rows that follow the current row in the result set.&lt;/li&gt;
&lt;li&gt;FIRST_VALUE: Returns the first value in an ordered set of values within a partition.&lt;/li&gt;
&lt;li&gt;LAST_VALUE: Returns the last value in an ordered set of values within a partition.&lt;/li&gt;
&lt;li&gt;NTH_VALUE: Returns the value of the nth row in the ordered set of values.&lt;/li&gt;
&lt;li&gt;CUME_DIST: Returns the cumulative distribution of a value in a group of values.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Benefits of SQL Window Functions&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Efficiency: There are fewer queries to be processed by the query. Queries are concise and precise.&lt;/li&gt;
&lt;li&gt;Versatility: They help in aggregation, ranking, distribution, etc., without narrowing the result set down to a single row.&lt;/li&gt;
&lt;li&gt;Row-Level Context: They preserve the original rows and columns in the result set.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;To Note:&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
&lt;em&gt;Partition carefully because, without a partition, the whole table is treated as one group.&lt;/em&gt;&lt;br&gt;
&lt;em&gt;Check order by because it controls the calculation order in the window.&lt;/em&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Conclusion
&lt;/h3&gt;

&lt;p&gt;Data rarely comes neat and ready to use. Depending on your needs, joins and window functions are how you make sense of it; Connecting relationships and unearthing insights that would otherwise stay hidden. Knowing which tool to reach for makes all the difference. And like most things, the more you practice, the more natural it becomes.&lt;/p&gt;

</description>
      <category>sql</category>
      <category>dataanlytics</category>
      <category>database</category>
      <category>datascience</category>
    </item>
    <item>
      <title>SCHEMAS &amp; DATA MODELLING IN POWER BI</title>
      <dc:creator>Brian Muchoki</dc:creator>
      <pubDate>Wed, 18 Feb 2026 07:05:23 +0000</pubDate>
      <link>https://forem.com/brianm/schemas-data-modelling-in-power-bi-5cdc</link>
      <guid>https://forem.com/brianm/schemas-data-modelling-in-power-bi-5cdc</guid>
      <description>&lt;h2&gt;
  
  
  Introduction
&lt;/h2&gt;

&lt;p&gt;Effective data management is a critical component of any organisation that aids in smarter, data-driven business decisions. At the heart of this lies a foundational understanding of Schemas and Data Modelling — two concepts that work together to define how data is structured, stored, and ultimately used to generate meaningful insights.&lt;/p&gt;

&lt;h3&gt;
  
  
  Data Modelling
&lt;/h3&gt;

&lt;p&gt;Data Modelling is the process of designing and organising data structures to support databases. It provides a structural representation that demonstrates how data is stored, organised, and manipulated — serving as the blueprint for how information flows through a system.&lt;/p&gt;

&lt;h3&gt;
  
  
  Key Components of Data Modelling
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Entities&lt;/strong&gt;&lt;br&gt;
Entities are real-world concepts that can be distinctly identified and about which data can be stored. For example, in a retail context, a Customer, a Product, or a Sale would each represent a separate entity.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Attributes&lt;/strong&gt;&lt;br&gt;
Attributes are the characteristics that describe or define an entity. They serve as the data points that can be used to sort, filter, or order a dataset. For instance, a Customer entity might have attributes such as Name, Age, and Location.&lt;/p&gt;

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

&lt;p&gt;Relationships refer to the connections between entities and their attributes. These connections help ensure that the model accurately reflects real-world actions or dependencies between data points. There are three types of relationships in a data model:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;• One-to-One:&lt;/em&gt;&lt;/strong&gt; One entity is related to exactly one instance of another entity. For example, one employee may be assigned exactly one staff ID.&lt;br&gt;
&lt;strong&gt;&lt;em&gt;• One-to-Many:&lt;/em&gt;&lt;/strong&gt; The most common type in data modelling. One entity can have multiple instances of another entity. For example, one customer can place many orders.&lt;br&gt;
&lt;strong&gt;&lt;em&gt;• Many-to-Many:&lt;/em&gt;&lt;/strong&gt; Multiple instances of one entity are related to multiple instances of another entity. This is the most complex type of relationship and is often resolved using a bridge or junction table to make it manageable.&lt;/p&gt;

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

&lt;p&gt;&lt;strong&gt;Fact Table&lt;/strong&gt;&lt;br&gt;
The Fact Table is the core of a data model. It stores raw quantitative data for analysis — holding numerical values and metrics that can be aggregated to answer key business questions. Examples include sales revenue, units sold, or transaction counts.&lt;br&gt;
&lt;strong&gt;Dimension Table&lt;/strong&gt;&lt;br&gt;
Dimension Tables provide the necessary context to Fact Tables. They contain descriptive attributes that can be used to filter, group, and label the data stored in a Fact Table. For example, a Date dimension might include attributes like Day, Month, Quarter, and Year, enabling time-based analysis of sales figures.&lt;/p&gt;

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

&lt;p&gt;Schemas define the structure and organisation of data within a data model. They determine how data is connected and related, which in turn influences the efficiency and performance of data queries and reports. A schema represents a logical grouping of tables that are associated with each other. Understanding schemas is essential for designing data models that support comprehensive, reliable analysis.&lt;br&gt;
&lt;strong&gt;Types of Schemas&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Star Schema&lt;/strong&gt;&lt;br&gt;
The Star Schema is the most commonly used schema in data warehousing — and in Power BI. It features a single central Fact Table surrounded by multiple Dimension Tables, with each Dimension Table connecting directly to the Fact Table. This layout resembles a star shape, hence the name. Its simplicity makes it easy to query and highly performant, making it the preferred choice for most reporting scenarios.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Snowflake Schema&lt;/strong&gt;&lt;br&gt;
The Snowflake Schema is a normalised version of the Star Schema. In this structure, Dimension Tables are further divided into sub-dimension tables, creating a more layered and complex arrangement. Normalisation reduces data redundancy by breaking dimension tables into multiple related tables. While this results in a web-like structure resembling a snowflake, it can add complexity to queries and may impact report performance if not managed carefully.&lt;/p&gt;

&lt;h3&gt;
  
  
  Why Good Modelling is Critical for Performance and Reporting
&lt;/h3&gt;

&lt;p&gt;A well-designed data model simplifies complexity by visually mapping how different entities relate to each other, making it easier to understand, manage, and analyse datasets. Beyond clarity, good modelling delivers several tangible benefits:&lt;/p&gt;

&lt;p&gt;• Ensures data consistency and quality through simplified database design and management.&lt;br&gt;
• Improves query performance by reducing unnecessary calculations and data redundancy.&lt;br&gt;
• Enhances data storage efficiency, keeping models lean and responsive.&lt;br&gt;
• Provides the flexibility to scale models as data volumes grow and business needs evolve.&lt;br&gt;
• Simplifies troubleshooting by making data relationships transparent and logical.&lt;br&gt;
Together, these benefits create data models that are not only reliable today but adaptable for the future — supporting effective, data-driven decisions at every level of an organisation.&lt;/p&gt;

&lt;h3&gt;
  
  
  Conclusion
&lt;/h3&gt;

&lt;p&gt;Schemas are vital for building an effective data model in Power BI. When deciding which schema to use, it is essential to balance the benefits of normalisation against the need for simplicity and performance. Rather than treating schemas as mutually exclusive choices, combining the strengths of each — the accessibility of the Star Schema with the reduced redundancy of the Snowflake Schema — can lead to stronger, more efficient data model designs.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;The result is improved query performance, better data storage efficiency, and greater overall data operations — all of which contribute to scalable models that enable smarter, more confident business decisions.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>data</category>
      <category>dataengineering</category>
      <category>microsoft</category>
    </item>
    <item>
      <title>How Analysts Translate Messy Data, DAX, and Dashboards into Action Using Power BI</title>
      <dc:creator>Brian Muchoki</dc:creator>
      <pubDate>Mon, 09 Feb 2026 17:49:34 +0000</pubDate>
      <link>https://forem.com/brianm/how-analysts-translate-messy-data-dax-and-dashboards-into-action-using-power-bi-4p2k</link>
      <guid>https://forem.com/brianm/how-analysts-translate-messy-data-dax-and-dashboards-into-action-using-power-bi-4p2k</guid>
      <description>&lt;p&gt;&lt;strong&gt;&lt;em&gt;Power BI&lt;/em&gt;&lt;/strong&gt; has become an indispensable tool for data analysis, and analysts are using it to transform raw, unstructured data into meaningful insights that drive actionable business decisions.&lt;/p&gt;

&lt;h1&gt;
  
  
  FROM MESSY TO CLEAN
&lt;/h1&gt;

&lt;h2&gt;
  
  
  1. Connecting to Your Data Sources.
&lt;/h2&gt;

&lt;p&gt;The journey of analysts begins with connecting Power BI to the respective data sources. The data could be residing in Excel workbooks, SQL databases, Cloud Services, etc. Power BI offers versatile connectivity options that bring information from multiple sources. x&lt;/p&gt;

&lt;h2&gt;
  
  
  2. Transforming Messy Data with Power Query.
&lt;/h2&gt;

&lt;p&gt;Data must be cleaned and prepared before any form of analysis.&lt;br&gt;
Power Query is essential in this part-it serves as the data transformation engine, allowing you to remove duplicates, correct errors, handle null values, change data types, find and replace values with the corrected values or updated values, and standardize formats. This process creates a reliable table that feeds your data model, ensuring that every calculation and visualization built is credible.&lt;/p&gt;

&lt;h2&gt;
  
  
  3. Performing Calculations with DAX
&lt;/h2&gt;

&lt;p&gt;DAX &lt;strong&gt;&lt;em&gt;(Data Analysis Expressions)&lt;/em&gt;&lt;/strong&gt; is the analytical layer. Once the data is cleaned and loaded into the model, DAX takes the center stage. This enables analysts to create calculated columns, measures, and calculated tables that perform computations beyond raw data. DAX transforms static information into dynamic insights through aggregations, time intelligence functions, filtering, and custom metrics that answer specific business needs. These calculations set the tone for visualization. For instance, if we are talking about Sales Data, we could perform calculations on specific products, location, demographic, and time period.&lt;/p&gt;

&lt;h2&gt;
  
  
  4. Building Dashboards
&lt;/h2&gt;

&lt;p&gt;To bring this to life, analysts go to the report view to bring insights to life. In report view, graphs, charts, interactive slicers, and customization of visuals happen to match the specific needs and arrange everything into an interactive dashboard. These dashboards display patterns, trends, and present key performance indicators in ways that make the information understandable. The result is usually an interactive experience that helps the stakeholders to explore data and make informed decisions. For Instance, Graphs and Charts would show you the revenue trends across years, products, and regions, whereas slicers and filters could help to only focus on what we want-it could be sales for a specific location.&lt;/p&gt;

&lt;h2&gt;
  
  
  5. Conclusion on Power BI
&lt;/h2&gt;

&lt;p&gt;Power BI's strength lies in its ability to handle messy data, disconnected data sources, and to create polished interactive dashboards that drive informed decision-making processes. Analysts transform chaos into clarity and raw data into actionable insights that move organizations forward.&lt;/p&gt;

</description>
      <category>datascience</category>
      <category>database</category>
      <category>beginners</category>
      <category>analyst</category>
    </item>
    <item>
      <title>Introduction to MS Excel for Data Analytics</title>
      <dc:creator>Brian Muchoki</dc:creator>
      <pubDate>Tue, 03 Feb 2026 15:58:25 +0000</pubDate>
      <link>https://forem.com/brianm/introduction-to-ms-excel-for-data-analytics-1g76</link>
      <guid>https://forem.com/brianm/introduction-to-ms-excel-for-data-analytics-1g76</guid>
      <description>&lt;h2&gt;
  
  
  Getting Started with Excel. Excel It!
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;1. Excel Definition and Its Use.&lt;/strong&gt;&lt;br&gt;
Excel is the most popular spreadsheet developed by Microsoft, which organizes data in Columns and Rows. It runs on Windows, macOS, Android, and iOS.&lt;br&gt;
&lt;strong&gt;&lt;em&gt;GLOSSARY IN EXCEL&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;Cell&lt;/strong&gt;:It is the rectangular intersection of a column and a row where data is stored and manipulated.&lt;br&gt;
&lt;strong&gt;Column&lt;/strong&gt;: It is a vertical set of cells in a spreadsheet, identified by letters(A, B, C, etc.). They run from top to bottom.&lt;br&gt;
&lt;strong&gt;Data Validation&lt;/strong&gt;: It is a feature that controls the kind of data that can be entered into a cell.&lt;br&gt;
&lt;strong&gt;Formula Bar&lt;/strong&gt;: It is the bar near the top of the spreadsheet where you can edit the contents of the currently selected cell.&lt;br&gt;
&lt;strong&gt;Pivot tables&lt;/strong&gt;: They summarize and reorganize data from a larger table. You can filter, group, and perform calculations to see patterns and totals.&lt;br&gt;
&lt;strong&gt;Range&lt;/strong&gt;: A group of selected cells in a spreadsheet, which can be a single cell, multiple adjacent cells, or non-adjacent cells. They are written like A1:B10.&lt;br&gt;
&lt;strong&gt;Rows&lt;/strong&gt;: A horizontal set of cells in a spreadsheet identified by numbers (1,2,3, etc). They run from left to right.&lt;br&gt;
&lt;strong&gt;Workbook&lt;/strong&gt;: This is the entire spreadsheet file that contains one or more worksheets.&lt;br&gt;
&lt;strong&gt;Worksheet&lt;/strong&gt;: This is a single sheet or tab within a workbook where you enter and work with data.&lt;br&gt;
&lt;strong&gt;2. Overview of Excel Interface.&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;&lt;em&gt;Ribbon&lt;/em&gt;&lt;/strong&gt; This is the toolbar interface at the top of spreadsheet applications that organizes commands and features into tabs. Each tab contains a group of related tools and buttons, making it easier to find and use different functions.&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%2F7t5fa7klcfakg79yuym9.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%2F7t5fa7klcfakg79yuym9.png" alt="Excel Ribbon" width="800" height="122"&gt;&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;&lt;em&gt;Workbook&lt;/em&gt;&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%2Fznx3ufiyz1hjudeycmjr.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%2Fznx3ufiyz1hjudeycmjr.png" alt="Excel Workbook" width="800" height="450"&gt;&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;&lt;em&gt;Worksheet&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
-At the bottom, you can see sheets labeled as Original, Sheet1, KPIs, etc.&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%2Faz2fq1qr930k8w533k4a.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%2Faz2fq1qr930k8w533k4a.png" alt="Excel Worksheets" width="800" height="450"&gt;&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;3. Data Entry and Organization in Excel.&lt;/strong&gt;&lt;br&gt;
Data is organized in rows and columns. Columns have headings and cells where you enter 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%2F0rueumr98ie6f8wjsogc.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%2F0rueumr98ie6f8wjsogc.png" alt="Column, Row and Cell Ill." width="800" height="450"&gt;&lt;/a&gt;&lt;br&gt;
&lt;em&gt;You can enter numerical data, strings, dates, times, percentages, currents, and formulas into cells. Numerical data is typically aligned to the right by default, whereas strings are aligned to the left.&lt;/em&gt;&lt;br&gt;
&lt;em&gt;Each cell has a unique address like A1, B8, H9 that can be used in formulas and reference data.&lt;/em&gt;&lt;br&gt;
&lt;em&gt;Cells can be formatted to display data in specific ways, like adding currency symbols and changing date formats, etc.&lt;/em&gt;&lt;br&gt;
Sorting, filtering, and freezing planes are some of the data organizational tools.&lt;br&gt;
&lt;strong&gt;&lt;em&gt;Best Practices:&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Keep one type of data per column.&lt;/li&gt;
&lt;li&gt;Avoid blank rows or columns within your data range.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;4. Data Cleaning and Manipulation/Formatting.&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;&lt;em&gt;Removing Duplicates:&lt;/em&gt;&lt;/strong&gt; Ensuring that each record appears only once in your dataset.&lt;br&gt;
&lt;strong&gt;&lt;em&gt;Finding and replacing values:&lt;/em&gt;&lt;/strong&gt; Searching for specific data and replacing it with updated or corrected information.&lt;br&gt;
&lt;strong&gt;&lt;em&gt;Data alignment:&lt;/em&gt;&lt;/strong&gt; Adjusting how data is positioned within cells.&lt;br&gt;
&lt;strong&gt;&lt;em&gt;Data consistency:&lt;/em&gt;&lt;/strong&gt; Ensuring uniformity in text case throughout your data.&lt;br&gt;
&lt;strong&gt;&lt;em&gt;Trimming whitespaces:&lt;/em&gt;&lt;/strong&gt; Removing extra spaces before, after, or between text that can cause errors in sorting, filtering, and formulas.&lt;br&gt;
&lt;strong&gt;&lt;em&gt;Removing special characters:&lt;/em&gt;&lt;/strong&gt; Cleaning up unwanted symbols or line breaks.&lt;br&gt;
&lt;strong&gt;&lt;em&gt;Correcting data types:&lt;/em&gt;&lt;/strong&gt; Converting each data type into the right data type.&lt;br&gt;
&lt;strong&gt;&lt;em&gt;Summary&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
&lt;em&gt;Data cleaning and formatting involve preparing raw data for analysis by removing duplicates, correcting inconsistencies, standardizing formats, and removing errors.&lt;/em&gt;&lt;br&gt;
&lt;strong&gt;5. Pivot Tables and Data Visualization.&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%2F9rzyns1tj1rrupgqjqx6.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%2F9rzyns1tj1rrupgqjqx6.png" alt="Pivot Table ill." width="800" height="858"&gt;&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;&lt;em&gt;Pivot tables&lt;/em&gt;&lt;/strong&gt; analyze large data sets. They allow users to summarize, group, and perform calculations to reveal patterns and insights without altering original 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%2Fkt8bid9et677u6j1k77m.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%2Fkt8bid9et677u6j1k77m.png" alt="Chart" width="800" height="687"&gt;&lt;/a&gt;&lt;br&gt;
Data visualization using charts makes the analysis clear. Excel offers various chart types- &lt;em&gt;bar charts, line graphs, pie charts, and scatter plots&lt;/em&gt;- each suited to different analytical needs.&lt;br&gt;
When combined with pivot tables, these visual tools create a powerful system for exploring data interactively and present findings as actionable insights.&lt;br&gt;
&lt;strong&gt;6. Creating Dashboards.&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%2F01gy3nk1ponmjo0ayww6.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%2F01gy3nk1ponmjo0ayww6.png" alt="Sample Dashboard" width="800" height="450"&gt;&lt;/a&gt;&lt;br&gt;
Dashboards are visual displays that bring together charts in one place. They combine multiple charts, tables, and key metrics on a single screen, allowing you to monitor performance, track progress, and make informed decisions. Good dashboards use clear visual elements like slicers and filters that let you explore different aspects of your data with a simple click.&lt;br&gt;
The main purpose of dashboards is to make complex data easy to understand and act upon. Dashboards save time by presenting everything you need in an organized view.&lt;br&gt;
&lt;strong&gt;7. Conclusion.&lt;/strong&gt;&lt;br&gt;
Excel remains an essential tool for data analysis, offering accessible features from basic to advanced that enable users at any skill level to transform raw data into meaningful insights and informed decisions.&lt;/p&gt;

</description>
      <category>datascience</category>
      <category>analytics</category>
      <category>beginners</category>
      <category>dataanalytics</category>
    </item>
    <item>
      <title>LET'S GIT IT—A Beginner's Guide to Version Control.</title>
      <dc:creator>Brian Muchoki</dc:creator>
      <pubDate>Sun, 18 Jan 2026 12:23:22 +0000</pubDate>
      <link>https://forem.com/brianm/lets-git-it-a-beginners-guide-to-version-control-1l51</link>
      <guid>https://forem.com/brianm/lets-git-it-a-beginners-guide-to-version-control-1l51</guid>
      <description>&lt;p&gt;&lt;strong&gt;KEY WORDS&lt;/strong&gt;&lt;br&gt;
-&lt;strong&gt;Git&lt;/strong&gt;: It is a version control system that monitors changes in your files or code over time.&lt;br&gt;
It is like a save feature that remembers every version of your work, and you can easily go back to previous versions.&lt;br&gt;
&lt;strong&gt;Use&lt;/strong&gt;: Developers use it to monitor changes, experiment with new features, whilst maintaining their main code, and for collaboration.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Git Bash&lt;/strong&gt;: A command-line interface that provides GIT commands.&lt;br&gt;
&lt;strong&gt;Use&lt;/strong&gt;: A Tool for using GIT on Windows, since Windows does not naturally understand GIT commands.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;GitHub&lt;/strong&gt;: It is a cloud-based hosting service for Git repositories with collaboration features.&lt;br&gt;
It is like a Google Drive for code.&lt;br&gt;
&lt;strong&gt;Use&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Back up your online code.&lt;/li&gt;
&lt;li&gt;Share code with teammates.&lt;/li&gt;
&lt;li&gt;Collaborate on projects.&lt;/li&gt;
&lt;li&gt;Show your work to potential employees.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;SSH&lt;/strong&gt;: Secure Shell.&lt;br&gt;
It is a cryptographic network protocol for secure communication over an unsecured network.&lt;br&gt;
&lt;strong&gt;Use&lt;/strong&gt;: To safely connect your computer to remote servers without data or password interception.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;SSH KEY&lt;/strong&gt;: It is a secure access credential used in the SSH protocol for authentication between a client and a remote server.&lt;br&gt;
&lt;strong&gt;Use&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Prove your identity to GitHub.&lt;/li&gt;
&lt;li&gt;It is more secure than a password.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;
  
  
  How do they all work?
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Write code on your computer.&lt;/li&gt;
&lt;li&gt;Git monitors all your changes locally.&lt;/li&gt;
&lt;li&gt;Git Bash lets you tell Git what to do (Save changes, etc.)&lt;/li&gt;
&lt;li&gt;SSH key authenticates you to GitHub.&lt;/li&gt;
&lt;li&gt;GitHub stores your code online safely.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;
  
  
  Hands-on Training with GIT
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;What you need!&lt;/strong&gt;&lt;br&gt;
1.Have Git Bash downloaded and a GitHub account on your computer.&lt;br&gt;
&lt;a href="https://git-scm.com%20%E2%80%BA%20install" rel="noopener noreferrer"&gt;Download Git Bash&lt;/a&gt;&lt;br&gt;
&lt;a href="https://github.com" rel="noopener noreferrer"&gt;Sign up to GitHub&lt;/a&gt;&lt;br&gt;
2.Configure your identity: Open Git Bash and set your username and password(Should be similar to your  GitHub username and email)&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git config &lt;span class="nt"&gt;--global&lt;/span&gt; user.name &lt;span class="s2"&gt;"your name"&lt;/span&gt;
git config &lt;span class="nt"&gt;--global&lt;/span&gt; user.email &lt;span class="s2"&gt;"your.email"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;3.Generate SSH Key&lt;br&gt;
This is more convenient and recommended.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;ssh-keygen &lt;span class="nt"&gt;-t&lt;/span&gt; ed25519 &lt;span class="nt"&gt;-C&lt;/span&gt; &lt;span class="s2"&gt;"your-github-email@example.com"&lt;/span&gt; 
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;4.Copy Your Public Key&lt;br&gt;
&lt;/p&gt;

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

&lt;/div&gt;



&lt;p&gt;5.Add to GitHub:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Go to GitHub.com&lt;/li&gt;
&lt;li&gt;Click your profile picture → Settings&lt;/li&gt;
&lt;li&gt;Click SSH and GPG keys (left sidebar)&lt;/li&gt;
&lt;li&gt;Click New SSH key&lt;/li&gt;
&lt;li&gt;Paste your key, give it a title, and click Add SSH key
6.Test Connection:
&lt;/li&gt;
&lt;/ul&gt;

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

&lt;/div&gt;



&lt;h2&gt;
  
  
  Basic Workflow
&lt;/h2&gt;

&lt;p&gt;1.Create a repository on your computer.&lt;br&gt;
2.Make changes to your code: create files, edit code, save your work in your text editor.&lt;br&gt;
3.Check what has changed.&lt;br&gt;
4.Stage your changes(Preparation to save).&lt;br&gt;
5.Save to Git(save with a message about what you did).&lt;br&gt;
6.Push to GitHub(Uploading the saved changes to GitHub).&lt;br&gt;
7.Pull from GitHub(Downloading changes from GitHub to your computer)&lt;/p&gt;
&lt;h3&gt;
  
  
  Getting Started: Cloning Your First Repository
&lt;/h3&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%2Fmv9gccaiusyrpvp01xy7.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%2Fmv9gccaiusyrpvp01xy7.png" alt=" " width="800" height="293"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;
  
  
  Basic Git Workflows
&lt;/h3&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%2Fmmr579tw4ycro0cdl6yg.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%2Fmmr579tw4ycro0cdl6yg.png" alt=" " width="800" height="740"&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%2Ffnxcr2b5ucfpmzv68z0y.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%2Ffnxcr2b5ucfpmzv68z0y.png" alt=" " width="800" height="263"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;
  
  
  Understanding Version Control
&lt;/h2&gt;

&lt;p&gt;Shows all your commits(saves) with messages, dates, and who made them.&lt;br&gt;
&lt;/p&gt;

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

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqzpgzoegxoeg34px8xl5.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%2Fqzpgzoegxoeg34px8xl5.png" alt=" " width="800" height="256"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What's Next?
&lt;/h2&gt;

&lt;p&gt;Now that you've set up Git and GitHub, here are your next steps:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Create your first repository&lt;/strong&gt; and push some code&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Practice daily&lt;/strong&gt;: Commit your changes regularly with clear messages&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Explore branching&lt;/strong&gt;: Learn how to experiment without breaking your main code&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Collaborate&lt;/strong&gt;: Contribute to open-source projects or work with friends&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Remember: Everyone starts somewhere. The more you use Git, the more natural it becomes. Happy coding!&lt;/p&gt;

</description>
      <category>git</category>
      <category>github</category>
      <category>datascience</category>
      <category>dataengineering</category>
    </item>
  </channel>
</rss>
