<?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: SAMUEL</title>
    <description>The latest articles on DEV Community by SAMUEL (@samsam007).</description>
    <link>https://dev.to/samsam007</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%2F1233559%2Fcdaa9849-dddf-49f6-8b7e-be7fab139c0f.jpg</url>
      <title>DEV Community: SAMUEL</title>
      <link>https://dev.to/samsam007</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/samsam007"/>
    <language>en</language>
    <item>
      <title>Joins and window functions in SQL.</title>
      <dc:creator>SAMUEL</dc:creator>
      <pubDate>Thu, 05 Mar 2026 04:35:15 +0000</pubDate>
      <link>https://dev.to/samsam007/joins-and-window-functions-in-sql-3iin</link>
      <guid>https://dev.to/samsam007/joins-and-window-functions-in-sql-3iin</guid>
      <description>&lt;h2&gt;
  
  
  Join Operations.
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Joins&lt;/strong&gt; Joins are used to combine data fromtwo or more tables based on related column(s) between them.&lt;br&gt;
The result of a join is a new table that includes columns from both tables, arranged side by side. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Types of join operations&lt;/strong&gt;  &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;INNER JOIN&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;LEFT JOIN (or LEFT OUTER JOIN) &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;RIGHT JOIN (or RIGHT OUTER JOIN) &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;FULL JOIN (or FULL OUTER JOIN)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;CROSS JOIN&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;SELF JOIN&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;NATURAL JOIN&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;INNER JOIN.&lt;/strong&gt; This is a type of join that returns only the rows from both tables that returns only from both tables where there is a match the specified columns in each table. It filters out the rows that do not have corresponding matches in both tables.&lt;br&gt;
&lt;code&gt;SELECT&lt;/code&gt;&lt;br&gt;
&lt;code&gt;Columns&lt;/code&gt;&lt;br&gt;
&lt;code&gt;FROM table 1&lt;/code&gt;&lt;br&gt;
&lt;code&gt;INNER JOIN table 2&lt;/code&gt;&lt;br&gt;
&lt;code&gt;ON table1.Column_name = table2.Column_name;&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Example; List all the orders made and the names of customers that made them. &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%2Fqb8exm2z84x1z6f2fzvf.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%2Fqb8exm2z84x1z6f2fzvf.png" alt=" " width="800" height="104"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;LEFT JOIN.&lt;/strong&gt; LEFT JOIN is also known as LEFT OUTER JOIN. Returns all the rows from the left table and only matching rows from the right table. If there is no match in the right table, null values are returned for the columns of the right table. &lt;/p&gt;

&lt;p&gt;&lt;code&gt;SELECT&lt;/code&gt;&lt;br&gt;
&lt;code&gt;Columns&lt;/code&gt; &lt;br&gt;
&lt;code&gt;FROM table1&lt;/code&gt;&lt;br&gt;
&lt;code&gt;LEFT JOIN table2&lt;/code&gt;&lt;br&gt;
&lt;code&gt;ON table1.column_name = table2.column_name;&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Example; List all employees and all projects assigned.&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%2Fqz3fthmoboaf4qjjjk21.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%2Fqz3fthmoboaf4qjjjk21.png" alt=" " width="800" height="120"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;RIGHT JOIN&lt;/strong&gt; Right join is also known as RIGHT OUTER JOIN, returns all rows from the right table and the matching rows from the left table. If there is no match from the left table, NULL values are returned for the columns from the left table. &lt;/p&gt;

