The “bring your own license” feature in the Power BI service is far from new. However it’s something that I have found myself using increasingly over the last few months. Being able to do work for a customer, creating and managing content, but without them having to pay for you to have a Power BI license is really useful. You do of course still have to pay for a license yourself, but as I have a Premium Per User license (which costs less than £20 per month) I’m covered to work with customers on all tiers of Power BI.

However, at times I’ve found using the feature a little unintuitive so I figured I’d capture a list of things to look out for.

The set-up

Firstly, you have to be set up as a guest user on the customer’s Azure tenant using the Invite user option in Azure Active Directory.

The Invite User option in Azure Active Directory

This will generate an invite that you must accept in order to activate the guest account.

An email inviting a user to join an Azure tenant as a guest

Once that has been set up, the customer will also need to enable some settings in the host tenant’s admin portal to allow guest users to access Power BI.

The 'Allow Azure Active Directory guest users to access Power BI' setting in the Power BI Admin Portal

And if the users need to be able to actually create and manage content in the tenant too, there’s an additional setting that needs switching on.

The 'Allow Azure Active Directory guest users to edit and manage content in the organization' setting in the Power BI Admin Portal

My recommendation for these settings is that it makes sense if the host adds the guest users to a specific security group (possibly one per guest organisation) so they can easily toggle whether guest accounts can access Power BI and manage content or not.

Accessing the Power BI landing page

At this point you should be set to go as a guest user… except how the heck do you actually navigate to the landing page? Anytime you try and navigate to powerbi.com it will default the log-in to your home tenant. You can try and sign out and back in again, and by choosing ‘Use Another Account’ and then selecting ‘Sign In Options’ it appears that you can choose to sign in to an alternative organisation’s tenant, but whenever I’ve tried this, it still signed me in to my home tenant.

The trick here is to use the host’s tenant URL. The host can provide this information by navigating to ‘Help and Support’ and then ‘About Power BI’ in the context menu in the top right corner of the Power BI Service landing page.

Navigating to 'Help & Support' and then 'About Power BI' in the Power BI Service
Showing the 'About Power BI' information, including the Tenant URL

I tend to use the “Profiles” feature in my web browser of choice (you can do it in both Edge and Chrome) to create a profile for each customer, so I save the Tenant URL for the customer as a bookmark in the corresponding profile.

Connect to the XMLA endpoint

The next useful tip is about connecting to the XMLA endpoint. Nearly all my customer work these days is with organisations using Power BI premium in some form. The XMLA endpoint is an important feature of premium, allowing you to connect 3rd party tools such as DAX Studio, Tabular Editor or SQL Server Management Studio to enable you to develop and manage Datasets.

The default format for an XMLA endpoint is as follows:

powerbi://api.powerbi.com/v1.0/myorg/WorkspaceName

However, trying to connect to a guest tenant using this string will likely result in a “Workspace not found” error message, as again, by default it’s trying to connect to your home tenant. The solution? Simply substitute the ‘myorg’ section of the XMLA endpoint string with the name of the customer’s tenant.

powerbi://api.powerbi.com/v1.0/greyskullanalytics.com/WorkspaceName

Connect to a Golden Dataset and publish a report

My final scenario is the ability to connect to a golden dataset in a guest tenant using Power BI desktop and then publish a report. I really didn’t think this was possible, and the only option for report creation was web authoring. In fact the Microsoft documentation even calls this out as a limitation: https://learn.microsoft.com/en-us/power-bi/enterprise/service-admin-azure-ad-b2b#considerations-and-limitations

The B2B guest user limitations section from the Microsoft documentation

However, having taken to Twitter to moan about this fact, my good friend Bernat Agullo got in touch to let me know that in fact it is possible. And of course Adam Saxton over at GuyInACube even has a step by step video to show you how:

By all accounts the ability to connect to datasets and publish from desktop is a new revelation following recent changes to the way Azure Active Directory works, so apparently this wasn’t always a possibility. I’m very glad it is possible now though, as it gives “bring your own license” pretty much a full set of capabilities.

Conclusion

So there you have it. I hope you find this useful. I’m certainly glad that I can now carry out full end to end development using a guest account. For people working as independent contractors or working in consultancy this is a win for customers who should no longer be burdened with the extra expense of licensing 3rd parties.


1 Comment

whoiscall · June 15, 2023 at 10:18 am

Cheers!

Leave a Reply

Your email address will not be published. Required fields are marked *