10  Sharing Reports & Dashboards

NoteFrom Desktop to the World

Building a report in Power BI Desktop is only the beginning. The ultimate purpose of every report is to reach the people who need it, whether that is an executive checking performance each morning, an analyst exploring trends, or a field team tracking their regional numbers on a mobile device. This chapter covers the full journey from publishing a completed report to the Power BI service through to sharing it with colleagues, organizing it in workspaces, packaging it into apps, and controlling who sees what through row-level security.

Understanding the Power BI service is essential for anyone building reports that others will consume.

flowchart LR
    A[Power BI Desktop <br> pbix file] --> B[Publish to <br> Power BI Service]
    B --> C[Workspace]
    C --> D[Share Report <br> Direct or Link]
    C --> E[Pin to <br> Dashboard]
    C --> F[Package <br> as App]
    C --> G[Export <br> PDF, PPT, Excel]
    C --> H[Subscribe <br> Email Delivery]
    B --> I[Apply Row-Level <br> Security]
    classDef default fill:#004466,color:#ffffff,stroke:#ffcc00,stroke-width:3px,rx:10px,ry:10px;


10.1 Getting Content into the Service

10.1.1 Publishing from Power BI Desktop to the Service

NoteWhat Happens When You Publish?

Publishing sends your Power BI Desktop file (.pbix) to the Power BI service (app.powerbi.com), the cloud-based platform where reports are shared, consumed, and managed. When you publish, Power BI uploads two separate items to the service: the dataset (the data model, relationships, and DAX measures) and the report (the pages, visuals, and layouts). These two items live independently in the service, which means the same dataset can power multiple different reports.

Publishing requires a Power BI account. A free account allows you to publish to your personal workspace. A Power BI Pro or Premium Per User licence is required to publish to shared workspaces and share content with colleagues.

NoteHow to Publish a Report
  1. In Power BI Desktop, go to the Home ribbon and click Publish
  2. A dialog appears asking you to select a destination workspace. Choose the appropriate workspace from the list (personal workspace or a shared team workspace)
  3. Click Select. Power BI Desktop uploads the file to the service
  4. When the upload is complete, a success dialog appears with a direct link to open the published report in the Power BI service
  5. Click the link to open the report in your browser and verify it looks and behaves as expected

[Insert screenshot of the Publish dialog in Power BI Desktop showing a list of workspaces to choose from, with one workspace selected and the Select button highlighted]

WarningRe-Publishing Overwrites the Existing Dataset and Report

Each time you publish a report that already exists in the service (same file name, same workspace), the existing dataset and report are overwritten with the updated version. Any changes made directly in the service (such as renamed visuals or report-level filters added in the service) will be lost. Always make changes in Power BI Desktop and re-publish rather than editing the published report directly in the service.

TipSet Up Scheduled Refresh After Publishing

Publishing uploads a snapshot of your data at the moment of publishing. To keep the report’s data current, configure a scheduled refresh in the Power BI service after publishing. Go to the dataset settings in your workspace, expand Refresh, and set the frequency (daily, multiple times per day, weekly). For on-premises data sources, a data gateway must be configured first.


10.1.2 Workspaces and Organizing Content

NoteWhat Is a Workspace?

A workspace is a collaborative container in the Power BI service that holds datasets, reports, dashboards, and dataflows. Think of it as a shared project folder where a team works on and organizes Power BI content together. Every user has a My workspace (a private personal area), and organizations create additional shared workspaces for teams, departments, or projects.

Workspaces are the foundation of Power BI’s collaboration model. Content published to a shared workspace is accessible to all members of that workspace according to their assigned role.

[Insert screenshot of the Power BI service left navigation pane showing “My workspace” and several shared workspaces listed underneath, with one workspace expanded to show its contents: datasets, reports, and dashboards]

NoteWorkspace Roles

Members of a shared workspace are assigned one of four roles, each with different levels of access:

Role Can View Can Edit Can Publish Can Manage Members
Viewer Yes No No No
Contributor Yes Yes Yes No
Member Yes Yes Yes Limited
Admin Yes Yes Yes Yes

