<?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: richardmuzungu</title>
    <description>The latest articles on DEV Community by richardmuzungu (@richardmuzungu2lab).</description>
    <link>https://dev.to/richardmuzungu2lab</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.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3709687%2F9d26a21c-0e5b-47eb-980b-0e7a10b1559d.png</url>
      <title>DEV Community: richardmuzungu</title>
      <link>https://dev.to/richardmuzungu2lab</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/richardmuzungu2lab"/>
    <language>en</language>
    <item>
      <title>HOW TO CONNECT POWERBI TO A LOCAL POSTGRESQL AND AIVEN CLOUD</title>
      <dc:creator>richardmuzungu</dc:creator>
      <pubDate>Wed, 03 Jun 2026 16:07:49 +0000</pubDate>
      <link>https://dev.to/richardmuzungu2lab/how-to-connect-powerbi-to-a-local-postgresql-and-aiven-cloud-jd3</link>
      <guid>https://dev.to/richardmuzungu2lab/how-to-connect-powerbi-to-a-local-postgresql-and-aiven-cloud-jd3</guid>
      <description>&lt;h1&gt;
  
  
  WHAT IS POWERBI
&lt;/h1&gt;

&lt;p&gt;Power BI is a business analytics created by Microsoft that transforms raw, disconnected data into interactive visuals and actionable insights. It allows users to data sources, clean and model the information, and build stunning, real-time dashboards to drive smarter business decisions.&lt;/p&gt;

&lt;h2&gt;
  
  
  *&lt;em&gt;How it works *&lt;/em&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;1.&lt;em&gt;Connect&lt;/em&gt;&lt;/strong&gt;: Pulls in data from virtually anywhere, including local Excel files, cloud platforms (like Salesforce or Google Analytics) and major databases .&lt;br&gt;
&lt;strong&gt;&lt;em&gt;2.Transform &amp;amp; Model&lt;/em&gt;&lt;/strong&gt;: Cleans up messy data and establishes relationships between different tables.&lt;br&gt;
&lt;strong&gt;&lt;em&gt;3.Visualize&lt;/em&gt;&lt;/strong&gt;: Uses intuitive drag-and-drop actions to build charts, graphs, maps, and matrices so data tells a clear story.&lt;br&gt;
&lt;strong&gt;&lt;em&gt;4.Share&lt;/em&gt;&lt;/strong&gt;: Publishes reports to the cloud so teams can interact with the data, filter it, and make informed decisions.&lt;br&gt;
&lt;strong&gt;&lt;u&gt;SQL AND IT'S IMPORTANCE &lt;/u&gt;&lt;/strong&gt;&lt;br&gt;
SQL in full means Structured Query Language. It is the foundational standard for storing and managing structured data across modern businesses.&lt;br&gt;
 &lt;em&gt;&lt;strong&gt;Benefits of SQL&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Databases Guaranteed Data Integrity: Uses ACID properties (Atomicity, Consistency, Isolation, Durability) to ensure every transaction completes flawlessly without corrupting your data.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Massive Scalability: Handles millions of data rows smoothly while maintaining fast search speed&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Standardized Language: Uses SQL, a universal language, allowing developers to write queries that work across different systems like MySQL, PostgreSQL, and SQL Server.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Advanced Security: Controls access through precise user permissions, encryption, and secure login protocols to protect sensitive business assets.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Powerful Relationships: Links different tables together using keys, eliminating the need to duplicate data across your system.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Connecting PowerBi to a local Postgre database
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;em&gt;&lt;strong&gt;Install powerbi&lt;/strong&gt;&lt;/em&gt; : Incase one does not have it &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;em&gt;*&lt;em&gt;Open Powerbi *&lt;/em&gt;&lt;/em&gt; : Open Powerbi and select &lt;em&gt;Get data&lt;/em&gt; on the top bar menu&lt;/p&gt;&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%2Fb88g4hm84smhob3jsho8.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%2Fb88g4hm84smhob3jsho8.png" alt=" " width="800" height="420"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;_Scroll through the list _&lt;/strong&gt; Scroll through the list and head to Database whereby you will see Postgre SQL Database displayed on your right, click it and click connect&lt;/li&gt;
&lt;/ul&gt;

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

&lt;p&gt;&lt;strong&gt;_Name the server and database _&lt;/strong&gt; Set your server name and database then click OK.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Username and password&lt;/em&gt;&lt;/strong&gt; Set your username and password for authentication then click &lt;em&gt;connect&lt;/em&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%2Fl7cvu4kpe2h51nrv4ghl.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%2Fl7cvu4kpe2h51nrv4ghl.png" alt=" " width="800" height="420"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;NB: The name of the database must exists in the PostgreSQL&lt;/p&gt;

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

