You are here:
Determine Row-Level Security for the Dataset
Now it’s time to think about row-level security. How will you restrict access to each record in this dataset?
Required Editions
| Available in Salesforce Classic and Lightning Experience. |
| Available with CRM Analytics, which is available for an extra cost in Enterprise, Performance, and Unlimited Editions. Also available in Developer Edition. |
You decide to implement the following predicate on the dataset.
'ParentRoleIDs' == "$User.UserRoleId" || 'OwnerId' == "$User.Id"Note The current dataflow doesn’t contain logic to create a dataset column named
“ParentRoleIDs.” ParentRoleIDs is a placeholder for the name of a column that will contain this
information. In the next step, you will modify the dataflow to add this column to the
dataset. This column name will change based on how you configure the dataflow.
Based on the predicate, CRM Analytics returns an opportunity record if:
- The user who submits the query is a parent of the opportunity owner based on the Salesforce role hierarchy. CRM Analytics determines this based on their role IDs and the role hierarchy.
- Or, the user who submits the query on the dataset is the opportunity owner.
Let’s examine both parts of this predicate.
| Predicate Part | Description |
|---|---|
| 'ParentRoleIDs' == "$User.UserRoleId" |
|
| 'OwnerId' == "$User.Id" |
|
Did this article solve your issue?
Let us know so we can improve!

