<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Arcade Data Expression - GroupBy and Latest Sample Date in ArcGIS Dashboards Questions</title>
    <link>https://community.esri.com/t5/arcgis-dashboards-questions/arcade-data-expression-groupby-and-latest-sample/m-p/1225698#M6945</link>
    <description>&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;I&amp;nbsp;&lt;SPAN&gt;am trying to create a cleaned up table that shows the most recent available&amp;nbsp;date for each ['siteID','sys_phu', 'sys_sewershedName'] while still showing the associated COVID variant values [sys_estFreqReads_DeltaB16172,....).&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;My issue is that i am trying to show these fields that are associated&amp;nbsp;with the GroupBy tool without running any calculations to the variants. Is GroupBy the right tool here ? Would some be able to help me ?&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;{name:'sys_estFreqReads_DeltaB16172', expression:'sys_estFreqReads_DeltaB16172', statistic:'MAX'},&lt;BR /&gt;{name:'sys_estFreqReads_OmicronBA1', expression:'sys_estFreqReads_OmicronBA1', statistic:'MAX'},&lt;BR /&gt;{name:'sys_estFreqReads_OmicronBA2', expression:'sys_estFreqReads_OmicronBA2', statistic:'MAX'},&lt;BR /&gt;{name:'sys_estFreqReads_OmicronBA4', expression:'sys_estFreqReads_OmicronBA4', statistic:'MAX'},&lt;BR /&gt;{name:'sys_estFreqReads_OmicronBA5', expression:'sys_estFreqReads_OmicronBA5', statistic:'MAX'},&lt;BR /&gt;{name:'sys_estFreqReads_OmicronBA275', expression:'sys_estFreqReads_OmicronBA275', statistic:'MAX'}&lt;BR /&gt;]&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;Code below&lt;/P&gt;&lt;P&gt;var portal = Portal('&lt;A href="https://arcgis.com" target="_blank" rel="noopener"&gt;https://arcgis.com&lt;/A&gt;');&lt;/P&gt;&lt;P&gt;var fs = FeatureSetByPortalItem(&lt;BR /&gt;portal,&lt;BR /&gt;'XXX',&lt;BR /&gt;0,&lt;BR /&gt;[&lt;BR /&gt;'sys_estFreqReads_DeltaB16172',&lt;BR /&gt;'sys_estFreqReads_OmicronBA1',&lt;BR /&gt;'sys_estFreqReads_OmicronBA2',&lt;BR /&gt;'sys_estFreqReads_OmicronBA4',&lt;BR /&gt;'sys_estFreqReads_OmicronBA5',&lt;BR /&gt;'sys_estFreqReads_OmicronBA275',&lt;BR /&gt;'sys_sewershedName',&lt;BR /&gt;'sys_phu',&lt;BR /&gt;'sampleDate',&lt;BR /&gt;'siteID',&lt;BR /&gt;'lowQuality'&lt;BR /&gt;],&lt;BR /&gt;false&lt;BR /&gt;);&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000FF"&gt;//create table &lt;/FONT&gt;&lt;BR /&gt;&lt;FONT color="#0000FF"&gt;var fs_gp = GroupBy(&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT color="#0000FF"&gt;fs,&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT color="#0000FF"&gt;['siteID','sys_phu', 'sys_sewershedName'],&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT color="#0000FF"&gt;[{name:'sampleDate', expression:'sampleDate', statistic:'MAX'},&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT color="#0000FF"&gt;{name:'sys_estFreqReads_DeltaB16172', expression:'sys_estFreqReads_DeltaB16172', statistic:'MAX'},&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT color="#0000FF"&gt;{name:'sys_estFreqReads_OmicronBA1', expression:'sys_estFreqReads_OmicronBA1', statistic:'MAX'},&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT color="#0000FF"&gt;{name:'sys_estFreqReads_OmicronBA2', expression:'sys_estFreqReads_OmicronBA2', statistic:'MAX'},&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT color="#0000FF"&gt;{name:'sys_estFreqReads_OmicronBA4', expression:'sys_estFreqReads_OmicronBA4', statistic:'MAX'},&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT color="#0000FF"&gt;{name:'sys_estFreqReads_OmicronBA5', expression:'sys_estFreqReads_OmicronBA5', statistic:'MAX'},&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT color="#0000FF"&gt;{name:'sys_estFreqReads_OmicronBA275', expression:'sys_estFreqReads_OmicronBA275', statistic:'MAX'}&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT color="#0000FF"&gt;]&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT color="#0000FF"&gt;);&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;// Create array for holding features, feat object for populating array&lt;BR /&gt;var features = [];&lt;BR /&gt;var feat;&lt;/P&gt;&lt;P&gt;//var newdate2 = Text($datapoint["sampleDate"],'DD-MMM-YY');&lt;/P&gt;&lt;P&gt;// Populate feature array&lt;BR /&gt;for (var feature in fs_gp) {&lt;BR /&gt;// Console(feature['sampleDate']);&lt;BR /&gt;feat = {&lt;BR /&gt;'attributes': {&lt;BR /&gt;'sampleDate': Text(feature['sampleDate'],'D-MMM-YY'),&lt;BR /&gt;'siteID': (feature['siteID']),&lt;BR /&gt;'sys_phu': Text(feature['sys_phu']),&lt;BR /&gt;'sys_sewershedName': Text(feature['sys_sewershedName']),&lt;BR /&gt;'sys_estFreqReads_DeltaB16172': (feature['sys_estFreqReads_DeltaB16172']),&lt;BR /&gt;'sys_estFreqReads_OmicronBA1': (feature['sys_estFreqReads_OmicronBA1']),&lt;BR /&gt;'sys_estFreqReads_OmicronBA2': (feature['sys_estFreqReads_OmicronBA2']),&lt;BR /&gt;'sys_estFreqReads_OmicronBA4': (feature['sys_estFreqReads_OmicronBA4']),&lt;BR /&gt;'sys_estFreqReads_OmicronBA5': (feature['sys_estFreqReads_OmicronBA5']),&lt;BR /&gt;'sys_estFreqReads_OmicronBA275': (feature['sys_estFreqReads_OmicronBA275']),&lt;BR /&gt;'dow_num': Weekday(feature['sampleDate']),&lt;BR /&gt;'dow': Text(feature['sampleDate'], 'dddd')&lt;BR /&gt;&lt;BR /&gt;}}&lt;BR /&gt;Push(features, feat);&lt;BR /&gt;};&lt;BR /&gt;var dowDict = {&lt;BR /&gt;'fields': [&lt;BR /&gt;{ 'name': 'sampleDate', 'type': 'esriFieldTypeString'},&lt;BR /&gt;{ 'name': 'siteID', 'type': 'esriFieldTypeString'},&lt;BR /&gt;{'name': 'sys_phu', 'type': 'esriFieldTypeString'},&lt;BR /&gt;{'name': 'sys_sewershedName', 'type': 'esriFieldTypeString'},&lt;BR /&gt;{ 'name': 'sys_estFreqReads_DeltaB16172', 'type': 'esriFieldTypeDouble'},&lt;BR /&gt;{ 'name': 'sys_estFreqReads_OmicronBA1', 'type': 'esriFieldTypeDouble'},&lt;BR /&gt;{ 'name': 'sys_estFreqReads_OmicronBA2', 'type': 'esriFieldTypeDouble'},&lt;BR /&gt;{ 'name': 'sys_estFreqReads_OmicronBA4', 'type': 'esriFieldTypeDouble'},&lt;BR /&gt;{ 'name': 'sys_estFreqReads_OmicronBA5', 'type': 'esriFieldTypeDouble'},&lt;BR /&gt;{ 'name': 'sys_estFreqReads_OmicronBA275', 'type': 'esriFieldTypeDouble'},&lt;BR /&gt;{ 'name': 'dow_num', 'type': 'esriFieldTypeInteger'},&lt;BR /&gt;{'name': 'dow', 'type': 'esriFieldTypeString'}&lt;BR /&gt;],&lt;BR /&gt;'geometryType': '',&lt;BR /&gt;'features': features&lt;BR /&gt;};&lt;BR /&gt;// Convert dictionary to feature set.&lt;BR /&gt;//var fs_dict = FeatureSet(Text(dowDict));&lt;BR /&gt;return FeatureSet(Text(dowDict));&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;From the previous postings i feel like&amp;nbsp;&amp;nbsp;&lt;a href="https://community.esri.com/t5/user/viewprofilepage/user-id/294341"&gt;@JohannesLindner&lt;/a&gt;&amp;nbsp;is an ALL STAR with Arcade Challenges &lt;span class="lia-unicode-emoji" title=":slightly_smiling_face:"&gt;🙂&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Wed, 26 Oct 2022 18:07:48 GMT</pubDate>
    <dc:creator>HashemAbdo</dc:creator>
    <dc:date>2022-10-26T18:07:48Z</dc:date>
    <item>
      <title>Arcade Data Expression - GroupBy and Latest Sample Date</title>
      <link>https://community.esri.com/t5/arcgis-dashboards-questions/arcade-data-expression-groupby-and-latest-sample/m-p/1225698#M6945</link>
      <description>&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;I&amp;nbsp;&lt;SPAN&gt;am trying to create a cleaned up table that shows the most recent available&amp;nbsp;date for each ['siteID','sys_phu', 'sys_sewershedName'] while still showing the associated COVID variant values [sys_estFreqReads_DeltaB16172,....).&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;My issue is that i am trying to show these fields that are associated&amp;nbsp;with the GroupBy tool without running any calculations to the variants. Is GroupBy the right tool here ? Would some be able to help me ?&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;{name:'sys_estFreqReads_DeltaB16172', expression:'sys_estFreqReads_DeltaB16172', statistic:'MAX'},&lt;BR /&gt;{name:'sys_estFreqReads_OmicronBA1', expression:'sys_estFreqReads_OmicronBA1', statistic:'MAX'},&lt;BR /&gt;{name:'sys_estFreqReads_OmicronBA2', expression:'sys_estFreqReads_OmicronBA2', statistic:'MAX'},&lt;BR /&gt;{name:'sys_estFreqReads_OmicronBA4', expression:'sys_estFreqReads_OmicronBA4', statistic:'MAX'},&lt;BR /&gt;{name:'sys_estFreqReads_OmicronBA5', expression:'sys_estFreqReads_OmicronBA5', statistic:'MAX'},&lt;BR /&gt;{name:'sys_estFreqReads_OmicronBA275', expression:'sys_estFreqReads_OmicronBA275', statistic:'MAX'}&lt;BR /&gt;]&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;Code below&lt;/P&gt;&lt;P&gt;var portal = Portal('&lt;A href="https://arcgis.com" target="_blank" rel="noopener"&gt;https://arcgis.com&lt;/A&gt;');&lt;/P&gt;&lt;P&gt;var fs = FeatureSetByPortalItem(&lt;BR /&gt;portal,&lt;BR /&gt;'XXX',&lt;BR /&gt;0,&lt;BR /&gt;[&lt;BR /&gt;'sys_estFreqReads_DeltaB16172',&lt;BR /&gt;'sys_estFreqReads_OmicronBA1',&lt;BR /&gt;'sys_estFreqReads_OmicronBA2',&lt;BR /&gt;'sys_estFreqReads_OmicronBA4',&lt;BR /&gt;'sys_estFreqReads_OmicronBA5',&lt;BR /&gt;'sys_estFreqReads_OmicronBA275',&lt;BR /&gt;'sys_sewershedName',&lt;BR /&gt;'sys_phu',&lt;BR /&gt;'sampleDate',&lt;BR /&gt;'siteID',&lt;BR /&gt;'lowQuality'&lt;BR /&gt;],&lt;BR /&gt;false&lt;BR /&gt;);&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000FF"&gt;//create table &lt;/FONT&gt;&lt;BR /&gt;&lt;FONT color="#0000FF"&gt;var fs_gp = GroupBy(&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT color="#0000FF"&gt;fs,&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT color="#0000FF"&gt;['siteID','sys_phu', 'sys_sewershedName'],&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT color="#0000FF"&gt;[{name:'sampleDate', expression:'sampleDate', statistic:'MAX'},&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT color="#0000FF"&gt;{name:'sys_estFreqReads_DeltaB16172', expression:'sys_estFreqReads_DeltaB16172', statistic:'MAX'},&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT color="#0000FF"&gt;{name:'sys_estFreqReads_OmicronBA1', expression:'sys_estFreqReads_OmicronBA1', statistic:'MAX'},&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT color="#0000FF"&gt;{name:'sys_estFreqReads_OmicronBA2', expression:'sys_estFreqReads_OmicronBA2', statistic:'MAX'},&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT color="#0000FF"&gt;{name:'sys_estFreqReads_OmicronBA4', expression:'sys_estFreqReads_OmicronBA4', statistic:'MAX'},&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT color="#0000FF"&gt;{name:'sys_estFreqReads_OmicronBA5', expression:'sys_estFreqReads_OmicronBA5', statistic:'MAX'},&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT color="#0000FF"&gt;{name:'sys_estFreqReads_OmicronBA275', expression:'sys_estFreqReads_OmicronBA275', statistic:'MAX'}&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT color="#0000FF"&gt;]&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT color="#0000FF"&gt;);&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;// Create array for holding features, feat object for populating array&lt;BR /&gt;var features = [];&lt;BR /&gt;var feat;&lt;/P&gt;&lt;P&gt;//var newdate2 = Text($datapoint["sampleDate"],'DD-MMM-YY');&lt;/P&gt;&lt;P&gt;// Populate feature array&lt;BR /&gt;for (var feature in fs_gp) {&lt;BR /&gt;// Console(feature['sampleDate']);&lt;BR /&gt;feat = {&lt;BR /&gt;'attributes': {&lt;BR /&gt;'sampleDate': Text(feature['sampleDate'],'D-MMM-YY'),&lt;BR /&gt;'siteID': (feature['siteID']),&lt;BR /&gt;'sys_phu': Text(feature['sys_phu']),&lt;BR /&gt;'sys_sewershedName': Text(feature['sys_sewershedName']),&lt;BR /&gt;'sys_estFreqReads_DeltaB16172': (feature['sys_estFreqReads_DeltaB16172']),&lt;BR /&gt;'sys_estFreqReads_OmicronBA1': (feature['sys_estFreqReads_OmicronBA1']),&lt;BR /&gt;'sys_estFreqReads_OmicronBA2': (feature['sys_estFreqReads_OmicronBA2']),&lt;BR /&gt;'sys_estFreqReads_OmicronBA4': (feature['sys_estFreqReads_OmicronBA4']),&lt;BR /&gt;'sys_estFreqReads_OmicronBA5': (feature['sys_estFreqReads_OmicronBA5']),&lt;BR /&gt;'sys_estFreqReads_OmicronBA275': (feature['sys_estFreqReads_OmicronBA275']),&lt;BR /&gt;'dow_num': Weekday(feature['sampleDate']),&lt;BR /&gt;'dow': Text(feature['sampleDate'], 'dddd')&lt;BR /&gt;&lt;BR /&gt;}}&lt;BR /&gt;Push(features, feat);&lt;BR /&gt;};&lt;BR /&gt;var dowDict = {&lt;BR /&gt;'fields': [&lt;BR /&gt;{ 'name': 'sampleDate', 'type': 'esriFieldTypeString'},&lt;BR /&gt;{ 'name': 'siteID', 'type': 'esriFieldTypeString'},&lt;BR /&gt;{'name': 'sys_phu', 'type': 'esriFieldTypeString'},&lt;BR /&gt;{'name': 'sys_sewershedName', 'type': 'esriFieldTypeString'},&lt;BR /&gt;{ 'name': 'sys_estFreqReads_DeltaB16172', 'type': 'esriFieldTypeDouble'},&lt;BR /&gt;{ 'name': 'sys_estFreqReads_OmicronBA1', 'type': 'esriFieldTypeDouble'},&lt;BR /&gt;{ 'name': 'sys_estFreqReads_OmicronBA2', 'type': 'esriFieldTypeDouble'},&lt;BR /&gt;{ 'name': 'sys_estFreqReads_OmicronBA4', 'type': 'esriFieldTypeDouble'},&lt;BR /&gt;{ 'name': 'sys_estFreqReads_OmicronBA5', 'type': 'esriFieldTypeDouble'},&lt;BR /&gt;{ 'name': 'sys_estFreqReads_OmicronBA275', 'type': 'esriFieldTypeDouble'},&lt;BR /&gt;{ 'name': 'dow_num', 'type': 'esriFieldTypeInteger'},&lt;BR /&gt;{'name': 'dow', 'type': 'esriFieldTypeString'}&lt;BR /&gt;],&lt;BR /&gt;'geometryType': '',&lt;BR /&gt;'features': features&lt;BR /&gt;};&lt;BR /&gt;// Convert dictionary to feature set.&lt;BR /&gt;//var fs_dict = FeatureSet(Text(dowDict));&lt;BR /&gt;return FeatureSet(Text(dowDict));&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;From the previous postings i feel like&amp;nbsp;&amp;nbsp;&lt;a href="https://community.esri.com/t5/user/viewprofilepage/user-id/294341"&gt;@JohannesLindner&lt;/a&gt;&amp;nbsp;is an ALL STAR with Arcade Challenges &lt;span class="lia-unicode-emoji" title=":slightly_smiling_face:"&gt;🙂&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 26 Oct 2022 18:07:48 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-dashboards-questions/arcade-data-expression-groupby-and-latest-sample/m-p/1225698#M6945</guid>
      <dc:creator>HashemAbdo</dc:creator>
      <dc:date>2022-10-26T18:07:48Z</dc:date>
    </item>
    <item>
      <title>Re: Arcade Data Expression - GroupBy and Latest Sample Date</title>
      <link>https://community.esri.com/t5/arcgis-dashboards-questions/arcade-data-expression-groupby-and-latest-sample/m-p/1226063#M6948</link>
      <description>&lt;P&gt;You have to do it in two steps:&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;Use GroupBy to get the MAX date for each site&lt;/LI&gt;&lt;LI&gt;Use a loop to fill your output featureset, filtering the input data&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;I hate filtering with date values with a passion, because any number of things can go wrong, and the syntax depends on your database. I would use &lt;A href="https://developers.arcgis.com/arcade/function-reference/data_functions/#distinct" target="_blank" rel="noopener"&gt;Distinct()&lt;/A&gt; instead:&lt;/P&gt;&lt;LI-CODE lang="javascript"&gt;var p = Portal('https://arcgis.com');  // don't assign to names of functions!