Assign roles carefully. Report consumers who only need to view content should be Viewers. Report builders who need to publish and edit should be Contributors or Members. Workspace Admins should be limited to team leads or managers responsible for the content.

[Insert screenshot of the workspace Access settings panel showing a list of users with their assigned roles (Viewer, Contributor, Member, Admin) and an option to add new members]

NoteOrganizing Content Within a Workspace

Within a workspace, content is listed in a flat view by default. To keep large workspaces organized:

  • Use clear, consistent naming conventions for datasets, reports, and dashboards. Include the team name, project name, or date in the item name where helpful
  • Use folders within workspaces (available in newer Power BI service versions) to group related reports together
  • Archive or delete outdated reports and datasets regularly to prevent the workspace from accumulating stale content that confuses users

[Insert screenshot of a workspace content list showing datasets, reports, and dashboards organized with clear naming conventions, with item type icons visible next to each item name]


10.2 Building and Managing Dashboards

10.2.1 Creating and Building Dashboards

NoteReports vs. Dashboards in the Power BI Service

In Power BI, reports and dashboards are distinct types of content that serve different purposes.

A report is the multi-page, interactive document you build in Power BI Desktop. It is where users explore data, use slicers, drill through pages, and apply filters. Reports are rich, detailed, and interactive.

A dashboard is a single-page canvas in the Power BI service composed of tiles pinned from reports, datasets, or other sources. Dashboards are designed for at-a-glance monitoring: a curated, real-time view of the most important metrics across potentially multiple reports and datasets. Dashboards cannot be built in Power BI Desktop. They are created entirely within the Power BI service.

[Insert screenshot of a Power BI service dashboard showing a grid of tiles including KPI numbers, a line chart, a map, and a bar chart, each pinned from different reports, with a clean monitoring-style layout]

NoteHow to Create a New Dashboard
  1. In the Power BI service, navigate to your workspace
  2. Click New at the top of the workspace content list and select Dashboard
  3. Give the dashboard a name and click Create
  4. An empty dashboard canvas appears. Tiles are added by pinning them from reports (covered in the next section)

[Insert screenshot of the Power BI service workspace with the New dropdown open and Dashboard highlighted in the menu, alongside an empty dashboard canvas ready to receive pinned tiles]


10.2.2 Pinning Visuals to a Dashboard

NoteWhat Does Pinning Mean?

Pinning copies a visual from a report page into a dashboard tile. The tile on the dashboard shows a live snapshot of that visual, updating automatically whenever the underlying dataset refreshes. Clicking a dashboard tile takes the user directly to the report page it was pinned from, providing seamless navigation between the monitoring view (dashboard) and the exploratory view (report).

You can pin visuals from multiple reports and even from multiple workspaces onto a single dashboard, making dashboards a powerful aggregation point for organization-wide monitoring.

NoteHow to Pin a Visual to a Dashboard
  1. Open a published report in the Power BI service (not in Desktop)
  2. Hover over the visual you want to pin. A set of icons appears in the top-right corner of the visual
  3. Click the Pin visual icon (a pushpin icon)
  4. A dialog appears asking where to pin the tile: select Existing dashboard (choose from a list of your existing dashboards) or New dashboard (creates a new dashboard with this as the first tile)
  5. Click Pin. The visual is added as a tile to the selected dashboard

[Insert screenshot of a report visual in the Power BI service with the pushpin Pin visual icon highlighted in the top-right corner of the visual, and the Pin to dashboard dialog open showing the Existing dashboard and New dashboard options]

NoteArranging and Resizing Dashboard Tiles

Once tiles are pinned, the dashboard enters an edit-friendly layout mode where you can:

  • Drag tiles to reposition them anywhere on the dashboard grid
  • Resize tiles by dragging the resize handle in the bottom-right corner of each tile. Tiles snap to the dashboard grid
  • Edit a tile’s title, subtitle, and the hyperlink it navigates to when clicked, by clicking the pencil icon on the tile in edit mode
  • Delete a tile by clicking the three-dot menu on the tile and selecting Delete tile

[Insert screenshot of a dashboard in edit mode showing tiles being dragged and resized, with the resize handle visible on one tile’s corner]

TipPin Entire Report Pages as a Single Dashboard Tile

