<?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: Harshee Pitroda</title>
    <description>The latest articles on DEV Community by Harshee Pitroda (@harsheepitroda).</description>
    <link>https://dev.to/harsheepitroda</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%2F1124433%2Fe63f01dc-ed4d-4dc4-b1a9-f86c65174803.jpeg</url>
      <title>DEV Community: Harshee Pitroda</title>
      <link>https://dev.to/harsheepitroda</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/harsheepitroda"/>
    <language>en</language>
    <item>
      <title>Analyzing Pixar’s 30 years of Movies, Milestones &amp; Magic</title>
      <dc:creator>Harshee Pitroda</dc:creator>
      <pubDate>Tue, 25 Mar 2025 13:14:43 +0000</pubDate>
      <link>https://dev.to/harsheepitroda/analyzing-pixars-30-years-of-movies-milestones-magic-53eg</link>
      <guid>https://dev.to/harsheepitroda/analyzing-pixars-30-years-of-movies-milestones-magic-53eg</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%2Fwxtyahzydxoo9nru6i5a.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%2Fwxtyahzydxoo9nru6i5a.png" alt="Image description" width="800" height="446"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Youtube Link — &lt;a href="https://youtu.be/R3WLkHEpjpQ?si=WKausZCZJXvqUXFC" rel="noopener noreferrer"&gt;https://youtu.be/R3WLkHEpjpQ?si=WKausZCZJXvqUXFC&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Github Link — &lt;a href="https://github.com/Harshee-Pitroda/Pixar-Films-Dashboard" rel="noopener noreferrer"&gt;https://github.com/Harshee-Pitroda/Pixar-Films-Dashboard&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;About this project&lt;br&gt;
Pixar Animation Studios has created some of the most iconic and beloved films over the past 30 years. Understanding their journey through data offers valuable insights into the factors driving their success. But more than just numbers, Pixar’s movies have brought joy, comfort, and unforgettable memories to audiences worldwide. This analysis is a tribute to that beautiful journey — a celebration of the magic Pixar has gifted all of us.&lt;/p&gt;

&lt;p&gt;To capture the essence of Pixar’s 30-year legacy, I structured my analysis around key performance metrics that highlight their milestones and growth. The analysis covers:&lt;/p&gt;

&lt;p&gt;Key Performance Metrics (KPIs)&lt;br&gt;
The following KPIs were chosen to assess Pixar’s performance:&lt;/p&gt;

&lt;p&gt;Total Films Released: Tracks the number of films produced (28 films) in the course of 30 years.&lt;br&gt;
Total Box Office Revenue (Worldwide): Evaluates the global market performance, summing up to $ 17.04B.&lt;br&gt;
Total Budget: Assesses financial investments across productions, amounting to $ 4.47B.&lt;br&gt;
Total Profit: A calculated measure representing revenue minus budget $ 12.57B.&lt;br&gt;
Academy Awards Nominations and Wins: Evaluates critical recognition (40 nominations, 18 wins).&lt;br&gt;
Average Film Run Time: Helps identify runtime trends (100 minutes on average).&lt;br&gt;
Profit Trends Over Time&lt;br&gt;
The primary visualization presented is a Profit Trends Over Time chart, plotting the profitability of each film based on its release year. Key insights include:&lt;/p&gt;