&lt;p&gt;&lt;code&gt;SELECT&lt;/code&gt; &lt;br&gt;
&lt;code&gt;Columns&lt;/code&gt; &lt;br&gt;
&lt;code&gt;FROM table1&lt;/code&gt;&lt;br&gt;
&lt;code&gt;RIGHT JOIN table2&lt;/code&gt;&lt;br&gt;
&lt;code&gt;ON table1.column = table2.column;&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Example; List all employees and their departments.&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%2Fe04728qrsrwzp83xqqq4.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%2Fe04728qrsrwzp83xqqq4.png" alt=" " width="800" height="111"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;FULL OUTER JOIN&lt;/strong&gt; A FULL OUTER JOIN returns all the rows from both tables, including unmatched rows from both the left and right tables. If there is no match in either table, NULL values are returned for the columns of the respective table.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;SELECT&lt;/code&gt; &lt;br&gt;
&lt;code&gt;Columns&lt;/code&gt; &lt;br&gt;
&lt;code&gt;FROM table1&lt;/code&gt;&lt;br&gt;
&lt;code&gt;FULL OUTER JOIN table2&lt;/code&gt;&lt;br&gt;
&lt;code&gt;ON table1.column = table2.column;&lt;/code&gt;&lt;br&gt;
Example; List all employees and all projects assigned.&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%2F0cxpn6wv8rk4v8frux1k.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%2F0cxpn6wv8rk4v8frux1k.png" alt=" " width="800" height="115"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;CROSS JOIN&lt;/strong&gt; A CROSS JOIN returns every combination of rows from both tables &lt;br&gt;
&lt;code&gt;SELECT *&lt;/code&gt;&lt;br&gt;
&lt;code&gt;FROM table1&lt;/code&gt;&lt;br&gt;
&lt;code&gt;CROSS JOIN table2;&lt;/code&gt;&lt;br&gt;
Example; Assign every employee to every department&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%2Fhfnz3i62owgg1bpvi41p.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%2Fhfnz3i62owgg1bpvi41p.png" alt=" " width="800" height="144"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;SELF JOIN&lt;/strong&gt; A SELF JOIN is when a table joins with itself. You need to use aliases to refer to the same table in two roles.&lt;br&gt;
Example; List all employees and their managers.&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%2F43f0vwbzpbidhhv30zwq.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%2F43f0vwbzpbidhhv30zwq.png" alt=" " width="800" height="157"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;NATURAL JOIN&lt;/strong&gt; A NATURAL JOIN automatically joins tables using all columns that have the same name.&lt;br&gt;
&lt;code&gt;SELECT *&lt;/code&gt; &lt;br&gt;
&lt;code&gt;FROM table1&lt;/code&gt;&lt;br&gt;
&lt;code&gt;NATURAL JOIN table2;&lt;/code&gt;&lt;br&gt;
Example;&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%2Fdqbic2lomr3554iqv0sd.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%2Fdqbic2lomr3554iqv0sd.png" alt=" " width="800" height="95"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Window Functions.
&lt;/h2&gt;

&lt;p&gt;Window functions allow us to perform certain operations on a subset of related rows, called a window, and return a value for each row in that set.&lt;br&gt;
Aggregate window functions are a group of aggregate functions, such as SUM(), COUNT(), AVG(), MAX(), and MIN(), that calculate aggregate values within a window and return a result to each row.&lt;br&gt;
For example, you can use window functions to rank rows, calculate &lt;br&gt;
cumulative totals, or find the difference between consecutive rows in a dataset. Unlike aggregate functions like SUM() or AVG(), which return one result for a group of rows, window functions return a value for each row while still providing information from the related rows.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;ROW_NUMBER()&lt;/strong&gt; Assigns a unique sequential number to each row within a window partition based on the ordering of a column by the ORDER BY clause. No two rows are given the same number. &lt;br&gt;
SELECT&lt;br&gt;
 Column_X,&lt;br&gt;
 Column_Y,&lt;br&gt;
 ROW_NUMBER() OVER (&lt;br&gt;
  PARTITION BY Column_X&lt;br&gt;
  ORDER BY Column_Y) AS ALIAS&lt;br&gt;
FROM&lt;br&gt;
 Table_name;&lt;/p&gt;

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

&lt;p&gt;&lt;strong&gt;RANK()&lt;/strong&gt; Assigns a rank to each row within a window partition based on the ordering of a column by the ORDER BY clause. Rows with the same values receive the same rank, and the next rank is skipped accordingly.&lt;br&gt;
SELECT&lt;br&gt;
 Column_X,&lt;br&gt;
 Column_Y,&lt;br&gt;
 RANK() OVER (&lt;br&gt;
  PARTITION BY Column_X&lt;br&gt;
  ORDER BY Column_Y) AS ALIAS&lt;br&gt;
