Friday, July 03, 2009

Junk Viz - Web Searches

Search Engine Land has a post, Michael Jackson’s Death: An Inside Look At How Google, Yahoo, & Bing Handled An Extraordinary Day In Search, on how web traffic spiked at some of the web's leading properties like Google, Facebook, and Wikipedia, as a result of Michael Jackson's death.

All good and fine, and a sad day for fans of Michael Jackson, the king of pop as he was known as, but a sad day also for data visualizations.

The chart above is a time-series area graph, and you can see that on the 25th of June 2009, around 14:00 hours traffic to Google querying "Michael Jackson" or combination of words thereof, began to spike. But by how much? Where is the scale? What does each increment of the gridline indicate? 1 million searches? 10 million searches? 100 searches?
Secondly, the area chart could instead have been replaced with a line graph, thus minimizing non-data pixels.

The bar chart above does a better job, in that you can actually see what the vertical scale represents. However, there are at least three problems with this chart:
  1. The color scheme makes it tough to see the data clearly. Of course there are only two bars, so it is not that difficult.
  2. The X-axis labels are gibberish. There is no sub-title or explanation of what these numbers mean. What does "6.4k" mean? And what do the zeros at the end signify?
  3. The location of the vertical scale on the right is non-standard. Most often a scale is placed on the right edge when there are two axes on the graph, as in a dual-Y bar/line graph, and the left and right edges both have different scales. For example, if you were plotting sales and units on the same chart, and using the left axis for the sales and the right axis for the units data.
  4. Adding a fourth quibble: time series data is best visualized by a line graph.

 

A better graph than the first one, but with the same problems of having no vertical scale.

Downloading Discoverer 11g

Go to http://www.oracle.com/technology/software/products/middleware/htdocs/111110_fmw.html and accept the license.






Browse down to the section that says "Portal, Forms, Reports and Discoverer". 
Currently there are downloads available for Windows and Linux:


 As you would expect, this download contains the familiar set of components; I have highlighted in bold the ones that are relevant for Discoverer:


  • HTTP Server
  • WebCache
  • Forms Services
  • Forms Builder
  • Reports Services
  • Report Builder/Compiler
  • Discoverer Administrator
  • Discoverer Plus
  • Discoverer Viewer
  • Discoverer Services
  • Discoverer Desktop
  • Enterprise Manager Fusion Middleware Control
 Now, unlike the previous release of Discoverer, 10g, where you could install the standalone version of Discoverer and be up and running, here you need a few more components in order to be able to install Discoverer, and these need to be installed in a specific order.

  • WebLogic Server
  • Repository Creation Utility
  • Identity Management
  • SSO Metadata Repository Creation Assistant
  • Identity Management 10gR3
  • Oracle Database
WebLogic Server is easy enough to understand: it, or WLS as it is commonly referred to as, is the app server that is front and center in Oracle's middleware suite.
Repository Creation Utility, or RCU as it is sometimes referred to, is used to create your repository on the target database.

SSO Metadata Repository Creation Assistant is optional for Discoverer - if you do not intend configuring Discoverer to run under Single Sign-On, then skip this.

An Oracle Database 11g, Enterprise Edition, is what the last item refers to, and this is where the Discoverer repository is created by the RCU. Similar to the "Infrastructure" database in 10g.

Have fun downloading, and patience too, as these are downloads totaling several gigabytes.

More later.

Thursday, July 02, 2009

Discoverer 11g Doc

screenshot of Discoverer 11g doc page
If you see the Discoverer 11g Documentation library at http://download.oracle.com/docs/cd/E12839_01/pfrd.htm, you will notice the familiar set of docs, with one new addition. There is now a doc for the Discoverer Web Services. The "Oracle® Fusion Middleware User's Guide for Oracle Business Intelligence Discoverer Web Services API", 11g Release 1 (11.1.1), Part Number E10412-01 can be viewed at http://download.oracle.com/docs/cd/E12839_01/bi.1111/e10412/toc.htm, or downloaded as a PDF from http://download.oracle.com/docs/cd/E12839_01/bi.1111/e10412.pdf

As a brief intro, these web services are a layer of SOAP based web services that sit on top of Discoverer, provide access to a variety of functions, and provide a level of abstraction from the underlying implementation of the functionality that these services expose.

The very first instance where these web services were used was in the integration between BI Publisher and Discoverer (see my posts on this topic from 2007), that happened with the BI Publisher 10.1.3.3.0 release and Discoverer 10.1.2.2 release in 2007. Actually, there was a one-off patch that had to be applied on top of Discoverer 10.1.2.2 which contained the web services libraries. However, these web services were not yet meant to be consumed externally by customers for building their custom integrations. The intent was to document these and release them with the Discoverer 11g release. There is a slightly fascinating history behind the evolution of this project that I will try and blog about in a future post.

