In this set of steps you set up and use aggregate tables to improve query performance. Aggregate tables store pre-computed results, which are measures that have been aggregated (typically summed) over a set of dimensional attributes. Using aggregate tables is a popular technique for speeding up query response times in decision support systems. This eliminates the need for run-time calculations and delivers faster results to users. The calculations are done ahead of time and the results are stored in the tables. Aggregate tables typically have many fewer rows than the non-aggregate tables and, therefore, processing is faster.
To set up and use aggregate tables, perform the following steps:
- Import Metadata
- Create New Logical Table Sources
- Set Aggregate Content
- Test Your Work
Import Metadata
1 . | Return to the Administration Tool and open the BISAMPLE repository in offline mode. |
||||||
---|---|---|---|---|---|---|---|
1 . | In the Physical layer, expand orcl. |
||||||
2 . | Right-click Connection Pool and select Import Metadata to open the Import Wizard. |
||||||
3 . | In the Select Metadata Types screen, select Views and click Next. |
||||||
4 . | In the Select Metadata Objects screen, in the data source view, expand BISAMPLE. |
||||||
5 . | In the data source view, select the following for import: SAMP_REVENUE_FA2 SAMP_TIME_QTR_D |
||||||
6 . | Click the Import Selected button to move the objects to the Repository View. |
||||||
7 . | Expand BISAMPLE in the Repository View and confirm that the objects are visible. |
||||||
8 . | Click Finish to close the Import Wizard. |
||||||
9 . | Confirm that the objects are visible in the Physical layer of the repository. |
||||||
10 . | Create the following aliases:
|
||||||
11 . | Right-click F2 Revenue Aggregate and select View Data. F2 Revenue Aggregate stores aggregated fact information for revenue and units at the quarter and product grain. |
||||||
12 . | Right-click D1 Time Quarter Grain and select View Data.
D1 Time Quarter Grain stores time data at the quarter grain. It stores
one record for each quarter beginning with Q4 2006 and ending with Q4
2011. |
||||||
13 . | Use the Physical Diagram to create the following physical joins: "orcl".""."BISAMPLE"."D2 Product"."PROD_KEY" = "orcl".""."BISAMPLE"."F2 Revenue Aggregate"."PROD_KEY" "orcl".""."BISAMPLE"."D1 Time Quarter Grain"."QTR_KEY" = "orcl".""."BISAMPLE"."F2 Revenue Aggregate"."BILL_QTR_KEY" |
Create New Logical Table Sources
1 . | In the Physical layer, expand D1 Time Quarter Grain. |
||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
2 . | In the BMM layer, expand D1 Time. |
||||||||||||||||||
3 . |
Drag the following columns from D1 Time Quarter Grain
to their corresponding columns in D1 Time: Note:
Make sure to drag them to their corresponding columns.
|
||||||||||||||||||
4 . | Rename the D1 Time Quarter Grain logical table source to LTS2 Time Quarter Grain. |
||||||||||||||||||
5 . | Double-click LTS2 Time Quarter Grain to open the Logical Table Source dialog box. |
||||||||||||||||||
6 . | On the Column Mapping tab make sure show
mapped columns is selected and note the column mappings. The logical
columns now map to columns in two physical tables: D1 Time and D1 Time
Quarter Grain. |
||||||||||||||||||
7 . | Click OK to close the Logical Table Source dialog box. |
||||||||||||||||||
8 . | In the Physical layer expand F2 Revenue Aggregate. |
||||||||||||||||||
9 . | In the BMM layer expand F1 Revenue. |
||||||||||||||||||
10 . |
Drag the following physical columns from F2 Revenue Aggregate
to their corresponding logical columns in F1 Revenue:
Note: Do not add them as new columns.
|
||||||||||||||||||
11 . | Rename the F2 Revenue Aggregate logical table source to LTS2 Revenue Aggregate. |
||||||||||||||||||
12 . | Double-click LTS2 Revenue Aggregate to open the Logical Table Source dialog box. |
||||||||||||||||||
13 . | On the Column Mappings tab make sure show mapped columns
is selected and note the column mappings. The Revenue and Units logical
columns now map to columns in two physical tables: F1 Revenue and F2
Revenue Aggregate. |
||||||||||||||||||
14 . | Leave the Logical Table Source - LTS2 Revenue Aggregate dialog box open. |
Set Aggregate Content
1 . | Click the Content tab. |
||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
2 . | Set the following logical levels for the logical dimensions:
Explanation: You are setting aggregation content for the fact table to the corresponding levels in the dimension hierarchies. In a subsequent step, you set similar levels for the aggregate logical table source for the Time dimension. Note that all levels are set to the total level except for the H1 Time logical dimension, which is set to Quarter. The result is, when a user queries against a particular level, Oracle BI Server will “know” to access the aggregate tables instead of the detail tables. For example, if a user queries for total sales by product by quarter, the server will access the F2 Revenue Aggregate fact table and the corresponding aggregate dimension table, D1 Time Quarter Grain. If a user queries for a level lower than the level specified here, for example Month instead of Quarter, then the server will access the detail tables (F1 Revenue and D1 Time). If a user queries for higher level (year instead of quarter) the aggregate tables will be used, because whenever a query is run against a logical level or above, the aggregate tables are used. |
||||||||||||
3 . | Click OK to close the Logical Table Source dialog box. |
||||||||||||
4 . | Double-click the LTS2 Time Quarter Grain logical table source to open the Logical Table Source dialog box. |
||||||||||||
5 . | On the Content tab, set the logical level to Quarter. |
||||||||||||
6 . | Click OK to close the Logical Table Source dialog box. |
||||||||||||
7 . | Save the repository and check global consistency. Fix any errors or warnings before proceeding. |
||||||||||||
8 . | Close the repository. Leave the Administration Tool open.
Note that you did not need to change the Presentation layer. You made
changes in the business model that impact how queries are processed and
which sources are accessed. However, the user interface remains the
same, so there is no need to change the Presentation layer. Oracle BI
Server will automatically use the appropriate sources based on the user
query. |
Test Your Work
1 . | Return to Fusion Middleware Control Enterprise Manager and load the BISAMPLE repository. If you need help, click here to review steps from earlier in this tutorial. |
---|---|
2 . | Return to Oracle BI, which should still be open, and sign in. |
3 . | Create the following analysis to test the aggregate tables. Time.Per Name Qtr Base Facts.Revenue |
4 . | Click Results. |
5 . | Leave Oracle BI open. |
6 . | Use FMW Control or the Administration link to check the query log. If you need help, click here to review steps from earlier in this tutorial. |
7 . | Inspect the log. Notice that the query uses the expected tables: D1 Time Quarter Grain and F2 Revenue Aggregate. |
8 . | Return to Oracle BI. |
9 . | Click New > Analysis > Sample Sales. |
10 . | Create the following analysis to test the aggregate tables. Time.Per Name Year Base Facts.Revenue |
11 . | Click Results. |
12 . | Check the query log. Hint: If you check the log using FMW Control, click the Refresh button to refresh the log. |
13 . | Inspect the log. Notice that the query uses the same
tables: D1 Time Quarter Grain and F2 Revenue Aggregate. This is because
Per Name Year is at a higher level than Per Name Quarter in the logical
dimension hierarchy, so the aggregate tables are still used. |
14 . | Return to Oracle BI. |
15 . | Click New > Analysis > Sample Sales. |
16 . | Create one more analysis to test the aggregate tables. Time.Per Name Month Base Facts.Revenue |
17 . | Click Results. |
18 . | Inspect the log. Notice that this time the query uses the
detail tables: D1 Time and F1 Revenue. This is because the requested
data (revenue by month) is at a lower level than what is contained in
the aggregate tables. The aggregate tables do not contain the data and,
therefore, the detail tables are used in the query. This aggregate
navigation is controlled by the aggregate content levels you set in the
logical table sources. |
19 . | Sign out of Oracle BI. |
No comments:
Post a Comment