<?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: Victor  ochieng</title>
    <description>The latest articles on DEV Community by Victor  ochieng (@victor_ochieng_e9).</description>
    <link>https://dev.to/victor_ochieng_e9</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%2F3709538%2Fd9270461-3979-483c-82a9-d68f36a7d3bf.png</url>
      <title>DEV Community: Victor  ochieng</title>
      <link>https://dev.to/victor_ochieng_e9</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/victor_ochieng_e9"/>
    <language>en</language>
    <item>
      <title>Introduction to Joins and Windows Funtions in SQL</title>
      <dc:creator>Victor  ochieng</dc:creator>
      <pubDate>Mon, 23 Mar 2026 09:05:50 +0000</pubDate>
      <link>https://dev.to/victor_ochieng_e9/introduction-to-joins-and-windows-funtions-in-sql-3jg3</link>
      <guid>https://dev.to/victor_ochieng_e9/introduction-to-joins-and-windows-funtions-in-sql-3jg3</guid>
      <description>&lt;h2&gt;
  
  
  Introduction
&lt;/h2&gt;

&lt;p&gt;Joins define relational operations that primarily combine data from multiple tables based on a logical relationship which in most cases is a foreign key, potentially increasing row counts and expanding columns. When working with databases, specifically normalized databases, it is a best practice to distribute data across multiple tables subsequently enforcing integrity and eliminating redundancy. The different types of joints include the &lt;em&gt;&lt;strong&gt;INNER JOIN, LEFT JOIN, RIGHT JOIN, FULL OUTER JOIN, and CROSS JOIN.&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;INNER JOIN&lt;/strong&gt;&lt;br&gt;
This is the default join type that returns only matching records from the referenced tables in the query.&lt;br&gt;
Example&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight sql"&gt;&lt;code&gt;&lt;span class="k"&gt;SELECT&lt;/span&gt; &lt;span class="n"&gt;Orders&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;OrderID&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;Customers&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;CustomerName&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;Orders&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;OrderDate&lt;/span&gt;
&lt;span class="k"&gt;FROM&lt;/span&gt; &lt;span class="n"&gt;Orders&lt;/span&gt;
&lt;span class="k"&gt;INNER&lt;/span&gt; &lt;span class="k"&gt;JOIN&lt;/span&gt; &lt;span class="n"&gt;Customers&lt;/span&gt;
&lt;span class="k"&gt;ON&lt;/span&gt; &lt;span class="n"&gt;Orders&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;CustomerID&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;Customers&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;CustomerID&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;LEFT JOIN&lt;/strong&gt;&lt;br&gt;
Returns all rows from the left table (the first table) and matched rows from the right (second table), with NULLs for unmatched right-side rows.&lt;br&gt;
Example&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight sql"&gt;&lt;code&gt;&lt;span class="k"&gt;SELECT&lt;/span&gt; &lt;span class="n"&gt;Customers&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;CustomerName&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;Orders&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;OrderID&lt;/span&gt;
&lt;span class="k"&gt;FROM&lt;/span&gt; &lt;span class="n"&gt;Customers&lt;/span&gt;
&lt;span class="k"&gt;LEFT&lt;/span&gt; &lt;span class="k"&gt;JOIN&lt;/span&gt; &lt;span class="n"&gt;Orders&lt;/span&gt; &lt;span class="k"&gt;ON&lt;/span&gt; &lt;span class="n"&gt;Customers&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;CustomerID&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;Orders&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;CustomerID&lt;/span&gt;
&lt;span class="k"&gt;ORDER&lt;/span&gt; &lt;span class="k"&gt;BY&lt;/span&gt; &lt;span class="n"&gt;Customers&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;CustomerName&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;RIGHT JOIN&lt;/strong&gt;&lt;br&gt;
Returns all rows from the right table (the second table) and matched rows from the left (first table), with NULLs for unmatched left-side rows.&lt;br&gt;
Example&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight sql"&gt;&lt;code&gt;&lt;span class="k"&gt;SELECT&lt;/span&gt; &lt;span class="n"&gt;Orders&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;OrderID&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;Employees&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;LastName&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;Employees&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;FirstName&lt;/span&gt;
&lt;span class="k"&gt;FROM&lt;/span&gt; &lt;span class="n"&gt;Orders&lt;/span&gt;
&lt;span class="k"&gt;RIGHT&lt;/span&gt; &lt;span class="k"&gt;JOIN&lt;/span&gt; &lt;span class="n"&gt;Employees&lt;/span&gt; &lt;span class="k"&gt;ON&lt;/span&gt; &lt;span class="n"&gt;Orders&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;EmployeeID&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;Employees&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;EmployeeID&lt;/span&gt;
&lt;span class="k"&gt;ORDER&lt;/span&gt; &lt;span class="k"&gt;BY&lt;/span&gt; &lt;span class="n"&gt;Orders&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;OrderID&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;FULL JOIN&lt;/strong&gt;&lt;br&gt;
This type of join returns all rows from both tables with non-matches on either side returned as null values.&lt;br&gt;
Example&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight sql"&gt;&lt;code&gt;&lt;span class="k"&gt;SELECT&lt;/span&gt; &lt;span class="n"&gt;Customers&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;CustomerName&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;Orders&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;OrderID&lt;/span&gt;
&lt;span class="k"&gt;FROM&lt;/span&gt; &lt;span class="n"&gt;Customers&lt;/span&gt;
&lt;span class="k"&gt;FULL&lt;/span&gt; &lt;span class="k"&gt;JOIN&lt;/span&gt; &lt;span class="n"&gt;Orders&lt;/span&gt;
&lt;span class="k"&gt;ON&lt;/span&gt; &lt;span class="n"&gt;Customers&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;CustomerID&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;Orders&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;CustomerID&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;CROSS JOIN&lt;/strong&gt;&lt;br&gt;
This is a special join type that allows users to produce a Cartesian product, pairing every row from the first table with every row from the second. However, when using this join you should be careful to avoid row explosion.&lt;br&gt;
Example&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight sql"&gt;&lt;code&gt;&lt;span class="k"&gt;SELECT&lt;/span&gt; &lt;span class="n"&gt;s&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;full_name&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="k"&gt;c&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;course_name&lt;/span&gt;
&lt;span class="k"&gt;FROM&lt;/span&gt; &lt;span class="n"&gt;students&lt;/span&gt; &lt;span class="n"&gt;s&lt;/span&gt;
&lt;span class="k"&gt;CROSS&lt;/span&gt; &lt;span class="k"&gt;JOIN&lt;/span&gt; &lt;span class="n"&gt;courses&lt;/span&gt; &lt;span class="k"&gt;c&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  WINDOWS FUNCTIONS
&lt;/h2&gt;

