<?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 Re: Arcade Split comma delimited value into multiple rows, keeping row details in ArcGIS Dashboards Questions</title>
    <link>https://community.esri.com/t5/arcgis-dashboards-questions/arcade-split-comma-delimited-value-into-multiple/m-p/1105816#M5249</link>
    <description>&lt;P&gt;Thank you very much for your reply! The code works perfectly fine I only had to add 'ID' at the end.&lt;/P&gt;&lt;LI-CODE lang="javascript"&gt;// Return featureset after grouping by hazard types. 
return GroupBy(fs_dict, ['split', 'ID'],
       [{ name: 'No', expression: 'split', statistic: 'COUNT' }]); &lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Fri, 08 Oct 2021 08:39:31 GMT</pubDate>
    <dc:creator>VeronicaArambula</dc:creator>
    <dc:date>2021-10-08T08:39:31Z</dc:date>
    <item>
      <title>Arcade Split comma delimited value into multiple rows, keeping row details</title>
      <link>https://community.esri.com/t5/arcgis-dashboards-questions/arcade-split-comma-delimited-value-into-multiple/m-p/1105537#M5245</link>
      <description>&lt;P&gt;Hello,&amp;nbsp;&lt;/P&gt;&lt;P&gt;I'm new in working with Arcade expressions in the Dashboard.&lt;/P&gt;&lt;P&gt;What I want is to split the values in the 'split' field which are separated by commas while preserving the original ID of each value. How could I do this? I&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;&lt;LI-CODE lang="c"&gt;// Split values corresponding to Action
// Reference layer using the FeatureSetByPortalItem() method. 
var fs = FeatureSetByPortalItem(Portal('https://www.arcgis.com'), 'a616dac6c1834fedb0fad1860c14234e' , 1, ['*'], false);

// Empty dictionary to capture each hazard reported as separate rows. 
var choicesDict = {'fields': [{ 'name': 'split', 'type': 'esriFieldTypeString'}, { 'name': 'ID', 'type': 'esriFieldTypeString'}], 
                    'geometryType': '', 
                    'features': []}; 

var index = 0;

// Split comma separated hazard types and store in dictionary.  
for (var feature in fs) {
    var split_array  =  Split(feature["Action"], ',') 
    var count_arr = Count(split_array) 
    for(var i = 0; i &amp;lt; count_arr; i++ ){ 
        choicesDict.features[index++] = { 
            'attributes': { 'split': Trim(split_array[i])
            }
            }
        }
        for(var i = 0; i &amp;lt; count_arr; i++){
            choicesDict.features[i++] = {
                attributes: {
                    ID: feature["ID_bins"]
                }
            }
            
        }
}

var result = Replace(choicesDict, "_", " ");

// Convert dictionary to featureSet. 
var fs_dict = FeatureSet(Text(result)); 

// Return featureset after grouping by hazard types. 
return GroupBy(fs_dict, ['split'],
       [{ name: 'No', expression: 'split', statistic: 'COUNT' }]);   &lt;/LI-CODE&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;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 08 Oct 2021 07:43:23 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-dashboards-questions/arcade-split-comma-delimited-value-into-multiple/m-p/1105537#M5245</guid>
      <dc:creator>VeronicaArambula</dc:creator>
      <dc:date>2021-10-08T07:43:23Z</dc:date>
    </item>
    <item>
      <title>Re: Arcade Split comma delimited value into multiple rows, keeping row details</title>
      <link>https://community.esri.com/t5/arcgis-dashboards-questions/arcade-split-comma-delimited-value-into-multiple/m-p/1105813#M5247</link>
      <description>&lt;LI-CODE lang="javascript"&gt;// Split values corresponding to Action
// Reference layer using the FeatureSetByPortalItem() method. 
var fs = FeatureSetByPortalItem(Portal('https://www.arcgis.com'), 'a616dac6c1834fedb0fad1860c14234e' , 1, ['*'], false);

// Empty dictionary to capture each hazard reported as separate rows. 
var choicesDict = {'fields': [{ 'name': 'split', 'type': 'esriFieldTypeString'}, { 'name': 'ID', 'type': 'esriFieldTypeString'}], 
                    'geometryType': '', 
                    'features': []}; 

