Embed capabilities

Power BI Embedded Live demo tool- New Design

In case you haven’t heard, Power BI Embedded has a great tool to explore all the embedding capabilities you can use. And now- we came up with a fresh new design for the tool, making it easier to use, navigate and explore! Check it out.

While you are there, you can try features without writing any code. Test our APIs and see the results instantly so you know the best features for your application.

Bookmarks API

Using bookmarks in Power BI, you can capture the currently configured view of a report page. By creating multiple bookmarks on the same report page, you can build a series of insights or even a story of your data, so your users get the view you want them to see.

Power BI Embedded has now released a new set of JavaScript APIs that lets you use and control bookmarks in your application. Here are the core functionalities we enable:

Apply & control UI elements of pre-defined bookmarks- With Bookmarks API, developers can control the experience of the application’s users, by applying specific bookmarks on load or after specific action in the app's flow, show/ hide the bookmarks pane and apply or disable the ‘Play’ mode of bookmarks.

Create external bookmarks for personalized experience- by capturing the report page’s state, the application creates a new bookmark that is managed and owned by the application itself. It creates great options for application developers:

‘Personalized’ bookmarks– though your users are not Power BI users, you can still give them a personalized experience by saving, for each user, his/her own set of bookmarks and make it available or apply it during the session for that specific user.

Sharing– as the application developer, you decide who can see and use the bookmarks created by your users. For example, you can create insights sharing experiences by adding bookmarks to a URL and letting your users share links to open reports with the bookmark already applied.

Get Visual data

When a user interacts with a visual, he has the option to export data through the ellipsis menu in the top-right corner.

For example, a marketing manager wants to start a discount campaign for customers that are most likely to leave the service. The manager starts with the visual that contains the churn probability of customers. He can filter customers that are most probable to churn. Then, instead of exporting the underlying customers data and then adding customer details to the campaign one-by-one, the application can provide a one-click action to do that. By adding a ‘Start discount campaign’ on the menu of the visual, the app can use the ‘Get visual data’ API to retrieve all the customers details. It automatically adds them to the campaign list and activates it. This is just one example of how the app can use the underlying data, but there are many more ways to use it.

Mobile- use gestures in your app

We previously announced that we support an optimized mobile layout for reports and dashboards, specifically for mobile applications.

We now added support for gestures in Reports- ‘double-click’ and ‘Swipe’:

Double-click– consuming analytics in a mobile device can be hard when trying to balance screen size by providing the visual enough space to be useful vs. using the screen for other elements in your application. The double-click helps to solve that dilemma. Users who want to dive deeper into the visual details can just double-click anywhere on the visual and it will instantly open in focus mode.

Swipe– once a user interacts with an analytical object, and ‘swipes’ on the device, an event is triggered for the application to use, indicating on the swipe of the user. The application, in turn, can use the event to adjust it within the app’s flow or business logic, and use any action for that. For example, you can adjust it so that when the user swipes, the app can switch report pages, switch to other reports/ dashboards or a different page in the application. Learn more on how to use the ‘Swipe’ event.

Q&A in ‘Edit’ & ’Create’ modes

Authoring users can now build visuals using natural language query on reports. Double clicking on a blank area of the report page or clicking the ‘Ask a question’ button on the ribbon gets a question box to type a question.

As the user types, a visual is created in real-time answering the question and updates as he modifies or adds to the question.

Once the visual is made, users can interact with it in the same way as a traditional Power BI visual: changing fields around and formatting it to match the report’s style.

With Q&A now built into the report experience, it allows your users quickly create an entire report without needing to use the field well or list.

Power BI Embedded

Microsoft Cloud Deutschland (MCD) availability

Track your free Embed Tokens usage

Power BI Embedded offers free embed tokens for you to start building and testing your solution, without paying for licenses. Once you are ready to go to production and provide analytics to your end-users, you should buy a capacity. The number of free tokens is limited but will cover your development phase.

