Power BI Publishing Sharing and Collaboration

A Power BI report sitting on your laptop helps only you. The real value comes when the right people see the right data at the right time — executives get dashboards on their phones, analysts explore reports in the browser, field teams check metrics on tablets. This topic covers every method for getting Power BI content to its audience: workspaces, apps, sharing links, embedding, row-level security, and subscriptions.

Workspaces: The Collaboration Container

A workspace is a shared folder in Power BI Service where a team stores and manages their reports, dashboards, datasets, and dataflows together. Think of it as a shared drive, but purpose-built for Power BI content and access control.

WORKSPACE TYPES

My Workspace (personal):
  ├── Only you can access it
  ├── Good for: drafts, personal analysis, learning
  ├── Cannot be shared as a Power BI App
  └── Every user gets one automatically

Shared Workspaces (team workspaces):
  ├── Multiple people can access and collaborate
  ├── Assign different roles to different people
  ├── Can be packaged as a Power BI App for broad distribution
  └── Required for: production reports used by a team or organization

WORKSPACE ROLES:
  Admin   → Full control: manage members, settings, publish apps
  Member  → Publish, edit, delete content; manage datasets
  Contributor → Publish content but cannot manage members
  Viewer  → View reports and dashboards only (cannot edit anything)

Creating a Workspace

In Power BI Service, click Workspaces in the left sidebar, then click New workspace. Give it a name (for example, "Sales Analytics Team"). Add team members and assign roles. Click Save. The workspace is ready to receive published reports. When you publish from Power BI Desktop, select this workspace instead of My Workspace.

Power BI Apps: The Clean Distribution Channel

A Power BI App packages selected reports and dashboards from a workspace into a polished, organized bundle that you distribute to a large audience. App users see a clean navigation experience — they do not see the workspace's raw file list or any works in progress. Apps are the recommended way to distribute reports to end users who only need to consume data, not build anything.

WORKSPACE vs. APP VIEW

Workspace (what the team sees):         App (what end users see)
  Sales Report v1.pbix                    Sales Overview  (report)
  Sales Report v2 DRAFT.pbix              Regional Map    (report)
  Data Quality Check.pbix                 Executive KPIs  (dashboard)
  Temp Analysis.pbix             →        
  Sales Overview.pbix                   Navigation is clean and curated
  Regional Map.pbix                     No draft files visible
  Executive KPIs dashboard               No internal working files

Publishing an App

From within a workspace, click Publish app at the top of the screen. Give the app a name, description, and logo. In the Content section, select which reports and dashboards to include and arrange their navigation order. In the Access section, add the people or groups who can install and use the app — by name, email, or Microsoft Entra (Azure AD) security group. Click Publish. Users receive a notification and can install the app from the Apps section in Power BI Service or from AppSource inside Teams.

Sharing: Direct Report and Dashboard Links

For quick, one-off sharing with specific people, use the Share button. Open any report or dashboard in Power BI Service and click Share in the top-right corner. Enter the recipient's email address, add an optional message, and choose whether to allow them to reshare the content or build their own reports on the same dataset. They receive an email with a direct link.

SHARING OPTIONS

Share a report:
  ├── Grant access to the specific report
  ├── Recipient can view but not edit (unless they have workspace access)
  └── You can revoke access at any time

Share a dashboard:
  ├── Share the entire dashboard
  ├── Or share specific tiles only
  └── Allow recipient to reshare: Yes/No

Share a link:
  ├── People in your organization (anyone with a Power BI account)
  ├── People with existing access (only current members)
  └── Specific people (enter email addresses)

WHEN TO USE WHAT:
  Share   → quick access for 1–5 specific people
  App     → organized access for 10–10,000 users
  Workspace → for team members who co-manage content

Row-Level Security: Showing Each Person Only Their Data

Row-Level Security (RLS) restricts which rows of data a user sees in a report — based on who they are. A regional sales manager sees only their own region's data. A country manager sees all regions. The report looks identical to both users — only the data differs. RLS is defined in Power BI Desktop and enforced in Power BI Service.

Static RLS

Static RLS hardcodes filter rules for manually defined roles. In Power BI Desktop, go to the Modeling ribbon and click Manage roles. Click Create role and name it (for example, "South Region"). Click the table to filter (DIM_Region) and enter a DAX filter expression: [Region] = "South". Click Save. Now anyone assigned to the "South Region" role in Power BI Service sees only South region data.

Dynamic RLS (Recommended for Most Cases)

Dynamic RLS uses the logged-in user's email address to filter data automatically. No need to create one role per person — one role handles all users by comparing their email to a column in your data model.

DYNAMIC RLS SETUP

Step 1: Add an Email column to your DIM_Manager table:
  DIM_Manager table has: ManagerEmail, Region, ManagerName

Step 2: Create one RLS role: "Dynamic User Role"
  Filter on DIM_Manager: [ManagerEmail] = USERPRINCIPALNAME()
  USERPRINCIPALNAME() returns the logged-in user's email.

Step 3: Publish to Power BI Service.
  Add the role to all users via Manage permissions.

