Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.

Reply
D_PBI
Post Patron
Post Patron

Embedding a report into a website - confused

Hi
I'm aware this question has been asked before but upon reading the threads I find myself confused.


I have a requirement to embed a Power BI report (just one page or multiple) inside a website. This is so customers visiting our website can interact with the report (or just view it - the interaction is not essential).

So I find the option, from within the Power BI Service, name 'Publish to web'. This provides you with a link that can be emailed or an iframe to be embedded in a website's page code. It's the latter we're looking for. This seems too simple.

 

Am I right in my understanding that DAX, written in the Desktop report, will not work in an embedded iframe?  What will happen if a visitors slides a slicer which updates a DAX measure - will nothing happen or an error appear?

There is no login credentials required to view the website, so when each customer visits the website will they simply see the report or will they be prompted for some/any Power BI credentials?

Is Power BI Premium Capacity required for my scenario?  We don't have Premium Capacity as it's too expensive for our size.

Is Embedded Capacity (EC) something I need for my scenario?  Is this as expensive as Premium Capacity?

I've see a video explaning the need to 'Register an Application for Power BI'. Each article I'm reading about embedding an iframe doesn't mention this registering an application. Please can someone clarify this?  Why do I need to register an application if I can simply embed an iframe?

I am confused. I've not needed to embed a Power BI report into a website before. There is no RLS in the report (I'm aware RLS won't work with embedding) and we're not concerned about the data being publicly available. I simply need to embed a Power BI report (built in the Desktop and then published to the Service) in a website for customers to view (could be 10 or 1 million customers).

 

Please help?

Thanks in advance.

2 ACCEPTED SOLUTIONS
v-xicai
Community Support
Community Support

Hi @D_PBI ,

 

You can choose Publish to web option to implement your demand , then anyone on the Internet can view your published report or visual. Note before publishing a report, make sure it is okay for you to share the data and visualizations publicly. 

 

You can also retrieve or delete an embed code of the Publish to web under option Manage embed codes.

 

For the data update problem, after you create your Publish to web embed code and share it, the report is updated with any changes you make, and the embed code link is immediately active. Anyone who opens the link can view it. After this initial action, however, updates to reports or visuals can take approximately one hour before becoming visible to your users. To learn more, see the How it works section later in this article.

 

Data refreshes are automatically reflected in your embedded report or visual. It can take approximately one hour for refreshed data to be visible from embed codes. To disable automatic refresh, select don't refresh on the schedule for the dataset the report uses.

 

For the license problem, you need to be a Microsoft Power BI user to use Publish to web. Your report's viewers do not need to be Power BI users. That is to say it needn't to purchase any license for the Publish to web.

 

There are also some limitations for the Publish to web, see https://docs.microsoft.com/en-us/power-bi/service-publish-to-web#limitations.

 

Best Regards,

Amy

 

Community Support Team _ Amy

If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

View solution in original post

Hi there

If you want to secure your data, you would need to have it with Power BI Pro user accounts to enable RLS to work.

Reports containing DAX measures will certainly work with Publish to web.

As mentioned before you can create the Publish to Web link and test it to see how it works before embedding it.




Did I answer your question? Mark my post as a solution!

Proud to be a Super User!







Power BI Blog

View solution in original post

7 REPLIES 7
v-xicai
Community Support
Community Support

Hi @D_PBI ,

 

You can choose Publish to web option to implement your demand , then anyone on the Internet can view your published report or visual. Note before publishing a report, make sure it is okay for you to share the data and visualizations publicly. 

 

You can also retrieve or delete an embed code of the Publish to web under option Manage embed codes.

 

For the data update problem, after you create your Publish to web embed code and share it, the report is updated with any changes you make, and the embed code link is immediately active. Anyone who opens the link can view it. After this initial action, however, updates to reports or visuals can take approximately one hour before becoming visible to your users. To learn more, see the How it works section later in this article.

 

Data refreshes are automatically reflected in your embedded report or visual. It can take approximately one hour for refreshed data to be visible from embed codes. To disable automatic refresh, select don't refresh on the schedule for the dataset the report uses.

 

For the license problem, you need to be a Microsoft Power BI user to use Publish to web. Your report's viewers do not need to be Power BI users. That is to say it needn't to purchase any license for the Publish to web.

 

There are also some limitations for the Publish to web, see https://docs.microsoft.com/en-us/power-bi/service-publish-to-web#limitations.

 

Best Regards,

Amy

 

Community Support Team _ Amy

If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

Anonymous
Not applicable

