Chapter 9 of 12

Power BI Data Analyst PL-300

Power BI Service: Workspaces, Apps, and Dataset Sharing

Power BI Service transforms locally authored reports and data models into governed, collaborative analytical assets that entire organisations can consume at scale. This chapter covers the Service-side collaboration model most heavily tested on PL-300: workspace roles, dataset endorsement, Power BI Apps, dashboard tiles, and scheduled refresh.

1. The Power BI Service Collaboration Model

From Desktop to Service: The Publication Pipeline

Publishing a .pbix to the Power BI Service crosses a governance boundary. The Service separates the report from the dataset, creating two independent artefacts that can be managed, secured, refreshed, and shared independently. A single certified dataset can power dozens of reports authored by different teams, eliminating redundant modelling.

The pipeline begins with Home → Publish in Power BI Desktop and a target workspace selection. Understanding which actions affect the dataset, the report, or both is a core PL-300 exam theme.

Workspace Architecture and the Shared Dataset Pattern

A workspace holds datasets, reports, dashboards, and dataflows — and carries a permission model, a capacity assignment, and optionally a deployment pipeline association. The recommended enterprise pattern organises workspaces around data domains rather than teams. Cross-workspace dataset consumption is enabled by the Build permission, distinct from workspace membership.

Workspaces in Premium capacity (or PPU) unlock paginated reports, deployment pipelines, XMLA endpoint access, and free-user sharing. Shared capacity requires all consumers to hold a Pro licence.

Architecture diagram of Power BI Service showing four workspace roles (Admin, Member, Contributor, Viewer) with permission boundaries, a two-step dataset endorsement workflow (Promoted then Certified), Power BI Apps audience configuration and navigation, dashboard tile types including pinned visuals and streaming datasets, scheduled refresh configuration with failure email notification, and consumer discovery paths for certified datasets and cross-workspace reports.
Figure 9.1 — Power BI Service workspace roles, dataset endorsement, apps, and refresh architecture

2. Workspace Roles: Permission Boundaries

The Four-Role Permission Model

Power BI workspaces implement a four-tier additive role hierarchy applying at the workspace level, not to individual artefacts.

RolePublish AppAdd MembersDelete WorkspaceTrigger Refresh
AdminYesAll rolesYesYes
MemberYesMember, Contributor, ViewerNoYes
ContributorNoNoNoYes
ViewerNoNoNoNo

The key PL-300 trap: Contributors can create and modify content but cannot publish the workspace app. A Contributor who wants to publish must be elevated to Member or Admin.

Build Permission: Cross-Workspace Dataset Consumption

Build permission allows a user to create new reports, dashboards, or composite models against a shared dataset without being a workspace member. It can be granted explicitly via the dataset's Manage permissions panel, inherited by Contributor+ workspace roles, or distributed automatically through app publication.

Important

Build permission grants the right to create new artefacts against a dataset but does NOT grant access to view existing reports in the dataset's workspace. The consumer must have Contributor+ rights in their own workspace to save the new report there.

Role Assignment Best Practices

Assign workspace roles to Azure AD security groups (e.g., SG-PBI-FinanceAnalytics-Contributor) rather than individual users to delegate maintenance to the identity team. Guest users can be added to workspaces only when both AAD cross-tenant invitation settings and the Power BI tenant setting "Allow guest users to edit and manage content" are enabled.

Tip

Use GET /v1.0/myorg/groups/{groupId}/users to programmatically audit workspace membership across all workspaces and surface anomalies in a nightly monitoring dataset.

3. Dataset Endorsement: Promotion and Certification

The Endorsement Hierarchy

Endorsement signals trustworthiness across the tenant with two tiers: Promoted (owner-applied, signals readiness) and Certified (governance-team-applied, signals organisational validation). Both tiers appear as badges in workspace views, the data hub, and Power BI Desktop's dataset discovery experience.

Note

Endorsement applies to datasets and dataflows only — not to reports or dashboards.

Promoted Endorsement

Applied by the dataset owner, or any workspace Admin or Member, via Endorsement and discovery in dataset settings. No tenant configuration required; available in all workspace types. The Promoted badge drives discovery in the data hub and encourages consumers to adopt governed data over shadow datasets.

Certified Endorsement

Requires a Power BI administrator to enable certification under Tenant settings → Endorsement and discovery → Certify datasets and to designate the authorised security groups. Only members of those groups can apply the Certified badge. The Service records the certifier's identity and timestamp, creating an audit trail.

Warning

Certification is not automatically revoked when data source schemas change, refresh history degrades, or the owner leaves. Implement a quarterly recertification review to avoid certified-but-stale datasets, which are more damaging than no certification programme at all.

