<?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: joseph mwangi</title>
    <description>The latest articles on DEV Community by joseph mwangi (@joseph_mwangi_3ae1f57a132).</description>
    <link>https://dev.to/joseph_mwangi_3ae1f57a132</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%2F3818272%2Ff1b9576d-7ee4-405b-add3-16290301cf48.png</url>
      <title>DEV Community: joseph mwangi</title>
      <link>https://dev.to/joseph_mwangi_3ae1f57a132</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/joseph_mwangi_3ae1f57a132"/>
    <language>en</language>
    <item>
      <title>From Data Preparation to Web Deployment: A Complete Guide to Building, Publishing, and Embedding Power BI Reports</title>
      <dc:creator>joseph mwangi</dc:creator>
      <pubDate>Tue, 07 Apr 2026 13:44:46 +0000</pubDate>
      <link>https://dev.to/joseph_mwangi_3ae1f57a132/from-data-preparation-to-web-deployment-a-complete-guide-to-building-publishing-and-embedding-p2h</link>
      <guid>https://dev.to/joseph_mwangi_3ae1f57a132/from-data-preparation-to-web-deployment-a-complete-guide-to-building-publishing-and-embedding-p2h</guid>
      <description>&lt;h2&gt;
  
  
  Introduction to Power BI
&lt;/h2&gt;

&lt;p&gt;In modern organisations, data plays a central role in decision-making. Businesses are known for generating massive volumes of transactions, operations, and customer data daily, but raw data alone has little value unless it is transformed into meaningful insights. This is where &lt;strong&gt;Microsoft Power BI&lt;/strong&gt; becomes essential.&lt;/p&gt;

&lt;h3&gt;
  
  
  What is Power BI?
&lt;/h3&gt;

&lt;p&gt;Power BI is a business intelligence and data visualization platform developed by Microsoft that enables users to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Connect to multiple data sources&lt;/li&gt;
&lt;li&gt;Clean and transform data.&lt;/li&gt;
&lt;li&gt;Model relationships between datasets&lt;/li&gt;
&lt;li&gt;Perform advanced analytics using DAX&lt;/li&gt;
&lt;li&gt;Build interactive dashboards and reports&lt;/li&gt;
&lt;li&gt;Share insights across organisations or publicly via the web&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Power BI bridges the gap between technical data processing and business interpretation by enabling analysts to create visually rich, interactive reports without extensive programming.&lt;/p&gt;

&lt;p&gt;Three Power BI categories:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. Power BI Desktop&lt;/strong&gt; – Used for data preparation, modeling, and report creation.&lt;br&gt;
&lt;strong&gt;2. Power BI Service&lt;/strong&gt;- Cloud platform for publishing and sharing reports.&lt;br&gt;
&lt;strong&gt;3. Power BI Mobile&lt;/strong&gt; –Access dashboards on mobile devices.&lt;/p&gt;
&lt;h3&gt;
  
  
  A step-by-step guide explaining how to prepare data, build a report, publish it to Power BI Service, and embed it into a website using IFrames.
&lt;/h3&gt;
&lt;h4&gt;
  
  
  Data Cleaning in Power BI
&lt;/h4&gt;

&lt;p&gt;Before analysis begins, data must be cleaned. Poor data quality leads to misleading insights and inaccurate business decisions.&lt;/p&gt;

&lt;p&gt;Data cleaning in Power BI is performed inside Power Query Editor.&lt;/p&gt;

&lt;p&gt;Common Data Issues a typical dataset may have:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Missing values&lt;/li&gt;
&lt;li&gt;Duplicate records&lt;/li&gt;
&lt;li&gt;Incorrect data types&lt;/li&gt;
&lt;li&gt;Inconsistent formats&lt;/li&gt;
&lt;li&gt;Negative or unrealistic values&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;
  
  
  Key Cleaning Technique Steps.
&lt;/h4&gt;

&lt;p&gt;Open Power BI Desktop ➡️ Click Transform Data ➡️ Power Query Editor opens.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Changing Data Types&lt;/strong&gt;&lt;br&gt;
Select the column(s) ➡️ click on the transform ribbon ➡️ Data type &lt;/p&gt;

&lt;p&gt;Ensure columns have correct formats:&lt;/p&gt;

&lt;p&gt;Date ➡️ Date type&lt;br&gt;
Sales ➡️ Decimal Number&lt;br&gt;
Category ➡️ Text&lt;/p&gt;

&lt;p&gt;Incorrect data types prevent accurate calculations.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Removing Duplicates&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Duplicate transactions distort totals.&lt;/p&gt;

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

&lt;p&gt;Select column(s)&lt;br&gt;
Home ➡️ Remove Rows ➡️ Remove Duplicates&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Handling Missing Data&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Missing values are common in real datasets.&lt;/p&gt;

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

&lt;ul&gt;
&lt;li&gt;Remove rows with null values&lt;/li&gt;
&lt;li&gt;Replace with averages or defaults&lt;/li&gt;
&lt;li&gt;Use business logic adjustments&lt;/li&gt;
&lt;/ul&gt;

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

&lt;ul&gt;
&lt;li&gt;If customer region is missing ➡️ replace with “Unknown”.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Handling Extreme or Incorrect Values&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;A key analytical question?&lt;/p&gt;

&lt;p&gt;What happens when some rows have missing data or unrealistic values, such as negative profit?&lt;/p&gt;

&lt;p&gt;Negative profit may indicate:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Discounts&lt;/li&gt;
&lt;li&gt;Returns&lt;/li&gt;
&lt;li&gt;Data entry errors&lt;/li&gt;
&lt;li&gt;Loss-making transactions&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Action Framework&lt;/strong&gt;&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Scenario&lt;/th&gt;
&lt;th&gt;Recommended Action&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Data entry error&lt;/td&gt;
&lt;td&gt;Correct or remove&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Legitimate loss&lt;/td&gt;
&lt;td&gt;Keep for analysis&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Missing critical fields&lt;/td&gt;
&lt;td&gt;Exclude or estimate&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Outliers&lt;/td&gt;
&lt;td&gt;Investigate before removal&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;
&lt;h3&gt;
  
  
  Data Analysis Using DAX Functions
&lt;/h3&gt;

&lt;p&gt;After cleaning, analysis begins using DAX &lt;strong&gt;(Data Analysis Expressions)&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;DAX is a formula language used for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Calculations&lt;/li&gt;
&lt;li&gt;Aggregations&lt;/li&gt;
&lt;li&gt;Time intelligence&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;
  
  
  Common DAX Measures
&lt;/h4&gt;

&lt;p&gt;Total Sales&lt;br&gt;
Total Sales = SUM(Sales[salesAmount])&lt;/p&gt;

&lt;p&gt;Total Profit&lt;br&gt;
Total Profit = SUM(Sales[Profit])&lt;/p&gt;

&lt;p&gt;Average Profit&lt;br&gt;
Average Profit = AVERAGE(Sales[Profit])&lt;/p&gt;

&lt;p&gt;Conditional Analysis Example&lt;/p&gt;

&lt;p&gt;Average profit for a specific region:&lt;/p&gt;

&lt;p&gt;Average Profit Region =&lt;/p&gt;

&lt;p&gt;CALCULATE(&lt;br&gt;
    AVERAGE(Sales[Profit]),&lt;br&gt;
    Sales[Region] = "East"&lt;br&gt;
)&lt;/p&gt;

&lt;p&gt;Handling Missing or Negative Values in DAX&lt;/p&gt;

&lt;p&gt;You can filter unwanted values:&lt;/p&gt;

&lt;p&gt;Valid Profit =&lt;/p&gt;

&lt;p&gt;CALCULATE(&lt;br&gt;
    SUM(Sales[Profit]),&lt;br&gt;
    Sales[Profit] &amp;gt; 0&lt;br&gt;
)&lt;/p&gt;

&lt;p&gt;Click on the new measure ribbon ➡️ name the field(Example Total discount (usd))➡️ input the DAX function ➡️ click enter ➡️ a new measure appears on the right below the data section.&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%2F7x058nzfqmep4s0nkip9.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%2F7x058nzfqmep4s0nkip9.png" alt="PowerBI measure tool desktop" width="800" height="500"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;DAX ensures analysis excludes unrealistic data when necessary.&lt;/p&gt;
&lt;h4&gt;
  
  
  Data Modeling and Creating Relationships
&lt;/h4&gt;

