We’ve decided to start posting regularly to our dedicated community of developers in a monthly post. We’ll gather all the news, tips and tricks, canonical scenarios, and best practices for developers who are integrating, enhancing or embedding Power BI. We’d love to hear back from you, to make sure we’re providing you the most relevant info we can.

Power BI Embedded

For any of you who missed our MDIS presentation on Power BI Embedded, I’d like to highlight the main goals we achieved with the June release: A single set of functionality for Power BI service and Power BI Embedded; a single billing model; and ONE API surface for both.

 

What’s new

Let’s start by recapping everything that was released in June. It was a lot and I want to be sure you can find everything you need with ease

Documentation: Since we moved Power BI Embedded into the service, all documents can now be found exclusively in the Power BI portal. A good starting point would be What can developers do with Power BI?

API Reference: We released new APIs, that will help automate the main processes of an ISV doing Power BI Embedded and for orgs looking to introduce automated processes into their Power BI Portal. One example may be the ISV App deployment process including Power BI Embedded using the report clone and re-bind APIs. Another example could be the ISV App on boarding a new customer and embedding reports included in that process by using the import API along with the workspace creation APIs. And a third example is keeping the reports fresh at all times by using the refresh APIs as part of the data ETL process on the connected data source. Learn more on the Power BI APIs

We also updated our Microsoft Power BI – Report Embed Sample page to reflect the latest changes added on the JavaScript APIs so you can now find there the embed tile and dashboard sample code Get some hands-on experience with the Power BI – Report Embed Sample

Get some hands-on experience with the Power BI – Report Embed Sample

Another great resource to quickly setup and get started with Power BI Embedded is our PowerBI-Developer-Samples, it is a full end to end sample application that can be found in GitHub

Power BI Embedded licensing - Since June 1, Power BI Premium has been available for purchase with annual commitment via Enterprise Agreement (EA), Cloud Solution Providers (CSP), and Web Direct (MOSP). Earlier this month we have also released Power BI Premium EM1, EM2, via Enterprise Agreement (EA) with yearly commitment. Power BI Premium EM3, and P1 are also available for purchase with monthly commitment via Web Direct. You can read more about the pricing tiers and plan your capacity requirements by reading the paper on How to plan capacity for embedded analytics with Power BI Premium.

These monthly commitment offers will provide customers and partners additional flexibility in deploying Power BI Premium. As an example, a customer could start with Power BI Premium P1 for one month before committing to a year of P1 or higher.

For more information, see the Power BI Premium overview deck.

Power BI Embedded with RLS

powerbi-embedded-rls-components

Lets use this opportunity to define what we mean by static RLS Vs. Dynamic RLS.

- With static RLS you can connect to the data source with a static role and the user will only see the data filtered for that role. A role is part of the model, as such for cached models it will be defined in Power BI Desktop.

- With dynamic RLS you can connect to the data source using the DAX USERNAME() function that filters the username table by the connected user, and thus showing the connected user only the allowed data

As of the June release we support static RLS through a deployment based on several AAD users, each mapped to a different Role. When a user logs in to your App you know which role is applied to the connected user, and connecting to Power BI will be using this role. So when a report is embedded it will be filtered to show only the data per the assigned role. This might be good to use if you do not have many roles to apply, having many roles means setting up many AAD users, many AAD users means a hassle to manage. Going forward, you should be able to specify the role also as part of the embed token.

Today we are also announcing the support for dynamic RLS to Power BI Embedded. Initially we support reports based on cached models and direct query models. with dynamic RLS you can deploy and connect your application to Power BI using a single AAD user. The App is authenticated inside Power BI using the AAD user, and acts on behalf of its users (those users are external to Power BI and are not known to Power BI, nor do they require a Power BI free or Pro license), so when the App is requesting to embed a report it will also provide the security context for its logged in user through the embed token, including the username and role.

Very soon we will add dynamic RLS for a model based on a connection to AS-on premises and for Dashboards.

You can read more about RLS for Power BI Embedded. Note that when using RLS for Power BI Embedded, the application passes the username and the role in the embed token. Review the GenerateToken API reference for more information.

 

What’s still puzzling, and what are we doing about it

We get a lot of questions around licensing, so here’s a shot at making it a bit clearer.

Q: What can I do with the Power BI APIs with (only) a Pro license?

Today you can test the full E2E scenario with Power BI Pro/Pro trial, including embed token generation. By license you are not allowed to abuse Power BI and productize a solution without a Premium capacity, nor are you allowed to do multi user testing without a Premium capacity. If you do that anyway, know that, it will stop working in short order. An embed token generation will only work with a Premium capacity of either EM or P SKU level.

Q: Where can I purchase EM SKUs?

Power BI Premium EM1, EM2, and EM3 are available now through Volume Licensing for customers on Enterprise Agreements. EM3 (and P1) is also available monthly through web-direct. Please note that availability of EM1 and EM2 in web-direct has been delayed, we are working to confirm a new timeline. We will provide an update by the end of August.

 

Custom visuals and R

Custom visuals at the Data Insights Summit

If you’ve missed all the great stuff that happened in the Data Insights Summit, here is the gist of it for custom visuals

Don’t miss James Phillips’ keynote talk on how the custom visuals platform is a fundamental pillar and a differentiator in the BI market

Also in the same keynote, check out the wonderful custom visuals that will soon be available in the store:

- Visio custom visual: bring real life diagrams into Power BI, whether it is floor plans, flow diagrams, or practically any diagram you can think of, you can use the Visio visual to embed any diagram you have on Visio Online, and fully interact with it inside Power BI.
Watch the demo

- Timeline Storyteller: an expressive storytelling visual by MSR for presenting timelines. Present different aspects of your data using a palette of timeline representations, scales, and layouts, as well as controls for filtering, highlighting, and annotation.
Watch the demo

- PowerApps custom visual: use your PowerApps directly in Power BI to take actions based on your insights directly from Power BI. This is what we refer to as “Actionable BI”. Watch the demo

There were also great sessions about developing custom visuals and R

- Visualize your Business Data anyway you want with Power BI Custom Visuals

- Visualizing Financial Data Using Power BI and R

- Embed R in Power BI

 

Visual API 1.7 is available

API 1.7 for custom visuals is available in the PowerBI-visuals-tools.

This version introduces the much anticipated advanced filtering API, to enable semantic queries on the Power BI data model.

Check out the full announcement in the custom visuals community blog.

 

Interactive R html custom visuals

R custom visuals can now also be interactive, by generating HTML as the visual (instead of the static image that was supported until now), R custom visuals are capable of supporting tooltips and selections.