Tutorials/Power BI/Power BI Service: Publishing, Workspaces, Row-Level Security, and Refresh
Power BIintermediate

Power BI Service: Publishing, Workspaces, Row-Level Security, and Refresh

Move from Desktop to the cloud — workspaces, apps, scheduled refresh with gateways, and row-level security that actually locks data down.

NA
Narmer Abader
@narmer · Published June 10, 2026

What You Will Learn

  • Publish reports from Desktop to the Power BI Service
  • Understand workspaces and how to organize content
  • Build dashboards by pinning visuals
  • Share content: apps, links, and embedding
  • Implement Row-Level Security (RLS) to control data access
  • Schedule automatic data refresh
  • Use Power BI Goals / Scorecards

6.1 Publishing to the Service

When your report is ready in Power BI Desktop:

  1. Click Home → Publish
  2. Sign in with your Microsoft account (if not already signed in)
  3. Select the workspace to publish to
  4. Click Select

Power BI uploads your .pbix file (which contains both the dataset and the report) to the cloud. You will see a success message with a link to open the report.

What gets published: The dataset (data model + data) AND the report (pages + visuals). These are stored as two separate items in the Service.


6.2 Navigating the Power BI Service

Open app.powerbi.com in any browser.

Left Navigation

ItemDescription
HomeRecently viewed and recommended content
CreateNew report, scorecard, or paste data
BrowseAll content you have access to
WorkspacesYour collaborative content folders
AppsPublished app bundles
MetricsScorecards and goals
LearnMicrosoft's learning resources

Content Types in the Service

TypeIconCreated by
Dataset🗄️Uploading a .pbix file
Report📊Desktop or in-browser
Dashboard🖥️Pinning visuals from reports
Dataflow🔀Power Query in the Service
App📦Publishing a workspace as an app

6.3 Workspaces

Workspaces are collaborative folders in the Service. Every user has a My Workspace (personal), plus you can create or join shared workspaces.

Creating a Workspace

  1. Workspaces → Create a workspace
  2. Enter a name and optionally a description
  3. Add members and assign roles

Workspace Roles

RoleWhat they can do
AdminFull control — manage settings, members, and all content
MemberCreate, edit, publish content; manage access
ContributorCreate and edit content; cannot manage access
ViewerView content only; cannot edit

Best practice: Use workspaces per team or per project. Keep "My Workspace" for personal drafts only — never share directly from it.


6.4 Dashboards

A Dashboard is a single-page summary that pins visuals from multiple reports. Unlike reports, dashboards cannot be created in Desktop — they live exclusively in the Service.

Creating a Dashboard

  1. Open any published report in the Service
  2. Hover over any visual → click the pin icon (📌)
  3. Choose "New dashboard" or pin to an existing one
  4. Give the dashboard a name and click Pin

Dashboard vs. Report

FeatureReportDashboard
Multiple pages✔️❌ (single page)
Slicers and filters✔️
Full DAX/interactive✔️Limited
Cross-report pinning✔️
Mobile layoutOptional✔️ Built-in
Q&A feature✔️
Alerts✔️

Q&A on Dashboards

Click the Ask a question about your data box at the top of a dashboard to query your data in natural language:

  • "What were total sales last quarter by region?"
  • "Show me top 5 products by revenue as a bar chart"

6.5 Sharing Content

  1. Open the report/dashboard
  2. Click Share (top right)
  3. Enter email addresses or groups
  4. Choose whether recipients can re-share or see the underlying data
  5. Click Send

Requires: Both you and the recipient need a Pro or PPU license, OR the content is in a Premium capacity workspace.

Publish to Web (Public, Anonymous)

File → Embed report → Publish to web (public)
This creates a public URL anyone can view — no login required.

⚠️ Warning: Use ONLY for publicly available data. Anyone with the link can see the report — do not use for internal or sensitive data.

Sharing via Apps

Apps are the best way to distribute content to large groups:

  1. In your workspace click Create app
  2. Add a name, description, and brand color
  3. Select which reports/dashboards to include
  4. Set up the navigation sidebar
  5. Publish app
  6. Share the app link with your audience

