<?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: Stephen Omengo</title>
    <description>The latest articles on DEV Community by Stephen Omengo (@stephenomengo).</description>
    <link>https://dev.to/stephenomengo</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%2F3818274%2Fabf1a1eb-31f4-4d53-891f-f5cb3bef38e5.jpeg</url>
      <title>DEV Community: Stephen Omengo</title>
      <link>https://dev.to/stephenomengo</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/stephenomengo"/>
    <language>en</language>
    <item>
      <title>Understanding Data Distributions and Their Impact on Data Science</title>
      <dc:creator>Stephen Omengo</dc:creator>
      <pubDate>Tue, 23 Jun 2026 08:35:07 +0000</pubDate>
      <link>https://dev.to/stephenomengo/understanding-data-distributions-and-their-impact-on-data-science-2430</link>
      <guid>https://dev.to/stephenomengo/understanding-data-distributions-and-their-impact-on-data-science-2430</guid>
      <description>&lt;h1&gt;
  
  
  INTRODUCTION
&lt;/h1&gt;

&lt;p&gt;Data is the foundation of every data science project, but raw data alone is of little value unless we understand how it behaves. The distribution of data is one of the most fundamental concepts in statistics and data science. Data distributions describe how values are spread across a dataset, providing important information about trends, patterns, and anomalies.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;What is a data distribution?&lt;/em&gt;&lt;br&gt;
This is a representation of how frequently different values occur within a dataset. It provides insight into the shape, center, spread, and variability of the data.&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%2Fmg0a5ic0u4sz32um9g4d.jpg" 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%2Fmg0a5ic0u4sz32um9g4d.jpg" alt=" " width="738" height="378"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;By analyzing distributions, data scientists can answer questions such as:&lt;/p&gt;

&lt;p&gt;-Are the data points clustered around a central value?&lt;br&gt;
 -Is the data skewed toward higher or lower values?&lt;br&gt;
 -Are there unusual observations or outliers?&lt;br&gt;
 -Which statistical methods are appropriate for the data?&lt;/p&gt;

&lt;p&gt;Visual tools such as histograms, density plots, and box plots are commonly used to examine distributions.&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%2Fnjdzqvejyl8h306rpfpe.jpg" 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%2Fnjdzqvejyl8h306rpfpe.jpg" alt=" " width="678" height="452"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  Common Types of Data Distributions
&lt;/h1&gt;

&lt;p&gt;(a). &lt;em&gt;Normal Distribution&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Often called the Bell Curve, it is one of the most important distributions in statistics.&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%2F1bu56hvxhb0sqryagxic.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%2F1bu56hvxhb0sqryagxic.png" alt=" " width="622" height="321"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Examples:&lt;/p&gt;

&lt;p&gt;-Human heights&lt;br&gt;
-IQ scores&lt;br&gt;
-Measurement errors&lt;/p&gt;

&lt;p&gt;Many machine learning algorithms and statistical techniques assume that data follows a normal distribution&lt;/p&gt;

&lt;p&gt;(b). &lt;em&gt;Uniform Distribution&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;In Uniform Distribution, all outcomes have an equal probability of occurring.&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%2Fm5t4dzmwdzsib5et1opy.jpg" 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%2Fm5t4dzmwdzsib5et1opy.jpg" alt=" " width="738" height="360"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Examples:&lt;/p&gt;

&lt;p&gt;-Rolling a fair die&lt;br&gt;
-Random number generation&lt;/p&gt;

&lt;p&gt;They are frequently used in simulations and probability modeling.&lt;/p&gt;

&lt;p&gt;(c). &lt;em&gt;Binomial Distribution&lt;/em&gt;&lt;br&gt;
This models the number of successes in a fixed number of independent trials.&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%2Fmvddvbifqbwhbg9pgpua.jpg" 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%2Fmvddvbifqbwhbg9pgpua.jpg" alt=" " width="580" height="528"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Examples:&lt;/p&gt;

&lt;p&gt;-Coin tosses&lt;br&gt;
-Email campaign conversions&lt;br&gt;
-Product quality inspections&lt;/p&gt;

&lt;p&gt;(d). &lt;em&gt;Poisson Distribution&lt;/em&gt;&lt;br&gt;
The Poisson Distribution measures how often events occur within a fixed interval.&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%2F2bdpynd2s7p2hwrq1sqx.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%2F2bdpynd2s7p2hwrq1sqx.png" alt=" " width="625" height="490"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Examples:&lt;/p&gt;

&lt;p&gt;-Website visits per minute&lt;br&gt;
-Customer arrivals at a store&lt;br&gt;
-Network failures&lt;/p&gt;

&lt;p&gt;(e). &lt;em&gt;Exponential Distribution&lt;/em&gt;&lt;br&gt;
The Exponential Distribution measures the time between events.&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%2Fzrm3s4vlhqkj5u6pni4a.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%2Fzrm3s4vlhqkj5u6pni4a.png" alt=" " width="527" height="371"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Examples:&lt;/p&gt;

&lt;p&gt;-Time between customer purchases&lt;br&gt;
-Time between system failures&lt;br&gt;
-Waiting time for service requests&lt;/p&gt;

&lt;p&gt;This distribution is commonly used in reliability engineering and operational analytics.&lt;/p&gt;

&lt;h1&gt;
  
  
  Why Data Distributions Matter in Data Science
&lt;/h1&gt;

&lt;p&gt;Data distributions help data scientists understand data patterns, detect outliers, and select appropriate analytical methods. They influence data preprocessing, model performance, and statistical testing. By understanding how data is distributed, organizations can make more accurate predictions, identify risks, and support better decision-making.&lt;/p&gt;

&lt;h1&gt;
  
  
  Real-World Example: E-Commerce Analytics
&lt;/h1&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%2Fwiaxm089khmsyhcg9ut1.jpg" 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%2Fwiaxm089khmsyhcg9ut1.jpg" alt=" " width="275" height="183"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Consider an online retailer analyzing customer spending patterns.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;If spending follows a normal distribution:&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;-Average spending accurately represents most customers.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;If spending is heavily right-skewed:&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;-A small group of customers contributes a large portion of revenue.&lt;br&gt;
-The median becomes a more reliable measure than the mean.&lt;/p&gt;

&lt;p&gt;This insight influences marketing strategies, customer segmentation, and revenue forecasting.&lt;/p&gt;

&lt;p&gt;Conclusion&lt;/p&gt;

