Tenant overrides

Contents[Hide]

1. Overview

This walkthrough shows you how to use overrides to allow multiple tenants to share the same application instance and objects such as data connectors and dashboards but have them display differently for each tenant.

For example, data connector overrides can access different databases for each tenant if they have the same structure, allowing you to reuse all of the same objects based on that data connector between tenants including dashboards and reports. Each tenant might maintain their own database, or you may decide to use separate databases for security reasons.

Tip
Also see Customize branding for each tenant if you want to override application styling differently for each tenant.

2. Example setup

The following steps walk through setting up a simple example of a dashboard shared between tenants but displaying different data for each.

2.1. Set up tenant data sources

Create a database with a single table for the first tenant as follows:

  • Database name: DatabaseA
  • Table name: Products
    • Column: ProductID, int
    • Column: ProductName, nvarchar(50)
    • Column: ListPrice, decimal(18,2)

SQL Server database for the first tenant
SQL Server database for the first tenant

Create a DatabaseB for the second tenant with the exact same schema (but different data) as above.

SQL Server database for the second tenant
SQL Server database for the second tenant

2.2. Create a new project and dashboard

For this example, log on as a System Administrator and create a new project:

  • Allow it to be accessible to all tenants by not assigning it any specific tenant.
  • Select Set As Active Project (or switch projects afterward).
  • Set Initial Project Privileges to Public to allow everyone read access by default.

Create a new project
Create a new project

In this project:

  1. Create a new data connector for DatabaseA.
  2. Create a new dashboard by dragging the ListPrice and ProductName columns from your data connector to the dashboard canvas. In our example, data from DatabaseA is displayed as a table visualization:
    Create a new dashboard
    Create a new dashboard
  3. Check in your dashboard so that other users with access to the project can view it.

2.3. Add tenants and users

Access Administration from the main menu, expand the SaaS / Multi-Tenancy section and click Tenants. (If you don't see this option, it means you aren't licensed for this feature.)

Click Add New in the toolbar, and in the Add Tenant dialog, enter its Name (Tenant A in this example).

Enter a name for the tenant
Enter a name for the tenant

The External Application URI Override is another available tenant override that will use the specified URL in emails to this tenant's users, in shared links, and when using federated authentication, in case you have set up a different URL for each tenant.

For this example, seats available in the license will be allocated on a per-tenant basis, but this is optional if you want tenants to use the 'global' pool of all available seats: expand the Seat Allocation section and under Reserved set Standard User to 5.

Enter the seat allocation for the tenant
Enter the seat allocation for the tenant

Click the submit button at the bottom to add the tenant.

Repeat the above steps in order to add Tenant B. The Tenants page will update with the list of both tenants.

Two tenants have been added
Two tenants have been added

Tip
Every tenant that you create is given a unique ID. If you only know the ID of a tenant but not its name, you can search for it in the Tenants screen by pasting the ID in the Search box.

Next, edit Tenant A, click Accounts, and then Add account, or alternatively expand Account Service in the administration sidebar, click Accounts, and add an account from this page.

Add a new account User A and ensure it's assigned to Tenant A under Tenants.

Add User A account to Tenant A
Add User A account to Tenant A

Similarly, add a new account User B and add it to Tenant B under Tenants.

3. Add data connector overrides

From the Tenants page, edit Tenant B in our example.

Click Data connector overrides and then Add override.

Add data connector overrides
Add data connector overrides

In the Open dialog, choose the data connector to override for this tenant and click the submit button at the bottom.

Select data connector to override
Select data connector to override

In the data connector dialog, update the settings required to connect to the data source for this tenant (e.g., DatabaseB).

Note
Only the original data connector's structures are discovered and listed under the data connector, and only databases with the same structure/schema are supported when using tenant overrides. Some data providers such as PostgreSQL/Amazon Redshift, Oracle, or MySQL may prefix the original database name in queries by default, which can prevent an override from taking effect - in this case, select the Single Schema option in the original data connector's settings.

Update database settings for a tenant
Update database settings for a tenant

Submit the dialogs to add the override for the tenant.

4. View the dashboard as a tenant user

Log out, then log back on as User A

  • View the dashboard and observe that it displays the correct data from DatabaseA.

Log out again and log back on as User B:

  • View the dashboard and observe that it displays the correct data from DatabaseB.

User B sees data from DatabaseB
User B sees data from DatabaseB

Note
If there are data cubes in your own project displaying tenant data while using warehouse or in-memory storage, they will need to be re-built following changes to tenant overrides.

5. Time dimension overrides

Tenant time dimension overrides allow for a single time dimension's settings to be changed per-tenant. An example of this is if tenant A and tenant B use a different day as the start of the week.

  1. Like when adding data connector overrides, edit a tenant from the Tenants page in Administration, but then click Time dimension overrides in the dialog.
  2. Click Add override. In the Open dialog, select a time dimension to override and click Open at the bottom.
  3. In the Time Dimension dialog, change the options as required for this tenant such as First Day of Week, then click to Save each dialog.

6. See also

Dundas Data Visualization, Inc.
400-15 Gervais Drive
Toronto, ON, Canada
M3C 1Y8

North America: 1.800.463.1492
International: 1.416.467.5100

Dundas Support Hours:
Phone: 9am-6pm, ET, Mon-Fri
Email: 7am-6pm, ET, Mon-Fri