<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: Timothy Atinuke</title>
    <description>The latest articles on Forem by Timothy Atinuke (@atinuke77).</description>
    <link>https://forem.com/atinuke77</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%2F3861694%2Fcd12b09c-e781-4286-a6fc-1ad37a92af0a.png</url>
      <title>Forem: Timothy Atinuke</title>
      <link>https://forem.com/atinuke77</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/atinuke77"/>
    <language>en</language>
    <item>
      <title>Clean, Transform, and Load Data in Power BI: A Practical Guide to Data Preparation</title>
      <dc:creator>Timothy Atinuke</dc:creator>
      <pubDate>Tue, 28 Apr 2026 03:56:17 +0000</pubDate>
      <link>https://forem.com/atinuke77/clean-transform-and-load-data-in-power-bi-a-practical-guide-to-data-preparation-34bj</link>
      <guid>https://forem.com/atinuke77/clean-transform-and-load-data-in-power-bi-a-practical-guide-to-data-preparation-34bj</guid>
      <description>&lt;h2&gt;
  
  
  INTRODUCTION
&lt;/h2&gt;

&lt;p&gt;Data cleaning is the process of identifying and correcting errors, anomalies and inconsistencies in raw data sets to improve the quality of the data and get it ready for advanced analysis and modeling. In today’s data-driven world, raw data is often messy and rarely ready for analysis. The real value of a data analyst lies not just in collecting data, but in their ability to prepare it for meaningful insights. Data cleaning and transformation is essential because it organize tables, remove duplicates, simplify complicated columns through merging or appending, remove duplicates and null values, improve result accuracy for better and informed decision making. This is where ETL (Extract, Transform, Load) becomes essential. Power Query Editor in Power BI Desktop allows you to shape (transform) your imported data. Power Query Editor only modifies a view of your data, so you can be confident that your original data source remains unchanged.&lt;br&gt;
Using Microsoft Power BI, analysts can efficiently clean, transform, and load data into a structured model ready for visualization and reporting.&lt;br&gt;
This guide walks you through the step-by-step practical process of preparing data in Power BI from cleaning messy datasets to transforming the data into analysis-ready format and finally loading it into the data model for modeling and visualization.&lt;/p&gt;

&lt;h2&gt;
  
  
  ARCHITECTURE OVERVIEW
&lt;/h2&gt;

&lt;p&gt;Power BI’s data preparation workflow through the Power Query Editor is where:&lt;br&gt;
• Data Cleaning occurs&lt;br&gt;
• Data Transformations are performed &lt;br&gt;
• Data Loading for analysis is applied &lt;/p&gt;

&lt;p&gt;Each step performed is recorded, making your workflow reproducible and easy to modify.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Working with Power Query Editor&lt;/strong&gt;&lt;br&gt;
The Power Query Editor is the central workspace for data transformation.&lt;br&gt;
Steps:&lt;br&gt;
• Access it via Transform Data in Power BI Desktop &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%2F3g0uvxyu2ncklcjjjikl.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%2F3g0uvxyu2ncklcjjjikl.PNG" alt="Image 1" width="800" height="439"&gt;&lt;/a&gt;&lt;br&gt;
• Each transformation step is recorded in the Applied Steps pane &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%2Fxqpa7kikrcgscwpwdh4k.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%2Fxqpa7kikrcgscwpwdh4k.PNG" alt="Image 2" width="258" height="548"&gt;&lt;/a&gt;&lt;br&gt;
• Changes are repeatable and refresh automatically with new data&lt;br&gt;
Key advantage: It enables a no-code/low-code approach while still supporting advanced transformations.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. Promoting Headers&lt;/strong&gt;&lt;br&gt;
Often, datasets load with the first row as data instead of column names.&lt;br&gt;
To promote header, &lt;br&gt;
&lt;strong&gt;Steps:&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Go to Home Column&lt;/li&gt;
&lt;li&gt;Use “Use First Row as Headers”&lt;/li&gt;
&lt;li&gt;Ensure columns are properly labeled for easier analysis
&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%2F3y7v12m40b026txoiizx.PNG" alt="Image 3" width="800" height="448"&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;2. Creating Index Columns&lt;/strong&gt;&lt;br&gt;
Index columns help to assign unique integer to each row in a table for easy row identification, sorting and modeling.&lt;/p&gt;

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

