web
You’re offline. This is a read only version of the page.
close
Skip to main content

Announcements

No record found.

News and Announcements icon
Community site session details

Community site session details

Session Id :
Microsoft Dynamics 365 | Integration, Dataverse...
Answered

Best way to build parent/child classification fields on Contact (multi-select vs lookup hierarchy)

(3) ShareShare
ReportReport
Posted on by 45

Hi everyone,

I’m trying to design a classification system on the Contact table in Dynamics 365, and I’d like opinions on the best architecture before I build it.


What I need

I want to create two fields on Contact:

  1. Classification — a list of tags (ideally multi-select)

  2. Sub-Classification — a second field that only shows values depending on what is selected in Classification

So Sub-Classification should basically be a filtered subset based on Classification.

 

Option 1 – Two independent choice fields

Use:

  • Classification: multi-select choice

  • Sub-Classification: multi-select choice

Pros:

  • Simple to configure

  • Easy for admins to maintain

Cons / worries:

  • No real relationship between the two fields

  • No built-in filtering (user can pick any Sub-Classification regardless of Classification)

  • Users may not understand which Sub-Classification values “belong” to which Classification

  • When building segments, users might get confused because the system doesn’t enforce the hierarchy, and they may create odd combinations

I’m worried this will lead to inconsistent data and confusing segment definitions.


Option 2 – Lookup tables with hierarchy

Use two custom tables:

  • Classification table

  • SubClassification table with a lookup to Classification (parent/child)

On Contact:

  • Classification = lookup to Classification table

  • Sub-Classification = lookup to SubClassification table

This gives me a proper relational model where each Sub-Classification row is tied to one Classification.

Pros:

  • Clean relational design

  • Can in theory filter Sub-Classification by selected Classification

  • Easier to report on and extend later

  • Potentially better for security/visibility

Cons / worries:

  • More complex for non-technical users

  • Users building segments now have to understand that these are lookups and how they relate

  • Might require training/explanations


Specific concern with Option 2 – How to filter the second lookup?

With the lookup approach, I’m not sure what the best technical pattern is to show only the related Sub-Classification values after the user picks a Classification.

Questions:

  • Should I use a filtered lookup based on a specific view that filters Sub-Classification where Classification = selected Classification?

  • Does this typically require custom JavaScript on the form to dynamically filter the Sub-Classification lookup when Classification changes?

  • Is there a recommended way to do this in the modern app / Power Apps form designer without custom code?

  • Any best practices (or PCF controls) people use for this kind of hierarchical tagging?


Overall worries

  • If I choose two flat choice fields (Option 1), I get simpler UX but risk bad data and confusing segments.

  • If I choose relational lookup tables (Option 2), I get a cleaner model but:

    • I’m not sure of the best way to implement the filtered child lookup (view vs JS vs other)

    • I’m not sure if end users will understand how to use these fields when building segments 


Looking for advice

  • Which approach have you found more successful in real projects?

  • For Option 2, what’s the recommended way to:

    • Filter the Sub-Classification lookup

    • Keep the UX simple for users who build segments  

Any concrete examples or screenshots would be highly appreciated.

Thanks in advance for your insights!

Categories:
I have the same question (0)
  • Verified answer
    ManoVerse Profile Picture
    884 Super User 2026 Season 1 on at
    if the list of classifications and sub-classifications is small and stable, JavaScript is a perfectly viable solution in Dynamics 365 CE.
    JavaScript for Cascading Multi-Select
    Use two multi-select choice fields (Classification & Sub-Classification).
    Add form script to:
    Listen for changes on Classification.
    Dynamically filter Sub-Classification options based on selected Classification.
    Hide or disable irrelevant options.
    Pros of this approach:
    No extra tables or relationships.
    Simple for admins if the list rarely changes.
    Quick to implement.
    Cons:
    Harder to maintain if values grow or change frequently.
    No relational integrity (still flat fields).
    Filtering logic lives in JS, not in data model.
     
    IF Multiselect is your hard requirement and classification and Sub Classification data changes frequently then you should always think about solution with seprate table lookup or relationship that how you like to deal with requirement.
     
    If No Multi select required then Recommended Approach (Single-Select Lookups) 
    • Classification → Lookup to Classification table
    • Sub-Classification → Lookup to Sub-Classification table (child of Classification)
    on contact you can filter and it would be work our of the box because of parent child relationship.  this would be simple development with out of box feature.
     
    But if your requirement is hard for multiselect and dynamics values in classification and sub classification then development would be bit tricky and you might have to use the PCF or Power app accordingly.
    On Contact in this case you might have to  ,
    Add N:N relationship to Classification.
    Add N:N relationship to Sub-Classification.
    then use a custom control (PCF) or canvas app component to display them as multi-select with filtering.

Under review

Thank you for your reply! To ensure a great experience for everyone, your content is awaiting approval by our Community Managers. Please check back later.

Helpful resources

Quick Links

Introducing the 2026 Season 1 community Super Users

Congratulations to our 2026 Super Stars!

Congratulations to our 2025 Community Spotlights

Thanks to all of our 2025 Community Spotlight stars!

Leaderboard > Microsoft Dynamics 365 | Integration, Dataverse, and general topics

#1
11manish Profile Picture

11manish 156

#2
ManoVerse Profile Picture

ManoVerse 52 Super User 2026 Season 1

#3
Niki Patel Profile Picture

Niki Patel 40

Last 30 days Overall leaderboard

Product updates

Dynamics 365 release plans