<?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: Joseph Nganga</title>
    <description>The latest articles on DEV Community by Joseph Nganga (@joseph_nganga_9143225ac6c).</description>
    <link>https://dev.to/joseph_nganga_9143225ac6c</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%2F3717546%2Fbfbeafce-b195-4bb9-bfc1-730a0ec9e387.png</url>
      <title>DEV Community: Joseph Nganga</title>
      <link>https://dev.to/joseph_nganga_9143225ac6c</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/joseph_nganga_9143225ac6c"/>
    <language>en</language>
    <item>
      <title>Connecting power Bi to sql databases</title>
      <dc:creator>Joseph Nganga</dc:creator>
      <pubDate>Sun, 22 Mar 2026 21:11:44 +0000</pubDate>
      <link>https://dev.to/joseph_nganga_9143225ac6c/connecting-power-bi-to-sql-databases-3hca</link>
      <guid>https://dev.to/joseph_nganga_9143225ac6c/connecting-power-bi-to-sql-databases-3hca</guid>
      <description>&lt;h3&gt;
  
  
  what is power Bi
&lt;/h3&gt;

&lt;p&gt;Power BI is a business analytics platform. It allows one to analyse raw data and transform it into interactive visualizations and actionable insights.&lt;/p&gt;

&lt;p&gt;Power BI allows a user to connect to various data sources, such as cloud services, Excel, and various databases. Once connected, a user can clean and model the data, then create interactive and dynamic dashboards and reports that enable the final user to get an overall picture of the business and make insightful decisions.&lt;br&gt;
Connecting to a live database  provides the following advantages:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Centralized data management&lt;/li&gt;
&lt;li&gt;Real-time analysis, especially for data that changes quickly.&lt;/li&gt;
&lt;li&gt;Managing complex relationships in the data.
We shall focus on connecting Poer BI to SQL databases.&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  What are SQL databases
&lt;/h3&gt;

&lt;p&gt;SQL databases are a relational database management system. They store data in structured tables made up of rows and columns. They allow a user to query and manipulate the data.&lt;br&gt;
They provide:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Scalability to allow growth of datasets&lt;/li&gt;
&lt;li&gt;Data integrity and reliability.&lt;/li&gt;
&lt;li&gt;Efficient querying for quick retrieval&lt;/li&gt;
&lt;li&gt; Structured data that maintains its consistency.&lt;/li&gt;
&lt;/ol&gt;

&lt;h1&gt;
  
  
  Connecting Power BI to a local database.
&lt;/h1&gt;

&lt;p&gt;A local database is a database within your local machine, meaning the data is stored in your pc.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Open Power BI and click the 'Get Data' icon on the ribbon&lt;/li&gt;
&lt;/ol&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%2Fxa0lusaax643t8t02nao.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%2Fxa0lusaax643t8t02nao.png" alt=" " width="614" height="291"&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%2Flhu0cx7en8nhe8qjr7s4.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%2Flhu0cx7en8nhe8qjr7s4.png" alt=" " width="800" height="515"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;It provides a list of sources, so choose the PostgreSQL option &lt;/li&gt;
&lt;/ol&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%2Fzb9r1njuuhfhghzdnh0z.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%2Fzb9r1njuuhfhghzdnh0z.png" alt=" " width="800" height="498"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;You will now be required to enter the database details, which will allow Power BI to access the database as illustrated below.&lt;/li&gt;
&lt;/ol&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%2Fe60okhv2xmpui38r6nkf.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%2Fe60okhv2xmpui38r6nkf.png" alt=" " width="697" height="344"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The details you provide are login/database credentials that allow you access. They include username and password.&lt;br&gt;
Once connected, the navigator will list tables present in the connected database.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Loading data to Power BI:
The tables provided in the navigator section contain select tickboxes, where you will click to add the table to the list, which will be loaded to Power BI. If the data does not need transformation, click the load button to complete the loading process.&lt;/li&gt;
&lt;/ol&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%2F0aovooiounyxbc2yluzd.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%2F0aovooiounyxbc2yluzd.png" alt=" " width="800" height="612"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  Connecting Power BI to a cloud PostgreSQL database.
&lt;/h1&gt;