&lt;p&gt;Data modeling organizes tables into a structured system that improves performance and analytical accuracy.&lt;/p&gt;

&lt;p&gt;Power BI commonly uses a Star Schema.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Star Schema Elements:&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Fact Table ➡️ transactional data (Sales)&lt;/li&gt;
&lt;li&gt;Dimension Tables ➡️ descriptive data (Date, Customer, Product)&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Creating Relationships&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Steps:&lt;br&gt;
Go to Model View&lt;br&gt;
Drag the foreign key from the fact table&lt;br&gt;
Connect to the primary key in the dimension table&lt;br&gt;
For more information on building relationships, refer to the YouTube link below.&lt;br&gt;
&lt;strong&gt;&lt;a href="https://youtu.be/air7T8wCYkU?si=H9ZWqux66068qvZe" rel="noopener noreferrer"&gt;Mastering data modelling in Power BI&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Important Concept on date dimension&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;A Date Dimension Table is one of the most &lt;br&gt;
important modelling practices.&lt;/p&gt;

&lt;p&gt;Instead of relying only on raw dates inside the sales table, analysts create a separate calendar table.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Why Create a Date Dimension?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Without a date table:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Time intelligence functions fail.&lt;/li&gt;
&lt;li&gt;Year-to-Date calculations break.&lt;/li&gt;
&lt;li&gt;Filtering becomes inconsistent.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;With a date table, you can analyse:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Sales by Year&lt;/li&gt;
&lt;li&gt;Month trends&lt;/li&gt;
&lt;li&gt;Quarterly performance&lt;/li&gt;
&lt;li&gt;Year-over-Year growth&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Step-by-Step: Creating a Date Dimension&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Go to the Power Query tab.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Select From New Sources ➡️ BlankQuery.(This will launch the Power Query Editor) .&lt;/li&gt;
&lt;li&gt;Select Advanced Editor.&lt;/li&gt;
&lt;li&gt;Remove any code that the editor is currently storing and replace it with the following(Copy as it is)
&lt;/li&gt;
&lt;/ol&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;//Create Date Dimension
(StartDate as date, EndDate as date)=&amp;gt;

let
    //Capture the date range from the parameters
    StartDate = #date(Date.Year(StartDate), Date.Month(StartDate), 
    Date.Day(StartDate)),
    EndDate = #date(Date.Year(EndDate), Date.Month(EndDate), 
    Date.Day(EndDate)),

    //Get the number of dates that will be required for the table
    GetDateCount = Duration.Days(EndDate - StartDate),

    //Take the count of dates and turn it into a list of dates
    GetDateList = List.Dates(StartDate, GetDateCount, 
    #duration(1,0,0,0)),

    //Convert the list into a table
    DateListToTable = Table.FromList(GetDateList, 
    Splitter.SplitByNothing(), {"Date"}, null, ExtraValues.Error),

    //Create various date attributes from the date column
    //Add Year Column
    YearNumber = Table.AddColumn(DateListToTable, "Year", 
    each Date.Year([Date])),

    //Add Quarter Column
    QuarterNumber = Table.AddColumn(YearNumber , "Quarter", 
    each "Q" &amp;amp; Number.ToText(Date.QuarterOfYear([Date]))),

    //Add Week Number Column
    WeekNumber= Table.AddColumn(QuarterNumber , "Week Number", 
    each Date.WeekOfYear([Date])),

    //Add Month Number Column
    MonthNumber = Table.AddColumn(WeekNumber, "Month Number", 
    each Date.Month([Date])),

    //Add Month Name Column
    MonthName = Table.AddColumn(MonthNumber , "Month", 
    each Date.ToText([Date],"MMMM")),

    //Add Day of Week Column
    DayOfWeek = Table.AddColumn(MonthName , "Day of Week", 
    each Date.ToText([Date],"dddd"))

in
    DayOfWeek

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

&lt;/div&gt;


&lt;p&gt;After pasting, click OK/Done&lt;/p&gt;

&lt;p&gt;Click Invoke and provide the range of dates that you would like the date table to return ➡️ click OK ➡️ Rename Date Table&lt;/p&gt;
&lt;h3&gt;
  
  
  Building Dashboards and Reports
&lt;/h3&gt;

&lt;p&gt;After modelling, visualisation begins.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Cards ➡️ KPIs&lt;/li&gt;
&lt;li&gt;Bar charts ➡️ category comparisons&lt;/li&gt;
&lt;li&gt;Line charts ➡️ trends&lt;/li&gt;
&lt;li&gt;Maps  ➡️ geographic performance&lt;/li&gt;
&lt;li&gt;Scatter charts ➡️ correlation analysis&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Example of a Dashboard and Report&lt;/strong&gt;&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%2Fwvj12jtqdfabov36witf.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%2Fwvj12jtqdfabov36witf.png" alt="A dashboard sample" width="800" height="500"&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%2F7g2mh3e67iijpja8qbde.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%2F7g2mh3e67iijpja8qbde.png" alt="A report sample" width="800" height="500"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;
  
  
  Publishing Power BI Reports
&lt;/h3&gt;

&lt;p&gt;Once the report is complete, it must be published to the Power BI Service.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 1: Sign In&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Open Power BI Desktop:&lt;/p&gt;

&lt;p&gt;File ➡️ Sign In&lt;/p&gt;

&lt;p&gt;Use an organizational account.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 2. Publish Report&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Click Publish&lt;br&gt;
Select Workspace ➡️ Confirm upload&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Publish dialog box&lt;/strong&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%2Fuemuh2ziirkuh4hv5vil.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%2Fuemuh2ziirkuh4hv5vil.png" alt="Publish dialog box" width="800" height="500"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step3. Creating a Workspace in Power BI Service&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Workspace allows collaboration among users.&lt;/p&gt;

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

&lt;p&gt;Go to PowerBI.com ➡️ Click Workspaces ➡️ Select New Workspace&lt;/p&gt;

&lt;p&gt;&lt;code&gt;&lt;br&gt;
Enter:&lt;br&gt;
Name&lt;br&gt;
Description&lt;br&gt;
Click Save&lt;br&gt;
&lt;/code&gt;&lt;br&gt;
&lt;strong&gt;New workspace contact details&lt;/strong&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%2F95916vlhkx6deen5fetd.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%2F95916vlhkx6deen5fetd.png" alt="new workspace contact details " width="800" height="500"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step4. Uploading and Accessing the Published Report&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Inside workspace:&lt;/p&gt;

&lt;p&gt;Navigate to Reports ➡️ Open uploaded report ➡️Verify visuals load correctly&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Report opened in Power BI Service&lt;/strong&gt;&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%2Fekbzzeaz7fw13ia0hqq7.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%2Fekbzzeaz7fw13ia0hqq7.png" alt="Report opened in Power BI Service" width="800" height="500"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 5. Generating Embed Code&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Power BI allows reports to be embedded into websites using an iframe.&lt;/p&gt;

&lt;p&gt;Steps:&lt;br&gt;
Open the report in Power BI Service&lt;br&gt;
File ➡️ Embed report&lt;br&gt;
Select Publish to Website or portal&lt;/p&gt;

&lt;p&gt;Note:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;There is publishing to the website portal&lt;/strong&gt; &lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Publishing to web (Public) options&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The main difference between publishing to a website/portal and publishing to the web (public) is security and access control. Publishing to a website or portal requires user authentication to ensure only authorized individuals can view the content, whereas publishing to the web makes the content accessible to anyone with the URL.&lt;/p&gt;

&lt;p&gt;Power BI generates HTML iframe code. So, copy the HTML iframe code.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Embed code generation window&lt;/strong&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%2F9zgzsc27fzb3vhf39vl6.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%2F9zgzsc27fzb3vhf39vl6.png" alt="Embed code generation window" width="800" height="500"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step6. Embedding Report on a Website&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;6a. On your computer, create a website folder&lt;br&gt;
PowerBI_Website&lt;/p&gt;

&lt;p&gt;6b. Open the folder in the text editor&lt;br&gt;
In this case i will use VSCode&lt;/p&gt;

&lt;p&gt;6c. Create HTML File&lt;br&gt;
Inside VS Code ➡️ Right Click Explorer Panel ➡️ select New file&lt;br&gt;
Can name it (index.html)&lt;/p&gt;

&lt;p&gt;6d. Paste this full HTML Template&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="cp"&gt;&amp;lt;!DOCTYPE html&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;html&lt;/span&gt; &lt;span class="na"&gt;lang=&lt;/span&gt;&lt;span class="s"&gt;"en"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;head&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;meta&lt;/span&gt; &lt;span class="na"&gt;charset=&lt;/span&gt;&lt;span class="s"&gt;"UTF-8"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;meta&lt;/span&gt; &lt;span class="na"&gt;name=&lt;/span&gt;&lt;span class="s"&gt;"viewport"&lt;/span&gt; &lt;span class="na"&gt;content=&lt;/span&gt;&lt;span class="s"&gt;"width=device-width, initial-scale=1.0"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;title&amp;gt;&lt;/span&gt;Power BI Report&lt;span class="nt"&gt;&amp;lt;/title&amp;gt;&lt;/span&gt;

    &lt;span class="nt"&gt;&amp;lt;style&amp;gt;&lt;/span&gt;
        &lt;span class="nt"&gt;body&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
            &lt;span class="nl"&gt;font-family&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;Arial&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nb"&gt;sans-serif&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
            &lt;span class="nl"&gt;margin&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;0&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
            &lt;span class="nl"&gt;background-color&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;#f4f6f9&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
            &lt;span class="nl"&gt;text-align&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;center&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
        &lt;span class="p"&gt;}&lt;/span&gt;

        &lt;span class="nt"&gt;header&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
            &lt;span class="nl"&gt;background-color&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;#1f4e79&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
            &lt;span class="nl"&gt;color&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="no"&gt;white&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
            &lt;span class="nl"&gt;padding&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;20px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
        &lt;span class="p"&gt;}&lt;/span&gt;

        &lt;span class="nc"&gt;.report-container&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
            &lt;span class="nl"&gt;margin&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;30px&lt;/span&gt; &lt;span class="nb"&gt;auto&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
            &lt;span class="nl"&gt;width&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;90%&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
            &lt;span class="nl"&gt;max-width&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;1200px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
            &lt;span class="nl"&gt;height&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;700px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
            &lt;span class="nl"&gt;box-shadow&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;0px&lt;/span&gt; &lt;span class="m"&gt;4px&lt;/span&gt; &lt;span class="m"&gt;10px&lt;/span&gt; &lt;span class="n"&gt;rgba&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="m"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="m"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="m"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="m"&gt;0.2&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
        &lt;span class="p"&gt;}&lt;/span&gt;

        &lt;span class="nt"&gt;iframe&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
            &lt;span class="nl"&gt;width&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;100%&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
            &lt;span class="nl"&gt;height&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;100%&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
            &lt;span class="nl"&gt;border&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;none&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
        &lt;span class="p"&gt;}&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;/style&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/head&amp;gt;&lt;/span&gt;