FROM&lt;br&gt;
 Table_name;&lt;/p&gt;

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

&lt;p&gt;&lt;strong&gt;DENSE RANK&lt;/strong&gt; Assigns a rank to each row within a window partition based on the ordering of a column by the ORDER BYclause. Rows with the same values receive the same rank but no ranks are skipped.&lt;br&gt;
SELECT&lt;br&gt;
 Column_X,&lt;br&gt;
 Column_Y,&lt;br&gt;
 DENSE RANK() OVER (&lt;br&gt;
  PARTITION BY Column_X&lt;br&gt;
  ORDER BY Column_Y) AS ALIAS&lt;br&gt;
FROM&lt;br&gt;
 Table_name;&lt;/p&gt;

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

&lt;p&gt;&lt;strong&gt;LEAD&lt;/strong&gt; Allows the access of a value within a column from the following nth-row relative to the current row. The lead value for the last row within a partition will be NULL since there is nonext value.&lt;br&gt;
SELECT&lt;br&gt;
    Column_X,&lt;br&gt;
    Column_Y,&lt;br&gt;
    Column_Z,&lt;br&gt;
LEAD(Column_Z, n) OVER ( &lt;br&gt;
    PARTITION BY Column_X&lt;br&gt;
ORDER BY Column_Y) AS Alias&lt;br&gt;
FROM&lt;br&gt;
    Table_name;&lt;/p&gt;

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

&lt;p&gt;&lt;strong&gt;LAG&lt;/strong&gt; Allows the access of a value within a column from the previous nth-row relative to thecurrent row. The lag value for the first row within a partition will be NULL since there is no previous value.&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%2F3fcysgfbjzrjfy4b9x2d.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%2F3fcysgfbjzrjfy4b9x2d.png" alt=" " width="800" height="122"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>database</category>
      <category>sql</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>How Analysts Translate Messy Data, DAX, and Dashboards into Action Using Power BI</title>
      <dc:creator>SAMUEL</dc:creator>
      <pubDate>Tue, 10 Feb 2026 05:15:06 +0000</pubDate>
      <link>https://dev.to/samsam007/how-analysts-translate-messy-data-dax-and-dashboards-into-action-using-power-bi-1686</link>
      <guid>https://dev.to/samsam007/how-analysts-translate-messy-data-dax-and-dashboards-into-action-using-power-bi-1686</guid>
      <description>&lt;p&gt;Data analysts are tasked to provide actionable insights from messy data. Analysts use power BI to translate messy data into actionable insights.&lt;/p&gt;

&lt;h2&gt;
  
  
  Messy Data.
&lt;/h2&gt;

&lt;p&gt;The common reality that anlysts face is data provided is often not clean. In the data provided for analysis, there will be be issues of inconsistent formats, duplicate values and missing values.&lt;/p&gt;

&lt;h2&gt;
  
  
  Data Cleaning and Transformation with Power Query.
&lt;/h2&gt;

&lt;p&gt;Its at this stage that anlysts apply power query to clean the data for correct insights. &lt;br&gt;
Data clean has to thorough as the saying goes "gabbage in, gabbage out" and so every anlyst has to ensure that the data used to do the analysis is correct and clean.&lt;/p&gt;

&lt;h3&gt;
  
  
  Power query application.
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Power Query User Interface&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%2Flup9pdc013z86xm2s2bv.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%2Flup9pdc013z86xm2s2bv.png" alt=" " width="800" height="431"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;For example from the the snip-short shown above there is evidence of empty cells. To correct this, the analyst can opt to replace the empty cells with "Unknown" &lt;/p&gt;