&lt;p&gt;Data distributions are a cornerstone of data science. &lt;em&gt;They provide valuable insights into how data behaves and influence nearly every stage of the analytical process, from data exploration and feature engineering to model development and business decision-making.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>productivity</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>Understanding Subqueries and CTEs in SQL: A Complete Guide</title>
      <dc:creator>Stephen Omengo</dc:creator>
      <pubDate>Tue, 23 Jun 2026 07:48:08 +0000</pubDate>
      <link>https://dev.to/stephenomengo/understanding-subqueries-and-ctes-in-sql-a-complete-guide-h60</link>
      <guid>https://dev.to/stephenomengo/understanding-subqueries-and-ctes-in-sql-a-complete-guide-h60</guid>
      <description>&lt;p&gt;Working with relational databases often requires breaking down complex problems into manageable parts. Two powerful tools that help achieve this in SQL are subqueries and Common Table Expressions (CTEs). While they may seem similar at first, they serve different purposes and are best used in different scenarios.&lt;/p&gt;

&lt;p&gt;This article explores what &lt;em&gt;subqueries and CTEs&lt;/em&gt; are, their types, use cases, and how they compare in terms of performance and readability.&lt;/p&gt;

&lt;p&gt;What is a Subquery?&lt;/p&gt;

&lt;p&gt;A subquery is a query nested inside another SQL query. It is used to perform operations that depend on the result of another query.&lt;/p&gt;

&lt;p&gt;Basic Example&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight sql"&gt;&lt;code&gt;&lt;span class="k"&gt;SELECT&lt;/span&gt; &lt;span class="n"&gt;name&lt;/span&gt;
&lt;span class="k"&gt;FROM&lt;/span&gt; &lt;span class="n"&gt;employees&lt;/span&gt;
&lt;span class="k"&gt;WHERE&lt;/span&gt; &lt;span class="n"&gt;salary&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;
    &lt;span class="k"&gt;SELECT&lt;/span&gt; &lt;span class="k"&gt;AVG&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;salary&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="k"&gt;FROM&lt;/span&gt; &lt;span class="n"&gt;employees&lt;/span&gt;
&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;In this example:&lt;/p&gt;

&lt;p&gt;The inner query calculates the average salary.&lt;br&gt;
The outer query retrieves employees earning above that average.&lt;/p&gt;

&lt;p&gt;👉 In simple terms, a subquery provides intermediate results to the main query.&lt;/p&gt;

&lt;p&gt;Types of Subqueries&lt;/p&gt;

&lt;p&gt;Subqueries can be categorized based on how they are used and how they interact with the outer query.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Single-row Subquery&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Returns only one row.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight sql"&gt;&lt;code&gt;&lt;span class="k"&gt;SELECT&lt;/span&gt; &lt;span class="n"&gt;name&lt;/span&gt;
&lt;span class="k"&gt;FROM&lt;/span&gt; &lt;span class="n"&gt;employees&lt;/span&gt;
&lt;span class="k"&gt;WHERE&lt;/span&gt; &lt;span class="n"&gt;department_id&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;
    &lt;span class="k"&gt;SELECT&lt;/span&gt; &lt;span class="n"&gt;id&lt;/span&gt; &lt;span class="k"&gt;FROM&lt;/span&gt; &lt;span class="n"&gt;departments&lt;/span&gt; &lt;span class="k"&gt;WHERE&lt;/span&gt; &lt;span class="n"&gt;name&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s1"&gt;'Sales'&lt;/span&gt;
&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;Multi-row Subquery&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Returns multiple rows and is used with operators like IN, ANY, or ALL.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight sql"&gt;&lt;code&gt;&lt;span class="k"&gt;SELECT&lt;/span&gt; &lt;span class="n"&gt;name&lt;/span&gt;
&lt;span class="k"&gt;FROM&lt;/span&gt; &lt;span class="n"&gt;employees&lt;/span&gt;
&lt;span class="k"&gt;WHERE&lt;/span&gt; &lt;span class="n"&gt;department_id&lt;/span&gt; &lt;span class="k"&gt;IN&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;
    &lt;span class="k"&gt;SELECT&lt;/span&gt; &lt;span class="n"&gt;id&lt;/span&gt; &lt;span class="k"&gt;FROM&lt;/span&gt; &lt;span class="n"&gt;departments&lt;/span&gt; &lt;span class="k"&gt;WHERE&lt;/span&gt; &lt;span class="k"&gt;location&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s1"&gt;'Nairobi'&lt;/span&gt;
&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;Correlated Subquery&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Depends on the outer query and is executed once for each row.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight sql"&gt;&lt;code&gt;&lt;span class="k"&gt;SELECT&lt;/span&gt; &lt;span class="n"&gt;name&lt;/span&gt;
&lt;span class="k"&gt;FROM&lt;/span&gt; &lt;span class="n"&gt;employees&lt;/span&gt; &lt;span class="n"&gt;e&lt;/span&gt;
&lt;span class="k"&gt;WHERE&lt;/span&gt; &lt;span class="n"&gt;salary&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;
    &lt;span class="k"&gt;SELECT&lt;/span&gt; &lt;span class="k"&gt;AVG&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;salary&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="k"&gt;FROM&lt;/span&gt; &lt;span class="n"&gt;employees&lt;/span&gt;
    &lt;span class="k"&gt;WHERE&lt;/span&gt; &lt;span class="n"&gt;department_id&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;e&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;department_id&lt;/span&gt;
&lt;span class="p"&gt;);&lt;/span&gt;

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;👉 This is more dynamic but can be slower due to repeated execution.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Nested Subquery&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;A subquery inside another subquery.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight sql"&gt;&lt;code&gt;&lt;span class="k"&gt;SELECT&lt;/span&gt; &lt;span class="n"&gt;name&lt;/span&gt;
&lt;span class="k"&gt;FROM&lt;/span&gt; &lt;span class="n"&gt;employees&lt;/span&gt;
&lt;span class="k"&gt;WHERE&lt;/span&gt; &lt;span class="n"&gt;department_id&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;
    &lt;span class="k"&gt;SELECT&lt;/span&gt; &lt;span class="n"&gt;id&lt;/span&gt;
    &lt;span class="k"&gt;FROM&lt;/span&gt; &lt;span class="n"&gt;departments&lt;/span&gt;
    &lt;span class="k"&gt;WHERE&lt;/span&gt; &lt;span class="k"&gt;location&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;
        &lt;span class="k"&gt;SELECT&lt;/span&gt; &lt;span class="k"&gt;location&lt;/span&gt;
        &lt;span class="k"&gt;FROM&lt;/span&gt; &lt;span class="n"&gt;offices&lt;/span&gt;
        &lt;span class="k"&gt;WHERE&lt;/span&gt; &lt;span class="n"&gt;city&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s1"&gt;'Nairobi'&lt;/span&gt;
    &lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;When Should Subqueries Be Used?&lt;/p&gt;

