<?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>Forem: melody mulei</title>
    <description>The latest articles on Forem by melody mulei (@melody_mulei).</description>
    <link>https://forem.com/melody_mulei</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%2F3846332%2F5eef5ce2-2fa6-46dd-963b-31d2ced359c2.png</url>
      <title>Forem: melody mulei</title>
      <link>https://forem.com/melody_mulei</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/melody_mulei"/>
    <language>en</language>
    <item>
      <title>Mastering the SQL Analytical Toolkit</title>
      <dc:creator>melody mulei</dc:creator>
      <pubDate>Mon, 20 Apr 2026 06:20:35 +0000</pubDate>
      <link>https://forem.com/melody_mulei/mastering-the-sql-analytical-toolkit-2c3g</link>
      <guid>https://forem.com/melody_mulei/mastering-the-sql-analytical-toolkit-2c3g</guid>
      <description>&lt;p&gt;As a budding data professional, I recently completed an intensive &lt;strong&gt;SQL Week 2 Assignment&lt;/strong&gt; that pushed me from basic queries into more powerful territory. I worked with two real-world databases — &lt;code&gt;nairobi_academy&lt;/code&gt; (school management) and &lt;code&gt;city_hospital&lt;/code&gt; (healthcare appointments).&lt;/p&gt;

&lt;p&gt;In this article, I’ll walk you through the key concepts I practiced, share practical queries, and explain &lt;strong&gt;why&lt;/strong&gt; these skills matter in real jobs.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why This Matters
&lt;/h2&gt;

&lt;p&gt;Modern data roles don’t just require &lt;code&gt;SELECT * FROM table&lt;/code&gt;. You need to clean data, combine multiple tables, analyze trends over time, and create meaningful rankings. This assignment covered exactly those real-world skills:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;String &amp;amp; Number Functions&lt;/strong&gt; → Data cleaning &amp;amp; formatting&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Date &amp;amp; Time Functions&lt;/strong&gt; → Temporal analysis&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;JOINS&lt;/strong&gt; → Connecting related data&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Window Functions&lt;/strong&gt; → Advanced analytics without losing row-level detail&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;SET Operators&lt;/strong&gt; → Combining results from multiple queries&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Part 1: String Functions – Making Data Look Professional
&lt;/h2&gt;

&lt;p&gt;String functions help clean and present data nicely.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Example Query (Uppercase + Lowercase + CONCAT):&lt;/strong&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="k"&gt;UPPER&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;first_name&lt;/span&gt; &lt;span class="o"&gt;||&lt;/span&gt; &lt;span class="s1"&gt;' '&lt;/span&gt; &lt;span class="o"&gt;||&lt;/span&gt; &lt;span class="n"&gt;last_name&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;upper_name&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="k"&gt;LOWER&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;city&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;lower_city&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;CONCAT&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="s1"&gt;' '&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;last_name&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;' is in Form '&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;form&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; 
           &lt;span class="s1"&gt;' and comes from '&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;city&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;student_summary&lt;/span&gt;
&lt;span class="k"&gt;FROM&lt;/span&gt; &lt;span class="n"&gt;students&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;Key functions practiced:&lt;/strong&gt;&lt;br&gt;
UPPER(), LOWER()&lt;br&gt;
LENGTH()&lt;br&gt;
LEFT() / SUBSTRING()&lt;br&gt;
CONCAT()&lt;/p&gt;
&lt;h2&gt;
  
  
  Part 2: Number Functions – Doing the Math
&lt;/h2&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;marks&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;ROUND&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;marks&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;1&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;rounded_one_decimal&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;CEIL&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;marks&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;rounded_up&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;FLOOR&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;marks&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;rounded_down&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;ROUND&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;marks&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="mi"&gt;1&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="k"&gt;AS&lt;/span&gt; &lt;span class="n"&gt;boosted_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;p&gt;I also calculated summary statistics using COUNT, AVG, MIN, MAX, and SUM in a single query, very useful for reports.&lt;/p&gt;
&lt;h2&gt;
  
  
  Part 3: Date &amp;amp; Time Functions (PostgreSQL)
&lt;/h2&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;    first_name,
    date_of_birth,
    EXTRACT(YEAR FROM date_of_birth) AS birth_year,
    EXTRACT(MONTH FROM date_of_birth) AS birth_month,
    AGE(date_of_birth) AS age_in_years,
    TO_CHAR(exam_date, 'Day, DDth Month YYYY') AS formatted_date
