Introduction
In one of the previous examples we have seen how to use the Bursting Feature in Oracle HCM Cloud. But at times there is also a need to have the same feature for OTBI Analysis. One may say that one can use Agents and choose to send selective data to recipients but the same till date only allows sending data to the EmailAddress registered with the UserAccount (as of date it picks the WorkEmail value). While that’s fine and works in most cases some kind of information might be required to be send to employee’s personal email. Typical examples being:
Experience Letter To Ex-Employees
New Joining Intimation Letter to Potential New Hires
Reliving Letter to Ex-Employees
Salary Certificate to Ex-Employees
Tax Certificate
…. And much more
As such, in this example we would try to demonstrate how to use bursting feature for a simple OTBI Analysis.
At a broad level we would be performing the following steps:
Creating an OTBI Analysis
Fetch the OTBI Analysis Logical SQL from Advanced Tab
Use ‘Oracle BI EE’ as data source in Data Model and create a new Data Model
Add Bursting Definition
Run the Newly Developed BI Report
So let’s get started.
Creating An OTBI Analysis
For this example, we would create a very simple OTBI Analysis using “Workforce Management – Person Real Time” Subject Area.
Details of the Database Column used are below:
Attribute Name | Data Source |
Name | "Workforce Management - Person Real Time"."Worker"."Employee Name" |
Person Number | "Workforce Management - Person Real Time"."Worker"."Person Number" |
"Workforce Management - Person Real Time"."Person Email Addresses"."Email Address" |
Once we have a look at the Results Section we will see results as below:
Fetching OTBI Analysis SQL From Advanced Tab
We can go to the Advanced tab and get the Issued SQL from there
Issued SQL |
SET VARIABLE PREFERRED_CURRENCY='User Preferred Currency 1'; SELECT 0 s_0, "Workforce Management - Person Real Time"."Person Email Addresses"."Email Address" s_1, "Workforce Management - Person Real Time"."Worker"."Employee Name" s_2, "Workforce Management - Person Real Time"."Worker"."Person Number" s_3 FROM "Workforce Management - Person Real Time" WHERE (("Person Email Addresses"."Email Address" IN ('ashish1234u@gmail.com', 'ashish_harbhajanka@yahoo.co.in', 'mynameisashish83@gmail.com'))) ORDER BY 1, 2 ASC NULLS LAST, 3 ASC NULLS LAST, 4 ASC NULLS LAST FETCH FIRST 75001 ROWS ONLY |
We would need to make some changes to the above SQL before we make a Data Model out of this. Changes are:
Removing the SET VARIABLE PREFERRED CURRENCY line
Remove the 0_s_0 field
Remove the ORDER BY Clause
Remove the FETCH FIRST clause
Creating Data Set with Oracle BI EE as Data Source
We would use the modified sql as mentioned below and create a data set:
SQL to Create Data Set for Data Model |
SELECT "Workforce Management - Person Real Time"."Person Email Addresses"."Email Address" EmailAddress, "Workforce Management - Person Real Time"."Worker"."Employee Name" EmpName, "Workforce Management - Person Real Time"."Worker"."Person Number" PersonNumber FROM "Workforce Management - Person Real Time" WHERE ("Person Email Addresses"."Email Address" IN ('ashish1234u@gmail.com', 'ashish_harbhajanka@yahoo.co.in', 'mynameisashish83@gmail.com')) |
The UI Page would appear as below:
Bursting Definition
We would need to add a bursting definition for the same.
In order to know more details about bursting definition please refer Oracle Documentation available at below link:
https://docs.oracle.com/cd/E21764_01/bi.1111/e18862/T527073T555155.htm
As for this example the Bursting SQL used is mentioned below:
Bursting SQL |
SELECT "Workforce Management - Person Real Time"."Worker"."Person Number" KEY, 'BIPTemplate' TEMPLATE, 'en-us' LOCALE, 'PDF' OUTPUT_FORMAT, 'EMAIL' DEL_CHANNEL, "Workforce Management - Person Real Time"."Person Email Addresses"."Email Address" PARAMETER1, 'testemail@gmail.com' PARAMETER2, 'orafusion_otbi@bursting.com' PARAMETER3, 'Personal Info Confirmation' PARAMETER4, 'Critical - Verify Personal Information' PARAMETER5, 'true' PARAMETER6, 'replyto@nowhere.com' PARAMETER7 FROM "Workforce Management - Person Real Time" WHERE ("Person Email Addresses"."Email Address" IN ('ashish1234u@gmail.com', 'ashish_harbhajanka@yahoo.co.in', 'mynameisashish83@gmail.com')) |
And the screenshot would look as below:
Report Execution
We would now have to run the Report and check results.