In this tutorial, you use Oracle Application Express (APEX) to create an interactive sales analysis report that runs against OLAP data.
You learn how to query and create analytic reports of OLAP cubes, including both stored and calculated measures. You also learn how to apply query techniques that leverage unique characteristics of OLAP cubes.
NOTE: This tutorial requires either Oracle Database 11.2 or 12.1.
Approximately 60 minutes
This tutorial covers the following topics:
Place the cursor over this icon to load and view all
the screenshots for this tutorial. (Caution: Because this action loads all screenshots
simultaneously, response time may be slow depending on your Internet connection.)
Note: Alternatively, you can place the cursor over each individual icon in the following steps to load and view only the screenshot associated with that step.
What is APEX?
APEX is a Web-based application development and deployment tool integrated with Oracle Database. Using only a Web browser, you can quickly create a reliable, secure, and scalable Web application that can be instantly deployed to thousands of users.
APEX combines the ease of use and productivity of a personal database with the availability and scalability of an enterprise database. APEX wizards and built-in features simplify the building of Web applications. You can quickly assemble database-driven applications with little or no programming, in a short span of time.
How Do SQL Tools Like APEX Access Oracle OLAP Cubes?
The data in an Oracle OLAP cube is made directly accessible to SQL by a set of relational views. These views represent an OLAP cube as a star schema with the following characteristics:
- A cube view plays the role of a fact table.
- Dimension views and hierarchy views play the role of dimension tables.
The star design exposed by OLAP cubes is very similar to traditional table-based star models. The dimension views form a constellation around one or more cube views. However, there are two key differences:
- Fact tables in a star schema store detail data (called leaves), while the cube views reveal many summary levels.
- Calculations in a cube are simply exposed as columns in the cube view, and the computation for the equations occurs in the OLAP engine.
These differences impact the way you query data. With star queries, you aggregate the data by combining aggregation functions (such as sum) and the GROUP BY clause.
With OLAP queries, you simply select the data you want (either stored or calculated) as a column. Selecting aggregate data is easily accomplished using conditions in the "where" clause. Typically, no aggregation function is necessary since the data has already been summarized by the cube. This enables a single, parameterized cube query to be used to return data from any summary level. For example, no changes to the query are required to select sales revenue by month, quarter or year. This greatly simplifies the ability to "drill anywhere".
For the vast majority of cube-based queries, there are four basic steps:
Combining APEX and Oracle OLAP
APEX provides a flexible environment for the creation of applications on top of any Oracle Database data source. Therefore, you can create compelling, interactive, exploratory reports using APEX against OLAP data using the OLAP cube views.
Since OLAP cube views encapsulate the business rules for your data, it is very simple to select and explore the analytic information that you need. When combining OLAP cube views and APEX, you can deliver interactive analysis dashboards very easily.
In this tutorial, you create an interactive, analytic report of OLAP data by performing the following five tasks:
| 1. | Import and install a predefined APEX Workspace. The workspace includes an APEX developer with access to the olaptrain sample schema. | |
| 2. | Create an application that will contain the report. | |
| 3. | Create an interactive report that includes highly stylized output. | |
| 4. | Add formatting to the report. | |
| 5. | Leverage query parameters to enable data exploration using “drilling” across the dimensions in the report. |
|
Note: OLAP supports the style of drilldown used in this tutorial with any type of hierarchy: level-based, parent-child, skip-level, ragged, and so on.
When you are done, you will have a formatted, interactive sales analysis report that enables users to explore data by drilling down on products, times, and geographies. The resulting report will look like the following:
Using this report, users:
| Can drill down on Geography, Product, and Time to any level of detail | ||
| May want to follow the “Product Alert” column when drilling down, since this column indicates that Sales have dropped compared to last year for at least one of the children of the current product | ||
For example, in the preceding report, Computers’ Sales in 2008 for Africa have improved by 22.4% compared to last year, but there is an ALERT. Drilling down on Computers will show that there is a problem with sales within the department.
Note: The OLAP data for this tutorial was created using steps found in the Building OLAP Cubes tutorial. For information about the OLAP data model, and for step-by-step instructions on how to create OLAP cubes, go to More Information.
Before you perform this tutorial, you should:
| 1. | Install Oracle Database 11.2 or 12.1 with the OLAP Option.
|
|||||||||||||
| 2. | Download and install the OLAPTRAIN sample schema and the OLAP data model that is based on the sample schema. Use the instructions found in Installing the Oracle OLAP Sample Schema.
|
|||||||||||||
| 3. | Have access to Oracle Application Express, version 3.1.2 or higher. You can Download and install Oracle Application Express from OTN. Notes: On Windows, Application Express runs in shared server mode - even if the database is configured in dedicated mode. An Oracle configuration parameter needs to set in order to access OLAP cubes when Oracle Database is configured in shared server mode. Otherwise, an error will be generated referencing the inability to load an OLAP API sharable library. Listed below is an example of how to update the configuration parameter when the database is started using an spfile:
|
|||||||||||||
| 4. | Save and extract OLAP11g-APEX.zip to a location on the computer that contains APEX. This archive contains two files: SALESTRACK_WORKSPACE.sql and apex-olap.sql. The first file is a predefined APEX workspace that provides access to the OLAP data. The second file contains a predefined OLAP cube query that you use as part of the definition of your interactive report.
|
|||||||||||||
| 5. | Have basic knowledge of Oracle Application Express. For more information on APEX, see the following OBE tutorials on Oracle Application Express. | |||||||||||||
In this topic, you log into APEX as the administrator. You then import and install a predefined workspace that contains an APEX developer. You will also create an APEX schema that provides access to the sample OLAPTRAIN schema.
Follow these steps to create the interactive report:
| 1. | Start your web browser and navigate to the Application Express login page for administrators using the following URL format:
Note: The port number is defined by the APEX administrator when APEX is installed. For example:
|
|||||||||
| 2. | Log in using the username and password that was defined for the administrator when APEX was installed
|
|||||||||
| 3. | In the Home page, select Manage Workspaces.
|
|||||||||
| 4. | In the Manage Workspaces section, select Import Workspace.
|
|||||||||
| 5. | In the Import Workspace step:
Result: the workspace is imported, as shown below:
|
|||||||||
| 6. | Next, click Install.
|
|||||||||
| 7. | In the Install Workspace step, enter SALESTRACK as the Schema Name, and oracle as the Schema Password.
Then, click Next.
|
|||||||||
| 8. | In the Schema Assignment Status step, select the check box option at the top (as shown below), and click Next.
|
|||||||||
| 9. | In the Install Workspace confirmation window, click Install Workspace.
Result: the workspace import and installation is complete:
|
|||||||||
| 10. | Click the Logout link to log out of the APEX Administration tool. |
|||||||||
In this topic, you log into APEX as a developer and access the predefined workspace. WIthin the workspace, you define an application for your interactive report.
Follow these steps:
| 1. | Start your web browser and navigate to the Application Express login page using the following URL format:
Note: The port number is defined by the APEX administrator when APEX is installed. For example:
|
|||||||||
| 2. | Log in using the following details: - Workspace: SALESTRACK - Username: olaptrain - Password: oracle
|
|||||||||
| 3. | If you are prompted for a new password (if not, move to step 4):
Result: You should now be at the APEX developer Home page, as shown here:
|
|||||||||
| 4. | Select Application Builder > Create Application, as shown here:
|
|||||||||
| 5. |
In the Method step, select the first application option, as shown below, and click Next.
|
|||||||||
| 6. | In the Name step, enter OLAP as the name and select OLAPTRAIN as the schema. Then, click Next.
|
|||||||||
| 7. | In the Pages step, perform the following:
|
|||||||||
| 8. | In the Confirm step, click Create.
Result: The new application appears in the Application Builder window.
|
|||||||||
Next, you perform two primary tasks to develop the interactive report:
Create three Hidden Items that are used later as part of a parameterized query. The parameters you define will be used for setting up dimension “drilling” in a later topic. For example, a hidden item named P1_PRODUCT will be used as a parameter for drilling down on the Product dimension in the sales query as follows:
Note: This condition selects the children of the product represented by the parameter (and selects “ALL_PRODUCTS” if P1_PRODUCT is null). You will create similar hidden items for the Time and Geography dimensions.
|
||
Create an interactive report region that: - Incorporates a predefined OLAP cube SQL query that drives the report - Shows sales performance by region, product, and time. |
||
Perform the following steps:
| 1. |
In the Application Builder window, which is shown at the end of the previous topic, click the Sales Analysis icon. Result: You are now in the Page Editor, as shown here.
|
|||||||||||||||
| 2. |
Create a hidden item P1_PRODUCT:
Result: The Items pane on the Page Definition window looks like this:
|
|||||||||||||||
| 3. | Using the same techniques as in steps 2a - 2e, create a second hidden item named P1_GEOGRAPHY. |
|||||||||||||||
| 4. | Using the same techniques as in steps 2a - 2e, create a third hidden item named P1_TIME. When you are done, the Items pane should look like this:
|
|||||||||||||||
| 5. |
Next, you create an interactive report region. On the Page Definition page, find the Regions pane and click the Create button.
|
|||||||||||||||
| 6. |
In the Region - Type of Region step, select the Report option and click Next.
|
|||||||||||||||
| 7. |
In the Region - Report Implementation step, select Interactive Report and click Next.
|
|||||||||||||||
| 8. |
In the Display Attributes step (shown below), enter Explore as the title and click Next.
Result: the Source step appears:
|
|||||||||||||||
| 9. | In the Source step, you will use the predefined SQL query that you downloaded earlier (from the Prerequisites section) as the source for the report region. Perform the following:
The Regions pane should now look like this: |
|||||||||||||||
Now that your interactive report has been created, you will apply the following layout and formatting options:
| Select the columns to display in the report | ||
| Sort the report by Product and Time | ||
| Add a control break on Geography to the report. | ||
| Add color coding to the report | ||
Follow these steps to format the interactive report:
| 1. | Click the Run button at the top of the page.
This will enable you to view and then format the report.
|
||||||||||||||||||
| 2. | In the Login screen, enter olaptrain/oracle and click Login. |
||||||||||||||||||
| 3. | Select the report columns to display:
The report should look like this:
|
||||||||||||||||||
| 4. | Sort the rows by Product, and then by the End Date column:
|
||||||||||||||||||
| 5. | Add a control break on Geography to the report. Click the Geography report header and select the Control Break tool, as shown here:
Result: The report breaks into pages based on Geography dimension members.
|
||||||||||||||||||
| 6. | Color the % Chg Pr Year data green if sales growth exceeds 10%, by performing the following:
|
||||||||||||||||||
| 7. | Color the Product Alert data red if there is an ALERT.
Your report should now look something like the following:
|
||||||||||||||||||
| 8. |
Scroll through the report to view the formatting.
|
||||||||||||||||||
| 9. |
Save the report as the default.
|
||||||||||||||||||
The next task is to enable drilldown capabilities to the report. When users click a Geography, Product or Time value, the details for the selected item will replace what was selected. For example, clicking CY2009 displays the calendar quarters for that year.
APEX allows you to specify links for columns on the Report Attributes page. In this case, the link will set the relevant dimension parameter (a.k.a. Hidden Item) to the item the user selected.
Consider the flow for a drilldown on the Time dimension:
| User clicks the CY2009 link. | ||
| The logic behind the link specifies that the parameter P1_TIME is set to the selected value. | ||
The query is re-executed, whereby the condition:
Selects all time values whose parent is ‘CY2009.’ This is the equivalent to selecting the children of ‘CY2009.’ |
||
Result: A drilldown has been executed.
Perform the following steps to add drilldown capabilities to the report:
| 1. | Return to the page editor by clicking the Edit Page 1 link at the bottom of the report page.
|
|||||||||||||||
| 2. | Go to the Report Attributes page by clicking the Interactive Report link in the Regions pane.
|
|||||||||||||||
| 3. | Add a drilldown link to Geography by performing the following:
|
|||||||||||||||
| 4. | Add a drilldown link to Product:
|
|||||||||||||||
| 5. | Finally, add a drilldown link for Time:
|
|||||||||||||||
| 6. | In the Region Name pane, click Apply Changes.
|
|||||||||||||||
| 7. | Once again, click Run at the top of the Page Definition window. The report should look like this:
|
|||||||||||||||
| 8. | For Africa, click the Computers link for CY2008 (as shown below). This is the row that had excellent percent growth in sales, but showed an Alert in the following data.
The resulting report shows the Computer division products that contain underlying alerts:
|
|||||||||||||||
| 9. | Experiment with the interactive report by clicking on any of the interactive links. With every drill, the OLAP engine re-calculates the data and returns the query results great speed. This one query enables the user to navigate vast regions of the OLAP cube, providing an interactive, ad-hoc query and analysis reporting environment.
|
|||||||||||||||
| 10. |
When you are done with the report, click Logout. |
|||||||||||||||
It is often useful to add a reset button to the report. This allows you to reset the report to its original state.
To add a reset button:
| 1. | Click the Application 101 link at the bottom of the login page (as shown below) to return to the Application Builder page, and then click the Sales Analysis icon to return to the Page Definitions page.
|
|||||||||
| 2. | In the Buttons pane, click the Create button.
|
|||||||||
| 3. | In the Button Region step, select the Explore region and click Next.
|
|||||||||
| 4. | In the Button Position step, select Create a button in a region position and click Next.
|
|||||||||
| 5. | In the Buttons Attributes step, specify the following options, and then click Next.
|
|||||||||
| 6. | In the Display Properties step, select Top and Bottom of Region as the Position, and click Next. |
|||||||||
| 7. | In the Branching step, enter 1 (that is, the current page) in the Branch to Page box, and then click Create Button.
Result: the Buttons pane should look like this:
|
|||||||||
| 8. | Now that the button has been created, you need to specify an action for the button:
|
|||||||||
| 9. | Click Run, and then log in to the application using olaptrain/oracle. Result: You will see two reset buttons - one at the top, and one and bottom of the page.
|
|||||||||
| 10. | Click one of the Reset buttons. Result: The report is reset to its original state.
|
|||||||||
For more information on OLAP - related education, use the following links:
| Oracle Database 11g: OLAP Essentials (Oracle University inClass) | ||
| Oracle OLAP (OTN site) | ||