The other place where these web services shall be used is in the integration of Discoverer with the Oracle Business Intelligence Suite Enterprise Edition Plus, also referred to sometimes as simply OBIEE. Specifically, and since this is about functionality not yet released, please bear in mind that some or all of this could change, so do not take this as official Oracle communication, the intent is to use these Discoverer web services to publish Discoverer worksheets to an OBIEE Dashboard page, and to also use these same web services to allow OBIEE Delivers to run and send Discoverer worksheets on a scheduled basis.

More later.

Wednesday, July 01, 2009

Oracle FMW 11g



Use this link - http://www.oracle.com/features/hp/oracle-fusion-middleware-11g-launch.html - to register for the event.

Apart from the very important reason that Fusion Middleware is the technology platform and foundation of Fusion Applications, Fusion Middleware 11g is also the vehicle for the release of Discoverer 11g.

Tuesday, June 30, 2009

Junk Viz Examples

I have obtained all three examples from Paul Kedrosky's blog, Infectious Greed.



© 2009, Abhinav Agarwal. All rights reserved.

Wednesday, June 24, 2009

Junk Viz Example


Getting people to think is a good thing. However, getting them to think that your ad has a chart that just does not make sense is not a good thing.

The more people see this chart, if you can call it a chart, the more they will have questions.

  • Who are these so called 'Other Guys'? Is Google Gmail one of them? Is Hotmail there? What about the great local email provider from my country?
  • These features are not listed in an alphabetic order. Does that mean something?
  • Is Tab View the most important feature? Is it the least important? Do the other features listed on the Y-axis build upon the Tab View?
  • Does it mean that none of the vendors, 'The Other Guys', offer 'Chat', or 'Unlimited Storage'? Their bars do not go up that high.
  • Are these the only features to look for in an online email service? I don't see an entry for 'Calendar'. Surely that's important.
  • Why not include other useful features like Labels, Threaded conversations view, Integrated Calendar, Post to Blog s, Facebook / Twitter integration, Rich text editor , Missing Attachment Detector, Address Suggestion, Integrated attachment viewer , Mobile support, SMS integration, and so on... ?
This chart just does not make sense.
A shining example of a junk chart.

A simpler and obvious way of showing such a comparison would be to simply use a table:
or

This at least gives a more honest picture of the features that the 'Other Guys' have and don't have.

Cartoony charts that serve no other purpose than to convey an illusion of geekiness should be avoided. Who anyway compares email providers today? Don't most people today have accounts on two or more of Hotmail, Yahoo Mail, Google Mail, Rediffmail, IndiaTimes mail, AOL, etc... ?

In the world of Web 2.0 you create a buzz for your products through netizens, who blog, twitter, digg, and post on Facebook, Orkut, MySpace about your products.

© 2009, Abhinav Agarwal. All rights reserved.

Monday, June 22, 2009

Junk Viz Example


An article, "Home loan rates go down", from SiliconIndia, posted on Monday June 22 2009, has a small graphic on the left of the article. It is a good example of a junk visualization. It cannot even be called an example of a junk chart since there is no data at all. It only shows a pseudo-3D chart with small houses perched on top of each bar, and with a line arrow trending downwards, to ostensibly signify that something is going down. To make things worse, there is a reflection effect added.
Not good.

Tuesday, April 28, 2009

BI EE 10.1.3.4.1, DAC, and BI Apps 7.9.6 Now Available

Oracle Business Intelligence Suite, Enterprise Edition, version 10.1.3.4.1, is now available for download from the Oracle Technology Network.

BI EE Software Download:
The download page is http://www.oracle.com/technology/software/products/ias/htdocs/101320bi.html and the download links for the different platforms are:

and the download includes the following products:
  • Business Intelligence Suite Enterprise Edition Plus
  • Business Intelligence Suite Enterprise Edition Plus Upgrade
  • Business Intelligence Disconnected
  • Business Intelligence Server Administrator
  • Business Intelligence Server Enterprise Edition
  • Option: Answers
  • Option: Delivers
  • Option: Interactive Dashboard
  • Option: Office Plug-in
  • Option: Reporting and Publishing (This is the same as Oracle BI Publisher, v 10.1.3.4.1)
  • OC4J Standalone zip file
The size of the download is a 1.5GB.