To track the usage of your free Embed Tokens and make sure you don’t need to buy a capacity yet, we released an API to check your usage. The API will return the % of usage from the total amount.

What’s still puzzling

Answers to some of the frequently asked questions in the Power BI Embedded developer community.

Q: How can I embed Reports or Dashboards from Apps, and not from Workspaces?

In Power BI, you can create apps to bring related dashboards and reports together, all in one place, and then publish them to large groups of people in your organization. The usage of those apps is relevant when all your users are Power BI users, so you can share content with them using Power BI Apps. We would like to share few quick steps on how to accomplish embedding of content out of a published Power BI App and into a third-party application.

How to grab Report embed URL for embedding:

Instantiate the application in a user workspace (‘My Workspace’) by either sharing with yourself and/or guiding another user to go through this flow.

Open your desired report in Power BI service.

Go to File->Embed In SharePoint Online and grab the report embed url from there (can be seen in the snapshot below) OR call GetReports/GetReport REST API and extract the corresponding report embedUrl field out of the response (please note that the REST call shouldn’t have a workspace identifier as part of the url as the app got instantiated in the user’s personal workspace).

Instantiate the application in a user workspace (‘My Workspace’) by either sharing with yourself and/or guiding another user to go through this flow.

Call GetDashboards REST API and extract the corresponding dashboard embedUrl field out of the response (please note that the REST call shouldn’t have a workspace identifier as part of the url as the app got instantiated in the user’s personal workspace).

Community forum for developers, to seek answers or ask any other questions you have.

Custom Visuals

API 1.11: Bookmarks support for custom visuals

In the last post, we announced the support for bookmarks for custom slicers. With API 1.11, all custom visuals can now support bookmarks’ feature in Power BI.

Power BI report bookmarks allow capturing the currently configured view of a report page, selection state, filtering state of the visual etc. But it requires additional action from the custom visuals side to support the bookmark and react correctly to changes of report state. Read more about bookmarks in Power BI documentation.

Let's consider the following example: A user creates several bookmarks in the report page, with a different selection state in each bookmark.

First, the user selects a data point in your visual. The visual interacts with Power BI and other visuals by passing selections to the host. Then the user selects "Add" in Bookmark panel and Power BI saves the current selections for the new bookmark.

This happens repeatedly as the user changes selection and adds new bookmarks. Once created, the user can switch between the bookmarks.

When the user views a bookmark, PowerBI restores the saved filter or selection state and passes them to the all the visuals. Other visuals will be highlighted or filtered according to the state stored in the bookmark, this is handled by Power BI host. Your visual is responsible for correctly reflecting the new selection state (e.g. change color of rendered data points).

Read the full developer documentation to enable bookmarks in custom visuals here.

If your visual supports filtering, you should read the Visuals with filters section. You can also take a look at this commit of the timeline slicer, for a code sample.

Update to the default EULA for the marketplace

We have loosened the use rights in the default EULA that all Microsoft visuals in the marketplace use, which is also provided as a service for developers who want to publish custom visuals to the marketplace and rely on the same EULA as Microsoft visuals.

The update removes the restriction of using only one copy of the visual, and explicitly allows to use any number of copies of the visual.

AppSource validation update: Edge replaces IE11

If you publish your visuals to AppSource, then be informed that the validation policies now include Edge browser as mandatory, so make sure you test your visual on the latest version of Edge before submitting. In addition, IE11 support is no longer mandatory, but a "recommended" support for visuals submitted to AppSource. The validation process will not test on IE11.

Visual spotlight: Bring any D3 visual into Power BI with D3.js visual by Jan Pieter Posthuma

Jan Pieter Posthuma has recently published the D3.js visual to the marketplace, making it possible to incorporate D3 visuals into Power BI through this custom visual with very little adjustments. The visual lets developers use components and code sections using the D3 library without worrying how to convert them to be supported in the Power BI custom visuals framework, making it available for any D3 visualization to be supported in Power BI.