You are on page 1of 47

Creating Partitioned ASO Reporting Cubes in Essbase 11.1.

2
Purpose
This tutorial shows you how to create partitioned ASO reporting cubes in Essbase 11.1.2.

Time to Complete
Approximately 45 minutes

Overview
For analytical applications spanning a variety of businesses, Essbase block storage (BSO) cubes provide a world class analytical engine for complex modeling. BSO cubes typically contain fewer (and smaller) dimensions than aggregate storage (ASO) cubes but can perform numerous and complex calculations on the smaller outlines. ASO cubes are designed to provide rapid aggregation capabilities for much larger Essbase outlines, typically supporting many more (and larger) dimensions. For some projects, combining the calculation strengths of BSO with the aggregation strengths of ASO offers the best fit for your Essbase analytical needs. An ASO reporting cube, employed to handle all aggregations, is one example. An ASO reporting cube can be designed with or without partitioning. In a partitioned solution, the reporting cube acts as a "target," accessing the "source" databases as required to satisfy retrieval requests. In a non-partitioned solution, data is extracted from the data sources and loaded into the ASO reporting cube, often using offline scripts and batch files.

Scenario
The Hyptek corporation, manufacturer of hard disk drives, uses an Essbase BSO cube for top-down sales forecasting. Forecasts are input at a high level, then pushed down to the lowest level using a series of sophisticated calculation scripts. An Essbase ASO cube, with more dimensions, is used for aggregating actual (historical) and budget sales data. Hyptek management would like to build an ASO reporting cube that enables their analysts to view forecast data along with actual and budget data in a single reporting environment. The ASO cube should utilize a partitioned design that transparently accesses forecast data (stored in BSO cube Fcst_BSO) with actual and budget data (stored in ASO cube AcBu_ASO). Hyptek management is aware that extra effort will be required to maintain the partitions, but they feel that the timeliness of reporting through partitioning outweighs the extra work. (As soon as source cube updates are complete, data is available for reporting, as data is accessed transparently through the partitions.)

Software and Hardware Requirements


The following is a list of software requirements:

Oracle Essbase 11.1.2

Prerequisites
None

Creating an Application and Database for Reporting


You begin by creating an Essbase ASO application and database for reporting.

[Note: In this tutorial, the terms "database" and "cube" have the same meaning; that is, "Essbase multidimensional database." The term "database" is displayed within the user interface, Administration Services Console.] 1. In Administration Services Console, right-click Applications, then select Create application, and then select Using aggregate storage.

The Create Application dialog box is displayed. 2. For Application name, enter Rptg_ASO, and then click OK.

Application Rptg_ASO is created. 3. Right-click application node Rptg_ASO and select Create database.

4. For the database name, enter Rptg_ASO, then click OK.

Database Rptg_ASO is created.

Creating the Reporting Cube Outline


The outline for the newly created reporting cube Rptg_ASO is empty. If suitable, you can use an existing ASO database outline as a starting point and save it to the Essbase Server under the reporting cube's name. Using the outline from one of the source databases simplifies the partitioning effort. In this example, you use actual-budget cubeAcBu_ASO as a template (since it contains the outline members required for reporting) and save it to the Essbase Server as Rptg_ASO. 1. Expand database node AcBu_ASO, then right-click Outline and select Edit.

Outline Editor is displayed. 2. Select File, then Save As.

3. In the Save As dialog box, select the Essbase Server tab, and then navigate to database Rptg_ASO.

4. Double-click the row corresponding to database Rptg_ASO (to populate the File name), then click OK.

5. A confirmation message is displayed. Click Yes.

6. An Outline Editor message is displayed. Click Yes.

The Rptg_ASO outline is displayed in Outline Editor. 7. Examine the reporting cube outline.

Keep the Rptg_ASO outline open in Outline Editor for the next topic.