&lt;span class="nt"&gt;&amp;lt;body&amp;gt;&lt;/span&gt;

&lt;span class="nt"&gt;&amp;lt;header&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;h1&amp;gt;&lt;/span&gt;Sales Analytics Dashboard&lt;span class="nt"&gt;&amp;lt;/h1&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;p&amp;gt;&lt;/span&gt;Embedded Power BI Report&lt;span class="nt"&gt;&amp;lt;/p&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/header&amp;gt;&lt;/span&gt;

&lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"report-container"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;

    &lt;span class="c"&gt;&amp;lt;!-- PASTE YOUR POWER BI IFRAME BELOW --&amp;gt;&lt;/span&gt;

    &lt;span class="c"&gt;&amp;lt;!-- Example --&amp;gt;&lt;/span&gt;
    &lt;span class="c"&gt;&amp;lt;!-- Replace this iframe --&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;iframe&lt;/span&gt; 
        &lt;span class="na"&gt;title=&lt;/span&gt;&lt;span class="s"&gt;"Power BI Report"&lt;/span&gt;
        &lt;span class="na"&gt;src=&lt;/span&gt;&lt;span class="s"&gt;"PASTE_YOUR_IFRAME_SRC_HERE"&lt;/span&gt;
        &lt;span class="na"&gt;allowfullscreen&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;span class="nt"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;

&lt;span class="nt"&gt;&amp;lt;/body&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/html&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Note that you can ask chatgbt to generate for you the html template.&lt;/p&gt;

&lt;p&gt;6e. Paste PowerBI iframe&lt;/p&gt;

&lt;p&gt;Note in this case:&lt;/p&gt;

&lt;p&gt;I currently have this place holder&lt;br&gt;
&lt;/p&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;title=&lt;/span&gt;&lt;span class="s"&gt;"Power BI Report"&lt;/span&gt;
    &lt;span class="na"&gt;src=&lt;/span&gt;&lt;span class="s"&gt;"PASTE_YOUR_IFRAME_SRC_HERE"&lt;/span&gt;
    &lt;span class="na"&gt;allowfullscreen&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;p&gt;I will delete it.&lt;/p&gt;

&lt;p&gt;Then paste the Iframe copied from powerbi.com in the same location&lt;/p&gt;

&lt;p&gt;Save work by clicking(cmd+s/ctrl+s)&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step7. Run website&lt;/strong&gt;&lt;br&gt;
Right-click on the file(index.html) ➡️ Open with live server&lt;br&gt;
you should see a browser open ➡️ Microsoft Login ➡️ use the organisation signings➡️ browser opens.&lt;br&gt;
PowerBI Dashboard and Reports will be loaded in the website page.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Embedded Power BI Report&lt;/strong&gt;&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%2Fmr86eg308v4hyto6tgg6.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%2Fmr86eg308v4hyto6tgg6.png" alt="Embedded Power BI Report" width="800" height="500"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Conclusion
&lt;/h3&gt;

&lt;p&gt;This guide started from raw data to finally embedding Power BI report into a website using an iframe.&lt;/p&gt;

&lt;p&gt;With these steps complete, your Power BI reports should no longer be limited to Power BI Desktop but be shared, accessed, and interacted with directly from the web. &lt;/p&gt;

&lt;p&gt;And just like that, your analytics solution moves from development to real-world use!&lt;/p&gt;

</description>
      <category>analytics</category>
      <category>beginners</category>
      <category>microsoft</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>Understanding Data Modelling in Power BI: Joins, Relationships, and Schemas Explained</title>
      <dc:creator>joseph mwangi</dc:creator>
      <pubDate>Mon, 30 Mar 2026 17:15:50 +0000</pubDate>
      <link>https://dev.to/joseph_mwangi_3ae1f57a132/understanding-data-modelling-in-power-bi-joins-relationships-and-schemas-explained-33hp</link>
      <guid>https://dev.to/joseph_mwangi_3ae1f57a132/understanding-data-modelling-in-power-bi-joins-relationships-and-schemas-explained-33hp</guid>
      <description>&lt;h2&gt;
  
  
  Introduction
&lt;/h2&gt;

&lt;p&gt;When beginners start using Power BI, most focus on visuals like charts and reports. However, a data professional knows that great dashboards are built on great data models.&lt;/p&gt;

&lt;p&gt;You should note that &lt;strong&gt;Data modelling&lt;/strong&gt; is the foundation that determines whether your reports are fast, accurate, and scalable, or are they confusing and unreliable.&lt;/p&gt;

&lt;p&gt;In this article, we will learn about data modelling from the beginning in a way that is easy to understand. We will be covering:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;What SQL is and why joins exist. &lt;/li&gt;
&lt;li&gt; All SQL joins with real-life examples and syntax.&lt;/li&gt;
&lt;li&gt; Power BI relationships and how they work. &lt;/li&gt;
&lt;li&gt; The difference between joins and relationships. &lt;/li&gt;
&lt;li&gt; Fact versus dimension tables.&lt;/li&gt;
&lt;li&gt; Data modelling schemas.&lt;/li&gt;
&lt;li&gt; Role-playing dimensions and common modelling problems. &lt;/li&gt;
&lt;li&gt; Create models inside Power BI step by step.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  What is Data Modelling?
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Data modelling&lt;/strong&gt; is the process of organising data tables so they can work together efficiently for analysis and reporting.&lt;/p&gt;

&lt;p&gt;Instead of storing everything in one massive table, we structure data into connected tables using &lt;strong&gt;keys&lt;/strong&gt; and &lt;strong&gt;relationships&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Think of data modelling as if organising a library. You have books which are like &lt;strong&gt;facts&lt;/strong&gt; and &lt;strong&gt;categories&lt;/strong&gt; which are like dimensions, and the library system is like the &lt;strong&gt;relationships&lt;/strong&gt; connecting them.&lt;/p&gt;

