I am super grateful for your videos, and how quickly you were able to share this one as well since it's such a new feature! Your videos help me to be able to do my job hahaha :)
Hey Tim. Thanks for the video overview. As always, you cover the subject matter to a depth that allows users to use the new features you have described with confidence. I would say that with CRLS, it would might have been good to have mentioned at the very beginning that CRLS requires the Tableau Data Management (TDM) module which is a premium upgrade. Without it, users are left with standard RLS on dimensions or/with username().
Yeah the data management add on is a ocmplex one. You see new customers of Tableau nearly all get it out of the box where as older customers dont tend to upgrade to it. Because Tableau cloud is more common i had assumed more people had it but after this video I did a poll of an audience at a Tableau Meetup and realised only 10% of the room were using it and even those on ableau cloud didnt know this feature was available for them even if they had Data management.
What exactly is the main benefit in comparison to implement a datasource filter for a datasource and publish it to tableau server and use it as a published datasource? Beside the option to choose which tables you want to use from the virtual connection?
It’s centralised and your entity table doesn’t have to be a visible data source in your connection. It also goes in really well with virtual connections. Lastly in the future this will get much more granular control. I imagine column level security and the whole policy approach will enable different policies for different groups of users and also much more complex policies that mean a single workbook could easily cover all your scenarios. Out the door it’s very much an improvement over published data sources. There’s an old video from 2019 that covers what Tableau was thinking about this feature that hints at some of the above but generally as it’s part of the data management add on I imagine they’re going to really have to show value for that premium.
@@TableauTim Thanks for your comments Tim, highly appreciated. And also the video. Right now I do not see the benefit for the premium but your points / ideas certainly offer more interesting scenarios. br, and take care
Probably similar to what he mentions regarding the "OR" in the conditions window. Example: "user_name_in_table"="user_name_on_tableau_server" OR "user_name_on_tableau_server"="hardcoded_user_for_full_access" I think that would work.
Hi Tim thanks for detail on Data policy, just to confirm one more thing if I am getting it right. Once data policy is defined in a connection and published, can we set access to this particular connection for specific users/ Usergroup. It means can we create different connections with different data policy and assign access of each connection to respective set of users only. So that they will see connection specific to them and already data policy applied in it..
Hey Tim, I have a scenario..need to implement row level security in tableau, here's my requirement. I need my ceo to view all employees data. Vp of a region to view employee details in his region... Similarly ceo-> vp -> ..Multiple hierarchy... How to build the logic ..HELP!!
Sounds like a more technical question and very unique to your organisation but it's a fairly well documented issue that you can find online and in the community forums. Just google Row level security and you can do this without this feature or just write a calculation with the logic you've described using the user and fullname functions ive show in this video along with logic statements to set it up. When i get a chance I'll make a video in the future.
Yes it should do but I’ve experienced bugs. In most cases I tend to wards extracts unless you know a live connection is a must and your database can support the speed and load from being pinged by multiple tableau users at busy times.
@@TableauTim ok thanks for educating me.. have you released any video on this? I want to know how to seamlessly use RLS defined at database side for Tableau live connection..that would be very helpful to our current project work..
Yes I have videos on virtual connections. This only works with virtual connections it’s the video published before this one that I referenced in the video.
Hey Tim, Actually I am having issue like we are having 2different teams who are using the same dashboard where 1team want to see the whole sheets for all the users without using RLS and another team want to see only certain rows based on the users where they will be providing details to us. Is there any way to show only particular rows to users which are provided data in the file and all rows to the remaining users who has permission to the workbook but don’t have users data in the shared file?
Your request isn't very clear. What data source are you connecting to? if you have row level security int he database thats going to be easier to work through. Alternatively if you don't and you need to write logic for it in a calculation i would use the user functions. They're functions that can check a users group username or name and you can simply create a list in a calculation that creates a data source filter for the rows in question.
Very detailed demo! Just one question: What if I want to filter data at row level security for 'Region East' to the server group named 'East' and 'Region South' to the group named 'South' ? In that case, after setting all those policies I only need to add new users to the appropriate group. But how to write the calcualtion : Region = ismemberof('East','South') ?
It's an if logic calculation. If username is member of group (east) then category = east) elseif is member of group (west) then category = west else Null. Watch this video on logic statements for a full breakdown of this. th-cam.com/video/25xdx28ycFI/w-d-xo.html but in general you can create a good series of logic statement sot match most scenrios. The other option is using an entitlement table to do this for you.
A virtual connection appears like a published data source. You could technically extract it but it would only extract and include the data for the person who triggered the extract so at that point your better off doing things the old school way. That said I think I need to test this because there may be a way that the workbook calls home and would be curious to know how that works in practise.
Thanks for the demo...really good one. Just one question: What if I want to filter at row level for some users but some others to have access to everything? What tweak can I do in the policy condition?
Youd need maybe a second colum called user level in the policy table and then you'd simply check what level the user is and if they're a manager than just resolve true no need to check anything otherwise if not a manage then check if city matches the poly column you've identified. Hope that makes sense.
@@TableauTim I wish there is an option to have calculation while defining the relationship between Entitlement and Policy table. Which will resolve many use cases like decoupling the whole row level security based on a condition or form the multiple relationships based on condition
Performance was good bearing in mind I only used a live connection. I think this will depend on your database and Infrastructure as much as it depends on tableau
That's youtube! Let me know what you'd like to see and we make videos for it here. my website has them in a better to browse format too. Tableautim.com ... Assuming I did have online classes, what platform would you use though? it's interesting where people prefer to spend their time.
@@TableauTim Thanks for the revert Tim, why I asked this question because some topics mainly i wanted to know clearly like LOD, Blending, Joins, Relationship and performance tips ...these are mainly i am interested to know from your videos because have seen lot of Tableau videos but need more clarity ...have seen your other topics which are very clear to understand that's why am requesting if possible can you make the videos of these concepts .,. Online classes why asked I am interested on these topics might be others cannot so if you conduct any regular online classes I can join 😀
I've made videos for most of those topics on this channel. have a look. If you can't find anything then just suggest the content here and we'll make a video. tableautim.canny.io/suggestions
Watching your videos feels better than watching Netflix. Thanks...
I am super grateful for your videos, and how quickly you were able to share this one as well since it's such a new feature! Your videos help me to be able to do my job hahaha :)
16 minutes of absolute quality! Thanks
Perfect complement to your virtual connection intro video. Thank you so much again, Tim!
You're most welcome!
Hey Tim. Thanks for the video overview. As always, you cover the subject matter to a depth that allows users to use the new features you have described with confidence.
I would say that with CRLS, it would might have been good to have mentioned at the very beginning that CRLS requires the Tableau Data Management (TDM) module which is a premium upgrade. Without it, users are left with standard RLS on dimensions or/with username().
Yeah the data management add on is a ocmplex one. You see new customers of Tableau nearly all get it out of the box where as older customers dont tend to upgrade to it. Because Tableau cloud is more common i had assumed more people had it but after this video I did a poll of an audience at a Tableau Meetup and realised only 10% of the room were using it and even those on ableau cloud didnt know this feature was available for them even if they had Data management.
Another great one! I bet this will help me a lot but still not sure how to implement it on my particular use case.
Great Video. Will this work with Tableau Published Extracts as well ?
Nice feature. Considering that they are focusing on security i'm surprised. they haven't let ismemberof() have a variable instead of a string.
Very nice fearure, shame that it's behind a paywall of Data Management add-on.
What exactly is the main benefit in comparison to implement a datasource filter for a datasource and publish it to tableau server and use it as a published datasource? Beside the option to choose which tables you want to use from the virtual connection?
It’s centralised and your entity table doesn’t have to be a visible data source in your connection. It also goes in really well with virtual connections. Lastly in the future this will get much more granular control. I imagine column level security and the whole policy approach will enable different policies for different groups of users and also much more complex policies that mean a single workbook could easily cover all your scenarios. Out the door it’s very much an improvement over published data sources. There’s an old video from 2019 that covers what Tableau was thinking about this feature that hints at some of the above but generally as it’s part of the data management add on I imagine they’re going to really have to show value for that premium.
@@TableauTim Thanks for your comments Tim, highly appreciated. And also the video. Right now I do not see the benefit for the premium but your points / ideas certainly offer more interesting scenarios. br, and take care
Hi Tim, How would you recommend I implement a sparse entitlement? I would like to give a user all access.
Probably similar to what he mentions regarding the "OR" in the conditions window.
Example: "user_name_in_table"="user_name_on_tableau_server" OR "user_name_on_tableau_server"="hardcoded_user_for_full_access"
I think that would work.
It would be cool to do a benchmark between this feature and the same thing done with a CUSTOM SQL.
Nice idea!
Hi Tim thanks for detail on Data policy, just to confirm one more thing if I am getting it right. Once data policy is defined in a connection and published, can we set access to this particular connection for specific users/ Usergroup. It means can we create different connections with different data policy and assign access of each connection to respective set of users only. So that they will see connection specific to them and already data policy applied in it..
Hey Tim,
I have a scenario..need to implement row level security in tableau, here's my requirement. I need my ceo to view all employees data. Vp of a region to view employee details in his region... Similarly ceo-> vp -> ..Multiple hierarchy... How to build the logic ..HELP!!
Sounds like a more technical question and very unique to your organisation but it's a fairly well documented issue that you can find online and in the community forums. Just google Row level security and you can do this without this feature or just write a calculation with the logic you've described using the user and fullname functions ive show in this video along with logic statements to set it up. When i get a chance I'll make a video in the future.
Tim.. thanks for this video.... Does this work for live connection?
Yes it should do but I’ve experienced bugs. In most cases I tend to wards extracts unless you know a live connection is a must and your database can support the speed and load from being pinged by multiple tableau users at busy times.
@@TableauTim ok thanks for educating me.. have you released any video on this? I want to know how to seamlessly use RLS defined at database side for Tableau live connection..that would be very helpful to our current project work..
Yes I have videos on virtual connections. This only works with virtual connections it’s the video published before this one that I referenced in the video.
Just search “virtual connections tableau” in TH-cam or google and you’ll find mine as well as other great respurces
@@TableauTim sure will check.. thanks again Tim..
Hey Tim, Actually I am having issue like we are having 2different teams who are using the same dashboard where 1team want to see the whole sheets for all the users without using RLS and another team want to see only certain rows based on the users where they will be providing details to us. Is there any way to show only particular rows to users which are provided data in the file and all rows to the remaining users who has permission to the workbook but don’t have users data in the shared file?
Your request isn't very clear. What data source are you connecting to? if you have row level security int he database thats going to be easier to work through. Alternatively if you don't and you need to write logic for it in a calculation i would use the user functions. They're functions that can check a users group username or name and you can simply create a list in a calculation that creates a data source filter for the rows in question.
Very detailed demo! Just one question: What if I want to filter data at row level security for 'Region East' to the server group named 'East' and 'Region South' to the group named 'South' ? In that case, after setting all those policies I only need to add new users to the appropriate group. But how to write the calcualtion : Region = ismemberof('East','South') ?
It's an if logic calculation. If username is member of group (east) then category = east) elseif is member of group (west) then category = west else Null. Watch this video on logic statements for a full breakdown of this. th-cam.com/video/25xdx28ycFI/w-d-xo.html but in general you can create a good series of logic statement sot match most scenrios. The other option is using an entitlement table to do this for you.
@@TableauTim got it, thank you !!
Is this only applicable to virtual connections? If so that means this is only available to those with the Data Management Add-on, right?
Correct
Does this mean we can use this virtual connections with policies applied as an extract as well as a live connections?
A virtual connection appears like a published data source. You could technically extract it but it would only extract and include the data for the person who triggered the extract so at that point your better off doing things the old school way. That said I think I need to test this because there may be a way that the workbook calls home and would be curious to know how that works in practise.
Thanks for the demo...really good one. Just one question: What if I want to filter at row level for some users but some others to have access to everything? What tweak can I do in the policy condition?
Youd need maybe a second colum called user level in the policy table and then you'd simply check what level the user is and if they're a manager than just resolve true no need to check anything otherwise if not a manage then check if city matches the poly column you've identified. Hope that makes sense.
@@TableauTim I wish there is an option to have calculation while defining the relationship between Entitlement and Policy table. Which will resolve many use cases like decoupling the whole row level security based on a condition or form the multiple relationships based on condition
Thanks, most important question. What about performance? Is it the same as "default" RLS?
Performance was good bearing in mind I only used a live connection. I think this will depend on your database and Infrastructure as much as it depends on tableau
@@TableauTim Thanks I see this again as the biggest issue. There should be more emphasis on performance tweaking
Do u conduct any online classes
That's youtube! Let me know what you'd like to see and we make videos for it here. my website has them in a better to browse format too. Tableautim.com ... Assuming I did have online classes, what platform would you use though? it's interesting where people prefer to spend their time.
@@TableauTim Thanks for the revert Tim, why I asked this question because some topics mainly i wanted to know clearly like LOD, Blending, Joins, Relationship and performance tips ...these are mainly i am interested to know from your videos because have seen lot of Tableau videos but need more clarity ...have seen your other topics which are very clear to understand that's why am requesting if possible can you make the videos of these concepts .,. Online classes why asked I am interested on these topics might be others cannot so if you conduct any regular online classes I can join 😀
I've made videos for most of those topics on this channel. have a look. If you can't find anything then just suggest the content here and we'll make a video. tableautim.canny.io/suggestions