I have a Google data studio dashboard that I have created for all sales employees within my org. I have setup such that each user can view their performance data based on the Filter by Email setting in the data source tab.
I however am trying to see if I can have this configured such that each teams managers can also view their team members dashboard view. I am not sure if this can be configured or setup in Google Data Studio.
I have the data for this data studio dashboard rendered from a Google sheet.
Good news, this is totally possible. Google has an article on how to set up a multiple email address filter, here is the link: Filter by multiple email addresses per row. In summary, you should created an access control list (ACL) table which you can then blend with your underlying data in Google Data Studio.
For your specific use case, I'd recommend creating an additional sheet within your Google Spreadsheet that outlines various sales staff and their related managers to import into GDS.
Your ACL table could look something like this
Access Email
Join Key
Manager#email
SalesRep1
SalesRep1#email
SalesRep1
Manager#email
SalesRep2
SalesRep2#email
SalesRep2
Once the data is blended in GDS and your filter is updated, employees would be limited to their own data, while the manager would be able to access and view all employees under their purview.
Related
We have a Health Information system where about 75+ users login to the system from different healthcare facilities and register patients for different health care services. I wanted to create aggregated data dashboard using google data studio for specific health facility where they can see ONLY details related to the their institution. Is there way to create such customized dashboard in data studio ?
Thanks in advance
Yes, it is possible. See updated instructions:
Add a filter to the table. See attachment #1.
Set up parameters for your filter as shown in attachment #2. Click Save.
As a result you will see, that your table shows data limited to one facility. See result here.
Repeat the process for all facilities on separate reports.
Lets assume I am creating a google DataStudio dashboard for a sales data which is having sales records for countries.
For each country has a country manager and they are assign to single supervisor in Head Office.
My question is:
Can we develop a Google DataStudio DashBoard which is capable to restrict data only relevant to a particular country if it is viewing by a country manager and to show whole data relevant to all countries if it is viewing by the supervisor of country managers?
There is no easy solution to have a page-level permission, but there are three options.
Break up the report in to separate ones (this is the most simple solution, although it creates multiple reports)
Use Viewer's credentials instead of Owners’ credential (You must grand viewers access to your gbq data source, which is not ideal in most cases)
Filter by email (This works for small number of users, but quite cumbersome for multiple users)
For the option one, you can break up one "master report" that has all pages, and creating multiple sub-reports by using URL embedding by page
In your Data Source, create a column called "e-mail" and populate it with the e-mail address of the manager that you want to be able to see that particular line.
After you do this, use the "Filter by email" option in the Data Source:
And select the field you just created:
And there you are. Your data will only be searchable by the person you selected, based on the email they are using to access the dashboard.
If you want more than one person to be able to see a particular data, you'll need to duplicate the respective lines in the Data Source.
I created a report in DataStudio and embedded it on my website. I activated the option "anyone with the link can view" so this report will be visible to my website users.
But I need to show my website users different data depending on their user ids and more important I don't want users would be able to see other users' data so if I used URL filtering users would be able to breach and search another user id to see his data.
Does anyone have a solution for this scenario?
In Google documentation I saw an option to limit the report to users in my domain, I assume this will solve this issue, but I don't find how to restrict other domains.
Users are logged onto Google
If users of your website are already logged onto Google, use the Filter by email address guide from Data Studio help center. This requires you to setup FILTER BY EMAIL and then have a field in your data can be directly used as an email filter.
Users are not logged on to Google
If you want a solution where the users don't have to be logged onto Google, you will need to:
Create a Community Connector to pass the filtered data to your users. The connector should accept a short lived token as part of the config.
Create a dashboard with your connector and pass unique short-lived tokens for each user.
You should have an endpoint that returns the current user's data based on the token provided. Alternatively, the endpoint can return only the user's identify and you can query a secondary data source with a service account filtering for the user's identity.
Your connector should call your endpoint to fetch data only for the user/for the user's identity.
This official guide demonstrates how to implement this in more details.
Disclaimer: I work in the Data Studio team and wrote the above guide.
First option is to add extra 2 fields to your data source.
User_ID
Password
For example:
Data, User_ID, Password
$10,Daniel,123
$20,Alex,456
In your dashboard, you need to create two parameters:
User_ID_Parameter
Password_Parameter
Both parameters can set the default value to null, and accepts any values.
Then create a new calculated field:
CASE
WHEN REGEXP_MATCH(User_ID,USER_ID_Parameter) AND REGEXP_MATCH(Password,Password_Parameter) THEN 1
ELSE 0
END
Then create a new filter to the chart that you want to hide:
To include the above calculated field Equal to 1
Second option is to use the Data Studio default Row Level Security
The only caveat is the users need to sign in before they can view the report.
In order to create external users data-studio dashboard using row level premissions method I followed the instructions here: https://developers.google.com/datastudio/solution/row-level-filtering.
Everything is working fine ,until I got to the sharing part:
Make the dashboard available to users
In order to share the dashboard with external users I need to share the connector script.
Is there a better & safer way to share the dashboard with exteranl users using row level premission method ?
The ability to Filter by email address (Provide row-level security to the data for signed-in users) was released today (13 Feb 2020).
Quoting the steps from the support page:
Create an email filter
1. Edit your data source.
2. In the upper left, click FILTER BY EMAIL.
3. Turn on Filter data by viewer email.
4. Select the field in your data source that contains viewer email addresses.
5. To return to the data source editor, click ALL FIELDS.
I have a custom attribute EmployeeNumber in AD, while creating CRM users when I write UserName for e.g Imran.Ahmed it automatically fetches some information from AD and fills form with that information ie first name, last name and phone number etc. Now I have added one more field in CRM to store Employee number in CRM. But CRM is not fetching it from AD.
How can I get information of custom attribute EmployeeNumber from AD to CRM form? I have been searching on internet and found some links that are saying that we have to write a plugin or call Javascript from CRM form but is there any way through which I can automatically get information from AD?
I am not aware of any AD side configurations to sync extra columns into CRM system user record. Or how to add more data to pull in the platform service when you tab out the username. Am sure you are not gonna get that information/control over that integration from Product team.
You can try this codeplex solution by reverse engineering/extending it to achieve the requirement. Or some Graph API calls to achieve it in some timely jobs.
We have our internal HR system to read/sync such data using SSIS + Kingswaysoft connector into CRM.