Hello,
I am trying to create a cleaned up table that shows the most recent available date for each ['siteID','sys_phu', 'sys_sewershedName'] while still showing the associated COVID variant values [sys_estFreqReads_DeltaB16172,....).
My issue is that i am trying to show these fields that are associated with the GroupBy tool without running any calculations to the variants. Is GroupBy the right tool here ? Would some be able to help me ?
{name:'sys_estFreqReads_DeltaB16172', expression:'sys_estFreqReads_DeltaB16172', statistic:'MAX'},
{name:'sys_estFreqReads_OmicronBA1', expression:'sys_estFreqReads_OmicronBA1', statistic:'MAX'},
{name:'sys_estFreqReads_OmicronBA2', expression:'sys_estFreqReads_OmicronBA2', statistic:'MAX'},
{name:'sys_estFreqReads_OmicronBA4', expression:'sys_estFreqReads_OmicronBA4', statistic:'MAX'},
{name:'sys_estFreqReads_OmicronBA5', expression:'sys_estFreqReads_OmicronBA5', statistic:'MAX'},
{name:'sys_estFreqReads_OmicronBA275', expression:'sys_estFreqReads_OmicronBA275', statistic:'MAX'}
]
Code below
var portal = Portal('https://arcgis.com');
var fs = FeatureSetByPortalItem(
portal,
'XXX',
0,
[
'sys_estFreqReads_DeltaB16172',
'sys_estFreqReads_OmicronBA1',
'sys_estFreqReads_OmicronBA2',
'sys_estFreqReads_OmicronBA4',
'sys_estFreqReads_OmicronBA5',
'sys_estFreqReads_OmicronBA275',
'sys_sewershedName',
'sys_phu',
'sampleDate',
'siteID',
'lowQuality'
],
false
);
//create table
var fs_gp = GroupBy(
fs,
['siteID','sys_phu', 'sys_sewershedName'],
[{name:'sampleDate', expression:'sampleDate', statistic:'MAX'},
{name:'sys_estFreqReads_DeltaB16172', expression:'sys_estFreqReads_DeltaB16172', statistic:'MAX'},
{name:'sys_estFreqReads_OmicronBA1', expression:'sys_estFreqReads_OmicronBA1', statistic:'MAX'},
{name:'sys_estFreqReads_OmicronBA2', expression:'sys_estFreqReads_OmicronBA2', statistic:'MAX'},
{name:'sys_estFreqReads_OmicronBA4', expression:'sys_estFreqReads_OmicronBA4', statistic:'MAX'},
{name:'sys_estFreqReads_OmicronBA5', expression:'sys_estFreqReads_OmicronBA5', statistic:'MAX'},
{name:'sys_estFreqReads_OmicronBA275', expression:'sys_estFreqReads_OmicronBA275', statistic:'MAX'}
]
);
// Create array for holding features, feat object for populating array
var features = [];
var feat;
//var newdate2 = Text($datapoint["sampleDate"],'DD-MMM-YY');
// Populate feature array
for (var feature in fs_gp) {
// Console(feature['sampleDate']);
feat = {
'attributes': {
'sampleDate': Text(feature['sampleDate'],'D-MMM-YY'),
'siteID': (feature['siteID']),
'sys_phu': Text(feature['sys_phu']),
'sys_sewershedName': Text(feature['sys_sewershedName']),
'sys_estFreqReads_DeltaB16172': (feature['sys_estFreqReads_DeltaB16172']),
'sys_estFreqReads_OmicronBA1': (feature['sys_estFreqReads_OmicronBA1']),
'sys_estFreqReads_OmicronBA2': (feature['sys_estFreqReads_OmicronBA2']),
'sys_estFreqReads_OmicronBA4': (feature['sys_estFreqReads_OmicronBA4']),
'sys_estFreqReads_OmicronBA5': (feature['sys_estFreqReads_OmicronBA5']),
'sys_estFreqReads_OmicronBA275': (feature['sys_estFreqReads_OmicronBA275']),
'dow_num': Weekday(feature['sampleDate']),
'dow': Text(feature['sampleDate'], 'dddd')
}}
Push(features, feat);
};
var dowDict = {
'fields': [
{ 'name': 'sampleDate', 'type': 'esriFieldTypeString'},
{ 'name': 'siteID', 'type': 'esriFieldTypeString'},
{'name': 'sys_phu', 'type': 'esriFieldTypeString'},
{'name': 'sys_sewershedName', 'type': 'esriFieldTypeString'},
{ 'name': 'sys_estFreqReads_DeltaB16172', 'type': 'esriFieldTypeDouble'},
{ 'name': 'sys_estFreqReads_OmicronBA1', 'type': 'esriFieldTypeDouble'},
{ 'name': 'sys_estFreqReads_OmicronBA2', 'type': 'esriFieldTypeDouble'},
{ 'name': 'sys_estFreqReads_OmicronBA4', 'type': 'esriFieldTypeDouble'},
{ 'name': 'sys_estFreqReads_OmicronBA5', 'type': 'esriFieldTypeDouble'},
{ 'name': 'sys_estFreqReads_OmicronBA275', 'type': 'esriFieldTypeDouble'},
{ 'name': 'dow_num', 'type': 'esriFieldTypeInteger'},
{'name': 'dow', 'type': 'esriFieldTypeString'}
],
'geometryType': '',
'features': features
};
// Convert dictionary to feature set.
//var fs_dict = FeatureSet(Text(dowDict));
return FeatureSet(Text(dowDict));
From the previous postings i feel like @JohannesLindner is an ALL STAR with Arcade Challenges 🙂