&lt;p&gt;Subqueries are ideal when:&lt;/p&gt;

&lt;p&gt;You need a value derived from another query&lt;br&gt;
The logic is simple and contained&lt;br&gt;
You want to filter results dynamically&lt;br&gt;
You’re working with aggregates (AVG, MAX, MIN, etc.)&lt;/p&gt;

&lt;p&gt;However, they can become inefficient or hard to read when deeply nested or correlated.&lt;/p&gt;

&lt;p&gt;What are CTEs (Common Table Expressions)?&lt;/p&gt;

&lt;p&gt;A Common Table Expression (CTE) is a temporary result set defined at the beginning of a query using the WITH keyword. It improves readability and organization, especially in complex queries.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight sql"&gt;&lt;code&gt;&lt;span class="n"&gt;Basic&lt;/span&gt; &lt;span class="n"&gt;Example&lt;/span&gt;
&lt;span class="k"&gt;WITH&lt;/span&gt; &lt;span class="n"&gt;avg_salary&lt;/span&gt; &lt;span class="k"&gt;AS&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;
    &lt;span class="k"&gt;SELECT&lt;/span&gt; &lt;span class="k"&gt;AVG&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;salary&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="k"&gt;AS&lt;/span&gt; &lt;span class="n"&gt;avg_sal&lt;/span&gt;
    &lt;span class="k"&gt;FROM&lt;/span&gt; &lt;span class="n"&gt;employees&lt;/span&gt;
&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="k"&gt;SELECT&lt;/span&gt; &lt;span class="n"&gt;name&lt;/span&gt;
&lt;span class="k"&gt;FROM&lt;/span&gt; &lt;span class="n"&gt;employees&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;avg_salary&lt;/span&gt;
&lt;span class="k"&gt;WHERE&lt;/span&gt; &lt;span class="n"&gt;salary&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="n"&gt;avg_sal&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;👉 Think of a CTE as a temporary named query you can reference within your main query.&lt;/p&gt;

&lt;p&gt;Types and Use Cases of CTEs&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Non-Recursive CTE&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The most common type, used for simplifying complex queries.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight sql"&gt;&lt;code&gt;&lt;span class="k"&gt;WITH&lt;/span&gt; &lt;span class="n"&gt;department_totals&lt;/span&gt; &lt;span class="k"&gt;AS&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;
    &lt;span class="k"&gt;SELECT&lt;/span&gt; &lt;span class="n"&gt;department_id&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="k"&gt;SUM&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;salary&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="k"&gt;AS&lt;/span&gt; &lt;span class="n"&gt;total_salary&lt;/span&gt;
    &lt;span class="k"&gt;FROM&lt;/span&gt; &lt;span class="n"&gt;employees&lt;/span&gt;
    &lt;span class="k"&gt;GROUP&lt;/span&gt; &lt;span class="k"&gt;BY&lt;/span&gt; &lt;span class="n"&gt;department_id&lt;/span&gt;
&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="k"&gt;SELECT&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt;
&lt;span class="k"&gt;FROM&lt;/span&gt; &lt;span class="n"&gt;department_totals&lt;/span&gt;
&lt;span class="k"&gt;WHERE&lt;/span&gt; &lt;span class="n"&gt;total_salary&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="mi"&gt;50000&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Use case:&lt;/p&gt;

&lt;p&gt;Breaking down large queries into readable parts&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Recursive CTE&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Used to handle hierarchical or tree-structured data.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight sql"&gt;&lt;code&gt;&lt;span class="k"&gt;WITH&lt;/span&gt; &lt;span class="k"&gt;RECURSIVE&lt;/span&gt; &lt;span class="n"&gt;employee_hierarchy&lt;/span&gt; &lt;span class="k"&gt;AS&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;
    &lt;span class="k"&gt;SELECT&lt;/span&gt; &lt;span class="n"&gt;id&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;name&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;manager_id&lt;/span&gt;
    &lt;span class="k"&gt;FROM&lt;/span&gt; &lt;span class="n"&gt;employees&lt;/span&gt;
    &lt;span class="k"&gt;WHERE&lt;/span&gt; &lt;span class="n"&gt;manager_id&lt;/span&gt; &lt;span class="k"&gt;IS&lt;/span&gt; &lt;span class="k"&gt;NULL&lt;/span&gt;

    &lt;span class="k"&gt;UNION&lt;/span&gt; &lt;span class="k"&gt;ALL&lt;/span&gt;

    &lt;span class="k"&gt;SELECT&lt;/span&gt; &lt;span class="n"&gt;e&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;id&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;e&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;name&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;e&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;manager_id&lt;/span&gt;
    &lt;span class="k"&gt;FROM&lt;/span&gt; &lt;span class="n"&gt;employees&lt;/span&gt; &lt;span class="n"&gt;e&lt;/span&gt;
    &lt;span class="k"&gt;INNER&lt;/span&gt; &lt;span class="k"&gt;JOIN&lt;/span&gt; &lt;span class="n"&gt;employee_hierarchy&lt;/span&gt; &lt;span class="n"&gt;eh&lt;/span&gt;
    &lt;span class="k"&gt;ON&lt;/span&gt; &lt;span class="n"&gt;e&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;manager_id&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;eh&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;id&lt;/span&gt;
&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="k"&gt;SELECT&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="k"&gt;FROM&lt;/span&gt; &lt;span class="n"&gt;employee_hierarchy&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Use case:&lt;/p&gt;

&lt;p&gt;Organizational charts&lt;br&gt;
Category hierarchies&lt;br&gt;
Graph traversal&lt;br&gt;
When Should CTEs Be Used?&lt;/p&gt;

&lt;p&gt;CTEs are best when:&lt;/p&gt;

&lt;p&gt;Queries are complex and need structure&lt;br&gt;
You want to reuse a result multiple times&lt;br&gt;
You need recursive logic&lt;br&gt;
You want to improve readability and maintainability&lt;br&gt;
Subqueries vs CTEs: A Clear Comparison&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Readability
Subqueries: Can become difficult to read when nested
CTEs: Much cleaner and easier to understand&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;👉 Winner: CTEs&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Performance
Subqueries:
Correlated subqueries can be slow
Often re-executed multiple times
CTEs:
Sometimes optimized better by the database
But in some systems, they may not be cached and can behave like inline views&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;👉 Winner: Depends on the database engine&lt;/p&gt;