&lt;p&gt;Many people and organizations store their data in cloud databases such as Aiven because of its flexibility and scalability.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Log in Aiven&lt;/em&gt;&lt;/strong&gt;  Log in to your aiven account and select the postgres database and activate it(power it on)&lt;br&gt;
&lt;strong&gt;&lt;em&gt;Click the service option&lt;/em&gt;&lt;/strong&gt; To display details in the service 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%2Flfjkyezmner7ssurhayr.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%2Flfjkyezmner7ssurhayr.png" alt=" " width="800" height="420"&gt;&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;&lt;em&gt;Scroll to CA Certificate&lt;/em&gt;&lt;/strong&gt; Click the download option and save the certificate on your computer&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%2Fnk3tdnxrxjb68h53vua3.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%2Fnk3tdnxrxjb68h53vua3.png" alt=" " width="800" height="420"&gt;&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;&lt;em&gt;Rename the certificate&lt;/em&gt;&lt;/strong&gt;The certificate will download as a file named: ca.pem&lt;br&gt;
Windows expects to use the .crt extension. To make the certificate compatible,&lt;br&gt;
rename the downloaded file ca.pem file to &lt;em&gt;ca.crt&lt;/em&gt;.&lt;br&gt;
&lt;strong&gt;&lt;em&gt;Double click the file&lt;/em&gt;&lt;/strong&gt; Double click ca.crt to install the certificate in your computer&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%2F774rox9539qiv1lu4bal.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%2F774rox9539qiv1lu4bal.png" alt=" " width="799" height="419"&gt;&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;&lt;em&gt;Select **_Local Machine&lt;/em&gt;&lt;/strong&gt; as the installation location_**&lt;br&gt;
&lt;strong&gt;&lt;em&gt;Select the second option&lt;/em&gt;&lt;/strong&gt; Which is &lt;em&gt;Place all certificates in the following store&lt;/em&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%2Fho5585lpkhekdsdiboi3.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%2Fho5585lpkhekdsdiboi3.png" alt=" " width="800" height="794"&gt;&lt;/a&gt;&lt;br&gt;
Select the &lt;strong&gt;Trusted Root Certification Authorities&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%2F3ny51lukhtrbio5jijf0.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%2F3ny51lukhtrbio5jijf0.png" alt=" " width="800" height="791"&gt;&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;_Click finish _&lt;/strong&gt; A notification will appear to show that the import was successful&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%2Fuhesponwt54npuokihk6.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%2Fuhesponwt54npuokihk6.png" alt=" " width="421" height="233"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Part 2: Login to the Database
&lt;/h3&gt;

&lt;p&gt;Gather the details from the Aiven Overview Page:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Host Name&lt;/li&gt;
&lt;li&gt;Port&lt;/li&gt;
&lt;li&gt;Database Name&lt;/li&gt;
&lt;li&gt;Username&lt;/li&gt;
&lt;li&gt;Password
&lt;strong&gt;&lt;em&gt;Open PowerBI&lt;/em&gt;&lt;/strong&gt; Then click Get Data&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;_ In the list, select More and choose PostgreSQL Database_&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;&lt;strong&gt;Enter the Server and Database&lt;/strong&gt;&lt;/em&gt; using the values copied from Aiven. Leave the data connectivity mode on the default Import option.&lt;/p&gt;

&lt;p&gt;Note: The server name uses the format hostname:port_number.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Insert the server&lt;/em&gt;&lt;/strong&gt; name as hostname and name of the database, then click OK.&lt;br&gt;
&lt;strong&gt;&lt;em&gt;Insert the username and password, then click Connect.&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>windowsinssql</category>
      <category>powerbi</category>
    </item>
    <item>
      <title>JOINS AND WINDOWS FUNCTIONS IN SQL</title>
      <dc:creator>richardmuzungu</dc:creator>
      <pubDate>Tue, 03 Mar 2026 03:25:59 +0000</pubDate>
      <link>https://dev.to/richardmuzungu2lab/joins-and-windows-functions-in-sql-1gj2</link>
      <guid>https://dev.to/richardmuzungu2lab/joins-and-windows-functions-in-sql-1gj2</guid>
      <description>&lt;p&gt;&lt;strong&gt;STRUCTURED QUERY LANGUAGE&lt;/strong&gt;&lt;br&gt;
Mostly referred to as SQL, it's the standard programming language designed for managing, manipulating, and retrieving data stored in relational databases.&lt;br&gt;
In this article, we will focus on the joins and windows functions.&lt;/p&gt;

&lt;h2&gt;
  
  
  JOINS
&lt;/h2&gt;