Three-column workflow diagram showing Power BI Service workspace roles (Admin, Member, Contributor, Viewer) with permission boundaries on the left, dataset endorsement progression from no endorsement through Promoted to Certified states in the center with decision gates and role requirements, and content distribution options including Power BI Apps with audience configuration, dashboard tile types (pin from report, pin live page, streaming), and scheduled refresh with failure notification on the right, plus an annotation panel summarizing key concepts.
Figure 9.2 — Dataset endorsement lifecycle, workspace role boundaries, and content distribution patterns in Power BI Service

4. Power BI Apps: Packaging and Distributing Curated Content

App Architecture and the Audience Model

A Power BI App is a curated, read-only package of workspace content distributed to defined audiences. Apps solve a fundamental UX problem: workspace Viewers see all content including drafts, whereas app audiences see only the content the publisher has selected in a custom navigation structure. A single app can serve multiple audiences, each seeing a different content subset.

Row-level security interacts with the audience model: audience configuration controls which reports are visible; RLS controls which data rows are visible within those reports.

Creating and Publishing an App

Publishing requires at minimum the Member role. The publication panel guides through three steps: Setup (name, description, logo, theme), Navigation (content selection and structure), and Permissions (audience definition). Navigation items can be renamed independently of the underlying artefact's workspace name, insulating consumers from technical naming conventions.

Important

Publishing an app does NOT automatically expose new workspace reports to consumers. Data within existing reports updates live, but adding a new report to the app navigation requires an explicit Update app action by a Member or Admin.

Audience Configuration and Access Management

Audience members — users or security groups — receive app access automatically on publication without needing workspace membership. The Entire organisation option makes the app available to all licensed users while still respecting RLS. App consumers who hold Build permission on the underlying dataset can use Edit a copy to create personalised reports in their own workspace.

Tip

Align audience boundaries with Azure AD security groups so employee onboarding and offboarding automatically synchronise app access without requiring app updates.

A four-section operational diagram showing Power BI Service governance. Top section displays four workspace role cards (Admin, Member, Contributor, Viewer) with color-coded permission boundaries and a privilege gradient arrow. Middle-left shows a three-stage dataset endorsement workflow from No Endorsement through Promoted to Certified with directional arrows. Middle-right illustrates the Power BI Apps lifecycle with Configure App and Publish App steps plus an audience update loop. Bottom-left presents three dashboard tile source types: Pin from Report, Pin Live Page, and Streaming Dataset tiles. Bottom-right shows scheduled refresh configuration flowing to success or failure email notification paths. An annotation panel summarizes key exam principles for all topics.
Figure 9.3 — Power BI Service workspace governance, dataset endorsement lifecycle, app distribution, and refresh management

5. Dashboard Tiles: Pinning, Live Pages, and Streaming Data

Dashboards vs. Reports

Reports are multi-page analytical documents with cross-filtering, drill-through, and bookmarks, connected to a single dataset. Dashboards are single-page collections of tiles sourced from multiple reports and datasets — designed for at-a-glance monitoring without report-style interactivity. Dashboards are a Service-only artefact and cannot be created in Power BI Desktop.

Pinning Tiles from Reports

Analysts pin visuals from published Service reports using the Pin visual icon. Pinned tiles maintain a live connection to source reports: when the dataset refreshes, dashboard tiles reflect updated data automatically. Clicking a tile navigates consumers to the full interactive source report.

Pinning Live Report Pages

An entire report page can be pinned as a live page tile, rendering all its visuals in an interactive tile directly on the dashboard canvas — including slicer interaction without leaving the dashboard.

Important

Live page tiles require the report and dashboard to be in the same workspace. Cross-workspace live page pinning is not supported — only individual visual tiles can be pinned cross-workspace.

Streaming Datasets and Real-Time Tiles

Streaming datasets are push-based: external systems push rows via the Power BI REST API and dashboard tiles update within seconds. Three types exist with different storage and query characteristics:

TypeData RetentionHistorical QueriesTile Update
StreamingNoNoReal-time push
PushYes (rolling window)YesPush via API
HybridYes (with dataset)Yes (via dataset)Push + scheduled refresh

Warning

Streaming datasets do not support scheduled refresh, relationships, or DAX calculated columns. Building composite models over streaming datasets is not supported. Use a separate import or DirectQuery dataset for historical analysis.

6. Scheduled Refresh: Configuration and Failure Management

Refresh Architecture and Prerequisites

Scheduled refresh pulls updated data from sources and reloads the in-memory dataset. Three prerequisites must be satisfied: (1) data source credentials configured in dataset settings, (2) an on-premises data gateway (or VNet gateway) for private-network sources, and (3) the dataset must not be a live connection to Analysis Services.

In shared capacity, datasets can be refreshed up to 8 times per day. In Premium capacity, up to 48 times per day (every 30 minutes).

Configuring Scheduled Refresh

Dataset owners navigate to Scheduled refresh in dataset settings to configure frequency, time zone, specific times, and failure notification recipients. The Service does not guarantee exact execution times — use the Power BI REST API triggered from Azure Data Factory or Logic Apps for precision SLAs.

Tip