&lt;p&gt;From this analogy, we can conclude that the model reduces duplication, improves performance, and makes analysis easier&lt;/p&gt;

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

&lt;p&gt;&lt;strong&gt;SQL (Structured Query Language)&lt;/strong&gt; is a language used to communicate with databases.&lt;/p&gt;

&lt;p&gt;It allows us to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Retrieve data.&lt;/li&gt;
&lt;li&gt;Combine tables.&lt;/li&gt;
&lt;li&gt;Filter records.&lt;/li&gt;
&lt;li&gt;Analyse datasets.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;One of SQL’s powerful features is &lt;strong&gt;JOINS&lt;/strong&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  What are Joins?
&lt;/h2&gt;

&lt;p&gt;A &lt;strong&gt;JOIN&lt;/strong&gt; combines rows from two tables based on a related column, an &lt;strong&gt;ID&lt;/strong&gt;. For example, we have a customers table and a sales table. We join them to know which customer made a purchase, or maybe which sale was made in what store.&lt;/p&gt;

&lt;h2&gt;
  
  
  SQL Joins Explained
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1. INNER JOIN
&lt;/h3&gt;

&lt;h4&gt;
  
  
  What it does
&lt;/h4&gt;

&lt;p&gt;Returns only matching records in both tables.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;INNER JOIN Venn Diagram&lt;/strong&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%2F3y6snsorydb4t47u2sao.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%2F3y6snsorydb4t47u2sao.png" alt="Inner Join Venn diagram" width="590" height="407"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  Real-life Example
&lt;/h4&gt;

&lt;p&gt;Show customers &lt;strong&gt;who actually placed orders&lt;/strong&gt;.&lt;/p&gt;

&lt;h4&gt;
  
  
  SQL Syntax applied.
&lt;/h4&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;c&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;id&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;span class="k"&gt;c&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;o&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;order_id&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;span class="n"&gt;o&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;sales&lt;/span&gt;
&lt;span class="k"&gt;FROM&lt;/span&gt; &lt;span class="n"&gt;Customers&lt;/span&gt; &lt;span class="k"&gt;c&lt;/span&gt;
&lt;span class="k"&gt;INNER&lt;/span&gt; &lt;span class="k"&gt;JOIN&lt;/span&gt; &lt;span class="n"&gt;Orders&lt;/span&gt; &lt;span class="n"&gt;o&lt;/span&gt;
&lt;span class="k"&gt;ON&lt;/span&gt; &lt;span class="k"&gt;c&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;CustomerID&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;o&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;CustomerID&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;Results of merged tables after executing INNER JOIN&lt;/strong&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%2Frbbnu2ya5w700qhrizuf.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%2Frbbnu2ya5w700qhrizuf.png" alt="Merged tables after executing INNER JOIN" width="800" height="492"&gt;&lt;/a&gt;&lt;/p&gt;

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

&lt;h4&gt;
  
  
  What it does
&lt;/h4&gt;

&lt;p&gt;Returns ALL records from the left table and matching ones from the right.&lt;/p&gt;

&lt;h4&gt;
  
  
  Example
&lt;/h4&gt;

&lt;p&gt;Show all customers, even those without orders.&lt;br&gt;
&lt;strong&gt;(LEFT JOIN Venn Diagram)&lt;/strong&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%2F5ncldrn9fezgx4wd9o4b.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%2F5ncldrn9fezgx4wd9o4b.png" alt="Venn LEFT JOIN diagram" width="720" height="545"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  Syntax
&lt;/h4&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;c&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;id&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;span class="k"&gt;c&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;o&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;order_id&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;span class="n"&gt;o&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;sales&lt;/span&gt;
&lt;span class="k"&gt;FROM&lt;/span&gt; &lt;span class="n"&gt;Customers&lt;/span&gt; &lt;span class="k"&gt;c&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;Orders&lt;/span&gt; &lt;span class="n"&gt;o&lt;/span&gt;
&lt;span class="k"&gt;ON&lt;/span&gt; &lt;span class="k"&gt;c&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;CustomerID&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;o&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;CustomerID&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;Final Results after executing (LEFT JOINT)&lt;/strong&gt;&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%2Fr9f6od9zvc7qcmirjnau.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%2Fr9f6od9zvc7qcmirjnau.png" alt="Merged tables after executing LEFT JOIN  " width="702" height="461"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  3. RIGHT JOIN
&lt;/h3&gt;

&lt;h4&gt;
  
  
  What it does
&lt;/h4&gt;

&lt;p&gt;Returns all records from the right table and matches from the left.&lt;/p&gt;

&lt;h4&gt;
  
  
  Example
&lt;/h4&gt;

&lt;p&gt;Show all orders, including those missing customer details.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;RIGHT JOIN Venn Diagram&lt;/strong&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%2Fj6oh5fq32m3t54prr5du.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%2Fj6oh5fq32m3t54prr5du.png" alt="Venn RIGHT JOIN Diagram" width="800" height="543"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  Syntax
&lt;/h4&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;c&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;id&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;span class="k"&gt;c&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;o&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;orde_id&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;span class="k"&gt;order&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;sales&lt;/span&gt;
&lt;span class="k"&gt;FROM&lt;/span&gt; &lt;span class="n"&gt;Customers&lt;/span&gt; &lt;span class="k"&gt;c&lt;/span&gt;
&lt;span class="k"&gt;RIGHT&lt;/span&gt; &lt;span class="k"&gt;JOIN&lt;/span&gt; &lt;span class="n"&gt;Orders&lt;/span&gt; &lt;span class="n"&gt;o&lt;/span&gt;
&lt;span class="k"&gt;ON&lt;/span&gt; &lt;span class="k"&gt;c&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;CustomerID&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;o&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;CustomerID&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



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

&lt;h4&gt;
  
  
  What it does
&lt;/h4&gt;

&lt;p&gt;Returns all records from both tables, whether matching or not.&lt;/p&gt;

&lt;h4&gt;
  
  
  Example
&lt;/h4&gt;

&lt;p&gt;Audit missing data between systems.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;FULL OUTER JOIN Venn Diagram&lt;/strong&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%2Feqq9f3yzb439q7ew35p6.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%2Feqq9f3yzb439q7ew35p6.png" alt="FULL OUTER JOIN Venn Diagram" width="800" height="554"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  Syntax
&lt;/h4&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;c&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;id&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;span class="k"&gt;c&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;o&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;order_id&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;span class="n"&gt;o&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;sales&lt;/span&gt;
&lt;span class="k"&gt;FROM&lt;/span&gt; &lt;span class="n"&gt;Customers&lt;/span&gt; &lt;span class="k"&gt;c&lt;/span&gt;
&lt;span class="k"&gt;FULL&lt;/span&gt; &lt;span class="k"&gt;OUTER&lt;/span&gt; &lt;span class="k"&gt;JOIN&lt;/span&gt; &lt;span class="n"&gt;Orders&lt;/span&gt; &lt;span class="n"&gt;o&lt;/span&gt;
&lt;span class="k"&gt;ON&lt;/span&gt; &lt;span class="k"&gt;c&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;CustomerID&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;o&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;CustomerID&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;Merged tables after executing FULL OUTER JOIN&lt;/strong&gt;&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%2Fwc6gndzjhr1znpaj8xcw.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%2Fwc6gndzjhr1znpaj8xcw.png" alt="Image showing merged tables after executing FULL OUTER JOIN" width="800" height="602"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  5. LEFT ANTI JOIN
&lt;/h2&gt;

&lt;h3&gt;
  
  
  What it does
&lt;/h3&gt;

&lt;p&gt;Returns records from the left table that have &lt;strong&gt;no match&lt;/strong&gt; in the right table.&lt;/p&gt;

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