Oracle BI Publisher:
While Oracle BI Publisher is available with the BI EE suite download, it is also available as a standalone download also on the same page.
Oracle BI Applications 7.9.6:
There is a single download 320MB file for all platforms, downloadable from http://download.oracle.com/otn/nt/bi/biapps_windows_796.zip
Be sure to read the Oracle Business Intelligence Applications Licensing and Packaging Guide version 7.9.6 for details on the licensing and packaging of these applications.
And what BI Applications are included with this release? A truckload!
  • Case Management Analytics Fusion Edition
  • Consumer Goods Trade Funds Analytics Fusion Edition
  • Contact Center Telephony Analytics Fusion Edition
  • Finance Institutional Analytics Fusion Edition
  • Finance Marketing Analytics Fusion Edition
  • Finance Retail Analytics Fusion Edition
  • Finance Sales Analytics Fusion Edition
  • Finance Service Analytics Fusion Edition
  • Financial Services Profitability Analytics
  • Financial Analytics (Commercial) Fusion Edition
  • Financial Analytics (US Federal Financials) Fusion Edition
  • Human Resources Analytics Fusion Edition
  • Insurance Marketing Analytics Fusion Edition
  • Insurance Partner Manager Analytics Fusion Edition
  • Insurance Sales Analytics Fusion Edition
  • Insurance Service Analytics Fuision Edition
  • Loyalty Analytics Fusion Edition
  • Marketing Analytics Fusion Edition
  • Partner Analytics Fusion Edition
  • Pharma Marketing Analytics Fusion Edition
  • Pharma Sales Analytics Fusion Edition
  • Price Analytics Fusion Edition
  • Procurement and Spend Analytics Fusion Edition
  • Project Analytics Fusion Edition
  • Sales Analytics Fusion Edition
  • Service Analytics Fusion Edition
  • Supply Chain and Order Management Analytics Fusion Edition
  • Telecom Marketing Analytics Fusion Edition
  • Telecom Sales Analytics Fusion Edition
  • Telecom Service Analytics Fusion Edition
Oracle Business Intelligence Data Warehouse Administration Console
What does this contain? "Technology platform for managing and deploying ETL processes for Oracle Business Intelligence Applications. Features include metadata-driven ETL design, intuitive interface for ETL configuration and customization, and optimized execution engine with monitoring capabilities."
Download the 181MB downloadable for Microsoft Windows from http://download.oracle.com/otn/nt/ias/101341/dac_windows_x86_101341.zip, while the Red Hat Linux / Oracle Enterprise Linux version can be downloaded from http://download.oracle.com/otn/linux/ias/101341/dac_linux_x86_101341.zip

Documentation:
The doc page for BI EE is http://www.oracle.com/technology/documentation/bi_ee.html
And you can view the documentation library for the 10.1.3.4.1 release at http://download.oracle.com/docs/cd/E10415_01/welcome.html or download the 22.5MB zip file containing the entire doc library from http://download.oracle.com/docs/cds/E10415_01.zip

The New Features doc is available at http://download.oracle.com/docs/cd/E10415_01/doc/bi.1013/e10416/toc.htm, while the SR & SP (System Requirements and Supported Platforms) guide can be downloaded from http://download.oracle.com/docs/cd/E10415_01/doc/bi.1013/e10417.pdf

The documentation page for BI Applications is http://www.oracle.com/technology/documentation/bi_apps.html
You can download the doc library from http://download.oracle.com/docs/cds/E14223_01.zip or view the library online at http://download.oracle.com/docs/cd/E14223_01/index.htm
The Release Notes are available at http://download.oracle.com/docs/cd/E14223_01/bia.796/e14222/toc.htm while the System Requirements and Supported Platforms doc is available online at http://download.oracle.com/docs/cd/E14223_01/bia.796/e14221.pdf

Wednesday, May 07, 2008

Oracle BI Discoverer 10.1.2.3 Release Details

Oracle Business Intelligence Discoverer 10.1.2.3 is released in mid March 2008. This is available on base platforms Windows and Solaris. It is also available primary porting platforms (Unix flavors) as well (Linux, HPUX, HPIA). Discoverer 10.1.2.3 is the third production patch in the series of 10.1.2 release train. And the latest patch can be applied over any 10.1.2.x instances, 10.1.2.0.0, 10.1.2.1.0 and 10.1.2.2 releases.

Highlights of Discoverer 10.1.2.3 release

  • Discoverer Integration with Oracle BI Publisher
  • D4O Enhancements
  • Other enhancements

Discoverer integration with Oracle Business Intelligence Publisher

The integration of Discoverer with Oracle BI Publisher (previously known as XML Publisher) was delivered as a one-off patch in 2007, and is more widely available with 10.1.2.3 release.

Oracle BI Publisher is an enterprise reporting solution to author, manage, and deliver all types of highly formatted documents eliminating the need for costly point solutions.

