A New Way to Embed Power BI Reports in Acumatica
It used to be that your only option for embedding Power BI reports into Acumatica was to setup a connection between Acumatica and Power BI on the External Applications (SM301000) screen:
If you want to use the Power BI Embedded option in the screenshot above, that's still the way you need to do it. But I find that the Power BI Embedded option is a little pricey for companies looking to start getting into Power BI. Checkout the Power BI Embedded pricing page (click here) and you'll see what I mean.
I personally like the Power BI option since it's just $10/user/month. Get 5-10 users into Power BI and you're only talking $600-$1,200 per year. It's an easier way to get into Power BI, then move to Power BI Embedded later if you start adding a lot of users.
So the Power BI option is great, but setting it up in the External Applications (SM301000) screen can be a little tricky. If you don't believe me, checkout this post:
But now there is an alternative to the Power BI option in the screenshot above.
You can simply add a URL to the Site Map.
All you need to do is find your report in Power BI and click File -> Embed on the top of the report like this:
This will pop open a window with two fields in it. Simply copy the URL in the first field:
Then create a Site Map entry in the Site Map () screen in Acumatica and paste the URL that you just copied into the Url column:
Then you need to add the Site Map entry to a Workspace if you're using the Modern UI. Simple huh? Now you just click on the link:
And you will see the Power BI report inside the Acumatica menu structure like this:
The end result is almost the same as with the External Applications (SM301000) screen method in that the report is completely interactive. You can slice and dice, drilldown, use multiple tabs, etc.
The only difference is that Power BI will ask you to login if you aren't already logging into Power BI
But after you login, you can just check the box to keep you logged in so you don't continue to get prompted. After you login, you can interact with the report exactly the same as if you used the External Applications (SM301000) screen method, all without leaving the comfort of the Acumatica menu structure.
Personally, I like this new method for two reasons:
1. It's MUCH easier to setup than the External Applications (SM301000) screen method.
2. When you use the External Applications (SM301000) screen method, Acumatica only uses one Power BI user to communicate with Power BI. You can have as many Acumatica users accessing the Power BI report (controlled by user security within Acumatica) as you want. Which is especially nice because Acumatica allows unlimited users. So, from a technical perspective, you can share a Power BI report securely with unlimited Acumatica users for only $10/user/month (the cost of one Power BI user license). Sounds great doesn't it? Sounds like we should love the External Applications (SM301000) screen method doesn't it? Well, from a legal perspective, Microsoft still requires you to purchase a user license for everyone who is using that Power BI report. It's basically on the honor system and I kind of wonder if Microsoft might shut down this option in the future. Either way, it's confusing to know how many Power BI licenses you need, who is actually looking at the Power BI reports, etc. With the new option, your licensing is more clear because you know how many Power BI licenses you have and which people are using them.
Thanks Tim! Great article and much easier way to have Power BI reports in Acumatica. It really support users security, but you mentioned to me that using URL is possible to pass user's restriction group info to Power BI. Still have problem to implement this. I have created GI supporting restriction groups by Customer. Works fine in Acumatica. Then created Power BI report based on the GI, and included it inside Acumatica menu. On the first run user was asked login to Power BI, and provided own account info. All customers were listed on the report. Is it possible to restrict user to his Customers group in Power BI? If yes, what am I missing?
You would have to use the Power BI Row Level security feature. It's separate from Acumatica Row Level security.
But since Power BI Row Level security is based on the Power BI user and this method would run the Power BI report under the individual Power BI users, it should kick in appropriately if you define Row Level security within Power BI.