&lt;ol&gt;
&lt;li&gt;Create a cloud service that provides a database hosting service. We will use Aiven as our preferred service provider. On your browser, go to aiven.com, create an account, then start a PostgreSQL service.&lt;/li&gt;
&lt;/ol&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%2Fz5hlosqx2qq3dftvyia0.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%2Fz5hlosqx2qq3dftvyia0.png" alt=" " width="800" height="298"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Note the following details of the PostgreSQL service:&lt;/li&gt;
&lt;/ol&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%2F27c0ze0b25382hobj3pt.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%2F27c0ze0b25382hobj3pt.png" alt=" " width="800" height="775"&gt;&lt;/a&gt;&lt;br&gt;
Note the CA certificate, click the download option&lt;/p&gt;

&lt;p&gt;3.Link the service to Power BI&lt;br&gt;
Start Power BI application, on the home ribbon, click 'Get Data' click more and look for the PostgrSQL 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%2Fh7vg7only2r952x1brrz.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%2Fh7vg7only2r952x1brrz.png" alt=" " width="800" height="498"&gt;&lt;/a&gt;&lt;br&gt;
4.Proceed to enter the aiven service details you took  note of as prompted by Power BI.&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%2Fsiu2726oy8t0gcu9woz6.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%2Fsiu2726oy8t0gcu9woz6.png" alt=" " width="724" height="321"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;On your left, the navigator shows tables available on the database you just connected to. 
to load the data, click the checkbox next to the tables for the tables you wish to load. If the data needs cleaning, click the transform data option on the bottom right corner to clean the data. Once done, click the load option to load data and proceed.&lt;/li&gt;
&lt;/ol&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%2Froig4fo4i4fbpt7eecip.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%2Froig4fo4i4fbpt7eecip.png" alt=" " width="800" height="631"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now that the data is loaded and calculations can be done, lets explore the relationship between the data. Data in each table has a primary key. This key is a unique identifier for each specific set of data which annot be replicated. &lt;br&gt;
Since this key is used once, we can use it in different tables(it now becomes a foreign key) to create relationships. For example, you make gave a customer table which contains customers information. a customer id, would be the primary key, as its the only unique identifier of the customer in a table with many customers.&lt;br&gt;
In a different table like orders table, we will refer to this primary key to identify the individual customer.  When we reference this key, we refer to it as a foreign key.&lt;br&gt;
We now have a relationship between different tables as illustrated in the table below.&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%2F28apkvbuiwafqk25u1p6.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%2F28apkvbuiwafqk25u1p6.png" alt=" " width="800" height="541"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;We can also create relatioships manually when Power BI does not automatically create them. &lt;br&gt;
Click modelling on the home ribbon and select manage relatioships.Select new relationship then proceed to select the type of relationship.&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%2F13s8sw09n6aatce5eo9q.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%2F13s8sw09n6aatce5eo9q.png" alt=" " width="800" height="662"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Select the 'from table' you wish to link and select it's primary key.&lt;br&gt;
Select the 'to table' and then select they foreign key and save.&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%2F53c39qzwr8t2onq5ul1h.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%2F53c39qzwr8t2onq5ul1h.png" alt=" " width="695" height="716"&gt;&lt;/a&gt;&lt;br&gt;
 You have successfully created a relationship. &lt;/p&gt;

&lt;h3&gt;
  
  
  importance of relatioships.
&lt;/h3&gt;

&lt;p&gt;They allow filtering of related data. If you select one specific set of data in a chart, other linked data charts and tables will automatically  filter and show selected data.&lt;/p&gt;

&lt;h3&gt;
  
  
  importance of SQL