Discoverer integration with Oracle BI publisher has the following benefits

· Rich formatting capabilities

o Use Oracle BI Publisher template builder for Microsoft® Word to use the formatting features of Microsoft Word to format content.

· Rich layout capabilities

o Use Oracle BI Publisher template builder for Microsoft Word to use the layout features of Microsoft Word.

· Multiple templates per Discoverer worksheet

o Layout templates can be built using familiar desktop applications such as Microsoft Word and Adobe Acrobat®. Oracle BI Publisher plugins are provided to help the report designer to build the layout they want in their favored application.

· View as PDF, RTF, XLS, PPT, XML

o Oracle BI Publisher is able to generate multiple output formats from a single data source and template in multiple formats.

· Schedule and distribute to thousands of users

o Schedule frequency (Once, daily, weekly, immediately) and delivery destinations (Email, FTP, WebDAV, FAX, Printer) can be configured in Oracle BI Publisher.

· Analyze and refresh Discoverer data in Microsoft Excel®

o Relational and OLAP data can be pulled into Excel from multiple data sources for analysis

This integration requires Oracle BI Publisher 10.1.3.3.0 or above. Since Oracle BI Publisher is also available with Oracle Business Intelligence Suite Enterprise Edition, version 10.1.3.3.0 of Oracle BI EE can also be used.

More information about Oracle BI Publisher can be found at:

http://www.oracle.com/technology/products/xml-publisher/index.html

D4O Enhancements

Advanced Calculated Members in Discoverer OLAP

Building on the introduction of calculated members functionality in the 10.1.2.2 release of Discoverer, advanced calculated members can be created with the new calculated member editor in the 10.1.2.3 release.


Easier Sharing of Workbooks


To increase the usability of sharing workbook functionality a share button is provided on the Open workbook catalog dialogue. This benefits from the earlier sharing of workbooks through copying the link in to shared folder.


Support for Offset based calculations




Collpse all , Expand all




Other Enhancements

  • Scrolling behavior in Discoverer Plus [5450764]
  • To enable selection of Discoverer Viewer data into clipboard
  • Defining rows and columns in Discoverer worksheet portlet when called from list of worksheets portlet
  • Define amount of databody to show in wide crosstab reports [5117216 ]
  • New option to enable page navigation in Discoverer Viewer

Discoverer 10.1.2.3 can be downloaded from metalink

www.metalink.com Patch # 5983622

Important Notes

  • Discoverer 10.1.2.3 does not include the cumulative patch releases CP4, CP5 and CP6. Customers are not encouraged to use discoverer 10.1.2.3 if they have applied any of the aforesaid CPs . We are building a combined CP(CP4+CP5+CP6) over 10.1.2.3 and will be released shortly.
  • Discoverer for OLAP (D40) is not certified against Oracle 11g database
  • Spreadsheet addin not available on Microsoft Windows Vista

Saturday, March 22, 2008

Oracle BI EE and Virtualization

In this day and age of "Power and Space" and being more green, data center efficiencies or inefficiencies many customers are looking at Virtualization as a means of consolidation.

One of the questions that I see on a regular basis relates to the support of Oracle BI EE and virtualization. This is slam-dunk from the perspective that Oracle is sensitive to power and space requirements as are many companies that manage their systems in their own data centers. Virtualization is addressed on two fronts by Oracle:

1) Oracle provides a virtualization solution in Oracle VM
2) The answer to the oft-asked question is – Yes!! Oracle BI EE is supported on the Oracle Virtualization solution (Oracle BI EE SRSP). This leads to another question; Is Oracle BI EE supported on VMWare? That answer is Oracle BI EE and many other Oracle products follow the statement outlined in MetaLink Note 249212.1

References:
-Oracle BI EE SRSP
-Oracle VM
-Virtualization & E-Business Suite Running Oracle Database in Solaris 10 Containers - Best Practices (MetaLink Note 317257.1). This Note is applicable for E-Business Suite Releases 11i and 12 environments.
-Support Status for VMWare (MetaLink Note 249212.1)

Tuesday, January 08, 2008

Oracle BI makes life easier....

In many cases people often question the return on investment or the impact of using business intelligence products in real life situations. Well here is a great example of Oracle's software making life much easier for thousands of travellers, me included, passing through Manchester Airport.

As an Oracle consultant I am a frequent visitor at Manchester Airport. Over the last year travelling has not been easy due to the "one bag" rule. Although I have become quiet skilled at packing a single suitcase with clothes, laptop computer and external hard drives just so I do not have to check in my luggage. Well not any more. Manchester Airport is one of the first UK airports to return to the normal "two pieces of hand luggage" rule and its all thanks to the forecasting capabilities provided by Oracle business intelligence product suite. Our products have allowed senior management at the airport to cope with the extra pressure of screening additional bags by helping identify future trends and to plan accordingly.