&lt;p&gt;Customers who have never placed orders.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;LEFT ANTI JOIN Venn Diagram&lt;/strong&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%2Fj5fhfa300x0j9d1ykctg.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%2Fj5fhfa300x0j9d1ykctg.png" alt="Left ANTI JOIN Venn Diagram" width="800" height="536"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Syntax
&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;SELECT&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt;
&lt;span class="k"&gt;c&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;id&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;span class="k"&gt;c&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;o&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;id&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;span class="n"&gt;o&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;sales&lt;/span&gt;
&lt;span class="k"&gt;FROM&lt;/span&gt; &lt;span class="n"&gt;Customers&lt;/span&gt; &lt;span class="k"&gt;c&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;Orders&lt;/span&gt; &lt;span class="n"&gt;o&lt;/span&gt;
&lt;span class="k"&gt;ON&lt;/span&gt; &lt;span class="k"&gt;c&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;CustomerID&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;o&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;CustomerID&lt;/span&gt;
&lt;span class="k"&gt;WHERE&lt;/span&gt; &lt;span class="n"&gt;o&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;CustomerID&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;p&gt;&lt;strong&gt;Results after executing LEFT ANTI JOIN&lt;/strong&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%2Fs3ogfgz83gjc1yy6dniv.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%2Fs3ogfgz83gjc1yy6dniv.png" alt="Image showing LEFT ANTI JOIN case example" width="800" height="202"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  6. RIGHT ANTI JOIN
&lt;/h3&gt;

&lt;h4&gt;
  
  
  What it does
&lt;/h4&gt;

&lt;p&gt;Returns records from the right table without matches in the left.&lt;/p&gt;

&lt;h4&gt;
  
  
  Example
&lt;/h4&gt;

&lt;p&gt;Orders with missing customers.&lt;br&gt;
&lt;strong&gt;(RIGHT ANTI JOIN Venn Diagram)&lt;/strong&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%2Fgrpvdyuv1v1qcyszj5dh.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%2Fgrpvdyuv1v1qcyszj5dh.png" alt="RIGHT ANTI JOIN Venn Digarm" width="800" height="546"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  Syntax
&lt;/h4&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;c&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;id&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;span class="k"&gt;c&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;o&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;id&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;span class="n"&gt;o&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;sales&lt;/span&gt;
&lt;span class="k"&gt;FROM&lt;/span&gt; &lt;span class="n"&gt;Customers&lt;/span&gt; &lt;span class="k"&gt;c&lt;/span&gt;
&lt;span class="k"&gt;RIGHT&lt;/span&gt; &lt;span class="k"&gt;JOIN&lt;/span&gt; &lt;span class="n"&gt;Orders&lt;/span&gt; &lt;span class="n"&gt;o&lt;/span&gt;
&lt;span class="k"&gt;ON&lt;/span&gt; &lt;span class="k"&gt;c&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;CustomerID&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;o&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;CustomerID&lt;/span&gt;
&lt;span class="k"&gt;WHERE&lt;/span&gt; &lt;span class="k"&gt;c&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;CustomerID&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;p&gt;&lt;strong&gt;(Results after executing RIGHT ANTI JOIN)&lt;/strong&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%2Falu8k1cbcw0kj5pp6b9q.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%2Falu8k1cbcw0kj5pp6b9q.png" alt="Image showing RIGHT ANTI JOIN case example" width="800" height="188"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Creating Joins in Power BI (Power Query)
&lt;/h2&gt;

&lt;p&gt;Unlike SQL, Power BI creates joins visually.&lt;/p&gt;

&lt;h3&gt;
  
  
  Step-by-Step
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;Open &lt;strong&gt;Power BI Desktop&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Transform Data&lt;/strong&gt; ➡️ Power Query Editor&lt;/li&gt;
&lt;li&gt;Select a table&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Home ➡️ Merge Queries&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Select the second table&lt;/li&gt;
&lt;li&gt;Choose matching columns&lt;/li&gt;
&lt;li&gt;Select Join Type:&lt;/li&gt;
&lt;/ol&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Left Outer&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Right Outer&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Full Outer&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Left Anti&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Right Anti&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Then,&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Click &lt;strong&gt;OK&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Expand columns&lt;/li&gt;
&lt;/ol&gt;

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

&lt;p&gt;After loading data, Power BI connects tables using &lt;strong&gt;Relationships&lt;/strong&gt; instead of joins.&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%2Fd80n21cls17qmvtgy87q.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%2Fd80n21cls17qmvtgy87q.png" alt="Image showing Relations between different tables" width="449" height="431"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Types of Relationships
&lt;/h3&gt;

&lt;h4&gt;
  
  
  1. One-to-Many
&lt;/h4&gt;

&lt;p&gt;Most common relationship.&lt;/p&gt;

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

&lt;ul&gt;
&lt;li&gt;One customer-to-many orders&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  2. Many-to-Many
&lt;/h3&gt;

&lt;p&gt;Occurs when both tables contain duplicates.&lt;/p&gt;

&lt;p&gt;For example:&lt;br&gt;
Students and Courses.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. One-to-One (1:1)
&lt;/h3&gt;

&lt;p&gt;Rare; both tables contain unique keys.&lt;/p&gt;

&lt;h2&gt;
  
  
  Cardinality
&lt;/h2&gt;

&lt;p&gt;Cardinality defines how tables relate either :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;One-to-Many&lt;/li&gt;
&lt;li&gt;Many-to-One&lt;/li&gt;
&lt;li&gt;Many-to-Many&lt;/li&gt;
&lt;li&gt;One-to-One&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This you Set inside &lt;strong&gt;Manage Relationships&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Active vs Inactive Relationships
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Active&lt;/strong&gt; relationships are used automatically in visuals.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Inactive&lt;/strong&gt; are used via DAX (&lt;code&gt;USERELATIONSHIP()&lt;/code&gt;).&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Example:&lt;br&gt;
Order Date vs Ship Date.&lt;/p&gt;

&lt;h2&gt;
  
  
  Cross Filter Direction
&lt;/h2&gt;

&lt;p&gt;Controls filtering flow we have &lt;strong&gt;Single direction&lt;/strong&gt; which is recommended and &lt;strong&gt;Both directions&lt;/strong&gt; which you should use carefully.&lt;/p&gt;

&lt;h2&gt;
  
  
  Creating Relationships in Power BI
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Method 1: Model View
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;Open &lt;strong&gt;Model View&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Drag the key column between tables&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  Method 2: Manage Relationships
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;Home ➡️ Manage Relationships&lt;/li&gt;
&lt;li&gt;New&lt;/li&gt;
&lt;li&gt;Select tables and columns&lt;/li&gt;
&lt;li&gt;Set cardinality and filter direction&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Joins vs Relationships (Key Difference)
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Joins&lt;/th&gt;
&lt;th&gt;Relationships&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Combine tables physically&lt;/td&gt;
&lt;td&gt;Keep tables separate&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Done in Power Query&lt;/td&gt;
&lt;td&gt;Done in Model View&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Creates new table&lt;/td&gt;
&lt;td&gt;Logical connection&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Happens during load&lt;/td&gt;
&lt;td&gt;Happens during analysis&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Note that &lt;strong&gt;Joins&lt;/strong&gt; prepare data and &lt;strong&gt;Relationships&lt;/strong&gt; enable analysis.&lt;/p&gt;

&lt;h2&gt;
  
  
  Fact and Dimension Tables
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Fact Tables
&lt;/h3&gt;

&lt;p&gt;Contain measurable events.&lt;/p&gt;

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

&lt;ul&gt;
&lt;li&gt;Sales Amount&lt;/li&gt;
&lt;li&gt;Quantity Sold&lt;/li&gt;
&lt;li&gt;Transactions&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Characteristics:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Large&lt;/li&gt;
&lt;li&gt;Contains numeric values&lt;/li&gt;
&lt;li&gt;Contains foreign keys&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Dimension Tables
&lt;/h2&gt;

&lt;p&gt;Provide descriptive context.(&lt;strong&gt;Atrributes&lt;/strong&gt;)&lt;/p&gt;

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

&lt;ul&gt;
&lt;li&gt;Customer&lt;/li&gt;
&lt;li&gt;Product&lt;/li&gt;
&lt;li&gt;Date&lt;/li&gt;
&lt;li&gt;Location&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Characteristics:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Text attributes&lt;/li&gt;
&lt;li&gt;Smaller tables&lt;/li&gt;
&lt;/ul&gt;

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

&lt;h3&gt;
  
  
  1. Star Schema ⭐️
&lt;/h3&gt;

&lt;p&gt;A fact table in the center is connected to dimensions. This is recommended for business reporting dashboards. Benefits include performance and easy understanding&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;(Star schema diagram)&lt;/strong&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%2F553ulejlkvsdozz7th1j.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%2F553ulejlkvsdozz7th1j.png" alt="Image showing a star schema diagram" width="800" height="400"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Snowflake Schema
&lt;/h3&gt;

