I have seen a lot of people asking for licensing advice for small scale Power BI solutions.
If you have 10, 20 or even 100 users and you do not have Office 365 E5 (where Power BI Pro is included), you might struggle to find the right license setup.
What are our options?
-Buying Power BI Pro licenses ($$)
-Buying Power BI PPU licenses ($$$)
-Buying an F64 capacity ($$$$)
-Building an inexpensive solution with an F2 capacity + embedding reports ($)
I will explain how to build an inexpensive solution in this blog post since this can bring your costs down a lot.
Let us first do some pricing calculations:
-Power BI Pro soon costs $14 USD per user per month.
-An F2 capacity costs about $150-$200 USD per month (if you pay for the whole year)
If you buy a pay-as-you-go capacity (which can be turned off and then you do not pay), it might cost you $150-$350 USD per month depending on usage.
Break even analysis:
Number of total users | Pro license cost in USD per month | F-capacity eq. cost and size | Potential savings with F capacities |
---|---|---|---|
10 | $140 | $200 (F2) | -$60 |
20 | $280 | $200 (F2) | $80 |
50 | $700 | $200 (F2) | $500 |
100 | $1,400 | $400 (F4) | $1,000 |
150 | $2,100 | $800 (F8) | $1,300 |
300 | $4,200 | $1,600 (F16) | $2,600 |
If we assume an average price of $200 for an F2 you will need at least 15 users to have this work financially. Also remember that the easy solution will be for internal users (for externals you need to build a more complex Embedded setup).
The calculation above is purely theoretical, the actual size of your capacity depends on factors like semantic model size (max memory used), number of total users, concurrent users etc.
How does this inexpensive solution work?
1) Build your report and model in Power BI Desktop
2) You spin up an F2 capacity in your Azure portal.
3) Create a new workspace and assign the F2 capacity to it.
4) Upload your report into that workspace.
5) Go here and create an embedded (iframe) code for the report you just uploaded
6) Create a new Sharepoint site and embed the embedded (iframe) code.
7) Create new users or give the already existing users the Fabric free license
8) Grant your users access to the Power BI report and Sharepoint site
The free users can access this report (which is embedded into Sharepoint or any other website) but they can not access the Power BI Service, that is the trick.
We have some limitations though:
-The easy setup only works if those users have a Microsoft account (or you create one for them in your tenant) -> otherwise you need to do your authentication differently and it gets a little more complicated.
-Your Power BI report might be too large/inefficient for the F2 capacity, you can see the max memory size here.
-The number of users and their queries (when somebody opens a report it consumes CUs from your capacity) will determine if this works or not. If you have too many users you need to upgrade to higher capacities (F4 is double of what an F2 is etc.)
Here is a step by step guide:
1) Create a new workspace for this scenario, I will name it "Embedded"
2) Create your F2 (or higher) capacity in the Azure portal. Be mindful of the different pricing in various regions. You want to have a region as close to your home tenant region as possible but keep costs low at the same time.
3) Now go back to the Power BI Service and assign the newly created capacity to your "Embedded" workspace.
Open the workspace.
Click on workspace settings on the top right.
Go to license info as shown below and set your capacity accordingly.
4) Upload your report into this workspace
5) Create an Embedded code here
The user doing this needs a Power BI Pro license, choose "Use my own report"
Now select the workspace and then pick the report you want to embed
You can now do a lot of configurations (menu bar on the left) but for us we want to keep it simple and just click on "Set up now" on the top right
Now just copy the code like shown in the screenshot above and let us head over to Sharepoint or any other website you want to embed your Power BI report into.
My code looks something like this:
<iframe title="embed" width="1140" height="541.25" src="https://app.powerbi.com/reportEmbed?reportId=9b5f98eb-5d61-46b3-8c48-67b6d62bb4bd&autoAuth=true&embeddedDemo=true" frameborder="0" allowFullScreen="true"></iframe>
Make sure to take out the red part of the code otherwise you will have an annoying message on top saying this is a sample/demo
6) In my case I want to embed my report in a newly created Sharepoint site
I go and create the new site and then edit it.
Now I will choose "Embed" in the Webparts section on the right.
I can then paste my embed code into that text box and I should already see the Power BI tile loading.
Now click on publish.
7) Create your users in the Microsoft Admin Portal or if you are doing this for someone who already has a Microsoft account, make sure they have a Power BI or Fabric free license assigned.
8) Grant the users permissions to your report or entire Embedded workspace.
This is again in the Power BI portal if you open your workspace on the top right.
You can see in my example below, I created 2 brand new users that only have a free license. They only need viewer access in most cases. If you will have more reports in this workspace you might want to set the permissions on the individual report.
We are DONE, your users will now have access to your Power BI report.
Especially in Embedded cases when costs are vital, I would always recommend running Measure Killer to remove all unused columns and measures so your report and model are lean and efficient.
Hi Brunner, good post about embed scenarios. I want to invite you to know our white label embedded platform www.powerembedded.com we have a lot of cool features like AI chat, simplified firewall, audits logs with detailed informations and a lot of another cool stufs.