&lt;p&gt;For repeated logic → CTEs often better&lt;br&gt;
For simple tasks → subqueries are fine&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Reusability
Subqueries: Cannot be reused easily
CTEs: Can be referenced multiple times in the same query&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;👉 Winner: CTEs&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Complexity Handling
Subqueries: Good for simple conditions
CTEs: Ideal for complex, multi-step logic&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;👉 Winner: CTEs&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Recursion
Subqueries: Cannot handle recursion
CTEs: Support recursive queries&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;👉 Winner: CTEs&lt;/p&gt;

&lt;p&gt;When to Use Each&lt;br&gt;
Use Subqueries when:&lt;br&gt;
The query is simple and short&lt;br&gt;
You only need the result once&lt;br&gt;
You’re filtering using aggregates&lt;br&gt;
Use CTEs when:&lt;br&gt;
The query is complex or layered&lt;br&gt;
You need better readability&lt;br&gt;
You want to reuse logic&lt;br&gt;
You’re working with hierarchical data&lt;br&gt;
Conclusion&lt;/p&gt;

&lt;p&gt;Both subqueries and CTEs are essential tools in SQL, and understanding when to use each can significantly improve your queries.&lt;/p&gt;

&lt;p&gt;Subqueries are concise and useful for straightforward operations&lt;br&gt;
CTEs provide structure, clarity, and power for more advanced scenarios&lt;/p&gt;

&lt;p&gt;In practice, experienced developers often prefer CTEs for maintainability, especially in large projects—but subqueries still have their place for quick, simple tasks.&lt;/p&gt;

</description>
      <category>productivity</category>
      <category>tutorial</category>
      <category>beginners</category>
    </item>
    <item>
      <title>Introduction to Python for Data Analytics</title>
      <dc:creator>Stephen Omengo</dc:creator>
      <pubDate>Fri, 08 May 2026 18:57:15 +0000</pubDate>
      <link>https://dev.to/stephenomengo/introduction-to-python-for-data-analytics-1617</link>
      <guid>https://dev.to/stephenomengo/introduction-to-python-for-data-analytics-1617</guid>
      <description>&lt;p&gt;&lt;em&gt;Python&lt;/em&gt; is one of the most popular programming languages used in data analytics. It is easy, flexible, and has a rich ecosystem of libraries, making it perfect for processing, analyzing, and visualizing data. Organizations in finance, healthcare, marketing, technology, and more use Python to turn raw data into actionable insights that enable better decision-making.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;What is Data Analytics?&lt;/em&gt; - This involves collecting, cleaning, organizing, and interpreting data to identify patterns and trends. Python simplifies these processes through powerful tools and frameworks designed specifically for data manipulation and analysis.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Python is highly recommended for data analytics. Here are some of the examples :&lt;/li&gt;
&lt;/ul&gt;

&lt;h1&gt;
  
  
  1.Big Ecosystem of Libraries
&lt;/h1&gt;

&lt;ul&gt;
&lt;li&gt;Python provides specialized libraries that simplify data analysis tasks.&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%2F8eukwgw8ewts3zellsi2.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%2F8eukwgw8ewts3zellsi2.png" alt=" " width="680" height="525"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;They include:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Library&lt;/th&gt;
&lt;th&gt;Objective&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;NumPy&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Numerical computations&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Pandas&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Data manipulation and analysis&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Matplotlib&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Data visualization&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Seaborn&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Statistical visualization&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;SciPy&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Scientific computing&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Scikit-learn&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Machine learning&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;ul&gt;
&lt;li&gt;These libraries help &lt;em&gt;reduce development time&lt;/em&gt; by using &lt;em&gt;pre-built functions&lt;/em&gt; instead of writing everything from scratch.&lt;/li&gt;
&lt;/ul&gt;

&lt;h1&gt;
  
  
  2.Easy to read and understand
&lt;/h1&gt;

&lt;ul&gt;
&lt;li&gt;Python has a clean syntax that is readable and resembles natural language. It is more user-friendly than many other programming languages for beginners.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Example :&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="n"&gt;sales&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;1200&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;1500&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;1800&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;2000&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
&lt;span class="n"&gt;average&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;sum&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;sales&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt; &lt;span class="nf"&gt;len&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;sales&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Average Sales:&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;average&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;This simplicity allows analysts to spend more time working on problems and less time on complex programming structures.&lt;/li&gt;
&lt;/ul&gt;

&lt;h1&gt;
  
  
  Core Principles of Python in&amp;nbsp;Data Analytics
&lt;/h1&gt;

&lt;ol&gt;
&lt;li&gt;Variables and Data Types
Variables store data values in memory.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="n"&gt;name&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Stephen&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;
&lt;span class="n"&gt;age&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;21&lt;/span&gt;
&lt;span class="n"&gt;salary&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mf"&gt;250000.00&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Common Data Types :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Integers (int)&lt;/li&gt;
&lt;li&gt;Floats (float)&lt;/li&gt;
&lt;li&gt;Lists (list)&lt;/li&gt;
&lt;li&gt;Dictionaries (dict)&lt;/li&gt;
&lt;li&gt;Strings (str)&lt;/li&gt;
&lt;/ul&gt;

&lt;ol&gt;
&lt;li&gt;Lists&lt;/li&gt;
&lt;/ol&gt;

&lt;ul&gt;
&lt;li&gt;Lists are used to store multiple values.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="n"&gt;fruits&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Apple&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Banana&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Orange&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Mango&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;

&lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;fruits&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;Lists are useful when handling datasets containing many records.&lt;/li&gt;
&lt;/ul&gt;

&lt;ol&gt;
&lt;li&gt;Statements&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Conditional statements allow decision-making within programs.&lt;/p&gt;

&lt;p&gt;Example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="n"&gt;score&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;85&lt;/span&gt;

&lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;score&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;=&lt;/span&gt; &lt;span class="mi"&gt;80&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
    &lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Excellent&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="k"&gt;else&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
    &lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Needs Improvement&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;This helps analysts classify and filter data.&lt;/li&gt;
&lt;/ul&gt;

&lt;ol&gt;
&lt;li&gt;Loops&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Loops automate repetitive tasks.&lt;/p&gt;

&lt;p&gt;Example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="n"&gt;sales&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;100&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;200&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;300&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;

&lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;item&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;sales&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
    &lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;item&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;Loops are commonly used to process rows of data efficiently.&lt;/li&gt;
&lt;/ul&gt;

&lt;h1&gt;
  
  
  Pandas
