<?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 Groupby in ArcGIS Online Questions</title>
    <link>https://community.esri.com/t5/arcgis-online-questions/groupby/m-p/1290911#M52324</link>
    <description>&lt;P&gt;Hi guys,&lt;/P&gt;&lt;P&gt;I have a table that I want to use the&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;groupby function&amp;nbsp;&lt;/STRONG&gt;in 2 different ways, then join it back to calculate the percentages to display on ArcGIS dashboard. I am very new to ArcGIS Arcade so this has been a major struggle. Can someone please provide some guidance?&amp;nbsp;&lt;/P&gt;&lt;P&gt;What I have got so far:&lt;/P&gt;&lt;DIV&gt;&lt;DIV&gt;&lt;STRONG&gt;//Grab data&lt;/STRONG&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;var&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;portal&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;=&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;Portal&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;'&lt;A href="https://www.arcgis.com/" target="_blank" rel="noopener nofollow noreferrer"&gt;https://www.arcgis.com/&lt;/A&gt;'&lt;/SPAN&gt;&lt;SPAN&gt;);&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;var&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;fs&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;=&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;FeatureSetByPortalItem&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;portal&lt;/SPAN&gt;&lt;SPAN&gt;,&lt;/SPAN&gt;&lt;SPAN&gt;'&lt;STRONG&gt;id'&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN&gt;,&lt;/SPAN&gt;&lt;SPAN&gt;0&lt;/SPAN&gt;&lt;SPAN&gt;,[&lt;/SPAN&gt;&lt;SPAN&gt;'LGA'&lt;/SPAN&gt;&lt;SPAN&gt;,&lt;/SPAN&gt;&lt;SPAN&gt;'Activity'&lt;/SPAN&gt;&lt;SPAN&gt;]);&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;STRONG&gt;//Table&amp;nbsp; 1&lt;/STRONG&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;var&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;LGA_Activity_Count&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;=&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;GroupBy&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;fs&lt;/SPAN&gt;&lt;SPAN&gt;,[&lt;/SPAN&gt;&lt;SPAN&gt;'LGA'&lt;/SPAN&gt;&lt;SPAN&gt;,&lt;/SPAN&gt;&lt;SPAN&gt;'Activity'&lt;/SPAN&gt;&lt;SPAN&gt;],[&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp;{&lt;/SPAN&gt;&lt;SPAN&gt;name&lt;/SPAN&gt;&lt;SPAN&gt;:&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;'Local_Activity_Count'&lt;/SPAN&gt;&lt;SPAN&gt;,&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;expression&lt;/SPAN&gt;&lt;SPAN&gt;:&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;'Activity'&lt;/SPAN&gt;&lt;SPAN&gt;,&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;statistic&lt;/SPAN&gt;&lt;SPAN&gt;:&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;'Count'&lt;/SPAN&gt;&lt;SPAN&gt;},]);&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;STRONG&gt;//Table 2&amp;nbsp;&lt;/STRONG&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;var&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;LGA_Activity_Count&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;=&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;GroupBy&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;fs&lt;/SPAN&gt;&lt;SPAN&gt;,[&lt;/SPAN&gt;&lt;SPAN&gt;'Activity'&lt;/SPAN&gt;&lt;SPAN&gt;],[&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp;{&lt;/SPAN&gt;&lt;SPAN&gt;name&lt;/SPAN&gt;&lt;SPAN&gt;:&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;'State_Activity_Count'&lt;/SPAN&gt;&lt;SPAN&gt;,&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;expression&lt;/SPAN&gt;&lt;SPAN&gt;:&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;'Activity'&lt;/SPAN&gt;&lt;SPAN&gt;,&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;statistic&lt;/SPAN&gt;&lt;SPAN&gt;:&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;'Count'&lt;/SPAN&gt;&lt;SPAN&gt;},]);&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;STRONG&gt;//Join Table&amp;nbsp;&lt;/STRONG&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;//(Table 1 divide by table 2) * 100 to work out the percentages&lt;/STRONG&gt;&lt;/P&gt;</description>
    <pubDate>Fri, 19 May 2023 03:03:47 GMT</pubDate>
    <dc:creator>SRSSpatial</dc:creator>
    <dc:date>2023-05-19T03:03:47Z</dc:date>
    <item>
      <title>Groupby</title>
      <link>https://community.esri.com/t5/arcgis-online-questions/groupby/m-p/1290911#M52324</link>
      <description>&lt;P&gt;Hi guys,&lt;/P&gt;&lt;P&gt;I have a table that I want to use the&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;groupby function&amp;nbsp;&lt;/STRONG&gt;in 2 different ways, then join it back to calculate the percentages to display on ArcGIS dashboard. I am very new to ArcGIS Arcade so this has been a major struggle. Can someone please provide some guidance?&amp;nbsp;&lt;/P&gt;&lt;P&gt;What I have got so far:&lt;/P&gt;&lt;DIV&gt;&lt;DIV&gt;&lt;STRONG&gt;//Grab data&lt;/STRONG&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;var&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;portal&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;=&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;Portal&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;'&lt;A href="https://www.arcgis.com/" target="_blank" rel="noopener nofollow noreferrer"&gt;https://www.arcgis.com/&lt;/A&gt;'&lt;/SPAN&gt;&lt;SPAN&gt;);&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;var&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;fs&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;=&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;FeatureSetByPortalItem&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;portal&lt;/SPAN&gt;&lt;SPAN&gt;,&lt;/SPAN&gt;&lt;SPAN&gt;'&lt;STRONG&gt;id'&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN&gt;,&lt;/SPAN&gt;&lt;SPAN&gt;0&lt;/SPAN&gt;&lt;SPAN&gt;,[&lt;/SPAN&gt;&lt;SPAN&gt;'LGA'&lt;/SPAN&gt;&lt;SPAN&gt;,&lt;/SPAN&gt;&lt;SPAN&gt;'Activity'&lt;/SPAN&gt;&lt;SPAN&gt;]);&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;STRONG&gt;//Table&amp;nbsp; 1&lt;/STRONG&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;var&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;LGA_Activity_Count&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;=&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;GroupBy&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;fs&lt;/SPAN&gt;&lt;SPAN&gt;,[&lt;/SPAN&gt;&lt;SPAN&gt;'LGA'&lt;/SPAN&gt;&lt;SPAN&gt;,&lt;/SPAN&gt;&lt;SPAN&gt;'Activity'&lt;/SPAN&gt;&lt;SPAN&gt;],[&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp;{&lt;/SPAN&gt;&lt;SPAN&gt;name&lt;/SPAN&gt;&lt;SPAN&gt;:&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;'Local_Activity_Count'&lt;/SPAN&gt;&lt;SPAN&gt;,&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;expression&lt;/SPAN&gt;&lt;SPAN&gt;:&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;'Activity'&lt;/SPAN&gt;&lt;SPAN&gt;,&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;statistic&lt;/SPAN&gt;&lt;SPAN&gt;:&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;'Count'&lt;/SPAN&gt;&lt;SPAN&gt;},]);&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;STRONG&gt;//Table 2&amp;nbsp;&lt;/STRONG&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;var&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;LGA_Activity_Count&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;=&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;GroupBy&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;fs&lt;/SPAN&gt;&lt;SPAN&gt;,[&lt;/SPAN&gt;&lt;SPAN&gt;'Activity'&lt;/SPAN&gt;&lt;SPAN&gt;],[&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp;{&lt;/SPAN&gt;&lt;SPAN&gt;name&lt;/SPAN&gt;&lt;SPAN&gt;:&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;'State_Activity_Count'&lt;/SPAN&gt;&lt;SPAN&gt;,&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;expression&lt;/SPAN&gt;&lt;SPAN&gt;:&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;'Activity'&lt;/SPAN&gt;&lt;SPAN&gt;,&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;statistic&lt;/SPAN&gt;&lt;SPAN&gt;:&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;'Count'&lt;/SPAN&gt;&lt;SPAN&gt;},]);&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;STRONG&gt;//Join Table&amp;nbsp;&lt;/STRONG&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;//(Table 1 divide by table 2) * 100 to work out the percentages&lt;/STRONG&gt;&lt;/P&gt;</description>
      <pubDate>Fri, 19 May 2023 03:03:47 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-online-questions/groupby/m-p/1290911#M52324</guid>
      <dc:creator>SRSSpatial</dc:creator>
      <dc:date>2023-05-19T03:03:47Z</dc:date>
    </item>
    <item>
      <title>Re: Groupby</title>
      <link>https://community.esri.com/t5/arcgis-online-questions/groupby/m-p/1291196#M52338</link>
      <description>&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="javascript"&gt;// function to load Featureset into RAM (for performance)