&lt;p&gt;Dimensions are split into related tables. This is used in normalized enterprise systems. It has its Pros which include redundancy but can include more complex queries.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;(snowflake diagram)&lt;/strong&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%2F4hgllqxbuoq3nux2gg6d.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%2F4hgllqxbuoq3nux2gg6d.png" alt="Image showing snowflake diagram" width="800" height="400"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Flat Table (DLAT – Denormalized Large Analytical Table)
&lt;/h3&gt;

&lt;p&gt;All data is stored in one table. This is used for small datasets or quick prototypes. It's a simple setup and simple to understand, but it can result in poor scalability and slow performance.&lt;/p&gt;

&lt;h2&gt;
  
  
  Role-Playing Dimensions
&lt;/h2&gt;

&lt;p&gt;A single dimension is used multiple times. For example, a date table can be used as the order date, ship date, and delivery date. The solution is to create multiple relationships (one active).&lt;/p&gt;

&lt;h2&gt;
  
  
  Common Data Modeling Issues
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Circular relationships&lt;/li&gt;
&lt;li&gt;Many-to-many misuse&lt;/li&gt;
&lt;li&gt;Bidirectional filtering confusion&lt;/li&gt;
&lt;li&gt;Duplicate keys&lt;/li&gt;
&lt;li&gt;Missing dimension tables&lt;/li&gt;
&lt;/ul&gt;

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

&lt;p&gt;Data modelling is not just a technical step but the &lt;strong&gt;architecture behind every reliable Power BI report&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Understanding joins teaches how data is combined.&lt;br&gt;
Understanding relationships teaches how data communicates during analysis.&lt;br&gt;
Understanding schemas teaches how data scales.&lt;/p&gt;

&lt;p&gt;Master these concepts, and Power BI stops being just a visualisation tool and becomes a powerful analytical engine.&lt;br&gt;
Try opening one of your old Power BI files today, switch to &lt;em&gt;Model View&lt;/em&gt;, and redesign it using a Star Schema. You might be surprised how much faster and clearer your reports can become.&lt;br&gt;
If this article helped you understand Power BI data modeling better, share it with someone who is learning, and start talking about good ways to work with data&lt;/p&gt;

&lt;p&gt;Happy modelling!&lt;/p&gt;

</description>
      <category>dataengineering</category>
      <category>microsoft</category>
      <category>sql</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>How to Connect Slicers with scattered plot on an Excel Dashboard (Beginner-Friendly Guide That Actually Works)</title>
      <dc:creator>joseph mwangi</dc:creator>
      <pubDate>Fri, 27 Mar 2026 07:50:37 +0000</pubDate>
      <link>https://dev.to/joseph_mwangi_3ae1f57a132/-how-to-connect-slicers-with-scattered-plot-on-an-excel-dashboard-beginner-friendly-guide-that-2bnf</link>
      <guid>https://dev.to/joseph_mwangi_3ae1f57a132/-how-to-connect-slicers-with-scattered-plot-on-an-excel-dashboard-beginner-friendly-guide-that-2bnf</guid>
      <description>&lt;h2&gt;
  
  
  Introduction
&lt;/h2&gt;

&lt;p&gt;When building dashboards in Excel, one of the frustrating experiences is realizing that your slicers work perfectly with PivotTables, but your scattered charts refuse to respond correctly.&lt;br&gt;
You try clicking filters expecting your dashboard to behave interactively, but your scattered plots remain unchanged. One might even conclude that Excel is malfunctioning. But no, the Excel is functioning fine.&lt;/p&gt;

&lt;p&gt;I recently faced this challenge while building a dashboard for my Excel project. What looked like an issue turned out to reveal one of the most misunderstood concepts in Excel dashboards.&lt;/p&gt;

&lt;p&gt;Here is the good news. Once you understand how &lt;strong&gt;slicers&lt;/strong&gt;, &lt;strong&gt;PivotTables&lt;/strong&gt;, and &lt;strong&gt;Scattered charts&lt;/strong&gt; work together, troubleshooting becomes very easy.&lt;/p&gt;

&lt;p&gt;In this guide, I’ll walk you step-by-step through connecting slicers to chart plots so your Excel dashboard becomes fully interactive.&lt;/p&gt;
&lt;h3&gt;
  
  
  ⚠️The Problem
&lt;/h3&gt;

&lt;p&gt;When working on a dashboard project, most beginners naturally follow these steps:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Cleaning the dataset and formatting it as an Excel Table.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Creating  PivotTables for summaries.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Adding slicers for filtering.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Building a Scatter Chart for trend analysis in a sheet.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Copying PivotTables and charts into a dashboard layout.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Everything looks perfect at the moment, but until you start interacting with the dashboard, and then suddenly:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Slicers control PivotTables but not charts&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Charts stop updating&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Values look incorrect and may be inflated.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Frustration now begins to build, and many beginners assume Excel is malfunctioning, but Excel is working exactly as designed. The real issue is basically how Excel treats data sources.&lt;/p&gt;
&lt;h3&gt;
  
  
  🔑 A Key Concept to Understand.
&lt;/h3&gt;

&lt;p&gt;Excel charts can use two different data sources:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;PivotTable&lt;/strong&gt; which Aggregates data &lt;strong&gt;(Sum, Count, Average)&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Excel Table&lt;/strong&gt; which uses original &lt;strong&gt;row-level data.&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Please note: pivot tables summarise information, while Scatter charts require individual records.&lt;/p&gt;
&lt;h3&gt;
  
  
  🚫Why You Cannot Properly Plot a Scatter Chart from a PivotTable
&lt;/h3&gt;

&lt;p&gt;A scatter chart plots relationships between observations, and each data point represents one row of data. However, PivotTables do not store rows but instead they:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;group records,&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;values,&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;calculate summaries like &lt;strong&gt;sum&lt;/strong&gt; or &lt;strong&gt;Average&lt;/strong&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;What this means is (X-Y) pairs needed to plot a scatter chart no longer exist; therefore, scatter plots must read &lt;strong&gt;table data&lt;/strong&gt;, not &lt;strong&gt;PivotTable&lt;/strong&gt; summaries.&lt;/p&gt;
&lt;h3&gt;
  
  
  ☑️☑️Correct Architecture for Interactive Dashboards
&lt;/h3&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Raw Data ➡️ Excel Table ➡️ PivotTable ➡️ Slicer
             ⬇️
       Scattered plot(source data from table)

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

&lt;/div&gt;


&lt;p&gt;&lt;strong&gt;Why does this Architecture Work?&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;PivotTables act as the filtering engine.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Slicers control PivotTables.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Charts visualise row‑level data.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Filtering flows through the system logically, forcing charts to perform calculations they were never designed to handle. Think of PivotTables as the control engine and charts as the display layer.&lt;/p&gt;

&lt;p&gt;🪜🪜 Step‑by‑Step Solution(That actually works)☑️☑️&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 1. Convert Your Data into an Excel Table&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Select your dataset ➡ Go to Insert ➡ Table 
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Then, rename the table to something like  &lt;strong&gt;Excel_projectTable&lt;/strong&gt;. You can give it your preferred name; it does not really matter. Excel Tables are most preferred because they:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;expand automatically when new data is added,&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;maintain references,&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;synchronize filtering behavior,&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;allow dashboards to scale without breaking.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Step 2. Build a PivotTable from the Table&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;

Go to Insert ➡️ PivotTable ➡️From Table/Range
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The PivotTable is not your chart’s data source, but use it for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;KPIs&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;summaries&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;aggregations&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;slicer control&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Step 3. Add Slicers and pivot charts to your Dashboard Control Panel&lt;/strong&gt;&lt;br&gt;
Inside pivotTable sheets, you can build pivotCharts using either &lt;strong&gt;(Bars, column, or pie charts)&lt;/strong&gt; for summaries&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;go to pivotTable ➡️ insert ➡️ PivotCharts 
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Select your preferred chart&lt;/p&gt;