&lt;/h1&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%2Fafxlsax7grlv5f6wfwrj.jpg" 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%2Fafxlsax7grlv5f6wfwrj.jpg" alt=" " width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Pandas is one of the most important Python libraries for data analytics. It introduces two powerful data structures:&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;em&gt;Series&lt;/em&gt; - one-dimensional labeled array that can store:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Numbers&lt;/li&gt;
&lt;li&gt;Text&lt;/li&gt;
&lt;li&gt;Boolean values&lt;/li&gt;
&lt;li&gt;Dates&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;em&gt;DataFrames&lt;/em&gt; - two-dimensional table made of rows and columns. &lt;br&gt;
It is similar to:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Excel spreadsheets&lt;/li&gt;
&lt;li&gt;SQL tables&lt;/li&gt;
&lt;li&gt;CSV files&lt;/li&gt;
&lt;/ol&gt;

&lt;ul&gt;
&lt;li&gt;A DataFrame resembles a spreadsheet or SQL table.
Example :
&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;pandas&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="n"&gt;pd&lt;/span&gt;

&lt;span class="n"&gt;data&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Name&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Stephen&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Brian&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Charles&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;
    &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Age&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;21&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;25&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;22&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="n"&gt;df&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;pd&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nc"&gt;DataFrame&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;data&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;df&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;Output&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;      Name  Age
0    Stephen   21
1    Brian   25
2  Charles   22
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Pandas allows analysts to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Load datasets&lt;/li&gt;
&lt;li&gt;Clean missing values&lt;/li&gt;
&lt;li&gt;Filter records&lt;/li&gt;
&lt;li&gt;Group data&lt;/li&gt;
&lt;li&gt;Perform calculations&lt;/li&gt;
&lt;/ul&gt;

&lt;h1&gt;
  
  
  Analyzing Data Files
&lt;/h1&gt;

&lt;p&gt;Python can read data from multiple sources such as &lt;em&gt;CSV, Excel, JSON, and databases.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Example of reading a CSV file:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;pandas&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="n"&gt;pd&lt;/span&gt;

&lt;span class="n"&gt;df&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;pd&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;read_csv&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;sales.csv&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;df&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;head&lt;/span&gt;&lt;span class="p"&gt;())&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;The head() function displays the first five rows of the dataset.&lt;/li&gt;
&lt;/ul&gt;

&lt;h1&gt;
  
  
  Data Cleaning
&lt;/h1&gt;

&lt;ul&gt;
&lt;li&gt;Real-world datasets often contain errors, duplicates, or missing values. Data cleaning improves data quality before analysis.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="n"&gt;df&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;dropna&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;inplace&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="bp"&gt;True&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;&lt;p&gt;This removes rows containing missing values.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Data cleaning is a critical step because inaccurate data leads to unreliable analysis results.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h1&gt;
  
  
  Data Visualization
&lt;/h1&gt;

&lt;ul&gt;
&lt;li&gt;Visualization helps analysts understand patterns and communicate findings effectively.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;matplotlib.pyplot&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="n"&gt;plt&lt;/span&gt;

&lt;span class="n"&gt;months&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Jan&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Feb&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Mar&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
&lt;span class="n"&gt;sales&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;1200&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;1500&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;1700&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;

&lt;span class="n"&gt;plt&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;plot&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;months&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;sales&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;plt&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;title&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Monthly Sales&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;plt&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;xlabel&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Months&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;plt&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;ylabel&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Sales&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;plt&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;show&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;Common chart types include:&lt;/li&gt;
&lt;/ul&gt;

&lt;ol&gt;
&lt;li&gt;Line charts&lt;/li&gt;
&lt;li&gt;Bar charts&lt;/li&gt;
&lt;li&gt;Pie charts&lt;/li&gt;
&lt;li&gt;Histograms&lt;/li&gt;
&lt;li&gt;Scatter plots&lt;/li&gt;
&lt;/ol&gt;

&lt;ul&gt;
&lt;li&gt;Visualizations make complex data easier to interpret.&lt;/li&gt;
&lt;/ul&gt;

&lt;h1&gt;
  
  
  Basic Statistical Analysis
&lt;/h1&gt;

&lt;ul&gt;
&lt;li&gt;Python can perform statistical operations quickly.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;statistics&lt;/span&gt;

&lt;span class="n"&gt;numbers&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;10&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;20&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;30&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;40&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;50&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;

&lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Mean:&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;statistics&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;mean&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;numbers&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;
&lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Median:&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;statistics&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;median&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;numbers&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;These statistical calculations help summarize datasets.&lt;/li&gt;
&lt;/ul&gt;

&lt;h1&gt;
  
  
  Python in Real-World Data Analytics
&lt;/h1&gt;

&lt;ul&gt;
&lt;li&gt;Business Analyst&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%2Fg3jh1k5p8rtwl9m2c044.jpg" 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%2Fg3jh1k5p8rtwl9m2c044.jpg" alt=" " width="700" height="446"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Companies analyze sales performance, customer behavior, and market trends.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Financial Analytics&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%2F0mckfl3laebxid7q8hx7.jpg" 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%2F0mckfl3laebxid7q8hx7.jpg" alt=" " width="271" height="186"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Banks and financial institutions use Python for fraud detection and investment analysis.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Social Media Analytics&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%2Ftj84qr2cdyhv38vajiw2.jpg" 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%2Ftj84qr2cdyhv38vajiw2.jpg" alt=" " width="308" height="164"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Organizations analyze user engagement and sentiment from online platforms.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Advantages of Python in Data Analytics&lt;/th&gt;
&lt;th&gt;Disadvantages of Python in Data Analytics&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Easy to learn and read due to simple syntax&lt;/td&gt;
&lt;td&gt;Slower execution speed compared to compiled languages like C++&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Large collection of libraries such as Pandas, NumPy, and Matplotlib&lt;/td&gt;
&lt;td&gt;Higher memory consumption&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Strong community support and extensive documentation&lt;/td&gt;
&lt;td&gt;Mobile development support is limited&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Open-source and free to use&lt;/td&gt;
&lt;td&gt;Multi-threading limitations because of the Global Interpreter Lock (GIL)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Excellent for data visualization and reporting&lt;/td&gt;
&lt;td&gt;Can become slower when processing extremely large datasets&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Supports automation of repetitive tasks&lt;/td&gt;
&lt;td&gt;Dynamic typing may lead to runtime errors&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Integrates easily with databases and cloud platforms&lt;/td&gt;
&lt;td&gt;Dependency management can sometimes be challenging&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Suitable for machine learning and artificial intelligence&lt;/td&gt;
&lt;td&gt;Some libraries require additional optimization for high performance&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Cross-platform compatibility (Windows, Linux, macOS)&lt;/td&gt;
&lt;td&gt;Not ideal for highly performance-critical applications&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Rapid development and faster prototyping&lt;/td&gt;
&lt;td&gt;Complex environments may require many external packages&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h1&gt;
  
  
  Conclusion
