<?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: Bethuel Ngetich</title>
    <description>The latest articles on DEV Community by Bethuel Ngetich (@bethuel_ngetich_ea8b7b104).</description>
    <link>https://dev.to/bethuel_ngetich_ea8b7b104</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%2F3951206%2F2b62aee6-d38d-4d02-87a4-3f045b1d505d.png</url>
      <title>DEV Community: Bethuel Ngetich</title>
      <link>https://dev.to/bethuel_ngetich_ea8b7b104</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/bethuel_ngetich_ea8b7b104"/>
    <language>en</language>
    <item>
      <title>Greenwood Academy: Transitioning from Pen and Paper to a Robust Database System</title>
      <dc:creator>Bethuel Ngetich</dc:creator>
      <pubDate>Sun, 19 Jul 2026 14:14:41 +0000</pubDate>
      <link>https://dev.to/bethuel_ngetich_ea8b7b104/greenwood-academy-transitioning-from-pen-and-paper-to-a-robust-database-system-2d86</link>
      <guid>https://dev.to/bethuel_ngetich_ea8b7b104/greenwood-academy-transitioning-from-pen-and-paper-to-a-robust-database-system-2d86</guid>
      <description>&lt;p&gt;In today's data driven world, how an organization manages its data directly impacts its success. Many institutions have moved away from traditional pen-and-paper record-keeping toward modern database solutions that secure information and uncover critical operational insights.&lt;/p&gt;

&lt;p&gt;​This weekend, I got to see this play out in real-time. Greenwood Academy, a model school in Nairobi, Kenya, decided to switch from ordinary bookkeeping to an operational database system to manage their data efficiently.&lt;/p&gt;

&lt;p&gt;​I was tasked with building a robust system to help them store, update, and query their records. For this project, I used a PostgreSQL database hosted on Aiven.&lt;/p&gt;

&lt;p&gt;​Here is a breakdown of the process:&lt;/p&gt;

&lt;p&gt;​1. Database Schema Design&lt;br&gt;
The first step was designing a schema&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F46ofy6pjxy3a8bf7vvox.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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F46ofy6pjxy3a8bf7vvox.png" alt=" CREATE SCHEMA code" width="495" height="67"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;​2. Table Creation&lt;br&gt;
Next, I created multiple structured tables—including a students table and an exam_results table—to ensure data integrity.&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fbbr10gbyuiwuh4emjtzt.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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fbbr10gbyuiwuh4emjtzt.png" alt="CREATE TABLE code" width="322" height="179"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;​3. Data Ingestion&lt;br&gt;
Once the architecture was ready, I populated the tables with realistic school records.&lt;/p&gt;

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

&lt;p&gt;​4. Solving Real-World Pain Points with SQL&lt;br&gt;
Finally, I wrote and executed SQL queries to solve some of the major administrative pain points the school faced. Key questions answered included the following:&lt;br&gt;
​&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;How can the administration rank students based on their performance?&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fs2jjeq0yost9qttj9fbc.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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fs2jjeq0yost9qttj9fbc.png" alt="CASE WHEN statements code" width="521" height="155"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;​How can they quickly track the total number of students enrolled per class?&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fvtkwysj8goywpzi0s9gf.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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fvtkwysj8goywpzi0s9gf.png" alt="COUNT() code" width="424" height="83"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;​Key Takeaway:&lt;br&gt;
​This project reinforced the importance of structured execution in product delivery. By breaking the building process down into 6 distinct steps, I was able to work faster, maintain deep focus on each component, and minimize errors.&lt;/p&gt;

&lt;p&gt;Check out my GitHub repo here:&lt;a href="https://dev.tourl"&gt; https://github.com/Bethuel369/sql-week2-assignment-Bethuel-Ngetich&lt;/a&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Excel is really Exciting</title>
      <dc:creator>Bethuel Ngetich</dc:creator>
      <pubDate>Tue, 07 Jul 2026 13:45:17 +0000</pubDate>
      <link>https://dev.to/bethuel_ngetich_ea8b7b104/excel-is-really-exciting-bd7</link>
      <guid>https://dev.to/bethuel_ngetich_ea8b7b104/excel-is-really-exciting-bd7</guid>
      <description>&lt;p&gt;Excel, the one-trick pony that does everything. For the few years that I've known and used Excel, it has really become an indispensable tool. Although many say it will soon be disposed of, I believe Excel is here to stay, and here's why:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Simplified Functions:&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Excel makes it so easy for a user to start performing operations on data; simply click within any cell, add an equal sign (=) followed by your function and its parameters, and you're all set.&lt;/p&gt;

&lt;p&gt;Additionally, Excel provides a plethora of functions to choose from, tackling almost any use case. Some examples include:&lt;/p&gt;

&lt;p&gt;=SUMIF() - calculates the sum of a range of values if they meet certain criteria.&lt;/p&gt;

&lt;p&gt;=XLOOKUP() allows you to look up values in your sheet, for example, employee IDs, and return values such as their names and phone numbers.&lt;/p&gt;

&lt;p&gt;=AGGREGATE() performs operations such as sum, average, and max.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Incredible visualizations&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Excel can be used to make interactive visualizations such as bar charts, pie charts, and histograms. &lt;br&gt;
What sets Excel apart from other tools for visuals is the ease with which you can make them in Excel. &lt;br&gt;
You just have to choose the fields you want to be visualized and the type of visual you want, be it a scatter plot or a clustered chart, and vwa-lah, the visual is displayed instantly.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Small-scale friendly&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Excel works very well for a small dataset; this is especially useful in scenarios where an organization is small and wants instant delivery rather than taking months using other complex tools.&lt;/p&gt;