var fs = FeatureSetByPortalItem(
    p,
    '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 output fs
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': []
};

// get all distinct combinations of ['siteID','sys_phu', 'sys_sewershedName']
var sites = Distinct(fs, ['siteID','sys_phu', 'sys_sewershedName'])

// Populate feature array
for (var site in sites) {
    var id = site.siteID
    var phu = site.sys_phu
    var sewershed = site.sys_sewershedName
    // get all samples for this site
    var samples = Filter(fs, 'siteID = &lt;a href="https://community.esri.com/t5/user/viewprofilepage/user-id/354972"&gt;@ID&lt;/a&gt; AND sys_phu = @phu AND sys_sewershedName = @sewershed')
    // get the latest sample
    var latest_sample = First(OrderBy(samples, 'sampleDate DESC'))
    // null check to avoid errors
    if(latest_sample == null) { continue }
    // create the new feature and push it into the output fs
    feat = {
        'attributes': {
            'sampleDate': Number(latest_sample['sampleDate']),
            'siteID': latest_sample['siteID'],
            'sys_phu': Text(latest_sample['sys_phu']),
            'sys_sewershedName': Text(latest_sample['sys_sewershedName']),
            'sys_estFreqReads_DeltaB16172': (latest_sample['sys_estFreqReads_DeltaB16172']),
            'sys_estFreqReads_OmicronBA1': (latest_sample['sys_estFreqReads_OmicronBA1']),
            'sys_estFreqReads_OmicronBA2': (latest_sample['sys_estFreqReads_OmicronBA2']),
            'sys_estFreqReads_OmicronBA4': (latest_sample['sys_estFreqReads_OmicronBA4']),
            'sys_estFreqReads_OmicronBA5': (latest_sample['sys_estFreqReads_OmicronBA5']),
            'sys_estFreqReads_OmicronBA275': (latest_sample['sys_estFreqReads_OmicronBA275']),
            'dow_num': Weekday(latest_sample['sampleDate']),
            'dow': Text(latest_sample['sampleDate'], 'dddd')
    }}
    Push(dowDict.features, feat);
};

