Embedding or publishing Power BI reports in SharePoint so non-licensed individuals can view

Note: This, like many O365 things, is rapidly evolving. If you’re aware of better practices or new updates to licensing, feel free to mention it in comments.

I’m currently at SharePoint Fest Seattle where Chris McNulty, Sr. Product Manager for Office 365 and SharePoint at Microsoft, mentioned (as I understand) there could be changes coming to licensing that would allow more people to consume Power BI reports in a friendlier (more affordable) licensing structure. This would be amazing because currently:

I can create reports. People can’t view data in those reports in a secure way because the entire organization isn’t licensed for Power BI per person above the “free” license.

Specifically I, with a Power BI Pro license, can create reports and place those in SharePoint’s new page experience Power BI web parts (in Preview) but other people (with free or without Pro licenses) cannot view them. They see the following:

powerbiviewerror.PNGOf course, to me as the creator and properly-licensed individual, I see the report perfectly embedded as it should be. And not every organization can afford to license every single user appropriately to be able to simply view embedded reports. Especially if consuming reports (not sharing or building) is the only function they need in the Power BI realm.

In this post, I’ll cover:

  • How to embed Power BI reports the normal, easy (but license-exclusive) way
  • Why the webpart (normal, easy way) is cooler than embedding a script
  • How to embed the report in a (less secure) way so that non-licensed or free-license individuals can actually view and manipulate the data

How we’re supposed to embed Power BI reports in SharePoint

  1. From Power BI (app.powerbi.com), open the report you want to embed
  2. Click File –> Embed in SharePoint Online (Preview)
  3. Copy the URL you’re given
  4. Go to your SharePoint new page experience page and add a webpart using the plus sign, selecting Power BI
  5. Click “Add Report”
    add report.PNG
  6. Paste the URL and choose a specific page, the ratio and the pane options.
  7. Publish

What’s so great about the webpart versus embedding?

Audience targeting. With the app, we’re able to limit a 20-page report to a single page and remove the navigation pane so we can place the same report on twenty private sites with each seeing the page most specific to them while maintaining the data firewall between each site. With embedding, you have to save each page of the report separately or users will be able to move to the other pages as they please.

Visual customization. In the webpart, we can also give users the option to use the filter pane and can choose a dynamic ratio which resizes nicely. In embedding, we have to use specific dimensions which do not resize well and leave a gray border/margin around your report depending on window size.

Sharing & security. In the webpart, your report is secure and not easily shared aside from screenshots. When embedded, however, it’s simply an email away from showing up in the newspapers or in the hands of competitors. Embedded reports provide social sharing, links and email options and people can also simply take the script from your page’s html and embed it anywhere else:

That being said…

How to share Power BI reports with everyone, including those without licenses

  1. From Power BI (app.powerbi.com), open the report you want to embed
  2. Click File –> Publish to web
  3. In a SharePoint page (or any website on any platform) simply paste the embed code you get into your html. In SharePoint, paste it into a Script Editor web part on a classic page, or add an “embed” webpart/section on a new page in which to paste the script.

You can view the current Power BI licensing options at this link.