Hi everyone and Happy New 2023!
I need your help!! I have a table with name, last name and birthday date when the person will turn 18, as well as when they will celebrate their 20th and 30th birthdays:
Name  | Surname  | 18th birthday  | 20th birthday  | 30th birthday  | 
Carla  | Smith  | 18/12/2023  | 18/12/2025  | 18/12/2035  | 
John  | Roswell  | 22/08/2023  | 22/08/2025  | 22/08/2035  | 
Tina  | Turner  | 01/11/2024  | 01/11/2026  | 01/11/2036  | 
In my dashboard I need to set a date filtert to know who is going to have birthday in the current month. Since the date filter cannot look up different columns, I need to reorder the table and have a unique birthday column. It should look something like this:
Name  | Surname  | Birthday  | 
Carla  | Smith  | 18/12/2023  | 
John  | Roswell  | 22/08/2023  | 
Tina  | Turner  | 01/11/2024  | 
Carla  | Smith  | 18/12/2025  | 
John  | Roswell  | 22/08/2025  | 
Tina  | Turner  | 01/11/2026  | 
Carla  | Smith  | 18/12/2035  | 
John  | Roswell  | 22/08/2035  | 
Tina  | Turner  | 01/11/2036  | 
This way I can use the Dashboard´s date filter on the column „Birthday“.
Could anyone of you suggest me how do I manage this with a Arcade Expression?
A very important plus would be that I would also keep track of what type of birthday the person is celebrating. The table should look like this:
Name  | Surname  | Birthday  | Birthday Type  | 
Carla  | Smith  | 18/12/2023  | 18th Birthday  | 
John  | Roswell  | 22/08/2023  | 18th Birthday  | 
Tina  | Turner  | 01/11/2024  | 18th Birthday  | 
Carla  | Smith  | 18/12/2025  | 20th birthday  | 
John  | Roswell  | 22/08/2025  | 20th birthday  | 
Tina  | Turner  | 01/11/2026  | 20th birthday  | 
Carla  | Smith  | 18/12/2035  | 30th birthday  | 
John  | Roswell  | 22/08/2035  | 30th birthday  | 
Tina  | Turner  | 01/11/2036  | 30th birthday  | 
I know I need to create a new dictionary, but I don't know how to tell the function to include all birthday columns and the birthday type...please help!
I only manage this... 😑
var fs = FeatureSetByPortalItem(Portal('https://www.arcgis.com'), 
'a1d6832cc8464d0dab18e582c6e6b6c4' , 0, ['Name','Surname','18th birthday','20th birthday','30th birthday'], false)
// Dictionary to hold list of rounded birthdays
var BirthdayDict = {
    'fields': 
        [{ 'name': 'Name', 'type': 'esriFieldTypeString'},
        { 'surnaname': 'Surname', 'type': 'esriFieldTypeString'},
        { 'name': 'Birthday', 'type': 'esriFieldTypeDate'}
        ], 
        'geometryType': '', 
        'features': []};
var index = 0;       
        
 for (var feature in fs) { 
    BirthdayDict.features[index++] = {      
         'attributes': {
         'Name': feature['Name'],
         'Surname': feature['Surname'],
         'Birthday': feature['18th birthday'----??????],
         'BirthdayType':feature[????]
         }
        
    }};
    
// Return dictionary as a featureSet. 
return FeatureSet(Text(BirthdayDict));