&lt;p&gt;Essential operations in SQL that merge rows from different tables  and bring information together. you can also say that they combine columns from multiple tables based on a related key, enabling data retrieval from a normalized database structure.&lt;br&gt;
&lt;strong&gt;TYPES OF JOINS&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. INNER JOIN&lt;/strong&gt;&lt;br&gt;
Returns only rows that have matching values in both tables. &lt;br&gt;
Example student table(table 1)and subject table(table 2)&lt;br&gt;
&lt;em&gt;Student table&lt;/em&gt;&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Student ID&lt;/th&gt;
&lt;th&gt;Name&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;Maki&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;2&lt;/td&gt;
&lt;td&gt;Mani&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;3&lt;/td&gt;
&lt;td&gt;Mapi&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;&lt;em&gt;Subject table&lt;/em&gt;&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;EnrollmentID&lt;/th&gt;
&lt;th&gt;Student ID&lt;/th&gt;
&lt;th&gt;Subject Name&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;111&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;History&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;112&lt;/td&gt;
&lt;td&gt;2&lt;/td&gt;
&lt;td&gt;Geography&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;113&lt;/td&gt;
&lt;td&gt;4&lt;/td&gt;
&lt;td&gt;Business&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;The INNER JOIN Query would be&lt;br&gt;
&lt;em&gt;SELECT&lt;/em&gt; Student.StudentName,Subject.SubjectName&lt;br&gt;
&lt;em&gt;FROM&lt;/em&gt; Student&lt;br&gt;
&lt;em&gt;INNER JOIN&lt;/em&gt; Subject&lt;br&gt;
&lt;em&gt;ON&lt;/em&gt; Student.Student ID = Subject.Student ID&lt;/p&gt;

&lt;h3&gt;
  
  
  Results
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;StudentName&lt;/th&gt;
&lt;th&gt;Subject Name&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Maki&lt;/td&gt;
&lt;td&gt;History&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Mani&lt;/td&gt;
&lt;td&gt;Geography&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;INNER JOIN returns only rows where the join condition matches in both tables; For &lt;em&gt;Maki&lt;/em&gt; and &lt;em&gt;Mani&lt;/em&gt;, a match was found in the &lt;em&gt;student ID (1,2)&lt;/em&gt; but for &lt;em&gt;Mapi, student ID (3)&lt;/em&gt; no enrollment hence excluded and &lt;em&gt;studentID 4&lt;/em&gt; no matching student was found also.&lt;br&gt;
&lt;strong&gt;2. LEFT JOIN&lt;/strong&gt;&lt;br&gt;
Returns all rows from the left table and matching rows from the right table. If a row in the left table does not have a match in the right table, the columns from the right table will contain NULL values in the result. Left join records all from the left table and matching records from the right table.&lt;br&gt;
Example &lt;em&gt;Teacher _and _Classes&lt;/em&gt;&lt;br&gt;
Teacher Table(Left table) &lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;TeacherID&lt;/th&gt;
&lt;th&gt;Name&lt;/th&gt;
&lt;th&gt;ClassID&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;Cece&lt;/td&gt;
&lt;td&gt;01&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;2&lt;/td&gt;
&lt;td&gt;Gordon&lt;/td&gt;
&lt;td&gt;02&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;3&lt;/td&gt;
&lt;td&gt;Forrest&lt;/td&gt;
&lt;td&gt;03&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;4&lt;/td&gt;
&lt;td&gt;Frank&lt;/td&gt;
&lt;td&gt;04&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;ClassID&lt;/th&gt;
&lt;th&gt;ClassName&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;01&lt;/td&gt;
&lt;td&gt;Junior&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;02&lt;/td&gt;
&lt;td&gt;Midlevel&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;03&lt;/td&gt;
&lt;td&gt;Senior&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;LEFT JOIN QUERY&lt;br&gt;
&lt;em&gt;SELECT&lt;/em&gt; Teacher.Name, Class.ClassName&lt;br&gt;
&lt;em&gt;FROM&lt;/em&gt; Teachers&lt;br&gt;
&lt;em&gt;LEFT JOIN&lt;/em&gt; Classes&lt;br&gt;
_ON _Teacher.ClassID = Class.ClassID;&lt;/p&gt;

