Hello!
I'm quite new to using data expressions with dashboards. My data contains water sample results and i wanted to assign a value for each period/date ranges. The data was filtered by different date ranges and I assigned them a value and wrote them in a new table.
It worked just fine. However, when I tried to return a FeatureSet from the Dictionary, it's not returning any values even if the dictionary has features. Not sure what I'm missing...


Here's the code I wrote for reference:
var periods = [p1, p2, p3, p4, p5];
var features = [];
var feat;
var cnt = 0;
for (var ped in periods) {
var period = periods[cnt];
for (var p in period) {
feat = {
attributes: {
'objectid': p['objectid'],
'assetid': p['assetid'],
'wzonename': p['wzonename'],
'reservoir_id': p['reservoir_id'],
'sp_type': p['sp_type'],
'sample_date': p['sample_date'],
'sample_year': p['sample_year'],
'test_description': p['test_description'],
'result': p['result'],
'izparea': p['izparea'],
'period': 'p'+(cnt+1)
}
}
Push(features,feat)
}
cnt++;
}
//return features;
var samples = {
'fields':
[{'name': 'objectid', 'type': 'esriFieldTypeInteger'},
{'name': 'assetid', 'type': 'esriFieldTypeString'},
{'name': 'wzonename', 'type': 'esriFieldTypeString'},
{'name': 'reservoir_id', 'type': 'esriFieldTypeString'},
{'name': 'sp_type', 'type': 'esriFieldTypeString'},
{'name': 'sample_date', 'type': 'esriFieldTypeDate'},
{'name': 'sample_year', 'type': 'esriFieldTypeString'},
{'name': 'test_description', 'type': 'esriFieldTypeString'},
{'name': 'result', 'type': 'esriFieldTypeDouble'},
{'name': 'izparea', 'type': 'esriFieldTypeString'},
{'name': 'period', 'type': 'esriFieldTypeString'}
],
'geometryType': 'esriGeometryPoint',
'features': features
};
//return samples;
return FeatureSet(Text(samples));