&lt;p&gt;Finally, although Excel has made huge strides in making data analysis easier, there are some areas where it lags behind. One is difficulty working on large datasets; this makes it harder for big organizations to work with it.&lt;/p&gt;

&lt;p&gt;All in all, I believe that Excel is an awesome tool that can be really useful depending on the use case. Thank you&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Why Is Your Power BI Dashboard So Slow? 🐌</title>
      <dc:creator>Bethuel Ngetich</dc:creator>
      <pubDate>Sun, 28 Jun 2026 15:48:28 +0000</pubDate>
      <link>https://dev.to/bethuel_ngetich_ea8b7b104/why-is-your-power-bi-dashboard-so-slow-12md</link>
      <guid>https://dev.to/bethuel_ngetich_ea8b7b104/why-is-your-power-bi-dashboard-so-slow-12md</guid>
      <description>&lt;p&gt;Have you ever opened a dashboard and it took forever for it to load?&lt;/p&gt;

&lt;p&gt;Before blaming Power BI, take a look at your data model.&lt;/p&gt;

&lt;p&gt;In most cases, a slow dashboard is the result of an inefficient data model, not the BI tool itself.&lt;/p&gt;

&lt;p&gt;But what exactly is a data model?&lt;/p&gt;

&lt;p&gt;A data model is the way your data is structured through relationships, schemas, and joins. A well-designed model makes your dashboards faster, easier to maintain, and more scalable.&lt;/p&gt;

&lt;p&gt;Here are the three core concepts every BI developer should master.&lt;/p&gt;

&lt;p&gt;Relationships 🔗&lt;/p&gt;

&lt;p&gt;Relationships define how tables connect with one another. The most common types are:&lt;/p&gt;

&lt;p&gt;One-to-One (1:1)&lt;br&gt;
One-to-Many (1) ✅ The preferred relationship in most BI scenarios.&lt;br&gt;
Many-to-Many (N) ⚠️ Use sparingly—they often introduce ambiguity and can negatively impact performance.&lt;/p&gt;

&lt;p&gt;Tip: Design relationships based on your business logic while following the best practices recommended by your BI tool. For example, Power BI performs best with a star schema built around 1 relationships.&lt;/p&gt;

&lt;p&gt;Schemas 📐&lt;/p&gt;

&lt;p&gt;The way you organize your tables has a significant impact on performance.&lt;/p&gt;

&lt;p&gt;⭐ Star Schema (Recommended)&lt;/p&gt;

&lt;p&gt;A Star Schema consists of:&lt;/p&gt;

&lt;p&gt;A central Fact Table that stores measurable business events (sales, orders, transactions, etc.).&lt;br&gt;
Multiple Dimension Tables that provide context (Date, Customer, Product, Region, etc.).&lt;/p&gt;

&lt;p&gt;This is the industry standard for analytics because it minimizes joins and delivers excellent query performance.&lt;/p&gt;

&lt;p&gt;❄️ Snowflake Schema&lt;/p&gt;

&lt;p&gt;A Snowflake Schema extends the Star Schema by normalizing dimension tables into additional related tables.&lt;/p&gt;

&lt;p&gt;Pros:&lt;/p&gt;

&lt;p&gt;Reduces data redundancy&lt;br&gt;
Easier to maintain standardized dimensions&lt;/p&gt;

&lt;p&gt;Cons:&lt;/p&gt;

&lt;p&gt;Requires more joins&lt;br&gt;
Can slow down analytical queries&lt;br&gt;
🌌 Galaxy Schema&lt;/p&gt;

&lt;p&gt;A Galaxy Schema (also known as a Fact Constellation) contains multiple fact tables that share common dimension tables.&lt;/p&gt;

&lt;p&gt;This approach is ideal for large enterprise data warehouses supporting multiple business processes.&lt;/p&gt;

&lt;p&gt;Joins 🧩&lt;/p&gt;

&lt;p&gt;Joins determine how data is combined during ingestion or transformation.&lt;/p&gt;

&lt;p&gt;Some of the most common join types include:&lt;/p&gt;

&lt;p&gt;INNER JOIN&lt;br&gt;
LEFT JOIN&lt;br&gt;
RIGHT JOIN&lt;br&gt;
FULL OUTER JOIN&lt;br&gt;
LEFT ANTI JOIN&lt;br&gt;
RIGHT ANTI JOIN&lt;/p&gt;

&lt;p&gt;Choosing the right join not only ensures accurate results but can also reduce unnecessary data processing.&lt;/p&gt;

&lt;p&gt;The Bottom Line&lt;/p&gt;

&lt;p&gt;Fast dashboards start with a well-designed data model.&lt;/p&gt;

&lt;p&gt;A good model combines:&lt;/p&gt;

&lt;p&gt;✅ Appropriate relationships&lt;br&gt;
✅ The right schema design&lt;br&gt;
✅ Efficient joins&lt;/p&gt;

&lt;p&gt;Investing time in modeling your data before building visuals will save you countless hours of troubleshooting and dramatically improve dashboard performance.&lt;/p&gt;

&lt;p&gt;💬 What schema do you use most often in your BI projects?&lt;/p&gt;

&lt;p&gt;Do you stick with the classic Star Schema, or have you found situations where Snowflake or Galaxy schemas work better?&lt;/p&gt;

&lt;p&gt;I'd love to hear your thoughts in the comments!&lt;/p&gt;

</description>
      <category>analytics</category>
      <category>database</category>
      <category>microsoft</category>
      <category>performance</category>
    </item>
  </channel>
</rss>