&lt;ol&gt;
&lt;li&gt;Go to Add Column → Index Column
&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%2Fzzyfixvxixdd59v7qnt3.PNG" alt="Image 4" width="800" height="415"&gt;
&lt;/li&gt;
&lt;li&gt;Choose: From 0, From 1 or Custom increment (which define a starting value and increment, e.g., 3, 6, 9…)
&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%2Fwsyk9xcy2j6e2449dq4j.PNG" alt="Image 5" width="800" height="432"&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;3. Conditional Columns and Logic&lt;/strong&gt;&lt;br&gt;
Conditional columns is used in the creation of new columns based on rule (IF-THEN-ELSE logic) applied to the existing columns&lt;/p&gt;

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

&lt;ol&gt;
&lt;li&gt;Navigate to Add Column → Conditional Column
&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%2F23ntahe30sjp8ykufudi.png" alt="Image 6" width="800" height="447"&gt;
&lt;/li&gt;
&lt;li&gt; Define logic like:&lt;/li&gt;
&lt;li&gt; If Salary = 50,000 → “Full Employee”&lt;/li&gt;
&lt;li&gt; Else → “Contract Worker”
&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%2F9wosogu7seyhzztnkmnw.PNG" alt="Image 7" width="800" height="404"&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;4. Column from Examples&lt;/strong&gt;&lt;br&gt;
It automatically creates new columns by providing one or more example values from existing columns in the table.&lt;/p&gt;

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

&lt;ol&gt;
&lt;li&gt;Go to Add Column → Column from Examples
&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%2Forjj24c4pf1iy22bmrek.PNG" alt="Image 8" width="800" height="394"&gt;
&lt;/li&gt;
&lt;li&gt;Provide sample outputs 
&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%2Fanofanfjcls87zh4v8k3.PNG" alt="Image 9" width="800" height="426"&gt;
&lt;/li&gt;
&lt;li&gt;Power BI automatically detects the transformation logic.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;5. Unpivot and Pivot Columns&lt;/strong&gt;&lt;br&gt;
    These operations reorganize dataset making dataset more flexible, consistent and compatible for analysis. Pivot Columns: turn long data (category values) from rows into wide format (separate columns). Unpivot Columns: Converts wide data (columns) into long format (rows).&lt;/p&gt;

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

