Skip to main content

Hey,

I have two tables in the ArcGIS Online space, one contains a list of houses (property_table), and the other related table contains a list of residents that reside within (resident_table).

What I am trying to do is populate the property table with the AGE of the OLDEST RESIDENT inside each house. I have no idea how to do this and am seeking assistance to build a plan of attack.

I have been able to add the two readers to my workspace successfully, I can do a feature joiner which proves the residents do reside within the said houses. But I don't think its actually necessary for the join for the calculation to take place.

So can someone please tell me how I would find the OLDEST resident, and then insert that date of birth, and name, into the two fields in the property table?

I have been staring at this for too long and my brain is not able to straighten out the issue in front of me, it should be rather straightforward :(

 

Property Table:

Resident Table:

Hi,

I would use an aggregator on attributes only on the residents table on parentglobalid. Don't forget to check the create list to create a list (_persons) for the attribute dob. then use a listsorter by dob to order the dates of birth and have the oldest as the first in the list. The use an attributemanager to rename _persons{0}.dob into oldest. Now you have the oldest per house. Simpluy use a featuremerger to merge it with the houses.

 

Haven't tested it but it should quite close.

 


Hi,

I would use an aggregator on attributes only on the residents table on parentglobalid. Don't forget to check the create list to create a list (_persons) for the attribute dob. then use a listsorter by dob to order the dates of birth and have the oldest as the first in the list. The use an attributemanager to rename _persons{0}.dob into oldest. Now you have the oldest per house. Simpluy use a featuremerger to merge it with the houses.

 

Haven't tested it but it should quite close.

 

Hi @arnovananrooij, thanks so much. I have just had a crack with the first three steps, it currently looks like this:

Here is a view of the data being pulled from AGOL:

 

Below is what the data looks like after adding the aggregator, but as you can see it is pulling BEN and TROY as the results, but the oldest DOB belong to Troy and Alex. I am unsure (due to lack of experience) how the list sorter will be able to sort by oldest, if it has already dropped Troy and Alex from the list. Or have I misunderstood how I should be setting up my scenario?

 

 

Cheers!


I don't think there is any need to use an aggregator here.

First sort the residents table by dob in ascending order, then a duplicate filter with a group by of the parentglobalid which will keep the record with the earliest dob for each residence. Then join the unique port to the residence information


I don't think there is any need to use an aggregator here.

First sort the residents table by dob in ascending order, then a duplicate filter with a group by of the parentglobalid which will keep the record with the earliest dob for each residence. Then join the unique port to the residence information

@ebygomm this is the closest I have been to getting the result I want... the bit I have not tried before (and I am having no luck currently) is inserting the data into an existing row... can you expand on how to do this part?

Thanks so much!

The data in the duplicate filter is exactly what I am looking for:

 


Reply