&lt;h2&gt;
  
  
  Results
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Name&lt;/th&gt;
&lt;th&gt;ClassName&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Cece&lt;/td&gt;
&lt;td&gt;Junior&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Gordon&lt;/td&gt;
&lt;td&gt;Midlevel&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Forrest&lt;/td&gt;
&lt;td&gt;Senior&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Frank&lt;/td&gt;
&lt;td&gt;NULL&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;&lt;em&gt;&lt;strong&gt;NB&lt;/strong&gt;&lt;/em&gt; LEFT JOIN takes all rows from left table, even if no match&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. RIGHT JOIN&lt;/strong&gt;&lt;br&gt;
It is the opposite of LEFT JOIN-returns all rows from the right table and matched rows from the left, with NULL for non-matches.&lt;br&gt;
&lt;strong&gt;4. FULL JOIN&lt;/strong&gt;&lt;br&gt;
Also known as FULL OUTER JOIN. It combines LEFT and RIGHT JOINS. It returns all rows from the right and left tables, regardless of whether there is a match or not.&lt;br&gt;
example&lt;br&gt;
&lt;em&gt;Person Table&lt;/em&gt;&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;CitizenID&lt;/th&gt;
&lt;th&gt;Name&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;Aaron&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;2&lt;/td&gt;
&lt;td&gt;Sheryl&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;3&lt;/td&gt;
&lt;td&gt;Bitu&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;&lt;em&gt;Sport Table&lt;/em&gt;&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;CitizenID&lt;/th&gt;
&lt;th&gt;Sport&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;Rugby&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;2&lt;/td&gt;
&lt;td&gt;Basketball&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;4&lt;/td&gt;
&lt;td&gt;Fencing&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;&lt;em&gt;Full Join Query&lt;/em&gt;&lt;br&gt;
SELECT Person.Name, Sport.Sport&lt;br&gt;
From Person&lt;br&gt;
FULL JOIN Sport&lt;br&gt;
ON Person.CitizenID = Sport.CitizenID&lt;br&gt;
Results&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Name&lt;/th&gt;
&lt;th&gt;Sport&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Aaron&lt;/td&gt;
&lt;td&gt;Rugby&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Sheryl&lt;/td&gt;
&lt;td&gt;Geography&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Bitu&lt;/td&gt;
&lt;td&gt;NULL&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;NULL&lt;/td&gt;
&lt;td&gt;Fencing&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;5. CROSS JOIN&lt;/strong&gt;&lt;br&gt;
Produces the Cartesian product of two or more tables, combining every row from the first table with every row from the second table. It does not require a join condition.&lt;br&gt;
Example&lt;br&gt;
Assume you have two tables: Colors and Sizes.&lt;br&gt;
&lt;em&gt;Colors Table&lt;/em&gt;:&lt;br&gt;
color_name&lt;br&gt;
Red&lt;br&gt;
Blue&lt;br&gt;
&lt;em&gt;Sizes Table&lt;/em&gt;:&lt;br&gt;
size_name&lt;br&gt;
Small&lt;br&gt;
Medium&lt;br&gt;
Large&lt;br&gt;
The SQL query would look like this:&lt;br&gt;
&lt;em&gt;SELECT&lt;/em&gt; Colors.color_name, Sizes.size_name&lt;br&gt;
&lt;em&gt;FROM&lt;/em&gt; Colors&lt;br&gt;
&lt;em&gt;CROSS JOIN _Sizes;&lt;br&gt;
The result of the query would be:&lt;br&gt;
color_name  size_name&lt;br&gt;
Red Small&lt;br&gt;
Red Medium&lt;br&gt;
Red Large&lt;br&gt;
Blue    Small&lt;br&gt;
Blue    Medium&lt;br&gt;
Blue    Large&lt;br&gt;
&lt;strong&gt;6. SELF JOIN&lt;/strong&gt;&lt;br&gt;
Where a table is joined with itself. Useful when a table contains related data within itself. You must use table _aliases&lt;/em&gt; to differentiate two copies of the same table.&lt;br&gt;
Example&lt;br&gt;
Find workers who drive the same car in the company&lt;br&gt;
&lt;em&gt;Workers Table&lt;/em&gt;&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;WorkersID&lt;/th&gt;
&lt;th&gt;Name&lt;/th&gt;
&lt;th&gt;Car&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;John&lt;/td&gt;
&lt;td&gt;Hilux&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;2&lt;/td&gt;
&lt;td&gt;Salome&lt;/td&gt;
&lt;td&gt;Ipsum&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;3&lt;/td&gt;
&lt;td&gt;Daud&lt;/td&gt;
&lt;td&gt;Hilux&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;4&lt;/td&gt;
&lt;td&gt;Yakov&lt;/td&gt;
&lt;td&gt;Fit&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;5&lt;/td&gt;
&lt;td&gt;Sarah&lt;/td&gt;
&lt;td&gt;Ipsum&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;&lt;em&gt;SELF JOIN QUERY&lt;/em&gt;&lt;br&gt;
SELECT&lt;br&gt;
W1.Name AS Worker1,&lt;br&gt;
W2.Name AS Worker2,&lt;br&gt;
W1. Car&lt;br&gt;
FROM Workers W1&lt;br&gt;
INNER JOIN Workers W2&lt;br&gt;
ON W1.Car = W2.Car&lt;br&gt;
AND W1.WorkersID &amp;lt; W2.WorkerID&lt;br&gt;
&lt;strong&gt;Result&lt;/strong&gt;&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Workers1&lt;/th&gt;
&lt;th&gt;Workers2&lt;/th&gt;
&lt;th&gt;Car&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;John&lt;/td&gt;
&lt;td&gt;Daud&lt;/td&gt;
&lt;td&gt;Hilux&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Salome&lt;/td&gt;
&lt;td&gt;Sarah&lt;/td&gt;
&lt;td&gt;Ipsum&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Both John and David have a Hilux, Salome and Sarah have the same car.&lt;/p&gt;

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

