I am symbolizing a crime layer by Predominant Category in ArcGIS Online and I am trying to create an Arcade expression in the Pop-up configuration that displays dominant field (Property Crime or Personal Crime). How would I write a script to say "Dominant Type:" followed by the dominant field?
Hi Robert - I did a similar thing with Arcade (using a sample that I can't find the source of right now - apologies to the author). I did "Top 5", you could change the first line to = 1 to just get the top one.
Below is a screenshot of the popup and the code. The only bug / issue at the moment is that equal ranks / scores are all showing up - I would prefer it to just take the first one in that case.
Screenshots below...
Example with equal ranks:
Code below....
var numTopValues = 5;
var groups = [{ value: $feature["P_Afghanistan_Tot"], alias: "Afghanistan"},{ value: $feature["P_Bangladesh_Tot"], alias: "Bangladesh"},{ value: $feature["P_Bosnia_Herzegov_Tot"], alias: "Bosnia and Herzegovina"},{ value: $feature["P_Brazil_Tot"], alias: "Brazil"},{ value: $feature["P_Cambodia_Tot"], alias: "Cambodia"},{ value: $feature["P_Canada_Tot"], alias: "Canada"},{ value: $feature["P_Chile_Tot"], alias: "Chile"},{ value: $feature["P_China_Tot"], alias: "China"},{ value: $feature["P_Croatia_Tot"], alias: "Croatia"},{ value: $feature["P_Egypt_Tot"], alias: "Egypt"},{ value: $feature["P_England_Tot"], alias: "England"},{ value: $feature["P_Fiji_Tot"], alias: "Fiji"},{ value: $feature["P_France_Tot"], alias: "France"},{ value: $feature["P_Germany_Tot"], alias: "Germany"},{ value: $feature["P_Greece_Tot"], alias: "Greece"},{ value: $feature["P_Hong_Kong_SAR_Ch_Tot"], alias: "Hong Kong"},{ value: $feature["P_India_Tot"], alias: "India"},{ value: $feature["P_Indonesia_Tot"], alias: "Indonesia"},{ value: $feature["P_Iran_Tot"], alias: "Iran"},{ value: $feature["P_Iraq_Tot"], alias: "Iraq"},{ value: $feature["P_Ireland_Tot"], alias: "Ireland"},{ value: $feature["P_Italy_Tot"], alias: "Italy"},{ value: $feature["P_Japan_Tot"], alias: "Japan"},{ value: $feature["P_Korea_South_Tot"], alias: "South Korea"},{ value: $feature["P_Lebanon_Tot"], alias: "Lebanon"},{ value: $feature["P_Malaysia_Tot"], alias: "Malaysia"},{ value: $feature["P_Malta_Tot"], alias: "Malta"},{ value: $feature["P_Mauritius_Tot"], alias: "Mauritius"},{ value: $feature["P_Myanmar_Tot"], alias: "Myanmar"},{ value: $feature["P_Nepal_Tot"], alias: "Nepal"},{ value: $feature["P_Netherlands_Tot"], alias: "Netherlands"},{ value: $feature["P_New_Zealand_Tot"], alias: "New Zealand"},{ value: $feature["P_Pakistan_Tot"], alias: "Pakistan"},{ value: $feature["P_PNG_Tot"], alias: "PNG"},{ value: $feature["P_Philippines_Tot"], alias: "Philippines"},{ value: $feature["P_Poland_Tot"], alias: "Poland"},{ value: $feature["P_Scotland_Tot"], alias: "Scotland"},{ value: $feature["P_Singapore_Tot"], alias: "Singapore"},{ value: $feature["P_South_Africa_Tot"], alias: "South Africa"},{ value: $feature["P_Sri_Lanka_Tot"], alias: "Sri Lanka"},{ value: $feature["P_Taiwan_Tot"], alias: "Taiwan"},{ value: $feature["P_Thailand_Tot"], alias: "Thailand"},{ value: $feature["P_North_Macedonia_Tot"], alias: "North Macedonia"},{ value: $feature["P_Turkey_Tot"], alias: "Turkey"},{ value: $feature["P_USA_Tot"], alias: "USA"},{ value: $feature["P_Vietnam_Tot"], alias: "Vietnam"},{ value: $feature["P_Wales_Tot"], alias: "Wales"},{ value: $feature["P_Zimbabwe_Tot"], alias: "Zimbabwe"}
// ADD MORE FIELDS AS NECESSARY];
function getValuesArray(a){var valuesArray = []for(var i in a){valuesArray[i] = a[i].value;}return valuesArray;}
function findAliases(top5a,fulla){var aliases = [];var found = "";for(var i in top5a){for(var k in fulla){if(top5a[i] == fulla[k].value && Find(fulla[k].alias, found) == -1){found += fulla[k].alias;aliases[Count(aliases)] = {alias: fulla[k].alias,value: top5a[i]};}}}return aliases;}function getTopGroups(groupsArray){var values = getValuesArray(groupsArray);var top5Values = IIF(Max(values) > 0, Top(Reverse(Sort(values)),numTopValues), "Insufficient Population");var top5Aliases = findAliases(top5Values,groupsArray);if(TypeOf(top5Values) == "String"){return top5Values;} else {var content = "";for(var i in top5Aliases){content += (i+1) + ". " + top5Aliases[i].alias + " (" + Text(top5Aliases[i].value, "#,###") + ")";content += IIF(i < numTopValues-1, TextFormatting.NewLine, "");}}return content;}getTopGroups(groups);
Přihlášení členové mohou přispívat, sledovat aktualizace a další. Jste tu noví? Zaregistrujte si bezplatný účet.
Find useful guides, FAQs, and documents to help you navigate and make the most of Esri Community.