Comparing Outlines
The reporting cube (Rptg_ASO) will be a partitioned application, with data sourced from the cube containing actual and budget data (AcBu_ASO) and the cube containing forecast data (Fcst_BSO). You need to compare the reporting cube and forecast cube outlines to understand how to partition the two cubes.

1. Expand database node Fcst_BSO, then right-click Outline and select Edit.

The Fcst_BSO outline is displayed in Outline Editor. 2. In Administration Services Console, close all open objects except for the two outlines. Then select Organize, and then Tile Vertical to view the outlines side by side.

The most obvious difference is the absence of attribute dimensions in the forecast database. Most of the differences that impact partitioning occur at lower levels in the outline and will be addressed in subsequent topics.

Adding a Forecast Scenario to the Reporting Cube


1. Expand Scenario in both outlines.

A forecast member needs to be added to the reporting cube to enable the flow of forecast data through a partition.

2. In the Rptg_ASO outline, right-click Budget and select Add sibling.

A text entry box is displayed in Outline Editor. 3. Enter Forecast, and then press Enter.

4. Another text entry box is displayed.

5. Press Enter to exit text entry mode.

The Forecast entry is added. It needs to be a non-consolidated member of the Scenario dimension. 6. Right-click Forecast and select Edit member properties.

7. In the Information tab in the consolidation drop-down list, select (~) Ignore, and then click OK.

The Forecast member is set for non-consolidation. 8. Click Save to preserve your changes to the Rptg_ASO outline.

9. Close both outlines.

Creating a Partition for the Forecast (BSO) Database


To provide forecast data to the reporting cube, you define a transparent partition between the source cube (Fcst_BSO) and the target cube (Rptg_ASO). 1. In the navigation panel, expand the Rptg_ASO database node, then right-click the Partitions node, and then selectCreate new partition.

The Create Partition for Aggregate Storage Application dialog box is displayed. 2. Select the Type tab, and for Partition Type, select Transparent.

3. Select the Connection tab.

Connection entries are displayed. 4. In the Data Source section, select the Essbase Server, Application, and Database name for forecast cube Fcst_BSO, then enter the appropriate connection User ID and Password.

5. In the Data Target section, repeat the previous step to provide connection information for ASO reporting cube Rptg_ASO.

Note: This example partition employs a user with administrator access to each database (an acceptable practice for initial testing). In everyday usage, user IDs with appropriate security privilege should be established for source and target database access.

Defining the Forecast Source Partition Area


To enable the reporting cube to draw data from the forecast cube, define the outline members involved in the flow between the source cube (Fcst_BSO) and the target cube (Rptg_ASO), beginning with the source partition area. 1. Select the Areas tab, and then select Use member selection tool and Show cell count.

2. In the Source column, double-click <double-click here to edit>.

The Area Mapping Member Selection dialog box is displayed for database Fcst_BSO. 3. Remember: ASO targets can be partitioned only along level 0 members. To define the source area for the Measures dimension, for example, select the level 0 Measures required for reporting, in this case, the level 0 descendants of Gross Margin.

4. In the Area Mapping Member Selection dialog box, expand the Measures dimension, and select Gross Margin.

5. Click Subset.

The Subset dialog box is displayed. 6. In the first drop-down list, select Level name, and in the third drop-down list, select Lev0,Measures, and then click Add.

