This blog post covers the latest updates for Power BI Developers community. Don’t forget to check out the August blog post, if you haven’t done so already.
Power BI Embedded
Here’s the complete list of September updates for the Power BI Embedded APIs
- Clone tile & dashboard
- RLS for AS on-prem
- RLS additional properties to dataset
- Export/Clone PBIX (model and reports)
- Language configuration
Clone Dashboard and Dashboard Tiles
As an ISV, we recommend supporting multiple workspaces for your application’s embedded analytics topology. You can accomplish this by creating a main workspace which contains the ‘golden reports and dashboards’ for your application. When onboarding a new customer to your application, you can then create a new workspace dedicated to that customer. Then you can use the clone API’s to make a copy of the content from the main workspace to the customer’s workspace. To do that the ISV needs automation capabilities for cloning Power BI reporting artifacts. We have previously released support for ‘Clone report’ operation, now we add the support for clone dashboard and dashboard tiles.
Dashboard cloning is based on 2 steps.
1. Create a new Dashboard – this will be the target dashboard.
2. Clone the Dashboard Tiles from the original dashboard to the target dashboard.
Since a dashboard tile has multiple uses, some of the dashboard tiles are bound to reports, some only to datasets (like Streaming data tile for example), and some are not bounded at all (an image, video or a web-content tile). It’s important to note that when cloning a dashboard tile between dashboards in the same workspace, the tile will be bounded by default to its source report or dataset unless a new target source is defined. However, when cloning dashboard tiles between workspaces, you must first make sure the target workspace already contains the target objects to bind to (report or dataset).
Using this method for cloning dashboards gives full control and granularity for both full dashboard cloning and specific dashboard tile cloning.
For more information about the APIs, see Add dashboard and Clone tile.
RLS improvements
In August, we released support for RLS. Now we are releasing additional improvements to extend RLS capabilities and data source support.
Support for Analysis Services live connections
RLS can now be used with an AS on-prem data source. The implementation and usage is mostly like cloud-based RLS, with one important note – the ‘master user’ used to authenticate your application, and call the APIs, must also be an admin of the On-Premises Data Gateway being used for the Analysis Services data source. The reason is that setting the effective identity is allowed only for users who can see all of the data. For AS on-prem, the user must be the gateway admin. For more information see Working with Analysis Services live connections.
Additional properties to dataset
As you can see in the RLS documentation, The GenerateToken API should receive additional context- username, roles and datasets. Each of these parameters needs to be populated according to various scenarios and various data source types. To remove some of the uncertainty and automate the use of RLS, we added additional properties to the JSON object of the dataset:
- isEffectiveIdentityRequired– If the dataset requires an effective identity, this property value will be 'true', indicating that you must send an effective identity in the GenerateToken API.
- isEffectiveIdentityRolesRequired – When RLS is defined inside the PBIX file, this property value will be ‘true’, indicating that you must specify a role.
- isOnPremGatewayRequired – When the property value is ‘true’ it indicates that you must use a gateway for this On-prem datasource.
Export/Clone PBIX (model and reports)
Use the Export PBIX API to retrieve the PBIX file by a report identifier. The response will contain a PBIX file object. Once retrieved, you can decide to do two operations with it. Save the PBIX file locally for offline exploration using Power BI Desktop, or use the saved PBIX file and leverage the Import PBIX operation to clone the reports and their respective datasets. Here is a code sample on how to retrieve the PBIX and save it, try it out!
var exportRequestUri = String.Format("https://api.powerbi.com/v1.0/myorg/reports/{0}/Export", "Enter the report ID");
// Create HTTP transport objects
HttpWebRequest request = System.Net.WebRequest.Create(exportRequestUri) as System.Net.HttpWebRequest;
request.Method = "GET";
request.Headers.Add("Authorization", String.Format("Bearer {0}", " Enter your Access token"));
//Get HttpWebResponse from GET request
WebResponse response = request.GetResponse();
using (Stream exportResponse = response.GetResponseStream())
{
//Save stream
CopyStream(exportResponse, "Enter your destination path");
}
public void CopyStream(Stream stream, string destPath)
{
using (var fileStream = new FileStream(destPath, FileMode.Create, FileAccess.Write))
{
stream.CopyTo(fileStream);
}
}
In our next SDK update we will add support for this API call. For more information, see Export report.
Language configuration
You can define the language and text formatting of your embedded content. Changing this setting will mostly impact the number and date formatting, or the Bing maps view in your embedded content. See the full list of supported languages.
The settings can be configured through the ‘embed configuration’. Read more about the embed configurations (Search for ‘Locale Settings’).
What’s still puzzling
Q: I want to test my content through the sample tool, but how do I get the Embed Token to use it?
We get a lot of questions around using our Sample tool. It’s a great tool to explore our JS API, understand how you can embed content easily and leverage user interactions to enrich your native app experience. In this great video by Adam Saxton (Guy in a Cube), you can learn how to get the Embed Token and other properties to use the sample tool with your own content.
Custom Visuals and R
Funnel plot
On occasion, we find patterns in statistical noise that lead us to incorrect conclusions about the underlying data.
This month we are very excited to announce a new R-powered visual type: the funnel plot!
The funnel plot helps you compare samples, and find true outliers among the measurements with varying precision. It’s widely used for comparing institutional performance and medical data analysis.
The funnel plot is easy to consume and interpret. The "funnel" is formed by confidence limits and show the amount of expected variation. The dots outside the funnel are outliers.
You can check the visual out in the Office store.
Tutorial on R-powered visualization in Power BI
R-based visualizations in Power BI have many faces. We support R-visuals and R-powered Custom Visuals. The latest can be one of two types: PNG-based and HTML-based.
What are the pros and cons of each type? How to convert one type to another? How to create a custom visual from the scratch? Or how to change an existing custom visual to suit your needs? How to debug my R-powered Custom Visual?
All these and many other questions are being answered in our comprehensive step-by-step tutorial on R-powered visualization. You are invited to follow the steps from simple R script to the high-quality HTML-based custom visual in the store, the source code of every step is included. Very detailed changes from step to step are documented and explained. The tutorial contains bonus examples, useful links, and Tips and Tricks sections.
That’s all for this post. We hope you found it useful. Please continue sending us your feedback, it's very important to us. Have an amazing feature in mind? please share it and vote in our Power BI Embedded Ideas forum, or our Custom Visuals Ideas forum.