&lt;p&gt;SQL window functions enable calculations over a group of rows associated with the current row, while preserving each individual row in the result set rather than aggregating them into a single summary value. We can think of windows functions as commands to analyze rows around me without merging or removing rows. The different windows functions are commonly used for tasks like aggregates, running totals, and ranking as they provide a holistic view of the data.&lt;br&gt;
Below are the common SQL window functions presented in bullet format, organized by catego&lt;/p&gt;

&lt;h3&gt;
  
  
  Ranking Functions
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;ROW_NUMBER()&lt;/strong&gt;&lt;br&gt;
Assigns a unique sequential number to each row within a partition&lt;br&gt;
No ties allowed&lt;br&gt;
&lt;strong&gt;RANK()&lt;/strong&gt;&lt;br&gt;
Assigns the same rank to tied values&lt;br&gt;
Skips rank numbers after ties&lt;br&gt;
&lt;strong&gt;DENSE_RANK()&lt;/strong&gt;&lt;br&gt;
Assigns the same rank to tied values&lt;br&gt;
Does not skip rank numbers&lt;/p&gt;

&lt;h3&gt;
  
  
  Aggregate Window Functions
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;SUM()&lt;/strong&gt;&lt;br&gt;
Calculates totals across a partition&lt;br&gt;
&lt;strong&gt;AVG()&lt;/strong&gt;&lt;br&gt;
Computes average values over a window&lt;br&gt;
&lt;strong&gt;COUNT()&lt;/strong&gt;&lt;br&gt;
Counts rows within a partition&lt;br&gt;
&lt;strong&gt;MIN()&lt;/strong&gt;&lt;br&gt;
Returns minimum value in a window&lt;br&gt;
&lt;strong&gt;MAX()&lt;/strong&gt;&lt;br&gt;
Returns maximum value in a window&lt;/p&gt;