&lt;/h1&gt;

&lt;p&gt;Python has revolutionized the world of data analytics by offering simple yet powerful tools to work with data. It is easy to read, has a lot of libraries, and is supported by a strong community. It is suitable for beginners and professionals alike. insights.&lt;/p&gt;

&lt;p&gt;Python for data analytics learning provides opportunities across a wide range of industries and serves as a foundation for more advanced fields like machine learning and artificial intelligence.&lt;/p&gt;

</description>
      <category>productivity</category>
      <category>tutorial</category>
      <category>beginners</category>
      <category>python</category>
    </item>
    <item>
      <title>Introduction to SQL: DDL, DML, and Data Querying</title>
      <dc:creator>Stephen Omengo</dc:creator>
      <pubDate>Tue, 14 Apr 2026 08:23:46 +0000</pubDate>
      <link>https://dev.to/stephenomengo/introduction-to-sql-ddl-dml-and-data-querying-4d0o</link>
      <guid>https://dev.to/stephenomengo/introduction-to-sql-ddl-dml-and-data-querying-4d0o</guid>
      <description>&lt;p&gt;&lt;em&gt;Structured Query Language&lt;/em&gt; (SQL) is used to manage and manipulate databases. In this assignment, I learned how to build and interact with a database from scratch.&lt;/p&gt;

&lt;h2&gt;
  
  
  DDL vs DML
&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%2Fw2o84ymkqb37yjtg632n.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%2Fw2o84ymkqb37yjtg632n.png" alt=" " width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;DDL (Data Definition Language) is used to define the structure of a database. Commands like CREATE, ALTER, and DROP are used to create tables and modify them.&lt;/p&gt;

&lt;p&gt;DML (Data Manipulation Language) is used to work with the data inside the database. Commands such as INSERT, UPDATE, and DELETE help in adding, modifying, and removing data.&lt;/p&gt;

&lt;h2&gt;
  
  
  Practical Usage
&lt;/h2&gt;

&lt;p&gt;I used CREATE to build tables such as students, subjects, and exam_results. I then used INSERT to populate them with data. UPDATE helped correct mistakes, and DELETE removed unwanted records.&lt;/p&gt;

&lt;h2&gt;
  
  
  Filtering Data
&lt;/h2&gt;

&lt;p&gt;The WHERE clause is used to filter records. I used operators such as:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;= (equals)&lt;/li&gt;
&lt;li&gt;&amp;gt; (greater than)&lt;/li&gt;
&lt;li&gt;BETWEEN (range filtering)&lt;/li&gt;
&lt;li&gt;IN (multiple values)&lt;/li&gt;
&lt;li&gt;LIKE (pattern matching)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;These made it easy to retrieve specific data from the database.&lt;/p&gt;

&lt;h2&gt;
  
  
  CASE WHEN
&lt;/h2&gt;

&lt;p&gt;CASE WHEN allows us to transform data into meaningful categories. For example, I used it to classify student performance into Distinction, Merit, Pass, and Fail.&lt;/p&gt;

&lt;h2&gt;
  
  
  Reflection
&lt;/h2&gt;

&lt;p&gt;This assignment was both challenging and interesting. Understanding relationships between tables and writing correct queries required attention to detail. However, it improved my confidence in working with databases and SQL queries.&lt;/p&gt;

</description>
      <category>tutorial</category>
      <category>beginners</category>
      <category>productivity</category>
    </item>
    <item>
      <title>IOS 26.4 Beta : WHAT USERS NEED TO KNOW</title>
      <dc:creator>Stephen Omengo</dc:creator>
      <pubDate>Sun, 12 Apr 2026 18:51:57 +0000</pubDate>
      <link>https://dev.to/stephenomengo/ios-264-beta-what-users-need-to-know-3lme</link>
      <guid>https://dev.to/stephenomengo/ios-264-beta-what-users-need-to-know-3lme</guid>
      <description>&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%2Fj8qew832smokphoged7n.webp" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fj8qew832smokphoged7n.webp" alt=" " width="800" height="400"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  Key Features
&lt;/h1&gt;

&lt;ol&gt;
&lt;li&gt;New emojis&lt;/li&gt;
&lt;li&gt;New Accessibility options &lt;/li&gt;
&lt;li&gt;CarPlay AI Integration&lt;/li&gt;
&lt;li&gt;Performance and stability improvements&lt;/li&gt;
&lt;/ol&gt;

&lt;h1&gt;
  
  
  New Emojis
&lt;/h1&gt;

&lt;p&gt;. The new iOS 26.4 beta expands the user's library by adding new characters for messaging and social media, such as the &lt;em&gt;Distorted face&lt;/em&gt;, a fan favourite.&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%2Ffwm9uejc4sp28dva8qn4.jpg" 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%2Ffwm9uejc4sp28dva8qn4.jpg" alt=" " width="800" height="780"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  New Accessibility options
&lt;/h1&gt;

&lt;p&gt;. To users who have a strong visual effect, there is a new feature for them called "&lt;em&gt;Reduce Bright Effects&lt;/em&gt;." This reduces intense flashing when interacting with the keyboard.&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%2Felfdvthb7g4i5jm9fsgo.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%2Felfdvthb7g4i5jm9fsgo.png" alt=" " width="488" height="476"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  Carplay AI Integration
&lt;/h1&gt;

&lt;p&gt;. With Apple CarPlay, users can now use third-party apps such as &lt;em&gt;ChatGPT&lt;/em&gt; and &lt;em&gt;Gemini&lt;/em&gt; through voice command.&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%2Fdeubyzxohp2dcyzvusuo.webp" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdeubyzxohp2dcyzvusuo.webp" alt=" " width="800" height="800"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  Performance and Stability Improvements
&lt;/h1&gt;

&lt;p&gt;. Like all the previous updates, this is a general improvement that fixes bugs, provides smoother performance, "&lt;em&gt;Not laggy anymore&lt;/em&gt;."&lt;/p&gt;

&lt;h1&gt;
  
  
  Compatibility
&lt;/h1&gt;

&lt;p&gt;. IOS 26.4 is available on iPhone 11 series and later, plus iPhone SE (2nd generation).&lt;/p&gt;

&lt;h1&gt;
  
  
  Summary
&lt;/h1&gt;

&lt;p&gt;. Although iOS 26.4 may appear to be a minor update, it delivers meaningful improvements in performance, accessibility, and AI integration. For both everyday users and developers, it represents another step toward a more intelligent and optimized Apple ecosystem.&lt;/p&gt;