// Convert dictionary to feature set.
//var fs_dict = FeatureSet(Text(dowDict));
return FeatureSet(Text(dowDict));&lt;/LI-CODE&gt;</description>
      <pubDate>Thu, 27 Oct 2022 07:37:27 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-dashboards-questions/arcade-data-expression-groupby-and-latest-sample/m-p/1226063#M6948</guid>
      <dc:creator>JohannesLindner</dc:creator>
      <dc:date>2022-10-27T07:37:27Z</dc:date>
    </item>
    <item>
      <title>Re: Arcade Data Expression - GroupBy and Latest Sample Date</title>
      <link>https://community.esri.com/t5/arcgis-dashboards-questions/arcade-data-expression-groupby-and-latest-sample/m-p/1226162#M6949</link>
      <description>&lt;P&gt;Hello Johannes, It worked !!!&lt;/P&gt;&lt;P&gt;You are amazing&amp;nbsp;&lt;span class="lia-unicode-emoji" title=":trophy:"&gt;🏆&lt;/span&gt; !!&lt;/P&gt;</description>
      <pubDate>Thu, 27 Oct 2022 14:38:47 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-dashboards-questions/arcade-data-expression-groupby-and-latest-sample/m-p/1226162#M6949</guid>
      <dc:creator>HashemAbdo</dc:creator>
      <dc:date>2022-10-27T14:38:47Z</dc:date>
    </item>
    <item>
      <title>Re: Arcade Data Expression - GroupBy and Latest Sample Date</title>
      <link>https://community.esri.com/t5/arcgis-dashboards-questions/arcade-data-expression-groupby-and-latest-sample/m-p/1226325#M6950</link>
      <description>&lt;P&gt;Hello&amp;nbsp; @&lt;SPAN class=""&gt;&lt;A href="https://community.esri.com/t5/user/viewprofilepage/user-id/294341" target="_self"&gt;&lt;SPAN class=""&gt;JohannesLindner&lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN&gt;&amp;nbsp;,&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;I have one more question,&lt;/P&gt;&lt;P&gt;In some cases some SiteIDs will have two samples for the same Date and I would like both samples to be shown in the final product output. I was trying to see if another If statement that would see if the date in the latest sample date but it seems like Arcade doesn't let me do that. Is there another way of doing it ?&lt;/P&gt;&lt;P&gt;Something like that:&lt;/P&gt;&lt;P&gt;// samples&lt;BR /&gt;var sample_list = OrderBy(samples, 'sampleDate DESC')&lt;/P&gt;&lt;P&gt;if(latest_sample.sampleDate == sample_list[1].sampleDate )&lt;BR /&gt;latest_sample = sample_list[1]&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="HashemAbdo_1-1666897296330.png" style="width: 400px;"&gt;&lt;img src="https://community.esri.com/t5/image/serverpage/image-id/54644i57E43E6E0505DECD/image-size/medium?v=v2&amp;amp;px=400" role="button" title="HashemAbdo_1-1666897296330.png" alt="HashemAbdo_1-1666897296330.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Updated code:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;var portal = Portal('&lt;A href="https://arcgis.com" target="_blank" rel="noopener"&gt;https://arcgis.com&lt;/A&gt;');&lt;/P&gt;&lt;P&gt;var fs = FeatureSetByPortalItem(&lt;BR /&gt;portal,&lt;BR /&gt;'XXXX',&lt;BR /&gt;0,&lt;BR /&gt;[&lt;BR /&gt;'sys_estFreqReads_DeltaB16172',&lt;BR /&gt;'sys_estFreqReads_OmicronBA1',&lt;BR /&gt;'sys_estFreqReads_OmicronBA2',&lt;BR /&gt;'sys_estFreqReads_OmicronBA4',&lt;BR /&gt;'sys_estFreqReads_OmicronBA5',&lt;BR /&gt;'sys_estFreqReads_OmicronBA275',&lt;BR /&gt;'sys_sewershedName',&lt;BR /&gt;'sys_phu',&lt;BR /&gt;'sampleDate',&lt;BR /&gt;'siteID',&lt;BR /&gt;'lowQuality'&lt;BR /&gt;],&lt;BR /&gt;false&lt;BR /&gt;);&lt;/P&gt;&lt;P&gt;var dowDict = {&lt;BR /&gt;'fields': [&lt;BR /&gt;{ 'name': 'sampleDate', 'type': 'esriFieldTypeString'},&lt;BR /&gt;{ 'name': 'siteID', 'type': 'esriFieldTypeString'},&lt;BR /&gt;{'name': 'sys_phu', 'type': 'esriFieldTypeString'},&lt;BR /&gt;{'name': 'sys_sewershedName', 'type': 'esriFieldTypeString'},&lt;BR /&gt;{ 'name': 'sys_estFreqReads_DeltaB16172', 'type': 'esriFieldTypeDouble'},&lt;BR /&gt;{ 'name': 'sys_estFreqReads_OmicronBA1', 'type': 'esriFieldTypeDouble'},&lt;BR /&gt;{ 'name': 'sys_estFreqReads_OmicronBA2', 'type': 'esriFieldTypeDouble'},&lt;BR /&gt;{ 'name': 'sys_estFreqReads_OmicronBA4', 'type': 'esriFieldTypeDouble'},&lt;BR /&gt;{ 'name': 'sys_estFreqReads_OmicronBA5', 'type': 'esriFieldTypeDouble'},&lt;BR /&gt;{ 'name': 'sys_estFreqReads_OmicronBA275', 'type': 'esriFieldTypeDouble'},&lt;BR /&gt;{ 'name': 'dow_num', 'type': 'esriFieldTypeInteger'},&lt;BR /&gt;{'name': 'dow', 'type': 'esriFieldTypeString'},&lt;BR /&gt;{'name': 'lowQuality', 'type': 'esriFieldTypeString'}&lt;BR /&gt;&lt;BR /&gt;],&lt;BR /&gt;'geometryType': '',&lt;BR /&gt;'features': []&lt;BR /&gt;};&lt;BR /&gt;// get all distinct combinations of ['siteID','sys_phu', 'sys_sewershedName']&lt;BR /&gt;//var sites = Distinct(fs, ['siteID','sys_phu', 'sys_sewershedName'])&lt;BR /&gt;var sites = Distinct(fs, ['siteID'])&lt;/P&gt;&lt;P&gt;// Create array for holding features, feat object for populating array&lt;BR /&gt;var features = [];&lt;BR /&gt;var feat;&lt;/P&gt;&lt;P&gt;//var newdate2 = Text($datapoint["sampleDate"],'DD-MMM-YY');&lt;/P&gt;&lt;P&gt;// Populate feature array&lt;BR /&gt;for (var site in sites) {&lt;BR /&gt;var id = site.siteID&lt;BR /&gt;//var phu = site.sys_phu&lt;BR /&gt;//var sewershed = site.sys_sewershedName&lt;BR /&gt;// get all samples for this site&lt;BR /&gt;var samples = Filter(fs,'siteID = &lt;a href="https://community.esri.com/t5/user/viewprofilepage/user-id/354972"&gt;@ID&lt;/a&gt;')&lt;BR /&gt;// get the latest sample&lt;BR /&gt;var latest_sample = First(OrderBy(samples, 'sampleDate DESC'))&lt;/P&gt;&lt;P&gt;// samples&lt;BR /&gt;var sample_list = OrderBy(samples, 'sampleDate DESC')&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;// null check to avoid errors&lt;BR /&gt;if(latest_sample == null) { continue }&lt;BR /&gt;// create the new feature and push it into the output fs&lt;BR /&gt;feat = {&lt;BR /&gt;'attributes': {&lt;BR /&gt;'sampleDate': Text(latest_sample['sampleDate'],'D-MMM-YY'),&lt;BR /&gt;'siteID': (latest_sample['siteID']),&lt;BR /&gt;'sys_phu': Text(latest_sample['sys_phu']),&lt;BR /&gt;'sys_sewershedName': Text(latest_sample['sys_sewershedName']),&lt;BR /&gt;'sys_estFreqReads_DeltaB16172': (latest_sample['sys_estFreqReads_DeltaB16172']),&lt;BR /&gt;'sys_estFreqReads_OmicronBA1': (latest_sample['sys_estFreqReads_OmicronBA1']),&lt;BR /&gt;'sys_estFreqReads_OmicronBA2': (latest_sample['sys_estFreqReads_OmicronBA2']),&lt;BR /&gt;'sys_estFreqReads_OmicronBA4': (latest_sample['sys_estFreqReads_OmicronBA4']),&lt;BR /&gt;'sys_estFreqReads_OmicronBA5': (latest_sample['sys_estFreqReads_OmicronBA5']),&lt;BR /&gt;'sys_estFreqReads_OmicronBA275': (latest_sample['sys_estFreqReads_OmicronBA275']),&lt;BR /&gt;'dow_num': Weekday(latest_sample['sampleDate']),&lt;BR /&gt;'dow': Text(latest_sample['sampleDate'], 'dddd'),&lt;BR /&gt;'lowQuality': Text(latest_sample['lowQuality']),&lt;BR /&gt;&lt;BR /&gt;}}&lt;BR /&gt;Push(dowDict.features, feat);&lt;BR /&gt;};&lt;/P&gt;&lt;P&gt;// Convert dictionary to feature set.&lt;BR /&gt;//var fs_dict = FeatureSet(Text(dowDict));&lt;BR /&gt;return FeatureSet(Text(dowDict));&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 27 Oct 2022 19:03:15 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-dashboards-questions/arcade-data-expression-groupby-and-latest-sample/m-p/1226325#M6950</guid>
      <dc:creator>HashemAbdo</dc:creator>
      <dc:date>2022-10-27T19:03:15Z</dc:date>
    </item>
  </channel>
</rss>

