Live training: next batches coming soon. Join the waitlist:Waitlists open:Developer Training →Developer →Copilot Studio Training →Copilot Studio →

Dataverse Choice Column in Power Apps: Create, Show, Filter and Patch Choices

The SPGuides IT desk lead asked me how many service requests were still open, and nobody could answer. The status lived in a text column where people typed Open, open, OPEN and Opened, so every count disagreed.

In this tutorial, we’ll create a Dataverse choice column on a Service Request table, then build a canvas app that shows the choice text, fills a dropdown with Choices(), filters by a choice, and saves single and multi-select choices with Patch() and an edit form.

We’ll also hit the Status name clash that breaks most choice formulas, plus errors, delegation, Power BI and formula columns. Here’s what we’re building, filtered to In Progress:

Service Request Choices Demo app filtered to In Progress requests with a count of 2

The gallery lists each request with its status, the dropdown filters by any status option, and the Close button and Affected Systems combo box write choices back to Dataverse.

Choice vs Choices, and Local vs Global Choices

If Dataverse is new to you, start with what Microsoft Dataverse is. A choice column (formerly called an option set or picklist) holds one value from a fixed list. Dataverse stores a number behind each label, so every filter and report agrees on what Open means.

A choices column is the same thing with Selecting multiple choices is allowed turned on, so a row can hold several values.

TypeWhat it storesUse it for
Choice (single)One option, stored as a number with a text labelStatus, Priority, Region
Choices (multi-select)Several options from the same listAffected systems, skills, tags
Local choiceOptions that belong to one column on one tableLists only one table needs
Global (synced) choiceOne shared option list that many columns reuseDepartments used across tables
Yes/NoTwo options backed by true/falseApproved, Active

Decide on multi-select when you create the column; I add a second column rather than converting a live one. If users need to add their own values, or each value needs extra fields, use a lookup to another table instead.

Before You Start

You need a Power Apps environment with Dataverse and the Environment Maker or System Customizer role. I’m using a developer environment named Power Platform. The demo table is Service Request (Power Apps Studio calls it Service Requests, the plural name):

ColumnTypeNotes
SubjectSingle line of textPrimary column
Status (cr85a_status)Choice (local)Open, In Progress, Closed
PriorityChoice (local)Low, Medium, High
Affected SystemsChoices (multi-select, local)Email, VPN, Laptop, Printer

Sample rows, logged in October 2026: Network Issue (In Progress), Hardware Repair (In Progress), Login Issue (Closed), Password Reset (Open) and Software Update (Open).

One warning before you name anything: every Dataverse table al