Writeback services in Microsoft Power BI - powerbi

How can you do writeback in Power BI?
Does Power BI also support writeback like Microstrategy?
I couldn't find any solution from PowerBI. I saw a workaround using PowerApps, where they created a PowerApp and embedded that in PowerBI and used Flow to automate the task to write back into databases, but it is not so feasible.
Are there any other working solutions?

There isn't any official way to write-back.
You can do the same approach as PowerApp visuals do. In your custom visual, you can trigger an action to writes back to your SQL DB or whatever other source you have, e.g. Push Data Rows or refresh.
You can also trigger a 'Refresh Now' call via Power BI REST APIs to update your dataset from the DB.
If you're in embed mode, there is also a JS SDK call to refresh() the view such that the visuals will now display the new data.
See what PowerOn does in a similar manner.

Related

Power BI Desktop.. Automatic Refresh and Published

I am rather new to Power BI, but I think I have a rather simple question.
Power BI is connected to Google BigQuery through import. Within PowerBI I make some transformations to create my visualisations. These visualisations create a report.
I publish the report and can then find it on https://app.powerbi.com/ in my Power BI environment.
The data in Google BigQuery is updated daily. Can I update the report online automatically without me having to press refresh in Power BI desktop? As the data gets updated automatically and I will not be changing the visualisations daily, I would think this is achievable.
If the answer is yes, how might I achieve this in the most simplest of terms?
Yes, you can. It is called scheduled refresh. After publishing your report to Power BI Service, go to Settings -> Datasets, select your dataset in the list, enter the credentials under Data source credentials section (if needed), and then configure the settings under Scheduled refresh section:

How to deploy Power BI reports and connect them to a single Power BI Dataset

As far as I know, deploying a Power BI report from Power BI Desktop results in two items, the report itself and the dataset. When deploying a new report using the same dataset, will deploy the new report and a second copy of the same dataset in Power BI Service. That is not what I wanted. To not confuse end users and other, I want only an unique dataset deployed.
I want to make use of Azure Devops deploying to Power BI Service in a Dev, Test and Prod way. The dataset will be an azure analysis services data model, but the principle should be the same. I need to reduce the dataset to be exactly one and all reports must relate to that data model. I have heard of a Rest API or powershell scripting that can come to a rescue here.
So if any of you have done this or know of a good article that describes how to do this, I would be grateful.
Regards Geir
The best option is to separate the Power BI report in the frontend and the backend. You create a file purely for the dataset if you are importing, no reports created on it. You can then create the reports, using the service connection to the dataset, or with Power BI desktop, in the connection to Power BI Dataset option. Both will use 'Live Connection' mode, so you cannot add any other data sources to the model, for example bring in a CSV file or SQL database.
If you are connecting to an Azure Analysis Service data model, you can use this approach, however as it is only a connection only, not a full fat dataset, it should not be an issue to have copies of the dataset, as it is just the connection. Having copies of the dataset is only an issue if you are importing data, then it is best to move things to data flows, and use the same front/back end method, and the planning around the scheduling of the dataflows then datasets
You can use the REST API to move reports and the datasets that they connect to, and move items to new workspaces. If you have Power BI Premium that has a life cycle tool to move items between dev/test/live workspaces
If you create a report in desktop and choose 'Power BI Dataset' as live connection to work over it - when you upload the report to the same workspace, it will only upload the report and connect to the same dataset
https://radacad.com/power-bi-shared-datasets-what-is-it-how-does-it-work-and-why-should-you-care#:~:text=A%20shared%20dataset%20is%20a%20dataset%20that%20shared%20between%20multiple,tenant%20in%20Power%20BI%20environment.

Power BI dashboard not updating automatically

Why Power BI service does not refresh data automatically. The forums mention that with Power BI Pro license allows to schedule refresh 8 times and Power BI Premium allows us to schedule refresh with a higher frequency. There is always an option to manually refresh the dataset/dashboard.
Does that mean Power BI does not provide the ability for live reporting.
We are not sure when was the last update for the dashboard.
Please suggest if we have some workaround. Iam using web api as data source.
Real-time reports are possible with push or streaming datasets.
DirectQuery is another possibility for frequently changing data.
What's your connection ? DirectQuery or import in your current report ?
Schedule refresh for your dashboard does not mean your data will refresh, you have to refresh your dataset also, and depending your source if you are using dataflows it will refresh your last dataset update. I'll suggest you to check out guy in the cube channel on youtube.

Custom Realtime Data in PowerBI Dashboards

I am new to the powerbi platform and have a challenge of scoping/converting an old dashboard solution to powerbi.
The old dashboard solution is custom made and refreshes data every minute.
Powerbi lists its refresh rate for 8 times a day for Pro and 48times a day on Enterprice. Does that means there is no option to provide the same realtime (1min) updates in a dashboard using powerbi?
Can you embed iframes or anything in a powerbi dashboard?
How can you do a realtime graph in powerbi if it only refreshes 8 times a day?
Refreshing data 8/48 times a day is applicable when you import data in Power BI dataset. But if you want "more recent" data, you can connect to your data source using DirectQuery mode. DirectQuery sends queries to your data source when rendering the report. If you apply a filter, the database will get a new query, and so on. Not every data source supports DirectQuery, e.g. you can't use it for flat files (obviously). You may want to take a look at Data refresh in Power BI article.
For embedding iframes in Power BI report you can use HTML Viewer custom visual.
By default when using DirectQuery mode, tiles pinned to a dashboard refresh automatically hourly (Datasets in DirectQuery/LiveConnect mode), but you can reduce this time down to 15 minutes:
A tile is a report visual pinned to a dashboard, and dashboard tile refreshes happen about every hour so that the tiles show recent results. You can change the schedule in the dataset settings, as in the screenshot below, or force a dashboard update manually by using the Refresh Now option.
However if you want to display real-time data in Power BI dashboard, it will be better to use push or streaming datasets. With push datasets you can programatically push data to the dataset and the data will be stored and you can use them in reports. Streaming datasets are similar to push, but they will keep only the last hour of data pushed to them and can't be used in report, only pinned to a dashboard. There are also other options, like using PubNub or Microsoft Flow. For more information also take a look at Real-time streaming in Power BI.

Power BI Embedded report does not update in realtime even though the dataset is pushStreaming

I have created a streaming+push dataset in power BI. And i push the data through the rest apis. I can see the dashboard in power BI getting updated with the latest data. But the embedded report in my website doesn't seem to update.
How can we achieve this? Is there any additional configuration required when embedding the report?
Power BI Reports hold a special property that does not allow them to refresh during viewing\editing. This is mainly to allow for presentations & editing, without having to worry about data changes.
However, one can refresh the report view in powerbi.com using the refresh button.
In Power BI Embedded, the developer can periodically call report.refresh() in the JS SDK to simulate the same action. Time intervals can be synchronized with the known realtime streaming times up to a limit.