&lt;/h3&gt;

&lt;p&gt;1.Data retrieval.&lt;br&gt;
SQL queries allow filtered and selected data only, avoiding execessive&lt;br&gt;
data that may corrupt final results.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Filtering data.
This is handles by the database thus moving the heavy load lifting from your personal pc.&lt;/li&gt;
&lt;li&gt;Transformation of data.
SQL helps transform large data sets, which would slow down Power BI.&lt;/li&gt;
&lt;/ol&gt;

</description>
      <category>mysql</category>
      <category>powerbi</category>
    </item>
    <item>
      <title>JOINS &amp; WINDOW FUNCTIONS.</title>
      <dc:creator>Joseph Nganga</dc:creator>
      <pubDate>Tue, 10 Mar 2026 13:43:05 +0000</pubDate>
      <link>https://dev.to/joseph_nganga_9143225ac6c/joins-window-functions-4k7b</link>
      <guid>https://dev.to/joseph_nganga_9143225ac6c/joins-window-functions-4k7b</guid>
      <description>&lt;p&gt;Joins are sql clauses that combine two or more tables using a related column that exists between the tables. That way, data that is stored in different tables but is related is retrieved and can be processed and analysed to give meaningful results.&lt;br&gt;
 There are several types of joins as follows:&lt;/p&gt;

&lt;h2&gt;
  
  
  1. Inner join
&lt;/h2&gt;

&lt;p&gt;An inner join returns only rows where there is a match in both tables based on a condition. Consider the following example;&lt;/p&gt;

&lt;p&gt;consider a transaction table and a customer table.&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%2Fysytearppl6hg1plao09.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%2Fysytearppl6hg1plao09.png" alt=" " width="303" height="152"&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%2F410mdswloc3vmiegf1d1.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%2F410mdswloc3vmiegf1d1.png" alt=" " width="305" height="151"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;we use;&lt;br&gt;
select *&lt;br&gt;
from transaction inner join customers&lt;br&gt;
on transaction.customer_id = customers.customer_id&lt;/p&gt;

&lt;p&gt;the customer_id i this case is the common column between the two tables;&lt;/p&gt;

&lt;p&gt;on exacution, the new table looks as follows:&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%2Fnk7393rg37wefnn69qkl.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%2Fnk7393rg37wefnn69qkl.png" alt=" " width="598" height="160"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;There is a return on every instance the customer_id has a match on bith tables.&lt;/p&gt;

&lt;h2&gt;
  
  
  2. Left outer join
&lt;/h2&gt;

&lt;p&gt;The left outer join returns all rows from the left table and matching rows from the right table. Rows that do not match from the right table return nulls.&lt;/p&gt;

&lt;h2&gt;
  
  
  3. Right outer join
&lt;/h2&gt;

&lt;p&gt;The right outer join returns all rows from the right table and matching rows from the left table. Any non matching row from the left returns a null.&lt;/p&gt;

&lt;h2&gt;
  
  
  4. Full outer join
&lt;/h2&gt;

&lt;p&gt;A full outer join returns all rows from both tables with null values where no match exists.&lt;/p&gt;

&lt;h2&gt;
  
  
  5. Cross join
&lt;/h2&gt;

&lt;p&gt;This join combines every row from the first table with every row from the second table.&lt;/p&gt;

&lt;h1&gt;
  
  
  WINDOW FUNCTIONS.
&lt;/h1&gt;

&lt;p&gt;These are sets of tools that perform calculations across a set of rows that are related and do not collapse the results into a single output row, unlike traditional aggregate functions.&lt;br&gt;
Their main components are as follows;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Over clause
It defines the window of rows over which the function operates.&lt;/li&gt;
&lt;li&gt;Partitioning by
This clause divides results into groups e.g divide by region or department.
3.order by
This clause specifies the order of rows within each partition.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Common window functions
&lt;/h2&gt;

