Wednesday, 4 April 2018

Bursting in OBIEE

What is Bursting?

Bursting is a process of splitting data into blocks, generating documents for each block, and delivering the documents to one or more destinations. The data for the report is generated by executing a query once and then splitting the data based on a "Key" value. For each block of the data, a separate document is generated and delivered.

Using BI Publisher's bursting feature you can split a single report based on an element in the data model and deliver the report based on a second element in the data model. Driven by the delivery element, you can apply a different template, output format, delivery method, and locale to each split segment of your report. Example implementations include:
  • Invoice generation and delivery based on customer-specific layouts and delivery preference
  • Financial reporting to generate a master report of all cost centers, splitting out individual cost center reports to the appropriate manager
  • Generation of pay slips to all employees based on one extract and delivered via e-mail
------

As we are told by Oracle team, OBIEE is not a tool for bursting of reports, use BIP instead. Agree.!! We all had a problem with bursting in OBIEE. The only tool providing this feature is BI Publisher but it requires a lot of extra efforts to complete a bursting defination using a separate data model since it dosen't leverage the RPD data model for bursting. 

There are already three ways through which we can do the FTP of bursted report sets to a shared physical location using Java Script or VB Script or installing EJB methods. Every one of this comes along with some limitations like we cannot change the directory for export or we cannot export it to remote/shared location, and even using this methods it is really confusing to end-users to set parameters as expected in the respected scripts. You can find my posts for exporting (bursting) reports using Java Script / VB Script.

Copy Results to the File System - Using Java Scipt (Windows Only)
Copy Results to the File System - Using VB Scipt (Windows Only)

To create bursting Using Session Variable, follow below steps.


1. Here's a data set


Take a note that JCRUZ is allocated to 2 regions.

2. Create an Initialization Block & Row-wise Session variable which will act as a filter parameter to the report.



2. Create a single report that could be sent to different people with an appropriate filter to give them only the content they needed:  i.e. bursting.


3. Configure Agents
  • Set an agent as an administrator to Configure an Agent:
  • Set "Run As" to "Recipent"
  • In "Delivery Content" set the report that you created earlier
  • In Recipent tab, include all users/Application Roles as per your requirement
  • Save the Agent



4. Run or Schedule Agent as an Administrator.

5. Try log-in with JCRUZ to open the Agent Alert.

6. Try log-in with JCRUZ

7. Here I've set the default "Home Page and Dashboard" as the destination. You can set the respective default profile to send it as an email, etc.