// community.esri.com/t5/arcgis-online-blog/improving-expression-performance-a-custom-function/ba-p/1288785
function Memorize(fs) {var temp_dict = {fields: Schema(fs)['fields'], geometryType: '', features: []}; for (var f in fs) {var attrs = {}; for (var attr in f) {attrs[attr] = Iif(TypeOf(f[attr]) == 'Date', Number(f[attr]), f[attr]);} Push(temp_dict['features'], {attributes: attrs});} return FeatureSet(Text(temp_dict))}


// load Featureset
var fs = Memorize(FeaturesetByPortalItem(Portal("https://www.arcgis.com"), "b0d335151aad48a5883326b9aed69cdd", 0, ["LGA", "Activity"], false))

// GroupBy county and activity fields
var local_activities = GroupBy(fs, ["LGA", "Activity"], [{name: "LocalActivityCount", expression: "1", statistic: "COUNT"}])
// GroupBy activity field
var state_activities = GroupBy(fs, ["Activity"], [{name: "StateActivityCount", expression: "1", statistic: "COUNT"}])

// create empty output featureset ( add percentage field to local_activities)
var out_fs = {
  geometryType: "",
  fields: Splice(
            Schema(local_activities).fields,
            [{name:"PercentageOfTotal", type: "esriFieldTypeDouble"}]
            ),
  features: []
}

