Maybe I'm missing something, but it doesn't seem possible to define symbology for a given result of an Arcade expression until that result actually occurs in your map/dataset.
The Example Case:
- I'm setting up a centralized project [EDIT: In ArcGIS Pro] for editing Assets in our database, to streamline things. This will need to handle both Assets I already have existing in the Feature Class, as well as Assets that are defined and expected, but haven't occurred, yet.
- I'm trying to symbolize my Assets by two things: The combination of their Subtype & Asset Type fields, and their Status. All three fields involved have Domains assigned.
- For context: Subtype has 3 options, Asset Type has 25 options, and Status has 6 options. Combined all the way down, there should be 24 final classes; Status dictates color of the symbol, and Subtype/Asset Type dictates the shape of the symbol.
- Altering the schema of my data to address this need is not currently an option.
The Problem:
If I symbolize by any one of those fields, the symbology detects all possible options in the Domains, and I can go ahead and set that symbology. This is not the behavior of either using more than one field or of using an Arcade expression to define my classes.
The Current Work-arounds:
At this point, I have three options, all of which are not great (at best).
- Select all three fields the old-fashioned way, click 'Add unlisted values' and manually create the missing label classes. Depending on how I define & enter, this is either 150 or 450 line items that need to be added, and then manually merged down to the final 24.
- Create my classes via an Arcade script, which does the work in a few lines, but does not allow me to manually add unlisted values. So this means I need to create "dummy Assets" in my Feature Class temporarily just to set up the symbology, and then delete them. Not the most clean of approaches.
- Create my classes via an Arcade script, and just accept that I'm going to be missing most of my potential symbology classes. Turn on 'Show all other values' so I know when I run into one, and then just create them down the road when they actually happen. This is a bad approach if I'm building this for others in my team to use.
Preferred Solution Options:
- Give us an option to have ArcGIS auto-detect all possible results of an Arcade expression or combination of fields based on the Domains assigned to those fields. (Preferred option).
- Give us a way in Arcade to specify in code all possible combinations based on the Domains assigned.
- Give us the option to manually 'Add unlisted values' when using an Arcade script (Least-preferred option, but brute-force acceptable)
[EDIT/Sidenote: Every time I've tried to post an Idea to this board using only the WYSIWYG editor and nothing else, I get an error that invalid HTML was found in the message body. It only happens when first posting the Idea, and hitting post a second time without changing anything always goes through. ESRI might want to review their back-end code for these forums.]