How to Create a Form in Power BI

Cody Schneider

Tired of using your Power BI reports just for viewing data? You can transform them from passive dashboards into active data entry tools. This guide will show you how to build a fully functional form directly inside your Power BI report, letting you and your team input data right where you analyze it.

Why Would You Want a Form in Power BI?

Power BI is fantastic for visualizing and analyzing data, but it’s traditionally a one-way street: data comes in, and insights come out. Adding a form creates a two-way street, unlocking powerful new workflows.

Instead of just viewing sales performance, a manager could input coaching notes for their team directly in the dashboard. While analyzing project timelines, a team lead could update a task status or add a comment - all without leaving the report.

This "write-back" capability offers several key advantages:

  • Centralized Workflow: Ditch the need to jump between your BI tool, a spreadsheet, and another app to input data. You can view an insight and act on it in the same window.

  • Real-Time Updates: Submitted data can be instantly written to your underlying source, making your reports more dynamic and up-to-date.

  • Empowered Users: Give your report viewers the ability to contribute, edit, or comment on data. This turns passive consumers of information into active participants in the data lifecycle.

The Secret Weapon: Microsoft Power Apps

So, how do you do it? The best and most seamless way to create a form in Power BI is by embedding a Power App. Power BI itself doesn't have native form-building controls, but it has a special visual designed to host Power Apps.

Power Apps is a tool from Microsoft that allows you to build custom, low-code business applications. The integration between Power BI and Power Apps is what makes this all possible. The data you see in your Power BI report can be passed directly to the embedded Power App, and the app can then write new or updated information back to a data source, which Power BI is also connected to. This creates a closed loop where you can both analyze and input data.

What You’ll Need Before You Start

To get going, you’ll need a few things in place. Don't worry, the setup is more straightforward than it sounds.

  • A Power BI Pro or Premium account: The Power Apps visual is available to all users, but collaboration and sharing require a Pro or Premium license.

  • A Power Apps license: Most Microsoft 365 and Office 365 enterprise plans include a Power Apps license. You may already have access without even knowing it!

  • A data source to write to: This is where your form submissions will live. Your Power BI report will read from this source, and your Power App will write to it. Some great, easy-to-use options are:

    • A SharePoint List: Often the easiest and most popular choice. It's simple to set up, secure, and integrates perfectly with the Microsoft suite. We'll use this for our example.

    • Microsoft Dataverse: A more robust and scalable database built for the Power Platform. It's a great option if you plan to build more complex apps.

    • An Excel file in OneDrive or SharePoint: Works for simple proofs of concept, but it's less reliable for multiple users writing data at once compared to a SharePoint list or database.

Step-by-Step Guide: Building Your First Power BI Form

Let's build a simple sales feedback form. Imagine a dashboard showing sales performance by client, and you want to add a form for managers to quickly log feedback for a specific client meeting.

Step 1: Create Your Data Source (A SharePoint List)

First, we need a place to store our feedback. A SharePoint list is perfect for this.

  1. Navigate to your company's SharePoint site and create a new list. Call it "Sales Feedback."

  2. Add the following columns to your list:

    • ClientID (Single line of text) - We'll use this to link back to our main sales data.

    • FeedbackDate (Date and time)

    • Rating (Number, no decimals)

    • Comments (Multiple lines of text)

Your empty SharePoint list is now ready to receive data from your future form.

Step 2: Connect Power BI to Your Data

Now, let's fire up Power BI Desktop. We'll connect to our main sales data and the new SharePoint list.

  1. Create a new Power BI report.

  2. Use Get Data to connect to your primary sales data source (e.g., an Excel file or SQL database that contains your clients and sales figures).

  3. Use Get Data again, select SharePoint Online list, and connect to the "Sales Feedback" list you just created.

  4. Build a simple visual, like a table or a slicer, that displays your Client IDs. This will be used to filter the form. For now, let’s add a table showing existing client info.

You should now see both of your data sets in the Power BI fields pane.

Step 3: Add the Power Apps Visual to Your Report

In the Visualizations pane in Power BI Desktop, find the icon for Power Apps. Click it to add the visual to your report canvas. Resize it to leave enough space for your form.

