Emailing PowerBI reports to End Users

Image

We have all been in a situation where, even though our dashboards are ready, we want the reports mailed to other stakeholders or us periodically. Even though we have basic functionalities in PowerBI, others offer flexibility and accessibility.

Using Subscribe option

This feature is available to all the pro users with an email subscription. With each dashboard refresh or data change, a screenshot of the selected report is sent to the subscribed users. This feature also shares a link to the dashboard if one needs to examine it in detail. However, the main disadvantage of this method is that we can send reports only as images.

Pre-requisites:

  • A Power BI Pro or Premium Per User (PPU) license or access to a workspace backed by a Power BI Premium capacity.
  • A Contributor, Member, or Admin role in the workspace.
  • A Premium Per User(PPU) license for group email aliases in the current Active Directory.

Pros:

  • The app is in-built, and the feature is simple to use and is bug-free.
  • Even if the end-user doesn't have a pro account, they can access the attached link.
  • Using RLS with subscriptions set up atop that is a workaround for accessing data-driven subscriptions.

Cons:

  • Only screenshots are sent, so users can't scroll the content.
  • Dynamic filter selection is not possible.
  • Data-driven subscription is not available directly.

Using Power Automate

Another way to email dashboards is by linking PowerBI and Power Automate. For this, the person needs a Power Automate per-user plan access to create the required flows. Also, one needs a Pro license and access to open the attachment, without which they can only see the dashboard preview. However, we can create dynamic email content and send the emails at the press of a button.

Pre-requisites:

  • At Least one workspace in a reserved capacity.
  • Access to standard connectors in Power Automate.

Pros:

  • The ability to create dynamic email content offers higher personalization.
  • Users can send role-based emails.
  • Easy PowerBI and Power Automate Integration.

Cons:

  • Users can only send screenshots.
  • Dynamic filter selection is not possible.
  • If the end user does not have a Pro license, they won't be able to open the attachment.
  • Prone to bugs.

Using PBRS

Power BI Report Scheduler (PBRS) is a third-party app that is used to schedule sending reports. It offers more flexibility than other options, sending data to any data-driven destination at any time. This can also be set to be triggered by specific events or data changes. It can also export the data in any format, including pdf, excel, or HTML. Merging and renaming the same file type before sending is an added benefit. However, even though we can set alternative tasks in case of failures, we cannot set dynamic filters for those tasks.

Pre-requisites:

  • PowerBI account credentials.
  • If there is a Two or Multi-Factor Authentication, standard integration won't work. One has to register PBRS under API Permissions explicitly.

Pros:

  • More flexible.
  • Can handle errors
  • Dynamic filtering is feasible.
  • More exporting formats.

Cons:

  • Exporting custom visuals and R visuals are not supported.

Using NeenOpal's Custom Screenshot Automation Code

NeenOpal Screenshot Automation Code allows users to apply filters dynamically to the dashboard. The dashboard URL, and the field and filter values are obtained from the user, and the screenshots are taken accordingly. The screenshots are then compiled to get the required file in a PowerPoint presentation file. The software is based on Selenium and Python. Additional text can be added along with images on each slide as well.

Pre-requisites:

  • PowerBI account credentials.
  • For MFA, Registration is required to access the report.

Pros:

  • Dynamic filter selection is available.
  • It can be exported as a PowerPoint presentation.

Cons:

  • Other export formats are not possible.

Resources

Written by:

Bharathi Krishnan

Data Scientist

LinkedIn

Related Post

Leave a Reply