&lt;p&gt;They maintain the original row count, adding computed values as new columns.&lt;/p&gt;

&lt;h3&gt;
  
  
  Components of window Function
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Function:&lt;/strong&gt;: Like ROW_NUMBER(), RANK(), SUM()
&lt;strong&gt;OVER() Clause:&lt;/strong&gt; Sorts rows within each partition.&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  Types of Window Functions
&lt;/h4&gt;

&lt;p&gt;1.&lt;strong&gt;RANKING FUNCTIONS&lt;/strong&gt;-Assign unique numbers or ranks based on specific ordering. It assigns ranks or numbers to rows.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;ROW_NUMBER(): Unique sequential function.&lt;/li&gt;
&lt;li&gt;RANK(): Rank with ties skipping numbers(example 3,4,4,6)&lt;/li&gt;
&lt;li&gt;DENSE_RANK(): Ranks with ties without skipping(example 1,2,2,3)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;AGGREGATE FUNCTIONS&lt;/strong&gt;- Performs calculations like SUM,AVG,MIN, MAX&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;VALUE FUNCTIONS&lt;/strong&gt;- Access other rows' values.
-LAG(): Value from a previous row.
-LEAD(): Value from a next row
-FIRST_VALUE()/LAST_VALUE(): First or last Value in the window&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Being knowledgeable about joins and windows functions transforms SQL from a simple query language to an analytical tool.&lt;/p&gt;

</description>
      <category>sql</category>
      <category>windowsinssql</category>
    </item>
    <item>
      <title>How analysts messy Data, Dax and dashboard into Action using Power bi</title>
      <dc:creator>richardmuzungu</dc:creator>
      <pubDate>Sun, 08 Feb 2026 12:43:40 +0000</pubDate>
      <link>https://dev.to/richardmuzungu2lab/how-analysts-messy-data-dax-and-dashboard-into-action-using-power-bi-2438</link>
      <guid>https://dev.to/richardmuzungu2lab/how-analysts-messy-data-dax-and-dashboard-into-action-using-power-bi-2438</guid>
      <description>&lt;p&gt;Data analysts transform raw data to a clean one using Power Bi tool. This process turns disorganized data like duplicates, missing values, replacing missing values and turning them into clear information that aid in decisions.   &lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Workflow steps in Powerbi&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F59absrkm5lmq9gzm9v20.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%2F59absrkm5lmq9gzm9v20.png" alt=" " width="800" height="422"&gt;&lt;/a&gt;&lt;br&gt;
Once you open powerbi, one is able to retrive the file from  any format like .csv and transorm them to powerbi format. Click transform get data on the top left and select the appropriate data. After that click on transform so as to make changes in your data.&lt;br&gt;
&lt;strong&gt;Cleaning the data&lt;/strong&gt;&lt;br&gt;
A very essential part in ensuring that the data is usable and can clean. Therefore one starts by;&lt;/p&gt;

&lt;p&gt;1_._ Removing the duplicates__- Unique columns such as phone number, identification card are used. select the column&amp;gt;click home&amp;gt;remove rows&amp;gt;remove duplicates.&lt;/p&gt;

&lt;p&gt;2.&lt;em&gt;Identifying missing values&lt;/em&gt;- Missing values in a data set may affect your outcome you need to fill them with UNKNOWN/NOT APPLICABLE for the text columns. For numeric columns we use replace errors because until Power Bi regards it as an error.&lt;br&gt;
Press CTRL+H to replace the missing values.&lt;/p&gt;

&lt;p&gt;3.Fixing data types in columns to their appropriate match.&lt;/p&gt;

&lt;h2&gt;
  
  
  LOGICAL FUNCTIONS
&lt;/h2&gt;