How do embedded reports and visuals work in a multi-tenant context? If I am customer A then the report should only be for customer A. I should not be able to see customer B, C or D data in the report. Thanks

avatorl
Impactful Individual
Impactful Individual

If you embeded a report into your web page using 'Publish to web' and <iframe> then:

1) if your web page is public (like my page here https://avatorl.org/covid-19/)  then anyone in the world can see the report. You can have, for example, Google Analytics statistics about the visitors, but anyone can open the HTML code of your web page (Ctrl+U in Chrome), copy 'publish to web' URL of your report (it looks like https://app.powerbi.com/view?r=<yourreportkey>)
and share it on their own web site via <iframe>. You won't even know. No way to prevent it.

 

2) if your web page is available only for certain users (who have login and password) then theoretically only these users can view your report. I believe that some people understand Microsoft alert (when you creating 'Publish to web' link) wrong and think that once a link has been created it published somewhere by Microsoft so anyone already have access. I think your report is safe while you didn't share the link. Once you shared it - everyone who got the link have access.  So, you can have https://mysite.com/clientA password protected page and you can give the password only to certain users. But, if anyone of these users will copy 'Publsih to web' URL (like I described on the above) then again - you won't even know if it was shared somewhere and that anauthorized users can view the report. You can use this kid of sharing. But you and your customers both have to undersatnd the choice between $10/month for Pro license and real security. If you and your customers (report users) trust each other (and at the same time ready to loose this information because such incident won't ruin your businesses) - you can use it. No one can stop you. But I suggest to use this feature only for reports based on open data (like my COVID-19 report).

 

 

@GilbertQ   @venal   @v-xicai   Thank you for your responses.

 

The big question I had regarding the use of 'Publish to web' was the licensing arrangements. I've always understood that for a end-user to consume a Power BI report they needed to have a Power BI Pro license (this strategy allows MS to receive their revenue).
However, if I am correct in the following steps then this allows a bypass of any revenue being received by MS:
1) Create a Power BI report using the free Power BI Desktop software.

2) Publish that report to My Workspace in the Power BI Service.
3) Choose 'Publish to web' and embed the resulting iframe into a webpage.

Then as many end-users as I like can consume the Power BI report free of charge via the website - is this correct?

 

Again, I always understood that for an end-user to consume a Power BI report they must have a Power BI Pro license assigned to them. Please confirm?

 

I have read the limitations section of the link provided already. The only two limitations that could affect my scenario are the following:
1) Reports using row level security
A 'Publish to web' method will mean that any RLS applied to the report will not work when it's embedded in the website. Therefore the only method of security will be to apply restrictions on end-users accessing the actual website. Is this correct?
2) Reports containing report-level DAX measures

Is this when the DAX measures are actually created in the Desktop report itself as opposed to creating DAX measures in SSAS Tabular?   If this is correct then should a report's slicer visual be interacted with, considering a measure is present that contains a SELECTEVALUE function from the slicer visual value, then that DAX measure won't update and thus the end-user's interaction with the report will not work?

 

If you can provide clarity to my questions in this post then it will be very helpful. Thanks.

Hi there

If you want to secure your data, you would need to have it with Power BI Pro user accounts to enable RLS to work.

Reports containing DAX measures will certainly work with Publish to web.

As mentioned before you can create the Publish to Web link and test it to see how it works before embedding it.




Did I answer your question? Mark my post as a solution!

Proud to be a Super User!







Power BI Blog

venal
Memorable Member
Memorable Member

@D_PBI 

Please refer the official document for the "Publish to web" and Limitations

If you have any queries, please let us know.

 

If this post helps, then please consider Accept it as the solution to help the other members find it more
If this post was helpful may I ask you to mark it as solution and click on thumb symbol?

GilbertQ
Super User
Super User

Hi there

If you need the report can be view by anyone the publish to web will work perfectly for you.

It is as simple as it says, and yes the report will work exactly as it will be when viewing it in the Power BI Service.

Once you have got the link for publish to web you can use the link and test to see how it works before embedding it into the websites.




Did I answer your question? Mark my post as a solution!

Proud to be a Super User!







Power BI Blog

Helpful resources

Announcements
Microsoft Fabric Learn Together

Microsoft Fabric Learn Together

Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City

PBI_APRIL_CAROUSEL1

Power BI Monthly Update - April 2024

Check out the April 2024 Power BI update to learn about new features.

April Fabric Community Update

Fabric Community Update - April 2024

Find out what's new and trending in the Fabric Community.

Top Solution Authors
Top Kudoed Authors