Skip to main content

How to Show a SharePoint Choice Column's Value in Power Apps

· 4 min read
Jagdish Kumawat
Founder @ Dewiride

A SharePoint Choice column looks like text in the list, but Power Apps gets it as a record. To show the choice, or to compare it with some text, use its Value: ThisItem.Level.Value, not ThisItem.Level.

Why a Choice Is a Record​

Microsoft's data type mappings for SharePoint put Choice, Lookup, Person and some other columns in the Complex group. These arrive as records with subfields, and the subfields are the basic types. For a Choice column, the text you chose is in Value.

In the example, the RoleCompetencies list's Level column is a Choice column with Beginner, Intermediate, Advanced and Expert (How to Create a List and Add Columns in SharePoint Online).

Showing the Value​

In a gallery, ThisItem.Level is the record. The formula bar's preview strip shows Data type: Record, and a Text property set to it gives the error Expected Text value.

Add .Value to get the text:

lblLevelMPS → Text
"Level: " & ThisItem.Level.Value

The formula bar with "Level: " & ThisItem.Level.Value, the preview strip showing Data type text, and gallery rows reading Level: Intermediate, Level: Beginner, Level: Intermediate, Level: Intermediate and Level: Advanced under the competency names

Comparing a Choice With Text​

Compare the Value too. In the Career Development Plan app, responses store the level as plain text, so a response is matched to its competency like this:

Inside a LookUp
Level = planItem.Level.Value

planItem.Level.Value is the competency's Choice, as text; Level on the left is the response's text column (How to Use the As Operator in Power Apps explains planItem).

Delegation With Choice Columns​

For SharePoint, Microsoft says delegation of a Complex column depends on the subfield you use (SharePoint delegation). The same table lists Sort as not delegable for Complex columns. To sort a big list, sort by a text, number or date column instead. See What Is Delegation in Power Apps?

Common Mistakes​

MistakeWhat happensDo this instead
ThisItem.Level in a Text propertyExpected Text valueThisItem.Level.Value
Comparing the Choice itself with textYou're comparing a record, not its textCompare .Value
Sorting a big list by a Choice columnIt can't be delegated to SharePointSort by a text or number column

Troubleshooting​

SymptomLikely causeFix
The preview strip says Data type: RecordYou're using the whole ChoiceAdd .Value
A red error icon on the control and Expected Text valueA Text property set to the ChoiceAdd .Value

FAQ​

Does this apply to Lookup and Person columns too?​

They're Complex columns as well, with their own subfields. Microsoft's SharePoint article says only Email and DisplayName are delegable for Person columns.

Why does the column show text in SharePoint?​

SharePoint displays the choice. Power Apps receives the whole record behind it.

Conclusion​

A SharePoint Choice column is a record in Power Apps. Use .Value to show it or compare it, and don't sort large lists by it.

Additional Resources​

Stay Updated

Subscribe to our newsletter for the latest tutorials, tech insights, and developer news.

By subscribing, you agree to our privacy policy. Unsubscribe at any time.