&lt;p&gt;These are functions that make decisions based on conditions.&lt;br&gt;
To add a function use new measure&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;SUM FUNCTION&lt;br&gt;
Calculates the total of all numbers in a specified column.&lt;br&gt;
-AVERAGE FUNCTION&lt;br&gt;
Calculates the arithmetic mean of numeric values in a specified column.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;MEDIAN FUNCTION&lt;br&gt;
Returns the middle number&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;MAX AND MIN FUNCTION&lt;br&gt;
Max function helps you get the highest value while min function helps you get the lowest value.&lt;br&gt;
&lt;em&gt;DAX&lt;/em&gt;-refers to Data Analysis Expressions that translate cleaned numbers to business metix.&lt;br&gt;
&lt;strong&gt;Creating a table&lt;/strong&gt;- we have the star and snowflake but star is widely used because it is easy to understand.&lt;br&gt;&lt;br&gt;
For visualization and interactivity we use dashboards- they assist in decision making.&lt;br&gt;
Power BI is a decision accelerator and can be used to discover hidden financial recoveries, reduce operation costs in organizations. used in the health and banking sector.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
    </item>
    <item>
      <title>POWER BI</title>
      <dc:creator>richardmuzungu</dc:creator>
      <pubDate>Sun, 01 Feb 2026 19:59:43 +0000</pubDate>
      <link>https://dev.to/richardmuzungu2lab/power-bi-3pni</link>
      <guid>https://dev.to/richardmuzungu2lab/power-bi-3pni</guid>
      <description>&lt;p&gt;Power BI is a Microsoft business analytics tool that connects to, cleans, and transforms raw data from various sources into interactive, visually immersive reports and dashboards. It enables users to analyze data and create important decisions.&lt;br&gt;
Data modelling is the procedure used by data scientist and engineers to structure data in tables based on relationship and logical framework&lt;br&gt;
&lt;em&gt;Platforms of Power BI&lt;/em&gt;&lt;br&gt;
&lt;strong&gt;Power BI Desktop&lt;/strong&gt;: A free, Windows-based application used by data analysts to connect to, model, and visualize data. It is the primary tool for creating reports.&lt;br&gt;
&lt;strong&gt;Power BI Service&lt;/strong&gt;: A cloud-based service (SaaS) used to publish reports, create dashboards, share insights, and collaborate within organizations.&lt;br&gt;
&lt;strong&gt;Power BI Mobile Apps&lt;/strong&gt;: Applications for iOS, Android, and Windows devices to view and interact with reports and dashboards on the go.&lt;br&gt;
&lt;strong&gt;Power BI Report Serve&lt;/strong&gt;r: An on-premises report server, ideal for companies that cannot store data in the cloud. &lt;br&gt;
 A schema defines how data is structured and related, while data modeling is the process of building that structure to ensure performance, accuracy, and usability. The most important schema for Power BI is the star schema. &lt;/p&gt;

&lt;h2&gt;
  
  
  Types of schemas in power BI
&lt;/h2&gt;

&lt;p&gt;&lt;em&gt;Star Schema&lt;/em&gt;: This is the industry standard and recommended approach for Power BI. Consists of a central fact table (containing quantitative measures like sales amounts) surrounded by multiple dimension tables (containing descriptive attributes like product names, dates, or regions).&lt;br&gt;
&lt;strong&gt;Advantages&lt;/strong&gt;: Excellent performance due to fewer joins, simplified DAX calculations, and an intuitive, easy-to-understand model for report authors.&lt;br&gt;
Snowflake Schema: A variation of the star schema where dimension tables are further normalized into sub-dimension tables. For example, a Product dimension might link to a Category table, which then links to a Manufacturer table.&lt;br&gt;
&lt;strong&gt;Advantages&lt;/strong&gt;: Reduces data redundancy and improves data integrity and storage efficiency.&lt;br&gt;
&lt;strong&gt;Disadvantages&lt;/strong&gt;: More complex structure and potentially slower query performance due to more joins compared to a star schema.&lt;br&gt;
Galaxy Schema (Fact Constellation): Involves multiple fact tables that share some common dimension tables, suitable for complex, enterprise-level analysis of different business process&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%2Fpv94r2lwgjbbhup57ndd.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%2Fpv94r2lwgjbbhup57ndd.png" alt=" " width="800" height="450"&gt;&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;Fact and Dimension Table Overview&lt;/strong&gt;&lt;br&gt;
Fact Tables-Store transaction data, metrics, and foreign keys such as sale; They are tall, narrow, and grow over time.&lt;br&gt;
Dimension Tables: Store descriptive, categorical data such as Customers. They are short, wide, and used to filter/group data. &lt;br&gt;
Data modelling is important because:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;It creates an organized and reliable roadmap for how data is stored, accessed, and interpreted. &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Effective data storage &lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>data</category>
      <category>analytics</category>
    </item>
    <item>
      <title>JUMIA ASSIGNMENT</title>
      <dc:creator>richardmuzungu</dc:creator>
      <pubDate>Sun, 01 Feb 2026 19:16:05 +0000</pubDate>
      <link>https://dev.to/richardmuzungu2lab/jumia-assignment-47eh</link>
      <guid>https://dev.to/richardmuzungu2lab/jumia-assignment-47eh</guid>
      <description>&lt;p&gt;To find the missing in rating/review&lt;br&gt;
