Select to view content in your preferred language

Feature Info widget: "The information for this feature could not be displayed"

173
5
Tuesday
HannahWilson3
Occasional Contributor

I'm using the Feature Info widget to display popup info for a couple tables, and it's giving me the error "The information for this feature could not be displayed". 

  • This is different from the "no data" message.
  • The error occurs whether or not a feature is selected.
  • In the widget configuration, data source is configured for "default", not "selected features"
  • The popup contains Arcade expressions and is working fine in map viewer.
  • This error is occurring for 2 of 6 views in my app (the views show different web maps with different themes; each map has a table connected to a Feature Info widget. Tables in each map are from the same hosted table.) All the Feature Info widgets are configured similarly - four are working fine, but two are showing this error.
  • When I googled the error, the only hit was for this bug: BUG-000143889 for ArcGIS Online
  • I'm using ArcGIS Enterprise 11.3

 

The error:

HannahWilson3_0-1781032226098.png

The widget configuration:

HannahWilson3_1-1781032288398.png

The functioning popup in Map Viewer:

HannahWilson3_2-1781032401878.png

Similarly configured widget working in a different view (comes from the same hosted table in a different web map):

HannahWilson3_3-1781032573683.png

Here are the expressions used:

{expression/expr0}:

var awards = FeatureSetByName($map, "Livable Communities Grant Awards")
var districts = FeatureSetByName($map, "Met Council Districts")

// Filter for the district polygon corresponding to the district in this table
// should be a featureset with one feature
var thisDistrictFS = Filter(districts, "MCDIST = " + $feature.mcdist) 

// Get the feature from the featureset
var thisDistrict = First(thisDistrictFS)

// Find award points within the district feature
var districtAwards = Intersects(awards, thisDistrict)

// Create list of the award categories
var awardTypes = []
var awardList = ""
for (var f in districtAwards) {
  Push(awardTypes, f.CATEGORY)
}

// Clean up the list
awardTypes = Distinct(awardTypes)
awardTypes = Sort(awardTypes)
for (var f in awardTypes) {
  awardList += awardTypes[f] + TextFormatting.NewLine
}
awardList = Replace(awardList, "TBRA", "Tax Base Revitalization Account (TBRA)")
awardList = Replace(awardList, "LCDA", "Livable Communities Demonstration Account (LCDA)")
awardList = Replace(awardList, "LHIA", "Local Housing Incentives Account (LHIA)")
awardList = Replace(awardList, "TOD", "Transit-Oriented Development (TOD)")
awardList = Trim(awardList)

return awardList

{expression/expr1}:

// Convert big numbers to $1.7B, etc
var amount = $feature.lcaawardtotal
var millions = "$" + Round(amount / 1000000, 1) + "M"
var billions = "$" + Round(amount / 1000000000, 1) + "B"
var thousands = "$" + Text(amount, "#,###")
When(
  amount >= 1000000 && amount < 1000000000, 
  millions, 
  amount >= 1000000000,
  billions,
  thousands)

Incorporated into the text block of the popup:   

 {lcagrantsawarded} grants awarded through the following programs:

 {expression/expr0} 

 {expression/expr1} in grants awarded since 1996

 

 

0 Kudos
5 Replies
NicoleJohnson
MVP

This might not be the answer, but are the non-working pop-ups created with Arcade content blocks (this is different from Arcade attribute expressions)? You mention expressions in your post, but I figured I'd ask since I've had problems displaying Arcade content blocks before with other widgets, though the result was a blank pop-up, not an error.

If you're using Arcade content blocks, try removing them and adding something "simpler" like a field list, and see if your feature info widget works then.

0 Kudos
HannahWilson3
Occasional Contributor

It's not using Arcade content blocks - just attribute expressions incorporated into a text block. 

0 Kudos
HannahWilson3
Occasional Contributor

[Edit: had posted the Arcade expressions as a comment; added them to the main post instead]

0 Kudos
EMani
by Esri Contributor
Esri Contributor

Hi @HannahWilson3 

FeatureSetByName Creates a FeatureSet from a Feature Layer based on its name within a map or feature service. Keep in mind this name is not necessarily unique. It is therefore more appropriate to create a FeatureSet using FeatureSetById(). 


FeatureSetByName($map, "Livable Communities Grant Awards")
Livable Communities Grant Awards and Met Council Districts should be the title of the layer within the given map in every map (not the hosted feature layer name), so check all your maps to ensure the names match. Even a trailing space can make a difference.

Intersects() with null geometries

I would also check if there are any null geometries in Met Council Districts.

var districtAwards = Intersects(awards, thisDistrict)

 

0 Kudos
HannahWilson3
Occasional Contributor

Thanks for the response @EMani .

There are no null geometries in Met Council Districts - just sixteen valid polygon features. 

The names match exactly, even spaces, and are unique within the map. (Met Council Districts is within a group layer - wonder if that requires something special for the name?)

I'm looking into using FeatureSetByID instead of FeatureSetByName, but can't find any clear explanation on how to find the layer's ID! 

0 Kudos