</description>
      <category>ios</category>
      <category>mobile</category>
      <category>programming</category>
    </item>
    <item>
      <title>Understanding Data Modeling in Power BI: Joins, Relationships, and Schemas Explained.</title>
      <dc:creator>Stephen Omengo</dc:creator>
      <pubDate>Tue, 07 Apr 2026 07:14:51 +0000</pubDate>
      <link>https://dev.to/stephenomengo/understanding-data-modeling-in-power-bi-joins-relationships-and-schemas-explained-1jpb</link>
      <guid>https://dev.to/stephenomengo/understanding-data-modeling-in-power-bi-joins-relationships-and-schemas-explained-1jpb</guid>
      <description>&lt;p&gt;Data modeling is a critical step in building effective Power BI reports. It shows how data is structured, connected, and used to generate understanding. A well-designed model improves performance and ensures accuracy, while a poor one can lead to slow dashboards and incorrect results.&lt;br&gt;
This article explains data modeling in &lt;em&gt;Power BI&lt;/em&gt;, covering &lt;em&gt;SQL&lt;/em&gt; &lt;em&gt;joins&lt;/em&gt;, &lt;em&gt;relationships&lt;/em&gt;, &lt;em&gt;schemas&lt;/em&gt;, and how to implement each step in practice.&lt;/p&gt;

&lt;h1&gt;
  
  
  Data Modeling
&lt;/h1&gt;

&lt;p&gt;Data modeling is the process of organizing data into tables and showing how those tables relate to one another. This happens after data is &lt;em&gt;imported and transformed&lt;/em&gt;.&lt;br&gt;
Purpose of data modelling: &lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Efficient calculations&lt;/li&gt;
&lt;li&gt;Structure of data &lt;/li&gt;
&lt;li&gt;improve efficiency and clarity&lt;/li&gt;
&lt;/ol&gt;

&lt;h1&gt;
  
  
  SQL joins
&lt;/h1&gt;

&lt;p&gt;What are &lt;em&gt;joins&lt;/em&gt;? They are used to combine rows from two or more tables based on a related column.&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%2Fn7mledi4x857duznz7uk.webp" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fn7mledi4x857duznz7uk.webp" alt=" " width="800" height="612"&gt;&lt;/a&gt;&lt;/p&gt;

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

&lt;p&gt;Returns only matching rows from both tables.&lt;/p&gt;

&lt;h1&gt;
  
  
  2.LEFT JOIN (LEFT OUTER)
&lt;/h1&gt;

&lt;p&gt;Returns all rows from the left table and matching rows from the right.&lt;/p&gt;

&lt;h1&gt;
  
  
  3.RIGHT JOIN (RIGHT OUTER)
&lt;/h1&gt;

&lt;p&gt;Returns all rows from the right table and matching rows from the left.&lt;/p&gt;

&lt;h1&gt;
  
  
  4.FULL OUTER JOIN
&lt;/h1&gt;

&lt;p&gt;Returns all rows from both tables.&lt;/p&gt;

&lt;h1&gt;
  
  
  6. LEFT ANTI JOIN
&lt;/h1&gt;

&lt;p&gt;Returns rows from the left table with no match in the right.&lt;/p&gt;

&lt;h1&gt;
  
  
  7.RIGHT ANTI JOIN
&lt;/h1&gt;

&lt;p&gt;Returns rows from the right table with no match in the left.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;How to Create Joins in Power BI&lt;/em&gt;&lt;br&gt;
.Open Power BI Desktop&lt;br&gt;
.Click Transform Data&lt;br&gt;
.Select a table&lt;br&gt;
.Click Merge Queries&lt;br&gt;
.Select the second table&lt;br&gt;
.Choose a matching column&lt;br&gt;
&lt;em&gt;Select join type&lt;/em&gt;:&lt;br&gt;
.Inner&lt;br&gt;
.Left Outer&lt;br&gt;
.Right Outer&lt;br&gt;
.Full Outer&lt;br&gt;
.Left Anti&lt;br&gt;
.Right Anti&lt;br&gt;
&lt;em&gt;Click OK&lt;/em&gt;&lt;br&gt;
.Expand merged columns&lt;/p&gt;

&lt;h1&gt;
  
  
  Relationships in Power BI
&lt;/h1&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%2Fakd8ncy8gsgx1zlntb8s.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%2Fakd8ncy8gsgx1zlntb8s.png" alt=" " width="724" height="442"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Type of relationships:&lt;br&gt;
1.One-to-Many (1) -Most common type.&lt;br&gt;
2.Many-to-Many (M) -Both tables contain duplicate values.&lt;br&gt;
3.One-to-One (1:1) -Each record matches exactly one record in another table.&lt;/p&gt;

&lt;h1&gt;
  
  
  Creating relationships in Power BI
&lt;/h1&gt;

&lt;p&gt;.Go to Home → Manage Relationships&lt;br&gt;
.Click New&lt;br&gt;
.Select tables and columns&lt;br&gt;
.Set cardinality and filter direction&lt;br&gt;
.Click OK&lt;/p&gt;

&lt;h1&gt;
  
  
  Conclusion
&lt;/h1&gt;

&lt;p&gt;Data modeling in Power BI is the foundation of effective reporting. Understanding joins, relationships, and schemas allows you to build models that are both efficient and reliable.&lt;/p&gt;

</description>
      <category>programming</category>
      <category>beginners</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>Guide to Publishing and Embedding Power BI Reports on the Web with IFrames</title>
      <dc:creator>Stephen Omengo</dc:creator>
      <pubDate>Tue, 07 Apr 2026 07:13:36 +0000</pubDate>
      <link>https://dev.to/stephenomengo/guide-to-publishing-and-embedding-power-bi-reports-on-the-web-with-iframes-376n</link>
      <guid>https://dev.to/stephenomengo/guide-to-publishing-and-embedding-power-bi-reports-on-the-web-with-iframes-376n</guid>
      <description>&lt;h2&gt;
  
  
  Introduction
&lt;/h2&gt;

&lt;p&gt;In today’s data-driven world, organizations rely heavily on tools that transform raw data into valuable insights. One of the most powerful solutions for this purpose is &lt;em&gt;Microsoft Power BI&lt;/em&gt;. It enables analysts and businesses to create interactive dashboards and reports that support informed decision-making. One of the most powerful tools for this purpose is Microsoft Power BI. It allows analysts and businesses to create interactive dashboards and reports to support decision-making.&lt;/p&gt;