Highlight the review column, click CTRL+H. Find what leave it blank and on the replace option  write 0. For the rating column follow the same formula but on the replace option write Not Provided.&lt;br&gt;
On the out of rating column, use find and replace ,CTRL+H out of 5 in the find what then leave blank in the replace option.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;For the old and current price, change them to currency... highlight the columns, head to numbers in the home section turn them to currency.&lt;br&gt;
&lt;em&gt;##TO REMOVE THE NEGATIVE SIGN FROM REVIEW&lt;/em&gt;&lt;br&gt;
Use absolute function ABS(cell range of review) or use the if function =IF(e2&amp;lt;0,-e2,e2)&lt;/p&gt;
&lt;h3&gt;
  
  
  TO REMOVE DUPLICATES FROM THE DATA
&lt;/h3&gt;

&lt;p&gt;Click anywhere in the cell, go to data option on the ribbon, click remove duplicates, a box will appear to select the columns to find the duplicates and if its the whole data select all. tick with the header option in the dialogue box then click ok.&lt;/p&gt;
&lt;h4&gt;
  
  
  ADD THREE COLUMNS
&lt;/h4&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;DISCOUNT &lt;br&gt;
Which is the subtraction of the old price and new price&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;RATING CATEGORY&lt;br&gt;
Use the formula IF function, =IF(I2="Not provided", "N/A" IF(I2&amp;lt;3,"Poor", IF(I2&amp;lt;=4.4, "Average", "Excellent"))) I2 is the cell name&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;DISCOUNT CATEGORY&lt;br&gt;
=IF(cell name&amp;gt;40%,"High", IF(cell name&amp;gt;20%, "Medium", "Low"))&lt;br&gt;
Then find the average of current Price, old price , discount percentage, rating.&lt;br&gt;
Then find max and min of the current price, old price, discount percentage, rating.&lt;br&gt;
For the average rating and discount category, create a pivot table; discount on the row, count of rating change on the value beside the rows then change the field value to average &lt;br&gt;
To find what products are used? form a pivot table of rating(row) then the count of product on the value&lt;/p&gt;
&lt;h4&gt;
  
  
  RELATIONSHIPS
&lt;/h4&gt;

&lt;p&gt;Create a pivot table between Discount%(row) and number of review(values). select the first cell on the pivot table, right click, go to the group option the select by 0.1 which is 10%&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;

</description>
    </item>
    <item>
      <title>MS EXCEL INTRODUCTION FOR DATA ANALYSIS</title>
      <dc:creator>richardmuzungu</dc:creator>
      <pubDate>Sun, 25 Jan 2026 16:02:28 +0000</pubDate>
      <link>https://dev.to/richardmuzungu2lab/ms-excel-introduction-for-data-analysis-4k4o</link>
      <guid>https://dev.to/richardmuzungu2lab/ms-excel-introduction-for-data-analysis-4k4o</guid>
      <description>&lt;p&gt;Excel is an important tool when working with data - whether it is for business, marketing, research, or data analysis purposes. It performs calculations, summarizes data, performs visualization.&lt;br&gt;