FROM students;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;h2&gt;
  
  
  Part 4: JOINS – The Heart of Relational Databases
&lt;/h2&gt;

&lt;p&gt;This was the most exciting part.&lt;br&gt;
INNER JOIN (Only matching records)&lt;br&gt;
LEFT JOIN (All patients, even those without appointments)&lt;br&gt;
RIGHT JOIN (All doctors)&lt;br&gt;
Three-table JOIN for appointments + patient + doctor + prescription&lt;br&gt;
Finding patients who never had an appointment:&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;p&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;full_name&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;p&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;city&lt;/span&gt;
&lt;span class="k"&gt;FROM&lt;/span&gt; &lt;span class="n"&gt;patients&lt;/span&gt; &lt;span class="n"&gt;p&lt;/span&gt;
&lt;span class="k"&gt;LEFT&lt;/span&gt; &lt;span class="k"&gt;JOIN&lt;/span&gt; &lt;span class="n"&gt;appointments&lt;/span&gt; &lt;span class="n"&gt;a&lt;/span&gt; &lt;span class="k"&gt;ON&lt;/span&gt; &lt;span class="n"&gt;p&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;patient_id&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;a&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;patient_id&lt;/span&gt;
&lt;span class="k"&gt;WHERE&lt;/span&gt; &lt;span class="n"&gt;a&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;appointment_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="p"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Part 5: Window Functions – The Game Changer
&lt;/h2&gt;

&lt;p&gt;This section took my SQL to the next level.&lt;br&gt;
Window functions let you perform calculations across rows while keeping every detail.&lt;br&gt;
Examples I wrote:&lt;br&gt;
ROW_NUMBER() – Unique ranking&lt;br&gt;
RANK() vs DENSE_RANK()&lt;br&gt;
NTILE(3) – Dividing students into performance bands&lt;br&gt;
AVG() OVER(PARTITION BY student_id) – Student average alongside each result&lt;br&gt;
LAG() – Comparing current exam with previous exam&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;result_id&lt;/span&gt;&lt;span class="p"&gt;,&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;marks&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;marks&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="p"&gt;)&lt;/span&gt; &lt;span class="k"&gt;AS&lt;/span&gt; &lt;span class="n"&gt;student_avg&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;marks&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_marks&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;marks&lt;/span&gt; &lt;span class="o"&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;marks&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;improvement&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;
  
  
  Part 6: SET Operators (UNION, INTERSECT, etc.)
&lt;/h2&gt;

&lt;p&gt;Learned how to combine results from different tables/databases cleanly.&lt;br&gt;
-- Cities that exist in both school and hospital databases&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;city&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;INTERSECT&lt;/span&gt;
&lt;span class="k"&gt;SELECT&lt;/span&gt; &lt;span class="n"&gt;city&lt;/span&gt; &lt;span class="k"&gt;FROM&lt;/span&gt; &lt;span class="n"&gt;patients&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Key Takeaways &amp;amp; Advice
&lt;/h2&gt;

&lt;p&gt;Working through these exercises helped reinforce several important SQL skills:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Cleaning and formatting text data&lt;/li&gt;
&lt;li&gt;Performing numerical analysis&lt;/li&gt;
&lt;li&gt;Working with dates and time&lt;/li&gt;
&lt;li&gt;Combining tables with joins&lt;/li&gt;
&lt;li&gt;Performing advanced analysis with window functions&lt;/li&gt;
&lt;li&gt;Merging results using set operators&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;These skills form the foundation of real-world SQL work in data analysis, backend development, and data engineering.&lt;/p&gt;

&lt;h2&gt;
  
  
  Final Thoughts
&lt;/h2&gt;

&lt;p&gt;SQL is more than just a query language,it’s a tool for discovering insights from data.&lt;/p&gt;

&lt;p&gt;By practicing with realistic datasets like school records and hospital systems, we begin to see how SQL powers real applications.&lt;/p&gt;

&lt;p&gt;Whether you're analyzing exam results or managing hospital appointments, mastering SQL opens the door to data-driven decision making.&lt;/p&gt;