&lt;p&gt;Profit Peaks: Notable spikes in profit were observed for major blockbusters like Toy Story 3, Finding Dory, Incredibles 2, and Inside Out 2.&lt;br&gt;
Post-Pandemic Recovery: Recent releases like Elemental and Inside Out 2 demonstrated a strong comeback.&lt;br&gt;
Character Representation: Iconic Pixar characters are used as visual markers to enhance interpretability and engagement. (references for each icon are given on github — &lt;a href="https://github.com/Harshee-Pitroda/Pixar-Films-Dashboard" rel="noopener noreferrer"&gt;https://github.com/Harshee-Pitroda/Pixar-Films-Dashboard&lt;/a&gt;)&lt;br&gt;
Analysing Academy Award wins&lt;br&gt;
Here 2 visualizations are made one analyzing Pixar’s Academy Award-winning films, highlighting the year of recognition, the number of awards won, and their respective directors. The other provides a detailed breakdown of Pixar’s Academy Award wins, categorized by award type and associated films. It offers insights into the distribution of awards across various categories, highlighting the studio’s excellence in different aspects of filmmaking.&lt;/p&gt;

&lt;p&gt;Key insights:&lt;/p&gt;

&lt;p&gt;Consistent Excellence: Pixar has consistently earned Academy Awards across decades, demonstrating its leadership.&lt;br&gt;
Total Awards: Pixar has won 18 Academy Awards, the most awarded category — Animation Feature, with 11 awards, showcasing Pixar’s dominance in feature animation.&lt;br&gt;
Despite animation being the dominant category, awards in original song and other areas demonstrate Pixar’s well-rounded production quality.&lt;br&gt;
Domestic vs International Box Office Trends Over Time&lt;br&gt;
This chart illustrates the comparative performance of Pixar films in the Domestic Box Office (US and Canada) versus the International Box Office from their release years, highlighting trends in revenue generation. Key insights:&lt;/p&gt;

&lt;p&gt;Steady Growth: Both domestic and international box office earnings have shown a steady upward trend, with noticeable peaks during major movie releases.&lt;br&gt;
Pandemic Effect: There is a visible dip around 2020, reflecting the impact of the pandemic on movie theater performance.&lt;br&gt;
This project provides a comprehensive view of how a studio’s dedication to storytelling and innovation has translated into cultural and financial triumphs.&lt;/p&gt;

&lt;p&gt;Above all, this project is a heartfelt acknowledgment of how Pixar has become a part of our lives — a constant source of laughter, tears, and inspiration. Every movie represents a chapter in a journey that continues to resonate, reminding us of the power of storytelling and the magic it brings.&lt;/p&gt;

</description>
      <category>analytics</category>
      <category>tableau</category>
      <category>beginners</category>
      <category>python</category>
    </item>
    <item>
      <title>SQL Problem 1 — Matching Skills — Easy Solution</title>
      <dc:creator>Harshee Pitroda</dc:creator>
      <pubDate>Mon, 03 Mar 2025 17:03:33 +0000</pubDate>
      <link>https://dev.to/harsheepitroda/sql-problem-1-matching-skills-easy-solution-4lgc</link>
      <guid>https://dev.to/harsheepitroda/sql-problem-1-matching-skills-easy-solution-4lgc</guid>
      <description>&lt;p&gt;Running notes&lt;/p&gt;

&lt;p&gt;Tables we have - &lt;/p&gt;

&lt;p&gt;candidate | skill&lt;/p&gt;

&lt;p&gt;Question&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;find candidates proficient in Python, Tableau, and PostgreSQL (ALL 3 SKILLS)&lt;/li&gt;
&lt;li&gt;Sort the output by candidate ID in ascending order&lt;/li&gt;
&lt;/ol&gt;




&lt;p&gt;Solution&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="o"&gt;*&lt;/span&gt; 
&lt;span class="k"&gt;FROM&lt;/span&gt; &lt;span class="n"&gt;candidates&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This has given me an overall view of the database, so i know how the dataset looks like&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="o"&gt;*&lt;/span&gt; 
&lt;span class="k"&gt;FROM&lt;/span&gt; &lt;span class="n"&gt;candidates&lt;/span&gt;
&lt;span class="k"&gt;WHERE&lt;/span&gt; &lt;span class="n"&gt;skill&lt;/span&gt; &lt;span class="k"&gt;IN&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'Python'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="s1"&gt;'Tableau'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="s1"&gt;'PostgreSQL'&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 now showing me all the candidates that have any one of these skills&lt;/p&gt;

&lt;p&gt;💡&lt;/p&gt;

&lt;p&gt;WHERE clause outputs the rows where a certain condition is met&lt;/p&gt;

&lt;p&gt;💡&lt;/p&gt;

&lt;p&gt;IN clause &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;used to filter categorical data&lt;/li&gt;
&lt;li&gt;instead of a more tedious approach of multiple ORs we can directly use an IN clause&lt;/li&gt;
&lt;li&gt;so here it is checking if anything from the ‘skill’ column is matching to either - Python, Tableau or PostgreSQL and if any of the value is matched that row is shown in the output&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Now the question further says that I need to find those candidate_id’s who have all the 3 skills&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;candidate_id&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="k"&gt;COUNT&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;skill&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;number_of_skills_out_of_3_required_skills&lt;/span&gt;
&lt;span class="k"&gt;FROM&lt;/span&gt; &lt;span class="n"&gt;candidates&lt;/span&gt;
&lt;span class="k"&gt;WHERE&lt;/span&gt; &lt;span class="n"&gt;skill&lt;/span&gt; &lt;span class="k"&gt;IN&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'Python'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="s1"&gt;'Tableau'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="s1"&gt;'PostgreSQL'&lt;/span&gt;&lt;span class="p"&gt;)&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;candidate_id&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;So in order to group by the candidates and count the number of skills they have from the 3 required skills&lt;/p&gt;

