<?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: Brian Kiprop</title>
    <description>The latest articles on DEV Community by Brian Kiprop (@brian_kiprop).</description>
    <link>https://dev.to/brian_kiprop</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%2F3968872%2F8a7ae143-b461-4e3d-8ea7-9656561508e0.png</url>
      <title>DEV Community: Brian Kiprop</title>
      <link>https://dev.to/brian_kiprop</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/brian_kiprop"/>
    <language>en</language>
    <item>
      <title>LEARNING SQL</title>
      <dc:creator>Brian Kiprop</dc:creator>
      <pubDate>Mon, 20 Jul 2026 01:32:07 +0000</pubDate>
      <link>https://dev.to/brian_kiprop/learning-sql-hjh</link>
      <guid>https://dev.to/brian_kiprop/learning-sql-hjh</guid>
      <description>&lt;p&gt;So, I Had to Run a School This Weekend (A SQL Story)&lt;br&gt;
Here's the thing. I am not a database administrator. I'm just a student with a laptop, a slightly questionable internet connection, and a growing obsession with making tables do exactly what I want. But this weekend? Greenwood Academy in Nairobi gave me the keys to their digital kingdom. My job was to build their entire school database from scratch and start querying it.&lt;/p&gt;

&lt;p&gt;No pressure, right?&lt;/p&gt;

&lt;p&gt;Here is how it went down. The wins, the face-palm moments, and why CASE WHEN is officially my new favorite thing.&lt;/p&gt;

&lt;p&gt;Step 1: The Setup (DDL - Building the Sandbox)&lt;br&gt;
Before I could do anything cool, I had to actually build the container for all this data. That meant creating a schema called greenwood_academy and setting up three tables: students, subjects, and exam_results.&lt;/p&gt;

&lt;p&gt;Writing out all those CREATE TABLE statements was pretty straightforward. I just followed the specs: student_id as the primary key, VARCHAR for names, INT for marks.&lt;/p&gt;

&lt;p&gt;But then, plot twist. Just after I finished, the school realized they forgot phone numbers. Classic. So I had to whip out the ALTER TABLE command to add a phone_number column. Then they changed their minds again. "Actually, scrap that. Drop it." So I did. Dropping a column felt a bit risky, like deleting a file off your desktop, but hey, it worked. I also renamed credits to credit_hours, which just felt like good housekeeping.&lt;/p&gt;

&lt;p&gt;Takeaway: Building a database isn't a one-and-done deal. You have to be flexible because schools (or bosses) will always change their minds.&lt;/p&gt;

&lt;p&gt;Step 2: Inserting the Data (DML - The Real Work)&lt;br&gt;
This is where I got a bit jittery. Copy-pasting 10 students, 10 subjects, and 10 exam results into a terminal feels like you're typing out a nuclear launch code. One missing comma and everything blows up.&lt;/p&gt;

&lt;p&gt;I got to meet the students, though. Amina Wanjiku, Brian Ochieng, Esther Akinyi. I started rooting for them. But honestly? I messed up. Twice.&lt;/p&gt;

&lt;p&gt;Esther's City: I inserted her with a city of "Nakuru". The spec said she moved to Nairobi. So I had to run an UPDATE on student_id = 5 to fix her address.&lt;/p&gt;

&lt;p&gt;The Marks Blunder: For result_id 5, I typed "49" instead of "59". Ouch. One UPDATE later, I saved that student from a low grade. It felt weirdly satisfying to correct my own sloppy paperwork.&lt;/p&gt;

&lt;p&gt;Oh, and I had to DELETE result_id 9 entirely because the exam got cancelled. Felt a bit harsh, but rules are rules.&lt;/p&gt;

&lt;p&gt;Step 3: The Fun Part - Asking Questions (WHERE &amp;amp; Operators)&lt;br&gt;
Once the data was solid, I finally got to do what SQL is actually for: querying.&lt;/p&gt;

&lt;p&gt;The WHERE clause became my best friend.&lt;/p&gt;

&lt;p&gt;"Show me all the Form 4 students." Done.&lt;/p&gt;

&lt;p&gt;"Who's in Form 3 and from Nairobi?" Got them.&lt;/p&gt;

&lt;p&gt;"Find the Science subjects." Easy peasy.&lt;/p&gt;

&lt;p&gt;I hit Q21 and Q22, and things got technical. Using BETWEEN for marks (50 to 80) and dates (15th to 18th March) felt like I was slicing data with a laser beam. Then Q23 asked me to find students in Nairobi, Mombasa, or Kisumu. I used IN for the first time, and it just felt so clean compared to writing city = 'Nairobi' OR city = 'Mombasa' OR city = 'Kisumu'.&lt;/p&gt;

