I've been increasingly finding myself in situations where I need to combine data and have not been terribly happy with either solution, so I'm wondering if anyone has suggestions on how to best manage data hosted in ArcGIS Online that needs to be combined. I'll outline 2 situations and the solutions I've tried below for feedback.
Scenario 1: I have a point feature layer and a related inspection table. I want to be able to combine the newest inspection record to the point so I can symbolize and summarize by the most recent status (or age since last inspection) in a Dashboard. I have done this using a FeatureSetbyPortalItem() Arcade data expression (references below), but even with 100 features and 100 related records, the dashboard takes over 1 minute to load.
https://github.com/Esri/arcade-expressions/blob/master/dashboard_data/JoinLayerFieldsToTable.md
https://doc.arcgis.com/en/dashboards/latest/reference/authoring-data-expressions.htm
Scenario 2: I have a hosted feature service that needs periodic updating (geometry only). I have a unique attribute that I used to Join (under classic map viewer analysis tools) to a hosted table that contains many attributes associated with the geometry of the hosted layer. The idea behind organizing the data this way was so the geometry could be updated by appending a zipped geodatabase to update the layer and the table would stand alone.
However, Joining layers then locks the schema of the underlying layers. This is a major limitation, as I have views created from the hosted services (internal with editing enable, external read-only, etc). These views are used in multiple maps and dashboards. So, when I have to add a field or adjust a domain, I have to delete all the join views and the rebuild everything after making the changes. I have seen elsewhere that esri is working on improving this workflow, but have not seen a timeline for implementation.
Any suggestions or tricks that would help make either of these workflows more efficient would be much appreciated.