&lt;h3&gt;
  
  
  Navigation (Value) Functions
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;LAG()&lt;/strong&gt;&lt;br&gt;
Retrieves value from a previous row&lt;br&gt;
&lt;strong&gt;LEAD()&lt;/strong&gt;&lt;br&gt;
Retrieves value from a following row&lt;br&gt;
&lt;strong&gt;FIRST_VALUE()&lt;/strong&gt;&lt;br&gt;
Returns the first value in a window&lt;br&gt;
&lt;strong&gt;LAST_VALUE()&lt;/strong&gt;&lt;br&gt;
Returns the last value in a window&lt;/p&gt;

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

&lt;p&gt;In summary, joins and window functions serve distinct yet complementary roles in SQL querying. Joins integrate data across related tables, enabling comprehensive relational analysis, while window functions enhance datasets with analytical insights without reducing row-level detail. Mastery of both concepts is essential for designing efficient queries, supporting advanced reporting, and performing meaningful data analysis in structured, normalized database environments.&lt;/p&gt;

</description>
      <category>database</category>
      <category>datascience</category>
      <category>sql</category>
    </item>
    <item>
      <title>How Analysts Translate Messy Data, DAX, and Dashboards into Action Using Power BI</title>
      <dc:creator>Victor  ochieng</dc:creator>
      <pubDate>Mon, 09 Feb 2026 14:24:42 +0000</pubDate>
      <link>https://dev.to/victor_ochieng_e9/how-analysts-translate-messy-data-dax-and-dashboards-into-action-using-power-bi-2d32</link>
      <guid>https://dev.to/victor_ochieng_e9/how-analysts-translate-messy-data-dax-and-dashboards-into-action-using-power-bi-2d32</guid>
      <description>&lt;h2&gt;
  
  
  Introduction
&lt;/h2&gt;

&lt;p&gt;Raw data can essentially be branded as “useless” because it is nearly impossible to gain any qualitative or quantitative information regarding the population or group in question. It is in such cases that data analysts come into play to transform raw data into valuable insights that help in decision making. In essence, the primary role of data analysts is to transform this “noise” into a language that key business stakeholders understand. One major tool used to achieve this transformation is Power BI.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Transforming Messy Data into Actionable Insights.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;In Power BI, there is one important and powerful tool called Power Query that is essentially crucial in data transformation. Power Query is primarily used to extract, transform and load data from various sources with its integration to excel, data analysts can clean and automate this data without necessarily having to do any sort of coding. With power query analysts can easily remove duplicates, set correct data types, and filter erroneous records.&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%2F0hc2mhv9892q9e7z8fza.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%2F0hc2mhv9892q9e7z8fza.png" alt=" " width="800" height="289"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Data Modelling and Relationships.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;With clean and structured data, analysts can proceed with creating data models that define relationships and collectively define how business processes work. A strong data model is the backbone of a successful report; it ensures Power BI calculates totals accurately, filters logically, and stays snappy for the user. Conversely, a weak model is a recipe for disaster triggers, sluggish performance, misleading numbers, and a frustratingly confusing user experience.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Turning Data into Meaning with DAX&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Data Analysis Expressions (DAX) picks models and creates calculations that collectively answer real business questions. With DAX, analysts calculate Key Performance Indicators such as revenue, profits, losses, and growth percentages, create and build reusable measures for consistent and reliable reporting besides controlling data filtering and evaluation. Analysts write DAX measures that reflect business logic ensuring results are accurate no matter how the report is filtered.&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%2Fkt631upf65jwk9rh2p8x.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%2Fkt631upf65jwk9rh2p8x.png" alt=" " width="800" height="360"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Dashboards X Actionable Insights.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Dashboards can be defined as visual interpretations of cleaned data and models that assist business executives and stakeholders understand what’s happening and decide on the direction to move. It is important to note that when creating dashboards, the focus should be on clarity rather than decoration. Analysts need to ensure that the dashboards are clear and consistent, especially with the charts and graphs, focus on metrics and KPI’s, and allow users to filter, and highlight the various trends and patterns.&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%2Fn2nyq1f4bbfvok9djp18.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%2Fn2nyq1f4bbfvok9djp18.png" alt=" " width="800" height="445"&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%2Fuatrliftsvsm6sw4c538.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%2Fuatrliftsvsm6sw4c538.png" alt=" " width="509" height="324"&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%2F7lhmwmnf082iyqkhz63p.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%2F7lhmwmnf082iyqkhz63p.png" alt=" " width="800" height="443"&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%2F2d0b8f9id4ystc5043qe.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%2F2d0b8f9id4ystc5043qe.png" alt=" " width="800" height="447"&gt;&lt;/a&gt;&lt;/p&gt;

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

