DEV Community

Cover image for How to Publish and Share a Power BI Report Online
Brian Muriithi
Brian Muriithi

Posted on

How to Publish and Share a Power BI Report Online

As we continue to explore Data Science and Analytics, this weeks deliverable was to work on an electronics sales dashboard in PowerBI and publish it online. This is a common request in data analytics so in this article we will walk through the full process of publishing a Power BI report to the web, from clicking "Publish" in Desktop to getting a shareable link that anyone can open in a browser.

The Project in Brief

Before jumping into publishing, here is a quick overview of what the report contains so you have context for the screenshots:

Dataset: 100 electronics retail transactions across 10 products, 9 cities (USA and Canada), and 3 sales representatives.

Data preparation: The raw Excel data was loaded into Power Query where it was cleaned, validated, and normalized. Canadian Dollar transactions were converted to USD at a rate of 0.74. A star schema was built with six dimension tables (Products, Customers, Cities, SalesReps, PaymentMethod, DateTable) linked to a central fact table.

DAX measures: Total Revenue, Total Profit, Total Orders, Average Profit Margin, Average Shipping Cost, and a calculated Date Table using the CALENDAR() function.

Dashboard pages:

  • Page 1 - Executive Dashboard: KPI cards, sales by product, revenue by category, sales rep distribution, payment method breakdown, and interactive slicers.

Dashboard page

  • Page 2 - Product Analysis: Revenue and profit comparison by product, geographic maps, profit margin rankings.

Product Analysis

  • Page 3 - Sales Reps and Customers: Customer rankings, sales rep performance combo chart, customer age distribution.

Customers and Sales

With the report complete in Power BI Desktop, the next step is getting it online.

Step 1: Publish from Power BI Desktop

Open your .pbix file in Power BI Desktop. In the top ribbon, go to Home and click the Publish button on the right side of the toolbar.

If you are not signed in, Power BI will prompt you to sign in with your Microsoft account. Use the account associated with your Power BI Service subscription.

Once signed in, a dialog box appears asking you to select a destination workspace.

Publish a Report

You will see a list of available workspaces. If you have not created any custom workspaces, you will only see My workspace, which is the default personal workspace that comes with every Power BI account.

Select the workspace you want and click Select.

Power BI Desktop will upload the report. This usually takes a few seconds depending on the file size. When it finishes, you get a success confirmation.

Publishing Sucessful

Click the "Open in Power BI" link to jump directly to your report in the browser, or click Got it to stay in Desktop.

Step 2: Verify in Power BI Service

Head over to app.powerbi.com and navigate to the workspace where you published. You should see your report listed there.

Open the report and spend a few minutes checking everything:

  • Do all visuals render correctly?
  • Do the slicers filter across all charts as expected?
  • Do navigation buttons (if you added any) work?
  • Are the KPI numbers matching what you see in Desktop?

Published Report

In the screenshot above, you can see the report is live in the Power BI Service. The left sidebar shows the Pages panel listing all four pages (Dashboard, Products, Sales Reps and Custom...). The report is fully interactive - slicers, tooltips, and filtering all work just like they do in Desktop.

Notice the toolbar at the top: File, Export, Share, Explore, Set alert, Monitor, and Edit. These are the options available to you as the report owner. The ones we care about for sharing are File, Export, and Share.

Step 3: Share the Report

This is where it gets interesting, and also where you might run into some friction depending on your account type. There are several ways to share a Power BI report, each with different access requirements.

Publish to Web (Public Embed)

This is the simplest option for making your report accessible to anyone without requiring them to have a Power BI account.

Path: File > Embed report > Publish to web (public)

This generates two things:

  • A direct URL that opens the report in any browser
  • An iframe embed code that you can paste into a website, blog, or portfolio page

The direct link looks something like:

https://app.powerbi.com/view?r=eyJrIjoi...
Enter fullscreen mode Exit fullscreen mode

The iframe code looks like:

<iframe
  title="Electronics Sales Dashboard"
  width="1140"
  height="541.25"
  src="https://app.powerbi.com/view?r=eyJrIjoi..."
  frameborder="0"
  allowFullScreen="true">
</iframe>
Enter fullscreen mode Exit fullscreen mode

Anyone with the link can view and interact with the report. No sign-in required.

Step 4: Embed on a Website (If Publish to Web Worked)

If you got the embed code from "Publish to web", you can host your report on any website. Here are two common approaches:

Simple HTML Page

Create an index.html file:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Electronics Sales Dashboard</title>
    <style>
        body {
            margin: 0;
            font-family: Arial, sans-serif;
            background: #f5f5f5;
        }
        .header {
            background: #1B2A4A;
            color: white;
            padding: 20px 40px;
        }
        .header h1 {
            margin: 0;
            font-size: 24px;
        }
        .header p {
            margin: 8px 0 0;
            font-size: 14px;
            color: #B5D4F4;
        }
        .container {
            max-width: 1200px;
            margin: 24px auto;
            padding: 0 20px;
        }
        iframe {
            width: 100%;
            height: 600px;
            border: none;
            border-radius: 8px;
        }
    </style>
</head>
<body>
    <div class="header">
        <h1>Electronics Sales Dashboard</h1>
        <p>Power BI Report -- January 2026</p>
    </div>
    <div class="container">
        <iframe
          title="Electronics Sales Dashboard"
          src="YOUR_EMBED_URL_HERE"
          allowFullScreen="true">
        </iframe>
    </div>
</body>
</html>
Enter fullscreen mode Exit fullscreen mode

Replace YOUR_EMBED_URL_HERE with the actual embed URL from Power BI.

Host on GitHub Pages

If your project is already in a GitHub repo, you can host the embed page for free using GitHub Pages:

  1. Create a subfolder in your repo (e.g., electronics-sales/).
  2. Put the index.html file inside it.
  3. Push to GitHub.
  4. Go to Settings > Pages in your repo.
  5. Set the source to deploy from your main branch.
  6. After a minute or two, your page will be live at https://yourusername.github.io/repo-name/electronics-sales/.

If your repo contains multiple projects, each subfolder with its own index.html becomes a separate page under the same base URL. You only need to enable GitHub Pages once per repo.

Summary

The publishing workflow in Power BI goes like this:

  1. Build the report in Power BI Desktop.
  2. Publish to a workspace in the Power BI Service.
  3. Verify that everything works in the browser.
  4. Share using one of the available methods (Publish to web, direct share, or export).
  5. Embed on a website or GitHub Pages if you want a standalone hosted version.

I hope you enjoyed this guide. If you would like to learn more about the PowerBI project, the insights gained and the original data used, check out my GitHub repo that contains the project: Electronics Sale Dashboard

Top comments (0)