UPDATE:
It turns put this seems to refresh after an hour or so if you refresh the url. I can't find any documentation on this time frame.
Any pointers to docs on this or if I can change it to be faster would be appreciated.
My requirement is that I need to display a report on a wall mounted screen (without logging in as I use a special service to display it) and have it refresh the data regularly.
I have a scheduled dataset refresh that works fine from MySQL.
Dashboards refresh automatically but I can't use a dashboard as these can't be web published (need to log in).
I have published a report to the web but even when the dataset is refreshed in PBI Service and I navigate to the url again the data in the report has not refreshed.
If I manually click refresh on the report in PBI Service this updates the report visuals but only in PBI Service the web published report is still old data and it won't seem to refresh.
Update: it seems to refresh after an hour or so.
It doesn't seem to be a browser cache issue as I cleared everything there.
Web published reports update every 1 hour.
This seems to be independent of when the dataset refresh is.
Unfortunately I can no longer find the link to the documentation on this, feel free to add below.
Related
We have a react app where i want to embed a powerbi service report.
That report (kept in powerbi service) data will update the user interact with our react app's database.
I know there is a way-
if we connect that report with an SQL database source, and everytime that database source is refreshed, we will hit a powerbi provided 'refresh report api' and the updated data will be reflected in the embedded report..
But I want to know if there is any other more elegant way to achieve the same?
Alternative way-
also if there is a way to create a new report inside powerbi service just by hitting a powerbi endpoint with given json, and then embed that newly created report inside our application. that will be better.
as far as i have seen there docs they have apis to clone, delete, update a report but not to create one?
in case you know please let me know.
Thanks in advance.
my another related question is here for more reference - Create a report in powerbi service through APIs in React
also this community discuss - https://community.powerbi.com/t5/Service/Create-a-report-in-powerbi-service-through-APIs-in-React/m-p/3055794
If you use a DirectQuery model the report will generate queries to your database when the user interacts with a report. There will be no "refresh".
I have a couple of reports that are not refreshing without any errors but they didn't actually refresh the data when a user/stakeholder tries to refresh their reports.
My workaround is to open the Power BI report in PowerBi desktop, refresh the tables from SQL Server, and then, republish with the latest data for the user/stakeholder. This seems to be a recent issue. Have I possibly missed anything in Admin Portal?
Thanks in advance
A user at my company when opening a dashboard from the Power BI Mobile Windows application receives a “not authorized … contact administrator” error message, however it comes up fine in a browser.
I had to share the dashboard report with him before he could view it in the application.
I hoped someone might have an idea what the issue could be.
Thank you so much.
EDIT: It actually appears this is a global issue with all users. No one can see this report in Power BI Mobile. Everyone receives the error, "The report shown in this tile doesn't exist or you don't have permission to view it.". However viewing it in Chrome or Edge browser it shows correctly.
Report from Power BI Mobile app for Windows
I have a Power BI report that sources from an Excel file on my laptop. The visualizations are in Import / Scheduled Refresh mode (to be clear, not DirectQuery / Live Connection mode). I am using the gateway in 'On-premises data gateway (personal mode)' to refresh my dataset in the service. To my surprise, after refreshing the dataset, the corresponding charts in the report do not update automatically. They only update after I click on 'Refresh' in the report itself. This goes against the claim that the reports should be updated automatically, as documented here:
https://learn.microsoft.com/en-us/power-bi/refresh-data
How can I make the report update automatically after a dataset refresh? Requiring my consumers to manually click on 'Refresh' is unacceptable.
The data should update automatically. I'm guessing what's happening is that the report you were viewing was cached in your browser to some extent.
Try opening in a different browser or incognito instead of hitting 'Refresh' to confirm.
In the same browser, you can also open the DevTools and clear the site data as I've shown in the screenshot attached. this should clear the cache and reload the page with the updated data
I have created one WebApp which is hosted on Azure IIS. I am calling PowerBI reports & Dashboards and rending them into my WebApp.
I need to apply following functionality and I am unable to find solution online.
Users can filter the data from filters available in PowerBI from Web Application.
Row Level Security can be applied when we call PowerBI reports and render into web page.
It is not clear what kind of URL you are using to embed the reports. Essentially, there are 3 URLs that you can use to display a report in your web app:
The URL taken from your browser's address bar. In this case the use of you web app needs to be logged in Power BI service and to be granted with rights to see this report. One of the disadvantages are that in your web app you will not see the report only, but the whole Power BI page (including the navigation menu at the left).
The URL taken when you share this report publicly using Publish to web. In this case only the report will be embedded in your web app (menus will not be visible), but you can't do that for reports over RLS enabled datasets (because RLS requires user's identity, while in this case the access is anonymous).
The embedUrl of the report (or tile, or dashboard) that you can obtain using the Power BI REST API. It is usually used when you have a dedicated capacity assigned to this workspace (Power BI Embedded). In this case there are two scenarios - "User own data" and "App own data". In the first one each of your users must have their own account and rights to see the report (as in #1). In the later scenario, you use one shared "master account" in your web app to get access to the report and there is no need for your users to authenticate themselves. You can take a looks at the samples to see how it works. Essentially, you need the JavaScript Power BI client, one HTML page with a and some JavaScript code to load the report in the (check powerbi.js, ReportLoader.html and ReportLoader.js files from the samples. A good place to start is this article - Tutorial: Embed a Power BI report, dashboard, or tile into an application for your customers.
To apply filters to the embedded report, you can use one of the recently new features (if I'm correct, it is available since August 2018) and add the filters in the URL. I'm not sure will this work in case #2, but I will not recommend using it anyway.
RLS is not possible with case #2. In cases #1 and #3 RLS will simply work. With #3 if you use "app own data" scenario, for the RLS to work you need to pass user's name and role when you generate the token to access the report (because otherwise for all user's requests Power BI will always see the identity of your "master account" and RLS will not make any sense). This is specified with EffectiveIdentity parameter.
You also attached "power-bi-report-server" to your question, but at the same time you are saying that your web app is running in Azure. If after all your reports are on Power BI Report Server on premise, then you can embed reports by passing rs_embed=true parameter at report's URL too. In this case to make RLS work you just need to make sure that your users are authenticated with their own accounts. Passing filters in the URL works with the recent versions too (it was broken in March 2018, but fixed in 15.0.2.389).