<?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: Daniel Mutwiri Mbabu</title>
    <description>The latest articles on DEV Community by Daniel Mutwiri Mbabu (@daniel_mutwirimbabu).</description>
    <link>https://dev.to/daniel_mutwirimbabu</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.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F2745709%2F9f5f0b94-b3d9-4656-971f-349c9d997da1.jpeg</url>
      <title>DEV Community: Daniel Mutwiri Mbabu</title>
      <link>https://dev.to/daniel_mutwirimbabu</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/daniel_mutwirimbabu"/>
    <language>en</language>
    <item>
      <title>The Paradox of Git and GitHub: Version Control</title>
      <dc:creator>Daniel Mutwiri Mbabu</dc:creator>
      <pubDate>Wed, 12 Aug 2026 13:40:18 +0000</pubDate>
      <link>https://dev.to/daniel_mutwirimbabu/the-paradox-of-git-and-github-version-control-bkk</link>
      <guid>https://dev.to/daniel_mutwirimbabu/the-paradox-of-git-and-github-version-control-bkk</guid>
      <description>&lt;p&gt;Often we get caught in the crossfire of big technological terminology, and we have so little to do but get blasted. For me, and I bet many others, Git and GitHub must be one of those! But for how long can we sit by and feel absolutely clueless, yet we can armour up at our own will? That's what I intend to do with this article. Let's break down this paradox together!&lt;/p&gt;

&lt;h2&gt;
  
  
  So What is Git and GitHub?
&lt;/h2&gt;

&lt;p&gt;Are they branches of the same Franchise that chose different names? Certainly not. &lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Term&lt;/th&gt;
&lt;th&gt;Definition&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Git&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;It's the tool that tracks your changes to your projects and runs locally&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;GitHub&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;It's a website that stores your Git history in the cloud for Collaboration&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Git&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Git&lt;/strong&gt; is a version control system that runs on your local machine, tracking every change you make to your code over time. It allows you to go back to any previous state, and lets multiple people work on the same project at the same time without overwriting each other.&lt;/p&gt;

&lt;p&gt;Without Git, teams share code by emailing files or editing the same folder. Both approaches lead to the same outcome, but in this case, someone's work gets lost. Git solves this permanently.&lt;/p&gt;

&lt;p&gt;Every developer has the full project history on their own machine - not just the latest version.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;GitHub&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;GitHub&lt;/strong&gt; is the website that stores your git history/git repositories in the cloud. (It does not run locally on your machine). It stores repositories online to enable collaboration.&lt;/p&gt;

&lt;p&gt;Mainly used to share code, review changes, manage issues, and Continuous Integration and Continuous Delivery (CI/CD)&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;In a nutshell&lt;/strong&gt;&lt;br&gt;
Git is like MS Word that tracks all the changes, while GitHub is the Google Drive where you upload the Word document for collaboration.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  Common terminologies used in the Git/GitHub Environment...
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Term&lt;/th&gt;
&lt;th&gt;What it means&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Repository (repo)&lt;/td&gt;
&lt;td&gt;It's a Git Project Folder that Git is tracking.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Commit&lt;/td&gt;
&lt;td&gt;This is a saved snapshot/state of your project at a specific point in time.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Branch&lt;/td&gt;
&lt;td&gt;It's a parallel version of the project - you experiment here without touching the main code.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Remote&lt;/td&gt;
&lt;td&gt;It's the online stored copy of the repo, usually on GitHub.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Push&lt;/td&gt;
&lt;td&gt;It's to send your commits/changes to GitHub&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Pull&lt;/td&gt;
&lt;td&gt;It's to bring others' commits down to your local machine.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  So how do you get started on Git and GitHub?...
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Installing Git
&lt;/h3&gt;

&lt;h4&gt;
  
  
  Linux (Ubuntu)
&lt;/h4&gt;

&lt;p&gt;Run the commands below:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;sudo &lt;/span&gt;apt update
&lt;span class="nb"&gt;sudo &lt;/span&gt;apt &lt;span class="nb"&gt;install &lt;/span&gt;git &lt;span class="nt"&gt;-y&lt;/span&gt;
git &lt;span class="nt"&gt;--version&lt;/span&gt;          &lt;span class="c"&gt;# confirm: git version 2.x.x&lt;/span&gt;

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

