Skip to main content

I am trying to use the ChangeDectector to compare datasets before loading. First set is AGOL data, new set is SDE data. Every features is considered “changed” because of unexposed attributes that I don’t want to compare. When I have it set to “compare all except”, I am excluding attributes like “last_edit_user” and “last_edit_date”. There are only 4 to exclude and they are the same 4 for all the datasets so I am able to duplicate the transformer. But all records are exiting the “Updated” port because of these unexposed attributes: geodb_type, multi_reader_type, geodb_oid, etc. I dont want to compare these and I also don’t want to expose them first becuse the AGO layers don’t have some of them so I would have to create them and then exclude them. 

Alternatively, I could use “Only compare these attributes”, but because each set of data to compare have different attributes, I would have to fix the ChangeDetector transformer for each set. 

Is there a way to discard attributes that are NOT exposed from the comparison?

The only thing I can think of is to convert one of the ChangeDetector transformers to a custom transformer.  In the custom transformer, add an AttributeExposer transformer to expose the attributes you don’t want, and then add those attributes to the exclusion list in your Change Detector.  Then go back to your main workspace and replace all the remaining Change Detectors in your workspace with the custom transformer.


Apparently I had already upvoted the idea from 6 years ago! sigh.

Yeah I will go the path of custom transformer


Hi ​@tnarladni Can you use the AttributeKeeper or AttributeRemover? I thought I read in a similar post a while back that using the Keeper in this case is helpful to drop the extra attributes wen using the ChangeDetector. 


Agreeing with ​@crutledge I use the AttributeKeeper in this way every so often. (Especially when working with kmls that can have a lot of extra attributes.)


Hi ​@tnarladni Can you use the AttributeKeeper or AttributeRemover? I thought I read in a similar post a while back that using the Keeper in this case is helpful to drop the extra attributes wen using the ChangeDetector. 

I can’t keep or remove unexposed attributes. I would have to expose them first which is what I want to avoid because there are so many from both datasets.


@tnarladni I believe the AttributeKeeper should remove all unexposed attributes (that you do not select to keep) other than the fme default attributes.


@tnarladni I believe the AttributeKeeper should remove all unexposed attributes (that you do not select to keep) other than the fme default attributes.

it’s the fme default attributes that the ChangeDetector is saying are different. They are also unexposed


@tnarladni I believe the AttributeKeeper should remove all unexposed attributes (that you do not select to keep) other than the fme default attributes.

it’s the fme default attributes that the ChangeDetector is saying are different. They are also unexposed

 

 


I use the AttributeKeeper for just this reason and I find it removes most of the FME format attributes, such as those beginning geodb_, multi_, ….

For example, from Reader:

 

and after AttributeKeeper:

You can see the unexposed format attributes geodb_feature_is_simple, geodb_oid, and geodb_type are removed. This should at least limit the number of fme_ attributes you need to expose/exclude.