Does Looker allow you to show different data within a dashboard according to which user is viewing it?

Hi guys, 

I’m looking to create a unique dashboard for our Sales Team members allowing them to track their performance on a daily basis. I would like each one of them to use the same dashboard but see only their own data when using the dashboard. 

Is this possible? Or can I do this by sending the dashboard to each of them through Gmail?

Thanks!

Solved Solved
1 6 3,776
1 ACCEPTED SOLUTION

Naomi_Johnson
Participant III

Hi @Jennbl 

Yes, this is possible using user attributes. If there is a column in the data that has the sales team member’s name or something similar, you can create a user attribute and assign their value to that.

Once you have created the user attribute you can either:

  1. Filter the Explore using access_filter parameter in each Explore used in the dashboard. This would be useful if you would always like the data from the Explore to be filtered.
  2. Filter the dashboard (or each tile in the dashboard), using ‘matches user attribute’ in the dimension’s filter. There is a great how-to here.

The solution will depend on whether you would like to give the end users the ability to change the filter.

Let me know if you have any questions.

Naomi, Redkite

View solution in original post

6 REPLIES 6

Naomi_Johnson
Participant III

Hi @Jennbl 

Yes, this is possible using user attributes. If there is a column in the data that has the sales team member’s name or something similar, you can create a user attribute and assign their value to that.

Once you have created the user attribute you can either:

  1. Filter the Explore using access_filter parameter in each Explore used in the dashboard. This would be useful if you would always like the data from the Explore to be filtered.
  2. Filter the dashboard (or each tile in the dashboard), using ‘matches user attribute’ in the dimension’s filter. There is a great how-to here.

The solution will depend on whether you would like to give the end users the ability to change the filter.

Let me know if you have any questions.

Naomi, Redkite

Amazing, thanks so much for your help @Naomi_Johnson !!

Hi @Jennbl,

Naomi’s answer did not propagate on the thread for me before I responded. Sorry about the duplicate answer. :face_palm_tone1:

If each sales agent has a looker account, you can assign them each a user attribute and then filter the dashboard based on that with matches a user attribute. This article has some more details on how to implement this. You could also use the same principle and user the user attribute in the sql_always_where clause to apply a specific individualized filter on the LookML layer. The general way to do this would be on an access_filter on the explore level.  This community post has some great examples for this implementation.

With either of these options, you can create a schedule and select the run schedule as recipient option. This would run the queries as if I was the specific user and apply their permissions to the dashboard which may limit or filter some data. 

If the sales agents do not have Looker accounts, you could create unique schedules and set an individualized filter on the schedule, so they only see their data. Another option would be to leverage the Looker REST API and dynamically create schedules based on a list of users. You could update the filter for each schedule programmatically and then send it via the API. This way you would not have to manually create numerous schedules if the users do not have Looker accounts. 

Please let me know if you have any questions!

Thanks,

Eric

rsingh
Participant II

Hello @Naomi_Johnson  @Eric_Lyons 

Its a great post!. I have a quick follow up question on this. I am not much familiar with user attributes and these advanced access filter functions of Looker. I have a similar use case like @Jennbl . 

There is one single dashboard we have developed for our different customers. There is a ‘customer’ attribute in the data which identifies which customer is this. We would like different customers to login and view their own data only. It applies to explorers as well, since these users will like to dig more into the data themselves

Is there any step by step article on Looker which can explain this end to end workflow? 

Much appreciated!

Raman

Hey @rsingh,

There is not a single step-by-step article, but it is a great idea. 
Personally, I really like the access filter example listed here: https://docs.looker.com/reference/explore-params/access_filter#examples. 

The sales region one is pretty good insofar as it is a very clear business case. I highly suggest testing this out though by implementing this on a small scale and then sudo-ing as the users to see what they see when the dashboard is accessed. 

Limit users to seeing information about their sales region:

explore: customer {
access_filter: {
field: sales.region
user_attribute: sales_region
}
}

Thanks,

Eric

lindenPMP
Participant II

If each sales agent has a looker account, you can assign them each a user attribute and then filter the dashboard based on that with matches a user attribute. This article has some more details on how to implement this. You could also use the same principle and user the user attribute in the sql_always_where clause to apply a specific individualized filter on the LookML layer. The general way to do this would be on an access_filter on the explore level.  This community post has some great examples for this implementation.

We use the sql_always_where clause in our models and views that ties to a sales rep’s unique internal id and it works great!

Top Labels in this Space
Top Solution Authors