&lt;/div&gt;



&lt;h4&gt;
  
  
  Windows
&lt;/h4&gt;

&lt;p&gt;Download from &lt;a href="https://git-scm.com/download/win" rel="noopener noreferrer"&gt;https://git-scm.com/download/win&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Always run Git commands inside Git Bash CLI, not on other  CLIs such as Command Prompt or PowerShell.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h4&gt;
  
  
  macOS
&lt;/h4&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;xcode-select &lt;span class="nt"&gt;--install&lt;/span&gt;    &lt;span class="c"&gt;# installs Git via Xcode CLI tools&lt;/span&gt;
&lt;span class="c"&gt;# OR if you have Homebrew:&lt;/span&gt;
brew &lt;span class="nb"&gt;install &lt;/span&gt;git
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; After the installation. A first-time configuration is necessary to connect your local Git to GitHub (Remote).&lt;/p&gt;

&lt;h4&gt;
  
  
  Opening Git Bash CLI for Windows and first-time configuration.
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;Create a New Folder (Location? Upto you)&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fxr5pgh7zhchalitxa85k.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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fxr5pgh7zhchalitxa85k.png" alt=" " width="777" height="528"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Right-click the newly created Folder to select more options if you cannot view "Open Git Bash Here".&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fzdy2bef1yk8tdd49m0du.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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fzdy2bef1yk8tdd49m0du.png" alt=" " width="542" height="390"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The Git Bash will open, and you have to initialize Git to do any Configurations. To initialize Git, run the command:
&lt;code&gt;git init&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;

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

&lt;ul&gt;
&lt;li&gt;Assuming you already have a GitHub account set up, run these commands in Git Bash for the first-time configuration.
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git config &lt;span class="nt"&gt;--global&lt;/span&gt; user.name  &lt;span class="s2"&gt;"Your Full Name"&lt;/span&gt;
git config &lt;span class="nt"&gt;--global&lt;/span&gt; user.email &lt;span class="s2"&gt;"you@example.com"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;em&gt;Where: "Your Full Name" = "GitHub Account Name"&lt;br&gt;
       "&lt;a href="mailto:you@example.com"&gt;you@example.com&lt;/a&gt;" = "Email address to the GitHub Account Name"&lt;/em&gt;&lt;/p&gt;
&lt;h3&gt;
  
  
  Creating Your GitHub Account
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;Go to &lt;a href="https://github.com" rel="noopener noreferrer"&gt;https://github.com&lt;/a&gt; and click Sign up&lt;/li&gt;
&lt;li&gt;Choose a professional username&lt;/li&gt;
&lt;li&gt;Verify your email address&lt;/li&gt;
&lt;li&gt;Add a profile picture and a short bio&lt;/li&gt;
&lt;/ol&gt;
&lt;h4&gt;
  
  
  Quick Question
&lt;/h4&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;After configuring Git, how does the actual information flow between local (Git) and remote (GitHub)?&lt;/em&gt;&lt;/p&gt;
&lt;h4&gt;
  
  
  Answer.
&lt;/h4&gt;

&lt;blockquote&gt;
&lt;p&gt;SSH / HTTPS &lt;/p&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;h3&gt;
  
  
  The Communication Channels.
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;SSH&lt;/strong&gt; (Secure Shell Protocol) uses a key pair to prove your identity without ever sending a password across the network.&lt;br&gt;
&lt;strong&gt;HTTPS&lt;/strong&gt; is an application layer protocol responsible for securely transporting the Git communication between your computer and GitHub. &lt;/p&gt;
&lt;h4&gt;
  
  
  SSH vs HTTPS.
&lt;/h4&gt;

&lt;p&gt;Which one do I use? Both are secure communication methods. You should not think SSH is secure and HTTPS is not. With HTTPS, GitHub uses a personal access token (PAT) or a credential manager rather than your GitHub account password.&lt;/p&gt;