In addition to pinning individual visuals, you can pin an entire report page as a single dashboard tile using Pin live page. The entire page, including all its interactive slicers and filters, appears as one tile. Users can interact with the slicers directly on the dashboard tile without opening the full report. This is useful for dashboard sections that need to retain some filtering interactivity.


10.3 Sharing and Distributing Content

10.3.1 Sharing Reports via Link or Direct Access

NoteWays to Share a Report in the Power BI Service

Once a report is published to a shared workspace, there are several ways to share it with colleagues, each suited to different scenarios and audience types.

10.3.2 Apps in the Power BI Service

NoteWhat Is a Power BI App?

A Power BI app is a packaged, curated collection of reports and dashboards published from a workspace and distributed to a defined audience. Apps provide a polished, consumer-friendly way to share content. Instead of giving users access to the entire workspace (where they could see works in progress, multiple dataset versions, and other clutter), an app surfaces only the specific reports and dashboards intended for that audience, in a clean, organized navigation structure.

Apps are the recommended distribution method for content shared with a large audience or with users who should not have workspace editing access.

NoteHow to Create and Publish an App
  1. Navigate to the workspace whose content you want to package as an app

  2. Click Create app in the top-right of the workspace

  3. The app creation wizard opens with three sections:

    Setup: Enter the app name, description, and optionally a logo and a support contact link. Choose a theme colour for the app’s navigation

    Navigation: Define the structure of the app. Select which reports and dashboards to include, arrange them in the order you want, and organize them into named sections (for example, “Executive Summary”, “Regional Analysis”, “Product Performance”). Add links to external URLs if needed

    Permissions: Define who can install and view the app. Options include specific individuals by email, security groups, the entire organization, or (in Premium) external users

  4. Click Publish app. The app becomes available to the defined audience in the Apps section of the Power BI service

[Insert screenshot of the app creation wizard showing the Navigation section with a list of reports being organized into sections, and the reorder handles visible on each item]

NoteUpdating an App

When you update a report in the workspace (by re-publishing from Desktop or editing in the service), the changes are reflected in the workspace immediately but do not automatically appear in the published app. To push updates to app users, return to the workspace, click Update app, review the changes, and click Publish app again. App users receive the updated content the next time they open it.

[Insert screenshot of the workspace toolbar showing the “Update app” button highlighted, with the app update wizard open showing the current app configuration ready to be re-published]

TipUse Apps for External or Cross-Department Audiences

For reports shared with users outside your immediate team, such as another department or external stakeholders with guest access, always distribute through an app rather than direct workspace access. Apps give you full control over exactly what is visible, present a clean navigation experience, and prevent non-intended content from being accidentally viewed or modified.


10.4 Exporting and Scheduled Delivery

10.4.1 Exporting Reports

NoteWhen to Export a Report

While interactive Power BI reports in the service are always preferable for regular consumption, there are situations where a static export is needed: attaching a report to an email for a recipient without a Power BI licence, archiving a snapshot of data at a point in time, or embedding a visual into a presentation. Power BI supports exporting to PDF, PowerPoint, and Excel.

Export to PDF

NoteHow to Export to PDF
  1. Open the report in the Power BI service
  2. Click Export in the toolbar and select PDF
  3. Choose whether to export the current page only or all pages
  4. Click Export. The PDF is generated and downloaded to your browser’s download folder

Each report page becomes one page in the PDF. Slicers and filters are captured in their current state at the time of export. Interactive elements such as drill-through and hover tooltips are not preserved in the static PDF output.

[Insert screenshot of the Export dropdown menu in the Power BI service toolbar showing the PDF option highlighted, alongside the export options dialog with page selection visible]

Export to PowerPoint

NoteHow to Export to PowerPoint
  1. Click Export → PowerPoint in the Power BI service toolbar
  2. Choose the export format:
    • Export with live data — embeds the report as an interactive Power BI visual inside the PowerPoint slide, requiring Power BI service access to view
    • Export with current values — generates a static image of each report page as a PowerPoint slide, with no Power BI connection required
  3. Click Export. A .pptx file is downloaded

[Insert screenshot of the PowerPoint export dialog showing the two export format options and the Export button]

Export Data to Excel