// Split comma separated hazard types and store in dictionary.
for (var feature in fs) {
  var ID = feature["ID_bins"]
  var split_array  =  Split(feature["Action"], ',')
  for(var i in split_array) {
    Push(choicesDict.features, {"attributes": {"ID": ID, "split": Trim(split_array[i])}}
  }
}
var result = Replace(choicesDict, "_", " ");

// Convert dictionary to featureSet. 
var fs_dict = FeatureSet(Text(result)); 

// Return featureset after grouping by hazard types. 
return GroupBy(fs_dict, ['split'],
       [{ name: 'No', expression: 'split', statistic: 'COUNT' }]);   &lt;/LI-CODE&gt;</description>
      <pubDate>Fri, 08 Oct 2021 08:10:17 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-dashboards-questions/arcade-split-comma-delimited-value-into-multiple/m-p/1105813#M5247</guid>
      <dc:creator>JohannesLindner</dc:creator>
      <dc:date>2021-10-08T08:10:17Z</dc:date>
    </item>
    <item>
      <title>Re: Arcade Split comma delimited value into multiple rows, keeping row details</title>
      <link>https://community.esri.com/t5/arcgis-dashboards-questions/arcade-split-comma-delimited-value-into-multiple/m-p/1105816#M5249</link>
      <description>&lt;P&gt;Thank you very much for your reply! The code works perfectly fine I only had to add 'ID' at the end.&lt;/P&gt;&lt;LI-CODE lang="javascript"&gt;// Return featureset after grouping by hazard types. 
return GroupBy(fs_dict, ['split', 'ID'],
       [{ name: 'No', expression: 'split', statistic: 'COUNT' }]); &lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 08 Oct 2021 08:39:31 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-dashboards-questions/arcade-split-comma-delimited-value-into-multiple/m-p/1105816#M5249</guid>
      <dc:creator>VeronicaArambula</dc:creator>
      <dc:date>2021-10-08T08:39:31Z</dc:date>
    </item>
    <item>
      <title>Re: Arcade Split comma delimited value into multiple rows, keeping row details</title>
      <link>https://community.esri.com/t5/arcgis-dashboards-questions/arcade-split-comma-delimited-value-into-multiple/m-p/1285876#M7754</link>
      <description>&lt;P&gt;Hi Veronica,&lt;/P&gt;&lt;P&gt;I'm trying to do basically the same thing, but add two more fields so I can filter my Series Chart further.&amp;nbsp; One for data and another attribute field.&amp;nbsp; I enter the above solution and enter your edit and receive an error on line 17.&amp;nbsp; Would you be able to chare the code you used?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks!&lt;/P&gt;</description>
      <pubDate>Thu, 04 May 2023 20:06:24 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-dashboards-questions/arcade-split-comma-delimited-value-into-multiple/m-p/1285876#M7754</guid>
      <dc:creator>BNix_TPA</dc:creator>
      <dc:date>2023-05-04T20:06:24Z</dc:date>
    </item>
    <item>
      <title>Re: Arcade Split comma delimited value into multiple rows, keeping row details</title>
      <link>https://community.esri.com/t5/arcgis-dashboards-questions/arcade-split-comma-delimited-value-into-multiple/m-p/1390494#M9196</link>
      <description>&lt;P&gt;Based on what Johannes provided I was able to get the following to work:&lt;/P&gt;&lt;LI-CODE lang="javascript"&gt;// Split values corresponding to Sub Topic
// Reference layer using the FeatureSetByPortalItem() method. 
var fs = FeatureSetByPortalItem(Portal('https://www.arcgis.com'), '404e68025b454f829385dfaa326d0486' , 0, ["*"], false);

// Empty dictionary to capture each sub topic reported as separate rows. 
var choicesDict = {'fields': [{ 'name': 'split', 'type': 'esriFieldTypeString'}, { 'name': 'Topic', 'type': 'esriFieldTypeString'}], 
                    'geometryType': '', 
                    'features': []}; 

// Split comma separated sub types and store in dictionary.
for (var f in fs) {
  var Topic = f["Topic"]
  var split_array  =  Split(f["Sub_Topic"], ',')
  for(var i in split_array) {
    Push(choicesDict.features, {"attributes": {"Topic": Topic, "split": Trim(split_array[i])}})
  }
}
var result = Replace(choicesDict, "_", " ");

// Convert dictionary to featureSet. 
var fs_dict = FeatureSet(Text(result));
return fs_dict

// Return featureset after grouping by sub topic 
//return GroupBy(fs_dict, ['split'],
//       [{ name: 'No', expression: 'split', statistic: 'COUNT' }]);   &lt;/LI-CODE&gt;</description>
      <pubDate>Mon, 04 Mar 2024 16:40:53 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-dashboards-questions/arcade-split-comma-delimited-value-into-multiple/m-p/1390494#M9196</guid>
      <dc:creator>ArielLow2146</dc:creator>
      <dc:date>2024-03-04T16:40:53Z</dc:date>
    </item>
  </channel>
</rss>