&lt;p&gt;Ideally:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Use SSH if it's your own machine, and you use GitHub regularly.&lt;/li&gt;
&lt;li&gt;Use HTTPS if you're on a machine/network where SSH setup is inconvenient, restricted, or temporary.&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;SSH&lt;/th&gt;
&lt;th&gt;HTTPS&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Authentication Automatic - key pair handles it silently&lt;/td&gt;
&lt;td&gt;Requires a Personal Access Token (not your password - GitHub removed that in 2021)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Setup effort   15 minutes once per machine&lt;/td&gt;
&lt;td&gt;Token needed for each machine; expires and must be refreshed&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Daily use  Push and pull with no prompts at all&lt;/td&gt;
&lt;td&gt;Prompted for credentials unless you store the token&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Best for   Personal machines, servers, daily work&lt;/td&gt;
&lt;td&gt;One-off cloning; environments where SSH port is blocked&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;
&lt;h2&gt;
  
  
  THE CORE FLOW
&lt;/h2&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;                   YOUR COMPUTER
            ┌─────────────────────┐
            │                     │
            │   Working Directory │
            │          ↓          │
            │        git add      │
            │          ↓          │
            │   Staging Area      │
            │          ↓          │
            │       git commit    │
            │          ↓          │
            │   Local Repository  │
            │                     │
            └─────────┬───────────┘
                      │
                   git push
                      │
                      ▼
            ┌─────────────────────┐
            │       GitHub        │
            │                     │
            │ Remote Repository   │
            └─────────────────────┘
                      │
                   git pull
                      │
                      ▼
            ┌─────────────────────┐
            │   Local Repository  │
            └─────────────────────┘
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;p&gt;To break this down,&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. Create/change a file locally&lt;/strong&gt;&lt;br&gt;
Suppose your GitHub repository is:&lt;br&gt;
&lt;/p&gt;

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

&lt;/div&gt;



&lt;p&gt;You clone it onto your computer:&lt;br&gt;
&lt;code&gt;git clone git@github.com:Danielmutwiri/JCARS.git&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;You will have all the files related to JCARS, e.g., the README.md file, etc&lt;/p&gt;

&lt;p&gt;Git creates a &lt;strong&gt;local repository&lt;/strong&gt; containing the project's history and also remembers where the remote repository is.&lt;/p&gt;

&lt;p&gt;To verify,&lt;br&gt;
&lt;code&gt;git remote -v&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;You will see&lt;/p&gt;

&lt;p&gt;&lt;code&gt;origin  git@github.com:Danielmutwiri/JCARS.git (fetch)&lt;/code&gt;&lt;br&gt;
&lt;code&gt;origin  git@github.com:Danielmutwiri/JCARS.git (push)&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Origin&lt;/strong&gt; is the conventional name given to a GitHub repository.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. You modify a file&lt;/strong&gt;&lt;br&gt;
Suppose you modify:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;README.md
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Git will see README.md (Modified), but GitHub knows nothing about this change yet. Changing a file does not automatically change your Git repository or GitHub.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. &lt;code&gt;git add&lt;/code&gt; moves the change to staging&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;git add README.md&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;The change moves from the working directory to the staging area&lt;br&gt;
It's like saying:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"Git, I want this particular change to be included in my next commit."&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;To verify, use this command:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;git status&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4. &lt;code&gt;git commit&lt;/code&gt; stores the change locally&lt;/strong&gt;&lt;br&gt;
&lt;code&gt;git commit -m "Update README.md"&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Git creates a &lt;strong&gt;commit&lt;/strong&gt; in your local repository. But GitHub still hasn't received the commit yet.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;5. &lt;code&gt;git push&lt;/code&gt; sends your commits to GitHub&lt;/strong&gt;&lt;br&gt;
&lt;code&gt;git push origin main&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;This is where the actual communication with GitHub occurs. Git transfers the necessary Git commit information to the remote repository. GitHub then updates its remote branch, and now they are in sync.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;6. What happens if some other developer changes GitHub?&lt;/strong&gt;&lt;br&gt;
On their computer, a change has happened, say 'change A'. Also, GitHub is updated, but your local PC is lagging. Use &lt;code&gt;git fetch&lt;/code&gt;/&lt;code&gt;git pull&lt;/code&gt; to retrieve information from GitHub and get your local PC up to speed.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;git fetch origin&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Git will contact GitHub and retrieve information about changes.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;code&gt;fetch&lt;/code&gt; is relatively safe: it downloads information but does not automatically modify your working files.&lt;code&gt;git pull&lt;/code&gt; however, goes one step further.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;code&gt;git pull origin main&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Git will perform: git fetch + git merge. Your local branch is then brought up to date. Modern Git can also be configured to use rebase instead of merge.&lt;/p&gt;