NoteHow to Export Visual Data to Excel

Individual visuals can export their underlying data to Excel for further analysis. This exports the data as currently filtered and displayed in the visual, not the full underlying dataset.

  1. In the Power BI service or Desktop, hover over the visual and click the More options menu (three dots)
  2. Select Export data
  3. Choose the export format: Summarized data (the aggregated values shown in the visual) or Underlying data (the row-level data feeding the visual, if permissions allow)
  4. Click Export. An Excel file is downloaded containing the selected data

[Insert screenshot of the More options menu on a visual in the Power BI service showing the Export data option, alongside the export format selection dialog]

WarningExported Data Reflects Current Filter State

When exporting data from a visual, the export captures only the data as filtered and displayed at that moment. Page-level filters, report-level filters, and active slicer selections all apply to the exported data. If the report consumer expects the full unfiltered dataset, they should clear all filters before exporting.


10.4.2 Email Subscriptions

NoteDelivering Reports Automatically via Email

Subscriptions allow Power BI to send automated email snapshots of a report page or dashboard to a defined list of recipients on a set schedule. Subscriptions are useful for stakeholders who need to see regular updates (daily, weekly, monthly) without actively logging into the Power BI service.

Each subscription email contains a static screenshot of the report page or dashboard at the time the email is sent, along with a direct link to open the live interactive report.

NoteHow to Set Up a Subscription
  1. Open the report or dashboard in the Power BI service
  2. Click the Subscribe icon (envelope icon) in the toolbar
  3. Click Add new subscription if no subscription exists yet
  4. Configure the subscription settings:
    • Subscription name — a descriptive label for this subscription
    • Frequency — Daily, Weekly, or After data refresh. “After data refresh” sends the email each time the dataset successfully refreshes
    • Time — the specific time of day to send the email (for Daily and Weekly schedules)
    • Start and end date — the active period for this subscription
    • Subject and message — the email subject line and an optional personal message included in the email body
    • Include link — toggle to include a direct link back to the live report
    • Recipients — by default the subscription goes to your own email. With Pro or Premium licences, add additional recipients by email address
  5. Click Save and close. The subscription is created and will send on the next scheduled occurrence

[Insert screenshot of the subscription configuration panel in the Power BI service showing the Frequency dropdown, Time selector, Recipients field, and Subject line input, with a Save and close button at the bottom]

TipUse “After Data Refresh” for Time-Sensitive Reports

For operational reports where stakeholders need the latest data as soon as it is available, set the subscription frequency to After data refresh rather than a fixed time. This way, the email is sent automatically within minutes of each successful scheduled refresh, ensuring recipients always receive current data without any manual intervention.


10.5 Controlling Data Access

10.5.1 Row-Level Security

NoteWhat Is Row-Level Security?

Row-Level Security (RLS) is a feature that restricts which rows of data a specific user can see when they view a report. With RLS in place, two users opening the exact same report see different data filtered to their own context, such as their own region, their own department, or their own sales territory, without any manual filtering being applied. The data restriction is enforced at the dataset level and cannot be bypassed by the report consumer.

RLS is essential for any report shared across multiple teams or regions where each group should only see their own data, not the entire organization’s dataset.

flowchart TD
    A[Published Report <br> Full Dataset] --> B{RLS Applied?}
    B -->|Yes| C[User A sees <br> North Region only]
    B -->|Yes| D[User B sees <br> South Region only]
    B -->|Yes| E[User C sees <br> All Regions <br> Admin Role]
    B -->|No| F[All users see <br> All data]
    classDef default fill:#004466,color:#ffffff,stroke:#ffcc00,stroke-width:3px,rx:10px,ry:10px;

Setting Up RLS in Power BI Desktop

NoteHow to Define RLS Roles

RLS roles are defined in Power BI Desktop before publishing:

  1. Go to the Modeling ribbon and click Manage roles
  2. In the Manage roles dialog, click Create to add a new role. Give it a descriptive name such as “North Region” or “Sales Manager”
  3. In the table list, select the table that contains the filter column (for example, the DimRegion table)
  4. In the Table filter DAX expression field, enter a DAX filter that restricts rows for this role. For example, to restrict to the North region: [RegionName] = "North"
  5. Click the checkmark to confirm the expression, then click Save

