If you’ve ever connected a SharePoint list to Power Apps and tried to read a choice column, you’ve probably run into a wall. You write ThisItem.Status expecting to see “Approved” — and instead you get something like {Value: "Approved"}. That’s confusing the first time you see it.
The reason is simple: a choice field in SharePoint is not plain text. It’s a record (basically a mini object) that holds the text inside a property called Value. Once you understand that, everything else clicks into place.
In this Power Apps tutorial, I’ll walk you through every common scenario — how to get choice field value in Power Apps label, showing choices in a dropdown, filtering a Power Apps gallery, reading the selected value, and patching it back to SharePoint. I’ll cover both single-select and multi-select choice fields, because they behave quite differently.
Why .Value Is the Key In Power Apps
When SharePoint stores a choice column, it wraps the text inside a record structure. In Power Apps, that looks like this:
{ Value: "In Progress" }
So when you want just the text, you need to go one level deeper using .Value. For example:
ThisItem.Status.Value
This is the single most important thing to know. Without .Value, your formula, either throws an error or shows the whole record object — not the clean text you want.
Method 1: Display a Choice Value in a Power Apps Label
Let’s say you have a Power Apps gallery that is connected to a SharePoint list (IT Service Ticket). This list has a Choice field named Status (Approved, Rejected, Pending).

Now, I would like to display the value of the choice column in a Power Apps text label (inside the gallery).
Select the label from the gallery and set its Text property to:
ThisItem.Status.Value

That’s it. The label will now display readable text, such as “Approved”, “Pending”, or the stored value.
If you skip .Value and just write ThisItem.Status, Power Apps will show {Value: "Approved"} — which is the raw record, not the display text.
Method 2: Load Choice Options into a Power Apps Dropdown
Say you want a Power Apps dropdown in your app that shows all the possible choices from a SharePoint choice column — not the values already selected, but the full list of options. That’s where the Power Apps Choices() function comes in.
Here, I will take the SharePoint list above called IT Service Ticket. This list has a Department column (Choice) that contains options such as IT, HR, FINANCE, etc.
Now, in Power Apps, select the Dropdown control and set its Items property to:
Choices([@'IT Service Ticket'].Department)
OR
Choices('IT Service Ticket'.Department)

Power Apps will pull all the defined choice options directly from SharePoint and populate your dropdown. You don’t need to hardcode anything.
This same formula works on a Combo Box control, too — just paste it into the Items property the same way.
Method 3: Read the Selected Value from a Power Apps Dropdown
Once a user selects an option from a Power Apps dropdown, you’ll want to capture that selection and use it — maybe display it, store it in a variable, or filter a gallery.
If you want to show it in a Power Apps label, set the label’s Text property to:
dd_ITDepartment.Selected.Value
dd_ITDepartment = Dropdown control name

Or if you want to save it to a variable when the user picks something, use this in the dropdowns OnChange property:
Set(varSelectedStatus, dd_ITDepartment.Selected.Value)
Then use varSelectedStatus anywhere in your app.
Method 4: Filter a Power Apps Gallery by a Choice Field
This trips up a lot of people. If you try to filter a Power Apps gallery using a choice field the same way you’d filter a text column, it won’t work. You have to reference .Value inside the filter.
Here’s the correct syntax for filtering a Power Apps gallery based on a dropdown selection where the column is a choice field:
Filter(
'IT Service Ticket',
Department.Value = dd_ITDepartment.Selected.Value
)
Let’s break that down:
Department.Value— gets the text value from the choice field in each SharePoint list item.dd_ITDepartment.Selected.Value— gets the department value selected by the user in the dropdown.- Comparing both as text makes the filter work correctly.

Without .Value In the Department, Power Apps would try to match a whole record against a text string — that never works, and you’d get a blank gallery or a type-mismatch error.
Method 5: Handle a Multi-Select Choice Field in Power Apps
Multi-select choice columns behave differently from single-select. When multiple values are stored, the column returns a table of records instead of a single record. So you can’t just use .Value directly.
There is a SharePoint list named Product Details. This list has various columns. Additionally, there is a Multi-choice column called Color.