&lt;p&gt;An analyst can also remove duplicates from the menu in this interface. &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%2F3h2toeqfanbq8w8w2piy.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%2F3h2toeqfanbq8w8w2piy.png" alt=" " width="800" height="421"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  DAX Functions.
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;DAX(Data Analysis Expressions)&lt;/strong&gt; is a formula used in power BI to create calculations and data analysis logic. DAX is used to build measures, calculated columns and calculated tables that help transform raw data into meaningful insights. &lt;br&gt;
DAX is designed specifically for analytical and business intelligence tasks such as totals, averages, percentages, rankings, comparisons, and time-based analysis. &lt;br&gt;
DAX formulas are mostly used to show the main KPIs. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Aggregation&lt;/strong&gt;&lt;br&gt;
Aggregation is the process of combining multiple rows of data into a single summarized value. In Power BI, aggregation is used to answer questions like: &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;What is the total revenue?&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;What is the average yield? &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;What is the maximum profit? &lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Aggregation converts raw data into meaningful summaries like totals, averages, medians, minimums, maximums, and counts. It is the foundation of all reporting and dashboards. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Types of Aggregation functions in DAX&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;SUM AND SUMX &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;AVERAGE AND AVERAGEX &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;MEDIAN AND MEDIANX&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;MIN AND MINX &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;MAX AND MAXX &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;COUNT, COUNTROWS, AND COUNTX &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;ABS (Absolute Value) &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;POWER &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;SQRT (Square Root) &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;ROUND, ROUNDUP, ROUNDDOWN &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;MOD&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;logical Functions in DAX&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Logical functions in DAX are used to make decisions based on conditions. They allow Power BI to answer “yes or no” questions, classify data into categories, apply business rules, and control how results are calculated and displayed.&lt;br&gt;
Logical functions are commonly used in calculated columns, measures, and KPIs. &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;THE IF FUNCTION &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;NESTED IF STATEMENTS &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;IF WITH AND (AND FUNCTION) &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;IF WITH &amp;amp;&amp;amp; (LOGICAL AND OPERATOR) &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;IF WITH OR (OR FUNCTION)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;IF WITH || (LOGICAL OR OPERATOR) &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;THE SWITCH FUNCTION &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;NOT FUNCTION&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;ISBLANK FUNCTION &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;COALESCE FUNCTION&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

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

&lt;p&gt;An effective dashboard is not about showing everything- it's about showing what matters. Analysts tailor dashboards based on the audience. &lt;br&gt;
&lt;strong&gt;Excecutives&lt;/strong&gt;- need high-level KPIs and trends&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Managers&lt;/strong&gt;- need performance by team, region or product.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Operational staff&lt;/strong&gt;- need detailed, actionable views Clear layout, minimal clutter and consistent visuals help users focus on insights rather than figures.&lt;/p&gt;

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

&lt;p&gt;Power BI skills aren’t about fancy charts or complex formulas—they’re about asking better questions and creating clearer answers. Whether you’re looking to reduce costs, increase revenue, or improve customer satisfaction, the path starts with transforming data into decisions.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Schemas And Data Modelling In Power BI.</title>
      <dc:creator>SAMUEL</dc:creator>
      <pubDate>Sun, 08 Feb 2026 09:29:30 +0000</pubDate>
      <link>https://dev.to/samsam007/schemas-and-data-modelling-in-power-bi-4p1d</link>
      <guid>https://dev.to/samsam007/schemas-and-data-modelling-in-power-bi-4p1d</guid>
      <description>&lt;h2&gt;
  
  
  Introduction.
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Importance of data in modern business intelligence&lt;/strong&gt;&lt;br&gt;
In modern business, businesses correct alot of data from their daily operations, this data is the one that is analysed to turn it into actionable insights.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Power BI&lt;/strong&gt;&lt;br&gt;
Power BI is a tool created by Microsoft to turn raw data into interactive insights. Think of it as a supercharged Excel, but specifically designed for creating stunning reports and dashboards that anyone in your organization can use. The power of Power BI lies in its ability to pull data from many sources, clean it, analyze it, and then create visuals that are easy to understand and actionable.&lt;br&gt;
Power BI reports start with great data modelling, even before a single visual is created. A strong model improves performance, ensures accurate reporting and provides a scalable foundation for analytics. In this article, we explore fact and dimension tables, star and snowflake schemas, relationships and the importance of good modelling in Power BI&lt;/p&gt;