The full story is on the ComputerWeekly site and can be viewed directly from here:

http://www.computerweekly.com/Articles/2008/01/07/228771/manchester-airport-lifts-one-bag-rule-with-oracle.htm

Monday, December 17, 2007

OLAP Workshop Part 3 :Building an Analytic Workspace

OLAP Workshop Part 3 :Building an Analytic Workspace

In this lesson, we look at how to use the Analytic Workspace Manager 10g (AWM 10g) tool in conjunction with 10g OLAP to build multidimensional database objects. We will use AWM to perform the following tasks:

  • Create an analytic workspace
  • Define dimensions
  • Define cubes
  • Load data from source relational tables
  • View data
Throughout this post I have tried to add observations and best practices I have picked up while working with various customers across the US and EMEA. As a result I am going to split this posting into possibly three postings:
  • Create an analytic workspace and defining dimensions
  • Modelling and mapping different types of dimensions
  • Define cubes and load data from source relational tables
So what is the difference between AWM and OWB? AWM should be considered an “EL” tool, it does not contain transformation tools (in AWM 11g simple transformations are possible), for building analytic workspaces. .The target audience for AWM is business users and also developers already using another ETL tools that does not provide support for OLAP data modelling.

For this workshop we are going to focus on using AWM. For more information on using OWB to build OLAP data models see the links posted in Workshop 2.


Building Blocks of the Multi-dimensional Model







The first step is design the logical data model, including the dimensions and measures that are needed in the AW. Obviously Warehouse Builder provides the perfect environment for creating a logical data model, and there are some presentations that cover this on the OWB OTN Home.

However, if you prefer a more to use a pure data modelling tool then I would recommend looking at CWD4ALL from one of our partners, IKAN. To quote directly from their website:

CWD4ALL is a database & OLAP modeling and design tool, fully conformant to the OMG CWM™ specifications. Its advanced modeling and design capabilities provide the means to align your modeling activities with this new worldwide standard. CWD4ALL provides both forward and reverse engineering functionalities. Reverse engineering constructs a graphical model from your existing DB/2, UDB, Oracle and SQL Server 2000/2005 database or schema, which on their part can be forward engineered to an Oracle relational model and the corresponding DDL or Oracle Analytical Workspaces.

……

Multi-dimensional modelling and OLAP
The multi-dimensional model is integrated with the CWD4ALL data models, which stay on top them and use metadata from the logical model and therefore can be mapped to different implementations of relational models. Thus schema and naming independence for used tables and columns is provided, allowing a high flexibility during deployment of the model. Detailed and compact multi-dimensional diagrams provide an easy way to define dependencies in the multi-dimensional model even going beyond possibilities of traditional Star and Snowflake schemas. The multi-dimensional model provides support for OLAP & Oracle Analytical Workspaces. For relational data warehousing you will be able to deploy definitions of levels, dimensions and hierarchies to the Oracle dictionary, thus building a basis for the query rewrite option of the Oracle database. Moreover it will assist in building materialized view definition and defining bitmap join indexes. For Oracle OLAP data warehouse, CWD4ALL will deploy the multi-dimensional model to Oracle 10g Analytical Workspaces and assist in defining the SQL path to calculations in Oracle Analytical Workspaces through view definitions based on OLAP-TABLE functionality. In addition to designing and maintaining correct database relational model behavior, CWD4ALL allows the designer to examine and specify actual application behavior so that space management, undo datasets and the full range of implementation-specific parameters can be modeled and defined appropriately.

For more information on CWD4ALL click here to go to the website.

Obviously AWM can also help you design your logical data model but there is one important difference between AWM and OWB/CWD4ALL. AWM is best described as “design time at run time” which means as you create dimensions, cubes etc using AWM the object is created immediately in the analytic workspace, i.e. there is no deployment phase. Which from a business user perspective makes this an ideal product as it simplifies the whole process.

In this workshop we will create the following model based on the sales history schema (SH)

Dimensions
  • Time: Shows how data varies over time
  • Product: Shows how data varies by product
  • Geography: Shows how data varies by geography
  • Channel: Shows how data varies according to each distribution channel

Stored Measures
  • Sales
  • Costs
  • Quantity

Examining the Logical Model:
Dimensions
After you have identified dimensions, you can identify the levels of summarization within each dimension. Analysis requirements reveal that:
  • Channel dimension has three levels: Total, Class, and Channel
  • Geography dimension has four levels: Total, Region, Subregion, and Country
  • Product dimension has four levels: Total, Category, Subcategory, and Product.
  • Time dimension has three levels: Year, Quarter, and Month.