The condition, @DESCENDANTS("Gross Margin") AND @LEVMBRS("Measures", Lev0,Measures") is displayed. (You will view an untruncated version of all area mapping rules in a subsequent step.) 7. Click OK.

The Area Mapping Member Selection dialog box is displayed, showing the area mapping rule for the Measures dimension. This rule indicates that the level 0 members of Gross Margin are included in the partition definition for source database Fcst_BSO. 8. Compare the Time dimensions in each outline, in this example, Periods in Rptg_ASO and Time in Fcst_BSO. Although the upper-level members are different in each outline, the level 0 members in both dimensions are the same and can be included in the partition definition.

9. Repeat steps 4 through 7 to select the subset for the level 0 descendants of Time.

An area mapping rule is displayed for the Time dimension: @LEVMBRS("Time", "Lev0,Time") 10. Compare the Product dimensions in each outline, defining a partition area based on common level 0 members required for reporting. In this example, the Fcst_BSO Product dimension includes the Family Total rollup, but not the Configuration Total rollup found in Rptg_ASO.

11. Repeat steps 4 through 7 to select the subset for the level 0 descendants of Family Total.

An area mapping rule is displayed for the Family Total dimension: @DESCENDANTS("Family Total") AND @LEVMBRS("Product", "Lev0,Product") 12. Compare the Scenario dimensions in each outline. In this example, the Forecast database has only one member (Forecast). To add this member to the partition definition for the source database, expand the Scenario dimension, then select Forecast, and then click Add.

13. Continue your comparison of the outlines. Other dimensions may also require only a single member from the source database. In this example, the Forecast database has one member in not only the Scenario dimension, but also the Fiscal Year, Geography, Sales Channel, and Promotions dimensions.

14. Repeat step 12 to select each of the following single members: For Fiscal Year: FY11 For Geography: No Region For Sales Channel: No Channel For Promotions: No Promotion

Area mapping rules are added for the single members. 15. Compare the Customer dimensions in each outline. In this example, the Customer dimensions are identical. All of the level 0 source members for Customer can be included in the source database partition definition.

16. To select the level 0 members for the Customer dimension, in View Method, select By level name.

17. Expand Customer, select Lev0,Customer, and then click Add.

An area mapping rule is added for Customer: @LEVMBRS("Customer","Lev0,Customer") 18. Continue comparing the outlines. In this example, the Sales Person dimensions are the same in each outline. All of the level 0 source members for Sales Person can be included in the source database definition.

19. Repeat step 17 to select level 0 Sales Person members.

An area mapping rule is added for Sales Person: @LEVMBRS("Sales Person","Lev0,Sales Person") 20. Click OK.

The Create Partition for Aggregate Storage Application dialog box is displayed. 21. To view the entire partition area definition (in an untruncated display), select editing option Use text editor, then double-click the first row in the Areas table.

An Area Definition text box is displayed. 22. Resize the Area Definition text box and review the source database area definition. When finished, click OK.

Defining the Forecast Target Partition Area


The other half of the partition definition between the reporting cube and the forecast cube is the target cube (Rptg_ASO). You define the target partition area in a manner similar to that used for defining the source. 1. In the Create Partition for Aggregate Storage Application window, select the Areas tab, and then select Usemember selection tool and Show cell count.

2. In the Target column, double-click the first row (the same row as your source area definition).

The Area Mapping Member Selection dialog box is displayed for reporting cube Rptg_ASO. 3. Using the same techniques described in the topic entitled "Defining the Forecast Source Partition Area," select the following dimension subsets: For Measures: Level 0 descendants of Gross Margin For Product: Level 0 descendants of Family Total

Rules for the member subsets are displayed. 4. Using the same techniques described in the topic entitled "Defining the Forecast Source Partition Area," select the following single members: For Scenario: Forecast For Fiscal Year: FY11 For Geography: No Region For Sales Channel: No Channel For Promotions: No Promotion

Rules for the single members are added to the display. 5. Using the same techniques described in the topic entitled "Defining the Forecast Source Partition Area," select all level 0 members of the following dimensions: Period Customer Sales Person

Rules for the level 0 members are added to the display. 6. Click OK.

The Create Partition for Aggregate Storage Application dialog box is displayed. The matching cell counts indicate a one-for-one correspondence between the members selected from the source and target databases, a positive result. 7. Using the same technique described in the topic entitled "Defining the Forecast Source Partition Area," review the area definition for the target partition area. When finished, click OK.

The Create Partition for Aggregate Storage Application dialog box is displayed.

Mapping Member Names


While the area definitions define the members that are common to both outlines, there may still be other differences in the outlines that must be considered. In this example, the reporting cube outline has six attribute dimensions that are not represented in the forecast cube outline. The attribute dimensions are not required in the forecast database (so there is no need to add them); but they must be considered in the partition definition. You compensate for such differences in dimensionality by mapping the attribute dimensions in the reporting (target) cube to "void" in the forecast (source) cube. 1. Select the Mappings tab, and then select Use member selection tool.

2. In the Target Members column, double-click <double-click here to edit>.

The Global Mapping Member Selection dialog box is displayed. 3. Select an attribute dimension, in this example, Drive Size.

The Global Mapping Member Selection dialog box is displayed. 4. Click OK.

Attribute dimension Drive Size in the reporting (target) cube is mapped to "void" in the forecast (source) cube. 5. Repeat the previous three steps to map the following attribute dimensions (and the attribute calculations dimension) to void: Drive Type Line Total

Production Capacity Sales Region Payment Terms Attribute Calculations

Attribute dimensions in the target cube are mapped to "void" in the source cube.

Validating and Saving the Forecast Partition


1. Click Validate.

A success message is displayed. 2. Click OK, then click Save.

A success message is displayed. 3. Click OK. In the Navigation panel, you can locate the partition definition in the Partitions node for reporting database Rptg_ASO. The partition definition shows forecast database Fcst_BSO as a source.

A similar entry under database Fcst_BSO shows the reporting database as a target (not shown).

Creating a Partition for the Actual-Budget (ASO) Database


In this example, creating a partition for the actual-budget database (AcBu_ASO) is straightforward, since the reporting database outline was created as a copy of the actual-budget database outline. In the area definition, include Scenario Actuals and Budget and specify Fiscal Year FY11 (to access actual-budget data that corresponds to forecast data available from the forecast database). 1. In the navigation panel, expand the Rptg_ASO database node, then right-click the Partitions node, and then select Create new partition.

The Create Partition for Aggregate Storage Application dialog box is displayed. 2. Select the Type tab, and for Partition Type, select Transparent.

3. Select the Connection tab.

4. In the Data Source section, select the Essbase Server, Application, and Database name for actual-budget cube AcBu_ASO, then ent the appropriate connection User ID and Password.

5. In the Data Target section, repeat the previous step to provide connection information for ASO reporting cube Rptg_ASO.

Defining the Actual-Budget Source Partition Area


1. Select the Areas tab, and then select Use member selection tool and Show cell count.

2. In the Source column, double-click <double-click here to edit>.

The Area Mapping Member Selection dialog box is displayed for database AcBu_ASO. 3. In the Area Mapping Member Selection dialog box, expand the Scenario dimension, then multiple select Actuals and Budget, and then click Add.

Area mapping rules are added for Actuals and Budget. 4. Repeat the previous step to select FY11 from the Fiscal Year dimension.

An Area mapping rule is added for Fiscal Year FY11. 5. Click OK.

The Create Partition for Aggregate Storage Application dialog box is displayed.

Defining the Actual-Budget Target Partition Area


In this section, you define the target partition area. 1. In the Target column, double-click the first row (the same row as your source area definition).

The Area Mapping Member Selection dialog box is displayed for reporting cube Rptg_ASO. 2. Expand Scenario and Fiscal Year, then multiple select Actuals, Budget, and FY11, and then click Add.

Area mapping rules are added for Actuals, Budget, and FY11. 3. Click OK.

The Create Partition for Aggregate Storage Application dialog box is displayed.

Validating and Saving the Actual-Budget Partition


1. Click Validate.

A success message is displayed. 2. Click OK, then click Save.

A success message is displayed. 3. Click OK. In the Navigation panel, you can locate the partition definition in the Partitions node for reporting database Rptg_ASO. The partition definition shows actual-budget database AcBu_ASO as a source.

Now a single ASO reporting cube can be used to present actual, budget, and forecast data for comparative analysis.

Summary
In this tutorial, you learned how to create a partitioned aggregate storage reporting cube for a combined aggregate storage/block storage analytical solution.

You might also like