Configure refresh failure notifications to a shared team mailbox or monitoring alias, not a personal email address, to ensure continuous operational coverage during leave or role changes.

Refresh Failure Notifications and Remediation

Failure CategoryCommon CauseResolution
Credentials expiredData source password changedRe-enter credentials in dataset settings
Gateway offlineGateway server rebootedRestart gateway service; check cluster health
Connection timeoutQuery exceeds 2-hour limitOptimise query or implement incremental refresh
Row limit exceededTable exceeds 1 GB (shared) / 10 GB (Premium)Implement incremental refresh or move to DirectQuery
Privacy level mismatchIncompatible source privacy levelsSet appropriate privacy levels in data source settings
Capacity throttlingPremium memory or CPU exceededScale capacity, optimise dataset, or stagger schedules

7. Lab

1

CE-17: Configure Workspace Roles and Dataset Endorsement via REST API

Acquire a bearer token using client credentials, then add a security group as Contributor to a workspace and apply Promoted then Certified endorsement to a dataset. Finally grant Build permission to a consumer group.

bash
# CE-17: Acquire token, assign Contributor group, endorse dataset, grant Build
TOKEN=$(curl -s -X POST "https://login.microsoftonline.com/${TENANT_ID}/oauth2/v2.0/token" \
  -d "client_id=${CLIENT_ID}&client_secret=${CLIENT_SECRET}&scope=https://analysis.windows.net/powerbi/api/.default&grant_type=client_credentials" \
  | jq -r '.access_token')
# Add security group as Contributor
curl -s -X POST "https://api.powerbi.com/v1.0/myorg/groups/${WORKSPACE_ID}/users" \
  -H "Authorization: Bearer ${TOKEN}" -H "Content-Type: application/json" \
  -d '{"identifier":"'${SG_OID}'","groupUserAccessRight":"Contributor","principalType":"Group"}'
# Apply Promoted endorsement
curl -s -X PATCH "https://api.powerbi.com/v1.0/myorg/datasets/${DATASET_ID}" \
  -H "Authorization: Bearer ${TOKEN}" -H "Content-Type: application/json" \
  -d '{"endorsementDetails":{"endorsement":"Promoted"}}'
# Grant Build permission to consumer group
curl -s -X POST "https://api.powerbi.com/v1.0/myorg/datasets/${DATASET_ID}/users" \
  -H "Authorization: Bearer ${TOKEN}" -H "Content-Type: application/json" \
  -d '{"identifier":"'${CONSUMER_OID}'","datasetUserAccessRight":"Build","principalType":"Group"}'
2

CE-18: Configure Scheduled Refresh and Monitor Refresh History

Configure a 30-minute refresh cadence for a Premium workspace dataset with failure notifications sent to a team mailbox. Trigger an on-demand refresh and poll the refresh history until completion.

bash
# CE-18: Configure refresh schedule and monitor history
curl -s -X PATCH "https://api.powerbi.com/v1.0/myorg/datasets/${DATASET_ID}/refreshSchedule" \
  -H "Authorization: Bearer ${TOKEN}" -H "Content-Type: application/json" \
  -d '{"value":{"enabled":true,"days":["Monday","Tuesday","Wednesday","Thursday","Friday"],
    "times":["06:00","06:30","07:00","07:30","08:00","08:30"],
    "localTimeZoneId":"Eastern Standard Time","notifyOption":"MailOnFailure",
    "recipients":{"values":["powerbi-ops@contoso.com"]}}}'
# Trigger on-demand refresh
curl -s -X POST "https://api.powerbi.com/v1.0/myorg/datasets/${DATASET_ID}/refreshes" \
  -H "Authorization: Bearer ${TOKEN}" -d '{"notifyOption":"MailOnFailure"}'
# Poll refresh history (last 5 entries)
curl -s "https://api.powerbi.com/v1.0/myorg/datasets/${DATASET_ID}/refreshes?\$top=5" \
  -H "Authorization: Bearer ${TOKEN}" \
  | jq '.value[] | {status,startTime,endTime}'

8. Summary

ConceptKey Point
Workspace RolesFour additive roles; only Member and Admin can publish apps; Contributor cannot add members or publish apps
Build PermissionEnables cross-workspace report creation without workspace membership; granted explicitly, by role inheritance, or via app distribution
Promoted EndorsementApplied by owner, Admin, or Member; no tenant config required; signals readiness for shared use
Certified EndorsementRequires admin enablement and certification group membership; creates audit trail with certifier identity and timestamp
Power BI AppsCurated read-only packages with audience-based access; data updates are live; navigation/content changes require explicit Update app
Dashboard TilesIndividual visuals pin cross-workspace; live page tiles require same-workspace co-location; streaming datasets support real-time push tiles
Scheduled RefreshUp to 8/day (shared) or 48/day (Premium); requires credentials + gateway for on-premises; failures trigger email to configured recipients

Chapter: 9 of 12  |  Status: v0.1 Draft  |