Repeat for each role needed. One role can have filters on multiple tables if required.

[Insert screenshot of the Manage roles dialog in Power BI Desktop showing a role named “North Region” with a DAX filter expression applied to the RegionName column of the DimRegion table]

Using Dynamic RLS

NoteDynamic Row-Level Security

Creating a separate role for each region or user quickly becomes unmanageable at scale. Dynamic RLS solves this by using a single role that automatically filters data based on the email address of the logged-in user, matched against a mapping table in your data model.

The standard approach uses the DAX function USERPRINCIPALNAME(), which returns the email address of the currently signed-in user. You create a mapping table (for example, a UserRegion table with columns for UserEmail and RegionName), load it into the model, and write a single DAX filter expression:

[UserEmail] = USERPRINCIPALNAME()

With this one role, every user who opens the report automatically sees only the rows where their email matches an entry in the mapping table. Adding a new user requires only adding a row to the mapping table, not creating a new RLS role.

[Insert screenshot of the Manage roles dialog showing a dynamic RLS role with the USERPRINCIPALNAME() DAX expression applied, alongside the UserRegion mapping table visible in the Table view with UserEmail and RegionName columns]

Assigning Users to RLS Roles in the Service

NoteMapping Users to Roles After Publishing

RLS roles defined in Desktop are published with the dataset. To assign users to roles in the Power BI service:

  1. Navigate to the workspace and find the dataset (not the report)
  2. Click the three-dot menu next to the dataset and select Security
  3. The Row-Level Security page lists all defined roles. Select a role and add the email addresses or security groups of the users who should be assigned to it
  4. Click Save

Users assigned to an RLS role will only see data permitted by that role’s filter when they open any report built on that dataset.

[Insert screenshot of the Row-Level Security page in the Power BI service showing a role selected on the left with a list of assigned user email addresses on the right and an Add people field at the top]

ImportantWorkspace Admins, Members, and Contributors Are Exempt from RLS

Users with Admin, Member, or Contributor roles in the workspace can see all data in all datasets within that workspace, regardless of any RLS rules defined. RLS only applies to users who access the content as Viewers (through direct sharing, app distribution, or a Viewer workspace role). Always verify that your report builders and workspace administrators have access to the full dataset intentionally, and distribute sensitive reports to end users through Apps or direct sharing at the Viewer level rather than workspace membership.


10.5.2 Sharing Best Practices

NoteChoosing the Right Sharing Method

Not every sharing method is appropriate for every situation. The table below summarizes which approach works best depending on your audience and content type.

Scenario Recommended Approach
Sharing with a small, specific group Direct sharing via email in the Share dialog
Distributing to a large department or organization Publish as an App
Ad-hoc sharing via Teams or Slack Copy shareable link
Executives needing a real-time monitoring view Pin visuals to a Dashboard
Stakeholders without Power BI licences Export to PDF or subscribe to email snapshots
Multi-region or multi-team reports with data separation Row-Level Security with dynamic roles
Team actively collaborating on report development Shared Workspace with Contributor roles
ImportantSecurity and Governance Are Not Optional

Every sharing decision is also a data governance decision. Before sharing any report, ask who should see the data it contains and whether any data needs to be restricted by user. Apply RLS wherever different users should see different subsets of data. Use the most restrictive sharing method that meets the audience’s needs. A report shared too broadly can expose sensitive business data to users who should not have access to it. A report shared too narrowly fails to deliver value to those who need it. Finding the right balance is a key responsibility of every Power BI report author.


Summary

Concept Description
Publish and Distribute
Publishing to Service Pushing PBIX files from Desktop into the cloud Service
Workspaces Containers for reports, datasets, and dashboards
Apps Packaged content distributed to users with a single link
Sharing Links Direct sharing with internal or external recipients
Dashboards Pinned visuals from one or more reports onto a single page
Engage and Govern
Subscriptions and Alerts Email digests and value-based alerts on KPIs
Embed in Microsoft 365 Embedding reports in Teams, SharePoint, and PowerPoint
Sharing Best Practices Workspace roles, permissions, and lifecycle hygiene