</description>
      <category>sql</category>
      <category>postgressql</category>
      <category>data</category>
      <category>analytics</category>
    </item>
    <item>
      <title>How to Publish and Embed Power BI Reports on the Web Using IFrames – A Complete Step-by-Step Guide</title>
      <dc:creator>melody mulei</dc:creator>
      <pubDate>Fri, 10 Apr 2026 10:13:50 +0000</pubDate>
      <link>https://forem.com/melody_mulei/how-to-publish-and-embed-power-bi-reports-on-the-web-using-iframes-a-complete-step-by-step-guide-2jjp</link>
      <guid>https://forem.com/melody_mulei/how-to-publish-and-embed-power-bi-reports-on-the-web-using-iframes-a-complete-step-by-step-guide-2jjp</guid>
      <description>&lt;p&gt;&lt;strong&gt;Introduction&lt;/strong&gt;&lt;br&gt;
In today’s data-driven world, insights are only valuable when they are accessible. Creating a dashboard is just the beginning, the real impact comes from sharing it effectively.&lt;br&gt;
In this guide, I’ll walk you through the complete process of publishing a Power BI report to the cloud and embedding it into a website using iframes — so anyone can interact with your insights directly from a browser.&lt;br&gt;
I’ll use my Electronics Sales Assignment (built with queries, DAX, star schema modeling, currency conversion, KPIs, charts, and multi-page navigation) as a practical example.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What is Power BI?&lt;/strong&gt;&lt;br&gt;
Power BI is a powerful business intelligence tool developed by Microsoft that allows users to:&lt;br&gt;
• Transform raw data into meaningful insights &lt;br&gt;
• Build interactive dashboards and reports &lt;br&gt;
• Share data visually with stakeholders &lt;br&gt;
From data cleaning using Power Query to advanced calculations with DAX, Power BI provides an end-to-end analytics solution.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Why Publish and Embed Power BI Reports?&lt;/strong&gt;&lt;br&gt;
Publishing moves your report from your local machine to Microsoft’s cloud (Power BI Service), enabling:&lt;br&gt;
• Scheduled data refreshes&lt;br&gt;
• Easy sharing and collaboration&lt;br&gt;
• Secure or public embedding on websites, blogs, intranets, or dashboards&lt;br&gt;
Embedding with iframes enables you to bring fully interactive reports into any web page, without requiring a Power BI license for viewers in public mode.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Overview of the Publishing Process&lt;/strong&gt;&lt;br&gt;
Publishing a Power BI report involves four key steps:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt; Creating a workspace &lt;/li&gt;
&lt;li&gt; Uploading and publishing your report &lt;/li&gt;
&lt;li&gt; Generating an embed code &lt;/li&gt;
&lt;li&gt; Embedding the report on a website 
Let’s go step by step.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Step 1: Create a Workspace in Power BI Service&lt;/strong&gt;&lt;br&gt;
A workspace is a collaborative environment where reports, dashboards, and datasets are stored and managed.&lt;br&gt;
Steps:&lt;/p&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; Sign in with your account &lt;/li&gt;
&lt;li&gt; On the left sidebar, click Workspaces &lt;/li&gt;
&lt;li&gt; Click + New Workspace &lt;/li&gt;
&lt;li&gt; Fill in: 
o   Workspace Name (e.g., John Doe) 
o   Description (optional) &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%2Fsy4w84cogfn42fric5ee.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%2Fsy4w84cogfn42fric5ee.png" alt=" " width="477" height="911"&gt;&lt;/a&gt;&lt;/p&gt;

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

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

&lt;p&gt;&lt;strong&gt;Step 2: Upload and Publish Your Report&lt;/strong&gt;&lt;br&gt;
Now that your workspace is ready, it’s time to upload your .pbix file.&lt;br&gt;
Steps:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt; Open Power BI Desktop &lt;/li&gt;
&lt;li&gt; Load your Electronics Sales report &lt;/li&gt;
&lt;li&gt; Click Publish (top ribbon) &lt;/li&gt;
&lt;li&gt; Select your created workspace &lt;/li&gt;
&lt;li&gt; Wait for the confirmation message 
Alternatively (via Power BI Service):&lt;/li&gt;
&lt;li&gt; Open your workspace &lt;/li&gt;
&lt;li&gt; Click Upload → Browse files &lt;/li&gt;
&lt;li&gt; Upload your .pbix file &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%2Fnq8tj7nef0ittg7g9r8d.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%2Fnq8tj7nef0ittg7g9r8d.png" alt=" " width="312" height="666"&gt;&lt;/a&gt;&lt;/p&gt;

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

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

