Dashboard Selector for Related Records?

2928
9
10-26-2020 06:58 AM
Kara_Shindle
Occasional Contributor III

Is there a way to have a selector populated with fields from a related table, that when one is selected, filters the related locations on a map?

I have a Dashboard I'm working on building for our county Vector Control guy.  We have tick dragging locations on a map, and a related table of Drag Reports, where he enters the tick species that are captured at a drag.

He wants a filter on his dashboard that will

so like say I wanted only the drag sites that i caught Dermacentor variabilis, I could selected that specie and only the spots where that species has been found will pop up on the map

Seems to me that this should be possible with field mapping but I have not been able to get this.

I have it wired in the opposite direction, where selecting a map location filters a list of related reports, but I've not had success coming up with some combination of widgets that allows him to select a related table field to filter the map.

Any suggestions?

Thanks!

9 Replies
Kanin
by Esri Contributor
Esri Contributor

Hello Kara,

ArcGIS Dashboards support configuring a Selector from a related table (e.g. table B) and sending the filter action to a layer in the map (e.g. feature class A), as long as you configure the key field as the filter field, which is depends on how the relationship class was created.

Usually, the GlobalID & GUID field is used.

Best regards,
Kanin

If this answer solved your question, please mark it as the answer to help others who have the same question.

0 Kudos
Energy4all
New Contributor II

Can you give us any more insight into this?

0 Kudos
JoshSaad
New Contributor III

I've got a similar situation (I think).  I've got a dashboard showing emergency generators, and an indicator showing the amount of fuel used, which comes from a related table.  I'd like to filter the amount total when selecting a generator or multiple generators from a list.  When I try to configure the Filter in the list, the GlobalID field isn't in the list of available fields to filter by.

My relationship maps the GlobalID field from the Generators point features to a GeneratorID field in the GeneratorMaint table.

0 Kudos
jessneuner
Occasional Contributor

Hello -- 

I've got a similar question -- 

We are using GlobalID and GUID to link the related table to the parent. 

I'd like a selector based on the related table (category field) that then filters the parent... but i'm having trouble figuring out how to choose that option in the filter -- it seems like it wants a category field in the parent table ... 

i tried a version that added a join to the related table, but the dashboard didn't seem to like the join ... 

Is this possible?  Thanks for any help or direction you can offer!

Chris_Kell
New Contributor III

Hi Jess,

Did you ever get this to work?  I'm trying to deploy a selector on the child table and have it affect other selectors and widgets on the dashboard.

 

Thanks

Chris

0 Kudos
jessneuner
Occasional Contributor

Hi Chris -- 

Not yet.  I have a thought to try data expressions for this use case -- but so far navigating 'backwards' in a 1-M relationship has stumped us. 

jess

0 Kudos
Chris_Kell
New Contributor III
Hi Jess,
I've had some success with creating a relationship class on desktop then sharing/publishing the individual layers to portal/ago. On the dashboard side, the closest I've come is using a selector with categories set to "Features."
[cid:image001.png@01D9824B.D8014420]
Doing this has allowed me to define the actions appropriately, but the "Features" definition creates a selector value for every row in the feature service.
I'm researching baseing the selector on a "Data Expression," and I've opened a case with Tech Support. I'll keep you posted.

-Chris

0 Kudos
Elizabeth_Burniston
New Contributor III

@jessneuner @Chris_Kell 

Hi Guys - The work around I found was to go ahead and use 'Features' instead of 'Grouped values'. Of course, doing so will show all of the duplicates so I added a little extra context in 'List Item Template' to make it less obvious. In the Selector section, change Selection from Single to Multiple and make sure 'Show reset and select all' is enabled. Then, in the Actions section, you have the ability to link the related table to it's parent table for the map and other widgets on the dashboard.

On the Dashboard end, I show screenshots below where the user can type in 'warrant', click on 'select all', and as expected, it selects all warrants in the arrest category and displays only those on the map.

The downside, is that the user has to know what they are looking for. It's not as easy as selecting an item from a dropdown menu.

Also... if you do this, make sure to increase the 'Maximum Categories' to accommodate the number of records you may have. The default is 50.

Hope this helps a bit.

 

BurnistonElizabeth_2-1684186592067.png

 

 

BurnistonElizabeth_1-1684186572048.png

 

BurnistonElizabeth_3-1684186621725.png

 

BurnistonElizabeth_4-1684186716852.png

 

BurnistonElizabeth_5-1684186738114.png

 

 

 

TanGnar
Occasional Contributor

Hi all - regarding using a data expression with GlobalIDs. I found that when you use a data expression as a data source, and you want to use a GlobalID as a key to filter other elements, you need to make the field type 'esriFieldTypeString' to store it. I tried storying it as a GUID field type and it didn't work, but making it a string did. I also converted the GlobalID to text using Text(), though I don't know if it's necessary, but it worked. 

TanGnar_0-1687879116662.png