&lt;p&gt;For slicers:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;
Go to PivotTable Analyse ➡️ Insert Slicer
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This may include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Category. Electronics, Fashion, Home Appliances&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Brand: Samsung, Nike, Apple&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Rating: 3⭐️, 4⭐️,5⭐️Products&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Region: Nairobi, Mombasa, Kisumu&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Date: Monthly or Quarterly periods&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Think of slicers as the control of your dashboard.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 4. Let's Build a Scatter Chart That Actually Works with Slicers&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 4a. Create the Scatter Chart from the Table&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Open a worksheet.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Select data from your table &lt;code&gt;Excel_practiceproject&lt;/code&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Copy data for (X-Y) to the opened worksheet.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Highlight the two columns.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Go to Insert ➡️ Scatter Chart.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Set:&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;. X‑axis ➡️ influencing variable (example fuel prices )&lt;/p&gt;

&lt;p&gt;. Y‑axis ➡️ outcome variable (example: goods cost of production)&lt;/p&gt;

&lt;p&gt;Then copy the chart into your dashboard sheet.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 4b. Create a Helper PivotTable (The Secret Sauce)&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Create another PivotTable from the table.&lt;/p&gt;

&lt;p&gt;Product ➡️ Rows&lt;/p&gt;

&lt;p&gt;X variable ➡️ Values&lt;/p&gt;

&lt;p&gt;Y variable ➡️Values&lt;/p&gt;

&lt;p&gt;Change aggregation from Sum to Max or Min, this helps avoid values &lt;strong&gt;inflation&lt;/strong&gt; and rename it &lt;strong&gt;Scatter_Helper&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 4C. Convert Pivot Layout&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Go to Design → Report Layout → Show in Tabular Form
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Each field now appears in its column, and this way, you can copy each column.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 4D. Link Helper Data to Dashboard&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Go to dashboard ➡️ Right click on an empty cell(to the far right)➡️ Name the two cells e.g(FUEL PRICE-X, Cost of production-Y)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;Copy columns from Scatter_Helper.
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;
 Go to Paste Special ➡️ Paste Link.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;If you see:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;='Scatter_Helper'!A5&lt;/code&gt; on your formula section, then you are correctly linked.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 4E. Change the data source of the scattered plot&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Change the data source of the chart plot  created from the &lt;strong&gt;Excel_practiceTable&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Right-click on the scattered plot, then:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Go to Select data ➡️ Delete current X Values, and Y values ➡️ replace with values on the dashboard.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Step 5. Connect Slicers to the Helper PivotTable&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;slicer ➡️ Report Connections.&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Select Scatter_Helper.&lt;/p&gt;

&lt;p&gt;Now the magic happens.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;PivotTables update&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Helper PivotTable updates&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Linked cells refresh&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Scatter chart updates&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Why This Works (The Hidden Mechanism)
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;The architecture:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Slicer ➡️ Helper PivotTable ➡️ Linked Cells ➡️ Scatter Chart
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Slicers control PivotTables. The helper PivotTable feeds updated values into linked dashboard cells, allowing the scatter chart to refresh dynamically.&lt;/p&gt;

&lt;h3&gt;
  
  
  Final Result
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;An example of a finished dashboard(&lt;em&gt;Before applying filters&lt;/em&gt;)&lt;/strong&gt;&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%2Fjbhbz3ff5wvql81yk9vt.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%2Fjbhbz3ff5wvql81yk9vt.png" alt="Dashboard before applying slicer filters"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;After applying a filter on the slicers&lt;/strong&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%2F7immybz8a8xtjux7fflg.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%2F7immybz8a8xtjux7fflg.png" alt="Dashboard after applying slicer filters"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Conclusion
&lt;/h3&gt;

&lt;p&gt;At the beginning, the slicers were working. The scatter chart was not responding, and it seemed like there was a problem with Excel. In reality, nothing was actually broken. The data structure just needed to be organised in a way that made sense to Excel.&lt;/p&gt;

&lt;p&gt;Sometimes the best way to improve your analytics is not to get a new tool but to really understand how the current one works. I hope this Guide was helpful. Now, you can avoid static reports but instead create an interactive dashboard.&lt;/p&gt;

&lt;p&gt;Happy dashboard building.&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>data</category>
      <category>productivity</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>From Data collecting to Data Understanding: My First week Of Learning Excel</title>
      <dc:creator>joseph mwangi</dc:creator>
      <pubDate>Thu, 26 Mar 2026 14:27:44 +0000</pubDate>
      <link>https://dev.to/joseph_mwangi_3ae1f57a132/-from-data-collecting-to-data-understanding-my-first-week-of-learning-excel-4n2j</link>
      <guid>https://dev.to/joseph_mwangi_3ae1f57a132/-from-data-collecting-to-data-understanding-my-first-week-of-learning-excel-4n2j</guid>
      <description>&lt;h2&gt;
  
  
  Familiar Tools Become New Again.
&lt;/h2&gt;

&lt;p&gt;Most professionals have, in one way or another, interacted with Excel at some point in their career, but often at the surface level, and honestly i was no exception.&lt;/p&gt;

&lt;p&gt;Having worked in the field of research,&lt;strong&gt;Drug discovery from natural products&lt;/strong&gt;, Excel was always present in my workflow, primarily for collecting experimental data, storing results, sorting observations, and performing simple calculations. Then, this felt sufficient; the tool was actually doing what I needed! Or so I thought.&lt;/p&gt;

&lt;p&gt;However, my interaction with Excel at times reached a dead end. I often found myself wondering what some of these functions actually did, and I would resort to repeated referencing and online searches. Simple operations or tasks that should have been straightforward become tedious, time-consuming, and sometimes frustrating. My one week of learning Excel at LuxDev Academy has changed my perspective entirely. I've realized it is not just a spreadsheet tool; it's also a Data analysis tool.&lt;/p&gt;

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

&lt;p&gt;Microsoft Excel is a software tool designed for &lt;strong&gt;organizing&lt;/strong&gt;,&lt;strong&gt;analyzing&lt;/strong&gt;, and &lt;strong&gt;visualizing&lt;/strong&gt; data using structured rows and columns.&lt;br&gt;
After the data entry process, Excel enables users in:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Managing large datasets efficiently&lt;/li&gt;
&lt;li&gt;Cleaning and transforming datasets.&lt;/li&gt;
&lt;li&gt;Performing mathematical and statistical calculations.&lt;/li&gt;
&lt;li&gt;Creating charts, dashboards, and automating workflows.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;
  
  
  Excel in Real-World Scenarios.
&lt;/h3&gt;

&lt;p&gt;Almost every data-driven field relies on Excel, but I will be focusing on &lt;strong&gt;Excel in Drug Discovery Research&lt;/strong&gt;. In drug discovery, researchers often begin their work by referencing already published datasets either to identify research gaps, avoid duplication of previous work, or compare experimental outcomes.&lt;br&gt;
Let's explore one modern approach,&lt;strong&gt;Network Pharmacology&lt;/strong&gt;. Researchers gather chemical and biological data from multiple databases, such as compound libraries, protein interaction databases, and pathway repositories. These datasets originate from different sources, and they have different formats. Excel, therefore, becomes the integrating tool where researchers:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Removes duplicates&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Merges datasets&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Standardises variables&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Filter relevant targets&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Prepares data for downstream analysis&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;
  
  
  Different Formulas in Excel and how they apply in Data Work.
&lt;/h3&gt;

&lt;p&gt;During my one week of learning Excel, I began by learning Excel formulas not just as abstract functions but as a solving tool, and here are some of the few examples and how they apply in a real analytics workflow, in our case, drug discovery research.&lt;/p&gt;
&lt;h4&gt;
  
  
  &lt;strong&gt;Logical Functions-IF()&lt;/strong&gt;
&lt;/h4&gt;

&lt;p&gt;This function would apply in categorizing experimental outcomes. A good example application is classifying compounds as &lt;strong&gt;Active&lt;/strong&gt; or &lt;strong&gt;Inactive&lt;/strong&gt; based on inhibition values. This would allow automatic classification instead of manual labelling.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;=IF(B2&amp;gt;50,"Active","Inactive")
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h4&gt;
  
  
  Text Cleaning Fuctions-LEFT(),RIGHT(),SUBSTITUTE()
&lt;/h4&gt;

&lt;p&gt;These functions are useful when dealing with datasets with inconsistent formatting. The best example is extracting numerical values from ranges or percentage strings during data cleaning. These functions will transform messy data into analysis-ready datasets.&lt;/p&gt;

&lt;h4&gt;
  
  
  Lookup Functions-XLOOKUP()/VLOOKUP()
&lt;/h4&gt;