&lt;p&gt;Row number()&lt;br&gt;
It assigns a unique sequential number to each row within a partition.&lt;br&gt;
Rank()&lt;br&gt;
It assigns rank within a partition when gaps occur. For example when there is a tie.&lt;br&gt;
Dense rank()&lt;br&gt;
It assigns rank without a gap.&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>database</category>
      <category>sql</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>#Using Power BI to translate messy data, dax and dashboards into actionable insights.</title>
      <dc:creator>Joseph Nganga</dc:creator>
      <pubDate>Mon, 09 Feb 2026 16:28:52 +0000</pubDate>
      <link>https://dev.to/joseph_nganga_9143225ac6c/using-power-bi-to-translate-messy-data-dax-and-dashboards-into-actionable-insights-edp</link>
      <guid>https://dev.to/joseph_nganga_9143225ac6c/using-power-bi-to-translate-messy-data-dax-and-dashboards-into-actionable-insights-edp</guid>
      <description>&lt;p&gt;In the business world, decisions are made using insight obtained from large data sets. Real-world data is often chaotic, so the process follows a structured workflow that involves: cleaning the messy data, properly modelling it, then applying intelligent calculations with DAX in order to create interactive dashboards that highlight what matters the most.&lt;/p&gt;

&lt;h2&gt;
  
  
  Handling Messy data.
&lt;/h2&gt;

&lt;p&gt;Power BI's Power Query editor is the main tool we use to clean data, since raw data is rarely clean. It often comes with missing values, inconsistent data formats, duplicate values, and mismatched columns as well.&lt;br&gt;
The following actions are taken to clean our data:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Removing duplicates by clicking transform data, highlighting the suspect column(s), and clicking remove duplicates on the home option.&lt;/li&gt;
&lt;li&gt;Managing missing values by filling the blanks with averages or the median for the data.&lt;/li&gt;
&lt;li&gt;Standardizing text. using proper case and uppercase/lowercase where applicable.
Work becomes easier and more accurate when we do as much transformation as possible at the transformation stage.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Building a data model.
&lt;/h2&gt;

&lt;p&gt;We now create a logical structure of tables that defines how different tables are related and connected in order to support efficient analysis and reporting. This is called a schema, with the most commonly used one being called a star schema. &lt;br&gt;
On the left pane, we click model view, then create relevant relationships with the fields. The fact table is always at the centre, while other dimension tables are connected via relationships.&lt;br&gt;
There are one-to-one relationships, one-to-many relationships and hierarchies.&lt;/p&gt;

&lt;h2&gt;
  
  
  DAX
&lt;/h2&gt;

&lt;p&gt;Data analysis expressions create meaningful and insightful metrics from cleaned data. For example, to get total sales data, we use the following:&lt;br&gt;
Total Sales = SUM(Sales[Amount])&lt;br&gt;
DAX hardcodes business metrics like costs, performance of products and others so that dashboards not only show numbers but answer big business questions like products with the best margins, growth trends, and seasonal adjustments, among other key metrics.&lt;/p&gt;

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

&lt;p&gt;Dashboards are the final product of the entire process, and they are decision tools.&lt;br&gt;
They tell a story and give information on the most important KPI's. Thus, we use these kpi's and cards with conditional formating . We must also include interactive elements like slicers. We include graphs that focus on trends , give significant comparisons as well as edge cases and outliers. Dashborads therefore explain data in a visual form to non technical users.&lt;br&gt;
The dashboard must always be easy to understand, fit in one page therefore avoiding clutter.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Basic data analytics using Microsoft excel</title>
      <dc:creator>Joseph Nganga</dc:creator>
      <pubDate>Sun, 25 Jan 2026 16:21:18 +0000</pubDate>
      <link>https://dev.to/joseph_nganga_9143225ac6c/basic-data-analytics-using-microsoft-excel-1da2</link>
      <guid>https://dev.to/joseph_nganga_9143225ac6c/basic-data-analytics-using-microsoft-excel-1da2</guid>
      <description>&lt;p&gt;Microsoft excel, is a powerful tool when it comes to data analysis. Data analytics is the process of collecting data, cleaning, processing and visualizing the data to provide insights or enable making of data-driven decisions.&lt;br&gt;