&lt;p&gt;💡&lt;/p&gt;

&lt;p&gt;GROUP BY clause tells the database to separate the data in different groups so we can perform aggregation on these groups separately (like how I need to perform an aggregation on the number of skills to see if they have all the 3 required skills)&lt;/p&gt;

&lt;p&gt;💡&lt;/p&gt;

&lt;p&gt;COUNT counts how many rows we have in a particular column&lt;/p&gt;

&lt;p&gt;so this is how my output looks like so now I know candidate 123 has all the 3 required skills but candidate 345 has only 2 required skills &lt;/p&gt;

&lt;p&gt;so my output should only show candidate_id 123&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;candidate_id&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="k"&gt;COUNT&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;skill&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;number_of_skills_out_of_3_required_skills&lt;/span&gt;
&lt;span class="k"&gt;FROM&lt;/span&gt; &lt;span class="n"&gt;candidates&lt;/span&gt;
&lt;span class="k"&gt;WHERE&lt;/span&gt; &lt;span class="n"&gt;skill&lt;/span&gt; &lt;span class="k"&gt;IN&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'Python'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="s1"&gt;'Tableau'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="s1"&gt;'PostgreSQL'&lt;/span&gt;&lt;span class="p"&gt;)&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;candidate_id&lt;/span&gt;
&lt;span class="k"&gt;WHERE&lt;/span&gt; &lt;span class="k"&gt;COUNT&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;skill&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;So a general thought would lead us to using a WHERE clause (WHERE clause outputs only a certain rows where the condition is satisfied)&lt;/p&gt;

&lt;p&gt;This code will give an error because aggregate &lt;em&gt;functions are not allowed in WHERE clause&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;💡&lt;/p&gt;

&lt;p&gt;WHERE clause is used to filter data before aggregation&lt;/p&gt;

&lt;p&gt;💡&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;To filter data based on an aggregate function result, we must use the &lt;code&gt;HAVING&lt;/code&gt; clause.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;So, drumrolls for the final query&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;candidate_id&lt;/span&gt;
&lt;span class="k"&gt;FROM&lt;/span&gt; &lt;span class="n"&gt;candidates&lt;/span&gt;
&lt;span class="k"&gt;WHERE&lt;/span&gt; &lt;span class="n"&gt;skill&lt;/span&gt; &lt;span class="k"&gt;IN&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'Python'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="s1"&gt;'Tableau'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="s1"&gt;'PostgreSQL'&lt;/span&gt;&lt;span class="p"&gt;)&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;candidate_id&lt;/span&gt;
&lt;span class="k"&gt;HAVING&lt;/span&gt; &lt;span class="k"&gt;COUNT&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;skill&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;3&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;candidate_id&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;blockquote&gt;
&lt;p&gt;Written By,&lt;/p&gt;

&lt;p&gt;Harshee Pitroda&lt;/p&gt;
&lt;/blockquote&gt;