&lt;p&gt;Working with Power BI is a learning journey, not a one-time destination. From messy data to DAX formulas and meaningful dashboards, every step becomes clearer with practice and experience. At the beginning, concepts like data modelling, relationships, and advanced calculations may feel overwhelming, but over time patterns emerge, understanding deepen, and confidence grows. As we continue exploring Power BI, each challenge becomes an opportunity to learn, refine our approach, and improve how we turn data into insight. With consistency and curiosity, clarity comes—and what once felt complex gradually becomes second nature.&lt;/p&gt;

</description>
      <category>luxdevhq</category>
      <category>datascience</category>
      <category>dataengineering</category>
      <category>analytics</category>
    </item>
    <item>
      <title>Schemas and Data Modelling in Power BI</title>
      <dc:creator>Victor  ochieng</dc:creator>
      <pubDate>Mon, 09 Feb 2026 14:16:47 +0000</pubDate>
      <link>https://dev.to/victor_ochieng_e9/schemas-and-data-modelling-in-power-bi-47n8</link>
      <guid>https://dev.to/victor_ochieng_e9/schemas-and-data-modelling-in-power-bi-47n8</guid>
      <description>&lt;h2&gt;
  
  
  Introduction
&lt;/h2&gt;

&lt;p&gt;Data modelling just like the name suggests is a concept that encompasses restructuring data and creating insightful visuals from cleaned and structured data. In power BI data modelling entails organizing unstructured data into relatable tables, subsequently defining how those tables are connected to each other and their relationships. This step is crucial in streamlining reports and eliminating instances of confusing insights which collectively affect decision-making. In power BI these table relationships and schemas improve performance and efficiency.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Fact Tables and Dimension Tables&lt;/strong&gt;&lt;br&gt;
At the core of data modelling are fact tables and dimension tables. These are the baselines for a good data model since they are used to define relationships across different tables and allow analysts to create insightful reports.&lt;/p&gt;

&lt;p&gt;Fact tables mostly contain foreign keys from other tables and primarily store measurable, quantitative data such as:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Sales amounts&lt;/li&gt;
&lt;li&gt;Quantities sold&lt;/li&gt;
&lt;li&gt;Revenue&lt;/li&gt;
&lt;li&gt;Transaction counts&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%2Fjri1niooi4cow5i3rxsh.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%2Fjri1niooi4cow5i3rxsh.png" alt=" " width="697" height="156"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Dimension tables on the other hand are relatively smaller and are mostly used for grouping and data filtering. These tables are used to store descriptive information that provides context to the facts, such as:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Customer names&lt;/li&gt;
&lt;li&gt;Product categories&lt;/li&gt;
&lt;li&gt;Dates&lt;/li&gt;
&lt;li&gt;Locations&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%2F4ed4b3nop54dpilzp1dh.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%2F4ed4b3nop54dpilzp1dh.png" alt=" " width="401" height="261"&gt;&lt;/a&gt;&lt;/p&gt;

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

&lt;p&gt;Like mentioned earlier, schemas in power BI are used to show relationships between tables within a data model.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Star Schema&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This is the most recommended and commonly used schema in Power BI. In this schema type, the fact table sits at the center of every other dimensional table that’s connected to it. It is important to note that the dimensional tables are not connected to each other. The main benefits of using this schema type in modelling relate to its simplicity and ease of understanding even to new users, faster querying capabilities and its compatibility with power BI’s DAX engine.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Snowflake Schema&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This is a more complex variation of the star schema where dimensional tables are extensively normalized and may subsequently connect to each other without necessarily connecting to the fact tables. This design practically introduces complexities despite enhancing data redundancy. Furthermore, relationships become more complex and performance slowed due to the multiple joints.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Relationships in Power BI&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Relationships define how tables are connected in a data model. In Power BI, relationships are usually:&lt;br&gt;
One-to-many (most common)&lt;br&gt;
Single-directional filtering (recommended)&lt;/p&gt;