&lt;h2&gt;
  
  
  Finally
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;GitHub is not the "master copy" of Git itself.&lt;/strong&gt; Your local repository contains the full Git history too. GitHub is a &lt;strong&gt;remote repository&lt;/strong&gt; that provides collaboration, backup, hosting, and pull requests. Now you have the power to go and do some version control.&lt;/p&gt;

</description>
      <category>github</category>
      <category>git</category>
      <category>versioncontrol</category>
    </item>
    <item>
      <title>Connecting Power BI to a SQL Database</title>
      <dc:creator>Daniel Mutwiri Mbabu</dc:creator>
      <pubDate>Thu, 23 Jul 2026 08:53:03 +0000</pubDate>
      <link>https://dev.to/daniel_mutwirimbabu/connecting-power-bi-to-a-sql-database-1nek</link>
      <guid>https://dev.to/daniel_mutwirimbabu/connecting-power-bi-to-a-sql-database-1nek</guid>
      <description>&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fwdmm0qgyhrky1lmcdbj9.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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fwdmm0qgyhrky1lmcdbj9.png" alt=" " width="799" height="446"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  Introduction
&lt;/h1&gt;

&lt;p&gt;Oftentimes we need to clean, model, and report insights from data stored in databases. Sometimes the data can be stored in a local SQL database or in a cloud-based SQL database. Today we will dive into the nitty-gritty of this endeavor using Power BI as your reporting tool and a SQL database as our storage.&lt;/p&gt;

&lt;h1&gt;
  
  
  Understanding Data Connectivity Modes
&lt;/h1&gt;

&lt;p&gt;To connect a reporting and analysis tool such as Power BI to a SQL Database, understanding how it connects to the database is crucial. There are three primary connection modes. Each serves a different purpose depending on your reporting needs.&lt;/p&gt;

&lt;blockquote&gt;
&lt;ol&gt;
&lt;li&gt; Import Mode&lt;/li&gt;
&lt;li&gt; Direct Query&lt;/li&gt;
&lt;li&gt; Live Connection&lt;/li&gt;
&lt;/ol&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;1. Import Mode&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;How it works&lt;/strong&gt;&lt;br&gt;
Power BI imports all selected data into its in-memory VertiPaq engine.&lt;br&gt;
Reports query the imported data instead of the SQL database.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Ideal when&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Data changes daily or a few times per day.&lt;/li&gt;
&lt;li&gt;You need high-performance dashboards.&lt;/li&gt;
&lt;li&gt;Complex calculations and relationships are required.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;em&gt;Example&lt;/em&gt;&lt;br&gt;
&lt;em&gt;A sales database updates overnight, and management reviews reports each morning.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. DirectQuery Mode&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;How it works&lt;/strong&gt;&lt;br&gt;
No data is stored in Power BI (except metadata and optional cache).&lt;br&gt;
Every filter, slicer, or visual generates a SQL query against the database.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Ideal when&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Data changes every few minutes.&lt;/li&gt;
&lt;li&gt;Databases contain hundreds of millions of rows.&lt;/li&gt;
&lt;li&gt;Data cannot be copied due to compliance or storage constraints.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;em&gt;Example&lt;/em&gt;&lt;br&gt;
&lt;em&gt;A call center dashboard showing live customer support activity.&lt;/em&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Performance Tips&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Create indexes on frequently filtered columns.&lt;/li&gt;
&lt;li&gt;Use star schema design.&lt;/li&gt;
&lt;li&gt;Minimize calculated columns in Power BI.&lt;/li&gt;
&lt;li&gt;Reduce visual complexity.&lt;/li&gt;
&lt;/ol&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;3.Live Connection&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;How it works&lt;/strong&gt;&lt;br&gt;
Instead of connecting directly to SQL, Power BI connects to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;SQL Server Analysis Services (SSAS)&lt;/li&gt;
&lt;li&gt;Azure Analysis Services (AAS)&lt;/li&gt;
&lt;li&gt;Another Power BI semantic model&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The semantic model handles calculations, relationships, and security.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Ideal when&lt;/strong&gt;&lt;br&gt;
An organization has a centralized BI team managing enterprise models.&lt;br&gt;
Multiple reports should use the same governed data model.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;&lt;strong&gt;Scenario&lt;/strong&gt;&lt;/th&gt;
&lt;th&gt;&lt;strong&gt;Recommended Mode&lt;/strong&gt;&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Fast executive dashboards&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Import&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Real-time operational dashboards&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;DirectQuery&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Very large databases&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;DirectQuery&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Enterprise semantic model already exists&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Live Connection&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Need both speed and fresh data&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Composite Model&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h1&gt;
  
  
  Connecting Power BI to a Local SQL Database