Data analysis is the science of analyzing raw data, insights to support decision making that's why excel is an important tool.&lt;br&gt;
A cell is named using column and row for example cell named E2, its column is E and 2 is the row&lt;br&gt;
Basic Excel functions to be used include SUM, AVERAGE, COUNT, MAX and MIN  .&lt;br&gt;
&lt;strong&gt;SUM&lt;/strong&gt;&lt;br&gt;
Is used to get the totals &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%2F7tljx12kkcbi7uiyjzt9.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%2F7tljx12kkcbi7uiyjzt9.png" alt=" " width="505" height="133"&gt;&lt;/a&gt;&lt;br&gt;
in the particular image, we are finding the total of A2 and B2 in cell and the total in cell C2. Since SUM is a function you use equal sign =. You write the function =SUM(excel displays automatically) in a cell C2(can be in any cell to get your results) then the name of the first cell which is A2 full colon name of the second cell which is B2, close the brackets then enter.&lt;br&gt;
&lt;strong&gt;AVERAGE&lt;/strong&gt;&lt;br&gt;
Finds the totals then divides it with the count of numbers&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%2Fceqwxspq536cvmjsdshz.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%2Fceqwxspq536cvmjsdshz.png" alt=" " width="604" height="241"&gt;&lt;/a&gt;&lt;br&gt;
here we were finding the average from cell A2 to cell A6 whereby you write the function =Average write the range (A2:A6) close the brackets. you will find the total as 37.6&lt;br&gt;
the function average added all values from a2 to a6 then divided with the total count that is 5&lt;br&gt;
&lt;strong&gt;COUNT&lt;/strong&gt;&lt;br&gt;
Displays the count entries&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%2Ffjej840z8nyrr81j3b5x.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%2Ffjej840z8nyrr81j3b5x.png" alt=" " width="523" height="274"&gt;&lt;/a&gt;&lt;br&gt;
write the function count, cell range which is from cell A2 to A6 close the bracket then ENTER. it displays 5 as the total count of values.&lt;br&gt;
&lt;strong&gt;MAX&lt;/strong&gt;&lt;br&gt;
Displays the highest or lowest value &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%2Fdyec0dngqc60xk9m1jku.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%2Fdyec0dngqc60xk9m1jku.png" alt=" " width="570" height="271"&gt;&lt;/a&gt;&lt;br&gt;
From the image above the max value(highest value) from cell A2 to A6 is 53 that is displayed on cell A7. &lt;br&gt;
It also applies to minimum only that you use the function =MIN&lt;/p&gt;

&lt;h2&gt;
  
  
  CONCLUSION
&lt;/h2&gt;

&lt;p&gt;_MS Excel is a good tool that aids in decision making. Understanding the basics is the foundation for advanced EXCEL. _&lt;/p&gt;

</description>
    </item>
    <item>
      <title>GIT ARTICLE</title>
      <dc:creator>richardmuzungu</dc:creator>
      <pubDate>Fri, 16 Jan 2026 16:53:44 +0000</pubDate>
      <link>https://dev.to/richardmuzungu2lab/git-article-ilm</link>
      <guid>https://dev.to/richardmuzungu2lab/git-article-ilm</guid>
      <description>&lt;h2&gt;
  
  
  Version control
&lt;/h2&gt;

&lt;p&gt;Version control is a system tracking changes to files overtime, people work on the same project and can track previous versions if something breaks.&lt;br&gt;
Version control using git means maintaining a complete history of changes made to the project by who, when and why by takung snapshots called commits. &lt;br&gt;
Git is an example of a version control(keeps history, allows branching and merging, allows users develop a project.&lt;/p&gt;

&lt;h2&gt;
  
  
  Two ways to move codes in github, they include;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;git pull&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;git push&lt;br&gt;
&lt;strong&gt;GIT PULL&lt;/strong&gt;&lt;br&gt;
Helps one download changes from remote repository and integrate them into your local branch&lt;br&gt;
&lt;strong&gt;GIT PUSH&lt;/strong&gt;&lt;br&gt;
Used to upload local commits to a remote repository like github&lt;/p&gt;
&lt;h3&gt;
  
  
  TRACKING CHANGES IN GIT
&lt;/h3&gt;

&lt;p&gt;Is the process by which systems like git monitor files to detect changes and record history. Every file exists in two states namely; untracked and tracked files.&lt;/p&gt;
&lt;h4&gt;
  
  
  - untracked files
&lt;/h4&gt;

&lt;p&gt;These are files that git knows they exist in a folder but they will not be included in your history or backups until you tell it.&lt;/p&gt;
&lt;h4&gt;
  
  
  - tracked files
&lt;/h4&gt;

&lt;p&gt;These are files that were part of your last commit. Git also monitors any modification&lt;/p&gt;
&lt;h2&gt;
  
  
  STAGES OF TRACKING
&lt;/h2&gt;

&lt;p&gt;They include;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;1. Modified/working directory&lt;/strong&gt;&lt;br&gt;
User edits files but changes are not tracked. Git sees the changes but has not registered them.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Stage/staging area&lt;/strong&gt;&lt;br&gt;
Stores information about what will go into your next commit. Like gathering all changes before going to the next step.&lt;br&gt;
&lt;strong&gt;3. Repository&lt;/strong&gt;&lt;br&gt;
It is the last stage and where git stores the data permanently.&lt;/p&gt;

&lt;p&gt;Version control enables one to revert entire/individual files to previous stable state if anything is wrong(reversibility). Users create independent lines of development. allows experimentation without affecting the main project(branching) also people are able to work on project concurrently(collaboration) &lt;/p&gt;

</description>
    </item>
  </channel>
</rss>
