Dashboard view based on selected row

I am sure this is a fairly common use case, specially for desktop apps.

On a table view, I have list of customers. A user selects one of the customer on this table.

Based on the selected row, I want to to display a Dashboard view that has various views based just on that selected customer. In other words, this dashboad view is based on filtered/slice base on the selected row of the last view.

I have read through documentation and tried various tips listed here but none seems to work on dashboard views. For instance LINKTOFILTEREDVIEW() is not supported on Dashboard. I also tried an action where based on the selected row, it creates a new row in another table (filter table) which I use to slice the dashboard view. This seems highly inefficient way and takes 8-12 seconds for Dashboard view to update. There has to be a better way, is there?

The reason I want users to navigate to another dashboard view, instead of showing the info on the same view is that there is a lot of content to show - it is better to have a dedicated dashboard view for selected customer instead of using interactive dashboard where user selects customer on left side of the screen and details about selected customer are listed on the right side of the screen.

I am also struggling a little bit with this concept and would appreciate a little bit of guidance. In my use case I link to a Dashboard of a single row in a table also, then I have a detail view of the main information but I also have a lot of inline tables that I would like each in a separate ‘detail’ view window within the dashboard. It seems that simply dropping the inline table in the the dashboard does not filter the inline data to what the detail view is currently representing.

1 Like

Thank you Steve - you are always very helpful and I learned so much from your responses on this forum.

I have a couple of interactive dashboards and they work great as long as you are on the same dashbaord view.

In this case, I have a dashboard view which has list of appointments by date with customer as one of the column. When a user clicks on an appointment, I would like to navigate to another dashboard that only has appointments specific to the customer. This means, I need to create a sliced dashboard view based on the customer ID (Ref) of the selected row from previous view. This is a very common use case.

I have seen this questions asked multiple times with no clear solution. Thanks

2 Likes

There is currently no way to navigate to a dashboard with an initial starting row. The best you could do is use an action to affect a slice, then base the second dashboard on that slice. I’m not aware of any other option.

Yes, that is what I ended up doing but it takes 8-12 seconds to update 2nd dashboard view.

In first view, when user clicks, it starts action “add a row in another table” with customer ID and then navigates to the next dashboard view, which is sliced based on customer ID by reading data from the newly added row (in a filter view - which is just to pass info from 1st view to 2nd view). This is much slower than only one interactive dashboard view.

1 Like

I’m afraid I have no suggestions to offer. :frowning:

This can be done in a manner that will make it instant as I have this in a couple apps. I’m not sure what would make yours slow. I suggest double checking all of your filter conditions so that they only rely on a timestamp field to select the ID you want. I have found that using conditions in more than one place can lead to this delay affect. IE. I have checks on the [status] in my slice and my security filter, if the change would remove it from my slice, it is instant, but if it would only be removed by my security filter it takes 5-6 seconds.

I ended up using the work around by calling an Action to “Create a Row in Another Table” and then using Lookup on Slice for the next Dashboard. It works now but I am not sure if this is the most efficient way. I found the formula from one of Steve’s post on another thread. Basically it looks up at Filter table to find the last row by Usermail for customer ID field and then uses that to slice the Appointment table. I feel there is a better formula instead of combining Lookup, Max and Select. Is there?

LOOKUP(
MAX(
SELECT(
Filter[Dated],
([appointment] = USEREMAIL())
)
),
“Filter”,
“Dated”,
“customer”
)=[Customer_fk]