&lt;ol&gt;
&lt;li&gt;Go to Home → Transform
&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%2F36sjfznql1po1xjdzy4u.png" alt="Image 10" width="800" height="450"&gt;
&lt;/li&gt;
&lt;li&gt;Select column to unpivot/pivot
&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%2Fs31fmfimgy3b6vbkdi3c.jpeg" alt="Image 11" width="768" height="406"&gt;
&lt;/li&gt;
&lt;li&gt;Click Pivot column to convert
&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%2Fjmlk4mb4cqt8ufl3n4cx.jpeg" alt="Image 12" width="557" height="156"&gt;
&lt;/li&gt;
&lt;li&gt;Chose value column (e.g., Sales) to populate the pivoted data
&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%2F6jogb9j4smggih6r4ss0.jpeg" alt="Image 13" width="768" height="362"&gt;
&lt;/li&gt;
&lt;li&gt;Click Ok&lt;/li&gt;
&lt;li&gt;To Unpivot, click unpivot and unpivot columns 
&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%2Fpa5ofc5xu8tf0lznhydg.jpeg" alt="Image 14" width="686" height="160"&gt;
&lt;/li&gt;
&lt;li&gt;Press Ok 
&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%2Fvpyla1a60j7utnze7yp6.jpeg" alt="Image 15" width="768" height="423"&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;6. Grouping and Aggregation&lt;/strong&gt;&lt;br&gt;
Grouping helps summarize data by primarily using the “Group By”.&lt;br&gt;
&lt;strong&gt;Steps:&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Go to Transform → Group By
&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%2Fen86dea3cqxeq8o1vne1.PNG" alt="Image 16" width="800" height="406"&gt;
&lt;/li&gt;
&lt;li&gt;Apply aggregations like: Sum, Count, Average, Min/Max
Example:&lt;/li&gt;
&lt;li&gt;Total sales by region&lt;/li&gt;
&lt;li&gt;Average revenue per customer 
&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%2Fwx638od6l3b7z8ppl1yf.PNG" alt="Image 17" width="710" height="401"&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;7. Merge and Append Queries&lt;/strong&gt;&lt;br&gt;
Used for combining datasets:&lt;br&gt;
&lt;strong&gt;Merge Queries&lt;/strong&gt; (Join) extract a particular column from one table to join another table through the use of a common key. E.g. merging customer and transaction tables.&lt;br&gt;
&lt;strong&gt;Append Queries&lt;/strong&gt; (Union) concatenate rows from two tables with the same structure into a single table. E.g. appending monthly datasets.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
Merging increases the number of columns in the table while Appending increases the number of rows in the table.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Step: To Merge&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Open Power query editor through the transform data&lt;/li&gt;
&lt;li&gt;Select the table to merge from the left pane (e.g., CodeSphere Hub Sales 2019)&lt;/li&gt;
&lt;li&gt;Click on the Home Tab and select the Merge Queries
&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%2F9eosd44sp8xhroo4yanw.PNG" alt="Image 18" width="800" height="419"&gt;
&lt;/li&gt;
&lt;li&gt;Choose “Merge Queries” to merge directly into selected table or “Merge Queries as New” to create a new merged table 
&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%2Fb2ovi7oqlfiq0qsiijo1.PNG" alt="Image 19" width="800" height="407"&gt;
&lt;/li&gt;
&lt;li&gt;Select the data table from the first drop down and select the common column (e.g., Product_Key)&lt;/li&gt;
&lt;li&gt;Select the second table from the second drop down and chose the matching column (I.e. Product_Key)
&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%2F4xxew4fynuymalk2xd1x.PNG" alt="Image 20" width="742" height="658"&gt;
&lt;/li&gt;
&lt;li&gt;Click ok
&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%2F1erj84ryekhph1der8nd.PNG" alt="Image 21" width="800" height="418"&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Step: To Append&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Open Power query editor through the transform data&lt;/li&gt;
&lt;li&gt;Select the table to append (e.g., CodeSphere Hub Sales 2019)&lt;/li&gt;
&lt;li&gt;Click on the Home Tab and select the Append Queries
&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%2Fcpynl816tzlbxnirbtzj.png" alt="Image 22" width="800" height="419"&gt;
&lt;/li&gt;
&lt;li&gt;Choose “Append Queries” to append directly into selected table or “Append Queries as New” to create a new appended table
&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%2Fx7fhh8vuktn4426gusiu.PNG" alt="Image 23" width="800" height="416"&gt;
&lt;/li&gt;
&lt;li&gt;Select the first query from the first drop down selection (e.g., CodeSphere Hub Sales 2019)&lt;/li&gt;
&lt;li&gt;Select the second query from the second drop down selection (e.g., CodeSphere Hub Sales 2020)&lt;/li&gt;
&lt;li&gt;Click ok 
&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%2Fj6wkzkjaze7ovd3tvi3b.PNG" alt="Image 24" width="709" height="328"&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;8. Date and Time Transformations&lt;/strong&gt;&lt;br&gt;
     It is essential for creating time-intelligence calculations like, year-to-date, same-period-last-year,  extracting year, month and day, calculating durations, date differences and standardizing date format for time series analysis and trend reporting.&lt;br&gt;