&lt;h3&gt;
  
  
  Why Data Modelling and its role in enhancing Power BI functioning.
&lt;/h3&gt;

&lt;p&gt;Some of the various ways data modelling improves reporting in power BI include:&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Reducing data redundancy.&lt;/em&gt;&lt;br&gt;
Dimension tables and fact tables are based on foreign and primary keys which define relationships and help eliminate repetitive data thereby enhancing data redundancy. It is crucial to note that the primary reason for modelling is structuring data and reducing instances of duplicates and making it rather tiresome to interpret large data sets. &lt;/p&gt;

&lt;p&gt;&lt;em&gt;Enhances Usability and report clarity&lt;/em&gt;&lt;br&gt;
With reduced table numbers and refined relationships, data modelling and schemas, it becomes relatively easier for users to interpret reports and gain insights to support business decision making. Besides, calculations become more accurate and easier to compute throughout the analysis period.&lt;/p&gt;

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

&lt;p&gt;Schemas and data modelling form the foundation of effective Power BI reporting. Understanding concepts such as fact and dimension tables, star and snowflake schemas, and table relationships allows analysts to build models that are both efficient and accurate. While Power BI can work with many data structures, investing time in good data modelling pays off through faster performance, clearer reports, and more reliable business insights.&lt;/p&gt;

</description>
      <category>luxdevhq</category>
      <category>datascience</category>
      <category>data</category>
      <category>analytics</category>
    </item>
    <item>
      <title>Introduction to MS excel for data analytics.</title>
      <dc:creator>Victor  ochieng</dc:creator>
      <pubDate>Sun, 25 Jan 2026 17:32:33 +0000</pubDate>
      <link>https://dev.to/victor_ochieng_e9/introduction-to-ms-excel-for-data-analytics-5hag</link>
      <guid>https://dev.to/victor_ochieng_e9/introduction-to-ms-excel-for-data-analytics-5hag</guid>
      <description>&lt;p&gt;&lt;em&gt;“If you master 30% of excel, you could easily land a job faster than a primary school teacher or some graduates with specific undergrad majors,” a friend once told me this immediately after graduation from Maseno University.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;The above words seemed untrue or rather exaggerated until I completed my excel session at LuxDevHq and realized there are so many things that MS excel could do specifically in the analytics field.&lt;br&gt;
There are so many ways MS excel can be used in data analysis. Today we are going to delve into some of these aspects with a key focus on beginner concepts that are crucial to analytics and visualization.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Data Cleaning and Validation&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Data cleaning entails fixing and removing errors in data to ensure accuracy and consistency before any analysis and reporting. Some of these errors include wrong entries, duplicates, inconsistent formats, etc. Duplicates are often removed only from columns that require unique entries such as employee ID. In the example below, we select the data range (employee id) and go to the data segment on the ribbon and click on the remove duplicates option.&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%2Ffd502182oe0dmjnrnea8.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%2Ffd502182oe0dmjnrnea8.png" alt="An example showing removal of duplicates from the employee ID column" width="800" height="286"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In the cleaning process, we can also remove extra spaces and check on the cases. The formulas below can be used to achieve this objective depending on the requirement.&lt;/p&gt;