Note with OLAP dimensions and additional top level is always added to allow business users to fully analyse. In Excel terms this provides the “All” level, or in relational terms allows the dimension to be pivoted out of the query.

Cubes
Cubes provide a convenient way of collecting similar measures of the same dimensionality. It is not uncommon for many measures to have the same shape, and so by defining their shape (and other shared characteristics) for a cube, you can save time when building your AW. Multidimensional cubes are stored in AWs. A particular AW may contain more than one cube, and each cube may describe a different dimensional shape.

Dimensions defined the edges of a cube. Although there is no limit to the number of edges of a cube, BI tools typically organize the display along three edges: row edge, column edge, and page edge. A single dimension or multiple dimensions can be placed on each edge.

A cube is simply a logical object that helps an administrator to build and maintain an AW. It also aids in the definition of measures with common characteristics, such as sparsity patterns and aggregation rules. Measures in the same cube have the same relationships to other logical objects and can easily be analyzed and displayed together.

In this lesson, we will create our first cube, Sales, containing three measures. These are base measures, which store the facts collected about the business. Each measure that belongs to a particular cube shares particular characteristics with other measures in the cube, such as the same dimensions. The Sales cube includes:
  • Dimensions: Time, Geography, Product, and Channel
  • Measures: sales, costs, quantity
The data for these measures, and the dimensions that organize the measures, will be sourced from tables in the SH schema, as discussed in the next slide.

Getting Started
Configuring your database:
This is an area that seems to cause the most problems. This is always surprising to me considering that OLAP 10g is completely integrated into the database engine. The key here is making sure you have the correct patches applied to your database kernel and database instance. You can validate your existing configuration against the OLAP certification matrix, which can be viewed from here:

http://www.oracle.com/technology/products/bi/olap/collateral/olap_certification.html

When applying database patches please note that the majority of patches are composed of two parts. Firstly you need to use the Universal Installer to apply the kernel updates. Secondly your database instance needs to be upgraded via a series of SQL scripts. This is all documented but many people get caught out.

In this case I am using 10.2.0.3 version of the database (Note that OLAP is available only in the Enterprise Edition of the database and is a costed option) with an additional OLAP patched described as the “OLAP A Patch” in Metalink. All this is explained in the certification matrix as stated above.

You can quickly and easily check the status of your schema by connecting to your database instance using SQLPlus (or use SQLDeveloper) and run the following commands:

col comp_name format a25 heading 'Component'
col version format a12 heading 'Version'
col status format a10 heading 'Status'
col modified heading 'Modified'

SELECT comp_name, version, status, modified
FROM dba_registry
WHERE comp_name like '%OLAP%';

Component Version Status Modified
------------------------- ------------ ---------- --------------------
OLAP Analytic Workspace 10.2.0.3.0 VALID 19-NOV-2006 08:13:33
Oracle OLAP API 10.2.0.3.0 VALID 19-NOV-2006 08:13:35
OLAP Catalog 10.2.0.3.0 VALID 19-NOV-2006 08:13:38


Setting up AWM
The first step is to download AWM from the OTN OLAP home page:

http://www.oracle.com/technology/software/htdocs/devlic.html?url=http://download.oracle.com/otn/java/olap/AWM_102030A_Win32.zip

and the associated readme file that explains installation requirements is here:

http://www.oracle.com/technology/products/bi/olap/awm102030A_readme.html

After installing AWM you can run the awm.exe file located in the ..awm/bin directory or click on the desktop icon.








Making a connection to your database instance
The first step is to create a new user to own our analytic workspace. For this example we will create a user called SH_OLAP and this user will need to have a special role assigned to it to allow the user to create and manage analytic workspaces. This role is OLAP_USER. Some people are often tempted to use a different role, OLAP_DBA. This is similar to providing a normal user with the DBA privileges. Do not be tempted to use this role as provides a lot of additional privileges that can in some cases cause lots of problems during use. This role should only be assigned to the user OLAPSYS.

CREATE USER "SH_OLAP" PROFILE "DEFAULT"
IDENTIFIED BY "SH_OLAP" DEFAULT TABLESPACE "SH_OLAP"
TEMPORARY TABLESPACE "SH_OLAP_TEMP"
ACCOUNT UNLOCK;
GRANT "CONNECT" TO "SH_OLAP";
GRANT "OLAP_USER" TO "SH_OLAP";

This user will need SELECT priviledges on the source tables that will be used to populate the dimensions and the cubes.