&lt;strong&gt;Step:&lt;/strong&gt; &lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Open Power query editor&lt;/li&gt;
&lt;li&gt;Navigate to Transform → Date or Navigate to Transform → Time to extract values (Day, week, month, quarter, year).
&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%2F2nja07a7lnn9tlnhanmx.PNG" alt="Image 25" width="800" height="412"&gt; &lt;/li&gt;
&lt;/ol&gt;

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

&lt;ol&gt;
&lt;li&gt;To standardize date format, Navigate to Data Type, Select Date/Time, Date or Time to ensure accurate modeling.
&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%2F6jo569v8438cg5m757pj.PNG" alt="Image 28" width="800" height="423"&gt;
&lt;/li&gt;
&lt;/ol&gt;

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

&lt;ol&gt;
&lt;li&gt;Using DAX functions like DATEDIF to calculate differences&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;9. Adding Prefix and Suffix Using Power Query&lt;/strong&gt;&lt;br&gt;
     You can modify text fields by adding prefixes or suffixes.&lt;br&gt;
&lt;strong&gt;Steps:&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Click on Transform data to open Power Query Editor&lt;/li&gt;
&lt;li&gt;Select the column to edit&lt;/li&gt;
&lt;li&gt;Navigate to the Transform Tab&lt;/li&gt;
&lt;li&gt;Click Format 
&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%2Feg7w2nacx1oouixn4o3a.PNG" alt="Image 30" width="800" height="414"&gt;
&lt;/li&gt;
&lt;li&gt;Add Prefix or Suffix
&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%2Fyfrfwkd3c83ag64qy0fc.PNG" alt="Image 31" width="800" height="418"&gt;
&lt;/li&gt;
&lt;li&gt;Enter the desired text/character in the dialog box (e.g. add “NGN” before currency values) 
&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%2Fo5fbguvkhx41oxtgals2.PNG" alt="Image 32" width="800" height="468"&gt;
&lt;/li&gt;
&lt;li&gt;Also enter desired text/character for suffix and Click OK
&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%2F2sqt51fz6qermdq2e346.PNG" alt="Image 33" width="709" height="244"&gt;
&lt;/li&gt;
&lt;li&gt;Or use Custom Column with formulas&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;10. Data Profiling Techniques&lt;/strong&gt;&lt;br&gt;
     Power Query includes built-in data profiling tools for understanding the structure, quality and distribution of data before loading into the model. These tools help quickly assess data health and identify issues.&lt;br&gt;
The 3 concepts of data profiling techniques in power BI are;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Column Profile:&lt;/strong&gt; which shows the entire statistics of a selected column and it shows statistics like Count, Error, Empty, Distinct Unique, Not Available Number (NAN), Min, Max, Zero, Avg, Standard Deviation, Even and Odd.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Column Distribution:&lt;/strong&gt; shows a small histogram under the column header that visualize the frequency and distribution of values. It explicitly list out the number of distinct values and Unique values in a selected column&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Column Quality:&lt;/strong&gt; displays valid data, empty values and percentage of errors&lt;/li&gt;
&lt;/ul&gt;

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

