on 06-07-2023 07:05 PM
Are you tired of manually generating and distributing reports to various stakeholders? Look no further! Bursting reports could be the solution you've been searching for. Bursting reports is a technique used in business intelligence that allows for the automatic distribution of reports to a defined group of recipients based on predetermined criteria. Additionally, by setting up bursting, you'll find the need to generate fewer reports on a per-stakeholder basis and engage stakeholders more deeply with pre-filtered data relevant to their needs.
The idea of bursting has been around for some time within business intelligence. Bursting is the automatic distribution of reports to a defined group of recipients based on predetermined criteria. Some examples of bursting include:
Before bursting is done, context needs to be set so we can understand which users or groups receive each report. In this example, we're going to take some seller quotes and revenues and ensure they receive a report relevant to their region:
First, let's look at the data:
State | Revenue YTD | Quota |
California | 1600000 | 1500000 |
Washington | 870000 | 560000 |
Oregon | 200000 | 750000 |
Utah | 350000 | 500000 |
New York | 1300000 | 2000000 |
Maine | 200000 | 230000 |
Ohio | 400000 | 500000 |
Michigan | 350000 | 300000 |
Florida | 350000 | 400000 |
In this example, we want to send states on the east coast of the US to our fake seller (joe.miller+east@incorta.com) and west coast states to joe.miller+west@incorta.com.
To set up row-level security, let's upload an Excel sheet showcasing which state each seller should see.
Login | State | Admin | Admin Email | |
Joe West | joe.miller+west@incorta.com | California | admin | admin@incorta.com |
Joe West | joe.miller+west@incorta.com | Oregon | admin | admin@incorta.com |
Joe West | joe.miller+west@incorta.com | Washington | admin | admin@incorta.com |
Joe West | joe.miller+west@incorta.com | Utah | admin | admin@incorta.com |
Joe East | joe.miller+east@incorta.com | New York | admin | admin@incorta.com |
Joe East | joe.miller+east@incorta.com | Maine | admin | admin@incorta.com |
Joe East | joe.miller+east@incorta.com | Ohio | admin | admin@incorta.com |
Joe East | joe.miller+east@incorta.com | Michigan | admin | admin@incorta.com |
Joe East | joe.miller+east@incorta.com | Florida | admin | admin@incorta.com |
Next, we need to set an internal session variable to create a list of states the logged-in user can see.
query(
RLS.Login_Info.State,
or(
lower(
RLS.Login_Info.Login
) = $user,
lower(
RLS.Login_Info.Admin
) = $user
)
)
Note: The or() condition ensures the admin can continue to access all states. Additionally, be aware that the user names are lowercase when pulled from the variables (hence using lower()).
query($user)
This will return the value the system is looking for:
Now that we have the filter that returns the list of states the logged-in user is eligible to view go to the schema and table where the quota data is stored and apply the filter:
inList(
Sales.Quotas.State,
$State
)
Now record-level security is operational.
If you have admin privileges in Incorta, the easiest way to verify the bursting behavior before sending any emails is to 'login as' other users who will become recipients. This can be done through the security tab, selecting a user, selecting the security tab in the side rail, and selecting 'login as.'
Before any scheduling, double-check to ensure that all recipients can view the delivered dashboard.
Viola! Your report has been delivered!