Recipients install the app once; you update it in the background without re-sharing.


6.6 Row-Level Security (RLS)

RLS restricts what data each user sees based on their identity. Example: a sales rep sees only their region's data.

Setting Up RLS in Power BI Desktop

Step 1 — Define roles

  1. Modeling ribbon → Manage Roles → Create
  2. Name the role (e.g., "West Region")
  3. Select a table and add a DAX filter expression:
-- Static RLS: hardcoded to a region
[Region] = "West"

Step 2 — Dynamic RLS (recommended for scalability) Use the logged-in user's email to filter data:

-- In dim_Salesperson table
[Email] = USERPRINCIPALNAME()

This requires a dim_Salesperson table with an Email column that matches your Azure AD user emails, connected to your fact table.

Step 3 — Test roles in Desktop Modeling → View as → select a role to preview what that user would see

Step 4 — Assign users to roles in the Service

  1. Go to your dataset in the workspace
  2. Click "..."Security
  3. Find the role → Add people → enter email addresses

Important: RLS only restricts the data visible in reports. Users with "Build" permission on the dataset can still query data directly. Use Object-Level Security (OLS) to hide entire columns or tables.


6.7 Data Refresh

Data in an imported dataset goes stale unless you refresh it.

Manual Refresh

In the workspace → click "..." next to the dataset → Refresh now

Scheduled Refresh

  1. In the workspace, click your dataset → Settings
  2. Expand Data source credentials → enter credentials for each source
  3. Expand Scheduled refresh → toggle it On
  4. Set the Refresh frequency: Daily or Weekly
  5. Set Time zone and specific times (up to 8 times per day on Pro, 48 on Premium)
  6. Optionally add Refresh failure notifications email

Gateway — For On-Premises Data

If your data source is behind a firewall (SQL Server, Oracle, files on a network drive), you need an on-premises data gateway:

  1. Download the gateway installer from the Power BI Service
  2. Install on a Windows machine that can reach the data source
  3. Register the gateway in the Service under Settings → Manage connections and gateways
  4. Connect your dataset's data source to the gateway

Incremental Refresh (Pro / Premium)

For large datasets, avoid refreshing all historical data on every cycle:

  1. In Power Query, create RangeStart and RangeEnd parameters of type Date/Time
  2. Filter your date column using these parameters
  3. In the Service → dataset → Scheduled refresh → Incremental refresh
  4. Define how much to keep (e.g., 3 years) and how much to refresh (e.g., last 10 days)

6.8 Email Subscriptions and Alerts

Email Subscriptions

Automatically email a screenshot of a report page on a schedule:

  1. Open a report in the Service
  2. Subscribe to report (bell icon or File menu)
  3. Set frequency, time, and recipients

Data Alerts (Dashboard only)

Get notified when a KPI crosses a threshold:

  1. Click a card or KPI tile on a dashboard
  2. Click "..."Manage alerts
  3. Set the condition (e.g., "Revenue below 50,000")
  4. Choose notification method (email, notification center)

6.9 Power BI Goals / Scorecards

Goals let you track KPIs against targets with accountability owners.

  1. Metrics (left nav) → New scorecard
  2. Add a metric → connect to a measure in your dataset
  3. Set the target value and status rules (e.g., > 90% of target = green)
  4. Assign an owner responsible for each metric
  5. Add check-ins — manual updates with notes

Module 6 Summary

You can now:

  • Publish reports from Desktop to the Service
  • Organize content in workspaces with proper roles
  • Build dashboards by pinning visuals
  • Share via direct links and apps
  • Restrict data visibility with Row-Level Security
  • Schedule automatic data refresh with or without a gateway

Knowledge Check

  1. What is the difference between a Dashboard and a Report in the Power BI Service?
  2. You want to share a report with 500 colleagues. Should you use "Share" or an "App"? Why?
  3. How does dynamic RLS differ from static RLS? What is the DAX function used?
  4. What is an on-premises gateway and when do you need one?

Next Module

➡️ Module 7 – Advanced & Expert Topics
Performance tuning, composite models, deployment pipelines, Power BI Embedded, and the REST API.