&lt;p&gt;Trim (&lt;em&gt;=TRIM(C2:C6)&lt;/em&gt; ) used to remove extra spaces.&lt;br&gt;
Upper (&lt;em&gt;=UPPER(B2:B6)&lt;/em&gt; ) used to change the case to capital letters while lower (=LOWER(B2:B6) ) makes them in small letters. Proper (&lt;em&gt;=PROPER(B2:B6)&lt;/em&gt; ) on the other end achieves sentence case.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Validation&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Data validation controls the type of data users can enter a cell. It is important because it reduces data entry errors, improves data quality, and makes analysis more reliable. Data validation is accessed from the Data tab by selecting the required cells and choosing Data Validation. Excel offers several validation types, including drop-down lists, number limits, date restrictions, text length limits, and simple custom rules to prevent incorrect data from being entered.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Ms Excel Functions for analysis.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Ms excel has so many functions that are crucial for computations that provide insight into the data provided. Some of these functions include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;SUM – Adds numbers together
=SUM(A1:A10)&lt;/li&gt;
&lt;li&gt;AVERAGE – Calculates the mean of numbers
=AVERAGE(A1:A10)&lt;/li&gt;
&lt;li&gt;COUNT – Counts cells that contain numbers
=COUNT(A1:A10)&lt;/li&gt;
&lt;li&gt;MAX – Finds the highest value
=MAX(A1:A10)&lt;/li&gt;
&lt;li&gt;MIN – Finds the lowest value
=MIN(A1:A10)
In this case, the column in question is column A with the range running from A1:A10&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%2Faubwrdixdasjnc5r1nab.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%2Faubwrdixdasjnc5r1nab.png" alt=" " width="800" height="233"&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%2F6sv9hqpr3f226yfjy5vj.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%2F6sv9hqpr3f226yfjy5vj.png" alt=" " width="800" height="234"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Pivot tables, Graphs and Interactive Dashboards.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Pivot tables are practically a solution to the rather “hectic” use of some functions. They are used to quickly summarize and analyze large sets of data. Essentially, they allow users to calculate totals, averages, counts, and percentages without using complex formulas. Pivot tables also make it easy to group, sort, and filter data, helping users compare information such as sales by month, department, or product.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Pivot table&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%2Fjgjan6vi7qncitr1sj0o.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%2Fjgjan6vi7qncitr1sj0o.png" alt=" " width="800" height="347"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Graphs, also known as charts, present data in a visual format that is easy to understand. Excel graphs such as bar charts, line charts, and pie charts help users identify trends, patterns, and comparisons briefly. Visual representation makes data clearer and more effective for reporting and presentations.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Combo chart(bar and line graph)&lt;/em&gt;&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%2Fv4qva5e6y8xoomiz2cgm.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%2Fv4qva5e6y8xoomiz2cgm.png" alt=" " width="800" height="427"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Pie chart&lt;/em&gt;&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%2Fb08msdsxcq183qdic4tw.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%2Fb08msdsxcq183qdic4tw.png" alt=" " width="800" height="461"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Interactive dashboards combine pivot tables, charts, and controls such as slicers and drop-down lists into a single view. They allow users to interact with data by filtering and updating results instantly. Dashboards automatically reflect changes in the data, providing quick insights and supporting better decision-making.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Dashboard&lt;/em&gt;&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%2Fbazyr45cd6jns5750mb6.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%2Fbazyr45cd6jns5750mb6.png" alt=" " width="800" height="395"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Conclusion&lt;/strong&gt;&lt;br&gt;
And there you have it! Even as a beginner just poking around Excel, you’ve got the tools to clean, organize, and make sense of your data like a mini data detective. Sure, you might fumble a formula or two (who hasn’t?), but with pivot tables, charts, and dashboards at your fingertips, you’re already on your way to turning numbers into insights. Lets, keep experimenting, don’t fear the functions, and remember—every Excel wizard started exactly where you are right now. Looking forward to your feedback.&lt;/p&gt;

</description>
      <category>datascience</category>
      <category>luxdevhq</category>
      <category>dataengineering</category>
      <category>bigdata</category>
    </item>
    <item>
      <title>Getting started with Git and GitHub.</title>
      <dc:creator>Victor  ochieng</dc:creator>
      <pubDate>Sun, 18 Jan 2026 08:45:04 +0000</pubDate>
      <link>https://dev.to/victor_ochieng_e9/getting-started-with-git-and-github-98o</link>
      <guid>https://dev.to/victor_ochieng_e9/getting-started-with-git-and-github-98o</guid>
      <description>&lt;p&gt;Exploring new learning curves and opportunities isn’t something that I thought I would ever get myself doing in 2026. Today, I am writing about my first experience at LuxDevHq specifically on lessons learnt in the first week of the Data Science and Analytics class. Today we are going to go through a beginner friendly perspective of installing Git and linking it with the GitHub account.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Installation&lt;/strong&gt;&lt;br&gt;
