skip to content

In Power BI, when should you distribute content as an app rather than sharing reports directly?

level: middleimportance: should knowfreq 58%

answer

  1. consumers should not watch you edit
  2. a workspace shows everything in it
  3. one published version, updated on purpose
  4. who can see this, answered in one place
  5. packaging is not the same as row filtering

basics

~20 s

Use a Power BI app once an audience is larger than a handful or the content is finished: it packages chosen workspace items into a stable read-only experience with its own audiences. Direct share links suit ad-hoc, one-off access and sprawl badly at scale.

solid answer

~50 s

A **workspace** is an authoring container with roles — Admin, Member, Contributor, Viewer — and everything in it, including half-finished reports, is visible to whoever you add. A **Power BI app** is published *from* a workspace and packages a chosen subset of its items into a read-only experience for consumers, with **audiences** so different groups see different content from one app. Apps are the distribution mechanism: they decouple what authors are editing from what consumers see, they let you republish deliberately rather than exposing every save, and they give one place to manage access. Direct sharing — a per-item link to specific people — is for the ad-hoc case, and it does not scale: nobody can enumerate who has access, removals get missed, and consumers end up with a pile of unrelated links instead of a navigable app.

code

text · 12 lines
text
Workspace "Sales BI"           (authors only)
  Admin:       BI lead
  Member:      2 analysts
  Contributor: 1 contractor
  Items:       Sales model, Exec Summary, Rep Detail, WIP Forecast (draft)

App "Sales"  (published from that workspace)
  Audience "Leadership"       -> Exec Summary
  Audience "Regional Managers"-> Exec Summary, Rep Detail
  (WIP Forecast is in neither audience: consumers never see it)

-- rows each person sees are still decided by RLS on "Sales model"

go deeper

for a junior

Be ready to distinguish the three ways to give access — workspace role, direct share, app — and to say which one a large audience should get.

for a middle

Explain audiences, the publish-a-version gate between authoring and consumption, and why an app is a packaging layer rather than a data-security one.

for a senior

Show how you would remediate a sprawl of direct shares and workspace Viewers: authors-only workspace, audiences, app, RLS on the model, revoke the strays.

for a principal

Own the workspace taxonomy itself — per subject area and audience, not per report — plus endorsement, licensing/capacity implications, and how access reviews are run at tenant scale.

## Three distinct ways to give someone access Power BI has three access mechanisms that beginners conflate. **Workspace roles.** Add a person to the workspace as Admin, Member, Contributor or Viewer. Admin/Member/Contributor are *authoring* roles with increasing rights over items and access; Viewer is read-only. But a Viewer in a workspace sees **everything** in it — including the experimental report someone is mid-way through rewriting, and every semantic model. Workspace membership is for the team that builds the content. **Direct sharing.** Share a single report or dashboard with named people or groups via a share link, optionally granting *Build* on the underlying semantic model as well. This is fast and precise, and it is the right tool when one colleague needs one report once. **An app.** Publish an app from the workspace, selecting which items belong in it and how they are organised into navigation. Consumers install or open the app and see a curated read-only product. **Audiences** let one app serve several groups with different item sets and different access lists — so "Sales Leadership" and "Regional Managers" can be two audiences of the same app rather than two apps or two workspaces. ## Why apps win for real distribution **Separation of authoring from consumption.** Content in the workspace changes constantly as authors save. An app publishes a *version* of that content: consumers keep seeing the last published app until you update it. That editorial gate is the single biggest reason to use apps — it turns "I saved a broken visual at 4pm" into a non-event. **Access you can actually audit.** With an app, access is a list per audience, in one place. With direct shares, permission has been granted item by item over months by several people; answering "who can see the margin report?" becomes an investigation, and offboarding is unreliable. This is a governance argument, and interviewers expect it. **A navigable product.** Consumers get one entry point with sections and ordering, not five links in five emails. Adoption of BI content is mostly a findability problem. **Update control.** Republishing the app pushes changes to all audiences at once, and you choose when. ## What an app does not do An app is a *packaging and access* layer, not a security layer over data. **Row-level security still applies** through the semantic model: an app consumer who is in an RLS role sees only their rows, and if the model has no RLS, the app shows everyone everything. Never present "put it in an app" as an answer to "how do I stop this audience seeing other regions" — that is RLS's job. An app also does not remove licensing requirements. Consuming content in a workspace on shared capacity requires each consumer to hold a paid per-user licence; workspaces backed by dedicated capacity are the mechanism for letting free users consume. The exact licence names and capacity SKUs have been restructured more than once, so describe the shape of the rule and verify the current specifics rather than quoting a tier from memory. And an app does not grant *Build* on the model by default in a useful way for self-service: if consumers need to make their own reports or use Analyze in Excel, they need Build permission on the semantic model explicitly. ## The decision, stated simply - Two colleagues, one report, this week → **direct share**. - A team that builds the content together → **workspace roles** (Contributor/Member), not an app. - A defined audience consuming finished content → **app**, with audiences if the groups differ. - Audience must see different *rows* of the same report → **RLS on the model**, whichever distribution you chose. ## Failure modes to name The classic mess is a workspace with forty Viewers, thirty direct shares, and no app. Consumers see drafts, permission is unauditable, leavers keep access, and every author is afraid to save. The remediation is: strip the workspace down to its authors, define audiences, publish an app, move the consumers there, and revoke the direct shares — plus RLS on the model if any of those consumers must not see all rows. The opposite mistake is publishing an app per report. Apps are per workspace; a proliferation of one-report apps means your workspace boundaries are wrong, usually because they were drawn per report instead of per subject area and audience.

  • Does putting a report in an app restrict which rows a consumer sees?
    No. Apps control which items an audience can open, not which rows come back. Row filtering is row-level security defined on the semantic model, with roles assigned in the Service; a user with no RLS role in a model that has none sees every row regardless of how the report reached them. Use audiences for content scoping and RLS for data scoping, together.
  • What does the Viewer workspace role give someone that an app audience does not?
    Viewer grants read access to everything currently in the workspace, drafts included, and exposes the workspace's raw item list rather than curated navigation. It is appropriate for someone who genuinely needs to see work in progress — a reviewer or a partner team's lead — and inappropriate as a general distribution mechanism.
  • A consumer wants to build their own report from your model. What do you grant?
    Build permission on the semantic model, ideally granted to a group rather than individuals, plus somewhere for them to author — their own workspace. Read on a report is not enough to create new content or to use Analyze in Excel. Endorsing the model as Promoted or Certified also helps them find the right one instead of copying tables.

saying these in an interview costs you the question

  • Says an app hides rows from unauthorised viewers
  • Adds every consumer to the workspace as Viewer
  • Treats direct share links as a distribution strategy
  • Thinks apps are per report rather than per workspace
  • Assumes app publication is automatic on every save

context