Hi everyone,
I need help again with a question I asked before. I made it too complicated last time, so I’ll try to ask it more simply now.
I have a map with one layer that shows all the counties in the U.S. – that’s 3,143 counties. Each county has a lot of data attached to it, like sales per person.
My boss divided the U.S. into 250 areas and put different people in our company in charge of each area. Each group doesn't know which counties the other groups are in charge of, and we need to keep it that way because of some agreements we have.
My boss wants one main dashboard that shows all the areas on a map, so he can look at any county and see its data. But he also wants 250 other dashboards that look exactly like the main one. When he talks to a group, he wants to use their dashboard, which should only show data for their area. These groups should not see any counties the other groups own or data about the counties the other groups are in charge of.
I think I can control what data shows up in the charts and tables on the dashboards (I have 15 different data visualizations in total) using data expressions and the "GetUser" function in ArcGIS Online. But I don't know how to do this for the map. How can I make the map show only the data for a user’s area?
So, the total of my question is this: how can I create one main dashboard and 250 user-specific dashboards with matching layouts, where each dashboard only displays the map and data information for a specific user’s assigned area, while also ensuring easy updates across all dashboards?
P.S. My boss likes to change the look of dashboards all the time, so when he wants a change to his main dashboard, he will expect me to make a change to all the other 250 dashboards as well.
I really hope the solution doesn't involve creating my boss's dashboard first, saving it, and then individually configuring each specific dashboard again, linking them to different web maps and feature layers. Please note that the map's content is equally crucial as the dashboard's data visualizations.
Does anyone have any suggestions on how to accomplish this task quickly, or am I resigned to spending the next two months on it, updating each dashboard every time my boss wants to change his main dashboard? Can this not be achieved using ArcGIS Online user groups, feature layer views, and "GetUser" data expressions? Remember, the map must show only the specific counties that each of the 250 groups is in charge of.
Edited to ask a follow-up: Could this task be more easily accomplished with ArcGIS Enterprise than with ArcGIS Online?
It'll be the same in Enterprise as in AGOL.
What you'll likely need to do is script out the process of pulling the configuration JSON of the "master" dashboard and pipe the relevant attributes down to the "child" dashboards.
You could also use Python to create the maps and dashboards, if those don't exist yet.
Have you ever seen a tutorial of somebody doing this? I just don't know where to start.
Edited to add: Dear ESRI employees, if any of you see this post and a tutorial on how to do something like this doesn't exist, please consider creating a video demonstration. Thank you! 😀
could you figure this out with using a selector to essentially filter one dashboard? You will have to configure various actions associated with different layers to control what is displayed given a selected area, but I think that is very manageable. Do the customers have access to the dashboard or do they only see it displayed during a conversation?
Your suggestion regarding selectors would work if there were only one dashboard, as I understand how selectors operate...
However, each group receives full access to its own dashboard, allowing members to zoom in, pan around, and explore at their own pace. Unfortunately, this necessitates having 250 separate dashboards. :(.
Each group is aware that the dashboards of other groups exist, and they are also aware of a "master" dashboard's existence. Nevertheless, no member from any group has access to the dashboards of other groups, and only the president, the CFO, and I have access to the master dashboard.
ah, the infosec aspect of this is a problem if they have access and it isn't just a display prop used by your team. Are the dashboards otherwise identical with respect to the information displayed?
Hello there! Yes, they are all identical, but each one needs to have all aspects of it—the map and the visualizations—filtered to show only what each group is allowed to see.
On a side note, I asked a very similar question on a non-ESRI message board and received a suggestion: build the master dashboard as I want it, and then use the ArcGIS API for Python to filter and duplicate the dashboards and web maps as desired.
I haven’t tested this yet, mainly because I currently have no idea how to write the code to do this :(, but the person mentioned that they have a workflow like this set up at their current place of business. Overall, this seems like an effective method: keep one updated as desired, and use Python to generate all the filtered versions.
I really wish I could find a video tutorial on how to do this. I wish somebody at ESRI would take this to heart and cover it in a blog post, as I am positive I can’t be the only person in the world needing duplicate copies of dashboards, with each filtered so that no two dashboards display the same information in the map or the visualizations.