&lt;ol&gt;
&lt;li&gt;Click on Transform data to open Power Query Editor&lt;/li&gt;
&lt;li&gt;Select the column to profile
&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%2Ffrfdmgip1nntfw4stj16.PNG" alt="Image 34" width="800" height="406"&gt;
&lt;/li&gt;
&lt;li&gt;Navigate to the View Tab 
&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%2F0e1z51h2mhvp5fzykkz3.PNG" alt="Image 35" width="800" height="415"&gt;
&lt;/li&gt;
&lt;li&gt;Enable the option to preview by checking the box and unchecking others (e.g. check the box to preview column quality)&lt;/li&gt;
&lt;li&gt;Column Profile 
&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%2Fgfx2ria5giuzy0iuek2d.PNG" alt="Image 36" width="800" height="415"&gt;
&lt;/li&gt;
&lt;li&gt;Column Distribution
&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%2Fbah4ghx40bivz2ktj8ct.PNG" alt="Image 37" width="800" height="406"&gt;
&lt;/li&gt;
&lt;li&gt;Column Quality
&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%2Fb1xry99jyjef3kk9wzg8.PNG" alt="Image 38" width="800" height="404"&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;11. Handling Missing or Null Values&lt;/strong&gt;&lt;br&gt;
Missing data can distort analysis if not handled properly.&lt;/p&gt;

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

&lt;ol&gt;
&lt;li&gt;First, identify missing data through the column quality to see the percentage of valid, error and empty (null) values in every column&lt;/li&gt;
&lt;li&gt;Click the filter arrow on the column header 
&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%2F3w5qzp23w242i91jzxtg.PNG" alt="Image 39" width="800" height="404"&gt;
&lt;/li&gt;
&lt;li&gt;Select null (or blank) to view only rows with missing data 
&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%2Fdcvijp5tcu0ivjjvbaip.PNG" alt="Image 40" width="800" height="421"&gt;
&lt;/li&gt;
&lt;li&gt;To replace manually,

&lt;ul&gt;
&lt;li&gt;Right click a column 
&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%2Fyfhjz8wrw3fo52yp7t3a.PNG" alt="Image 41" width="800" height="413"&gt;
&lt;/li&gt;
&lt;li&gt;Select Replace Values 
&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%2F2bh59n2rzpwrb2m9yvs7.png" alt="Image 42" width="800" height="413"&gt;
&lt;/li&gt;
&lt;li&gt;Type Blank in the “Value to Find” &lt;/li&gt;
&lt;li&gt;Enter replacement (e.g., 0 or Unknown) in the “Replace With” 
&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%2Fvpyusf7kw8ndkom2jg7k.PNG" alt="Image 43" width="760" height="330"&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;To replace null and empty value by filling down, 

&lt;ul&gt;
&lt;li&gt;Select the column Go to Transform Tab
&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%2Flej1m8sp0253o14cocfs.PNG" alt="Image 44" width="800" height="409"&gt;
&lt;/li&gt;
&lt;li&gt;Click Fill and select Down
&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%2Fjoyjninzn7xyaz9l85kj.PNG" alt="Image 45" width="800" height="407"&gt; &lt;/li&gt;
&lt;li&gt;It copies the last non-null value into the subsequent null cells until it hits a new value &lt;/li&gt;
&lt;li&gt;It is also applicable if the “summary” or “header” values us located below the missing data rows.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;To remove Missing Data

&lt;ul&gt;
&lt;li&gt;Select column&lt;/li&gt;
&lt;li&gt;Click on filter arrow and chose remove Empty.
&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%2Fga99z6e6rw8t5xmdf0pp.PNG" alt="Image 46" width="800" height="414"&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  CONCLUSION
&lt;/h2&gt;

&lt;p&gt;Data preparation is the most critical step in any analytics workflow. Power BI’s Power Query Editor provides a robust and flexible environment to clean, transform, and load data efficiently.&lt;br&gt;
By mastering these techniques from basic cleaning to advanced transformations you position yourself to build accurate models, insightful dashboards, and impactful data stories.&lt;br&gt;
The difference between average and exceptional analysis often lies not in visualization but in how well the data was prepared.&lt;/p&gt;

