Question

TABLE MANIPULATION based on ID


Badge +1

HI, I would like to eliminate several fetures comming into process, based on another table.

 

 

the reference tale is big, so tester is not an option.

 

Thanks in advance for any ideas.

 

LP, Miha


4 replies

Userlevel 4

There are several possible solutions, but the easiest is perhaps to use a FeatureMerger, set to "Suppliers first", with the reference table connected to the Supplier port. However, you have to make sure that the reference table is read before the other data, e.g. using a separate reader. (Using "suppliers first" isn't crucial to this solution, but it will be more efficient.)

The output you want will be available on the UnmergedRequestor port.

Badge +10

Depending on the format of your reference table, the DatabaseJoiner might be a good option here, just using the output from the unjoined port

Userlevel 3
Badge +13

Depending on the format of your reference table, the DatabaseJoiner might be a good option here, just using the output from the unjoined port

And be sure you've got an index set on the ID column in your reference table. If the # of "table 1" entries is drastically less than the # of entries in the reference table, I'd think DatabaseJoiner would be the way to go. But it might be worth comparing head to head with FeatureMerger as along as you do the suppliers first trick below...

Badge +1

Thanks for both solutions. I tried both transformers - both executed the model correctly and perform same solution. The database joiner was a little bit faster and to me is not so confusing, while you dont have to attach more than one input with lines (second is set directly in transformer).

 

The model is validating database if the synchronization of some points was correct (if they are in right place - spatialy)- those wich are diagnostified as possibile wrong and than confirmed as right are deployed into the referenced table, that next run of the model - iteration leave them as correct.

 

thanks, Bye

 

 

Reply