<?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: Abdi Yussuf</title>
    <description>The latest articles on DEV Community by Abdi Yussuf (@abdiwahab).</description>
    <link>https://dev.to/abdiwahab</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3841739%2F46ef6260-ed9c-42fe-9a0d-a631d356b62e.jpeg</url>
      <title>DEV Community: Abdi Yussuf</title>
      <link>https://dev.to/abdiwahab</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/abdiwahab"/>
    <language>en</language>
    <item>
      <title>SQL Deep Dive: Subqueries vs. CTEs — Which One Should You Use?</title>
      <dc:creator>Abdi Yussuf</dc:creator>
      <pubDate>Sun, 19 Apr 2026 22:37:29 +0000</pubDate>
      <link>https://dev.to/abdiwahab/sql-deep-dive-subqueries-vs-ctes-which-one-should-you-use-51hb</link>
      <guid>https://dev.to/abdiwahab/sql-deep-dive-subqueries-vs-ctes-which-one-should-you-use-51hb</guid>
      <description>&lt;p&gt;When your data questions get harder, you need to perform calculations &lt;em&gt;before&lt;/em&gt; you perform your final &lt;code&gt;SELECT&lt;/code&gt;. This is where &lt;strong&gt;Subqueries&lt;/strong&gt; and &lt;strong&gt;Common Table Expressions (CTEs)&lt;/strong&gt; come in.&lt;/p&gt;




&lt;h2&gt;
  
  
  1. What is a Subquery?
&lt;/h2&gt;

&lt;p&gt;A subquery is a &lt;strong&gt;query nested inside another query&lt;/strong&gt;. It acts as a temporary result set that the outer query uses to filter or calculate data.&lt;/p&gt;




&lt;h3&gt;
  
  
  The 4 Types of Subqueries
&lt;/h3&gt;

&lt;h4&gt;
  
  
  A. Scalar Subquery
&lt;/h4&gt;

&lt;p&gt;Returns exactly &lt;strong&gt;one value&lt;/strong&gt; (one row and one column).&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Use Case:&lt;/strong&gt; When you need a single number, like an average or a maximum, to compare against other rows.
&lt;/li&gt;
&lt;/ul&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;first_name&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;mark&lt;/span&gt;
&lt;span class="k"&gt;FROM&lt;/span&gt; &lt;span class="n"&gt;exam_results&lt;/span&gt;
&lt;span class="k"&gt;WHERE&lt;/span&gt; &lt;span class="n"&gt;mark&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;mark&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;exam_results&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h4&gt;
  
  
  B. Multi-Row Subquery
&lt;/h4&gt;

&lt;p&gt;Returns &lt;strong&gt;multiple rows but only one column&lt;/strong&gt;. Usually used with &lt;code&gt;IN&lt;/code&gt;, &lt;code&gt;ANY&lt;/code&gt;, or &lt;code&gt;ALL&lt;/code&gt;.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Use Case:&lt;/strong&gt; To filter results based on a list of IDs from another table.
&lt;/li&gt;
&lt;/ul&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;first_name&lt;/span&gt;
&lt;span class="k"&gt;FROM&lt;/span&gt; &lt;span class="n"&gt;students&lt;/span&gt;
&lt;span class="k"&gt;WHERE&lt;/span&gt; &lt;span class="n"&gt;student_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;student_id&lt;/span&gt; 
    &lt;span class="k"&gt;FROM&lt;/span&gt; &lt;span class="n"&gt;exam_results&lt;/span&gt; 
    &lt;span class="k"&gt;WHERE&lt;/span&gt; &lt;span class="n"&gt;mark&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt; &lt;span class="mi"&gt;40&lt;/span&gt;
&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h4&gt;
  
  
  C. Correlated Subquery
&lt;/h4&gt;

