DEV Community

Jon Stjernegaard Vöge
Jon Stjernegaard Vöge

Posted on

Exploring the new Dynamic Subscriptions for Power BI Reports

Exploring the new Dynamic Subscriptions for Power BI Reports

Introduction

Dynamic Subscriptions for Power BI were recently released as a Preview Feature in the Power BI Service, allowing for distribution of personalized per recipient reports.

The feature is explained in some depth in the official Documentation & Power BI Blog, but when playing around with the feature I came across both a few easily overlooked features, as well as some potential use cases that I failed to setup correctly.

The rest of the article below summarizes my exploration of the feature, both in terms of what works and what does not work in the current Preview state.

Setting up Dynamic Subscriptions

Dynamic Subscriptions are set up from the same place as the regular subscriptions — by opening a Power BI Report either from within its Workspace, or from its Workspace App, and clicking the “Subscribe to Report” button:

Opening Dynamic per Recipient allows you to connect to a published Semantic Model, from which you can selects fields to be used for dynamic content. Currently, you can dynamically control:

  • Email Address of the recipients

  • Email Subject for each recipient

  • Report Filters for each recipient

  • Attachment Filetype for each recipient

This means, that you for example can distribute the same report to 10 different recipient emails, each with customized Report Filters, and potentially letting some recipients receive PDFs and others .pptx files. Note that there is no way to manipulate the data that you pull into the Dynamic Report, and everything need to be modeled beforehand. You are however not limited to connecting to the same Semantic Model as the one used for your report.

In my example I’ve populated a barebones UserTable in my DataWarehouse, with two recipients each belonging to a “State” value in the Geography Dimension of my data model, but this could of course be your regular User or dynamic RLS table:

Afterwards, you setup the basic email details, mapping the recipient to the email field you imported:

As well as adding your dynamic filters and setting up a schedule for the subscription. Here I am filtering so that each User will only see data relevant to the State that they have access to in the Usertable:

After reviewing, the Subscription is easily edited, activated/deactivated, or tested from the subscription overview:

An overview of Subscriptions may also be found in your personal settings in the Service:

Testing the Subscription shows how emails and attachments may look:

And in this case, only Pennsylvania data is shown to the recipient of the report.

Exploring Filter possibilities and limitations

So that was the basics out of the way. Next up, I set out to do a couple of tests, trying to test the limits of the filter functionality.

Measure Filters

First I tried creating a Measure in my Semantic Model, and try to use that as a filter condition. I first tried creating a measure for Today() to dynamically filter by today’s date:

Unfortunately my test failed. I subsequently tried creating a Measure to filter for only “Friday” records, and also tried a numeric measure filter, both tests which failed as well.

It appears as if it not currently possible to use Measures in filters, despite the ability to select them in the data selection menu. If you have figured out a way to do so, please do drop me a message! I suspect they may be possible to use in dynamic headers in the subscriptions, or something similar.

Column Filters

Column filters on the other hand. Now they work great! In my test, I tried both creating a date column in the Data Warehouse for Today’s date, as well as a Text column to filter for State. These tests succeeded, and the result is reports which filter correctly for the supplied values:

Measure Filters

Applying Report filters was also a success. In this example I added a Page Level filter for Month = October as the only filter, and the results were indeed only October values:

Visual Filters

And finally, it is possible to use the visual interaction between visualisations and apply those to the subscription. Meaning that filters set in slicers, or values highlighted in visuals, will trigger a new option ‘Pre-Existing filters’ being available in the ‘Map your data’ menu:

Limitations and Oddities

The feature is in preview still, and there are some limitations to the functionality still. The Measures as Filters issue described above is one. Another is the current cap of 50 separate recipients, listed in the official documentation.

Hence, if you need more than 50 recipients, the good old Power Automate Export To File is still your only option: Export and email a report with Power Automate — Power BI | Microsoft Learn

Another weird bug I encountered is that some of my Dynamic Subscriptions, started sending themselves twice at the same time, seemingly without consistency. I couldn’t quite isolate when it would happen:

Summary

Dynamic Subscriptions for Power BI reports are to me a welcome feature, and may in time (once recipient limitations are liberated) be a worthy substitute for current Power Automate subscription flows.

The ability to allow the reports to propagate visual level filters to the attachment reports in the subscription is a cool feature, which may help highlight specific insights in key reports.

I’m curious to see if people brighter than me will be able to make even better use of the dynamic filtering options, and potentially find a way to leverage Measures as well.

Top comments (0)