Ich implementiere einen benutzerdefinierten Ausdruck, der das Ergebnis ermittelt – gegebenenfalls eine Summe (d. h. wenn es mehr als ein Ergebnis gibt). Der Ausdruck wird im Ausdruckseditor erfolgreich getestet, aber das Popup gibt nur das erste Ergebnis zurück, also nicht die Summe mehrerer Ergebnisse. Der folgende Ausdruck liefert im Ausdruckseditor beim Klick auf „Testen“ das Ergebnis 24, aber das Popup zeigt nur das erste der drei (in diesem Fall) Ergebnisse an, nämlich die Zahl 8 (drei Ergebnisse mit jeweils dem Wert 8). Hier ist der Code, gefolgt von einem Screenshot des Testergebnisses und anschließend dem Popup auf der Karte (das betreffende Attribut ist die letzte Zeile (Total kW on Applications)).
var fc = FeatureSetById($map, /* PowerClerk Application Approved */ "DG_Transformer_Availability_Popup_test_2658")
var code = $feature["PARENT_ID"]
//var pizza = 26712474;
var sql = "TRANSFORMER_ID = " + code;
//var sql = "TRANSFORMER_ID = " + pizza;
//var sql = "TRANSFORMER_ID = 12157630"
Console(sql);
var applications = Filter(fc, sql);
var cnt = Count(applications);
Console(cnt);
var getAppKW;
var sumAppKW = 0;
if(cnt > 0){
Console(cnt);
for (var application in applications){
sumAppKW += application.APPLICATION_KW_AC
}
getAppKW = sumAppKW
}else{
getAppKW = "N/A"
}
if (IsEmpty(getAppKW) || (getAppKW == NULL)){
getAppKW = "No Data"
}
Console(getAppKW);
return getAppKW


Die Zeile in der Popup-Konfiguration (Anzeige benutzerdefinierter Attribute) lautet: „Total kW on Applications: {expression/expr5}“, wobei expr5 der oben zitierte Ausdruck ist. Das ist Portal for ArcGIS, Version 10.7.1. Es scheint, als würde das Popup nicht warten, bis die Schleife abgeschlossen ist, oder gibt es einen Fehler oder ein Problem im Code?
Vielen Dank,
Jim Faron
Unisource Energy