Skip to main content

Dynamic subscriptions for Power BI reports (Preview)

Headshot of article author Michael Bruhjell


We’re excited to announce that dynamic per recipient subscriptions are now available in Preview for Power BI reports! Similar to dynamic subscriptions for paginated reports, you can now distribute a personalized copy of a Power BI report to each recipient of an email subscription.

How it works

Imagine you have a report that includes sales data for your entire team. You want to schedule an email subscription that sends out a PDF copy of this report to each salesperson on a weekly basis, with the report filtered to only show their sales results.

This can now be done by connecting to a semantic model (previously Power BI dataset) that defines the mapping between recipients and respective filter values. When it’s time to send out the report, the latest data available in your semantic model will determine which employees should receive a report in their inbox, and with what filter values applied.

screenshot of "Select and filter" data step


What you’ll need to get started


Setting up a dynamic per recipient subscription

  1. Navigate to your Power BI report. Select Subscribe to report from the toolbar and then select the new Dynamic per recipient (Preview) option in the subscription pane.subscription pane open with dynamic per recipient option selected
  2. Select a semantic model that contains your recipients’ data (i.e. email addresses, filter values for each recipient).first step in a wizard UX show a highlighted semantic model
  3. Next, select the columns from your semantic model that should be varied for each recipient. Email address, email subject, report filters, and even the attachment format can be set dynamically based on data in a semantic model. In this example, we’ve selected the email addresses and the names of our salespeople.second step in a wizard UX
  4. You can apply filters and change the method of aggregation by expanding the Filter and Build panes respectively.expanded filter and build panes, side by sude
  5. On the Email details page, map the column from your semantic model that contains email addresses to the Recipients field. On this page you can also set the name of the subscription, subject, email message, and attachment format. Note, email subject and attachment format can optionally be mapped to a column from your semantic model.third step in a wizard UX, showing mapping of recipients field
  6. Proceeding to the Map your data page, you’ll first see the option to Include my changes. Selecting this will use the current state of the report with any filter values, spotlights, drill states etc. as the starting state of the report upon which dynamic filter values will be applied. Deselecting this will use the default state of the report.fourth step in a wizard UX, highlighting include my changes checkbox
  7. Continuing to Dynamic filters, select Add filter to create a mapping between a report filter and a column in the semantic model containing your recipient data. Report field is the field to which we want to apply a dynamic filter value, and Value is the column in our recipient dataset containing values for each recipient. Note, all dynamic filters will be applied at the report level (i.e. to all pages).fourth step in a wizard UX, showing mapping of dynamic filter
  8. On the Schedule page, specify the frequency at which you want this subscription to send. By turning off Active subscription, you have the option of triggering this subscription manually instead of on a recurring basis.fifth step in a wizard UX
  9. The final Review and finish page lets you review the dynamic subscription you just created as well as go back to any step to make changes. Select Save and close to finalize your subscription.sixth step in a wizard UX
  10. In the subscription pane, you’ll see this newly created dynamic subscription. You can asynchronously send this subscription to all recipients by selecting Send now.subscription pane open with send now button highlighted

Things to keep in mind

This feature will start lighting up in certain regions as soon as today, but depending on the geography in which your Power BI tenant is located, it may take up to two weeks to appear.

This feature is in Preview, meaning it’s now automatically available for all customers to try and we will be shipping improvements over the coming months. As a Preview feature, it’s not available to customers located in Sovereign Clouds.

Currently, only single values are supported with dynamic filters.

The initial limit on number of unique copies of a report per a single dynamic subscription is 50.

More details are available in the documentation.

We want to hear your feedback

We would love to hear your feedback on dynamic subscriptions. What do you like? What can we do to make it better?

Let us know in the comments or on