</description>
      <category>microsoft</category>
      <category>etl</category>
    </item>
    <item>
      <title>Getting Data from Multiple Sources in PowerBI: A Practical Guide to Modern Data Integration</title>
      <dc:creator>Timothy Atinuke</dc:creator>
      <pubDate>Sun, 05 Apr 2026 18:15:41 +0000</pubDate>
      <link>https://forem.com/atinuke77/getting-data-from-multiple-sources-in-powerbi-a-practical-guide-to-modern-data-integration-2b9p</link>
      <guid>https://forem.com/atinuke77/getting-data-from-multiple-sources-in-powerbi-a-practical-guide-to-modern-data-integration-2b9p</guid>
      <description>&lt;h2&gt;
  
  
  INTRODUCTION
&lt;/h2&gt;

&lt;p&gt;According to Microsoft, Power BI is a complete reporting solution that offers data preparation, data visualization, distribution, and management through development tools and an online platform. Power BI can scale from simple reports using a single data source to reports requiring complex data modeling and consistent themes. Use Power BI to create visually stunning, interactive reports to serve as the analytics and decision engine behind group projects, divisions, or entire organizations.&lt;br&gt;
The foundation of every successful Power BI report is reliable data ingestion. Before a report can be successfully created, ability to extract data from various data sources is the first crucial step to building an effective report. Interacting with SQL Server is different from Excel, so learning the nuances of how data connection from different sources works is important in order to be able to use other PowerBI tools for effective decision making.&lt;br&gt;
In most real-world business contexts, data is typically spread across multiple sources rather than confined to one. A data analyst may need to integrate data from Excel files, CSVs, SQL Server databases, PDFs, JSON APIs, and SharePoint folders into a unified report. Power BI is well-equipped for this task, offering powerful tools like Get Data and Power Query to efficiently connect, combine, and transform data from various sources. This guide explores how Power BI enables multi-source data integration and provides a step-by-step approach to implementing it effectively.&lt;br&gt;
In this guide, you will learn how to:&lt;br&gt;
• Connect Power BI to multiple data sources efficiently&lt;br&gt;
• Use Power Query to preview and explore your data&lt;br&gt;
• Detect and resolve data quality issues early&lt;br&gt;
• Build a strong foundation for accurate data modeling and reporting.&lt;/p&gt;

&lt;h2&gt;
  
  
  Architecture Overview
&lt;/h2&gt;