HOW IT WORKS AT QUERY TIME:
  Priya logs in (priya@company.com)
  USERPRINCIPALNAME() = "priya@company.com"
  DIM_Manager filter: ManagerEmail = "priya@company.com"
  Relationship propagates filter to FACT_Sales
  Priya sees only her region's sales data

  James logs in (james@company.com)
  Same role, different email → sees his region's data

Testing RLS in Desktop and Service

In Power BI Desktop, go to Modeling → View as roles. Select the role you defined and enter a test email. The report immediately shows what that email address would see — confirming the filter works before you publish. In Power BI Service, open the dataset's permission settings and test with a specific user's email to verify the live deployment.

Subscriptions: Automated Report Delivery

Instead of asking users to open Power BI every morning, subscriptions push a report snapshot to their email inbox on a schedule. Set up a subscription by opening a report in Power BI Service and clicking Subscribe (the bell icon at the top). Configure who receives the email, how often (daily, weekly, specific days), what time, and which page of the report to show. The email includes a PNG snapshot of the report and a link to the live interactive version.

SUBSCRIPTION EMAIL STRUCTURE

Subject: Sales Dashboard — Daily Update (04 Jun 2025)

[Snapshot image of the report page]

View this report: [Click here for the interactive version]

Subscription: Daily at 7:00 AM IST
Sent by: Power BI Service

Alerts: Notifications When Data Crosses a Threshold

Alerts notify you when a KPI or gauge visual crosses a threshold you define — no manual checking required. Open a dashboard in Power BI Service. Click the three-dot menu on a KPI tile. Choose Manage alerts. Set the condition: "Alert me when value is above 1,000,000" or "Alert me when value drops below 50." Choose whether to also email the alert. Power BI checks the data every 24 hours (or when the dataset refreshes) and sends a notification when the threshold is crossed.

Power BI Embedded: Reports Inside Other Applications

Power BI reports can be embedded inside other applications — a SharePoint intranet page, a custom web app, a Power Apps canvas app, or a Teams tab — so users see analytics without leaving their primary workspace.

Embed in SharePoint

In Power BI Service, open a report and click File → Embed report → SharePoint Online. Copy the generated embed URL. In a SharePoint page, add a Power BI web part, paste the URL, and save. SharePoint users now see a fully interactive Power BI report on the page — with slicers, cross-filtering, and drill-through all working normally.

Embed in Power Apps

In a canvas app, insert a Power BI Tile control (available under the Insert → Charts section). Set its Workspace and Report properties to your published report. The report appears inside the app — users can filter it and interact with it without leaving Power Apps.

Publish to Web (Public Embedding)

Publish to Web generates an HTML iframe code that embeds a report on any public website — no login required. Anyone with the URL or embedded page sees the report. This is appropriate only for public data — never use it for reports containing confidential or personal information, as access is entirely unrestricted.

Dataflows: Reusable Data Preparation

A dataflow is a Power Query data transformation that runs in Power BI Service rather than in Desktop. Multiple reports connect to the same dataflow as their data source — ensuring every report uses the same cleaned, standardized data. When the source data changes and the dataflow refreshes, all connected reports update automatically.

DATAFLOW BENEFIT

Without Dataflow:
  Report A: Connect to SQL → Clean data → Build report
  Report B: Connect to SQL → Clean same data → Build report
  Report C: Connect to SQL → Clean same data → Build report
  Problem: Three separate copies of cleaning logic.
           If source schema changes, update all three.

With Dataflow:
  Dataflow: Connect to SQL → Clean data → Store in Power BI Service
  Report A: Connect to Dataflow → Build report
  Report B: Connect to Dataflow → Build report
  Report C: Connect to Dataflow → Build report
  Solution: One cleaning process. Update once. All reports benefit.

Power BI Goals and Scorecards

Power BI Goals lets you define key business metrics (goals) with targets and owners, track progress visually in a scorecard, and create a culture of accountability. A scorecard shows each goal with its current value, target, status (on track, at risk, behind), and owner. Connect each goal to a Power BI measure that updates automatically. Team leads check the scorecard to see at a glance which initiatives are on track and which need attention.

Key Points

  • Workspaces are shared containers for team content. Use workspace roles (Admin, Member, Contributor, Viewer) to control who can do what.
  • Power BI Apps package curated reports into a clean, polished experience for end users — the recommended distribution method for large audiences.
  • Use Share for quick access to specific people, Apps for broad organized distribution, and workspace membership for content creators and managers.
  • Row-Level Security (RLS) restricts data visibility per user. Dynamic RLS uses USERPRINCIPALNAME() to filter based on the logged-in user's email — one role handles all users.
  • Subscriptions push scheduled report snapshots to email inboxes automatically. Alerts notify users when a KPI crosses a defined threshold.
  • Embed reports in SharePoint, Power Apps, or public websites using Power BI Embedded or Publish to Web. Never use Publish to Web for confidential data.
  • Dataflows run shared data preparation logic in the cloud — multiple reports connect to the same cleaned dataset, eliminating duplicate transformation work.

Leave a Comment