Step 4: Feed Data into the Power Apps Visual

This is the most critical step for connecting Power BI to Power Apps.

  1. Select the Power Apps visual on your canvas.

  2. From your main sales data table in the Fields pane, drag and drop ClientID into the "PowerApps Data" field well of the visual.

By doing this, you're telling Power BI: "When a user selects a client in another visual, I want you to pass that specific ClientID to my embedded Power App."

Step 5: Create Your New Power App

Inside the visual, you'll see a button to get started. Choose the environment where you want to create your app, and then click Create new.

Power BI will now launch the Power Apps Studio in a new browser window. It automatically establishes the connection back to your Power BI report.

Step 6: Design the Form in Power Apps Studio

Don’t be intimidated by the Power Apps canvas! It’s designed for rapid development. Power Apps will create a default gallery based on the ClientID you passed in. We'll add our own form.

  1. Go to Insert from the top menu and select Edit form. A new, empty form control will appear on your canvas.

  2. In the Form properties panel on the right, for the Data source, select the "Sales Feedback" SharePoint list you connected to earlier.

  3. Click Edit fields and add the fields you created: FeedbackDate, Rating, and Comments. The ClientID will be handled separately. Arrange them however you like on the canvas.

  4. With the form selected, find the DefaultMode property in the dropdown at the top-left corner and set it to:FormMode.NewThis tells the form it should be ready to accept a new entry by default.

  5. Go to Insert > Button and add a button to your canvas. Change its text to "Submit."

  6. Select the new button and find its OnSelect property in the top-left dropdown. Set it to:SubmitForm(Form1)(Replace Form1 with the name of your form control if you renamed it.)

Step 7: Pre-populate the ClientID from Power BI

Now, we need to make sure that when a user submits the form, it includes the ClientID they selected in the Power BI report.

  1. Still in Power Apps, select the Card for the ClientID in your form's data structure (it might be hidden by default on the left sidebar, so find it under Card Key). Ensure you find the TextInput Card not a dropdown.

  2. Unlock its properties and find the Default property.

  3. Set the Default property using this special formula that reads data from Power BI:First(PowerBIIntegration.Data).ClientID

This formula tells the app to grab the very first ClientID passed to it from Power BI. When a user selects a single client in the report, this field will be automatically and invisibly populated.

Step 8: Save and Publish Your Power App

Your simple form is complete. In the top-right corner of Power Apps, click Save, give your app a name, and then click Publish. This makes the latest version of your app available to be used in Power BI.

Step 9: See It in Action in Power BI

Go back to Power BI Desktop. Your embedded Power App will refresh and show the form you just designed. Now test it!

  1. Click on a row in your client table.

  2. Fill out the form fields inside the Power BI report.

  3. Click your "Submit" button.

You just wrote data to SharePoint from inside a Power BI dashboard! Now, if you go to your SharePoint list, you’ll see the new entry. To see this new feedback in your Power BI visuals, simply click the Refresh button in the Power BI ribbon.

Best Practices for a Smooth Experience

Building forms this way opens up huge possibilities. Here are a few tips to keep in mind:

  • Keep it simple: The best in-dashboard apps focus on a single task. Make inputs quick and intuitive.

  • Plan your user flow: Think about exactly what you need to be able to do as you review data in Power BI, then design your app experience with that workflow in mind. The goal is to avoid unnecessary platform-hopping.

  • Permissions matter: Remember, users need access to three things: the Power BI report, the Power App, and the underlying data source (the SharePoint list). Make sure you’ve shared all three with the correct users.

Final Thoughts

By embedding Power Apps, you can turn your Power BI reports from read-only dashboards into interactive applications. This 'write-back' capability centralizes your workflow, empowers your team to act on data directly, and makes your analytics more dynamic and actionable.

If you're looking for an even simpler way to analyze data without juggling different tools, we built Graphed to solve that very problem. Our AI-powered analyst helps you connect your data sources - like Google Analytics, Shopify, or your CRM - and create reports in seconds using simple, natural language. Instead of needing to build out a complex series of tools for input, you can just ask questions and get insights fast.