</description>
      <category>sql</category>
      <category>postgressql</category>
    </item>
    <item>
      <title>Tableau Project - Analyzing Sales (Dashboard)</title>
      <dc:creator>Harshee Pitroda</dc:creator>
      <pubDate>Mon, 24 Feb 2025 13:35:17 +0000</pubDate>
      <link>https://dev.to/harsheepitroda/tableau-project-analyzing-sales-dashboard-40f5</link>
      <guid>https://dev.to/harsheepitroda/tableau-project-analyzing-sales-dashboard-40f5</guid>
      <description>&lt;h1&gt;
  
  
  Tableau Project - Analyzing Sales (Dashboard)
&lt;/h1&gt;

&lt;p&gt;Source - &lt;a href="https://www.datawithbaraa.com/tableau/tableau-sales-project-thank-you/" rel="noopener noreferrer"&gt;https://www.datawithbaraa.com/tableau/tableau-sales-project-thank-you/&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 1 - Designing the Dashboard Mockup
&lt;/h2&gt;

&lt;p&gt;Before jumping into Tableau, I sketched out a &lt;strong&gt;dashboard wireframe&lt;/strong&gt; to ensure a logical flow of insights. The goal was to make data both &lt;strong&gt;visually appealing and easy to interpret&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;💡&lt;/p&gt;
&lt;h3&gt;
  
  
  &lt;strong&gt;Key Elements in My Mockup as per user stories:&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;✔ &lt;strong&gt;KPI Overview&lt;/strong&gt; – A quick summary of Total Sales, Total Profits, and Total Quantity, comparing them to the previous year.&lt;/p&gt;

&lt;p&gt;✔ &lt;strong&gt;Sales Trends&lt;/strong&gt; – Monthly trends for key metrics, highlighting high and low sales periods.&lt;/p&gt;

&lt;p&gt;✔ &lt;strong&gt;Product Subcategory Comparison&lt;/strong&gt; – A bar-in-bar chart showing sales performance across different subcategories, including profit margins.&lt;/p&gt;

&lt;p&gt;✔ &lt;strong&gt;Weekly Trends for Sales &amp;amp; Profit&lt;/strong&gt; – A breakdown of weekly sales trends with emphasis on above-average and below-average weeks.&lt;/p&gt;

&lt;p&gt;✔ &lt;strong&gt;Filters &amp;amp; Search Pane&lt;/strong&gt; – An interactive section to allow users to explore data dynamically.&lt;/p&gt;

&lt;p&gt;This mockup helped me &lt;strong&gt;visualize the layout&lt;/strong&gt; and ensured that each component had a clear purpose before bringing it into Tableau.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 2 - Deciding the color scheme
&lt;/h2&gt;

&lt;p&gt;Once the layout was finalized, I shifted my focus to selecting the right &lt;strong&gt;color scheme&lt;/strong&gt;—an essential step in making the dashboard intuitive and engaging.&lt;/p&gt;

&lt;p&gt;💡&lt;/p&gt;
&lt;h3&gt;
  
  
  &lt;strong&gt;Color Choices &amp;amp; Their Purpose:&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;🎨 &lt;strong&gt;Red/Orange for Total Sales &amp;amp; Quantity&lt;/strong&gt; – Since these KPIs can fluctuate significantly, these colors help signal changes clearly, especially declines.&lt;/p&gt;

&lt;p&gt;🎨 &lt;strong&gt;Green for Total Profits&lt;/strong&gt; – A positive indicator, reinforcing growth or improvement.&lt;/p&gt;

&lt;p&gt;🎨 &lt;strong&gt;Consistent Icons &amp;amp; Labels&lt;/strong&gt; – Up/down arrows for percentage changes to enhance clarity.&lt;/p&gt;

&lt;p&gt;🎨 &lt;strong&gt;Subtle Background &amp;amp; Borders&lt;/strong&gt; – Keeping it clean and distraction-free to maintain readability.&lt;/p&gt;

&lt;p&gt;The aim was to &lt;strong&gt;use colors strategically&lt;/strong&gt;, not just aesthetically, ensuring that trends and insights pop out without overwhelming the viewer.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 3 - Creating my Data Model
&lt;/h2&gt;