&lt;/h1&gt;

&lt;p&gt;A local SQL Database runs on your local machine. Therefore, connecting to it is easy!&lt;br&gt;
&lt;strong&gt;Prerequisites&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;SQL Server installed (e.g., SQL Server Express, Developer, or Standard Edition)&lt;/li&gt;
&lt;li&gt;SQL Server service is running&lt;/li&gt;
&lt;li&gt;You know:&lt;/li&gt;
&lt;li&gt;Server name&lt;/li&gt;
&lt;li&gt;Database name&lt;/li&gt;
&lt;li&gt;Authentication method (Windows or SQL Server Authentication)&lt;/li&gt;
&lt;li&gt;Power BI Desktop is installed&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Step 1: Open Power BI Desktop&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Launch Power BI Desktop.&lt;/li&gt;
&lt;li&gt;Click Get Data on the Home ribbon.&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Flodreg37p5anf1bp2s5q.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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Flodreg37p5anf1bp2s5q.png" alt=" " width="782" height="306"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Select SQL Server. (In this case, we are using a Postgres Server)&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fb2217jk8gdoz00htnlk5.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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fb2217jk8gdoz00htnlk5.png" alt=" " width="800" height="768"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Click Connect.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 2: Enter Connection Details&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;You'll be prompted for:&lt;/p&gt;

&lt;p&gt;Server and Database information. &lt;br&gt;
For a local connection, input the server credentials as: &lt;code&gt;127.0.0.1:5432&lt;/code&gt;&lt;br&gt;
  &lt;em&gt;where th 5432 is the port number&lt;/em&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fiwjfxe0k5k8qx54hhd2b.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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fiwjfxe0k5k8qx54hhd2b.png" alt=" " width="783" height="402"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 3: Choose Connectivity Mode&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;You'll have two options:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Import (recommended)&lt;/li&gt;
&lt;li&gt;DirectQuery&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Step 4: Authentication&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Windows Authentication (Most Common)&lt;/strong&gt;&lt;br&gt;
Uses your Windows login credentials.&lt;/p&gt;

&lt;p&gt;Select: Windows &amp;gt; Then click Connect.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;SQL Server Authentication (Authentication details you input while installing your local SQL server)&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Choose: Database &amp;gt; Enter: Username and Password&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fcpvctmal4eq6xub0ordn.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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fcpvctmal4eq6xub0ordn.png" alt=" " width="743" height="353"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Click Connect.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 5: Select Tables&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Power BI will display all tables and views. Select the tables you need. Click Load to import them or Transform Data to clean them in Power Query before loading.&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F5qao4k606l8cuclw7771.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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F5qao4k606l8cuclw7771.png" alt=" " width="800" height="621"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  Connecting Power BI to a Cloud-based SQL Database
&lt;/h1&gt;

&lt;p&gt;For this, the cloud service provider is Aiven.&lt;/p&gt;

