Before You Begin
Purpose
This tutorial covers using the Oracle Business Intelligence (BI) Administration Tool (12.2.1.0.0) to build, modify, enhance, and manage an Oracle BI repository. You learned how to import metadata from a data source, simplify and reorganize the imported metadata into a business model, and then structure the business model for presentation to users who request business intelligence information via Oracle BI user interfaces. You learn to create calculated measures, hierarchies, aggregates, and time series measures.
Time to Complete
Approximately 3 hours.
Background
This tutorial shows you how to build an Oracle BI metadata repository using the Oracle BI Administration Tool. You learn how to import metadata from data sources, simplify and reorganize the imported metadata into a business model, and then structure the business model for presentation to users who request business intelligence information via Oracle BI user interfaces.
Hardware and Software Requirements
The following is a list of hardware and software requirements:
-
Have access to or have Installed Oracle Business Intelligence Enterprise Edition 12c.
Please note: This tutorial is built using Oracle Business Intelligence Enterprise Edition 12.2.1.0.0.
When setting up query logging, you must select Action > Set Online User Filter in Identity Manager to view users in the repository.
-
To complete this tutorial you must have access to the BISAMPLE schema that is included with the Sample Application for Oracle Business Intelligence Suite Enterprise Edition Plus. There are two options for accessing the BISAMPLE schema:
What Do You Need?
Before starting this tutorial, you should:
- Have some familiarity with the Oracle BI 12c Administration Tool
- Have the proper permissions to upload a repository
Building the Physical Layer of a Repository
In this topic you use the Oracle BI Administration Tool to build the Physical layer of a repository.
The Physical layer defines the data sources to which Oracle BI Server submits queries and the relationships between physical databases and other data sources that are used to process multiple data source queries. The recommended way to populate the Physical layer is by importing metadata from databases and other data sources. The data sources can be of the same or different varieties. You can import schemas or portions of schemas from existing data sources. Additionally, you can create objects in the Physical layer manually.
When you import metadata, many of the properties of the data sources are configured automatically based on the information gathered during the import process. After import, you can also define other attributes of the physical data sources, such as join relationships, that might not exist in the data source metadata. There can be one or more data sources in the Physical layer, including databases, flat files, XML documents, and so forth. In this example, you import and configure tables from the BISAMPLE schema.
To build the Physical layer of a repository, you perform the following steps:
- Creating a New Repository
- Importing Metadata
- Verifying Connection
- Creating Aliases
- Creating Physical Keys and Joins
Creating a New Repository
-
Open the Administration Tool.
View Image Select File > New Repository.
View Image-
Select the Binary method and enter a name for the repository. In this tutorial the repository name is BISAMPLE.
View Image Leave the default location as is. It points to the default repository directory.
Leave Import Metadata set to Yes.
-
Enter and retype a password for the repository. In this tutorial Admin123 is the repository password.
View Image -
Click Next.
Importing Metadata
-
Change the Connection Type to ODBC 3.5. The screen displays connection fields based on the connection type you selected.
View Image -
Select a data source. In this example the data source name is biplatform_datasource.
View Image -
Enter user name and password for the data source. In this example the user name and password are both BISAMPLE. Recall that BISAMPLE is the name of the user/schema you created in the prerequisite section.
View Image -
Click Next.
-
Accept the default metadata types and click Next.
View Image -
In the Data source view, expand the biplatform_datasource schema.
View Image -
Press and hold Ctrl and click the following tables to select from the BISAMPLE schema:
SAMP_ADDRESSES_D
SAMP_CUSTOMERS_D
SAMP_PRODUCTS_D
SAMP_REVENUE_F
SAMP_TIME_DAY_DView Image -
Click the Import Selected button to add the tables to the Repository View.
View Image -
The Importing message appears.
View Image -
When import is complete, in the Repository View, expand biplatform_datasource and verify that the five tables are listed.
View Image -
Click Finish to open the repository.
View Image -
Expand biplatform_datasource and confirm that the five tables are imported into the Physical layer of the repository.
View Image
Verifying Connection
-
Select Tools > Update All Row Counts.
View Image -
When update row counts completes, move the cursor over the tables and observe that row count information is now visible, including when the row count was last updated.
View Image -
Expand tables and observe that row count information is also visible for individual columns.
View Image -
Right-click a table and select View Data to view the data for the table.
View Image -
Close the View Data dialog box when you are done. It is a good idea to update row counts or view data after an import to verify connectivity. Viewing data or updating row count, if successful, tells you that your connection is configured correctly.
View Image
Creating Aliases
-
It is recommended that you use table aliases frequently in the Physical layer to eliminate extraneous joins and to include best practice naming conventions for physical table names. Right-click SAMP_TIME_DAY_D and select New Object > Alias to open the Physical Table dialog box.
-
Enter D1 Time in the Name field.
View Image -
In the Description field, enter Time Dimension Alias at day grain. Stores one record for each day.
View Image -
Click the Columns tab. Note that alias tables inherit all column definitions from the source table.
View Image -
Click OK to close the Physical Table dialog box.
-
Repeat the steps and create the following aliases for the remaining physical tables.
SAMP_ADDRESSES_D = D4 Address
SAMP_CUSTOMERS_D = D3 Customer
SAMP_PRODUCTS_D = D2 Product
SAMP_REVENUE_F = F1 RevenueView Image
Creating Keys and Joins
-
Select the five alias tables in the Physical layer.
View Image -
Right-click one of the highlighted alias tables and select Physical Diagram > Selected Object(s) Only to open the Physical Diagram. Alternatively, you can click the Physical Diagram button on the toolbar.
View Image -
Rearrange the alias table objects so they are all visible.
View Image -
You may want to adjust the objects in the Physical Diagram. If so, use the toolbar buttons to zoom in, zoom out, fit the diagram, collapse or expand objects, select objects, and so forth:
View Image -
Click the New Join button on the toolbar.
View Image -
Click the F1 Revenue table and then the D1 Time table. The Physical Foreign Key dialog box opens. It matters which table you click first. The join creates a one-to-many (1:N) relationship that joins the key column in the first table to a foreign key column in the second table.
View Image -
Select the D1 Time. CALENDAR_DATE column, and then select F1 Revenue.BILL_DAY_DT to join the tables. Ensure that the Expression edit box (at the bottom) contains the following expression:
"biplatform_datasource".""."BISAMPLE"."D1 Time"."CALENDAR_DATE" = "biplatform_datasource".""."BISAMPLE"."F1 Revenue"."BILL_DAY_DT"
View Image -
Click OK to close the Physical Foreign Key dialog box. The join is visible in the Physical Diagram.
View ImagePlease be aware of the following upgrade considerations for Oracle BI EE 11g Release 1 (11.1.1.5): Joins in the Physical and Business Model diagrams are now represented by a line with an arrow at the "one" end of the join, rather than the line with crow’s feet at the "many" end of the join that was used in previous releases. When creating joins in the Physical and Business Model Diagrams, you now select the "many" end of the join first, and then select the "one" end of the join. In previous releases, joins in the diagrams were created by selecting the "one" end of the join first.
-
Repeat the steps to create joins for the remaining tables. Use the following expressions as a guide. Please notice that D4 Address joins to D3 Customer.
"biplatform_datasource".""."BISAMPLE"."D2 Product"."PROD_KEY" = "biplatform_datasource".""."BISAMPLE"."F1 Revenue"."PROD_KEY"
"biplatform_datasource".""."BISAMPLE"."D3 Customer"."CUST_KEY" = "biplatform_datasource".""."BISAMPLE"."F1 Revenue"."CUST_KEY"
"biplatform_datasource".""."BISAMPLE"."D4 Address"."ADDRESS_KEY" = "biplatform_datasource".""."BISAMPLE"."D3 Customer"."ADDRESS_KEY"
-
Click the Auto Layout button on the toolbar.
View Image -
Your diagram should look similar to the screenshot:
View Image -
Click the X in the upper right corner to close the Physical Diagram.
-
Select File > Save or click the Save button on the toolbar to save the repository.
View Image -
Click No when prompted to check global consistency. Some of the more common checks are done in the Business Model and Mapping layer and Presentation layer. Since these layers are not defined yet, bypass this check until the other layers in the repository are built.
View Image -
Leave the Administration Tool and the repository open for the next topic.
Congratulations! You have successfully created a new repository, imported a table schema from an external data source into the Physical layer, created aliases, and defined keys and joins.
In the next topic you learn how to build the Business Model and Mapping layer of a repository.
Building the Business Model and Mapping Layer of a Repository
In this topic you use the Oracle BI Administration Tool to build the Business Model and Mapping layer of a repository.
The Business Model and Mapping layer of the Administration Tool defines the business, or logical model of the data and specifies the mappings between the business model and the Physical layer schemas. This layer is where the physical schemas are simplified to form the basis for the users’ view of the data. The Business Model and Mapping layer of the Administration Tool can contain one or more business model objects. A business model object contains the business model definitions and the mappings from logical to physical tables for the business model.
The main purpose of the business model is to capture how users think about their business using their own vocabulary. The business model simplifies the physical schema and maps the users’ business vocabulary to physical sources. Most of the vocabulary translates into logical columns in the business model. Collections of logical columns form logical tables. Each logical column (and hence each logical table) can have one or more physical objects as sources.
There are two main categories of logical tables: fact and dimension. Logical fact tables contain the measures by which an organization gauges its business operations and performance. Logical dimension tables contain the data used to qualify the facts.
To build the Business Model and Mapping layer of a repository, you perform the following steps:
- Creating a Business Model
- Examining Logical Joins
- Examining Logical Columns
- Examining Logical Table Sources
- Renaming Logical Objects Manually
- Renaming Logical Objects Using the Rename Wizard
- Deleting Unnecessary Logical Objects
- Creating Simple Measures
Creating a Business Model
-
Right-click the white space in the Business Model and Mapping layer and select New Business Model to open the Business Model dialog box.
View Image Enter Sample Sales in the Name field. Leave Disabled checked.
View ImageClick OK. The Sample Sales business model is added to the Business Model and Mapping layer.
View ImageIn the Physical layer, select the following four alias tables:
D1 Time
D2 Product
D3 Customer
F1 Revenue
Do not select D4 Address at this time.View ImageDrag the four alias table from the Physical layer to the Sample Sales business model in the Business Model and Mapping layer. The tables are added to the Sample Sales business model. Notice that the three dimension tables have the same icon, whereas the F1 Revenue table has an icon with a # sign, indicating it is a fact table.
View Image
Examining Logical Joins
-
Right-click the Sample Sales business model and select Business Model Diagram > Whole Diagram to open the Business Model Diagram.
View Image -
If necessary, rearrange the objects so that the join relationships are visible.
View ImageBecause you dragged all tables simultaneously from the Physical layer onto the business model, the logical keys and joins are created automatically in the business model. This is because the keys and join relationships were already created in the Physical layer. However, you typically do not drag all physical tables simultaneously, except in very simple models. Later in this tutorial, you learn how to manually build logical keys and joins in the Business Model and Mapping layer. The process is very similar to building joins in the Physical layer.
-
Double-click any one of the joins in the diagram to open the Logical Join dialog box. In this example the join between D1 Time and F1 Revenue is selected.
View ImageNotice that there is no join expression. Joins in the BMM layer are logical joins. Logical joins express the cardinality relationships between logical tables and are a requirement for a valid business model. Specifying the logical table joins is required so that Oracle BI Server has necessary metadata to translate logical requests against the business model into SQL queries against the physical data sources. Logical joins help Oracle BI Server understand the relationships between the various pieces of the business model. When a query is sent to Oracle BI Server, the server determines how to construct physical queries by examining how the logical model is structured. Examining logical joins is an integral part of this process. The Administration Tool considers a table to be a logical fact table if it is at the “many” end of all logical joins that connect it to other logical tables.
-
Click OK to close the Logical Join dialog box.
-
Click the X to close the Business Model Diagram.
Examining Logical Columns
-
Expand the D1 Time logical table. Notice that logical columns were created automatically for each table when you dragged the alias tables from the Physical layer to the BMM layer.
View Image
Examining Logical Table Sources
-
Expand the Sources folder for the D1 Time logical table. Notice there is a logical table source, D1 Time. This logical table source maps to the D1 Time alias table in the Physical layer.
View Image -
Double-click the D1 Time logical table source (not the logical table) to open the Logical Table Source dialog box.
View Image -
On the General tab, rename the D1 Time logical table source to LTS1 Time. Notice that the logical table to physical table mapping is defined in the "Map to these tables" section.
View Image -
On the Column Mapping tab, notice that logical column to physical column mappings are defined. If mappings are not visible, select Show mapped columns.
View Image -
Click OK to close the Logical Table Source dialog box. If desired, explore logical table sources for the remaining logical tables.
View Image
Renaming Logical Objects Manually
-
Expand the D1 Time logical table.
View Image -
Click on the first logical column, BEG_OF_MONTH_WID, to highlight it.
View Image -
Click on BEG_OF_MONTH_WID again to make it editable.
View Image -
Rename BEG_OF_MONTH_WID to Beg of Mth Wid. This is the manual method for renaming objects. You can also rename an object and select Rename to manually rename an object.
View Image
Renaming Objects Using the Rename Wizard
-
Select Tools > Utilities > Rename Wizard > Execute to open the Rename Wizard.
View Image -
In the Select Objects screen, click Business Model and Mapping in the middle pane.
View Image -
Expand the Sample Sales business model.
View Image -
Expand the D1 Time logical table.
View Image -
Select all of the logical columns except for the column you already renamed, Beg of Mth Wid.
View Image -
Click Add to add the columns to the right pane.
View Image -
Repeat the steps for the three remaining logical tables so that all logical columns from the Sample Sales business model are added to the right pane. Only the columns from F1 Revenue are shown in the screenshot.
View Image -
Click Next to move to the Select Types screen.
View ImageNotice that Logical Column is selected. If you had selected other object types, such as logical tables, the type would have appeared here.
-
Click Next.
View Image -
In the Select Rules screen, select All text lowercase and click Add to add the rule to the lower pane.
View Image -
Add the rule Change each occurrence of '_' into a space.
View Image -
Add the rule First letter of each word capital.
View Image -
Click Next to open the Finish screen. Verify that all logical columns will be named according to the rename rules you selected.
View Image -
Click Finish.
-
In the Business Model and Mapping layer, expand the logical tables and confirm that all logical columns have been renamed as expected. The screenshot shows only the columns in D1 Time.
View Image -
In the Physical layer, expand the alias tables and confirm that all physical columns have not been renamed. The point here is you can change object names in the BMM layer without impacting object names in the Physical layer. When logical objects are renamed, the relationships between logical objects and physical objects are maintained by the logical column to physical column mappings.
View Image
Deleting Unnecessary Logical Objects
-
In the BMM layer, expand Sample Sales > F1 Revenue.
View Image -
Select all F1 Revenue logical columns except for Revenue and Units.
View Image -
Right-click any one of the highlighted logical columns and select Delete. Alternatively you can select Edit > Delete or press the Delete key on your keyboard.
View Image -
Click Yes to confirm the delete.
View Image -
Confirm that F1 Revenue contains only the Revenue and Units columns.
View Image
Creating Simple Measures
-
Double-click the Revenue logical column to open the Logical Column dialog box.
View Image -
Click the Aggregation tab.
View Image -
Change the default aggregation rule to Sum.
View Image -
Click OK to close the Logical Column dialog box. Notice that the icon has changed for the Revenue logical column indicating that the aggregation rule has been applied.
View Image -
Repeat the steps to define the SUM aggregation rule for the Units logical column.
View ImageMeasures are typically data that is additive, such as total dollars or total quantities. The F1 Revenue logical fact table contains the measures in your business model. You aggregated two logical columns by summing the column data.
-
Save the repository without checking global consistency.
Congratulations! You have successfully built a business model in the Business Model and Mapping layer of a repository and created business measures.
Building the Presentation Layer of a Repository
You have created the initial Sample Sales business model in the repository. You now create the Presentation layer of the repository. The Presentation layer exposes the business model objects in Oracle BI user interfaces so that users can build analyses and dashboards to analyze their data.
To build the Presentation layer you perform the following steps:
- Creating a Subject Area
- Creating Presentation Tables
- Creating Presentation Columns
- Renaming Presentation Columns
- Reordering Presentation Columns
Creating a Subject Area
-
Right-click the white space in the Presentation layer and select New Subject Area to open the Subject Area dialog box.
View Image -
On the General tab, enter Sample Sales as the name of the subject area.
View Image -
Click OK to close the Subject Area dialog box. The Sample Sales subject area is added to the Presentation layer.
View Image
Creating Presentation Tables
-
Right-click the Sample Sales subject area and select New Presentation Table to open the Presentation Table dialog box.
View Image -
On the General tab, enter Time as the name of the presentation table.
View Image -
Click OK to close the Presentation Table dialog box. The Time presentation table is added to the Sample Sales subject area.
View Image -
Repeat the process and add three more presentation tables: Products, Customers, and Base Facts.
View ImagePlease note that you are using the manual method for creating Presentation layer objects. For simple models it is also possible to drag objects from the BMM layer to the Presentation layer to create the Presentation layer objects. When you create presentation objects by dragging from the BMM layer, the business model becomes a subject area, the logical tables become presentation tables, and the logical columns become presentation columns. Note that all objects within a subject area must derive from a single business model.
Creating Presentation Columns
-
In the BMM layer, expand the D1 Time logical table.
View Image -
Select the following logical columns:
Calendar Date
Per Name Half
Per Name Month
Per Name Qtr
Per Name Week
Per Name Year.View Image -
Drag the selected logical columns to the Time presentation table in the Presentation layer.
View Image -
Repeat the process and add the following logical columns to the remaining presentation tables:
Products: Drag Brand, Lob, Prod Dsc, Type from D2 Product.
Customers: Drag Cust Key, Name from D3 Customer.
Base Facts: Drag Revenue, Units from F1 Revenue.View Image
Renaming Presentation Columns
-
In the Presentation layer, expand the Products presentation table.
View ImageNotes: By default, presentation object names are read-only. Select “Edit presentation names” option to allow the names of presentation objects to be modified.
To set Edit presentation names options:
In the Administration Tool, select Tools, then select Options to display the Options dialog.
On the General tab, select the Edit presentation names options you want to choose.
-
Double-click the Lob presentation column to open the Presentation Column dialog box. On the General tab notice that "Use Logical Column Name" is selected. When you drag a logical column to a presentation table, the resulting presentation column inherits the logical column name by default. In this example the Lob presentation column inherits the name of the logical column "Sample Sales"."D2 Product"."Lob".
View Image -
Deselect Use Logical Column Name. The Name field is now editable.
View Image -
Enter Line of Business in the Name field.
View Image -
Click OK to close the Presentation Column dialog box. Notice that the presentation column name is now changed to Line of Business in the Presentation layer.
View Image -
In the BMM layer, expand D2 Product. Notice that the Lob logical column name is not changed. The point here is you can change object names in the Presentation layer without impacting object names in the BMM or Physical layers.
View Image -
In the BMM layer, rename the Prod Dsc logical column to Product. Notice that the name change is inherited by the corresponding presentation column.
View Image -
Make the following name changes to logical objects in the BMM layer so that the names of the corresponding presentation columns are also changed:
For the D3 Customer logical table:
Change Cust Key to Customer Number.
Change Name to Customer Name.View Image -
Confirm that the corresponding presentation column names are changed.
View Image
Reordering Presentation Columns
-
In the Presentation layer, double-click the Time presentation table to open the Presentation Table dialog box.
View Image -
Click the Columns tab.
View Image -
Select columns and use the up and down arrows, or drag the columns. to rearrange the presentation columns into the following order from top to bottom:
Per Name Year
Per Name Half
Per Name Qtr
Per Name Month
Per Name Week
Calendar DateView Image -
Click OK to close the Presentation Table dialog box and confirm that the presentation column order is changed in the Presentation layer.
View Image -
Repeat the steps to reorder the columns in the Products presentation table:
Brand
Line of Business
Type
ProductView Image -
Save the repository without checking global consistency.
Congratulations! You have successfully built the Presentation layer of a repository.
Testing and Validating a Repository
You have finished building an initial business model and now need to test and validate the repository before continuing. You begin by checking the repository for errors using the consistency checking option. Next you load the repository into Oracle BI Server memory. You then test the repository by running an Oracle BI analysis and verifying the results.
To test and validate a repository you perform the following steps:
- Checking Consistency
- Disabling Cache
- Loading the Repository
- Creating and Running Analysis
Checking Consistency
-
Select File > Check Global Consistency.
View Image -
You should receive the message: A Global Consistency Check was performed; 0 Error(s) (0 shown), 0 Warning(s) (0 shown), and 0 Best Practice violation(s) (0 shown) found.
View ImageIf you do not receive this message, you must fix any consistency check errors or warnings before proceeding.
-
Click Close. Notice that the Sample Sales business model icon in the BMM layer is now green, indicating it is available for queries.
View Image -
Save File > Save to save the repository.
Select File > Close to close the repository. Leave the Administration Tool open.
Disabling Cache
-
Open a browser and enter the following URL to navigate to Oracle Enterprise Manager:
http://<machine name>:9500/em
In this tutorial the URL is http://localhost:9500/em
-
Log in as an administrative user. Typically you use the administrative user name and password provided during the Oracle BI installation. In this example the user name is weblogic.
View Image -
On the top left, click Target Navigation.
View Image -
Expand Business Intelligence and click biinstance.
Click outside of the navigation tree to see the tabs on the page.
View Image -
On the top right, click Lock and Edit.
View Image -
You receive the confirmation message "The edit session lock has been acquired. No pending changes exist."
View Image -
Click the Configuration tab.
View Image -
Click the Performance sub tab.
View Image -
Locate the Enable BI Server Cache section. Cache is enabled by default.
View Image -
Deselect Cache enabled. Caching is typically not used during development. Disabling cache improves query performance.
View Image -
Click Apply.
View Image -
Click Activate Changes.
View Image -
You receive the confirmation message " All changes have been activated. The edit session lock has been released."
View Image
Loading the Repository
-
Open the command prompt and type "cd \" to change the directory and press the Enter key.
-
Type "cd C:\Oracle\Middleware\Oracle_Home\user_projects\domains\bi\bitools\bin" and press the Enter key.
View Image -
Run the data-model-cmd.cmd utility with the uploadrpd parameters:
uploadrpd -I BISAMPLE.rpd -W Admin123 -U weblogic -P welcome1 -SI ssi
If the operation completes successfully, you will see the following message:
"Operation Successful. RPD upload completed successfully. "View ImageNotes:
I specifies name of the repository.
W specifies the repository’s password.
U specifies a valid user’s name to be used for Oracle BI EE authentication.
P specifies the password corresponding to the user’s name that you specified for U.
SI specifies the name of the service instance.
Creating and Running Analysis
-
Open a browser or a new browser tab and enter the following URL to navigate to Oracle Business Intelligence:
http://<machine name>:9502/analytics
In this tutorial the URL is http://localhost:9502/analytics
-
Sign in as an administrative user. Typically you use the administrative user name and password provided during the Oracle BI installation. In this example the user name is weblogic. If you need help identifying a user name and password, contact your company's Oracle BI Administrator.
View Image -
In the left navigation pane, under Create... >Analysis and Interactive Reporting, select Analysis.
View Image -
Select the Sample Sales subject area.
View Image -
Select “Reload Server Metadata”.
View Image -
In the left navigation pane, expand the folders in the Sample Sales subject area and confirm that the user interface matches the Presentation layer of the repository.
View Image -
Double-click the following column names in the Subject Areas pane to add them to the analysis:
Time.Per Name Year
Products.Type
Base Facts.RevenueView Image -
Click Results.
View Image -
The analysis results are displayed in a compound layout, which includes a Title view and a Table view.
View Image -
Use scrollbar slider of the compound layout to view additional rows.
View Image
Managing Logical Table Sources
In this set of steps you create multiple logical table sources for the D3 Customer logical table. To create multiple logical table sources you perform the following steps:
- Opening the Repository in Offline Mode
- Adding a New Logical Table Source
- Creating Presentation Layer Objects
- Loading the Repository
- Creating and Running an Analysis
Opening the Repository in Offline Mode
-
Return to the Administration Tool.
-
Open the BISAMPLE repository in offline mode with repository password as Admin123. Recall that earlier in this tutorial you created a copy of the online repository and saved it as BISAMPLE.rpd.
Adding a New Logical Table Source
-
In the BMM layer, expand Sample Sales > D3 Customer > Sources. Notice that the D3 Customer logical table has one logical table source named D3 Customer.
View Image -
Rename the D3 Customer logical table source (not the logical table) to LTS1 Customer.
View Image -
Double-click LTS1 Customer to open the Logical Table Source dialog box.
View Image -
Click the Column Mapping tab and notice that all logical columns map to physical columns in the same physical table: D3 Customer. It may be necessary to scroll to the right to see the Physical Table column. Make sure "Show mapped columns" is selected.
View Image -
Click OK to close the Logical Table Source dialog box.
-
In the Physical layer, expand biplatform_datasource.
View Image -
Drag D4 Address from the Physical layer to the D3 Customer logical table in the BMM layer. Notice this creates a new logical table source named D4 Address for the D3 Customer logical table. It also creates new logical columns that map to the D4 Address physical table.
View Image -
In the BMM layer, double-click the new D4 Address logical table source to open the Logical Table Source dialog box.
View Image -
On the General tab, enter LTS2 Customer Address in the Name field.
View Image -
Click the Column Mapping tab and notice that all logical columns map to physical columns in the same physical table: D4 Address. If necessary, select Show mapped columns and deselect Show unmapped columns.
View Image -
Click OK to close the Logical Table Source dialog box.
View Image -
Confirm that the D3 Customer logical table now has two logical table sources: LTS1 Customer and LTS2 Customer Address. A single logical table now maps to two physical sources.
View Image -
Right-click the new ADDRESS_KEY column and select Delete. This is a duplicate column and is not needed.
View Image -
Click Yes to confirm the delete.
View Image -
Use the Rename Wizard or a manual renaming technique to rename the new address logical columns (with uppercase letters) in D3 Customer. Your results should look similar to the screenshot. Hint: To use the Rename Wizard, select all of the new logical columns, then right-click any one of the highlighted columns and select Rename Wizard to launch the wizard. If you need help using the Rename Wizard, refer to Renaming Objects Using the Rename Wizard section from earlier in this tutorial.
View Image -
Rename the remaining logical table sources according to the following table. Recall that logical table sources are located in the Sources folder for a logical table. For example: D2 Product > Sources.
Logical Table SourceRenameD2 Product LTS1 Product F1 Revenue LTS1 Revenue Your results should look similar to the screenshot.
View Image
Creating Presentation Layer Objects
-
In the Presentation layer, right-click the Sample Sales subject area and select New Presentation Table to open the Presentation Table dialog box.
View Image -
On the General tab, enter Customer Regions in the Name field.
View Image -
Click OK to close the Presentation Table dialog box. Confirm that the Customer Regions presentation table is added to the Sample Sales subject area in the Presentation layer.
View Image -
In the BMM layer, expand Sample Sales > D3 Customer.
View Image -
Drag the following logical columns from D3 Customer to Customer Regions in the Presentation layer:
Address 1
Address 2
Area
City
Country Name
Estab Name
Postal Code
Region
State Province
State Province AbbrvYour column names may be slightly different depending on how you renamed them.
View Image -
Reorder the Customer Regions presentation columns in the following order, from top to bottom:
Region
Area
Country Name
State Province
State Province Abbrv
City
Postal Code
Address 1
Address 2
Estab NameView Image -
Double-click the Sample Sales subject area in the Presentation layer to open the Subject Area dialog box.
View Image -
Click the Presentation Tables tab.
View Image -
Reorder the presentation tables so that Customer Regions appears after Customers.
View Image -
Click OK to close the Subject Area dialog box. Confirm that the presentation tables appear in the expected order.
View ImageYou now have two presentation tables, Customers and Customer Regions, mapped to the same logical table, D3 Customer. The D3 Customer logical table is mapped to two physical sources: D3 Customer and D4 Address.
-
Save the repository and check global consistency when prompted. You should receive a message that there are no errors, warnings, or best practice violations to report.
If you do receive any consistency check errors or warnings, fix them before proceeding.
-
Click Close to close the Consistency Check Manager dialog box.
-
Close the repository and keep the Administration Tool open.
Loading the Repository
-
Repeat the steps described in the Testing and Validating Repostory, Loading the Repository section above to upload the saved repository to the BI Server.
Creating and Running an Analysis
-
Return to Oracle BI, which should still be open. If not, open a browser or browser tab and enter the following URL to navigate to Oracle Business Intelligence:
http://<machine name>/:9502/analytics
In this tutorial the URL is http://localhost:9502/analytics.
-
If your previous session has timed out, sign in as an administrative user. Typically you use the administrative user name and password provided during the Oracle BI installation. In this example the user name is weblogic.
View Image -
In the left navigation pane, under Create... Analysis and Interactive Reporting, select Analysis.
View Image -
Select the Sample Sales subject area.
View Image -
Select “Reload Server Metadata”.
View Image -
In the left navigation pane, expand the folders and confirm that the Customer Regions folder and corresponding columns appear.
View Image -
Create the following analysis by double-clicking column names in the Subject Areas pane:
Customer Regions.Region
Customers.Customer Name
Products.Type
Base Facts.RevenueView Image -
Click Results to view the analysis results. Use the Get more rows button at the bottom of the results screen to see more rows.
View Image
Creating Calculation Measures
In this set of steps you use existing measures to created a derived calculation measure. To create a derived calculation measure you perform the following steps:
- Opening the Repository in Offline Mode
- Creating a Calculation Measure Derived from Existing Columns
- Creating a Calculation Measure Using a Function
- Loading the Repository
- Creating and Running an Analysis
Opening the Repository in Offline Mode
-
Return to the Administration Tool.
-
Select File > Open > Offline.
View Image -
Select BISAMPLE.rpd and click Open.
View Image -
Enter Admin123 as the repository password and click OK to open the repository.
View Image
Creating a Calculation Measure Derived from Existing Columns
-
In the BMM layer, expand Sample Sales > F1 Revenue.
View Image -
Right-click F1 Revenue and select New Object > Logical Column to open the Logical Column dialog box.
View Image On the General tab, enter Actual Unit Price in the Name field.
View ImageClick the Column Source tab.
View Image-
Select Derived from existing columns using an expression.
View Image Click the Edit Expression button to open Expression Builder.
View Image-
In the left pane select Logical Tables > F1 Revenue > Revenue.
View Image -
Click the Insert selected item button to move the Revenue column to the right pane.
View Image -
Click the division operator to add it to the expression.
View Image -
In the left pane select Logical Tables > F1 Revenue and then double-click Units to add it to the expression.
View Image Click OK to close Expression Builder. Notice that the formula is added to the Logical Column dialog box.
View Image-
Click OK to close the Logical Column dialog box. The Actual Unit Price calculated measure is added to the business model.
View Image Drag Actual Unit Price from the BMM layer to the Base Facts presentation table in the Presentation layer.
View ImageSave the repository and check consistency. Fix any errors or warnings before proceeding.
Creating a Calculation Measure Using a Function
-
In the BMM layer, right-click F1 Revenue and select New Object > Logical Column to open the Logical Column dialog box.
View Image -
On the General tab, enter Revenue Rank in the Name field.
View Image Click the Column Source tab.
View ImageSelect Derived from existing columns using an expression.
View Image-
Click the Edit Expression button to open Expression Builder.
View Image -
In the left pane select Functions > Display functions > Rank.
View Image Click the Insert selected item button to move the Rank function to the right pane.
View ImageClick <<numeric expression>> in the expression.
View ImageIn the left pane select Logical Tables > F1 Revenue and then double-click Revenue to add it to the expression.
View ImageClick OK to close Expression Builder. Notice that the formula is added to the Logical Column dialog box.
View ImageClick OK to close the Logical Column dialog box. The Revenue Rank calculated measure is added to the business model.
View ImageDrag Revenue Rank from the BMM layer to the Base Facts presentation table in the Presentation layer.
View Image-
Save the repository and check consistency. Fix any errors or warnings before proceeding.
View Image -
Close the repository and keep the Administration Tool open.
Loading the Repository
-
Repeat the steps described in the Testing and Validating Repostory, Loading the Repository section above to upload the saved repository to the BI Server.
Creating and Running an Analysis
-
Return to Oracle BI, which should still be open. If not, open a browser or browser tab and enter the following URL to navigate to Oracle Business Intelligence:
http://<machine name>/:9502/analytics
In this tutorial the URL is http://localhost:9502/analytics.
-
If necessary, log in as an administrative user. Typically you use the administrative user name and password provided during the Oracle BI installation. In this example the user name is weblogic.
-
In the left navigation pane, under Create... Analysis and Interactive Reporting, select Analysis.
-
Select the Sample Sales subject area.
-
In the left navigation pane, expand the Base Facts folder and confirm that the Actual Unit Price and Revenue Rank columns are visible.
View Image -
Create the following analysis by double-clicking column names in the Subject Areas pane:
Products.Product
Base Facts.Revenue
Base Facts.Revenue Rank
Base Facts.Units
Base Facts.Actual Unit PriceView Image -
Sort Revenue Rank in ascending order.
View Image -
Click Results to view the analysis results.
View ImagePlease note that the Actual Unit Price calculation is correct, although it does not make sense from a business perspective. For example, the unit price for an LCD HD Television would not be 9 dollars. This is a result of the underlying sample data.
Creating Logical Dimensions with Level-Based Hierarchies
In this set of steps you add logical dimension hierarchies to the business model. A logical dimension represents a hierarchical organization of logical columns belonging to a single logical dimension table. Logical dimensions can exist in the Business Model and Mapping layer and in the Presentation Layer. Adding logical dimensions to the Presentation layer exposes them to users, which enables users to create hierarchy-based queries. You implement four logical dimensions for ABC: Time, Product, Office, and Customer. Creating logical dimensions with hierarchies allows you to build level-based measures, define aggregation rules that vary by dimension, provide drill down on charts and tables in analyses and dashboards, and define the content of aggregate sources.To create logical dimensions with level-based hierarchies, you perform the following steps:
- Opening the Repository in Offline Mode
- Creating a Logical Dimension for Product
- Creating Logical Levels
- Associating Logical Columns with Logical Levels
- Setting Logical Level Keys
- Creating a Logical Dimension for Time
- Associating Time Logical Columns with Logical Levels
- Creating a Logical Dimension for Customer
- Setting Aggregation Content for Logical Table Sources
- Testing Your Work
Opening the Repository in Offline Mode
-
Return to the Administration Tool, which should still be open.
-
Select File > Open > Offline.
-
Select BISAMPLE.rpd and click Open.
-
Enter Admin123 as the repository password and click OK to open the repository.
Creating a Logical Dimension for Product
-
In the BMM layer, right-click the Sample Sales business model and select New Object > Logical Dimension > Dimension with Level-Based Hierarchy to open the Logical Dimension dialog box.
-
Name the logical dimension H2 Product.
View Image -
Click OK. The logical dimension is added to the Sample Sales business model.
View Image
Creating Logical Levels
-
Right-click H2 Product and select New Object > Logical Level.
View Image -
Name the logical level as Product Total.
View Image -
Because this level represents the grand total for products, select the Grand total level check box. Note that when you do this, the Supports rollup to higher level of aggregation field is grayed out and protected.
View Image -
Click OK to close the Logical Level dialog box. The Product Total level is added to the H2 Product logical dimension.
View Image -
Right-click Product Total and select New Object > Child Level to open the Logical Level dialog box.
View Image -
Name the logical level Product Brand.
View Image -
Click OK to close the Logical Level dialog box. The Product Brand level is added to the logical dimension.
View Image -
Repeat the steps to add the following child levels:
Product LOB as a child of Product Brand
Product Type as a child of Product LOB
Product Detail as a child of Product TypeUse the screenshot as a guide:
View Image
Associating Logical Columns with Logical Levels
-
Expand the D2 Product logical table.
View Image -
Drag the Brand column from D2 Product to the Product Brand level in H2 Product.
View Image -
Continue dragging logical columns from the D2 Product logical table to their corresponding levels in the H2 Product logical dimension:
Logical ColumnLogical LevelLob Product LOB Type Product Type Product Product Detail Prod Key Product Detail Your results should look similar to the screenshot:
View Image
Setting Logical Level Keys
-
Double-click the Product Brand logical level to open the Logical Level dialog box. On the General tab, notice that the Product LOB child level is displayed.
View Image -
Click the Keys tab.
View Image -
Enter Brand for Key Name.
View Image -
In the Columns field, use the drop down list to select D2 Product.Brand.
View Image -
Check Use for Display. When this is selected, users can drill down to this column from a higher level.
View Image -
Set Brand as the Primary key.
View Image -
Click OK to close the Logical Level dialog box. The icon changes for Brand to show that it is the key for the Product Brand level.
View Image -
Use a different technique to create a logical level key: Right-click Lob for the Product LOB level and select New Logical Level Key to open the Logical Level Key dialog box.
View Image -
In the Logical Level Key dialog box, accept the defaults and click OK.
View Image -
The icon changes for Lob to show that it is the key for the Product LOB level.
View Image -
Use either method to set the remaining keys for the H2 Product logical dimension:
Logical LevelLogical Level KeyUse for DisplayProduct Type Type Yes Product Detail Product Yes Product Detail Prod Key No Your results should look similar to the screenshot:
View ImagePlease note that the Detail level (lowest level of the hierarchy) must have the column that is the logical key of the dimension table associated with it and it must be the key for that level: Prod Key in this example.
-
Set Prod Key as the primary key for the Product Detail level. Hint: Double-click the level and select the Keys tab.
View Image
Creating a Logical Dimension for Time
-
Use a different technique to create a logical dimension for Time. Right-click the D1 Time logical table and select Create Logical Dimension > Dimension with Level-Based Hierarchy.
View Image -
A new logical dimension, D1 TimeDim in this example, is automatically added to the business model.
View Image -
Rename D1 TimeDim to H1 Time.
View Image -
Expand H1 Time . Notice that two levels were created automatically: D1 Time Total and D1 Time Detail. D1 Time Detail is populated with all of the columns from the D1 Time logical table.
View Image -
Rename D1 Time Total to Time Total, and rename D1 Time Detail to Time Detail.
View Image -
Right-click Time Detail and select New Object > Parent Level to open the Logical Level dialog box.
View Image -
On the General tab, name the logical level Week, and check Supports rollup to higher level of aggregation.
View Image -
Click OK to close the Logical Level dialog box. The Week level is added to the H1 Time logical dimension.
View Image -
Repeat the steps to add the remaining logical levels:
Month as a parent of Week
Quarter as a parent of Month
Half as a parent of Quarter
Year as a parent of HalfYour final results should look similar to the screenshot:
View Image
Associating Time Logical Columns with Logical Levels
-
Use a different technique to associate logical columns with logical levels. Drag the logical columns from the Time Detail logical level (not from the D1 Time logical table) to their corresponding levels in the H1 Time logical dimension. This is a convenient technique when logical columns are buried deep in the business model.
Logical ColumnLogical LevelPer Name Year Year Per Name Half Half Per Name Qtr Quarter Per Name Month Month Per Name Week Week Your results should look similar to the screenshot:
View Image -
Delete all remaining columns from the Time Detail level except for Calendar Date so that only Calendar Date is associated with the Time Detail level. Notice that deleting objects from the hierarchy does not delete them from the logical table in the business model.
View Image -
Set the logical keys for the H1 Time logical dimension according to the following table:
Logical LevelLevel KeyUse for DisplayYear Per Name Year Yes Half Per Name Half Yes Quarter Per Name Qtr Yes Month Per Name Month Yes Week Per Name Week Yes Time Detail Calendar Date Yes View Image
Creating a Logical Dimension for Customer
-
Use either technique to create a logical dimension with a level-based hierarchy named H3 Customer for the D3 Customer logical table with the following levels, columns, and keys. Hint: Create the levels first, then double-click a logical column to open the Logical Column dialog box and use the Levels tab to associate the logical column with a logical level.
LevelColumnKeyUse for DisplayCustomer Total <none> <none> <none> Customer Region Region Region Yes Customer Area Area Area Yes Customer Country Country Name Country Name Yes Customer State
State Province
State Province
Yes
Customer City City City Yes Customer Postal Code Postal Code Postal Code Yes Customer Detail Customer Name
Customer Number
Customer Name
Customer Number
Yes
No
Set Customer Total as the grand total level.
Set Customer Number as the primary key for the Customer Detail level.
Your results should look similar to the screenshot:
View Image
Setting Aggregation Content for Logical Table Sources
-
Expand D1 Time > Sources.
View Image -
Double-click the LTS1 Time logical table source to open the Logical Table Source dialog box.
View Image -
Click the Content tab.
-
Confirm that Aggregation content, group by is set to Logical Level and the logical level is set to Time Detail for the H1 Time logical dimension.
View Image -
Click OK to close the Logical Table Source dialog box.
-
Repeat to verify or set content settings for the remaining logical table sources using the table and screenshots as a guide:
Logical Table SourceLogical Dimension Logical Level LTS1 Product H2 Product Product Detail LTS1 Customer H3 Customer Customer Detail LTS2 Customer Address H3 Customer Customer Detail LTS1 Revenue H1 Time
H2 Product
H3 Customer
Time Detail
Product Detail
Customer Detail
View ImageView ImageView ImageView Image -
Save the repository and check global consistency. Fix any errors or warnings before proceeding. Notice that you did not have to make any changes to the Presentation layer.
-
Close the repository. Leave the Administration Tool open.
Testing Your Work
-
Return to data-model-cmd.cmd utility and load the BISAMPLE repository.
-
Return to Oracle BI, which should still be open, and sign in if necessary.
-
Create the following analysis to test the Product hierarchy.
Products.Brand
Base Facts.RevenueView Image -
Click Results.
View Image -
Click on the BizTech brand and verify that you can drill down through the hierarchy to see revenue data at each level.
View Image -
Select New > Analysis > Sample Sales.
View Image -
Click Leave Page when prompted with the message: “This page is asking you to confirm that you want to leave - data you have entered may not be saved.”
View Image -
Create the following analysis:
Time.Per Name Year
Base Facts.RevenueView Image -
Click Results and verify that you can drill down through the Time hierarchy.
View Image -
Repeat the steps and create the following analysis to test the Customers hierarchy:
Customer Regions.Region
Base Facts.RevenueView Image -
Click Results and verify that you can drill down through the Customers hierarchy.
View Image -
Sign out of Oracle BI. Click Leave Page when prompted about navigating away from this page. Leave the Oracle BI browser page open.
Creating Level-Based Measures
In this set of steps you create level-based measures that calculate total dollars at various levels in the Product hierarchy, and then use a level-based measure to create a share measure.
To create level-based measures and a share measure, you perform the following steps:
- Opening the Repository in Offline Mode
- Creating Level-Based Measures
- Creating a Share Measure
- Testing Your Work
Opening the Repository in Offline Mode
-
Return to the Administration Tool, which should still be open.
-
Select File > Open > Offline.
-
Select BISAMPLE.rpd and click Open.
-
Enter Admin123 as the repository password and click OK to open the repository.
Creating Level-Based Measures
-
In the BMM layer, right-click the F1 Revenue table and select New Object > Logical Column to open the Logical Column dialog box.
View Image -
On the General tab, enter Product Total Revenue in the Name field.
View Image -
Click the Column Source tab.
View Image -
Select Derived from existing columns using an expression.
View Image -
Open the Expression Builder.
View Image -
In the Expression Builder, add Logical Tables > F1 Revenue > Revenue to the expression. Recall that the Revenue column already has a default aggregation rule of Sum.
View Image -
Click OK to close Expression Builder.
-
Click the Levels tab.
View Image -
For the H2 Product logical dimension, select Product Total from the Logical Level drop-down list to specify that this measure should be calculated at the grand total level in the product hierarchy.
View Image -
Click OK to close the Logical Column dialog box. The Product Total Revenue measure appears in the Product Total level of the H2 Product logical dimension and the F1 Revenue logical fact table.
View Image -
Repeat the steps to create a second level-based measure:
NameLogical DimensionLogical LevelProduct Type Revenue H2 Product Product Type View Image -
Expose the new columns to users by dragging Product Total Revenue and Product Type Revenue to the Base Facts presentation table in the Sample Sales subject area in the Presentation layer. You can drag the columns from either the H2 Product logical dimension or the F1 Revenue logical table.
View Image
Creating a Share Measure
-
In the BMM layer, right-click the F1 Revenue table and select New Object > Logical Column to open the Logical Column dialog box.
-
On the General tab, name the logical column Product Share.
View Image -
On the Column Source tab, select "Derived from existing columns using an expression".
View Image -
Open the Expression Builder.
View Image -
In the Expression Builder, Select Functions > Mathematic Functions > Round.
View Image -
Click Insert selected item. The function appears in the edit box.
View Image -
Click Source Number in the formula.
View Image -
Enter 100* followed by a space.
View Image -
Insert Logical Tables > F1 Revenue > Revenue.
View Image -
Using the toolbar, click the Division button. Another set of angle brackets appears, <<expr>>.
View Image -
Click <<expression>>.
View Image -
Insert Logical Tables > F1 Revenue > Product Total Revenue. Recall that this is the total measure for the hierarchy.
View Image -
Click between the last set of angle brackets, <<Digits>>, and enter 1. This represents the number of digits of precision with which to round the integer.
View Image -
Check your work:
Round(100* "Sample Sales"."F1 Revenue"."Revenue" / "Sample Sales"."F1 Revenue"."Product Total Revenue" , 1)
This share measure will allow you to run an analysis that shows how revenue of a specific product compares to total revenue for all products.
-
Click OK to close the Expression Builder. The formula is visible in the Logical Column dialog box.
View Image -
Click OK to close the Logical Column dialog box. The Product Share logical column is added to the business model.
View Image -
Add the Product Share measure to the Base Facts presentation table.
View Image -
Save the repository. Check consistency. You should receive the following message.
View ImageIf there are consistency errors or warnings, correct them before you proceed.
-
Close the repository.
Testing Your Work
-
Return to data-model-cmd.cmd utility and load the BISAMPLE repository.
-
Return to Oracle BI, which should still be open, and sign in.
-
Create the following analysis to test the level-based and share measures.
Products.Product
Base Facts.Revenue
Base Facts.Product Type Revenue
Base Facts.Product ShareView Image -
For the Product Share column, select Column Properties.
View Image -
On the Data Format tab, select Override Default Data Format.
View Image -
Change Treat Numbers As to Percentage and set Decimal Places to 2. Deselect Use 1000's separator.
View Image -
Click OK to close the Column Properties dialog box.
-
Sort Product Share in descending order.
View Image -
Click Results. Notice that Product Type Revenue returns dollars grouped by Type even though the query is at a different level than Type; Product in this example. Product Share shows the percent of total revenue for each product sorted in descending order.
View Image -
Sign out of Oracle BI. Click Leave Page when prompted about navigating away from this page. Leave the Oracle BI browser page open.
Creating Logical Dimensions with Parent-Child Hierarchies
A parent-child hierarchy is a hierarchy of members that all have the same type. This contrasts with level-based hierarchies, where members of the same type occur only at a single level of the hierarchy. The most common real-life occurrence of a parent-child hierarchy is an organizational reporting hierarchy chart, where the following all apply:
• Each individual in the organization is an employee.
• Each employee, apart from the top-level managers, reports to a single manager.
• The reporting hierarchy has many levels.
In relational tables, the relationships between different members in a parent-child hierarchy are implicitly defined by the identifier key values in the associated base table. However, for each Oracle BI Server parent-child hierarchy defined on a relational table, you must also explicitly define the inter-member relationships in a separate parent-child relationship table.
To create a logical dimension with a parent-child hierarchy, perform the following steps:
- Opening the Repository in Offline Mode
- Importing Metadata and Define Physical Layer Objects
- Creating Logical Table and Logical Columns
- Creating a Logical Join
- Creating a Parent-Child Logical Dimension
- Defining Parent-Child Settings
- Creating Presentation Layer Objects
- Testing Your Work
Opening the Repository in Offline Mode
-
Return to the Administration Tool, which should still be open.
-
Select File > Open > Offline.
-
Select BISAMPLE.rpd and click Open.
-
Enter Admin123 as the repository password and click OK to open the repository.
Importing Metadata and Define Physical Layer Objects
-
In the Physical layer, expand biplatform_datasource.
View Image -
Right-click Connection Pool and select Import Metadata to open the Import Wizard.
View Image -
In the Select Metadata Types screen, accept the defaults and click Next.
View Image -
In the Select Metadata Objects screen, in the data source view, expandbiplatform_datasource and select the following tables for import:
SAMP_EMPL_D_VH
SAMP_EMPL_PARENT_CHILD_MAP
SAMP_EMPL_POSTN_DView Image -
Click the Import Selected button to move the tables to the Repository View.
View Image -
Click Finish to close the Import Wizard.
-
Confirm that the three tables are visible in the Physical layer of the repository.
View Image -
Right-click SAMP_EMPL_PARENT_CHILD_MAP and select View Data.
View ImageThis is an example of a parent-child relationship table with rows that define the inter-member relationships of an employee hierarchy. It includes a Member Key column, which identifies the member (employee); an Ancestor Key, which identifies the ancestor (manager) of the member; a Distance column, which specifies the number of parent-child hierarchy levels from the member to the ancestor; and a Leaf column, which indicates if the member is a leaf member.
-
Create the following aliases for the tables:
TableAliasSAMP_EMPL_D_VH D50 Sales Rep SAMP_EMPL_PARENT_CHILD_MAP D51 Sales Rep Parent Child SAMP_EMPL_POSTN_D D52 Sales Rep Position View Image -
Use the Physical Diagram to create the following physical joins for the alias tables:
"biplatform_datasource"."".""."D52 Sales Rep Position"."POSTN_KEY" = "biplatform_datasource"."".""."D50 Sales Rep"."POSTN_KEY"
"biplatform_datasource"."".""."D50 Sales Rep"."EMPLOYEE_KEY" = "biplatform_datasource"."".""."D51 Sales Rep Parent Child"."ANCESTOR_KEY"
"biplatform_datasource"."".""."D51 Sales Rep Parent Child"."MEMBER_KEY" = "biplatform_datasource"."".""."F1 Revenue"."EMPL_KEY"
View Image
Creating Logical Table and Logical Columns
-
In the BMM layer, right-click the Sample Sales business model and select New Object > Logical Table to open the Logical Table dialog box.
View Image -
On the General tab, name the logical table D5 Sales Rep.
View Image -
Click OK to add the logical table to the business model.
View ImageNotice that the D5 Sales Rep icon has a # sign. This is because you have not yet defined the logical join relationship. When you define the logical join later in this tutorial the icon will change accordingly.
-
Drag all six columns from D50 Sales Rep in the Physical layer to D5 Sales Rep in the BMM layer. This action creates logical columns and adds a D50 Sales Rep logical table source to D5 Sales Rep.
View Image -
Rename the D50 Sales Rep logical table source to LTS1 Sales Rep.
View Image -
In the Physical layer, expand D52 Sales Rep Position.
View Image -
Drag POSTN_DESC and POSTN_LEVEL from D52 Sales Rep Position to LTS1 Sales Rep. Note that you are dragging the columns to the logical table source, not the logical table. Dragging to the logical table would create a second logical table source.
View Image -
Drag DISTANCE from D51 Sales Rep Parent Child to LTS1 Sales Rep. Again, you drag the column to the logical table source, not the logical table.
View Image -
Rename the logical columns:
Old NameNew NamePOSTN_KEY Position Key TYPE Sales Rep Type EMPL_NAME Sales Rep Name EMPLOYEE_KEY Sales Rep Number HIRE_DT Hire Date MGR_ID Manager Number POSTN_DESC Position POSTN_LEVEL Position Level DISTANCE Closure Distance View Image
Creating a Logical Join
-
In the BMM layer, select D5 Sales Rep and F1 Revenue.
View Image -
Right-click either highlighted table and select Business Model Diagram > Selected Tables Only to open the Business Model Diagram.
View Image -
Create a logical join between D5 Sales Rep and F1 Revenue with F1 Revenue at the many end of the join.
View Image -
Close the Business Model Diagram. Notice that the icon has changed for the D5 Sales Rep table.
View ImageNotice that the D5 Sales Rep icon is not having # sign.
Creating a Parent-Child Logical Dimension
-
Right-click the D5 Sales Rep logical table and select Create Logical Dimension > Dimension with Parent-Child Hierarchy.
View Image -
In the Logical Dimension dialog box, on the General tab, name the logical dimension H5 Sales Rep.
View Image -
Click Browse next to Member Key. The Browse window shows the physical table and its corresponding key.
View Image -
Click View to open the Logical Key dialog box. Confirm that the Sales Rep Number column is selected.
View Image -
Click Cancel to close the Logical Key dialog box.
-
Click OK to close the Browse window.
-
Click Browse next to Parent Column. The Browse window shows the columns other than the member key.
View Image -
Deselect Show Qualified Names and select Manager Number as the parent column for the parent-child hierarchy.
View Image -
Click OK to close the Browse window, but do not close the Logical Dimension dialog box.
Defining Parent-Child Settings
-
Click Parent-Child Settings to display the Parent-Child Relationship Table Settings dialog box. Note that at this point the Parent-Child Relationship Table is not defined.
View ImageFor each parent-child hierarchy defined on a relational table, you must explicitly define the inter-member relationships in a separate parent-child relationship table. In the process of creating the parent-child relationship table, you may choose one of the following options:
1. Select a previously-created parent-child relationship table.
2. Use a wizard that will generate scripts to create and populate the parent-child relationship table. In the next set of steps you select a previously created and populated parent-child relationship table.
For your information only: To start the wizard you would click the Create Parent-Child Relationship Table button. The wizard creates the appropriate repository metadata objects and generates SQL scripts for creating and populating the parent-child relationship table. At the end of the wizard, Oracle BI Server stores the scripts into directories chosen during the wizard session. The scripts can then be run against the database to create and populate the parent-child relationship table. Running the wizard is not necessary in this tutorial because the parent-child relationship table is already created and populated. -
Click the Select Parent-Child Relationship Table button to open the Select Physical Table dialog box.
View Image -
In the Select Physical Table dialog box, select the D51 Sales Rep Parent Child alias you created.
View Image -
The D51 Sales Rep Parent Child alias is now displayed in the Parent-Child Relationship Table column.
View Image -
In the Parent-Child Table Relationship Column Details section, set the appropriate columns:
Member KeyMEMBER_KEYParent KeyANCESTOR_KEY Relationship DistanceDISTANCE Leaf Node IdentifierIS_LEAF View ImageExplanation:
Member Key identifies the member.
Parent Key identifies an ancestor of the member, The ancestor may be the parent of the member, or a higher-level ancestor.
Relationship Distance specifies the number of parent-child hierarchical levels from the member to the ancestor.
Leaf Node Identifier indicates if the member is a leaf member (1=Yes, 0=No). -
Click OK to close the Parent-Child Relationship Table Settings dialog box.
View Image -
Click OK to close the Logical Dimension dialog box.
View Image -
Right-click H5 Sales Rep and select Expand All. Note that a parent-child logical dimension has only two levels.
View Image -
Delete all columns from the Detail level except for Sales Rep Name and Sales Rep Number.
View Image -
Double-click the Detail level to open the Logical Level dialog box.
-
On the Keys tab, create a new key named Display Key that maps to the Sales Rep Name column.
View Image -
Deselect Use for Display for the Sales Rep Number column and select Use for Display for the Sales Rep Name column.
View Image -
Make sure that Member Key is still set to D50 Sales Rep_Key.
View Image -
Click OK to close the Logical Level dialog box.
View Image -
Expand F1 Revenue > Sources and double-click LTS1 Revenue to open the Logical Table Source dialog box.
View Image -
On the Content tab, set the logical level to Detail for the H5 Sales Rep logical dimension.
View Image -
Click OK to close the Logical Table Source dialog box.
View Image
Creating Presentation Layer Objects
-
Drag the D5 Sales Rep logical table from the BMM layer to the Sample Sales subject area in the Presentation layer.
View Image -
Rename the D5 Sales Rep presentation table to Sales Reps.
View Image -
Move the Sales Reps presentation table above the Base Facts table.
View Image -
Expand the Sales Reps presentation table and notice that the H5 Sales Rep parent-child logical dimension is automatically included as a presentation hierarchy.
View Image -
Double-click the H5 Sales Rep presentation hierarchy to open the Presentation Hierarchy dialog box.
-
On the Display Columns tab, confirm that Sales Rep Name is set as the display column.
View Image -
Click OK to close the Presentation Hierarchy dialog box.
-
Save the repository and check consistency. Fix any errors or warnings before proceeding.
-
Close the repository. Leave the Administration Tool open.
Testing Your Work
-
Return to data-model-cmd.cmd utility and load the BISAMPLE repository.
-
Return to Oracle BI, which should still be open, and sign in.
-
Create the following analysis to test the parent-child logical dimension.
Sales Reps.H5 Sales Reps
Sales Reps.Position
Base Facts.RevenueView Image -
Click Results.
View Image -
Expand the pivot table to view data at different levels of the hierarchy. Notice that the Revenue measure rolls up through each level.
View Image -
Sign out of Oracle BI. Click Leave Page when prompted about navigating away from this page. Leave the Oracle BI browser page open.
Creating Logical Dimensions with Ragged and Skipped-Level Hierarchies
To create logical dimensions with ragged and skipped-level hierarchies, you perform the following steps:
- Importing Metadata and Define Physical Layer Objects
- Creating Logical Table and Logical Columns
- Creating a Ragged/Skipped Levels Logical Dimension
- Creating Presentation Layer Objects
- Testing Your Work
Importing Metadata and Define Physical Layer Objects
-
Open the BISAMPLE repository in offline mode.
-
In the Physical layer, expand biplatform_datasource.
View Image -
Right-click Connection Pool and select Import Metadata to open the Import Wizard.
View Image -
In the Select Metadata Types screen, accept the defaults and click Next.
View Image -
In the Select Metadata Objects screen, in the data source view, expand biplatform_datasource.
-
In the data source view, select the SAMP_PRODUCTS_DR table for import:
View Image -
Click the Import Selected button to move the table to the Repository View.
-
Expand biplatform_datasource in the Repository View and confirm that the SAMP_PRODUCT_DR table is visible.
View Image -
Click Finish to close the Import Wizard.
-
Confirm that the SAMP_PRODUCT_DR table is visible in the Physical layer of the repository.
View Image -
Create the following alias for the table: D20 Product
View Image -
Use the Physical Diagram to create the following physical join for the alias table:
"biplatform_datasource"."".""."D20 Product"."PROD_KEY" = "biplatform_datasource"."".""."F1 Revenue"."PROD_KEY"
View Image -
Right-click D20 Product and select View Data.
View ImageNotice there are skipped levels in the hierarchy. For example, brand A - Brand2 has a NULL value for LOB for the product D - Product 8.
-
Close View Data.
Creating Logical Table and Logical Columns
-
Drag D20 Product from the Physical layer to the Sample Sales business model in the BMM layer to create a D20 Product logical table. The logical join to F1 Revenue is created automatically based on the join in the Physical layer.
View Image -
Rename the D20 Product logical columns:
Old NameNew NameBRAND Brand LOB LOB PROD_DSC Product PROD_KEY Product Number Type Product Type View Image -
Rename the D20 Product logical table source to LTS1 Product (Ragged).
View Image
Creating a Ragged/Skipped Levels Logical Dimension
-
Right-click the D20 Product logical table and select Create Logical Dimension > Dimension with Level-Based Hierarchy to automatically create a logical dimension named D20 ProductDim.
View ImageView Image -
Rename D20 ProductDim to H20 Product.
View Image -
Double-click the H20 Product logical dimension to open the Logical Dimension dialog box.
View Image -
On the General tab, select both Ragged and Skipped Levels.
View Image -
Click OK to close the Logical Dimension dialog box.
-
Expand H20 Product.
View Image -
Create the following hierarchy:
LevelColumnKeyUse for DisplayProduct Total <none> <none> <none> Product Brand Brand Brand Yes Product LOB LOB LOB Yes Product Type Product Type Product Type Yes Product
Product
Product
Yes
Product Detail Product Number Product Number Yes View Image
Setting Aggregation Content
-
Expand F1 Revenue > Sources.
View Image -
Double-click the LTS1 Revenue logical table source to open the Logical Table Source dialog box.
View Image -
Click the Content tab.
-
Confirm that Aggregation content, group by is set to Logical Level and the logical level is set to Product Detail for the H20 Product logical dimension.
View Image -
Click OK to close the Logical Table Source dialog box.
-
Save the repository and check global consistency. Fix any errors or warnings before proceeding.
Creating Presentation Layer Objects
-
Drag the D20 Product logical table to the Sample Sales subject area in the Presentation layer.
View Image -
In the Presentation layer, rename D20 Product to Products (Ragged) and move Products (Ragged) to appear after Products.
View Image -
Expand Products (Ragged) and notice that the H20 Product logical dimension is automatically added to the Presentation layer.
View Image -
Save the repository and check consistency. Fix any errors or warnings before proceeding.
-
Close the repository. Leave the Administration Tool open.
Testing Your Work
-
Return to data-model-cmd.cmd utility and load the BISAMPLE repository.
-
Return to Oracle BI, which should still be open, and sign in.
-
Create the following analysis to test the ragged / skipped level hierarchy:
Products (Ragged).Brand
Products (Ragged).LOB
Products (Ragged).Product Type
Products (Ragged).Product
Base Facts.RevenueView Image -
Click Results.
View ImageThe results display correctly even though there are skipped levels (levels with NULL values) and ragged levels (leaves with varying depth).
-
Sign out of Oracle BI. Click Leave Page when prompted about navigating away from this page. Leave the Oracle BI browser page open.
Using Aggregates
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:
- Importing Metadata
- Creating New Logical Table Sources
- Setting Aggregate Content
- Testing Your Work
Importing Metadata
-
Return to the Administration Tool and open the BISAMPLE repository in offline mode.
In the Physical layer, expand biplatform_datasource.
-
Right-click Connection Pool and select Import Metadata to open the Import Wizard.
-
In the Select Metadata Types screen, select Views and click Next.
View Image -
In the Select Metadata Objects screen, in the data source view, expand BISAMPLE.
-
In the data source view, select the following for import:
SAMP_REVENUE_FA2
SAMP_TIME_QTR_DView Image -
Click the Import Selected button to move the objects to the Repository View.
-
Expand BISAMPLE in the Repository View and confirm that the objects are visible.
View Image -
Click Finish to close the Import Wizard.
-
Confirm that the objects are visible in the Physical layer of the repository.
View Image -
Create the following aliases:
TableAliasSAMP_REVENUE_FA2 F2 Revenue Aggregate SAMP_TIME_QTR_D D1 Time Quarter Grain View Image -
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.
View Image -
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.
View Image -
Use the Physical Diagram to create the following physical joins:
"biplatform_datasource"."".""."D2 Product"."PROD_KEY" = "biplatform_datasource"."".""."F2 Revenue Aggregate"."PROD_KEY"
"biplatform_datasource"."".""."D1 Time Quarter Grain"."QTR_KEY" = "biplatform_datasource"."".""."F2 Revenue Aggregate"."BILL_QTR_KEY"
View Image
Creating New Logical Table Sources
-
In the Physical layer, expand D1 Time Quarter Grain.
View Image -
In the BMM layer, expand D1 Time.
View Image -
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.
D1 Time Quarter GrainD1 TimeCAL_HALF Cal Half CAL_QTR Cal Qtr CAL_YEAR Cal Year DAYS_IN_QTR Days in Qtr JULIAN_QTR_NUM Julian Qtr Num PER_NAME_HALF Per Name Half PER_NAME_QTR Per Name Qtr PER_NAME_YEAR Per Name Year This action creates a new logical table source named D1 Time Quarter Grain for D1 Time.
View Image -
Rename the D1 Time Quarter Grain logical table source to LTS2 Time Quarter Grain.
View Image -
Double-click LTS2 Time Quarter Grain to open the Logical Table Source dialog box.
-
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.
View Image -
Click OK to close the Logical Table Source dialog box.
-
In the Physical layer expand F2 Revenue Aggregate.
View Image -
In the BMM layer expand F1 Revenue.
View Image -
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.
F2 Revenue AggregateF1 RevenueUNITS Units REVENUE Revenue This action creates a new logical table source named F2 Revenue Aggregate for F1 Revenue.
View Image -
Rename the F2 Revenue Aggregate logical table source to LTS2 Revenue Aggregate.
View Image -
Double-click LTS2 Revenue Aggregate to open the Logical Table Source dialog box.
-
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.
View Image -
Leave the Logical Table Source - LTS2 Revenue Aggregate dialog box open.
Setting Aggregate Content
-
Click the Content tab.
-
Set the following logical levels for the logical dimensions:
Logical DimensionLogical LevelH1 Time Quarter H2 Product Product Total H20 Product Product Total H3 Customer Customer Total H5 Sales Rep Total View ImageExplanation: 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.
-
Click OK to close the Logical Table Source dialog box.
-
Double-click the LTS2 Time Quarter Grain logical table source to open the Logical Table Source dialog box.
-
On the Content tab, set the logical level to Quarter.
View Image -
Click OK to close the Logical Table Source dialog box.
-
Save the repository and check global consistency. Fix any errors or warnings before proceeding.
-
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.
Testing Your Work
-
Return to data-model-cmd.cmd utility and load the BISAMPLE repository.
-
Return to Oracle BI, which should still be open, and sign in.
-
Create the following analysis to test the aggregate tables.
Time.Per Name Qtr
Base Facts.RevenueView Image -
Click Results.
View Image -
Click New > Analysis > Sample Sales.
-
Create the following analysis to test the aggregate tables.
Time.Per Name Year
Base Facts.RevenueView Image -
Click Results.
View Image -
Click New > Analysis > Sample Sales.
-
Create one more analysis to test the aggregate tables.
Time.Per Name Month
Base Facts.RevenueView Image -
Click Results.
View Image -
Sign out of Oracle BI. Click Leave Page when prompted about navigating away from this page. Leave the Oracle BI browser page open.
Using Initialization Blocks and Variables
You can use variables in a repository to streamline administrative tasks and modify metadata content dynamically to adjust to a changing data environment. A variable has a single value at any point in time. Variables can be used instead of literals or constants in the Expression Builder in the Administration Tool or in end-user analyses. At run time, Oracle BI Server substitutes the value of the variable.
In this set of steps you create a new Initialization Block - Current Periods, and three new Dynamic Repository Variables - CurrentYear, CurrentMonth, and CurrentDay. You then use the variables as column filters in an Oracle BI analysis. You use the Variable Manager in the Administration Tool to define variables and initialization blocks.
To set up and use initialization blocks and variables, perform the following steps:
- Creating an Initialization Block
- Creating Variables
- Testing Your Work
Creating an Initialization Block
-
Open the BISAMPLE repository in offline mode.
Select Manage > Variables to open the Variable Manager.
View Image-
Select Action > New > Repository > Initialization Block.
View Image -
Name the initialization block Current Periods.
View Image -
Click the Edit Data Source... button to open the Repository Variable Initialization Block Data Source dialog box.
View Image -
Click the Browse button to open the Select Connection Pool dialog box.
View Image -
Double-click the Connection Pool object to select it.
View ImageThe connection pool is added.
View Image -
Enter the following SQL to determine the value of the current day, month, and year by finding the maximum value of the period key (BILL_DAY_DT) in the fact table:
SELECT CALENDAR_DATE, PER_NAME_MONTH, PER_NAME_YEAR FROM BISAMPLE.SAMP_TIME_DAY_D WHERE CALENDAR_DATE = (SELECT MAX(BILL_DAY_DT) FROM BISAMPLE.SAMP_REVENUE_F)
View Image -
Click Test and confirm the expected results are returned. In this example, the results are determined by the data in the sample database used for this tutorial, which holds data through December 2010.
View Image -
Close the Results window.
-
Click OK to close the Repository Variable Initialization Block Data Source dialog box. Check your work:
View Image
Creating Variables
-
Click Edit Data Target to open the Repository Variable Initialization Block Variable Target dialog box.
View Image -
Use the New button to create three new variables: CurrentDay, CurrentMonth, CurrentYear. The order is important. The value returned from the first column in the initialization block SQL, CALENDAR_DATE, is assigned to the CurrentDay variable. The value of the second column, PER_NAME_MONTH, is assigned to CurrentMonth (the second variable), and the value of the third column, PER_NAME_YEAR, is assigned to CurrentYear (the third variable). If necessary, use the Up and Down buttons to arrange the variables.
View Image -
Click OK to close the Repository Variable Initialization Block Variable Target dialog box.
-
Leave the default Refresh Interval set to every hour. This means that the variables will be reinitialized every hour.
View Image -
Click the Test button and check the results:
View ImageIn this example, the results are determined by the data in the sample database used for this tutorial, which holds data through December 2010.
-
Close the Results window.
-
Click OK to close the Repository Variable Initialization Block dialog box.
-
Check your work in the Variable Manager
View Image -
Close the Variable Manager.
-
Save the repository and check consistency. Fix any errors or warnings before proceeding.
-
Close the repository. Leave the Administration Tool open.
Testing Your Work
-
Return to data-model-cmd.cmd utility and load the BISAMPLE repository.
-
Return to Oracle BI and sign in.
-
Create the following analysis to test the variables.
Time.Per Name Year
Time.Per Name Month
Time.Calendar Date
Base Facts.RevenueView Image -
Click Filter for the Per Name Year column. The New Filter dialog box opens.
View Image -
Select Add More Options > Repository Variable.
View Image -
In the Repository Variable field, enter CurrentYear to create a filter for the Per Name Year column using the CurrentYear repository variable.
View Image -
Click OK to close the New Filter dialog box. The filter is added to the Filters pane.
View Image -
Repeat the steps to add the CurrentMonth and CurrentDay repository variables as filters for Per Name Month and Calendar Date columns, respectively.
View ImageView ImageView Image -
Click Results and confirm that data only for the current year, month, and day is returned (based on the sample data set).
View Image -
Sign out of Oracle BI. Click Leave Page when prompted about navigating away from this page. Leave the Oracle BI browser page open.
Creating Time Series Measures
In this topic you create time series calculation measures using Oracle BI time series functions.
Time series functions include AGO, TODATE, and PERIODROLLING. These functions let you use Expression Builder to call a logical function to perform time series calculations instead of creating aliases for physical tables and modeling logically. The time series functions calculate AGO, TODATE, and PERIODROLLING functions based on the calendar tables in your data warehouse, not on standard SQL date manipulation functions.
To create time series measures, you perform the following steps:
- Identifying a Logical Dimension as a Time Dimension
- Identifying Level Keys as Chronological Keys
- Creating a Measure Using the AGO Function
- Creating a Measure Using the TODATE Function
- Creating a Measure Using the PERIODROLLING Function
- Testing Your Work
Identifying a Logical Dimension as a Time Dimension
-
Return to the Administration Tool and open the BISAMPLE repository in offline mode.
-
In the BMM layer, double-click the H1 Time logical dimension to open the Logical Dimension dialog box.
View Image -
In the Structure section, select Time.
View ImageTime series functions operate on time-oriented dimensions. To use these functions on a particular dimension, you must designate the dimension as a Time dimension.
-
Click OK to close the Logical Dimension dialog box.
Identifying Level Keys as Chronological Keys
-
Expand the H1 Time logical dimension and double-click the Time Detail level to open the Logical Level dialog box.
-
Click the Keys tab.
View Image -
Select the Chronological Key check box for Calendar Date.
View Image -
Click OK to close the Logical Level dialog box.
-
Repeat and set chronological keys for the following levels:
Logical LevelChronological KeyYear Per Name Year Half Per Name Half Quarter Per Name Qtr Month Per Name Month Week Per Name Week It is best practice to designate a chronological key for every level of a time logical dimension.
Creating a Measure Using the AGO Function
-
Right-click the F1 Revenue logical table and select New Object > Logical Column.
-
On the General tab, name the column Month Ago Revenue.
View Image -
On the Column Source tab, select "Derived from existing columns using an expression".
View Image -
Open the Expression Builder.
-
Select Functions > Time Series Functions > Ago.
View Image -
Double-click Ago or click Insert selected item to add the Ago function to the Expression Builder.
View Image -
Click <<Measure>>in the expression.
View Image -
Select Logical Tables > F1 Revenue and then double-click Revenue to add it to the expression.
View Image -
Click <<Level>> in the expression.
View Image -
Select Time Dimensions > H1 Time and then double-click Month to add it to the expression.
View Image -
Click <<Number of Periods>> and enter 1. The Ago function will calculate the Revenue value one month before the current month.
View Image -
Click OK to close the Expression Builder. Check your work in the Logical Column dialog box:
View Image -
Click OK to close the Logical Column dialog box. The Month Ago Revenue time series measure is added to the F1 Revenue logical table.
View Image -
Drag the Month Ago Revenue logical column to the Base Facts presentation folder.
View Image
Creating a Measure Using the TODATE Function
-
Right-click the F1 Revenue logical table and select New Object > Logical Column.
-
On the General tab, name the new logical column Year To Date Revenue.
View Image -
On the Column Source tab, select "Derived from existing columns using an expression".
View Image -
Open the Expression Builder.
-
Select Functions > Time Series Functions and double-click ToDate to insert the expression.
View Image -
Click <<Measure>> in the expression.
View Image -
Select Logical Tables > F1 Revenue and then double-click Revenue to add it to the expression.
View Image -
Click <<Level>> in the expression.
View Image -
Select Time Dimensions > H1 Time and then double-click Year to add it to the expression.
View Image -
Click OK to close the Expression Builder.
-
Check your work in the Logical Column dialog box.
View Image -
Click OK to close the Logical Column dialog box.
-
Drag the Year To Date Revenue logical column to the Base Facts presentation folder.
View Image
Creating a Measure Using the PERIODROLLING Function
-
Right-click the F1 Revenue logical table and select New Object > Logical Column.
-
On the General tab, name the new logical column Revenue 3-Period Rolling Sum.
View Image -
On the Column Source tab, select "Derived from existing columns using an expression".
View Image -
Open the Expression Builder.
-
Select Functions > Time Series Functions and double-click PeriodRolling to insert the expression.
View Image -
Click <<Measure>> in the expression.
View Image -
Select Logical Tables > F1 Revenue and then double-click Revenue to add it to the expression.
View Image -
Click <<Starting Period Offset>> in the expression.
View Image -
Enter -2. This identifies the first period in the rolling aggregation.
View Image -
Click <<Ending Period Offset>>.
View Image -
Enter 0. This identifies the last period in the rolling aggregation.
View ImageThese integers are the relative number of periods from a displayed period. In this example, if the query grain is month, the 3 month rolling sum starts two months in the past (-2) and includes the current month (0).
-
Click OK to close the Expression Builder.
-
Check your work in the Logical Column dialog box.
View Image -
Click OK to close the Logical Column dialog box.
-
Drag the Revenue 3-Period Rolling Sum logical column to the Base Facts presentation folder.
View Image -
Save the repository and check consistency. Fix any errors or warnings before you proceed.
-
Close the repository. Leave the Administration Tool open.
Testing Your Work
-
Return to data-model-cmd.cmd utility and load the BISAMPLE repository.
-
Return to Oracle BI and sign in.
-
Create the following analysis to test AGO and TODATE functions:
Time.Per Name Month
Time.Per Name Year
Base Facts.Revenue
Base Facts.Month Ago Revenue
Base Facts.Year to Date RevenueView Image -
Set the following filter for the analysis:
Per Name Year is equal to / is in 2008.
View Image -
For the Per Name Year column, select Column Properties > Column Format > Hide. This will prevent Per Name Year from displaying in the analysis results.
View Image -
Sort Per Name Month in ascending order.
View Image -
Click Results.
View ImageMonth Ago Revenue displays revenue from the previous month. Year To Date Revenue calculates a running sum of revenue for the year on a monthly basis.
-
Create the following new analysis and filter to test the PERIODROLLING function at the month grain:
Time.Per Name Month
Time.Per Name Year
Base Facts.Revenue
Base Facts.Revenue 3-Period Rolling SumPer Name Year is equal to / is in 2008
View Image -
For the Per Name Year column, select Column Properties > Column Format > Hide. This will prevent Per Name Year from displaying in the analysis results.
View Image -
Sort Per Name Month in ascending order.
View Image -
Click Results.
View ImageRevenue 3-Period Rolling Sum is calculated based on the month grain.
-
Create the following new analysis and filter to test the PERIODROLLING function at the year grain:
Time.Per Name Year
Base Facts.Revenue
Base Facts.Revenue 3-Period Rolling SumView Image -
Sort Per Name Year in ascending order.
View Image -
Click Results.
View ImageRevenue 3-Period Rolling Sum is calculated based on the year grain. A measure with the PERIODROLLING function calculates results based on the query grain.