As a best practice I will normally assign my OLAP user to its own tablespace and create a temp tablespace specifically for that user as well. The reasons for this will become evident later when we look at what happens during the loading of data into a dimension and/or a cube. Make sure this new user has sufficient quota on both these tablespaces.

When you start AWM for the first time you will need to define a new connection to your database instance.



This step can cause problems and a number of people have posted questions on the OLAP forum regarding connecting to a database instance. Using a TNSNames alias as the connection string causes the majority of problems. You can only use a TNS alias if you also install the SQL net layer from the database client CD. This is not provided as part of the AWM installation so needs to be added as part of a separate process.

Personally I always a JDBC connection as this does require any additional software to be installed. The syntax for a jdbc connection is :

Hostname:port:sid

An example would be something like this:

klaker-uk.uk.oracle.com:1521:beans

Alternatively you can use localhost or 127.0.0.1 to identify the host:


To now connect to our database instance simply click on “+” sign next to the database name. You will notice from the picture below you can define as many connections within AWM as you need. Once the connection dialog is shown enter the username and password in the dialog box. And then click OK to start the connection process.



Creating an Analytic Workspace
To create an analytic workspace, we need to perform the following steps:

  • Find the schema name under which you want the AW to reside, in this case our user is SH_OLAP. Expand that schema name to display the Analytic Workspaces node.
  • Next right-click the “Analytic Workspaces” node. This will show the “Create New Analytic Workspace” dialog box appears.
  • Lastly we can enter a name for our AW which in this case is SH_AW.

Optionally, we can choose a tablespace where this AW is stored. By default, the default tablespace is used for the schema. This is set up by the database administrator (DBA) when the schema is created. In this case the default tablespace is SH_OLAP.

Now we have created the AW, it appears in the navigator under the node where it is created. It is attached in read/write mode, which means that you can make changes to it.

At this point we have two options:
  • Manually define our dimensions and cubes
  • Load a predefined model from a template
You can create a workspace directly from a template. A template holds the definition of objects. You can use templates to create analytic workspaces, cubes, and dimensions. In this case we are going to manually define the objects within our AW.




Note: Once we have created the AW, a table named AW$SH_OLAP is created at the database level. (The format for the naming convention is AW$aw_name, WHERE aw_name is the name that you have chosen for your AW.) This table stores all of the multidimensional objects in your AW.

Does Oracle OLAP Support Multiple Languages?
Yes, an AW can support multiple languages. This enables the users of your OLAP applications and tools to view the metadata and descriptive attributes in their native languages.
The number and choice of languages is restricted only by the database character set and your ability to provide translated text. To add support for multiple languages, perform the following steps:
  • In the Model View navigation tree, expand the folder for the AW.
  • Click the Languages folder, and select the languages for the AW on
  • the General tabbed page.
  • As you create your objects, such as dimensions, levels, hierarchies, attributes, cubes, measures, calculated measures, and measure folders, open the Translations tabbed page of the property sheet. Enter the object labels and descriptions in each language.
When you map the dimensions, map the attributes to columns for each language.

Note: In this class, a single language is used, which is American, although the image shown below has multiple languages selected.




Creating Dimensions
Dimensions are lists of unique values that identify and categorize data. They form the edges of measures (facts). Dimensions have structure that helps in the navigation of data and the definition of calculations. This structure includes levels, hierarchies, and attributes in the logical model. You define these supporting objects, in addition to the dimension itself, in order to have a fully functional dimension.

Dimension Type
AWM provides two types of dimensions:
  • User Dimensions
  • Time Dimensions
Most dimensions that we will create during this workshop are of the type default “User Dimension”. In the example shown below, a Time dimension is created. If you explicitly set the dimension type to “Time Dimension,” AWM automatically prepares some additional time attributes. When populated, these attributes facilitate time series calculations on the measures that share this dimension. It is recommended that all your time dimensions be created with this setting.

Again this seems to regularly come up on the forums – you will only see the time series calculations in the Calculation Builder (See the workshop on building cubes). These calculations require two additional time based attributes to be populated – Timespan and End Date. Most customers do not have these attributes in their existing relational schemas so they need to be added. Fortunately OWB will generate an OLAP compliant time dimension. If you are not using OWB then you will need to find a different way of creating these additional attributes (there was a posting on the OLAP forum where someone actually posted all the code required to create an OLAP compliant time dimension but unfortunately I cannot find the thread now, may be someone else can locate it).



Other Tabbed Pages
The Translations tabbed page enables you to provide labels in languages that your AW uses:



The "Implementation Details" tabbed page enables you to identify certain dimension characteristics. By default I always recommend using the Surrogate Key option as this ensures unique members are created across all the levels within a dimension.