&lt;p&gt;Cloud databases like Aiven PostgreSQL offer scalable and flexible data storage but require secure internet-based connections. To protect data in transit, they use encryption. Before Power BI can connect, the local machine must trust the cloud provider's Certificate Authority (CA), allowing it to verify the database server's identity and establish a secure connection.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 1: Collect Aiven Connection Details&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Log in to your Aiven Console and open your PostgreSQL service. Note the following:&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fzz35b3e8iyokox0n1j39.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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fzz35b3e8iyokox0n1j39.png" alt=" " width="800" height="429"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;ul&gt;
&lt;li&gt;Host (e.g., pg-12345-project.aivencloud.com)&lt;/li&gt;
&lt;li&gt;Port (usually 12345 or 5432)&lt;/li&gt;
&lt;li&gt;Database name&lt;/li&gt;
&lt;li&gt;Username&lt;/li&gt;
&lt;li&gt;Password&lt;/li&gt;
&lt;li&gt;CA Certificate&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;Step 2: Install the PostgreSQL ODBC/Npgsql Driver (if required)&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Power BI uses PostgreSQL drivers to connect. &lt;/li&gt;
&lt;li&gt;Download and install the latest PostgreSQL (Npgsql) driver.&lt;/li&gt;
&lt;li&gt;Restart Power BI Desktop after installation.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Step 3: Trust the Aiven CA Certificate&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Since Aiven uses SSL encryption, Windows must trust the Certificate Authority. This helps Power BI trust the Aiven Postgres server.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;NOTE:&lt;/strong&gt; &lt;em&gt;To connect Power BI to the Database without the certificate, this error occurs.&lt;/em&gt;&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F1okmx7qfkt8j9z5dkr69.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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F1okmx7qfkt8j9z5dkr69.png" alt=" " width="592" height="300"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Locate the downloaded ca.pem file.&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F24sbpbk6ac5lywe57lnr.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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F24sbpbk6ac5lywe57lnr.png" alt=" " width="800" height="49"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Import it into the Windows Trusted Root Certification Authorities:&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

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

&lt;p&gt;Click Import&amp;gt; In the import wizard, click Next&amp;gt; Browse for the downloaded  CA file&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fxbv81pykea8ttu18ip29.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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fxbv81pykea8ttu18ip29.png" alt=" " width="670" height="662"&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Faffa79vk8y1v1ve59ip5.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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Faffa79vk8y1v1ve59ip5.png" alt=" " width="670" height="646"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Add Certificates for the Computer Account.&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F4ptrvwo7n31ne1wy54ei.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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F4ptrvwo7n31ne1wy54ei.png" alt=" " width="617" height="592"&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fzbu3kj74ovfxhbliluiu.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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fzbu3kj74ovfxhbliluiu.png" alt=" " width="641" height="637"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 4: Open Power BI Desktop&lt;/strong&gt; &lt;em&gt;( Same as for local connection steps 1 to 3)&lt;/em&gt;&lt;br&gt;
Select Home → Get Data → Choose PostgreSQL database.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 5: Enter the Server Details&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Fill in the fields as per the data on your Aiven service page:&lt;br&gt;
&lt;em&gt;Server:    hostname:port (pg-12345-project.aivencloud.com:12345)&lt;br&gt;
Database: Database name (defaultdb)&lt;/em&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fmmi5skdgjuu743cuw5lk.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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fmmi5skdgjuu743cuw5lk.png" alt=" " width="800" height="410"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Click OK.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 6: Authenticate&lt;/strong&gt; - if connecting first time&lt;/p&gt;

&lt;p&gt;Choose Database Authentication: Username &amp;gt; Password&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fw39t42jlsbwxsx5fqbia.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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fw39t42jlsbwxsx5fqbia.png" alt=" " width="797" height="55"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Click Connect.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 8: Select Tables&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Power BI will display the PostgreSQL schema. Choose the required tables or views.&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fs2xaxopws0s1aocd5i83.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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fs2xaxopws0s1aocd5i83.png" alt=" " width="800" height="705"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Load to import the data or Transform Data to clean it in Power Query before loading.&lt;/p&gt;

&lt;h1&gt;
  
  
  Parting Shot...
&lt;/h1&gt;