&lt;p&gt;But the search operators (LIKE) threw me a curveball. Q25 asked for names starting with 'A' or 'E'. I nearly forgot the % wildcard. And looking for subjects containing "Studies"? LIKE '%Studies%' nailed it.&lt;/p&gt;

&lt;p&gt;Step 4: The Grand Finale - COUNT and CASE WHEN&lt;br&gt;
Q27 and Q28 were simple counting exercises. How many Form 3s? (3). How many marks above 70? (6). Easy math.&lt;/p&gt;

&lt;p&gt;But then came Q29 and Q30. The CASE WHEN questions.&lt;/p&gt;

&lt;p&gt;Honestly, this is where I fell in love with SQL a little bit.&lt;/p&gt;

&lt;p&gt;For Q29, I had to label exam results as "Distinction", "Merit", "Pass", or "Fail". I wrote a CASE statement that looked at the marks column and spat out a text label. Here's the magical part. I didn't have to create a new column in the database. I just used the CASE logic inside my SELECT query, and the performance label appeared like magic in my result grid. No ALTER TABLE, no UPDATE. Just pure logic on the fly.&lt;/p&gt;

&lt;p&gt;For Q30, I did the same thing for the students. If they were in Form 3 or Form 4, they were 'Senior'. If they were in Form 2 or Form 1, they were 'Junior'. It felt like giving out honorary titles.&lt;/p&gt;

&lt;p&gt;Final Thoughts&lt;br&gt;
If you're just starting with SQL, don't overthink it. It's basically just telling the computer:&lt;/p&gt;

&lt;p&gt;"Hey, look at this table. If X is true, call it Y. If it's false, call it Z. And only show me the rows where the city is Nairobi."&lt;/p&gt;

&lt;p&gt;Honestly, making mistakes (like putting Esther in the wrong city) helped me learn more than getting it right on the first try.&lt;/p&gt;

&lt;p&gt;Tomorrow, I'm zipping this all up, pushing it to GitHub (look for my sql-week2-assignment repo), and submitting the link. If you're reading this and struggling with your own CASE WHEN, keep going. That "Aha!" moment is just one query away.&lt;/p&gt;

</description>
      <category>database</category>
      <category>data</category>
      <category>sql</category>
    </item>
    <item>
      <title>POWER BI - FIRST FLIGHT</title>
      <dc:creator>Brian Kiprop</dc:creator>
      <pubDate>Mon, 29 Jun 2026 22:40:45 +0000</pubDate>
      <link>https://dev.to/brian_kiprop/power-bi-first-flight-3249</link>
      <guid>https://dev.to/brian_kiprop/power-bi-first-flight-3249</guid>
      <description>&lt;p&gt;First of all, let me apologize to my viewers out there, wherever you are, existent or non-existent. I haven't been active here, but let's change that, shall we?&lt;/p&gt;

&lt;p&gt;This week I started learning Power BI, and one thing became clear almost immediately: data is everywhere. It's living, breathing, moving, talking. Every interaction, transaction, click, conversation, and decision creates data. The real question isn't whether data exists—it's whether you know how to read it.&lt;/p&gt;

&lt;p&gt;So, what is Power BI?&lt;/p&gt;

&lt;p&gt;At first, I thought it was just another version of Excel. But after only a week of learning, I've realized it's much more than that. Think of it as Excel's more powerful sibling. While Excel is great for spreadsheets and analysis, Power BI is built to handle much larger datasets, connect to multiple data sources, and turn raw information into interactive dashboards and meaningful insights.&lt;/p&gt;

&lt;p&gt;This week we explored the fundamentals, including where Power BI can get data from—Excel files, CSV files, the web, databases, and much more. We also learned why understanding data types is important. Knowing whether a column contains numbers, text, currency, dates, or time helps Power BI interpret and analyze the data correctly.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;&lt;strong&gt;Power Query Editor&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;One concept I really liked was the Power Query Editor.&lt;/p&gt;

&lt;p&gt;When importing data, you usually have two choices: Load or Transform Data.&lt;/p&gt;

&lt;p&gt;Here's how I think about it:&lt;/p&gt;

&lt;p&gt;Imagine a child comes home after playing outside. If you simply let them into the house without doing anything, that's like clicking Load you bring the data in exactly as it is.&lt;/p&gt;

