I have a hosted feature layer that I am giving a bit of an overhaul.
I have already deleted some fields, so I know it can be done. However, there are some fields where the delete button isn't even there.
Does anyone know what is going on? Is there a simple fix? I can make a local copy in pro and re-export if there is no simple solution...
Thanks!
Solved! Go to Solution.
As long as your layer IDs stay the same republishing shouldn't be a problem and might be worth the test.
Does the layer have any views? Are subtypes being used? Is sync enabled?
From my experience, fields that are part of a view, relationship, or other dependency in a hosted layer can’t be deleted. If I work with an independent layer instead, the delete option shows up again—so it’s usually tied to something.
I’d also check for these common causes:
Esri documents this behavior here as well:
https://support.esri.com/en-us/knowledge-base/problem-the-delete-option-is-unavailable-for-a-hosted-...
Do you have a screenshot of what fields you're trying to delete? For example, in this interface if I select any "normal" fields I see the trash can delete icon. However, if I select fields like OBJECTID or GlobalID, that icon isn't available.
I do not believe (or see) any views or subtypes in our content.
sync is enabled
the original pro layer used to publish has been lost to time, so I do not know what was set as the display field. I would be willing to bet this is the problem. can this be fixed without a republish?
the layer does not have a time setting option.
not being used in any filters (that I can find)
I have not selected any important fields such as OBJECTID.
see below. both red arrows show spots where there Should be a delete button (and there is for other layers)
Republished would be worth testing like @Laura suggested, but you also should be able to check on the display field by pulling the hosted layer directly into Pro, or checking the REST service endpoint in ArcGIS Online. No need for the original layer.
@Katie_Clark in Pro, it says the display field is something different. The REST stuff beyond my understanding, so I'm not sure there.
I made a local copy, deleted the offending field, then used Overwrite Web Layer. So I guess I'm good to go.
Thanks @Katie_Clark and @Laura