&lt;p&gt;Every dashboard begins with a connection. This is where the strength of Power BI comes in: Interconnectivity! Whether your data resides on a local server or in the cloud, mastering secure database connectivity equips you to spend less time troubleshooting and more time discovering the stories hidden within your data. After all, data only becomes valuable when it is transformed into meaningful insights.&lt;/p&gt;

</description>
      <category>sql</category>
      <category>database</category>
      <category>powerfuldevs</category>
      <category>dbeaver</category>
    </item>
    <item>
      <title>How Excel is Used in Real-World Data Analysis</title>
      <dc:creator>Daniel Mutwiri Mbabu</dc:creator>
      <pubDate>Sun, 07 Jun 2026 14:58:01 +0000</pubDate>
      <link>https://dev.to/daniel_mutwirimbabu/how-excel-is-used-in-real-world-data-analysis-226g</link>
      <guid>https://dev.to/daniel_mutwirimbabu/how-excel-is-used-in-real-world-data-analysis-226g</guid>
      <description>&lt;p&gt;The eagle first learns to walk before it masters the sky. In the world of data analysis, Excel is often the starting point of that journey. It helps us clean, organize, analyze, and visualize data in ways that reveal valuable patterns and opportunities. What begins as simple rows, columns, and calculations soon transforms into a powerful analytical tool that enables users to uncover trends, solve problems, and make informed decisions based on data rather than assumptions.&lt;/p&gt;

&lt;p&gt;I recently joined an official Microsoft Excel class. Although I had used Excel before and was required to learn it on the job due to its importance in business, I quickly discovered that there is always something new to learn. I joined the class believing I had a solid understanding of Excel, but I soon realized that beneath its simplicity lies remarkable sophistication. This balance between simplicity and power is what makes Excel such an indispensable tool.&lt;/p&gt;

&lt;p&gt;One of the key lessons I have learned is that data analysis is not just about mastering formulas and features; it is also about understanding the business environment and the problem being solved. A good data analyst should possess both technical and business knowledge. Understanding what questions to ask is just as important as knowing how to manipulate and analyze the data.&lt;/p&gt;

&lt;p&gt;Excel plays a vital role in several real-world applications.** In business decision-making,** organizations collect large amounts of data from sales, operations, customers, and employees. Analysts use Excel to identify trends, determine which products generate the most revenue, evaluate branch performance, and forecast future demand. These insights help businesses make informed decisions regarding inventory management, staffing, and investments.&lt;br&gt;
Excel is also widely used in &lt;strong&gt;financial reporting&lt;/strong&gt;. Organizations use it to compare actual spending against budgets, forecast revenues, evaluate investments, and identify potential financial risks. These analyses provide management with the information needed to make sound financial decisions.&lt;br&gt;
In &lt;strong&gt;marketing&lt;/strong&gt;, Excel helps measure the effectiveness of advertising campaigns, social media activities, and customer engagement efforts. By analyzing metrics such as website traffic, conversion rates, and customer acquisition costs, organizations can determine which strategies are delivering the best results and allocate resources more effectively.&lt;/p&gt;

&lt;p&gt;One of the most valuable skills I have learned is data cleaning. Clean data forms the foundation of reliable analysis. Excel provides numerous tools and functions that support this process, including&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;COUNTIFS(), TRIM(), VALUE(), DATEDIF(), YEAR(), TODAY(), NOW(), IFERROR(), and SUMIFS().
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Features such as &lt;em&gt;Find and Replace, Conditional Formatting, Data Validation, Multi-Sort, and handling blanks&lt;/em&gt; help ensure data accuracy and consistency. Data cleaning also involves &lt;em&gt;checking whether data is realistic and free from errors, such as identifying impossible employee ages or inconsistent entries.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Learning Excel has greatly increased my appreciation for data-driven decision-making. Whether in business, finance, marketing, or personal projects, I now recognize the importance of relying on data rather than assumptions. Excel has transformed the way I see information by showing me how raw data can be organized, analyzed, and converted into actionable insights. As I continue learning, I appreciate even more how a tool that appears simple on the surface can become a powerful means of solving complex real-world problems.&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>datascience</category>
      <category>data</category>
      <category>analytics</category>
    </item>
  </channel>
</rss>