&lt;p&gt;Now that I have my &lt;strong&gt;dashboard mockup and color scheme&lt;/strong&gt; finalized, the next step is structuring my &lt;strong&gt;data model&lt;/strong&gt; to ensure smooth integration and analysis in Tableau.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Data Profiling: Understanding My Tables&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;I started by analyzing the available tables and categorizing them into &lt;strong&gt;dimension tables&lt;/strong&gt; (descriptive data) and &lt;strong&gt;fact tables&lt;/strong&gt; (measurable data).&lt;/p&gt;

&lt;p&gt;💡&lt;/p&gt;

&lt;p&gt;📌 &lt;strong&gt;Customer Table (Dimension Table)&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Contains &lt;strong&gt;Customer ID&lt;/strong&gt; and &lt;strong&gt;Customer Name&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Used for &lt;strong&gt;customer-based filtering and aggregation&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;📌 &lt;strong&gt;Location Table (Dimension Table)&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Includes &lt;strong&gt;City, Country, Region, State, and Postal Code&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Helps with &lt;strong&gt;geographical analysis and mapping&lt;/strong&gt; in Tableau.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;📌 &lt;strong&gt;Orders Table (Fact Table)&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The &lt;strong&gt;main transactional table&lt;/strong&gt; containing &lt;strong&gt;Customer ID, Product ID (foreign keys), and various measures&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Used for &lt;strong&gt;sales, profit, and quantity analysis&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;📌 &lt;strong&gt;Product Table (Dimension Table)&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Contains &lt;strong&gt;product-specific attributes&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Useful for &lt;strong&gt;category-based analysis.&lt;/strong&gt;
&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%2F2dpbepcyvnsmnjulisfp.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%2F2dpbepcyvnsmnjulisfp.png" alt="Image description" width="800" height="395"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 4 - Building Chart and Dashboarding
&lt;/h2&gt;

&lt;p&gt;Transforming business requirements into charts was no easy task—far from a one-and-done process! 🤪&lt;/p&gt;

&lt;p&gt;I went through multiple iterations of the dashboard, refining it each time and uncovering hidden mistakes along the way. Below, you'll find an attached image where I’ve broken down and analyzed every aspect of my dasboard&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%2F64lq2p6vvfdl7wfbw8og.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%2F64lq2p6vvfdl7wfbw8og.png" alt="Image description" width="800" height="432"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This is the initial version after simply placing all the elements (charts) on the dashboard. I included it to highlight that dashboards don’t instantly look polished—just placing the charts is only the beginning!&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%2Fri21gg16h6vsyduifixf.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%2Fri21gg16h6vsyduifixf.png" alt="Image description" width="800" height="658"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This was my first dashboard design, created before I read "Storytelling with Data" by Cole Nussbaumer Knaflic (an absolutely amazing book!).&lt;/p&gt;

&lt;p&gt;After gaining new insights, I revisited every aspect of my dashboard. You can check out my detailed review in the image below!&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%2F0k4d540qgq8mj8qotkut.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%2F0k4d540qgq8mj8qotkut.png" alt="Image description" width="800" height="449"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;After making improvements, my dashboard just got an upgrade (Dashboard OS 2.0 🤪) — especially in terms of clarity and effectiveness!&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%2Fsvre1izt0r75x11tdqnn.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%2Fsvre1izt0r75x11tdqnn.png" alt="Image description" width="800" height="448"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Check out the dashboard on - &lt;a href="http://public.tableau.com/app/profile/harshee.pitroda/viz/SalesDashboard_17399915783890/Dashboard1" rel="noopener noreferrer"&gt;http://public.tableau.com/app/profile/harshee.pitroda/viz/SalesDashboard_17399915783890/Dashboard1&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Written By,&lt;/p&gt;

&lt;p&gt;Harshee Pitroda&lt;/p&gt;

</description>
      <category>datascience</category>
      <category>beginners</category>
      <category>database</category>
      <category>analyst</category>
    </item>
  </channel>
</rss>
