Forum Discussion
PowerBIIntegration.Refresh() PowerApp workaround??
Hi,
Does anyone know of a workaround for the PowerBIIntegration.Refresh() function inside a PA Visual using an Existing PowerApp?? I've just finished a PowerApp - built separately, not using 'Create New', to leverage the Tablet format - and find I cannot use the PowerBIIntegration.Refresh() function, which I need to 😞
We are using Direct Query to SQL so any data adds/edits update in the data source but without the PowerBIIntegration.Refresh() option, users need to reload their page in the Service to see their new data. Such a stupid and finicky feature ...
Thanks
There is no workaround, you need to start over.
Thanks mate. I was hoping for a better outcome - not to be.
Seems this should be something that MS could look at fixing though, it's been an idea for 4+ years now. My current 'workaround' is for users to reload their browser to see their new data, ie
1. user clicks company logo, triggers a bookmark that displays the app
2. user makes edits / adds new data and submit form/s
3. user clicks bookmark icon to 'go back to report' / hide app
4. user reloads their browser to see new data
Not ideal but works.
Thanks again.
9 Replies
- TakaYokooNew Member
I identified this topic today after encountering a similar issue. I successfully resolved it by manually editing one of the control JSON files. As a result, my application can now utilise PowerBIIntegration.Refresh() with Tablet layout.
- Download a copy of your App
- Change file extention from ".msapp" to ".zip"
- Open the zip file, find & copy "1.json" (in Controls folder) to your local pc
- Open your local 1.json and locate section similar to below
"Type": "ControlInfo", "Name": "PowerBIIntegration", "HasDynamicProperties": false, "Template": { "Id": "http://microsoft.com/appmagic/hostcontrol", "Version": "1.6.0", "LastModifiedTimestamp": "0", "Name": "hostControl", "FirstParty": true, "IsPremiumPcfControl": false, "IsCustomGroupControlTemplate": false, "CustomGroupControlTemplateName": "", "IsComponentDefinition": false, "HostType": "Dynamic",​- Add HostService section below
"HostService": { "Type": "ServiceInfo", "Name": "PowerBIIntegration", "ServiceKind": "HostWadl", "WadlMetadata": { "WadlXml": "<application xmlns:xml=\"http://www.w3.org/XML/1998/namespace\" xmlns:xs=\"http://www.w3.org/2001/XMLSchema\" xmlns:service=\"https://powerbi.com\" xmlns:siena=\"http://schemas.microsoft.com/MicrosoftProjectSiena/WADL/2014/11\" siena:serviceId=\"PowerBI\" xmlns=\"http://wadl.dev.java.net/2009/02\">\n <doc title=\"PowerApps integration\" />\n <resources base=\"https://powerbi.com\">\n <resource path=\"/triggers/refresh\">\n <method siena:requiresAuthentication=\"false\" name=\"POST\" id=\"Refresh\" siena:isHostFunction=\"true\">\n <doc title=\"Triggers a refresh of the PowerBI Report.\" />\n <request>\n <param style=\"query\" name=\"api-version\" type=\"xs:string\" required=\"true\" fixed=\"2015-02-01-preview\">\n <doc title=\"The api version\" />\n </param>\n <representation mediaType=\"application/json\" />\n </request>\n </method>\n </resource>\n </resources>\n </application>" } },​- Replace original "1.json" with editied 1.json using 7-Zip or WinRAR
- Change extension back to ".msapp"
- Import App
- liamf90Regular Visitor
You Sir, are a hero.
I found that changing the .msapp file to .zip then back again breaks the file and it cannot be imported back again. What worked for me was opening the .msapp file with WinRAR, then opening and editing the 1.json file from WINRAR
- lbendlinSuper User
There is no workaround, you need to start over.
- EddieERegular Visitor
Thanks mate. I was hoping for a better outcome - not to be.
Seems this should be something that MS could look at fixing though, it's been an idea for 4+ years now. My current 'workaround' is for users to reload their browser to see their new data, ie
1. user clicks company logo, triggers a bookmark that displays the app
2. user makes edits / adds new data and submit form/s
3. user clicks bookmark icon to 'go back to report' / hide app
4. user reloads their browser to see new data
Not ideal but works.
Thanks again.
- lbendlinSuper User
If it's any consolation - once you started over and connect to a SQL server table in Direct Query mode you can make this a nearly seemless experience for your users. Push the PowerApps button which writes the user comments to the SQL table and then issues a Powr BI refresh which surprisingly works despite fact that the data source is direct query, and a couple seconds later the user has visual confirmation of the changes they just made.
What we really need is CDC - the ability to write into the dataset that is currently in memory, and at the same time to write back into the data source. It can be done - other BI vendors have shown that.