I would avoid using a multi-select Choice column for this.
It looks nice at the start, but after the list grows, especially in Power Apps, it can become awkward to filter and maintain. Same with relying too much on Lookup columns. They are useful, but they are still complex SharePoint column types, so filtering against them can easily lead to delegation problems later.
I would keep the model simple and split it into a few lists:
Cars
| Column |
Type |
Purpose |
| Title |
Text |
Car registration or name |
| CarID |
Text |
Unique car reference |
| Status |
Text |
Active, Sold, Scrapped |
Maintenance Visits
One record per garage visit.
| Column |
Type |
Purpose |
| Title |
Text |
Visit reference |
| CarID |
Text |
Links the visit to the car |
| VisitDate |
Date |
Date of the visit |
| TotalPrice |
Currency |
Total visit cost |
| GarageName |
Text |
Optional |
| Notes |
Multiple lines |
Optional |
Maintenance Types
This replaces the Choice column.
| Column |
Type |
Purpose |
| Title |
Text |
Oil Change, Timing Belt, Brake Inspection |
| MaintenanceTypeID |
Text |
Simple unique value |
| Active |
Yes/No |
Hide old options without deleting them |
Maintenance Visit Items
One record per item completed during the visit.
| Column |
Type |
Purpose |
| Title |
Text |
Item name or short description |
| VisitID |
Text or Number |
Links back to the visit |
| MaintenanceTypeID |
Text |
Links to the maintenance type |
| MaintenanceTypeName |
Text |
Easy display and filtering |
| ItemPrice |
Currency |
Optional |
| Description |
Multiple lines |
Extra detail if needed |
So instead of storing this in one visit record:
“Oil Change, Timing Belt, Brake Inspection”
You store one visit record, then three child item records.
That gives you a cleaner structure and makes filtering much easier. For example, if you want to find all visits where an oil change was done, you filter the Maintenance Visit Items list for MaintenanceTypeName = "Oil Change" or MaintenanceTypeID = "OIL_CHANGE".
I would still say Lookup columns are okay for beginners, especially for displaying related data because they are quick to set up. I just would not make them the main thing the app depends on for filtering. I’d always add simple helper columns like CarID, VisitID, and MaintenanceTypeID, because plain text or number columns are much safer to index and filter.
The main idea is:
-
avoid multi-select Choice for this
-
use a small maintenance type list instead
-
store each maintenance item as its own row
-
keep filter columns simple
-
use Lookup columns for convenience, not as the main filtering design
It is a little more setup at the beginning, but it saves a lot of pain later when the app has more data and people start asking for filters, reports, and Power BI views.