&lt;h2&gt;
  
  
  Data modelling in power BI
&lt;/h2&gt;

&lt;p&gt;Data modelling refers to the process of structuring data into tables, defining relationships between them, and optimizing them for analytical queries. In power BI, the data model sits at the heart of the solution, powering calculations written in DAX and driving how filters and aggregations behave across visuals. Power BI models are optimized for fast read and aggregation operations. &lt;br&gt;
Poor medelling leads to slow, inaccurate, or confusing reports. &lt;/p&gt;

&lt;h2&gt;
  
  
  Schemas
&lt;/h2&gt;

&lt;p&gt;A schema represents a logical grouping of tables that are related to each other. It acts as a blueprint defining how fact tables (metrics) and dimension tables (attributes) connect to enable efficient reporting, analysis and data modelling. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Star Schema&lt;/strong&gt;&lt;br&gt;
A star schema consists of a central fact table that stores quantitative data and multiple dimension tables that provide descriptive attributes. The layout resembles a star, with the fact table at the centre and dimension tables outward. &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%2Fs06wku7gywfbaw9kvh6k.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%2Fs06wku7gywfbaw9kvh6k.png" alt=" " width="800" height="800"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The fact table Sales is in the center. It holds the numeric data you want to analyze, like sales or profits. Connected to it are dimension tables with descriptive details, such as product names, customer location or dates&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%2Fy24lo3zj8lk1qna2w02u.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%2Fy24lo3zj8lk1qna2w02u.png" alt=" " width="800" height="631"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Fact Tables&lt;/strong&gt;&lt;br&gt;
Fact tables store observations or events and can be sales orders, stock balances, exchange rates, temperatures and more. A fact table contains dimension key columns that relate to dimension tables and numeric measure columns. &lt;br&gt;
Dimension tables contain a relatively small number of rows, whereas fact tables contain a large number of rows. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Snowflake Schema&lt;/strong&gt;&lt;br&gt;
The snowflake is a schema that consists of one fact table that is connected to many dimension tables, which are connected to other dimension tables. &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%2F49aom7v2boxy6xovg9wm.webp" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F49aom7v2boxy6xovg9wm.webp" alt=" " width="534" height="374"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Relationships in power BI&lt;/strong&gt;&lt;br&gt;
Relationships define how tables connect and how filters propagate through the model.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Types of relationships include&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;One to one Relationship:&lt;/strong&gt; Each row in Table A relates to exactly one row in Table B, and vice versa. &lt;br&gt;
Example: A Person table and a Passport table, where each person has only one passport.&lt;br&gt;
&lt;strong&gt;One to many:&lt;/strong&gt; A row in Table A can relate to many rows in Table B, but each row in Table B relates to only one row in Table A.&lt;br&gt;
Example: A Customer table and an Orders table, where one customer can place many orders.&lt;br&gt;
&lt;strong&gt;Many to many:&lt;/strong&gt; Rows in Table A can relate to many rows in Table B, and vice versa.&lt;br&gt;
Example: A Students table and a Courses table, where students can enroll in multiple courses, and courses can have multiple students.&lt;/p&gt;

&lt;p&gt;Good data modelling in power BI Isn't about complexity, it's about clarity. A good schema with proper relationships gives you faster reports with accurate numbers. &lt;br&gt;
A strong model-built around a star schema, clean fact/dimension separation and well-defined relationships leads to high performance, reliable insights, simpler DAX and long‑term scalability&lt;/p&gt;