We manipulate data using functions such as sorting and filtering, removing duplicates.&lt;br&gt;
We can use different formulas and functions like sum, average, count, vlookup, and other functions to manipulate the data.&lt;br&gt;
We use pivot tables to instantly summarize large data sets.&lt;/p&gt;

&lt;h2&gt;
  
  
  Organizing data.
&lt;/h2&gt;

&lt;p&gt;Before we can analyse any data, we first need to clean and organize it, which ensures the data is uniform so functions and calculations give correct information.&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%2Fnyuobbdgztkuh1j6k0pq.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%2Fnyuobbdgztkuh1j6k0pq.png" alt=" " width="800" height="546"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;in the baove image, we see that the data is in columns and rows that are uniform for each criterion. This makes it easier to do complex calculations such as averages, sums, and even create pivot tables as well as interactive dashboards from the data.&lt;/p&gt;

&lt;h2&gt;
  
  
  sorting and filtering.
&lt;/h2&gt;

&lt;p&gt;To arrange data in a coherent, understandable manner, we use sort and filter.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;On the ribbon, click home&lt;/li&gt;
&lt;li&gt;Go to sort and filter, from here you can sort in ascending or descending order.&lt;/li&gt;
&lt;/ol&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%2Fc345fnw7r9w96mavr8q2.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%2Fc345fnw7r9w96mavr8q2.png" alt=" " width="800" height="76"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Data analysis
&lt;/h2&gt;

&lt;p&gt;We use functions to analyse a data set. From there, we deduce patterns and trends. We understand what the large data set tells us.&lt;br&gt;
These functions include the following,&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Sum. This adds value to give the total of the specified range of figures.&lt;/li&gt;
&lt;li&gt;Average. This gives the average of the numbers that are provided in the specified range.&lt;/li&gt;
&lt;li&gt;Vlookup. This function helps us look for a value and match it to another value.&lt;/li&gt;
&lt;li&gt;Logical if, and/or help us create complex filtering criteria.&lt;/li&gt;
&lt;li&gt;A pivot table is one of the most powerful features in Excel, as it automatically summarizes large data sets and groups them by categories. It calculates totals, averages, counts, and other key metrics instantly. Below is an example.&lt;/li&gt;
&lt;/ol&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%2Fvunnpfg9wvufgsudhrf5.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%2Fvunnpfg9wvufgsudhrf5.png" alt=" " width="800" height="422"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;It allows us to view a summarized analysis of a very large data set in one or more Excel sheets.&lt;/p&gt;

&lt;h2&gt;
  
  
  Presenting data for decision making.
&lt;/h2&gt;

&lt;p&gt;After the analysis, we need to present the results in an interactive way that allows users of the information to make informed decisions. We create such interactive dashboards using slicers.&lt;br&gt;
To create slicers, go to Pivot Table Analyze and click Slicers as shown below:&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%2Fvvk8tkok7tv7ruy3ty2l.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%2Fvvk8tkok7tv7ruy3ty2l.png" alt=" " width="800" height="415"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  The final presentation.
&lt;/h2&gt;

&lt;p&gt;We now create an interactive dashboard that summarizes the most important metrics driving decision-making. Below is an example of an interactive dashboard:&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%2Feyqrkyqqb9l8djff6otn.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%2Feyqrkyqqb9l8djff6otn.png" alt=" " width="800" height="418"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;WE have now done an informative data analysis project in Excel, from cleaning information, sorting, and analyzing to presenting information that enables clear decision making. &lt;/p&gt;