&lt;p&gt;At a high level, Power BI follows a layered architecture which consists of:&lt;br&gt;
• Power BI Desktop as the reporting and modeling tool&lt;br&gt;
• Multiple data sources, including:&lt;br&gt;
o   Excel and Text/CSV files&lt;br&gt;
o   SQL Server databases&lt;br&gt;
o   JSON and PDF files&lt;br&gt;
o   SharePoint folders&lt;br&gt;
All data flows into Power BI through Power Query, where it is reviewed and prepared before loading into the data model.&lt;br&gt;
Connecting Data from Multiple Sources&lt;br&gt;
Power BI allows you to connect to a wide range of data sources. Below are step-by-step guides for each major source.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 1: Connecting to Excel&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt; Open Power BI Desktop
&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%2Fdnvnn8dvd3xxzdcr8q2r.png" alt="Image 1" width="800" height="450"&gt;
&lt;/li&gt;
&lt;li&gt; Navigate to Home → Get Data → Excel
&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%2Fnglqpypzpbcpxcddf0su.PNG" alt="Image 2" width="704" height="215"&gt;
&lt;/li&gt;
&lt;li&gt; Browse and select your Excel file
&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%2Fmtbvij2nuof189i7e9p1.PNG" alt="Image 3" width="800" height="240"&gt;
&lt;/li&gt;
&lt;li&gt; In the Navigator window, select the required sheets or tables
&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%2Fhgv0u5wrda6kd2hrwhte.PNG" alt="Image 4" width="800" height="478"&gt;
&lt;/li&gt;
&lt;li&gt; Click Load (to import directly) or Transform Data (to clean first)&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Step 2: Connecting to Text/CSV Files&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt; Open Power BI Desktop&lt;/li&gt;
&lt;li&gt; Navigate to Home → Get Data → Text/CSV 
&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%2F8vj7idd4pt01kz9xklkk.png" alt="Image 5" width="800" height="407"&gt;
&lt;/li&gt;
&lt;li&gt; Browse and select the CSV file (e.g., MultiTimeline.csv)
&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%2Fyumyvhf4rkd482f4btoq.PNG" alt="Image 6" width="790" height="444"&gt;
&lt;/li&gt;
&lt;li&gt; Preview the dataset in the dialog window
&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%2Fwqxnzlopk9xk0f1uecz1.PNG" alt="Image 7" width="798" height="610"&gt;
&lt;/li&gt;
&lt;li&gt; Click Load or Transform Data&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Step 3: Connecting to PDF&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt; Open Power BI Desktop&lt;/li&gt;
&lt;li&gt; Navigate to Home → Get Data → PDF
&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%2Fwkj8hly8cw6aqdgn1ll5.PNG" alt="Image 8" width="686" height="401"&gt;
&lt;/li&gt;
&lt;li&gt; Select the PDF file
&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%2Fnikypl0gfpooe02tnwfg.PNG" alt="Image 9" width="671" height="471"&gt;
&lt;/li&gt;
&lt;li&gt; Wait for Power BI to detect available tables&lt;/li&gt;
&lt;li&gt; Select the desired table(s)&lt;/li&gt;
&lt;li&gt; Click Load or Transform Data
&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%2Fluad9xb25aqwlibpn6ds.PNG" alt="Image 10" width="695" height="538"&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Step 4: Connecting to JSON&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt; Open Power BI Desktop&lt;/li&gt;
&lt;li&gt; Navigate to Home → Get Data → JSON
&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%2F9qslk7pdl4iw7g7bjl7w.PNG" alt="Image 11" width="753" height="498"&gt;
&lt;/li&gt;
&lt;li&gt; Select the JSON file or input API endpoint 
&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%2F8h83e85jsbocn6gb6x22.PNG" alt="Image 12" width="544" height="375"&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%2Fmqnvudmwv1lit6jtvkye.PNG" alt="Image 13" width="800" height="275"&gt;
&lt;/li&gt;
&lt;li&gt; Load the data into Power Query&lt;/li&gt;
&lt;li&gt; Expand nested fields to structure the data properly
&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%2Fxms5l933vrj9o7jk47ei.PNG" alt="Image 14" width="451" height="359"&gt;
&lt;/li&gt;
&lt;li&gt; Click Close &amp;amp; Apply&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Step 5: Connecting to SharePoint Folder&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt; Open Power BI Desktop
&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%2F2xoqmg7u61314xhlj5dz.PNG" alt="Image 15" width="717" height="485"&gt;
&lt;/li&gt;
&lt;li&gt; Navigate to Home → Get Data → SharePoint Folder 
&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%2Fsqsv7jm6xol6jwc2u2tz.png" alt="Image 16" width="606" height="667"&gt;
&lt;/li&gt;
&lt;li&gt; Enter the SharePoint site URL&lt;/li&gt;
&lt;li&gt; Click OK and authenticate if required
&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%2F0olsmx0qdcq17zuwaw5e.PNG" alt="Image 17" width="731" height="493"&gt;
&lt;/li&gt;
&lt;li&gt; Select files from the folder&lt;/li&gt;
&lt;li&gt; Click Combine &amp;amp; Transform Data
&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%2F9islet7owlp1duj9qabn.PNG" alt="Image 18" width="705" height="454"&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Step 6: Connecting to MySQL Database&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt; Open Power BI Desktop
&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%2Famwaxcp9cw2iiaqj0on6.PNG" alt="Image 19" width="800" height="429"&gt;
&lt;/li&gt;
&lt;li&gt; Navigate to Home → Get Data → MySQL Database
&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%2F73wo1lv6hqpldf6vma7q.png" alt="Image 20" width="600" height="660"&gt;
&lt;/li&gt;
&lt;li&gt; Enter the server name and database
&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%2Fes9my5b008btovm7x2z5.PNG" alt="Image 21" width="590" height="235"&gt;
&lt;/li&gt;
&lt;li&gt; Provide authentication credentials and click connect 
&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%2Fnxgxa0idfjkgg7htpd69.PNG" alt="Image 22" width="585" height="326"&gt;
&lt;/li&gt;
&lt;li&gt; Select the required tables&lt;/li&gt;
&lt;li&gt; Click Load or Transform Data
&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%2Fe673rodah8dj9c0qjz1u.PNG" alt="Image 23" width="588" height="269"&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Step 7: Connecting to SQL Server&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt; Open Power BI Desktop&lt;/li&gt;
&lt;li&gt; Navigate to Home → Get Data → SQL Server
&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%2F0c7wijhuiv3h33ja2yhw.PNG" alt="Image 24" width="706" height="384"&gt;
&lt;/li&gt;
&lt;li&gt; Enter the server name (e.g., localhost)
&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%2Fyysvr0y03xpenubr9tqk.PNG" alt="Image 25" width="544" height="339"&gt;
&lt;/li&gt;
&lt;li&gt; Leave the database field blank (or specify one if needed)&lt;/li&gt;
&lt;li&gt; Click OK&lt;/li&gt;
&lt;li&gt; Select authentication method (e.g., Windows credentials)&lt;/li&gt;
&lt;li&gt; In the Navigator pane, expand the database (e.g., AdventureWorksDW2020)&lt;/li&gt;
&lt;li&gt; Select required tables such as:
o   DimEmployee
o   DimProduct
o   DimAccount&lt;/li&gt;
&lt;li&gt; Click Transform Data to open Power Query Editor
&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%2Fuc0on0bv68vy3p4wcxkd.PNG" alt="Image 27" width="605" height="490"&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Step 8: Connecting to Web Data&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt; Open Power BI Desktop&lt;/li&gt;
&lt;li&gt; Navigate to Home → Get Data → Web 
&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%2F0f9fjs2vyuvymbdvu91l.PNG" alt="Image 28" width="285" height="564"&gt;
&lt;/li&gt;
&lt;li&gt; Enter the URL of the web page or API
&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%2Fvib41z1qne96caj0b8pa.PNG" alt="Image 29" width="659" height="244"&gt;
&lt;/li&gt;
&lt;li&gt; Click OK&lt;/li&gt;
&lt;li&gt; Select the data table or structure detected&lt;/li&gt;
&lt;li&gt; Click Load or Transform Data
&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%2Fqspnnermi8wlr7m2ufmz.PNG" alt="Image 30" width="642" height="512"&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Step 9: Connecting to Azure Analysis Services&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt; Open Power BI Desktop&lt;/li&gt;
&lt;li&gt; Navigate to Home → Get Data → Azure → Azure Analysis Services
&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%2Fwu1arbuqjh0pcqotd53o.PNG" alt="Image 31" width="669" height="399"&gt;
&lt;/li&gt;
&lt;li&gt; Enter the server name&lt;/li&gt;
&lt;li&gt; Select the database/model&lt;/li&gt;
&lt;li&gt; Choose connection mode (Live connection recommended)&lt;/li&gt;
&lt;li&gt; Click Connect 
&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%2Fwmwdc02d8629utggdkzp.PNG" alt="Image 32" width="597" height="289"&gt;
&lt;/li&gt;
&lt;/ol&gt;

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

&lt;p&gt;Integrating data from multiple sources in Microsoft Power BI is a foundational skill for modern data analysts. By understanding the architecture and following a structured approach, you can transform fragmented datasets into cohesive, insight-driven reports. Ultimately, great analytics begins with great data and great data begins with how well you connect, prepare, understand and use it to make business decisions.&lt;br&gt;
Mastering tools like Power Query and applying best practices in data modeling will significantly enhance the quality and performance of your analytics solutions.&lt;/p&gt;

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