&lt;p&gt;How do you apply this function? A good example is when matching compound names with biological targets imported from separate databases. This is a very useful function because rarely do datasets originate from the same source.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;gt;XLOOKUP(A2,Sheet2!A::Sheet2!B:B)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h4&gt;
  
  
  Aggregate Functions-AVERAGE(),SUM(),COUNT()
&lt;/h4&gt;

&lt;p&gt;Most of the experiments are done in triplicate, so these aggregate functions are applied when summarising experiment replicates.&lt;/p&gt;

&lt;h4&gt;
  
  
  Pivot Tables.
&lt;/h4&gt;

&lt;p&gt;Making a pivot table is one of the most transformative skill i learnt. Now, instead of manually summarising results, the pivot table allows me to compare activities across compounds, summarise experimental batches, and analyse trends instantly, interactively, and all in one Excel workbook.&lt;/p&gt;

&lt;h5&gt;
  
  
  Example of an Excel workflow
&lt;/h5&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%2Fy0tsvqodd7vy41wq6lft.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fy0tsvqodd7vy41wq6lft.jpg" alt="Excel workflow for Anticancer Research On Madagascar Periwinkle" width="662" height="380"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Interactive Dashboards
&lt;/h3&gt;

&lt;p&gt;Drug research does not end with lab work and analysis of the data; researchers need to disseminate their months/year of research work to the rest of the world. This session is always allocated very limited time,15 to 20 mins max, and presenting raw spreadsheets is idealistic. The interactive dashboards skill becomes invaluable in this section. With this skill as a researcher, I can :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Summarise my findings visually&lt;/li&gt;
&lt;li&gt;Use slicers to explore my datasets interactively&lt;/li&gt;
&lt;li&gt;Use interactive charts to explain trends&lt;/li&gt;
&lt;li&gt;Highlight key findings instantly (KPI section) &lt;/li&gt;
&lt;/ul&gt;

&lt;h5&gt;
  
  
  Example of an Excel Dashboard
&lt;/h5&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%2Fj9u6m3tx4rwbesu61fea.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%2Fj9u6m3tx4rwbesu61fea.png" alt="Excel dashboard for Network Pharmacology analysis of Anticancer activity of _**Madagascar Periwinkle**_" width="800" height="533"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Rediscovering Excel
&lt;/h3&gt;

&lt;p&gt;Earlier, Excel was simply a storage tool or a digital notebook for recording values. The view has changed to a system for thinking analytically. Data collection alone does not translate to insights. You may gather very important data, but without the ability to clean, analyse, and visualize it effectively, its true value remains hidden. Looking back, I only wish I had learnt this skill earlier. Nevertheless, beginning this learning path has changed how I approach data, which is not just a value to be recorded, but a coded message waiting to be decoded!&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>data</category>
      <category>learning</category>
      <category>microsoft</category>
    </item>
    <item>
      <title>Installing Anaconda on Intel MacBook- Via Terminal</title>
      <dc:creator>joseph mwangi</dc:creator>
      <pubDate>Tue, 17 Mar 2026 11:34:43 +0000</pubDate>
      <link>https://dev.to/joseph_mwangi_3ae1f57a132/installing-anaconda-on-intel-macbook-via-terminal-47ai</link>
      <guid>https://dev.to/joseph_mwangi_3ae1f57a132/installing-anaconda-on-intel-macbook-via-terminal-47ai</guid>
      <description>&lt;h2&gt;
  
  
  Step-by-step installation of Anaconda on an Intel Macbook Via terminal.
&lt;/h2&gt;

&lt;p&gt;When you want to install Anaconda on your intel Macbook Pc, it is recommended to do it through the terminal. This way, it is more reliable, and you have control over the installation process. It avoids the common problems caused by macOS security restrictions that sometimes block the graphical installer. I will be demonstrating a step-by-step process on how to get Anaconda on your Intel MacBook via terminal.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 1
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Check your Mac type first. This is very crucial.
&lt;/h3&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt; Apple Silcon ( M1/M2/M3)

         OR
 Intel
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;To check this, Click On the Apple Menu &amp;gt; About the Mac and look for&lt;/p&gt;

&lt;p&gt;Chip &lt;strong&gt;- &lt;em&gt;M1&lt;/em&gt;/&lt;em&gt;M2/M3&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Processor -&lt;em&gt;Intel&lt;/em&gt; -&lt;em&gt;intel&lt;/em&gt; Mac&lt;/p&gt;

&lt;p&gt;&lt;a href="https://youtu.be/3gLGWqgbAgk?si=-1piwd48Lv9ek7jl" rel="noopener noreferrer"&gt;How to Check MacBook Processor&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 2
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Downloading the correct installer
&lt;/h3&gt;

&lt;p&gt;The Intel Mac Version is no longer shown on the main download page &lt;a href="https://www.anaconda.com/download" rel="noopener noreferrer"&gt;Main download page&lt;/a&gt;. Anaconda officially stopped publishing new Intel-Mac Installers in 2025, but it is still kept on the &lt;strong&gt;archive page&lt;/strong&gt;. For intel Mac book users, you should download the &lt;strong&gt;Legacy Intel Installer&lt;/strong&gt; manually.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Open the archive Download page&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Hit click on this &lt;a href="https://repo.anaconda.com/archive/" rel="noopener noreferrer"&gt;official archive&lt;/a&gt;.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Find the Intel Installer&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Scroll down and look for the latest file, preferably (2025) with a name ending with.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;MacOSX-x86_64.sh&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;Note&lt;/strong&gt; you shoould select -x86- (which is intel)&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Not&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;arm64- which is Apple Silicon&lt;/li&gt;
&lt;li&gt;Linux&lt;/li&gt;
&lt;li&gt;Windows&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%2Fsqiajxpwq5tjluhcuk4v.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%2Fsqiajxpwq5tjluhcuk4v.png" alt="Anaconda repository file screenshot" width="800" height="558"&gt;&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;Download the &lt;strong&gt;sh.&lt;/strong&gt; not the &lt;strong&gt;.pkg&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 3
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Installing via Terminal
&lt;/h3&gt;

&lt;p&gt;Open your terminal. Click &lt;strong&gt;command&lt;/strong&gt;+ &lt;strong&gt;Space&lt;/strong&gt; and type terminal.&lt;/p&gt;

&lt;p&gt;Open the terminal and run:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Bash&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;code&gt;cd ~/Downloads&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Then:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Bash&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;code&gt;bash Anaconda3-MacOOOX-x86_64.sh&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Follow the prompt -type &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;yes or press enter&lt;/p&gt;
&lt;/blockquote&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%2Fido926hhqcz1m7uggrwk.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%2Fido926hhqcz1m7uggrwk.png" alt="Terminal screenshot" width="800" height="533"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;conda&lt;/strong&gt; will now work automatically in termininal.&lt;/p&gt;

&lt;p&gt;After hitting enter it will say &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;modified  /User/mac/ .Zshrc&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Installation is complete&lt;/p&gt;

&lt;h2&gt;
  
  
  Final step
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Restart terminal
&lt;/h3&gt;

&lt;p&gt;Close the Terminal and the reopen.&lt;/p&gt;

&lt;p&gt;In the new terminal window type&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Bash&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;code&gt;conda --version&lt;/code&gt;&lt;/p&gt;

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

&lt;p&gt;If you see that, you have successfully installed Anaconda in your &lt;strong&gt;Intel Mac&lt;/strong&gt;- via Terminal. To open the installed Anaconda now, still on the terminal, type&lt;/p&gt;

&lt;p&gt;&lt;code&gt;Anaconda-Navigator&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;An ancadonda Navigator icon will pop up at the taskbar. &lt;/p&gt;

&lt;p&gt;Click the icon, and you will see Applications on the Anaconda Navigator dashboard.&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%2Fdsep9e4vwxpeifowwkda.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%2Fdsep9e4vwxpeifowwkda.png" alt="Anaconda-navigator/dashboard/screenshot" width="800" height="602"&gt;&lt;/a&gt;&lt;/p&gt;

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

&lt;p&gt;I hope this article was able to show you how to install Anaconda on your Intel MacBook.In the upcoming series i will be showing you how to navigate through different applications on the Anaconda Navigator to get you started in your journey as a data scientist/analyst/Engineer or a software engineer.If you have any questions, feel free to leave them in the comments area.&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>cli</category>
      <category>python</category>
      <category>tutorial</category>
    </item>
  </channel>
</rss>