</description>
    </item>
    <item>
      <title>Code, Version control and Git.</title>
      <dc:creator>Joseph Nganga</dc:creator>
      <pubDate>Sun, 18 Jan 2026 09:52:57 +0000</pubDate>
      <link>https://dev.to/joseph_nganga_9143225ac6c/code-version-control-and-git-29kb</link>
      <guid>https://dev.to/joseph_nganga_9143225ac6c/code-version-control-and-git-29kb</guid>
      <description>&lt;p&gt;Hey, in the digital era we're in today, projects have gotten complicated, and we need a place to store the code/ project, a standard procedure to track changes and improvements we make to the project. This gets even more complicated when the project is not just an individual one, but involves many developers' contributions to the project.&lt;br&gt;
So, how do we track who made what change, what version of the project is the latest, what changes have been made, and what are the new updates?&lt;br&gt;
Enter a version control system.&lt;br&gt;
The version control system records all changes made to a file over time.&lt;br&gt;
When multiple developers are involved, it allows them to work together on the same project and prevents individuals from overwriting others' work.&lt;br&gt;
The most widely used version control system is called Git. It's a history of all your projects. It contains an earlier version of your project, then it records changes made to the project, records who made the changes, and the time the changes were made. While git does all this on your local machine, we can alternatively do all this on Github, a cloud-based service.&lt;/p&gt;

&lt;p&gt;How to set up GitHub.&lt;br&gt;
Create a free account on &lt;a href="https://github.com/" rel="noopener noreferrer"&gt;&lt;/a&gt;&lt;br&gt;
Next, download Gitbash, a command-line module on your local pc. It is used to manipulate/ edit projects on GitHub.&lt;br&gt;
Gitbash allows you to write git instructions thus directly interact with GitHub, where your projects are stored.&lt;/p&gt;

&lt;p&gt;On your gitbash, you first set it up to connect to your github by telling it who you are, as follows:&lt;/p&gt;

&lt;p&gt;git config --global user.name "Your Full Name"&lt;br&gt;
git config --global user.email "&lt;a href="mailto:youremail@example.com"&gt;youremail@example.com&lt;/a&gt;"&lt;/p&gt;

&lt;p&gt;To confirm the details, you run the following command:&lt;/p&gt;

&lt;p&gt;git config --global --list&lt;/p&gt;

&lt;p&gt;We then need to link our git bash to our GitHub, using an ssh key.&lt;br&gt;
on our git bash, we generate this key using:&lt;br&gt;
ssh-keygen -t ed25519 -C "&lt;a href="mailto:your_email@example.com"&gt;your_email@example.com&lt;/a&gt;"&lt;/p&gt;

&lt;p&gt;We then turn the key into an agent using: eval "$(ssh-agent -s)"&lt;br&gt;
command.&lt;br&gt;
We then add the ssh key agent to git bash using: ssh-add ~/.ssh/id_ed25519&lt;/p&gt;

&lt;h3&gt;
  
  
  Creating a repository.
&lt;/h3&gt;

&lt;p&gt;On your git bash, use the command 'mkdir' followed by a name to create an empty directory, and cd followed by the name to move into that directory. In this directory, you can write code. All this is done on our local pc. Therfore to push this code to GitHub, we use the command 'git add.'&lt;br&gt;
This tells git to stage all changes made to your file/directory. Once the command is accepted without error, we use the command 'git commit' and add a commit message(notes or explanations). We will use this on GitHub to track changes and give explanations for what changed and why. Finally, we use the command 'git push' to push all our changes to GitHub.&lt;/p&gt;

&lt;h2&gt;
  
  
  Tracking changes and pulling code.
&lt;/h2&gt;

&lt;p&gt;If the project has contributions from different developers, we use the command 'git pull' to download changes made on the project to our local pc &lt;br&gt;
before we push, to avoid merge conflicts. This has the advantage of also showing us what changes were made to the project by other contributors using the command 'git status'&lt;/p&gt;

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