Display multiple values as a comma-separated string:
In a label inside a Power Apps gallery, set the Text property to:
Concat(ThisItem.Color, Value, ", ")

Here, Tags is the multi-select choice column name, and Concat loops through the table and joins all selected values with a comma.
Filter a Power Apps gallery by a multi-select choice field:
To filter records where a specific choice is included in a multi-select field, use the in operator:
Filter(
'Product Details',
"Grey" in Color.Value
)

This checks whether “Grey” exists anywhere in the multi-select values for each record. But here, you will encounter the Power Apps Delegation warning when working with large datasets.
To overcome it, instead of using the SharePoint list directly, we will create a Collection either on the App’s OnStart property or the Screen’s OnVisible property. Then we will use the same collection in the gallery’s Items property:

Now you won’t see any Power Apps delegation warning, and you’ll get the exact result shown in the screenshot above.
Method 6: Power Apps Patch a Choice Field Back to SharePoint
When you want to save a user’s selection back to a SharePoint list using the Power Apps Patch() function, you need to pass the value in a specific format. Power Apps expects a record with a Value property, not just plain text.
Patching a single-select choice field:
Patch(
'Project Tracker',
LookUp('Project Tracker', ID = varItemID),
{
Status: { Value: Dropdown1.Selected.Value }
}
)
You’re wrapping the selected text back into a record with { Value: ... } — which matches the structure SharePoint expects for a choice field.
Patching a multi-select choice field:
For multi-select, you pass a table of records. If you’re using a Combo Box control:
Patch(
'Project Tracker',
LookUp('Project Tracker', ID = varItemID),
{
Tags: ComboBox1.SelectedItems
}
)
SelectedItems already returns the values in the correct table format, so no extra wrapping is needed here.
If you want to hardcode multiple values:
Patch(
'Project Tracker',
LookUp('Project Tracker', ID = varItemID),
{
Tags: [
{ Value: "Design" },
{ Value: "Development" }
]
}
)
Power Apps Get Choice Field Value Quick Reference
You can quickly refer to the table below to get a whole summary of the formulas you’ll use most often:
| Scenario | Formula |
|---|---|
| Show choice value in a label | ThisItem.Status.Value |
| Load all options into a dropdown | Choices([@'ListName'].ColumnName) |
| Read selected dropdown value | Dropdown1.Selected.Value |
| Filter gallery by choice field | Filter(List, ChoiceColumn.Value = Dropdown1.Selected.Value) |
| Display multi-select as text | Concat(ThisItem.Tags, Value, ", ") |
| Filter by multi-select value | Filter(List, "Value" in MultiChoiceColumn.Value) |
| Patch single-select choice | { Status: { Value: Dropdown1.Selected.Value } } |
| Patch multi-select from Combo Box | { Tags: ComboBox1.SelectedItems } |
Once you internalize the idea that a choice field is a record (not plain text), working with them in Power Apps becomes genuinely straightforward. The .Value property is your best friend — whether you’re displaying, filtering, or patching.
Additionally, you may like some more Power Apps tutorials:
- Get Modern Combo Box Selected Values in Power Apps
- Set Combo Box Value On Button Click in Power Apps
- Get Collection Column Names in Power Apps
- Get Last Item ID in SharePoint List Based on Current User in Power Apps
- Power Apps Set Multiple Variables at Once

Hey! I’m Bijay Kumar, founder of SPGuides.com and a Microsoft Business Applications MVP (Power Automate, Power Apps). I launched this site in 2020 because I truly enjoy working with SharePoint, Power Platform, and SharePoint Framework (SPFx), and wanted to share that passion through step-by-step tutorials, guides, and training videos. My mission is to help you learn these technologies so you can utilize SharePoint, enhance productivity, and potentially build business solutions along the way.