Depending on the operating system your using, you download the right installation package from &lt;a href="https://git-scm.com/install/windows" rel="noopener noreferrer"&gt;https://git-scm.com/install/windows&lt;/a&gt; and run it as an administrator following the prompts provided in the installation interface.&lt;br&gt;
Once it’s installed you can search it open from the shortcut on the desktop or using the search bar you can search for the Git Bash app and open the terminal.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Git Configuration&lt;/strong&gt;&lt;br&gt;
After successful installation, a git profile needs to be set up before linking it with git hub.&lt;br&gt;
The first step is to configure the name and email (Note:email used in profile set up should be the same as the one used during git hub profile setup).&lt;br&gt;
For the name, use the following command.&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 user.name “name”
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;After successfully running the command above, we can configure the email and subsequently confirm if our profile was set up.&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 user.mail  “name@gmail.com”   
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Subsequently, Run the command below to confirm if the profile set up was successful.&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;&lt;strong&gt;Public and Private Key generation and set up.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;SSH keys are essential in git bash primarily for the authentication purposes between the various git servers without necessarily having to type the password and username anytime you want to connect to GitHub. Given the fact that we regularly must connect and access GitHub for pulling and pushing code besides tracking changes, having these keys practically provide identity of the git services and secure authentication. &lt;br&gt;
The keys come in pairs, a public key and a private key with the public key uploaded on the GitHub account and configured in the settings while the private key remains in the local computer for verification purposes before access is granted. The most modern and secure type of key is &lt;em&gt;ed25519&lt;/em&gt; which replaces the &lt;em&gt;rsa&lt;/em&gt; though still supported but outdated.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Generating a new private SSH Key&lt;/strong&gt;&lt;br&gt;
Run this command (replace the email with your own) Press enter without changing anything until you see the generated file path:&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 “(your email address)”
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Getting the public version of the SSH Key.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The key generated is the private key that is stored locally on the device, we need to have a public key for the GitHub configuration and linkage.&lt;br&gt;
Use the command for your system:&lt;br&gt;
&lt;/p&gt;

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

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Setting up the key on GitHub.&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt; Copy the public key&lt;/li&gt;
&lt;li&gt; Paste it into:
GitHub → Settings → SSH and GPG keys&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Test the Connection&lt;/strong&gt;&lt;br&gt;
To make sure everything is working, run this command in your terminal:&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;&lt;strong&gt;Tracking changes on GitHub using Git.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;To track changes, you first need to first create, and new repository online and subsequently clone it on the local device. Basically, we will be duplicating whatever we have online to the local device.&lt;br&gt;
To clone the repository (URL is from the new repository created in the GitHub account online.), &lt;br&gt;
Open Terminal and 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 clone https://github.com/username/repository-name.git
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The URL is from the new repository created in the GitHub account online.&lt;br&gt;
This downloads the project to your computer.&lt;br&gt;
Run the command below to get into the project folder created.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;cd repository-name
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Tracking&lt;/strong&gt;&lt;br&gt;
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 status
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The command checks for what has been changed or edited.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Adding Files&lt;/strong&gt;&lt;br&gt;
After creating or editing files:&lt;br&gt;
&lt;/p&gt;

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

&lt;/div&gt;



&lt;p&gt;This practically communicates to git that the changes made need to be saved.&lt;br&gt;
On Git, the “commit” command is used to save the changes&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 "My first commit"
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Uploading files to GitHub&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;To achieve this, we use the “push” command&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 origin main
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Downloading from GitHub&lt;/strong&gt; &lt;/p&gt;

&lt;p&gt;The “pull” command will help achieve this objective.&lt;br&gt;
&lt;/p&gt;

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

&lt;/div&gt;



&lt;p&gt;This updates your local copy.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Viewing Past Changes (History)&lt;/strong&gt;&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;p&gt;This commands practically tracks the logs and ensure all changes are logged and can be viewed.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Conclusion&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This journey into Git and GitHub is just the beginning for me, and like many beginners, I’m still learning and figuring things out along the way. The lessons shared here reflect my early experiences and understanding so far. I’d really appreciate your thoughts, corrections, or additional tips in the comments—especially if you’re also learning or have gone through this process before. Let’s learn and grow together. &lt;/p&gt;

</description>
      <category>datascience</category>
      <category>dataengineering</category>
      <category>data</category>
      <category>luxdevhq</category>
    </item>
  </channel>
</rss>