&lt;p&gt;A subquery that &lt;strong&gt;references a column from the outer query&lt;/strong&gt;. It runs once for every row the outer query processes.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Use Case:&lt;/strong&gt; When the inner calculation depends on the specific row being looked at (e.g., comparing a student's mark to &lt;em&gt;their&lt;/em&gt; class average, not the global average).
&lt;/li&gt;
&lt;/ul&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;student_id&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;mark&lt;/span&gt;
&lt;span class="k"&gt;FROM&lt;/span&gt; &lt;span class="n"&gt;exam_results&lt;/span&gt; &lt;span class="n"&gt;e1&lt;/span&gt;
&lt;span class="k"&gt;WHERE&lt;/span&gt; &lt;span class="n"&gt;mark&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;mark&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;exam_results&lt;/span&gt; &lt;span class="n"&gt;e2&lt;/span&gt;
    &lt;span class="k"&gt;WHERE&lt;/span&gt; &lt;span class="n"&gt;e1&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;class_id&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;e2&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;class_id&lt;/span&gt;
&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h4&gt;
  
  
  D. Table Subquery (Derived Table)
&lt;/h4&gt;

&lt;p&gt;Returns &lt;strong&gt;multiple rows and multiple columns&lt;/strong&gt;. It is used in the &lt;code&gt;FROM&lt;/code&gt; clause like a temporary table.&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="k"&gt;AVG&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="k"&gt;temp&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;total_marks&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="k"&gt;FROM&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;student_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;mark&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_marks&lt;/span&gt;
    &lt;span class="k"&gt;FROM&lt;/span&gt; &lt;span class="n"&gt;exam_results&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;student_id&lt;/span&gt;
&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="k"&gt;AS&lt;/span&gt; &lt;span class="k"&gt;temp&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  2. What are CTEs (Common Table Expressions)?
&lt;/h2&gt;

&lt;p&gt;A CTE is a &lt;strong&gt;temporary result set defined before your main query&lt;/strong&gt; using the &lt;code&gt;WITH&lt;/code&gt; keyword. Think of it like creating a "virtual table" that exists only for that query.&lt;/p&gt;




&lt;h3&gt;
  
  
  Types &amp;amp; Use Cases
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Standard CTE:&lt;/strong&gt; Best for breaking down long, "spaghetti" code into readable steps
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Recursive CTE:&lt;/strong&gt; Used for hierarchical data, like an organization chart or a category tree
&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  Example of a Standard CTE
&lt;/h3&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;HighAchievers&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;student_id&lt;/span&gt;&lt;span class="p"&gt;,&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;mark&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_score&lt;/span&gt;
    &lt;span class="k"&gt;FROM&lt;/span&gt; &lt;span class="n"&gt;exam_results&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;student_id&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;s&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;first_name&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;ha&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;avg_score&lt;/span&gt;
&lt;span class="k"&gt;FROM&lt;/span&gt; &lt;span class="n"&gt;students&lt;/span&gt; &lt;span class="n"&gt;s&lt;/span&gt;
&lt;span class="k"&gt;JOIN&lt;/span&gt; &lt;span class="n"&gt;HighAchievers&lt;/span&gt; &lt;span class="n"&gt;ha&lt;/span&gt; 
    &lt;span class="k"&gt;ON&lt;/span&gt; &lt;span class="n"&gt;s&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;student_id&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;ha&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;student_id&lt;/span&gt;
&lt;span class="k"&gt;WHERE&lt;/span&gt; &lt;span class="n"&gt;ha&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;avg_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;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  3. Subqueries vs. CTEs: The Comparison
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Feature&lt;/th&gt;
&lt;th&gt;Subqueries&lt;/th&gt;
&lt;th&gt;CTEs&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Readability&lt;/td&gt;
&lt;td&gt;Becomes hard to read when deeply nested&lt;/td&gt;
&lt;td&gt;Very clean; reads top-to-bottom like a story&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Performance&lt;/td&gt;
&lt;td&gt;Great for simple, scalar lookups&lt;/td&gt;
&lt;td&gt;Modern optimizers treat them similar to subqueries&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Reusability&lt;/td&gt;
&lt;td&gt;Must be rewritten if used multiple times&lt;/td&gt;
&lt;td&gt;Can be referenced multiple times in one query&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Recursion&lt;/td&gt;
&lt;td&gt;Not supported&lt;/td&gt;
&lt;td&gt;Supported (Recursive CTEs)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;




&lt;h2&gt;
  
  
  When to Use Which?
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Use a &lt;strong&gt;Subquery&lt;/strong&gt; for very simple, one-off logic inside a &lt;code&gt;WHERE&lt;/code&gt; clause
&lt;/li&gt;
&lt;li&gt;Use a &lt;strong&gt;CTE&lt;/strong&gt; for everything else. If your query has more than one join or involves multiple steps of logic, a CTE will make your life (and your teammates' lives) much easier
&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;While both tools allow you to perform complex logic, &lt;strong&gt;CTEs are the winner for modern SQL development&lt;/strong&gt; due to their organization and readability.&lt;/p&gt;

&lt;p&gt;Next time you find yourself nesting a query inside another, try rewriting it as a CTE!&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>database</category>
      <category>sql</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>Stop Collapsing Your Data: Why Window Functions Are a Game Changer</title>
      <dc:creator>Abdi Yussuf</dc:creator>
      <pubDate>Sun, 19 Apr 2026 22:02:54 +0000</pubDate>
      <link>https://dev.to/abdiwahab/stop-collapsing-your-data-why-window-functions-are-a-game-changer-55ij</link>
      <guid>https://dev.to/abdiwahab/stop-collapsing-your-data-why-window-functions-are-a-game-changer-55ij</guid>
      <description>&lt;p&gt;If you've been learning SQL for a few weeks, you're probably comfortable with &lt;code&gt;GROUP BY&lt;/code&gt;. It's the &lt;em&gt;bread and butter&lt;/em&gt; of data analysis. But have you ever noticed that the moment you use it, your individual rows disappear?&lt;/p&gt;

&lt;p&gt;Today, we're going to talk about &lt;strong&gt;Window Functions&lt;/strong&gt; — the secret weapon that lets you keep your data &lt;em&gt;and&lt;/em&gt; calculate it, too.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Problem with &lt;code&gt;GROUP BY&lt;/code&gt;
&lt;/h2&gt;

&lt;p&gt;Imagine you have a table of student exam marks. Your boss asks for a report showing each student's ID, their mark, and the &lt;strong&gt;class average&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;If you use &lt;code&gt;GROUP BY class&lt;/code&gt;, SQL collapses all those individual exam rows into one single row per class. You get the average, but you lose the student IDs and the individual marks.&lt;/p&gt;

&lt;p&gt;To get both, you'd have to write a messy subquery or a complex join.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Solution: The &lt;code&gt;OVER()&lt;/code&gt; Clause
&lt;/h2&gt;

&lt;p&gt;Window functions (using the &lt;code&gt;OVER&lt;/code&gt; clause) perform a calculation across a set of rows, but unlike &lt;code&gt;GROUP BY&lt;/code&gt;, they &lt;strong&gt;do not collapse the rows&lt;/strong&gt;. Every record remains visible.&lt;/p&gt;




&lt;h2&gt;
  
  
  1. The "Magic" Average
&lt;/h2&gt;

&lt;p&gt;Instead of grouping, we use &lt;code&gt;PARTITION BY&lt;/code&gt;. Think of this as &lt;em&gt;"grouping without the shrinking."&lt;/em&gt;&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;student_id&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;mark&lt;/span&gt;&lt;span class="p"&gt;,&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;mark&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="n"&gt;OVER&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="k"&gt;PARTITION&lt;/span&gt; &lt;span class="k"&gt;BY&lt;/span&gt; &lt;span class="k"&gt;class&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;class_avg&lt;/span&gt;
&lt;span class="k"&gt;FROM&lt;/span&gt; &lt;span class="n"&gt;exam_results&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Result:&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
You see Student A, their score of 85, and the class average of 78 right next to it. No data was hidden.&lt;/p&gt;


&lt;h2&gt;
  
  
  2. Ranking Without Gaps
&lt;/h2&gt;

&lt;p&gt;Have you ever tried to rank students using just &lt;code&gt;ORDER BY&lt;/code&gt;? It's hard to handle ties. Window functions like &lt;code&gt;RANK()&lt;/code&gt; and &lt;code&gt;DENSE_RANK()&lt;/code&gt; handle this automatically.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;RANK()&lt;/code&gt; → If two people tie for 1st, the next person is 3rd &lt;em&gt;(it leaves a gap)&lt;/em&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;DENSE_RANK()&lt;/code&gt; → If two people tie for 1st, the next person is 2nd &lt;em&gt;(no gaps)&lt;/em&gt;
&lt;/li&gt;
&lt;/ul&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;student_id&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;mark&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;DENSE_RANK&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="n"&gt;OVER&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="k"&gt;ORDER&lt;/span&gt; &lt;span class="k"&gt;BY&lt;/span&gt; &lt;span class="n"&gt;mark&lt;/span&gt; &lt;span class="k"&gt;DESC&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="k"&gt;AS&lt;/span&gt; &lt;span class="k"&gt;position&lt;/span&gt;
&lt;span class="k"&gt;FROM&lt;/span&gt; &lt;span class="n"&gt;exam_results&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  3. Looking Back with &lt;code&gt;LAG()&lt;/code&gt;
&lt;/h2&gt;

&lt;p&gt;One of the coolest things you can do is compare a row to the one above it. This is perfect for seeing if a student improved since their last exam.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;LAG(mark)&lt;/code&gt; reaches back to the previous record for that specific student and pulls the value forward.&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;student_id&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;mark&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;LAG&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;mark&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="n"&gt;OVER&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="k"&gt;PARTITION&lt;/span&gt; &lt;span class="k"&gt;BY&lt;/span&gt; &lt;span class="n"&gt;student_id&lt;/span&gt; &lt;span class="k"&gt;ORDER&lt;/span&gt; &lt;span class="k"&gt;BY&lt;/span&gt; &lt;span class="n"&gt;exam_date&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;previous_mark&lt;/span&gt;
&lt;span class="k"&gt;FROM&lt;/span&gt; &lt;span class="n"&gt;exam_results&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  Summary
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Use &lt;code&gt;GROUP BY&lt;/code&gt; when you only need the high-level summary&lt;br&gt;&lt;br&gt;
&lt;em&gt;(e.g., "What was the total revenue?")&lt;/em&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Use &lt;strong&gt;Window Functions&lt;/strong&gt; when you need to compare individual rows against a total or a previous value&lt;br&gt;&lt;br&gt;
&lt;em&gt;(e.g., "How does this student compare to the average?")&lt;/em&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;Once you start using &lt;code&gt;OVER()&lt;/code&gt;, you'll realize that SQL isn't just about fetching data — it's about &lt;strong&gt;telling a story with it&lt;/strong&gt;.&lt;/p&gt;

</description>
      <category>sql</category>
      <category>data</category>
      <category>analytics</category>
      <category>analyst</category>
    </item>
    <item>
      <title>A Comprehensive Guide to Publishing and Embedding Power BI Reports on the Web with IFrames</title>
      <dc:creator>Abdi Yussuf</dc:creator>
      <pubDate>Fri, 10 Apr 2026 15:41:02 +0000</pubDate>
      <link>https://dev.to/abdiwahab/a-comprehensive-guide-to-publishing-and-embedding-power-bi-reports-on-the-web-with-iframes-ek7</link>
      <guid>https://dev.to/abdiwahab/a-comprehensive-guide-to-publishing-and-embedding-power-bi-reports-on-the-web-with-iframes-ek7</guid>
      <description>&lt;h2&gt;
  
  
  A Comprehensive Guide to Publishing and Embedding Power BI Reports on the Web with IFrames
&lt;/h2&gt;

&lt;p&gt;In today’s data-driven world, organizations rely heavily on tools that transform raw data into meaningful insights. &lt;strong&gt;Power BI&lt;/strong&gt;, developed by Microsoft, is one of the most powerful business intelligence tools for data visualization and reporting.&lt;/p&gt;

&lt;p&gt;After building dashboards in Power BI Desktop, the next step is sharing them. In this guide, you’ll learn how to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Publish a Power BI report
&lt;/li&gt;
&lt;li&gt;Generate an embed code
&lt;/li&gt;
&lt;li&gt;Embed it into a website using an iframe
&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  What is Power BI Publishing?
&lt;/h2&gt;

&lt;p&gt;Publishing means uploading your &lt;code&gt;.pbix&lt;/code&gt; report from Power BI Desktop to the &lt;strong&gt;Power BI Service (cloud platform)&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Once published, your report can be:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Shared online
&lt;/li&gt;
&lt;li&gt;Embedded into websites
&lt;/li&gt;
&lt;li&gt;Accessed from anywhere
&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  🔹 Step 1: Create a Workspace
&lt;/h2&gt;

&lt;p&gt;A workspace is where your reports and datasets live in Power BI Service.&lt;/p&gt;

&lt;h2&gt;
  
  
  Steps:
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Go to  &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
&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Workspaces → New workspace&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Add a name and description
&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Save&lt;/strong&gt;
&lt;/li&gt;
&lt;/ol&gt;




&lt;h2&gt;
  
  
  Screenshot: Creating Workspace
&lt;/h2&gt;

&lt;h2&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%2Fdlif0jejkn2g4xnvc0mi.png" alt="Create Workspace" width="800" height="393"&gt;
&lt;/h2&gt;

&lt;h2&gt;
  
  
  🔹 Step 2: Publish Your Report
&lt;/h2&gt;

&lt;h2&gt;
  
  
  Steps:
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Open your report in &lt;strong&gt;Power BI Desktop&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Home → Publish&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Sign in
&lt;/li&gt;
&lt;li&gt;Select your workspace
&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Select&lt;/strong&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;✔ You’ll see: &lt;em&gt;“Successfully published”&lt;/em&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Screenshot: Publishing Report
&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%2Fdvusp8hskg1wvdhr2sko.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%2Fdvusp8hskg1wvdhr2sko.png" alt="Publishing Report" width="800" height="389"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  🔹 Step 3: Access Report in Power BI Service
&lt;/h2&gt;

&lt;h2&gt;
  
  
  Steps:
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Go to Power BI Service
&lt;/li&gt;
&lt;li&gt;Open your workspace
&lt;/li&gt;
&lt;li&gt;Click your report
&lt;/li&gt;
&lt;/ol&gt;




&lt;h2&gt;
  
  
  Screenshot: Report in Service
&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%2Fvlz5nrlnw9ugtg9f1iwo.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%2Fvlz5nrlnw9ugtg9f1iwo.png" alt="Report in Service" width="800" height="399"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  🔹 Step 4: Generate Embed Code
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Important:&lt;/strong&gt; This method makes your report public.&lt;/p&gt;

&lt;h2&gt;
  
  
  Steps:
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Open your report
&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;File → Embed → Publish to web&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Create embed code&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Confirm
&lt;/li&gt;
&lt;li&gt;Copy iframe code
&lt;/li&gt;
&lt;/ol&gt;




&lt;h2&gt;
  
  
  Screenshot: Generate Embed Code
&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%2F6ps0439d65fdc77fpy1k.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%2F6ps0439d65fdc77fpy1k.png" alt="Generating embed code" width="800" height="518"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Example IFrame Code
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;iframe&lt;/span&gt; 
    &lt;span class="na"&gt;width=&lt;/span&gt;&lt;span class="s"&gt;"800"&lt;/span&gt; 
    &lt;span class="na"&gt;height=&lt;/span&gt;&lt;span class="s"&gt;"600"&lt;/span&gt; 
    &lt;span class="na"&gt;src=&lt;/span&gt;&lt;span class="s"&gt;"https://app.powerbi.com/view?r=YOUR_REPORT_ID"&lt;/span&gt; 
    &lt;span class="na"&gt;frameborder=&lt;/span&gt;&lt;span class="s"&gt;"0"&lt;/span&gt; 
    &lt;span class="na"&gt;allowFullScreen=&lt;/span&gt;&lt;span class="s"&gt;"true"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/iframe&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  Step 5: Embed in a Website
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Example
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;!DOCTYPE html&amp;gt;
&amp;lt;html&amp;gt;
&amp;lt;head&amp;gt;
    &amp;lt;title&amp;gt;Power BI Report&amp;lt;/title&amp;gt;
&amp;lt;/head&amp;gt;
&amp;lt;body&amp;gt;

    &amp;lt;h2&amp;gt;Sales Dashboard&amp;lt;/h2&amp;gt;

    &amp;lt;iframe 
        width="100%" 
        height="600" 
        src="https://app.powerbi.com/view?r=YOUR_REPORT_ID"
        frameborder="0"
        allowFullScreen="true"&amp;gt;
    &amp;lt;/iframe&amp;gt;

&amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Explanation
&lt;/h2&gt;

&lt;p&gt;The iframe allows your Power BI report to appear inside your website. Users can interact with filters, charts, and visuals directly.&lt;/p&gt;




&lt;h2&gt;
  
  
  Understanding IFrames
&lt;/h2&gt;

&lt;p&gt;An &lt;strong&gt;iframe (inline frame)&lt;/strong&gt; is an HTML element used to embed another webpage inside your webpage.&lt;/p&gt;

&lt;h2&gt;
  
  
  Benefits:
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Easy to use&lt;/li&gt;
&lt;li&gt;No backend required&lt;/li&gt;
&lt;li&gt;Fully interactive&lt;/li&gt;
&lt;li&gt;Works on any website&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Secure Alternatives
&lt;/h2&gt;

&lt;p&gt;Avoid &lt;strong&gt;Publish to Web&lt;/strong&gt; for sensitive data.&lt;/p&gt;

&lt;h2&gt;
  
  
  🔹 Use instead:
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Power BI Embedded (Azure)&lt;/li&gt;
&lt;li&gt;Secure Embed&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Limitations of Publish to Web
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Public access&lt;/li&gt;
&lt;li&gt;No authentication&lt;/li&gt;
&lt;li&gt;Not suitable for confidential data&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Best Practices
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Use &lt;code&gt;width="100%"&lt;/code&gt; for responsiveness&lt;/li&gt;
&lt;li&gt;Keep height between 500–800px&lt;/li&gt;
&lt;li&gt;Optimize your report before publishing&lt;/li&gt;
&lt;li&gt;Add slicers for better interactivity&lt;/li&gt;
&lt;li&gt;Use clear titles and labels&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Real-World Use Cases
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Portfolio projects&lt;/li&gt;
&lt;li&gt;Business dashboards&lt;/li&gt;
&lt;li&gt;Data storytelling&lt;/li&gt;
&lt;li&gt;Reporting platforms&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Key Insights
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Publishing connects Power BI Desktop to the cloud&lt;/li&gt;
&lt;li&gt;Workspaces help organize reports&lt;/li&gt;
&lt;li&gt;IFrames simplify embedding&lt;/li&gt;
&lt;li&gt;Best suited for public dashboards&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;Publishing and embedding Power BI reports is a crucial skill for modern data analysts. It allows you to transform your work into an &lt;strong&gt;interactive, shareable product&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;By following this guide, you can:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Publish reports&lt;/li&gt;
&lt;li&gt;Generate embed codes&lt;/li&gt;
&lt;li&gt;Embed dashboards into websites&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This makes your project not just an analysis, but a &lt;strong&gt;complete solution ready for real-world use&lt;/strong&gt;.&lt;/p&gt;




</description>
      <category>powebi</category>
      <category>datavisualization</category>
      <category>webdev</category>
      <category>analytics</category>
    </item>
    <item>
      <title>How Excel is Used in Real-World Data Analysis</title>
      <dc:creator>Abdi Yussuf</dc:creator>
      <pubDate>Tue, 24 Mar 2026 18:33:58 +0000</pubDate>
      <link>https://dev.to/abdiwahab/how-excel-is-used-in-real-world-data-analysis-2kf6</link>
      <guid>https://dev.to/abdiwahab/how-excel-is-used-in-real-world-data-analysis-2kf6</guid>
      <description>&lt;h1&gt;
  
  
  Introduction
&lt;/h1&gt;

&lt;p&gt;When I first started learning Excel, I thought it was just a simple tool for typing numbers and doing basic calculations. But as I progressed to an intermediate level, I realized that Excel is actually a powerful tool used in real-world data analysis. Today, many organizations rely on Excel to make decisions, track performance, and understand data better.&lt;/p&gt;

&lt;p&gt;In this article, I’ll explain what Excel is, how it is used in real life, and share some examples of features and formulas I’ve learned along the way.&lt;/p&gt;

&lt;h2&gt;
  
  
  What is Excel?
&lt;/h2&gt;

&lt;p&gt;Microsoft Excel is a spreadsheet application that allows users to organize data into rows and columns. It also provides tools for performing calculations, analyzing information, and creating charts.&lt;/p&gt;

&lt;p&gt;The best part about Excel is that it is easy to start with, but it becomes more powerful as you learn advanced features.&lt;/p&gt;

&lt;h2&gt;
  
  
  How Excel is Used in Real-World Scenarios
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Business and Finance&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;In businesses, Excel is used to track income, expenses, and budgets. For example, a company can record daily sales and calculate total revenue at the end of the month. This helps managers make better financial decisions.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Data Cleaning and Organization&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;In real life, data is often messy. Excel helps clean data using tools like:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Remove duplicates&lt;/li&gt;
&lt;li&gt;Sorting&lt;/li&gt;
&lt;li&gt;Filtering&lt;/li&gt;
&lt;/ul&gt;

&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Data Analysis and Reporting&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Excel helps analyze data and generate reports. For example, a company can analyze sales data to identify which products are performing well.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Education and Research&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Students and researchers use Excel to analyze survey results, calculate averages, and present findings clearly.&lt;br&gt;
Features and Formulas I Have Learned&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;IF Function&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The IF function helps make decisions in Excel.&lt;/p&gt;

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

&lt;p&gt;=IF((B2&amp;gt;50) + (C2&amp;gt;50), "Pass", "Fail")&lt;/p&gt;

&lt;p&gt;This formula checks if a student scored more than 50.&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%2Flx6tw9e1vzokhddlowmz.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%2Flx6tw9e1vzokhddlowmz.png" alt=" " width="361" height="260"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;VLOOKUP&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;VLOOKUP is used to find data from a table.&lt;/p&gt;

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

&lt;p&gt;=VLOOKUP(A2, A2:D4, 4, FALSE)&lt;/p&gt;

&lt;p&gt;This helps retrieve information like employee department's using his/her ID.&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%2Fdemi87kt4kdgsd3orboy.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%2Fdemi87kt4kdgsd3orboy.png" alt=" " width="593" height="270"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Pivot Tables&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Pivot tables summarize large datasets quickly.&lt;/p&gt;

&lt;p&gt;For example, I can use a pivot table to calculate sum of salary by department.&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%2F2lveihqpmlf8a5u9kq3t.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%2F2lveihqpmlf8a5u9kq3t.png" alt=" " width="339" height="354"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Charts and Visualization&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Charts make it easier to understand data visually.&lt;/p&gt;

&lt;p&gt;Some charts I’ve learned include:&lt;/p&gt;

&lt;p&gt;Bar charts&lt;br&gt;
Pie charts&lt;br&gt;
Line graphs&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%2Ft1uvczxwtstyvzwnfvjk.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%2Ft1uvczxwtstyvzwnfvjk.png" alt=" " width="631" height="480"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Sorting and Filtering&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;These features help focus on specific data.&lt;/p&gt;

&lt;p&gt;Sorting arranges data (e.g., highest to lowest)&lt;br&gt;
Filtering shows only selected 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.amazonaws.com%2Fuploads%2Farticles%2Fn3sj7ycjkvlz17y249d6.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%2Fn3sj7ycjkvlz17y249d6.png" alt=" " width="800" height="582"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Practical Example&lt;/p&gt;

&lt;p&gt;Let’s say I am working with sales data in Excel:&lt;/p&gt;

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

&lt;p&gt;I clean it by removing duplicates&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%2Ftjwbm2gcz1qmv07oyug2.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%2Ftjwbm2gcz1qmv07oyug2.png" alt=" " width="800" height="522"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I create a pivot table to summarize sales&lt;br&gt;
I use charts to visualize trends&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%2F8he3wfj27ae5ns58i342.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%2F8he3wfj27ae5ns58i342.png" alt=" " width="800" height="401"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Personal Reflection&lt;/p&gt;

&lt;p&gt;Learning Excel has really changed how I see data. Before, I used to look at numbers and feel confused. Now, I can organize data, analyze it, and actually understand what it means.&lt;/p&gt;

&lt;p&gt;I’ve learned that data is not just numbers—it tells a story. Excel helps me find that story. It has also given me confidence, especially as I’m interested in moving into a more technical and data-focused career.&lt;/p&gt;

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

&lt;p&gt;Excel is an important tool in today’s world. It is used in business, education, and many other fields to analyze and understand data.&lt;/p&gt;

&lt;p&gt;As a student, learning Excel has been a valuable experience for me, and I look forward to learning more advanced tools in data analysis.&lt;/p&gt;

</description>
      <category>tutorial</category>
      <category>automation</category>
      <category>learning</category>
      <category>data</category>
    </item>
  </channel>
</rss>
