Implementing RLS in Company Content Dashboards

The following explains how to implement row-level security on a dashboard using the User Location restrictions set up in Agvance to determine which records should be included in the data for a specific User.

1. Adding Data Source

Depending on which level of restriction to be applied (i.e., Product Location, Customer Location, etc.), add one of the following data sources to the workbook:

  • RLS_Customer_Location (based on the Location of the Customer)
  • RLS_Login_Location (based on the Location of a transaction)
  • RLS_Products-Location (based on the Location of the Department)
  • RLS_Vendors_Location (based on the Location of a Vendor)

2. Duplicating Field and Renaming for Blending

Because the field name that the RLS data source and primary data source are blended on needs to match, duplicate the RLS Transaction Location ID field that exists in the RLS data source and rename it to match the corresponding Location ID field in the primary data source.

For example, if the dashboard being created is using the Sales Invoice data source and a User needs to be restricted from seeing Invoices from a Location they are restricted from in Agvance, choose the Sales Invoice data source for the dashboard and then add the RLS_Login_Location data source. After adding the two data sources to the workbook, select the RLS_Login_Location data source.

Duplicate the RLS Transaction Location ID field in the RLS_Login_Location data source and rename the new field to exactly match (case-sensitive) the Invoice Location ID from the Sales Invoice data source. In this example, the Location ID field is Invoice Location ID.

After duplicating and renaming the field, this will be the field used to link the two data sources together.

3. Adding Calculated Field in Workbook

Next, select the RLS_Login_Location data source in the upper lefthand corner, then add a new calculated field. This new field will be used as a filter to filter out the records the User should be restricted from seeing.

Name the field User Filter_Location with the following logic as the calculation:

CONTAINS([Restricted_Login_Users],USERNAME())

4. Applying Calculated Field as Filter

Add this new User Filter_Location field as a filter on the worksheet and exclude a value of True.

Make sure to apply this filter to all applicable sheets.