&lt;p&gt;&lt;strong&gt;Step 3: Generate the Embed Code&lt;/strong&gt;&lt;br&gt;
Once your report is published, you can generate a link or embed code.&lt;br&gt;
Steps:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt; Open your report in Power BI Service &lt;/li&gt;
&lt;li&gt; Click File → Embed report → Publish to web (public) &lt;/li&gt;
&lt;li&gt; Click Create embed code &lt;/li&gt;
&lt;li&gt; Copy: 
o   The iframe embed code, or 
o   The direct link &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%2Frm5vlezy73xkl4ph7i92.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%2Frm5vlezy73xkl4ph7i92.png" alt=" " width="515" height="436"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 4: Embed the Report into a Website&lt;/strong&gt;&lt;br&gt;
Now, let’s bring your dashboard to life on a website.&lt;/p&gt;

&lt;p&gt;Steps:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt; Open your website’s HTML file &lt;/li&gt;
&lt;li&gt; Paste the iframe code &lt;/li&gt;
&lt;li&gt; Replace with your embed link &lt;/li&gt;
&lt;li&gt; Save and refresh your website &lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Now your fully interactive report (with slicers, filters, drill-downs, and page navigation) is live on the web!&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%2Fdqprqmnblqllwjo12alb.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%2Fdqprqmnblqllwjo12alb.png" alt=" " width="800" height="424"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Key Insights&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Power BI is not just about building dashboards—it’s about sharing insights effectively&lt;/li&gt;
&lt;li&gt;Workspaces help manage and organize reports&lt;/li&gt;
&lt;li&gt;Embedding dashboards makes insights accessible beyond Power BI users&lt;/li&gt;
&lt;li&gt;Always consider data privacy before using public embed options&lt;/li&gt;
&lt;li&gt;Combining Power BI with platforms like GitHub and blogs strengthens your data portfolio&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Final Thoughts&lt;/strong&gt;&lt;br&gt;
Publishing and embedding Power BI reports transforms your work from static analysis into interactive, shareable insights. Whether you're presenting to management or showcasing your skills, this is a critical step in your data journey.&lt;/p&gt;

&lt;p&gt;With this Electronics Sales project, you’ve not only analyzed data, you’ve learned how to deliver it professionally.&lt;/p&gt;

</description>
      <category>analytics</category>
      <category>microsoft</category>
      <category>tutorial</category>
      <category>webdev</category>
    </item>
    <item>
      <title>Understanding Data Modeling in Power BI: Joins, Relationships, and Schemas Explained</title>
      <dc:creator>melody mulei</dc:creator>
      <pubDate>Tue, 31 Mar 2026 08:15:57 +0000</pubDate>
      <link>https://forem.com/melody_mulei/understanding-data-modeling-in-power-bi-joins-relationships-and-schemas-explained-1mgm</link>
      <guid>https://forem.com/melody_mulei/understanding-data-modeling-in-power-bi-joins-relationships-and-schemas-explained-1mgm</guid>
      <description>&lt;h2&gt;
  
  
  Table of Contents
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;What is Data Modeling?&lt;/li&gt;
&lt;li&gt;SQL Joins: The Foundation&lt;/li&gt;
&lt;li&gt;Power BI Relationships&lt;/li&gt;
&lt;li&gt;Fact Tables vs Dimension Tables&lt;/li&gt;
&lt;li&gt;Schema Designs: Star, Snowflake &amp;amp; Flat Table&lt;/li&gt;
&lt;li&gt;Common Modeling Issues &amp;amp; How to Fix Them&lt;/li&gt;
&lt;li&gt;Where to Do Everything in Power BI&lt;/li&gt;
&lt;li&gt;Summary &amp;amp; Key Takeaways&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Data is powerful, but only when properly structured. In Power BI, data modeling is the crucial step that turns raw tables into fast, accurate, and insightful reports. Whether you're analyzing sales trends, healthcare records, or farm productivity, a well-designed model makes the difference between slow, confusing dashboards and trustworthy business intelligence.&lt;br&gt;
This article explains data modeling in Power BI, covering SQL joins, relationships, fact vs. dimension tables, star/snowflake/flat schemas, role-playing dimensions, and common modeling issues, with clear explanations, real-life examples, and step-by-step instructions for implementing them.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;What Is Data Modeling?&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Data modeling is the process of organizing data into structured formats that define how tables relate to one another. &lt;br&gt;
Think of it like designing a blueprint:&lt;br&gt;
• It defines how data is connected &lt;br&gt;
• It ensures efficient querying &lt;br&gt;
• It improves data accuracy and reporting performance &lt;br&gt;
In Power BI, data modeling happens after data is loaded and involves:&lt;br&gt;
• Creating relationships &lt;br&gt;
• Defining table structures &lt;br&gt;
• Optimizing how data flows between tables&lt;br&gt;
Power BI gives you two powerful ways to connect data:&lt;br&gt;
• Joins (in Power Query) - physically combine tables&lt;br&gt;
• Relationships (in Model view) - logically link tables without duplicating data&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;SQL Joins in Power Query&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Joins are used in Power Query Editor to merge tables. Here are all the important types with practical examples using a Customers and Orders dataset.&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%2Fnay0wpb4wbysswb6exer.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%2Fnay0wpb4wbysswb6exer.png" alt=" " width="800" height="463"&gt;&lt;/a&gt; &lt;br&gt;
&lt;em&gt;Venn diagram showing the different SQL joins&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1.    Inner Join&lt;/strong&gt;&lt;br&gt;
a.  Returns only records that exist in both tables. &lt;br&gt;
b.  Example: Show only customers who have placed orders.&lt;br&gt;
&lt;strong&gt;2.    Left Join (Left Outer)&lt;/strong&gt; &lt;br&gt;
a.  Returns all records from the left table and matching records from the right. &lt;br&gt;
b.  Example: List every customer, even those who haven’t ordered yet (useful for retention analysis).&lt;br&gt;
&lt;strong&gt;3.    Right Join (Right Outer)&lt;/strong&gt;&lt;br&gt;
a.  Returns all rows from the right table and matching rows from the left.&lt;br&gt;
&lt;strong&gt;4.    Full Outer Join&lt;/strong&gt;&lt;br&gt;
a.  Returns all rows from both tables (with NULLs where no match exists). Example: Reconcile customer data from two different systems.&lt;br&gt;
&lt;strong&gt;5.    Left Anti Join&lt;/strong&gt; &lt;br&gt;
Returns rows from the left table that have no match in the right table. &lt;br&gt;
Example: “Customers who never placed an order” — perfect for marketing campaigns.&lt;br&gt;
&lt;strong&gt;6.    Right Anti Join&lt;/strong&gt;&lt;br&gt;
 Returns rows from the right table with no match in the left. &lt;br&gt;
