Prevent symbology from ignoring validated Arcade expression

717
5
07-19-2022 02:13 PM
Status: Implemented
Labels (1)
wayfaringrob
Frequent Contributor

I am using Pro 3.0 and am using unclassed colors symbology. When setting a very simple custom expression, I am finding that it doesn't actually save the expression when I click OK. Thankfully, I was just testing a portion of a longer expression and had my string saved outside of Pro, but I found over and over again that it just wasn't saving despite getting 'Expression is valid.' Instead, it was selecting the first field listed in my expression - 'X16_LANGUAGE_SPOKEN_AT_HOME.B16004e6' - and symbolizing based on that. I encased the entire expression in parenthesis and was successful, but it's not clear whatsoever that you're supposed to do this, especially given the 'Expression is valid' notice.

To me, it seems this is a bug, but if not, it would be very nice if the software read the whole, validated expression rather than choosing one field.

rburkebsrc_0-1658264762866.png

rburkebsrc_1-1658264874578.png

 

Here is the (working) expression:

($feature['X16_LANGUAGE_SPOKEN_AT_HOME.B16004e6']+$feature['X16_LANGUAGE_SPOKEN_AT_HOME.B16004e7']+$feature['X16_LANGUAGE_SPOKEN_AT_HOME.B16004e8']+$feature['X16_LANGUAGE_SPOKEN_AT_HOME.B16004e11']+$feature['X16_LANGUAGE_SPOKEN_AT_HOME.B16004e12']+$feature['X16_LANGUAGE_SPOKEN_AT_HOME.B16004e13']+$feature['X16_LANGUAGE_SPOKEN_AT_HOME.B16004e16']+$feature['X16_LANGUAGE_SPOKEN_AT_HOME.B16004e17']+$feature['X16_LANGUAGE_SPOKEN_AT_HOME.B16004e18']+$feature['X16_LANGUAGE_SPOKEN_AT_HOME.B16004e21']+$feature['X16_LANGUAGE_SPOKEN_AT_HOME.B16004e22']+$feature['X16_LANGUAGE_SPOKEN_AT_HOME.B16004e23'])

 

5 Comments
wayfaringrob

This behavior seems to be limited to symbology. I just tested a field calculation in a new field, and it performs the calculation as expected without parentheses.

JonathanNeal

Just tested it also:
Something with the '+' operator.
Working:
 - Concatenate($feature['sdfsd.CID'], $feature['Polygons.OBJECTID'])
 - Sum($feature['sdfsd.CID'], $feature['Polygons.OBJECTID'])
 - Non joined data: $feature.CID+$feature.CID
Not Working:
- $feature['sdfsd.CID'] + $feature['Polygons.OBJECTID']

CraigWilliams
Status changed to: In Product Plan

Looks like a bug when concatenating fields with joins in this specific case.

wayfaringrob

@CraigWilliams  Good catch - works just fine if the join is made permanent. Thanks!

rburkebsrc_0-1658872554463.png

 

AmeliaBradshaw
Status changed to: Implemented

This Idea has been implemented in ArcGIS Pro 3.1. Please see the What's New documentation for more new features in Pro 3.1.