// iterate through the local activities
for(var f_local in local_activities) {
  // find the corresponding feature in the state activities
  var a = f_local.Activity
  var f_state = First(Filter(state_activities, "Activity = @a"))
  // copy the local activity attributes
  var att = Dictionary(Text(f_local)).attributes
  // calculate and append the percentage
  att.PercentageOfTotal = f_local.LocalActivityCount / f_state.StateActivityCount * 100
  // add the new feature to the output fs
  Push(out_fs.features, {attributes: att})
}

return Featureset(Text(out_fs))&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 19 May 2023 18:01:18 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-online-questions/groupby/m-p/1291196#M52338</guid>
      <dc:creator>JohannesLindner</dc:creator>
      <dc:date>2023-05-19T18:01:18Z</dc:date>
    </item>
    <item>
      <title>Re: Groupby</title>
      <link>https://community.esri.com/t5/arcgis-online-questions/groupby/m-p/1291443#M52348</link>
      <description>&lt;P&gt;Hi Johannes,&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thank you so much for taking the time to answer my question!&lt;/P&gt;&lt;P&gt;Unfortunately I've received an error message (image below). I am thinking this might have something to do with the "Activity" column that's sitting in the back-end as there are few records showing null/blank value. Is there any way to fix this?&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="SRSSpatial_0-1684708600972.png" style="width: 400px;"&gt;&lt;img src="https://community.esri.com/t5/image/serverpage/image-id/71247iA1CCE1CFB27A5564/image-size/medium?v=v2&amp;amp;px=400" role="button" title="SRSSpatial_0-1684708600972.png" alt="SRSSpatial_0-1684708600972.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;Thanks&amp;nbsp;&lt;/P&gt;&lt;P&gt;Calvin&lt;/P&gt;</description>
      <pubDate>Sun, 21 May 2023 22:54:40 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-online-questions/groupby/m-p/1291443#M52348</guid>
      <dc:creator>SRSSpatial</dc:creator>
      <dc:date>2023-05-21T22:54:40Z</dc:date>
    </item>
    <item>
      <title>Re: Groupby</title>
      <link>https://community.esri.com/t5/arcgis-online-questions/groupby/m-p/1293367#M52447</link>
      <description>&lt;P&gt;Yes, it is because of null values. To fix it, you can insert this after line 7 to ignore features with null values in either field:&lt;/P&gt;&lt;LI-CODE lang="javascript"&gt;fs = Filter(fs, "LGA IS NOT NULL AND Activity IS NOT NULL")&lt;/LI-CODE&gt;</description>
      <pubDate>Fri, 26 May 2023 06:21:29 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-online-questions/groupby/m-p/1293367#M52447</guid>
      <dc:creator>JohannesLindner</dc:creator>
      <dc:date>2023-05-26T06:21:29Z</dc:date>
    </item>
    <item>
      <title>Re: Groupby</title>
      <link>https://community.esri.com/t5/arcgis-online-questions/groupby/m-p/1293927#M52474</link>
      <description>&lt;P&gt;Thank you so much Johannes. This is exactly what I am chasing after :).&amp;nbsp;&lt;/P&gt;&lt;P&gt;Any chance you know why the "StateActivityCount" column isn't displaying?&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="SRSSpatial_0-1685409235726.png" style="width: 400px;"&gt;&lt;img src="https://community.esri.com/t5/image/serverpage/image-id/71893iABC906DFAC634EA4/image-size/medium?v=v2&amp;amp;px=400" role="button" title="SRSSpatial_0-1685409235726.png" alt="SRSSpatial_0-1685409235726.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Cheers&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 30 May 2023 01:14:04 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-online-questions/groupby/m-p/1293927#M52474</guid>
      <dc:creator>SRSSpatial</dc:creator>
      <dc:date>2023-05-30T01:14:04Z</dc:date>
    </item>
  </channel>
</rss>