Example: Orders that are missing customer records (great for data quality checks).&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Where Joins Happen in Power BI&lt;/strong&gt;&lt;br&gt;
In Power BI, joins are created in Power Query Editor:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt; Go to Transform data (Power Query Editor)&lt;/li&gt;
&lt;li&gt; Select a table → Home → Merge Queries&lt;/li&gt;
&lt;li&gt; Choose the second table and matching columns&lt;/li&gt;
&lt;li&gt; Select the join type (Inner, Left Outer, Left Anti, etc.)&lt;/li&gt;
&lt;li&gt; Click OK and expand the columns you need.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Power BI Relationships&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Unlike SQL joins, Power BI typically uses relationships instead of merging tables. Relationships are logical links created in the Model view. They keep your model lightweight and performant.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Types of Relationships&lt;/strong&gt;&lt;br&gt;
• 1:M (One-to-Many) – Most common (One customer → Many orders)&lt;br&gt;
• M:M (Many-to-Many) – Multiple records relate to multiple records. Requires careful handling&lt;br&gt;
• 1:1 (One-to-One) – Rare, usually for splitting tables&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Key Concepts&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;i. Cardinality&lt;/strong&gt;&lt;br&gt;
Tells Power BI how tables relate:&lt;br&gt;
• One-to-Many &lt;br&gt;
• Many-to-Many&lt;br&gt;
&lt;strong&gt;ii. Cross-Filter Direction&lt;/strong&gt;&lt;br&gt;
Controls how filters flow:&lt;br&gt;
• Single direction (recommended) &lt;br&gt;
• Both directions (used cautiously)&lt;br&gt;
&lt;strong&gt;iii. Active vs Inactive relationships:&lt;/strong&gt;&lt;br&gt;
• Active: Used automatically in visuals and DAX&lt;br&gt;
• Inactive: Requires USERELATIONSHIP () function in DAX to activate (very useful for role-playing dimensions)&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Where to Create Relationships in Power BI&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt; Go to Model View &lt;/li&gt;
&lt;li&gt; Drag and drop fields between tables
OR &lt;/li&gt;
&lt;li&gt; Click Manage Relationships &lt;/li&gt;
&lt;li&gt; Define: 
o   Columns 
o   Cardinality 
o   Cross-filter direction&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%2F7g0qbgopvbgshibv0vtm.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%2F7g0qbgopvbgshibv0vtm.png" alt=" " width="800" height="515"&gt;&lt;/a&gt;&lt;br&gt;
&lt;em&gt;Power BI Model view showing active relationships with cardinality indicators&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Fact Tables vs Dimension Tables&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;A good data model separates data into:&lt;br&gt;
&lt;strong&gt;Fact Tables&lt;/strong&gt;&lt;br&gt;
• Contain measurable data (e.g.,, sales, revenue) &lt;br&gt;
• Large and transactional Holds foreign keys.&lt;br&gt;
&lt;strong&gt;Dimension Tables&lt;/strong&gt;&lt;br&gt;
• Provide descriptive context (e.g., Customer Name, Product Category, Date, Region) &lt;br&gt;
• Smaller and structured Holds primary keys.&lt;br&gt;
Golden Rule: Facts tell you “what happened”. Dimensions tell you “who, what, when, where”.&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%2F1fig3c5wo1324e2b4f3a.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%2F1fig3c5wo1324e2b4f3a.png" alt=" " width="800" height="372"&gt;&lt;/a&gt;&lt;br&gt;
&lt;em&gt;Visual explanation of Fact vs Dimension tables&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Data Schemas&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;1. Star Schema (Recommended)&lt;/strong&gt;&lt;br&gt;
One central fact table connected to denormalized dimension tables. Best for: Most Power BI projects- delivers excellent performance and simple DAX.&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%2Ffrx2hkby5nvlc60b2e2q.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%2Ffrx2hkby5nvlc60b2e2q.png" alt=" " width="800" height="445"&gt;&lt;/a&gt;&lt;br&gt;
&lt;em&gt;Basics of Modeling in Power BI: Fact Tables&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Snowflake Schema&lt;/strong&gt;&lt;br&gt;
Dimension tables are normalized (split into multiple related tables). Use case: Large enterprise environments or when strict normalization is required.&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%2Fxbqneexods2l13czzoot.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%2Fxbqneexods2l13czzoot.png" alt=" " width="800" height="389"&gt;&lt;/a&gt;&lt;br&gt;
&lt;em&gt;Snowflake Schema structure&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Flat Table (DLAT)&lt;/strong&gt;&lt;br&gt;
All data in one single table. Use case: Very small datasets or quick prototypes (not scalable for larger projects).&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Role-Playing Dimensions &amp;amp; Common Issues&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Role-playing dimensions occur when one dimension serves multiple purposes. Example: One Dim_Date table used for Order Date, Ship Date, and Delivery Date. Solution: Create multiple relationships (most inactive) and activate the correct one using DAX with USERELATIONSHIP().&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Common modeling problems:&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;• Circular dependencies&lt;br&gt;
• Ambiguous relationships (multiple paths between tables)&lt;br&gt;
• Many-to-many confusion&lt;br&gt;
• Overly wide fact tables&lt;br&gt;
Fixes: Prefer single-direction relationships, use bridge tables for M:M, and regularly review your model in the Model view.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Step-by-Step Guide in Power BI&lt;/strong&gt;
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Load Data
• Import datasets into Power BI &lt;/li&gt;
&lt;li&gt;Clean Data (Power Query)
• Remove duplicates 
• Merge tables (joins if needed) &lt;/li&gt;
&lt;li&gt;Create Relationships
• Use Model View 
• Define cardinality and direction &lt;/li&gt;
&lt;li&gt;Optimize Schema
• Use star schema where possible &lt;/li&gt;
&lt;li&gt;Validate Model
• Test filters and visuals&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Final Thoughts&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Data modeling is the foundation of every powerful Power BI report. Understanding joins, relationships, and schemas allows you to build models that are: Accurate, Scalable, and High-performing &lt;br&gt;
As you grow in data analytics, mastering data modeling will set you apart, not just as someone who builds dashboards, but as someone who truly understands data.&lt;br&gt;
Mastering data modeling turns basic reports into powerful decision-making tools. Start with Star Schema, understand SQL joins for cleaning, use relationships wisely for analysis, and always keep your model simple and performant.&lt;/p&gt;

&lt;p&gt;You now have a complete toolkit to build professional Power BI models.&lt;br&gt;
Happy modeling!&lt;/p&gt;

</description>
      <category>datascience</category>
      <category>bigdata</category>
      <category>powerbi</category>
      <category>data</category>
    </item>
  </channel>
</rss>