</description>
      <category>analytics</category>
      <category>data</category>
      <category>dataengineering</category>
      <category>microsoft</category>
    </item>
    <item>
      <title>Data Analysis Using MS Excel.</title>
      <dc:creator>SAMUEL</dc:creator>
      <pubDate>Sun, 25 Jan 2026 21:21:43 +0000</pubDate>
      <link>https://dev.to/samsam007/data-analysis-using-ms-excel-40ak</link>
      <guid>https://dev.to/samsam007/data-analysis-using-ms-excel-40ak</guid>
      <description>&lt;p&gt;Microsoft Excel is a sreadsheet program developed by Microsoft. It allows one to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Collect data. &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Organize data.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Analyze and calculate numbers.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Visualize data using tables and charts.  &lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This article will cover;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Understanding microsoft excel.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Identifying rows, columns, and cells in a worksheet&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Entering and organizing data in table format&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Use of basic excel functions such as SUM, AVERAGE and COUNT&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Cleaning data and removing duplicates.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Creating pivot tables. &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Building charts to visualize trends and comparisons.  &lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Getting started with Excel.
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Workbook:&lt;/strong&gt; An Excel file containing more than one worksheet.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Worksheet:&lt;/strong&gt; An individual sheet where data is entered.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Columns:&lt;/strong&gt; Vertical sections labeled with letters (A, B,...) used to organize data.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Rows:&lt;/strong&gt; Horizontal sections labeled with numbers (1, 2, ...) where records are stored.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Cell:&lt;/strong&gt; An intersection of a row and a column (A1, B1,...).&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Range:&lt;/strong&gt; A group of two or more selected cells, e.g., A1:A10, represents a range of cells in column A.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Ribbon and key tabs:&lt;/strong&gt; A toolbar at the top of Excel that contains commands grouped into tabs such as Home, Insert, Formulas, and Data.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Formula:&lt;/strong&gt; An equation that performs calculations on values. Formulas use arithmetic operations and must start with =&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Filter:&lt;/strong&gt; A tool used to show or hide specific rows based on specified criteria.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Sort:&lt;/strong&gt; A tool used to arrange data in either ascending or descending order.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Below is an overview of the Excel interface showing key components.&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%2Fxbp6wzp8k5vk5otnv8qt.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%2Fxbp6wzp8k5vk5otnv8qt.png" alt=" " width="800" height="454"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  Entering and organizing data.
&lt;/h4&gt;

&lt;p&gt;&lt;strong&gt;Creating a worksheet:&lt;/strong&gt; Open Excel and type your data into rows and columns. &lt;br&gt;
&lt;strong&gt;Using headers:&lt;/strong&gt; Label your columns.&lt;br&gt;
&lt;strong&gt;Formatting cells:&lt;/strong&gt; Adjust column width, bold headers, and use borders to make data neat.&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%2Frldmgxjlbc90ey7mrdnw.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%2Frldmgxjlbc90ey7mrdnw.png" alt=" " width="800" height="323"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Cleaning and Preparing Data
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Sorting data:&lt;/strong&gt; Arrange numbers from smallest to larget or alphabetically.&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%2Fqaho7n5swdjt3be76tep.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%2Fqaho7n5swdjt3be76tep.png" alt=" " width="800" height="412"&gt;&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;Filtering data:&lt;/strong&gt; Shows only the rows you need.&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%2Fnmcnmx9ryhnhrqsmmfx7.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%2Fnmcnmx9ryhnhrqsmmfx7.png" alt=" " width="800" height="413"&gt;&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;Removing duplicates:&lt;/strong&gt; Delete repeated entries to keep data accurate&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%2Fmacxxfj2txuhtfu4zq43.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%2Fmacxxfj2txuhtfu4zq43.png" alt=" " width="800" height="420"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Using Basic Formulas.
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;SUM:&lt;/strong&gt; Add up values.&lt;br&gt;
&lt;strong&gt;AVERAGE:&lt;/strong&gt; Find the average of numbers.&lt;br&gt;
&lt;strong&gt;COUNT:&lt;/strong&gt; Count how many entries you have.&lt;br&gt;
&lt;strong&gt;MIN/MAX:&lt;/strong&gt; Find the smallest and largest values. &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%2Fu4lds8wpvalkpajzo8r4.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%2Fu4lds8wpvalkpajzo8r4.png" alt=" " width="800" height="407"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Conditional Formatting.
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Highlighting values:&lt;/strong&gt; Automatically highlighting cells with a color based on a set condition e.g. duplicate values. &lt;br&gt;
&lt;strong&gt;Color Scales:&lt;/strong&gt; Show trends with gradients (e.g., red for low, green for high).&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%2F22ttjte4x5i3zx2wlsce.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%2F22ttjte4x5i3zx2wlsce.png" alt=" " width="800" height="414"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Creating charts and Graphs.
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Bar chart:&lt;/strong&gt; Compare categories (e.g sales by month)&lt;br&gt;
&lt;strong&gt;Line chart:&lt;/strong&gt; Show trends overtime.&lt;br&gt;
&lt;strong&gt;Pie chart:&lt;/strong&gt; Show percentages of a whole. &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%2Fbyivk9x15sg2616i6mz7.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%2Fbyivk9x15sg2616i6mz7.png" alt=" " width="800" height="427"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  PivotTables.
&lt;/h3&gt;

