In Excel, editing data is easy you simply double-click a cell and type in the new value. But Power BI works differently. Power BI reads data from your data source, but it doesn’t allow direct write-back to the source.
However, with Power Apps integrated into Power BI, you can implement write-back functionality, allowing report users to edit data directly from the report and update the underlying source.
In this article, you’ll learn:
- How to create a Power App directly from a Power BI report
- How to build a form to update data in the source
- How to configure the app to reflect changes in your visuals
- How to optimize the user experience with drill-throughs, tooltips, and bookmarks
For more hands-on learning and expert-led guidance, visit Power BI Training to take your skills to the next level.
Why Write-Back Matters in Power BI
By default, Power BI reports are read-only, making it hard for users to correct or input data directly. Instead, they would have to update the data source manually and refresh the report.
Adding write-back functionality streamlines workflows by letting users edit data in the same place they analyze it.
Setting Up Power Apps in Power BI
Start by creating a Power BI report with the fields you want to edit displayed in a table. For example: Client ID, Client Name, Subscription Status, and Cancellation Reason.
Add the Power Apps Visual
- In Power BI Desktop, add the Power Apps visual from the visualizations pane.
- Drag the relevant fields into the Power Apps visual.
- Choose to create a new app. Power BI will open Power Apps in your browser.
Build a Form in Power Apps
Once in Power Apps:
- Delete the default gallery control.
- Insert a form control instead and connect it to your data source (e.g., Excel in OneDrive, SQL Server, Dataverse).
- Add the fields you want editable in the form.
- Design the form with a header and style it to match your report theme.

Show Data for the Selected Item
To ensure the form edits the currently selected record in Power BI:
- Set the Item property of the form using the
LookUp()andFirst()functions:
LookUp(
Clients,
ClientID = Value(First(PowerBIIntegration.Data).ClientID)
)
This links the form to the row selected in the Power BI table.
Add a Submit Button
Add a button to your form and configure it to:
- Submit the form using:
SubmitForm(Form1)
- On successful submission, refresh Power BI visuals and notify the user:
OnSuccess = PowerBIIntegration.Refresh(); Notify("Success", NotificationType.Success)
Refresh the Data Source
If your data source supports DirectQuery, changes will reflect immediately. But if you use an import mode source (e.g., Excel in OneDrive), you need to trigger a refresh:
- Use Power Automate to build a flow that refreshes the dataset in Power BI Service.
- Alternatively, use
PowerBI.RefreshDataset()in Power Apps if the dataset IDs are known.
For frequent edits, a DirectQuery source like SQL Server or Dataverse is preferred to avoid refresh limits and delays.
Optimizing the User Experience
You can integrate the Power App form into your report in creative ways:
- Use a drill-through page so users can edit details on a separate page.
- Create a bookmark toggle to switch between the table and the form on the same page.
- Experiment with tooltips, though they are less reliable for editing due to limited interaction support.
Best Practices
- Use DirectQuery-compatible data sources for seamless updates.
- Style your form to align with your Power BI report for a consistent user experience.
- Add success messages and validations to improve usability.
- Keep in mind Power BI Service refresh limitations if using import mode.
Final Thoughts
With Power Apps integrated into Power BI, you can empower your users to make real-time changes to data directly within reports. This write-back capability closes the loop between analysis and action, making your dashboards more interactive and useful.
If you want to deepen your Power BI expertise and learn how to build professional, advanced dashboards, check out Power BI Training for practical, hands-on courses.