For people used to relational data models this can be quite confusing. What happens during when loading data into a dimension is all the source columns are collapsed into a single column within the AW. Therefore, across all the source columns the keys must be unique. Let’s consider an example with time:

YEAR_ID YEAR_DESC QUARTER_ID QUARTER_DESC MONTH_ID MONTH_DESC 31-12-2007 Yr 2007 31-12-2007 Q4 2007 31-12-2007 December 2007
Using this as a source table to populate our time dimension we have three keys (YEAR_ID, QUARTER_ID, MONTH_ID) that will be collapsed into a single column. It is obvious in this case the same key is used to identify three different levels within our dimension. In this case the last key that is read will win and the end result will be a single dimension member will be added to our time dimension and that member will be either a month or quarter or year (most likely a year). If we switch to using surrogate keys then three members will be added because the data load program will concatenate the level name with the source key to ensure uniqueness:
  • YEAR_31-12-2007
  • QUARTER_31-12-2007
  • MONTH_31-12-12007
Simple really! But does this have any impact on the AW? In some cases ‘Yes’. I have found that it is prudent to keep your level names as short as possible. When building levels I normally assign simple level names such as L1, L2, L3 etc etc. This keeps the surrogate keys small and compact. What I found working with one customer was that the OLAP engine had certain issues when using very large (75 characters) text strings as the source key and by adding the level to start of each key as well caused data loading problems. Probably an edge case but since then I have always preferred using simple level ids.

Creating Levels
For business analysis, data is typically summarized at various levels. For example, our database schema, SH, contains daily snapshots from a transactional schema (OE, HR, etc). Days are thus the base level. However, in this case the decision has been take to summarize this data up to the monthly level and then add quarterly, and yearly levels.

Levels have parent-child or one-to-many relationships, which form a hierarchy. For example, each month summarizes days, each quarter summarizes months, and each year summarizes quarters. This hierarchical structure enables analysts to detect trends at the higher levels and then drill down to the lower levels to identify factors that contributed to a trend.

To create a level for any dimension, right-click the Level icon beneath the dimension, and then select Create Level. Fill in the name, labels, and a description. The labels can be used in reports; the description enables you to comment on the object. Repeat the process for each level in the dimension.




The end result might look something like this (note I did not follow my own advice and created level names that are quite long, just to make it easier to explain certain steps in this workshop):





Creating Hierarchies
A hierarchy is a way of organizing dimension members. Oracle OLAP supports two basic types of hierarchy:
  • Value based
  • Level Based
In this workshop all the dimensions use level based hierarchies. This is where ordered levels are used as a means of organizing data. These hierarchies can be used to define data aggregation. For example, using our newly created Time dimension, we can define a hierarchy to aggregate data from the month level to the quarter level to the year level. This hierarchy can also be used to define a navigational drilldown path, regardless of whether the levels in the hierarchy represent aggregated totals.

Dimensions can have one or more hierarchies. If you define multiple hierarchies, make sure to define one of them as the default hierarchy.

As shown in the image below right-clicking on the hierarchy icon in the navigator provides a pop menu option to “Create Hierarchy”.



Name the hierarchy. We can provide descriptive labels that can be used in reports. Select the “Set as Default Hierarchy” option if this is the only hierarchy for the dimension or if it is the hierarchy that will be used most frequently for analysis. In this case we can choose the Level Based Hierarchy option.

Finally we can select the levels for our hierarchy. The levels are organized from the highest level of aggregation to the lowest.




Creating Attributes
Attributes contain descriptive information about dimension members that are used for data selection and identification. They are used for labelling cross-tabular and graphical data displays, selecting data, organizing dimension members, and so on. AWM 10g defines basic attributes automatically. For each dimension, it creates long and short description attributes. For a Time dimension, it also creates time-span and end-date attributes.

We can easily add additional attributes, such as month number or quarter number. These additional attributes further enrich the AW. The Implementation Details tabbed page identifies the data type for the attribute. This data type should match the source data.

For most attributes it is useful to consider creating an Index if the attribute has a reasonably low cardinality. This will improve query performance if the attribute is used as a filter within a business query. What happens under the covers is an additional dimension is created containing the members of the attribute and a relation is created to map the attribute dimension members to the base dimension members. Oracle OLAP is very efficient at using relations during queries as a way of filtering members.





In the next sub-section of this workshop (Workshop 3), we will review how to map dimensions to source data and how to manage different types of dimensions (value based, skip level, ragged, star source table and snowflake source tables).

Don't forget the other sections of this series:

OLAP Workshop Part 1 : Basic Overview of OLAP Concepts
OLAP Workshop Part 2 : Understanding OLAP Technology