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! Go to Solution.
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:
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
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:
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.
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
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
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!