ArcGIS Pro Select by Attribute show ALL values

1631
15
11-27-2019 11:19 AM
Status: Under Consideration
Labels (1)
HeatherScroggins
Occasional Contributor II

I've recently been using Pro more and more just to get comfortable with. And there is a major quirk that I just discovered.

 

In ArcMap, when you Select by Attribute and get unique values it will show you ALL values in that field. Even ones that aren't in the domain. This is highly handy as it's a quick way to see if there is incorrect data. In the image below, you can see that ArcMap shows two values ('ABS' and 'ASM') that are in the data but not in the domain.

 

By comparison, Pro only shows you values that are in the domain.When looking at the list I would have no idea that those two values are in my data. And yes, I can build the SQL expression manually if I know the values are there, but what if I don't?

 

Having the Select by Attribute list ALL values not matter if they were in the domain or not was VERY helpful and I wish that Pro would follow ArcMap's example. 

15 Comments
ThomasColson

This is a BUG. It is very common to have illegal values in a domain-controlled attribute, especially if field calculator is used on the field, or, the field was populated with values then a domain was applied to it, and you want to use select by attributes to find all of the illegal values, OR, the domain gets updated (say you had mis-spelled a domain value and corrected it). This has popped up before, and using expressions (by first having to know the value you're looking for) and manually typing things was the proposed work around. There may even be an idea on this, but I can't find, but I do recall a vigorous debate on this. 

CathieCampbell

Is anyone able to comment if this quirk/bug been fixed in the new versions of Pro?

KoryKramer

The behavior has not been changed in Pro.  I just wanted to comment that if the actual use case is to find values that are not part of a domain...

...for example, in ArcMap 4 is not part of the domain assigned to my Size field:

KoryKramer_0-1618357225503.png

One option is to select invalid features.

SelectByAttributeShowAllValues.gif

I understand that there may be other workflows where users are looking for the functionality requested by this idea, but wanted to provide this info in hopes that it helps those using it for QA.

CathieCampbell

Thanks KoryKramer, not quite what I'm after but I have done some more research on my layer and found what is happening but not sure if it is something I'm doing wrong.  What I have is Building Areas and they are broken down into different subtypes such as education, emergency, health etc and under each of these subtypes is a domain of building functions.  when I try to do a select by attributes it only shows the domain values for the first subtype but I can't seem to get it to show the values for the other domain values.  Even when I select the option of a feature subtype, it still shows the first subtype (education) building function domain.

CathieCampbell_1-1619071408140.png

I feel I have just missed a tick box or an option somewhere. 

KoryKramer

@CathieCampbell So are all of your domain codes in a single BuildingFunction domain, or are there different domains, one for each building subtype?  I'm trying to understand how you have the data set up.  

CathieCampbell

Hi @KoryKramer .  Sorry should have been a bit clearer, there are different BuildingFunction domains for each building subtype.

CathieCampbell_1-1619124326104.png

So the Educational building subtype only has an educational domain ( buildings as options academy, school...) and same for Health subtype with a Health domain (hospital, nursing care..) etc.  

As they are in the one layer, when I try to do a select by attributes I could be looking to highlight the emergency and health buildings in the area and I have tried to do a select by feature type as emergency and then function by but it still only shows the educational options (again which is the first subtype).

I don't have many layers with this setup of multiple domains for subtypes and have managed to work around the select by attributes by using the SQL function and typing it in, but it would be easier if I could select the option from the drop down menu in the expression builder.  I know in ArcMap I used to click on list all values and it would show all of the values in that field (same as the initial post).  

Not sure if this is a bug, quirk or just how it is, it's more of I want to know if it is possible, what do I need to do to do it. 

KoryKramer

Thanks @CathieCampbell 

I set up something similar to what you have:

KoryKramer_0-1619189657491.png

 

Below you can see that in my attribute table I have 1 feature from each subtype, so the BldgFunction field has 1 value from each different domain:

KoryKramer_1-1619189657502.png

 

In the query builder dropdown, I see the available values to choose from, not just from a single domain.  

In your attribute table, do you have values from multiple domains?  Is there a definition query set on the layer?  As far as I can tell, I am still not seeing what you are seeing, so this will take further troubleshooting. 

CathieCampbell

Hi @KoryKramer , Thanks again for testing this.  To answer your questions - 

Yes in my attribute table I have values from the multiple domains under the sub types.  this is just a snippet of what I get for values in ArcMap showing the unique values I have for Building functions.  

CathieCampbell_0-1619476326067.png

No, there is no definition query set on the layer (that I'm aware of).

This data is data that we have had for a while and was set up way before my time on an Enterprise Database in ArcDesktop, so there could be conflicts with this.  It still is on an Enterprise database but has been upgraded to current, so not sure if that causes issues as well.  I'm not sure and don't know enough about sub types and domains but will keep doing research when I can.  It might be something in the setting up of the domains/sub types, and I don't have time to update all the layers we have. It's as it's not stopping production,  so will just have to put up with it for now till can find the cause. 

Cheers

 

Matt-Huser

I just wanted to upvote this topic as the Get Unique Values function was a really simple way to identify when someone Field Calculated a value that does not match a valid domain entry.  I'm still not seeing an alternative workflow in ArcPro for this common data quality issue.  In 2.8.3, using the select by attributes query, I can only select valid domain values and it ignores values that exist in the data that do not meet the domain requirement.  In my example below the "Village of Itasca and Village of Schaumburg" were added incorrectly.  Visually it is super straightforward to spot them in ArcMap since they don't have the format of [Code - Description]

MattHuser_0-1637356872566.png

ArcPro 2.8.3

MattHuser_1-1637357885049.png

 

 

TanuHoque
Status changed to: Under Consideration