&lt;p&gt;A pivottable summarizes large data sets quickly.&lt;br&gt;
&lt;strong&gt;Creating a pivottable:&lt;/strong&gt;Select data → Insert → PivotTable.&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%2Fww3eq8j2zku0lk3crg2w.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%2Fww3eq8j2zku0lk3crg2w.png" alt=" " width="800" height="438"&gt;&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;Rearranging fields:&lt;/strong&gt; Drag and drop to see totals by category, month or product &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%2Fidt9nduh0c58fdhpr00q.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%2Fidt9nduh0c58fdhpr00q.png" alt=" " width="800" height="420"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Microsoft Excel is a powerful and beginner-friendly tool for data analytics. It helps users organize data, clean it, perform calculations, and visualize insights using charts.&lt;/p&gt;

&lt;p&gt;Excel is a great starting point for anyone getting into data analysis.&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>data</category>
      <category>microsoft</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>Git: A Guide to Version Control, Push, and Pull.</title>
      <dc:creator>SAMUEL</dc:creator>
      <pubDate>Sun, 18 Jan 2026 10:19:53 +0000</pubDate>
      <link>https://dev.to/samsam007/git-a-guide-to-version-control-push-and-pull-e6b</link>
      <guid>https://dev.to/samsam007/git-a-guide-to-version-control-push-and-pull-e6b</guid>
      <description>&lt;h2&gt;
  
  
  Introduction to Git and version Control.
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;What version control is and why it matters&lt;/strong&gt;.
Git is a system that helps manage a project. Insted of keeping one copy of your work version control with git creates a history of snapshots called commits. Each commit records the state of your project at a specific moment, so you can always revisit, compare or restore past versions.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Benefits of using Git.
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;&lt;em&gt;Safety &amp;amp; Reliability.&lt;/em&gt;&lt;/strong&gt; Automatic backups using commit is a snapshot of your project so you never lose your work. Easy recovery if something breaks, you can roll back to the version. &lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;em&gt;History &amp;amp; Tracking.&lt;/em&gt;&lt;/strong&gt; There is a detailed change logs of who mdae changes, what changed and when. It helps compare versions and see differences between any two points and helps maintain accountability.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;em&gt;Collaboration.&lt;/em&gt;&lt;/strong&gt; Multiple developers can work on the same project without overwriting each other's code. Developers can merge changes safely and git provides tools to handle overlapping edits.&lt;/li&gt;
&lt;li&gt;Git makes coding safer, smarter and more collaborative.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Difference between local and remote repositories
&lt;/h3&gt;

&lt;p&gt;A local repository is stored on your computer and lets you work offline, while a remote repository is hosted on a cloud server like Github and enables collaboration, back up and sharing across multiple developers. &lt;br&gt;
In a local repository you make changes stage them using git add and the then git commit. You push your commits using git push to the remote repository to share with others. &lt;/p&gt;

