![]()
The Initiators button in the Cubes dialog is a setting that a user can configure in a cube that will allow them to kick off or initiate a certain PowerOLAP action or process. Through this setting, a user can set up a rule that will allow them to enter a number that will trigger a certain PowerOLAP process to execute.
This new feature can be seen when you go to Model > Cubes; as a new button (see boxed button in the image below). When the Initiators button is clicked, it will bring up the Initiators dialog box (second image below):
.png)
Initiators Setting
.png)
Initiators Dialog box
What makes Initiators useful? As it requires merely the entry of a value in a cell (say, “1” or “kickoff”), all manner of Tasks/Jobs in an application can be initiated (there’s just no avoiding the term!) through a Slice or, even more likely, an Excel spreadsheet. The below spreadsheet is just such an example: a kind of customized control panel for key actions concerning the application (for the first task, typing “kickoff” is the trigger; once the user hits F9, an Export Cube task will be executed, and the value will return to “0”—although it can be set to any number of word indicator).
.png)
Additionally, the Initiators feature is useful in instances concerning secured PowerOLAP databases where there may be users with minimal permissions to the PowerOLAP database and its corresponding fact and metadata. For example, if a user does not have permission to perform certain PowerOLAP tasks and processes (e.g., create an Export Cube task), then that user will also be unable to execute that task. Through the Initiators feature, it will allow users with minimal permissions to kick off or execute a process that they do not have access to. You just need to create a cube, define in that cube what processes can be executed, and set up a condition on how to kick off that specific process. Thus, you will only need to provide access rights to that cube for the specific users to enable them to execute PowerOLAP tasks and processes.
Processes that can be Executed via INITIATORS feature
As mentioned, the Initiators Setting will allow a user to execute specific PowerOLAP Tasks and Process. Below are the specific Actions that can be 'kicked-off' through the Initiators feature.
.png)
.png)
How to Execute a Process using INITIATOR
For this demonstration we will show how to execute a PowerOLAP action/process, in this case a PowerOLAP Clear Cube Task via the Initiator feature. In the following example, we will use the UsingPO.olp as our sample database, create Transfer cube and Clear Cube task and use the Initiator feature to execute those tasks.
1. First open a database, as in the example UsingPO.olp then create a slice view of the Future Year Model cube. Arrange the Slice as follows:
Page: Actual Vs Budget
Regions
Columns: Accounts
Rows: Months
.png)
Actual Sales and Cost of Sales data for region USA
.png)
Budget Sales and Cost of Sales data for region USA - NO values
By inspecting the cube, we know that there are Actual Sales and Cost of Sales data for all regions. Assuming there are no Budget values, and we want to use a Transfer cube task to transfer the Actual data to Budget data. You may or may not save the Slice but for easier viewing later perhaps it will be wiser to save the Slice. In the following example, the slice was saved as Months by Accounts.
2. Create a Transfer Cube task called Transfer FYM Actuals to Budget that will transfer actual Sales and Cost of Sales values to the Budget member of the Actual VS Budget dimension.
For details
on how to perform this transfer cube task click on this drop-downlink
.png)
3. Next, we can create ahead the Clear
Cube task that will clear or delete all Budget data for the Future
Year Model cube.
Let us call this clear cube task as Clear FYM Budget data.
For
details on how to perform this clear cube task click on this drop-downlink
.png)
4. Next, let us create a sample cube which we will use to set up triggers to kickoff PowerOLAP processes. Begin by creating a new Dimension called Trigger with one member called INITIATOR.
.png)
5. Next, create a new cube (name it INITIATOR) with just one Dimension and one Member (Trigger Dimension). Create a Slice out of this cube and save the slice as Initiator Slice. The slice looks as follows:
Next is to set the condition that will trigger the Transfer Cube task and the Clear Cube task to Execute.
.png)
6. To set the triggers, go to the PowerOLAP ribbon, Model tab and click the Cube command icon.
.png)
7. Select the INITIATOR cube
and click the Initiators button.
The Initiators dialog appears.
This is where we will setup the initiators to trigger execution of the
transfer cube and clear cube tasks.
8. First, create an initiator for the Transfer cube task we have created. Click New and enter a name, i.e., Transfer Cube- Actual to Budget FYM.
9. Set the trigger point or intersection. For this example, double-click the Trigger dimension and select INITIATOR as the member. Click OK.
.png)
.png)
10. In the Condition section, set the condition that will trigger the task to execute. For this example, set it as Value Equal To 1.
11. In the Action section, click on the Execute
drop down menu and select Transfer Cube as the process to execute.
The succeeding drop-down will list all the available Transfer cube task
in the database.
12. Select the name of the Transfer Cube task to execute, i.e., Transfer FYM Actuals to Budget.
13. In the Reset section, leave it at the default option (Do Nothing).
14. Click OK. Then back in the Cubes dialog click OK.
15. Next, open up a slice view of the Future Year Model cube and the Initiator cube. Following the example, we have saved slices out of these cubes so open those two and arrange as follows so you can see both slice views simultaneously.
.png)
16. If you can recall, we have set the condition
to trigger the Transfer cube task execution once we input a value of 1.
Go to the Initiator Slice and enter 1.
Recalculate the slice or hit F9.
17. Next, move to the Months by Accounts
Slice (Future Year Model cube) and refresh the slice by clicking the
Recalculate button or pressing F9.
Notice that the Budget member is now populated with the same data coming
from the Actual member.
Now that we have created the initiator for transfer cube task, let us create another initiator, but now for a clear cube task.
.png)
18. To create the initiator for Clear Cube task (Clear FYM Budget data), go to Model tab, Cube icon, then select the INITIATOR cube and click the Initiators button.
19. In the Initiators dialog that appears, click New to add a new initiator and name it Clear Cube-Clear Budget FYM.
20. Configure the following settings for the second
initiator:
Intersection:
Trigger dimension: Trigger
Trigger member: INITIATOR
Condition: Equal To 2
Action:
Process: Clear Cube
Task name: Clear FYM Budget data
Result: Do Nothing (default)
.png)
21. Click OK. Then back in the Cubes dialog click OK.
22. Now go back to the slices Months by Accounts (Future Year Model cube) and Initiator Slice (INITIATOIR cube).
23. Click on the Initiator Slice and
enter 2. Recalculate or press F9 to refresh the slice.
As per the condition we have set, entering a trigger value of 2 will kick-off
the clear cube process for the clear cube task Clear FYM Budget data.
24. Now go to the Months by Accounts
slice and once again click the Recalculate button or hit F9
to refresh slice data.
Notice that it cleared the Budget data.
.png)