&lt;p&gt;This article provides a step-by-step guide on how to :&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Create a Power BI workspace&lt;/li&gt;
&lt;li&gt;Upload and publish a report&lt;/li&gt;
&lt;li&gt;Generate an Embed code&lt;/li&gt;
&lt;li&gt;Embed the report into a website using an iframe&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%2F8zv0jazlc09bgla4w2gs.jpg" 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%2F8zv0jazlc09bgla4w2gs.jpg" alt=" " width="315" height="160"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;What is &lt;em&gt;Power BI&lt;/em&gt;? This is a business analytics tool developed by Microsoft that enables users to transform, clean data, build interactive visualizations, and connect to multiple data sources*Excel*.&lt;/p&gt;

&lt;p&gt;What is &lt;em&gt;Power BI Publishing&lt;/em&gt;? Publishing a Power BI report involves moving your report from Power BI Desktop to the Power BI Service &lt;em&gt;cloud platform&lt;/em&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Prerequisites
&lt;/h2&gt;

&lt;p&gt;Key things to consider before you start:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Power BI Desktop installed&lt;/li&gt;
&lt;li&gt;A Power BI account&lt;/li&gt;
&lt;li&gt;A complete report &lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Step 1: Create a Workspace in Power BI Service
&lt;/h2&gt;

&lt;p&gt;A workspace is a shared environment where you store datasets, reports, and dashboards.&lt;/p&gt;

&lt;h2&gt;
  
  
  Tutorial
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Go to Power BI Service: &lt;a href="https://app.powerbi.com" rel="noopener noreferrer"&gt;https://app.powerbi.com&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Log in using your account&lt;/li&gt;
&lt;li&gt;On the left sidebar, click &lt;em&gt;Workspaces&lt;/em&gt;
&lt;/li&gt;
&lt;li&gt;Click + &lt;em&gt;New workspace&lt;/em&gt;
&lt;/li&gt;
&lt;li&gt;Enter:
.&lt;em&gt;Workspace name&lt;/em&gt; 
.&lt;em&gt;Description&lt;/em&gt; &lt;/li&gt;
&lt;li&gt;Click Save&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%2Fcckmoo9qhiy11kpec0hy.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%2Fcckmoo9qhiy11kpec0hy.png" alt=" " width="221" height="229"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 2: Prepare Your Report
&lt;/h2&gt;

&lt;p&gt;You should make sure that your report is: Clean and well-structured, has meaningful visuals, uses proper relationships, and DAX measures.&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%2Fiw3afau0x8786c2een4k.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%2Fiw3afau0x8786c2een4k.png" alt=" " width="799" height="454"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 3: Publish the Report to Power BI Service
&lt;/h2&gt;

&lt;h2&gt;
  
  
  Tutorial
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Open your report in Power BI &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%2Fger6m4djib07t7gxgbdl.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%2Fger6m4djib07t7gxgbdl.png" alt=" " width="800" height="125"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;em&gt;Click File&lt;/em&gt; → &lt;em&gt;Publish&lt;/em&gt; → &lt;em&gt;Publish to Power BI&lt;/em&gt;
&lt;/li&gt;
&lt;li&gt;Sign in if prompted&lt;/li&gt;
&lt;li&gt;Select your workspace &lt;em&gt;created earlier&lt;/em&gt;
&lt;/li&gt;
&lt;li&gt;Click Select&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%2Fp2ix9mkp7swg5r8ocnj7.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%2Fp2ix9mkp7swg5r8ocnj7.png" alt=" " width="565" height="373"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Once uploaded, you’ll see a confirmation message.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 4: Verify the Report in Power BI Service
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Head back to Power BI Service&lt;/li&gt;
&lt;li&gt;Open your &lt;em&gt;workspace&lt;/em&gt;
&lt;/li&gt;
&lt;li&gt;Locate your report under Reports&lt;/li&gt;
&lt;li&gt;Click to open and confirm everything is working&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%2Fdlp1vumrs55bhyoesbz7.webp" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdlp1vumrs55bhyoesbz7.webp" alt=" " width="800" height="316"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 5: Generate the Embed Code
&lt;/h2&gt;

&lt;p&gt;Power BI allows you to embed reports using &lt;em&gt;Publish to Web or secure embedding&lt;/em&gt;.&lt;br&gt;
Note: &lt;em&gt;Publishing to the web&lt;/em&gt; makes it easily accessible, and anyone with the link can view it.&lt;/p&gt;

&lt;h2&gt;
  
  
  Tutorial
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Open your report in Power BI Service&lt;/li&gt;
&lt;li&gt;
&lt;em&gt;Click File → Embed report → Publish to web&lt;/em&gt; &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%2Fger6m4djib07t7gxgbdl.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%2Fger6m4djib07t7gxgbdl.png" alt=" " width="800" height="125"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Click Create embed code&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%2Fhnx1iusasrcadxi2plw2.webp" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhnx1iusasrcadxi2plw2.webp" alt=" " width="557" height="394"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Confirm the warning&lt;/li&gt;
&lt;li&gt;Copy the generated iframe code&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Step 6: Understanding the IFrame Code
&lt;/h2&gt;

&lt;p&gt;The embed code will look like this:&lt;br&gt;
&lt;code&gt;&amp;lt;iframe width="800" height="600" src="https://app.powerbi.com/view?r=..." frameborder="0" allowFullScreen="true"&amp;gt;&amp;lt;/iframe&amp;gt;&lt;/code&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%2Fh7nuaw7468b1kx86tbsd.webp" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fh7nuaw7468b1kx86tbsd.webp" alt=" " width="551" height="392"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Key Attributes&lt;/em&gt;: &lt;br&gt;
.Width &amp;amp; height: Control size&lt;br&gt;
.Src: Contains report URL&lt;br&gt;
.Frameborder: Removes border&lt;br&gt;
.AllowFullScreen: Enables full-screen mode&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 7: Embed the Report into a Website
&lt;/h2&gt;

&lt;p&gt;.You can embed this iframe into:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;HTML websites&lt;/li&gt;
&lt;li&gt;Blogs (Dev.to, Medium)&lt;/li&gt;
&lt;li&gt;Web apps&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Step 8: Test Your Embedded Report
&lt;/h2&gt;

&lt;p&gt;After embedding:&lt;br&gt;
.Open your website in a browser&lt;br&gt;
. Check: Report loads correctly, Filters and visuals work, and Responsiveness.&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%2Fjchtkxzkasppgn1bz51a.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%2Fjchtkxzkasppgn1bz51a.png" alt=" " width="800" height="471"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  conclusion
&lt;/h2&gt;

&lt;p&gt;Publishing and embedding Power BI reports is an essential skill for any data analyst. It allows you to transform your work into a shareable and interactive experience accessible from anywhere.&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>productivity</category>
    </item>
  </channel>
</rss>