&lt;h2&gt;
  
  
  Setting up Git
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Installing Git on your system.
&lt;/h3&gt;

&lt;p&gt;Download and install &lt;a href="https://git-scm.com/install/" rel="noopener noreferrer"&gt;git&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  Configuring username and email.
&lt;/h4&gt;

&lt;p&gt;&lt;code&gt;git config --global user.name "your Name"&lt;/code&gt;&lt;br&gt;
&lt;code&gt;git config --global user.email"Your.email@example.com"&lt;/code&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  SSH Key Generation.
&lt;/h4&gt;

&lt;p&gt;&lt;code&gt;ssh-keygen -t ed25519 -C "your.email@example.com&lt;/code&gt;&lt;br&gt;
&lt;code&gt;eval "$(ssh-agent -s)"&lt;/code&gt;&lt;br&gt;
&lt;code&gt;cat ~/.ssh/id_ed25519.pub&lt;/code&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;This commands wil generate a key that you use to connect to your git hub account/ remote repository. &lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Creating your first local Repository
&lt;/h3&gt;

&lt;p&gt;A repository is a folder that holds and tracks all your project. &lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Create a folder and file for your project&lt;br&gt;
&lt;code&gt;mk dir folder1&lt;/code&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;cd folder1&lt;/code&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;Create a file_file1.txt&lt;/code&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h4&gt;
  
  
  Initializing a repository.
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;When you start an new project and want Git to track it, you need to initialize a repository. This sets up the hidden &lt;code&gt;.git&lt;/code&gt; folder where Git store all the history, configuration, and metadata for your project. &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;To tell Git to start tracking your &lt;br&gt;
&lt;code&gt;git init&lt;/code&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Tracking changes
&lt;/h3&gt;

&lt;h4&gt;
  
  
  Checking repository status
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;The git status shows you the current state of your working directory and staging are. It helps you understand what's going on in your project before committing changes. 
&lt;code&gt;git status&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  Staging files.
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;This isthe process of preparing changes before committing them. This ia a waiting are where you select which edit will be included in the next snapshot (commit)
&lt;code&gt;git add file1.txt&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  committing changes
&lt;/h4&gt;

&lt;p&gt;A commit is saving a snapshot of you project. Once you have staged files, committing records into the repository's history. &lt;br&gt;
&lt;code&gt;git commit -m "Describe your changes here"&lt;/code&gt; &lt;/p&gt;

&lt;h3&gt;
  
  
  Pushing code to a remote repository.
&lt;/h3&gt;

&lt;h4&gt;
  
  
  Connecting to a remote
&lt;/h4&gt;

&lt;p&gt;Link your local repository to GitHub:&lt;br&gt;
we then have to connect out remote repository (github repo) to our locally hosted repository. This ensure that changes commited locally reflect on our github&lt;br&gt;
&lt;code&gt;git remote add origin"Your_remote_repo_url&lt;/code&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  Staging and commiting changes
&lt;/h4&gt;

&lt;p&gt;&lt;code&gt;git add .&lt;br&gt;
git commit -m "Your commit message"&lt;br&gt;
&lt;/code&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  Pushing Commits
&lt;/h4&gt;

&lt;p&gt;This is pushing changes from your local repository to our remote repository in github.&lt;br&gt;
&lt;code&gt;git push -f origin main&lt;/code&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;origin&lt;/code&gt; - Remote repository&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;main&lt;/code&gt; - the branch you are pushing &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;-u&lt;/code&gt; -  Sets the upstream branch.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Pulling changes from Github.
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;When someone else makes changes—or when you switch computers—you’ll want the latest version of the project. This is called pulling&lt;br&gt;
&lt;code&gt;git pull&lt;/code&gt; - This command will fetch and merge the changes.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;When to pull:&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;When starting work on a project&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;When teammates have made changes&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Before making your own changes&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Git is a powerful tool that becomes intuitive with practice.&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>git</category>
      <category>softwaredevelopment</category>
      <category>tutorial</category>
    </item>
  </channel>
</rss>
