This blog post covers the latest updates for Power BI Developers community. Don’t forget to check out our latest developer blog post, if you haven’t done so already.
Here is the list of updates for embedded analytics…
Power BI Embedded in Azure
Automation & life-cycle management
Power BI Embedded in Azure
Multi Geo is now Generally Available for Power BI Embedded
Multi-national ISVs and organizations building applications and using Power BI Embedded to embed analytics into their apps, can now deploy their data in multiple regions across the world to comply to different data residency requirements.
Automation & life-cycle management
‘Refresh Now’ API provides unlimited data refresh for Power BI Embedded and Power BI Premium
Using the ‘Refresh now’ API, the limitation on the number of refreshes you can schedule per day is removed and instead an unlimited number of refreshes can be triggered for each dataset. Combining the refresh now API with incremental refresh, you can build a near real-time dataset that performs small updates of fresh data very often.
Note: The time of existing refresh is not expected to be shorter, so a new refresh of a dataset cannot start before the previous one finishes. Remember that your resource limitations do not change with the introduction of this API, so use these unlimited refreshes with caution and be careful not to overload your resources with unnecessary refreshes.
Transport-layer security settings
Security is a priority for Microsoft, and we have company-wide programs in place to ensure customers have control over the security of communications with Microsoft services. As part of that, we highly recommend (and will require in the future) to upgrade the TLS version of your application to TLS 1.2.
What is TLS?
TLS stands for “Transport Layer Security” and is a protocol that is an industry standard designed to protect the privacy of information communicated over the Internet. TLS is used in many web browsers and applications that communicate over HTTPS and TCP.
If you are using .NET application, please do one of the following:
- If your application is running on .NET Framework 4.6 or higher unless modified the default configuration will continue to work.
- If your application runs on .NET Framework older than 4.6, you can enable the protocol programmatically when your application starts to run using the following line of code:
System.Net.ServicePointManager .SecurityProtocol |= SecurityProtocolType.Tls11 | SecurityProtocolType.Tls12;
Power BI API SDK supports .NET standard 2.0 from version 2.1.0, which adds support in TLS version 1.2. you can download latest SDK version here.
For Powershell- Add
[System.Net.ServicePointManager]::SecurityProtocol = [System.Net.SecurityProtocolType]::Tls12 to your Powershell Script
For non .NET software- please check with your vendor. For most languages it can be done with a simple config entry.
Additional information can be found in ‘TLS 1.2 support at Microsoft’.
New samples available
New samples are available in our GitHub repository:
- ASP .NET core sample– starting SDK version 2.1.0, we now support .NET core 2.0 apps development. The sample shows basic flow of embedding for Power BI users (‘User owns data’), using .NET core. The sample can be applied to use ‘App owns data’ scenario, just add the relevant code that generates an embed token, once you acquire an AAD token.
- Node.js code snippets– for developers building applications based on Node.js, we added some code snippets for the most common usages in embedded scenario-
o ‘get reports’- return all the reports in a given workspace
o ‘generate embed token’- generating an embed token for a report, that can be used to embed from within the application.
o ‘generate embed token with RLS’- script that generates an embed token with row-level security applied in the token.
- Service principal sample app– the ‘App owns data’ sample app, that shows how to embed for non-Power BI users, have been extended to include the authorization of a Service principal. See comments in the code on how to switch between service principal and a ‘master’ user.
‘Button clicked’ event
We have added new user action event that you can listen to and connect it to your application flow. With this capability, you can add custom buttons to a report that will trigger actions, reducing the time from insight to action to zero. Actions like “send email”, “open a service ticket” or “raise an alert” can be triggered from within the report page, right next to the relevant visuals.
The event will return the following fields:
id: string – ID of the button
title?: string – button text
type?: string – type of button
bookmark?: string – bookmark name, in case the button is of type ‘bookmark’
Microsoft Build– We have a booth and dedicated sessions on Power BI embedded analytics.
Microsoft Business Applications Summit– ‘Introduction to Embedded analytics’ session, and a pre-day lab for Power BI developers.
If you are puzzled or run into a few issues, be sure to check our resources that can help you get by:
- ‘Troubleshooting’ doc to help you get by all the obstacles on your way for building a great app.
- FAQ doc to answer all your question regarding the Product, licensing and Azure capacities.
- Community forum for developers, to seek answers or ask any other questions you have.
Did you check our new labs?
Please go to https://www.microsoft.com/handsonlabs/SelfPacedLabs, and search on custom visual.
You should now find two labs:
Do you already have a Power BI visual? do you want to publish your visual to Microsoft AppSource?
Please check out this article to learn how.
We almost reached 200 visuals in the Microsoft AppSource! Thank you to Power BI custom visuals community, who is the force that drives the success of this platform.
In order to keep high quality and consistent experience to our end users we keep updating our Power BI visuals guidelines.
Please make sure that your visual complies with the guidelines before submitting to Microsoft AppSource.
Analytics pane was introduced for native visuals on November 2018. Now, custom visuals too can present and manage their properties in the Analytics pane.
This is handled similarly to managing properties in the Format pane, by defining an object in the visual’s capabilities.json file. The differences are as follows:
- Under the object‘s definition, add an objectCategory field with a value of 2.
Note: the objectCategory field is an optional field introduced in API 2.5.0. It defines the aspect of the visual that the object controls (1 = Formatting, 2 = Analytics). “Formatting” is used for look-and-feel, colors, axes, labels etc. “Analytics” is used for forecasts, trendlines, reference lines and shapes etc.
objectCategory defaults to “Formatting” if omitted.
- The object must have the two following properties:
- “show” of type bool, with default value of false.
- “displayName” of type text. The default value you’ll choose will become the instance’s initial display name.
Any other properties may be defined in the same way as done for Format objects.
Known limitations and issues
- No multi-instance support yet (coming soon). Objects cannot have a selector other than static (i.e. “selector”: null), and custom visuals can’t have user-defined multiple instances of a card.
- Properties of type integer are not displayed correctly. As a workaround, use type numeric instead.
As a general guideline, and on par with out-of-the-box visuals, please use the Analytics pane only for objects that add new information or shed new light on the presented information. For instance, dynamic reference lines illustrating important trends.
Any options that control the look-and-feel of the visual, i.e. formatting, should be kept in the Formatting pane.
We extended ISelectionIdBuilder interface to support creation of Selection Id’s for both table and matrix dataViews:
withMatrixNode(matrixNode: DataViewMatrixNode, levels: DataViewHierarchyLevel): this;
withTable(table: DataViewTable, rowIndex: number): this;
As of API 2.5.0, dataRepetitionSelector interface was removed from our tools.
Instead developers should use CustomVisualOpaqueIdentity interface.
The new beta version of PowerBI-visuals-tools 3.0.12 compresses the visual packages by default.
Custom Visuals package created with this new version will take much less space!
Are you interested in creating a Power BI visual?
Find here a step by step tutorial that includes detailed instructions on how to set up the development environment, the basic concepts and building blocks of custom visuals, and a sample visual to develop
It is time to view, edit and extend!
As always, feel free to use all the communication channels at your disposal to connect with our team, share your thoughts and ask questions:
– Contact us for support- firstname.lastname@example.org
That’s all for this post. We hope you found it useful. Please continue sending us your feedback, and it’s very important for us. Have an amazing feature in mind? Please share it or vote in our Power BI Embedded analytics Ideas forum, or our Custom Visuals Ideas forum.