&lt;p&gt;Choosing Transform Data, on the other hand, is like washing the child, cleaning off the dirt, changing their clothes, and making sure they're presentable before they come inside. In data terms, this means cleaning your dataset by fixing errors, removing duplicates, changing data types, renaming columns, and preparing everything before analysis.&lt;/p&gt;

&lt;p&gt;DAX Basics&lt;/p&gt;

&lt;p&gt;We also got introduced to DAX (Data Analysis Expressions), which is Power BI's formula language.&lt;/p&gt;

&lt;p&gt;DAX allows you to create measures, calculated columns, and other calculations that help you extract more meaning from your data.&lt;/p&gt;

&lt;p&gt;For example, if you want to calculate the total revenue, you can use the SUM() function. Simple, but powerful.&lt;/p&gt;

&lt;p&gt;Some other common DAX functions include:&lt;br&gt;
Logical:IF(), SWITCH()&lt;br&gt;
Date &amp;amp; Time:TODAY()&lt;br&gt;
Text: LEN(), RIGHT()&lt;/p&gt;

&lt;p&gt;I'm only one week in, but it's already changing how I think about data. Before, I mostly saw rows and columns. Now I'm starting to see stories, patterns, and insights waiting to be uncovered.&lt;/p&gt;

&lt;p&gt;Looking forward to learning more and this time, I'll try not to disappear for so long.&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>data</category>
      <category>devjournal</category>
      <category>microsoft</category>
    </item>
    <item>
      <title>How Excel is Used in Real-World Data Analysis</title>
      <dc:creator>Brian Kiprop</dc:creator>
      <pubDate>Sun, 07 Jun 2026 12:23:55 +0000</pubDate>
      <link>https://dev.to/brian_kiprop/how-excel-is-used-in-real-world-data-analysis-3chg</link>
      <guid>https://dev.to/brian_kiprop/how-excel-is-used-in-real-world-data-analysis-3chg</guid>
      <description>&lt;p&gt;Before this week, I thought Excel was just a fancy calculator with boxes. But after three days of my Data Science &amp;amp; Analytics course, I realise I was wrong. Really wrong.&lt;/p&gt;

&lt;p&gt;Excel is a spreadsheet tool used by millions of people from small business owners to data analysts at giant companies. And the best part? You don’t need to be a programmer to use it. You just need to know a few tricks.&lt;/p&gt;

&lt;p&gt;Here’s how Excel helps solve real-world problems using exactly what I learned in Week 1.&lt;/p&gt;

&lt;p&gt;3 Real-World Ways Excel Is Used&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Business decisions with logic&lt;br&gt;
Managers use IF() statements to answer yes/no questions. Example: =IF(Sales&amp;gt;1000, "Bonus", "Needs Improvement"). One cell can decide who gets paid more.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Cleaning messy data&lt;br&gt;
Real data is never clean. Marketing teams use Remove Duplicates, Find &amp;amp; Replace, and Text to Columns to fix hundreds of messy rows in seconds. No manual typing.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Tracking deadlines and ages&lt;br&gt;
HR teams use DATEDIF() to calculate employee ages or years of service. TODAY() and NOW() keep reports automatically updated. No more “oh, I forgot to update the date.”&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;3 Excel Features I Learned This Week&lt;br&gt;
Remove Duplicates – One click, and Excel deletes repeated rows. Saved me from sending the same customer email twice.&lt;/p&gt;

&lt;p&gt;IFERROR() – Hides ugly errors like #DIV/0! and shows something friendly instead (e.g., “Check data”). Your boss will thank you.&lt;/p&gt;

&lt;p&gt;Sort &amp;amp; Filter – With AutoFilter, I can find all sales above $500 in one second. Then Custom Sort lets me sort by date and region together.&lt;/p&gt;

&lt;p&gt;My personal reflection&lt;br&gt;
Honestly? Learning Excel has changed how I see data. I used to look at a messy spreadsheet and feel lost. Now I see Remove Duplicates, Text to Columns, and TRIM() as tiny tools that bring order to chaos.&lt;/p&gt;

&lt;p&gt;Data isn’t scary anymore. It’s just a puzzle and Excel gives me the pieces.&lt;/p&gt;

&lt;p&gt;I’m only one week in. But I already feel like a junior data analyst in training.&lt;/p&gt;

</description>
      <category>excel</category>
      <category>datascience</category>
      <category>data</category>
      <category>datacleaning</category>
    </item>
  </channel>
</rss>
