Universal Drill Through Service Guide

Universal Drill Through Service 6.1 Windows

2

Universal Drill Through Service Guide

Copyright

No part of the computer software or this document may be reproduced or transmitted in any form or by any means, electronic or mechanical, including photocopying, recording, or by any information storage and retrieval system, without permission in writing from Business Objects S.A. The information in this document is subject to change without notice. If you find any problems with this documentation, please report them to Business Objects S.A. in writing at documentation@businessobjects.com. Business Objects S.A. does not warrant that this document is error free. Copyright © Business Objects S.A. 2003. All rights reserved. Printed in France.

Trademarks

The Business Objects logo, WebIntelligence, BusinessQuery, the Business Objects tagline, BusinessObjects, BusinessObjects Broadcast Agent, Rapid Mart, Set Analyzer, Personal Trainer, and Rapid Deployment Template are trademarks or registered trademarks of Business Objects S.A. in the United States and/or other countries. Contains IBM Runtime Environment for AIX(R), Java(TM) 2 Technology Edition Runtime Modules (c) Copyright IBM Corporation 1999, 2000. All Rights Reserved. This product includes code licensed from RSA Security, Inc. Some portions licensed from IBM are available at http://oss.software.ibm.com/icu4j. All other company, product, or brand names mentioned herein, may be the trademarks of their respective owners.

Use restrictions

This software and documentation is commercial computer software under Federal Acquisition regulations, and is provided only under the Restricted Rights of the Federal Acquisition Regulations applicable to commercial computer software provided at private expense. The use, duplication, or disclosure by the U.S. Government is subject to restrictions set forth in subdivision (c)(1)(ii) of the Rights in Technical Data and Computer Software clause at 252.2277013. U.S. Patent Numbers 5,555,403, 6,247,008, and 6,578,027. 372-10-610-01

Patents Part Number

Universal Drill Through Service Guide

3

Contents

Preface

Maximizing Your Information Resources

7

Information resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 Useful addresses at a glance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 About this guide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 Chapter 1 About Drill Through 15

What does the administrator do? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 What does the administrator need to know? . . . . . . . . . . . . . . . . . . . . . . . . 19 What is drill through? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 Setting up drill through . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 Chapter 2 Drill Through Requirements 29

Normalized relational databases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 Star schemas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 What is a Business Objects universe? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 How cubes and universes relate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 Chapter 3 Designing the Target Universe 41

Designing the target database . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 Designing a star schema database . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 Creating the target universe from the database . . . . . . . . . . . . . . . . . . . . . . 46

Contents

4

Universal Drill Through Service Guide

Chapter 4

Building Translation Maps

47

What is UDS Designer? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 What are translation maps? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 Mapping from cubes to universes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 Building translation maps using UDS Designer . . . . . . . . . . . . . . . . . . . . . . 54 Importing data sources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 Creating a translation map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 Working with existing translation maps . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 Making translation maps available to WebIntelligence . . . . . . . . . . . . . . . . 78 Chapter 5 WebIntelligence in Drill Through 79

Creating WebIntelligence target reports . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 Drill through workflow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 Chapter 6 Managing and Maintaining a Drill Through Environment 89

Why maintenance is necessary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 Changes that require updates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92 Problems caused by outdated translation maps . . . . . . . . . . . . . . . . . . . . . 93 Source cube and target cube/universe locations . . . . . . . . . . . . . . . . . . . . 94

Contents

Universal Drill Through Service Guide

5

Examples
What are the unit sales of different brands of soccer cleats in 2001 Q1 ? . . 21 Selecting multiple measure cells . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 Selecting member labels from different dimensions . . . . . . . . . . . . . . . . . . 91 Selecting member labels at the same level . . . . . . . . . . . . . . . . . . . . . . . . . 92 Selecting member labels from the same and different dimensions . . . . . . . 92 Selecting member labels and values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92

Examples

6

Universal Drill Through Service Guide

Examples

Maximizing Your Information Resources

preface

8

Universal Drill Through Service Guide

Overview
Information, services, and solutions
The Business Objects business intelligence solution is supported by thousands of pages of documentation, available from the products, on the Internet, on CD, and by extensive online help systems and multimedia. Packed with in-depth technical information, business examples, and advice on troubleshooting and best practices, this comprehensive documentation set provides concrete solutions to your business problems. Business Objects also offers a complete range of support and services to help maximize the return on your business intelligence investment. See in the following sections how Business Objects can help you plan for and successfully meet your specific technical support, education, and consulting requirements.

Maximizing Your Information Resources

Universal Drill Through Service Guide

9

Information resources
Whatever your Business Objects profile, we can help you quickly access the documentation and other information you need.

Where do I start?
Below are a few suggested starting points; there is a summary of useful web addresses on page 12. Documentation Roadmap The Documentation Roadmap references all Business Objects guides and multimedia, and lets you see at a glance what information is available, from where, and in what format. View or download the Business Objects Documentation Roadmap at www.businessobjects.com/services/documentation.htm Documentation from the products You can access electronic documentation at any time from the product you are using. Online help, multimedia, and guides in Adobe PDF format are available from the product Help menus. Documentation on the web The full electronic documentation set is available to customers with a valid maintenance agreement on the Online Customer Support (OCS) website at www.businessobjects.com/services/support.htm Buy printed documentation You can order printed documentation through your local sales office, or from the online Business Objects Documentation Supply Store at www.businessobjects.com/services/documentation.htm Search the Documentation CD Search across the entire documentation set on the Business Objects Documentation CD shipped with our products. This CD brings together the full set of documentation, plus tips, tricks, multimedia tutorials, and demo materials. Order the Documentation CD online, from the Business Objects Documentation Supply Store, or from your local sales office.

Information resources

10

Universal Drill Through Service Guide

Multimedia Are you new to Business Objects? Are you upgrading from a previous release or expanding, for example, from our desktop to our web solution? Try one of our multimedia quick tours or Getting Started tutorials. All are available via the Online Customer Support (OCS) website or on the Documentation CD.

How can I get the most recent documentation?
You can get our most up-to-date documentation via the web. Regularly check the sites listed below for the latest documentation, samples, and tips. Tips & Tricks Open to everyone, this is a regularly updated source of creative solutions to any number of business questions. You can even contribute by sending us your own tips. www.businessobjects.com/forms/tipsandtricks_login.asp Product documentation We regularly update and expand our documentation and multimedia offerings. With a valid maintenance agreement, you can get the latest documentation – in seven languages – on the Online Customer Support (OCS) website. Developer Suite Online Developer Suite Online provides documentation, samples, and tips to those customers with a valid maintenance agreement and a Developer Suite license via the Online Customer Support (OCS) website.

Send us your feedback
Do you have a suggestion on how we can improve our documentation? Is there something you particularly like or have found useful? Drop us a line, and we will do our best to ensure that your suggestion is included in the next release of our documentation: documentation@businessobjects.com
NOTE

If your issue concerns a Business Objects product and not the documentation, please contact our Customer Support experts. For information about Customer Support visit: www.businessobjects.com/services/support.htm

Maximizing Your Information Resources

Universal Drill Through Service Guide

11

Services
A global network of Business Objects technology experts provides customer support, education, and consulting to ensure maximum business intelligence benefit to your business.

How we can support you?
Business Objects offers customer support plans to best suit the size and requirements of your deployment. We operate three global customer support centers: • Americas: San Jose, California and Atlanta, Georgia • Europe: Maidenhead, United Kingdom • Asia: Tokyo, Japan and Sydney, Australia Online Customer Support Our Customer Support website is open to all direct customers with a current maintenance agreement, and provides the most up-to-date Business Objects product and technical information. You can log, update, and track cases from this site using the Business Objects Knowledge Base.

Having an issue with the product?
Have you exhausted the troubleshooting resources at your disposal and still not found a solution to a specific issue? For support in deploying Business Objects products, contact Worldwide Customer Support at: www.businessobjects.com/services/support.htm

Looking for the best deployment solution for your company?
Business Objects consultants can accompany you from the initial analysis stage to the delivery of your deployment project. Expertise is available in relational and multidimensional databases, in connectivities, database design tools, customized embedding technology, and more. For more information, contact your local sales office, or contact us at: www.businessobjects.com/services/consulting.htm

Looking for training options?
From traditional classroom learning to targeted e-learning seminars, we can offer a training package to suit your learning needs and preferred learning style. Find more information on the Business Objects Education website: www.businessobjects.com/services/education.htm

Services

12

Universal Drill Through Service Guide

Useful addresses at a glance
Address
Business Objects Documentation www.businessobjects.com/services/ documentation.htm

Content
Overview of Business Objects documentation. Links to Online Customer Support, Documentation Supply Store, Documentation Roadmap, Tips & Tricks, Documentation mailbox.

Business Objects Documentation mailbox documentation@businessobjects.com Product documentation www.businessobjects.com/services/ support.htm

Feedback or questions about documentation.

The latest Business Objects product documentation, to download or view online.

Business Objects product information Information about the full range of Business Objects products. www.businessobjects.com Developer Suite Online www.techsupport.businessobjects.com Knowledge Base (KB) www.techsupport.businessobjects.com Available to customers with a valid maintenance agreement and a Developer Suite license via the Online Customer Support (OCS) website. Provides all the documentation, latest samples, kits and tips. Technical articles, documents, case resolutions. Also, use the Knowledge Exchange to learn what challenges other users – both customers and employees – face and what strategies they find to address complex issues. From the Knowledge Base, click the Knowledge Exchange link. Practical business-focused examples.

Tips & Tricks www.businessobjects.com/forms/ tipsandtricks_login.asp

Maximizing Your Information Resources

Universal Drill Through Service Guide

13

Address Online Customer Support www.techsupport.businessobjects.com

Content

Starting point for answering questions, resolving issues. Information about registering with Worldwide Customer Support. The range of Business Objects training options and modules.

www.businessobjects.com/services Business Objects Education Services www.businessobjects.com/services/ education.htm

Business Objects Consulting Services Information on how Business Objects can help maximize your business intelligence investment. www.businessobjects.com/services/ consulting.htm

Useful addresses at a glance

14

Universal Drill Through Service Guide

About this guide
This guide describes the Universal Drill Through Service and associated tool, UDS Designer.

Audience
This guide is intended for administrators who need to set up drill through between WebIntelligence reports.

Conventions used in this guide
The conventions used in this guide are described in the table below. Convention This font Indicates Code, SQL syntax, computer programs. For example: @Select(Country\Country Id). This font is also used for all paths, directories, scripts, commands and files for UNIX. Placed at the end of a line of code, the symbol ( ) indicates that the next line should be entered continuously with no carriage return.

Some code more code

$DIRECTORYPATHNAME The path to a directory in the Business Objects installation/configuration directory structure. For example: • $INSTALLDIR refers to the Business Objects installation directory. • $LOCDATADIR refers to a subdirectory of the BusinessObjects installation directory called locData.

Maximizing Your Information Resources

About Drill Through

chapter

16

Universal Drill Through Guide

Overview
Universal Drill Through Service (UDS) is a technology that allows users to drill down into a WebIntelligence Relational report, or another WebIntelligence OLAP report, from a WebIntelligence OLAP report. With UDS, users can seamlessly carry over their data analysis from report to report. The user selects the cell or cells in the OLAP cube for drilling, and UDS presents them with a list of WebIntelligence Relational or OLAP reports that provide more detailed drill down data. UDS ‘remembers’ the point at which the user left the cube and carries this context across to the target WebIntelligence report. UDS allows users to move from navigation of summarized OLAP cubes to more detailed query, reporting and analysis within the same framework. Users can perform dynamic multidimensional cube analysis and access lower level details stored in the target report. As administrator, you need to map the source OLAP cube to the universe or target OLAP cube and create reports that are appropriate for the different contexts at which the user might drill through from report to report.

About Drill Through

Universal Drill Through Guide

17

What does the administrator do?
As the UDS Administrator, it is your job to ensure that drill through is seamless for the user. You need to carry out some or all of the following tasks to ensure this seamlessness: • Design a star- or snowflake-schema database that will consolidate all the data needed by the universe-based reports. • Migrate data from RDBMSs and/or flat files into this database. • Design a universe for target user reports. • Create a translation map using UDS Designer that tells the Drill Through Service how to translate the context from the OLAP cube to the universe on which the WebIntelligence Relation target reports are based. • Build target reports built against the target universe.

Design a star- or snowflake-schema database
If your source cube is already based on a star- or snowflake-schema database then you will not need to design a database specifically for drill through. In this case, you will use the existing database, and you will also have no need for data migration.

Design a universe for target user reports
If your users are drilling from OLAP cubes to universe-based relational reports, you need to design a WebIntelligence universe whose structure maps to the structure of the source cube. The universe must contain objects that correspond to the levels, hierarchies and members in the cube in all contexts at which the user will be able to drill through from the cube.

Create a translation map
A translation map is an XML file that tells the Drill Through Service how to translate the context from the source to the target report when the user drills through. Because maps are XML, you could use any XML editing tool to create one. However, you are much more likely to use UDS Designer, a specialized XML tool designed specifically for building translation maps. You build a map by assigning objects to a hierarchical map model and setting various properties associated with these objects.

What does the administrator do?

18

Universal Drill Through Guide

Design target reports
You build WebIntelligence target reports against the target universe or OLAP cube that contains detailed data. The Drill Through Service opens these reports automatically when the user chooses to drill through from a context specified in a translation map. Target reports provide data at a more detailed level than the data available in summarized and aggregated OLAP cubes.

About Drill Through

Universal Drill Through Guide

19

What does the administrator need to know?
As the large number of different tasks in the previous section indicates, you need a wide range of knowledge and experience to set up a UDS environment. You should have experience in most or all of the following areas, depending on the environment in which you are setting up drill through: • Advanced SQL • Designing star or snowflake database schemas • Data migration • OLAP cubes • Creating OLAP cubes • Designing and building BusinessObjects universes • Creating universe-based WebIntelligence reports You can get further information from the following sources. For information on star or snowflake schema databases and data warehouses, see Ralph Kimball, The Data Warehouse Toolkit: Practical Techniques for Building Dimensional Data Warehouses (John Wiley & Sons, 1996) and The Data Warehouse Lifecycle Toolkit: Tools and Techniques for Designing, Developing, and Deploying Data Warehouses (John Wiley & Sons, 1998). For creating OLAP cubes using Hyperion Integration Server, see the Hyperion Integration Server Desktop OLAP Model User’s Guide. For designing and building BusinessObjects universes, see the BusinessObjects Designer’s Guide. For creating universe-based WebIntelligence reports, see the Getting Started with WebIntelligence guide.

What does the administrator need to know?

20

Universal Drill Through Guide

What is drill through?
Drill through provides integration between data sources that contain related but different data stored in different data sources. The scenarios that drill through currently supports are: Source Microsoft and Essbase/DB2 OLAP Target Relational (BusinessObjects universes) Microsoft and Essbase/DB2 OLAP This means that the following general drill through scenarios are possible: • OLAP to relational (BusinessObjects universe) • OLAP to OLAP In the OLAP to OLAP scenario, the target cube could be: • a different cube in a different database • adifferent cube in the same database • the same cube When the user drills through from source to target, drill through carries the context of the source report to the target report. A user can drill through from a value cell or cells, or a dimension member or members. When the user drills on value cells, drill through includes the dimension members from the row and column axes that intersect at the cell(s). When the user drills on member(s), drill through includes only that member(s). In both cases, drill through also includes members from dimensions on the filter axis. Drill through provides integration between data sources that contain related but different data. In most enterprises, data is stored in numerous sources, but it is often necessary to access more than one source when analyzing this data. Without drill through, this is a tedious and time-consuming task. On reaching the limit of the data in one source, the analyst needs to do the following: 1. Identify the data source containing the data necessary for further analysis. 2. Start the query tool used to access this data. 3. Navigate the data to arrive at the same ‘context’ reached in the first data source. 4. Continue data analysis using the new query tool.

About Drill Through

Universal Drill Through Guide

21

EXAMPLE What are the unit sales of different brands of soccer cleats in 2001 Q1 ?

In this example the data analyst needs to work with two data sources: an OLAP cube that provides unit sales data down to the level of the type of sports equipment (soccer cleats, golf shoes, baseball uniforms) and a WebIntelligence universe that breaks down sales by each different brand of cleat, shoe, uniform etc. Using the cube, the analyst has drilled down as far as producing a report showing the sales of cleats by quarter. However, he now wishes to investigate further the sales of individual brands of cleat by quarter. To do this, he must: 1. Start WebIntelligence. 2. Load the appropriate universe containing data down to the level of unit sales of cleats by quarter. 3. Create a report showing sales of soccer cleats by quarter for the year 2001. 4. Drill down into this data to analyze sales figure by quarter by brand. With drill through, this complex process becomes straightforward. While browsing the data in the OLAP cube, the analyst simply elects to drill-down into the data showing unit sales of brands by quarter. Even though this data is not in the cube, Universal Drill Through Service (UDS) opens the appropriate WebIntelligence report built against the appropriate universe, and passes the analyst’s ‘context’ in the OLAP cube to this report. The analyst can then continue drilling into the data in the WebIntelligence report.

Drill through components
The following sections describe the components that make up drill through. Universal Drill Through Service Universal Drill Through Service is the name for the technology that translates a user’s context in a source report to a target report, using the information provided in a UDS map (see the section UDS maps below). OLAP source cube The source cube contains data at an aggregated level. OLAP target cube The target cube contains data at a lower level of detail.

What is drill through?

22

Universal Drill Through Guide

UDS maps Maps are files that tell the Drill Through Service exactly how to carry the drill context from the source cube to the target universe (see Chapter 5 "Building Translation Maps" on page 81). You create UDS maps using UDS Designer (see below). For more details on how UDS maps fit into the overall drill through architecture, see Drill through architecture on page 22. UDS Designer UDS Designer is the graphical tool used to build UDS maps (see Chapter 5 "Building Translation Maps" on page 81). Target database In an OLAP-to-relational scenario, the target database is the database on which the target universe is built. Ideally, this database should be configured in a star or snowflake schema. (see "Designing the Target Database" on page 78). This makes mapping OLAP cube members to universe objects simpler. However, the only hard criterion for target database design is that it must be possible to map the members in the OLAP cube to the objects in the target universe. Target universe In an OLAP-to-Relational scenario, the target universe is a Business Objects universe built against the target database. It must be configured to match the structure of the source cube (see Drill Through Requirements on page 65). Target reports Target reports are the WebIntelligence reports invoked by the Drill Through Service when the analyst drills outside the data contained in the source cube. Each possible ‘context’ at which you wish to allow the analyst to drill through to the target universe must be covered by a target report (see Creating WebIntelligence Target Reports on page 119). A general rule of thumb is that each measure in the OLAP cube will require its own target report. This is because the OLAP measures contain data at a summarized level; the report corresponding to each measure therefore provides more detailed data for that measure.

Drill through architecture
It is possible to examine the drill through architecture from several angles: overall architecture, WebIntelligence architecture and runtime architecture.

About Drill Through

Universal Drill Through Guide

23

Overall drill through architecture The following diagram illustrates the relationships between the different components of drill through:

Drill through implementation in WebIntelligence The following diagram illustrates the relationships between the different components of drill through as implemented in WebIntelligence:

What is drill through?

24

Universal Drill Through Guide

Run time architecture The following diagram shows the run time implementation of the drill through architecture. This highlights the two data packages that the Drill Through Service uses: the drilled data package and the translation map:

Why drill through was difficult before
Until recently, databases across an enterprise were rarely synchronized, meaning that the dimensions and levels in an OLAP cube would be unlikely to map to a relational data source within the same enterprise. In this situation, drill through is extremely complex, time-consuming and maintenance-heavy, because the source and target data sources do not share similar metadata. As a result, drill through has thus far existed in two niches only: complex, custombuilt drill through solutions, or proprietary drill through solutions provided by vendors. Proprietary solutions solve the problem of incompatible metadata at the cost of supporting drill through from the vendor’s cubes only to the vendor’s relational source only. Furthermore, different vendors’ OLAP and relational solutions differ considerably in their metadata models. Thus, a single drill through model was not feasible as it would need to account for the metadata models of all the supported source and target data sources.

About Drill Through

Universal Drill Through Guide

25

Why drill through is possible now
Today, database designers recognize the need to synchronize data sources across an enterprise. In particular, they are now basing OLAP cubes on relational data sources. If a cube is built from a star- or snowflake-schema relational source, both the cube and the relational database share similar metadata. This is essential if drill through is not to be prohibitively complex.

How Business Objects enables drill through
With WebIntelligence, Business Objects has both a standard OLAP model and a standard model for accessing relational data (the BusinessObjects universe). This greatly simplifies communication between OLAP-OLAP or OLAP-relational data sources because drill through needs to deal with at most two metadata models - the BusinessObjects OLAP model and the BusinessObjects relational model (universe). OLAP object model WebIntelligence uses a universal OLAP object model to access OLAP cubes hosted on many different OLAP servers. By placing this layer of abstraction between the OLAP server and the client tool, WebIntelligence removes the complexity from querying OLAP cubes. It sees cubes hosted on different OLAP servers through the same object model, and the object model handles the complexity of translating user actions into MDX, the query language understood by OLAP servers. Business Objects universe A universe - Business Objects’ patented ’semantic layer’ - provides a layer of abstraction between WebIntelligence and relational data sources in the same way that the OLAP model insulates WebIntelligence from the OLAP cube. The universe abstracts the database structure into a set of hierarchically-organized objects that represent the real-world objects about which the database stores data. The universe translates user queries into SQL, shielding the user from the often complex database-specific structures in which data about these objects are stored. Because the hierarchical nature of a WebIntelligence universe closely resembles the structure of an OLAP cube, drill through is a good-fit technology for WebIntelligence.

What is drill through?

26

Universal Drill Through Guide

NOTE

For more information on universes, see What is a Business Objects Universe? on page 70.

About Drill Through

Universal Drill Through Guide

27

Setting up drill through
In order to set up a Drill Through environment you need to carry out the steps described in What does the administrator do? on page 17.

Example drill through environment
WebIntelligence comes with a comprehensive set of materials to demonstrate a Drill Through environment. These are: • Source cubes • Source report (OLAP Drill-Through Report) • Target universe database (MS Access) • Target universe (Retail2002) • Target Report (MonthCustNameProdDepSales) • Target report This manual will refer to this material for all examples and demonstrations. For further details, see Installing the Drill Through Samples on page 33.

Setting up drill through

28

Universal Drill Through Guide

About Drill Through

Drill Through Requirements

chapter

30

Universal Drill Through Guide

Overview
This chapter looks at the design requirements for a successful drill through environment. For Drill Through to function correctly, each component must be designed according to specific guidelines, and the designs of the various components are interrelated. For example, if you are using OLAP-relational drill through, the design of the universe on which the target reports are built needs to mirror the design of the source OLAP cube, and the database should be in a star schema to facilitate the universe design. The design requirements for a drill through environment are as follows: For OLAP-relational drill through: • The target relational database is ideally in a ’denormalized’ a star or snowflake schema, although any schema that supports mapping to the OLAP cube is workable. (The following sections describe the differences between normalized and star schema databases.) • The classes and objects in the target universe map to the levels and dimensions in the source OLAP cube. For OLAP-to-OLAP drill through: OLAP-to-OLAP drill through is very similar to OLAP-to-relational drill through, except that the target universe objects are replaced by target OLAP levels. The rest of this chapter examines the issues surrounding relational databases in OLAP-to-relational drill through.

Drill Through Requirements

Universal Drill Through Guide

31

Normalized relational databases
In 1970, database researcher E.F. Codd formulated a series of rules for the design of relational databases. Further researchers added additional rules; collectively these rules are referred to as normalization rules. Normalization is designed to eliminate data rendundancy (the storing of the same piece of data in more than one place in a database) and therefore reduce the risk of errors when writing to and reading from a database. In a correctly-normalized database, each table stores data about one thing and one thing only. The ‘things’ in question might be tangible, like employees or departments, or more abstract, like relationships or events. Codd’s earlier rules deal with tangible things, while the later rules deal with the abstract. A normalized relational database is ideal for data input. However, the retrieval of data from such a database is often slow. Because the data has been normalized into many tables, a complex query might require data from a large number of tables. This process of joining the data from different tables in order to present a query result is an intensive database operation. Normalized databases are usually found in On-Line Transaction Processing (OLTP) systems, the primary purpose of which is data entry. Car rental reservation systems or Point of Sale (POS) systems are examples of OLTP.

Normalized relational databases

32

Universal Drill Through Guide

Star schemas
The star schema is an alternative database design that is optimized for data output. Star schemas violate normalization rules spectacularly, but they also speed up data retrieval by a significant degree. As a general rule, they are used strictly for reporting rather than data input. Star schema databases are populated from OLTP databases. The OLTP data is transformed to fit into the star schema, and the database is refreshed periodically from the OLTP systems. The star schema maps closely to the structure of an OLAP cube. As a result, data in OLAP cubes is often drawn from data warehouse databases designed as star schemas.

Fact tables, dimension tables and hierarchies
A star schema consists of a central ‘fact’ table, joined to numerous ‘dimension’ tables which radiate around it. The fact table contains numeric data with which you can measure business performance: for example, numbers of products sold. Dimension tables join to the fact table and relate these measures to different aspects of the business. A star schema almost always includes a table or tables that store time data, because the primary purpose of such databases is to allow for the analysis of trends over time. For example, a database might contain Time, Product and Customer dimensions linking to a fact table storing unit sales. In this case it would be possible to examine unit sales by product, customer and time period. Dimensions usually contain hierarchies. As you move down through the hierarchy, its data becomes progressively more specific. For example, a Product dimension might contain hierarchy levels such as Product Category, Product Subcategory and Brand Name. A Product dimension table containing all this data is a good example of the kind of highly denormalized table found in star schemas. In a normalized structure, these three distinct ‘things’ would probably be stored in three tables.

Snowflake schemas
A snowflake schema is similar to a star schema except that the hierarchies in the dimension table are ‘normalized out’ to some extent. Snowflake schemas are less common because the database space saved by normalization is small (in a large star schema database, approximately 95% of the space is occupied by the fact table), and the joining of the snowflaked tables

Drill Through Requirements

Universal Drill Through Guide

33

adds additional overhead. The example database is predominantly in a star schema, although the Product dimension is ‘snowflaked’ into the PRODUCT and PRODUCT_CLASS tables.

Star schemas

34

Universal Drill Through Guide

What is a Business Objects universe?
Universes are Business Objects’ patented ’semantic layer’ that sits between the BusinessObjects client tool and its relational data source. Universes insulate users from the complexities of SQL and relational data structures by presenting the data in terms familiar with the user. The hierarchical organization of data in universes is very similar to the organization of data in an OLAP cube, which makes mapping between the two data sources possible.

Drill Through Requirements

Universal Drill Through Guide

35

How cubes and universes relate
OLAP cubes and Business Objects universes are both hierarchical structures that are used to identify specific pieces of numerical data; for example the number of soccer cleats sold in California in Q2 2001. To find this information in an OLAP cube, the analyst would explore the Customer dimension in order to find California, the Product Dimension in order to find Cleats, and the Accounts dimension in order to find the unit sales. To do the same information in a WebIntelligence universe, the analyst would navigate to the California object within the Customer class, the Soccer Cleats object within the Product class, and the Unit Sales measure. The classes and objects in universes therefore map to the dimensions and hierarchy levels in an OLAP cube.

Cube Term Dimension Level

Cube Data ‘Product’

Universe Term Universe Data Class ‘Product’ ‘Brand Name’

‘Brand Name’ Object (dimension or detail) ‘Cleats’ Value

Member

‘Cleats’

The basic type OLAP-relational mapping provided by UDS is "level translation”. In level translation a dimension level is mapped to a universe object where all the members for a dimension level map to a universe object and the member name corresponds exactly to the universe object value (eg. 2000Q1 = 2000Q1)

Design requirements
The following sections examine the structures of the cube, universe and database in the demonstration material more closely, in order to demonstrate the structure of the components in a drill through environment.

Relational database
Ideally, the database should be in a star or snowflake schema, although any schema that allows mapping of cube members to universe objects is workable. The following figure shows the schema for the example MS Access database that

How cubes and universes relate

36

Universal Drill Through Guide

ships with WebIntelligence. This database is predominantly in a star schema, although the Product dimension is ‘snowflaked’ into the PRODUCT and PRODUCT_CLASS tables.

Making member names unique When building your database, you need to account for the fact that members in Essbase/DB2 OLAP cubes must be unique throughout the entire cube. For example, a Time dimension containing data for multiple years cannot contain multiple members called ‘March’. You solve this by creating a composite name for such members. A composite name is built from the member name qualified by the names of parent members. For example, the member ‘March’ in the year 2001 could be named ‘2001Q103’. In this case, the month is qualified by both the quarter and the year in order to make the member name unique.

Drill Through Requirements

Universal Drill Through Guide

37

You need to account for this when designing your database. In the example database, the TIME_PERIOD table contains the columns ess_month (in the form ‘2001Q103’) to uniquely identify the month, and ess_quarter (in the form ‘20001Q1’) to uniquely identify the quarter.
NOTE

You can also solve the problem of unique member names at the universe level. See the next section.

Universe
The classes, objects and measures in the universe must match the dimensions, levels and measures in the source cube. However, the universe can contain additional items not in the source cube. The table below shows example mappings from the demo universe and cube shipped with WebIntelligence. Cube Dimension Level Member Product Product Family Sportswear Class Object Value Universe Product Product Family Sportswear

You can see this mapping by examining the demonstration translation map supplied with WebIntelligence. Open the map using <smalcap>UDS Designer (see the chapter Building Translation Maps on page 81 for instructions on using this tool).
The translation map maps the cube level Product Family to the universe class/object Product/Product Family. ’SportsWear’ is a member in the cube level and a value of the universe object.

How cubes and universes relate

38

Universal Drill Through Guide

Designing for unique members If your source cube is an Essbase/DB2 OLAP cube, you will need to take the cube’s unique member names into account. In Essbase/DB2 OLAP, each member name must be unique throughout the entire cube. Cube designers solve this by qualifying member names with the names of one or more parent members. The time dimension members are often named in this way. If the time dimension contains data for more than one year, the names of the months in the year must be qualified with the year to make them unique. For example, the March 2001 member cannot be named ’March’; it needs a name like ’2001March’. Creating universe objects to map to unique members You can create universe objects that map to the unique members in a cube. Because universes provide a layer of abstraction between the database and the user, you can add objects to the universe that derive from various objects in the database. For example, you could create a universe object called Essbase Quarter that concatenates the quarter’s parent year followed by the quarter, in the form "2000Q1". This is what the object definition would look like in Designer:

Drill Through Requirements

Universal Drill Through Guide

39

Cube
There are no restrictions on cube design, other than the normal restrictions imposed by Essbase/DB2 OLAP (for example, the need to have unique member names). The cube design carries over to the design of the universe and target databases and places restrictions on those components, as described in the previous sections.

How cubes and universes relate

40

Universal Drill Through Guide

Drill Through Requirements

Designing the Target Universe

chapter

42

Universal Drill Through Guide

Overview
This chapter describes the WebIntelligence target universes on which you base your drill through target reports in OLAP-to-Relational drill through.

Designing the Target Universe

Universal Drill Through Guide

43

Designing the target database
If you are basing your target universe on the same database that populates your source cube, you do not need to design a target and populate a target database. If you are designing a new database for your target universe, you must be aware that, for the OLAP dimensions that you wish the user to be able to drill through from, the target universe needs to map exactly to the structure of the OLAP cube. The ideal design for the underlying database for this universe is a star or snowflake schema. These schemas map closely to OLAP cubes (and are often used to feed data to cubes in OLAP databases); as a result, such a schema is also ideal for a universe that maps to the structure of an OLAP cube.
NOTE

The target database does not need to map to the structure of the whole source cube, just to those dimensions that you wish users to be able to drill through from. After you have designed your database, you will need to populate it. How you do this depends on factors such as the operating system and RDBMS on which the database is hosted. If you use views in the target database, you do not need to perform as much data migration.

Designing the target database

44

Universal Drill Through Guide

Designing a star schema database
In a star schema, the numeric data (the Accounts dimension in an Essbase/DB2 OLAP cube) is stored in a central ‘fact’ table. The dimension tables (equivalent to the dimensions in an OLAP cube) radiate around this fact table and are joined to it via foreign keys. (See Star Schemas on page 68 for more details.) The example drill through database that ships with this guide (see Example Drill Through Environment on page 63) is arranged almost entirely in a star schema, although the Product dimension has been split (or ‘snowflaked’) into the PRODUCT and PRODUCT_CLASS tables. Databases in which the dimensions are partly renormalized into separate tables are known as snowflake-schema databases.

Essbase/DB2 member naming restrictions
In an Essbase/DB2 OLAP cube, each member name must be unique throughout the entire cube. Essbase/DB2 OLAP cube designers typically work around this restriction by qualifying the name of the member with the names of its parent members. For example, it is not possible to have a member called ‘Q2’ if the cube contains data for more than one Q2 (which is likely). In this situation, the cube designer could qualify the name of the quarter with the name of the year in order to make the member name unique. The member name for Q2 of 2001 would be 2001Q2. You can account for this in the database by adding additional columns where necessary to allow for mapping to uniquely named-members. You can see this in the TIME_PERIOD table of the example database, which contains the columns ess_quarter (uniquely-named quarters) as ess_month (uniquely-named months).
NOTE

You can also account for unique members at the universe level. See Creating universe objects to map to unique members on page 74 for more details.

The Accounts dimension
An Essbase/DB2 Accounts dimension might contain data that is not in the relational data source. The Accounts dimension can contain aggregates, while the relational data might contain the lowest-level numerical data only. In this scenario it is not possible to map the Accounts dimension to the database.

Designing the Target Universe

Universal Drill Through Guide

45

This should not present an issue as the mapping of an Accounts dimension is rarely useful. The purpose of Drill Through is to allow the user to retrieve lowerlevel numerical data from the database than is available in the cube. To do this, Drill Through needs to map dimensions and levels between the cube and database. Numerical data is retrieved based on the dimensions and levels that the user is querying - in itself it is not relevant to drill through context.

Designing a star schema database

46

Universal Drill Through Guide

Creating the target universe from the database
In the target universe, the classes must map to the dimension in the OLAP cube, the objects must map to the levels, and the values of those objects must map to the cube members. The following table shows some example correspondances between the example cube and universe shipped with WebIntelligence. Cube Term Dimension Level Cube Data ‘Product’ Universe Term Universe Data Class ‘Product’ ‘Brand Name’

‘Brand Name’ Object (dimension or detail) ‘Cleats’ Value

Member

‘Cleats’

Designing the Target Universe

Building Translation Maps

chapter

48

Universal Drill Through Guide

Overview
This chapter describes UDS translation maps and how to build them using UDS Designer. Translation maps tell the Drill Through Service how to translate the context from an OLAP source cube to a universe (OLAP-to_relational drill through) or OLAP target cube (OLAP-to-OLAP drill through). Drill through currently supports Microsoft SQL Analysis Services and Essbase/DB2 OLAP as OLAP sources.

Building Translation Maps

Universal Drill Through Guide

49

What is UDS Designer?
UDS Designer is a graphical tool that you use to build translation maps. Translation maps are XML files; UDS Designer is a specialized XML editor specifically tailored to building maps. However, you can build translation maps with any XML editing tool. [UDS Designer installation details]

What is UDS Designer?

50

Universal Drill Through Guide

What are translation maps?
A translation map is an XML file (with the extension UDM) that tells the Drill Through Service how to translate the context from the source cube to the target WebIntelligence report (which can be based on a universe or an OLAP cube) when the user drills on a cell or cells. It describes how the values in the cube relate to the values in the report. You build a translation map by specifying which structures in the originating data source you want to translate, and what their equivalents are in the target data source. Because the originating data sources are OLAP cubes, this means that the map is structured like a cube: it consists of dimensions, hierarchies and levels. There are two basic translations possible within a map: level translations and member translations.

Level translations
A level translation is a general rule that applies to all members at a particular level in an OLAP cube. It has the following components: • Target universe class - in an OLAP to relational translation, the universe class that an OLAP member translates to. • Target universe objects - in an OLAP to relational translation, the universe objects that an OLAP member translates to. • Target OLAP level - in an OLAP to OLAP translation, the OLAP level that an OLAP member translates to. • Translation rule - a rule that specifies how to manipulate the member when passing it from the source to the target. • Parent translation - an additional translation rule used to qualify the member with its parent member or members where the name of the member alone is not enough to uniquely identify it in the universe.

Member translations
You use member translations to exclude specific members that you do not want to be translated as part of a level translation. For example, the dynamic time series members in an Essbase cube (Quarter to Date) have no equivalent in a relational database. To prevent this member from being translated, you assign a member translation to it and disable translation for the member.

Building Translation Maps

Universal Drill Through Guide

51

What is in a translation map?
A translation map contains the following information: • Details of the originating data source (OLAP cube) • Details of the target data source (WebIntelligence report) • Details of each dimension and its associated hierarchies and levels and whether these are enabled for drill through • The level and member translations associated with the levels. • The target reports based on the target cube or universe.

Workflow for building a translation map
To build a translation map, you do the following:

Step Import the source cube

Description Loads the source cube metadata into UDS Designer Loads the target universe metadata into UDS Designer Loads the target cube metadata into UDS Designer Adds the translations that describe the cubeto-universe mapping to the translation map

For further information, see... Importing the source cube on page 56 Importing the target universe on page 58

Import the target universe OR Import the target cube

Importing the target cube on page 59 Specifying member translations on page 67

Add the translations to the map

Specify the target reports

Adds the Specifying target reports WebIntelligence target on page 73 reports to the translation map

What are translation maps?

52

Universal Drill Through Guide

Import the source cube When you load the source OLAP cube, you make its metadata (dimensions, hierarchies, levels and members) available to UDS Designer. You can then add these metadata objects to the translation map. Import the target universe When you load the target universe, you make its metadata (classes and objects) available to UDS Designer for the same reason. Import the target cube When you load the target cube, you make its metadata available to UDS Designer. Add the translations to the map This is the key process in which you tell the Drill Through Service how to translate the context from the source cube to the target WebIntelligence report. You do this by adding translation objects to the map and setting their properties. Specify WebIntelligence target reports After you have added all the translations to the map, you specify the target WebIntelligence reports to which the map applies. These are the reports that the user will drill through to from the source OLAP cube.

Building Translation Maps

Universal Drill Through Guide

53

Mapping from cubes to universes
Data is structured in universes in a design that is very similar to the structure of OLAP cubes. The dimensions, levels and members in a cube correspond to the classes, objects and object values in a universe. For example, the Customer dimension in the demonstration cube contains the City level, and one of the members of this level is ‘San Diego’. This maps to the Customer class in the demonstration universe, which contains the City object. One of the values of this object is ‘San Diego’. For drill through to work, you must be able to map the structure of the source cube to the structure of the target universe. This means that the values of the dimensions, levels and members in the cube must correspond exactly to the classes, objects and values in the universe. This simple mapping is known as structure mapping. There are two flavors of structure mapping. The simpler form is 1:1 mapping and the more complicated form is qualified 1:1 mapping.

Simple 1:1 mapping
In simple 1:1 mapping, the cube members map exactly to equivalent objects in the WebIntelligence universe. The table below gives examples from the Rtl2002 cube and Rtl2002 universe supplied with the Drill Through Service. In simple 1:1 mapping there is no need to qualify the source member in the translation map because the target objects in the universe are unique and unambiguous.

Qualified 1:1 mapping
In qualified 1:1 mapping the target objects in the universe are not unique. In order to map the source OLAP members to the target universe objects unambiguously, it is necessary to qualify the member with the name of one or more of its parent members. This situation commonly occurs when translating members in the Time dimension. If a relational data source contains data for more than one year, the child objects of the year (for example the quarters and months) will not be unique in the database. March 2001 and March 2002 will both be stored as ’March’. Because a translation map must uniquely associate each cube member with a corresponding universe object, you need to use a Parent Translation object to qualify the name of the member with the name of its parent.

Mapping from cubes to universes

54

Universal Drill Through Guide

Building translation maps using UDS Designer
This section describes how to build a UDS Map using UDS Designer. The UDS Designer main interface is shown below.

The OLAP Source Information pane shows the dimensions, hierarchies and levels in the source cube The Universe Target Information pane shows the classes and objects in the target universe

The Mapping Parts pane contains the different objects that you can add to a translation map

You use the Add and Delete The Map Model buttons to add or remove ob- pane displays the translation map jects from the translation map

The Properties area allows you to change the properties of the currently-selected object in the translation map

Building Translation Maps

Universal Drill Through Guide

55

Navigating translation maps
You navigate a translation map in the Map Model pane. UDS Designer displays the map hierarchically in a tree format. You select objects in this hierarchy and change their properties in the Properties area. When you select an object, the Properties area changes to display the properties that are relevant to that object.

Building translation maps using UDS Designer

56

Universal Drill Through Guide

Importing data sources
Your first step in creating a translation map is to import the metadata from both the source cube and the target cube/universe. To do this you need to connect to both the OLAP database containing the cube and the WebIntelligence repository or OLAP database containing the universe/target cube.
NOTE

When working with a previously-saved translation map that you open using UDS Designer, it is not possible to change the data sources.

Importing the source cube
To import the source cube, do the following: 1. Select New from the File menu. The Map Types dialog box appears.

2. Click OLAP to Relational or OLAP to OLAP then click OK.

Building Translation Maps

Universal Drill Through Guide

57

The Olap Source Information dialog box appears.

3. Enter the name of the OLAP server in the OLAP Server box. 4. Select the OLAP server type from the Server Type dropdown list. 5. Enter your OLAP server username and password in the User Name and Password boxes. (This step does not apply to MS OLAP.) 6. Click Connect. UDS Designer attempts to connect to the server using the information you have given. If connection is successful, the DataBases dropdown list box is populated with names of the OLAP databases available on the server. 7. Select the database containing the cube you want to access from the Databases dropdown list box. 8. The Cubes dropdown list box is populated with the names of all the cubes available in the database you selected. 9. Select the cube that you want to connect to from the Cubes dropdown list box. 10. Click Load Cube. 11. The OLAP Source Information pane is populated with the dimensions, levels and hierarchies in the source cube. In addition, the translation map is populated with all the dimensions, hierarchies and levels in the cube.

Importing data sources

58

Universal Drill Through Guide

NOTE

You can also import a source cube when you already have a translation map loaded. In this case, UDS Designer does not automatically assign all the dimensions, hierarchies and levels to the translation map.

Importing the target universe
If you selected OLAP to relational translation, the Choose Universe dialog box opens automatically after you have loaded the source cube.

Enter your User Name and Password and click OK. If the connection to the repository succeeds, you will see the Universe Target Information dialog box.

If you cannot connect to the repository, check that the repository database is available and that you have the correct middleware installed to access it. Select a universe from the Universes dropdown, then click Load Universe. UDS Designer populates the Universe Target Information with the classes and objects from the universe.

Building Translation Maps

Universal Drill Through Guide

59

Importing the target cube
If you selected OLAP to OLAP translation, the OLAP Source Information dialog box appears again. You follow the procedure described above to connect to the source cube.

Security
Drill through security is handled entirely by the originating and target query tools. The displayed cube members and values are based on the user ID used to connect to the OLAP cube. Universe security is governed entirely by the user ID used to connect to WebIntelligence.

Importing data sources

60

Universal Drill Through Guide

Creating a translation map
Once you have loaded the source and target metadata you are ready to start building your translation map. When you loaded the cube metadata, UDS Designer automatically loaded all the cube dimensions, hierarchies and levels into the translation map. Now, when you select an object in the Map Model pane, the Properties area on the right displays the properties of the selected object. The Properties area changes to reflect the properties appropriate to the object you select. You can then modify these properties. You can add additional objects to be associated with an object in the translation map. These objects come from three sources: • The OLAP Source Information pane • The Universe Target Information pane • The Mapping Parts pane To add an object to the translation map, do the following: 1. Select the object in the translation map. 2. Select the object to be added in the OLAP Source Information, Universe Target Information or Mapping Parts panes. 3. Click the Add button to add the object to the translation map. 4. Use the Properties area to specify the properties of the added object.

Adding, deleting, replacing and enabling dimensions
The Map Model pane shows dimensions hierarchically beneath the map object in the Map Model pane. You can perform four tasks relating to a dimensions: add a new dimension, delete a dimension, replace a dimension and enable/disable an existing dimension,

Building Translation Maps

Universal Drill Through Guide

61

.

Creating a translation map

62

Universal Drill Through Guide

Adding, removing and replacing dimensions You can add, remove or replace dimensions in the translation map. To add a dimension: 1. Select the Map object in the Map Model pane.

2. Select the dimension in the OLAP Source Information pane.

3. Click Add. The dimension is added to the translation map.

Building Translation Maps

Universal Drill Through Guide

63

To remove a dimension: 1. Select the dimension in the Map Model pane. 2. Click Remove. The dimension is removed from the translation map. To replace a dimension: 1. Select the dimension to be replaced in the Map Model pane. 2. Select the replacing dimension in the OLAP Source information pane. 3. Click Add. The dimension is replaced with the new dimension from the source cube. Enabling dimensions for translation When you load the source cube for a new translation map, UDS Designer adds all the cube dimensions to the translation map. Initially, all dimensions are not enabled for translation. You need to enable the dimensions that you wish to be translated. To enable a dimension: 1. Click the dimension in the Map Model pane. The Properties area shows the dimension properties.

2. Select Translation Enabled to enable translation for the dimension.
NOTE

To disable an enabled dimension, select Translation Enabled again.

Adding, deleting, replacing and enabling hierarchies
You work with hierarchies by selecting dimensions and hierarchies in the Map Model pane. You can add, remove, replace and enable/disable hierarchies for translation in the translation map. To add a hierarchy: 1. Select the dimension to which you want to add a hierarchy in the Map Model

Creating a translation map

64

Universal Drill Through Guide

pane. 2. Select the hierarchy in the OLAP Source Information pane. 3. Click Add. The hierarchy is added to the dimension in the translation map. To remove a hierarchy: 1. Select the hierarchy in the Map Model pane. 2. Click Remove. The hierarchy is removed from the translation map. To update a hierarchy: 1. Select the hierarchy to be updated in the Map Model pane. 2. Select the replacing hierarchy in the OLAP Source information pane. 3. Click Add. The hierarchy is replaced with the new hierarchy from the source cube. Enabling hierarchies for translation To enable a hierarchy for translation: 1. Click the hierarchy in the Map Model pane. The Properties area shows the hierarchy properties.

2. Select Translation Enabled in the Properties area to enable translation for the hierarchy.
NOTE

To disable an enabled hierarchy, select Translation Enabled again.

Building Translation Maps

Universal Drill Through Guide

65

Adding, deleting, replacing and enabling levels
You work with levels by selecting the levels in the Map Model pane. You can add, remove or replace levels in the translation map. To add a level: 1. Select the dimension hierarchy to which you want to add a level in the Map Model pane.

2. Select the level in the OLAP Source Information pane.

Creating a translation map

66

Universal Drill Through Guide

3. Click Add. The level is added to the dimension/hierarchy in the translation map.

To remove a level: 1. Select the level in the Map Model pane. 2. Click Remove. The level is removed from the translation map. To update a level: 1. Select the level to be updated in the Map Model pane. 2. Select the replacing level in the OLAP Source Information pane. 3. Click Add. The level is replaced with the new level from the source cube.

Building Translation Maps

Universal Drill Through Guide

67

Enabling levels for translation To enable a level for translation: 1. Click the level in the Map Model pane. The Properties area shows the level properties.

2. Select Translation Enabled to enable translation for the level.
NOTE

To disable an enabled level, select Translation Enabled again. Populating translation objects automatically UDS Designer can populate the class and object properties automatically when you add a level translation. To add a level translation and automatically populate these properties, do the following: 1. Select the level in the Map Model pane. 2. Select the universe object in the Target Universe information pane. 3. Click Add. Because you specified a target universe object in step 2, the Universe Class and Universe Object properties of the level translation are automatically populated with the universe object’s parent class and object name respectively. Specifying member translations A level translation applies to all members at a level. If you need to specify a translation for a particular member, you can do so by adding a member translation.

Creating a translation map

68

Universal Drill Through Guide

To add a member translation: 1. Select the member’s level in the Map Model pane. 2. Select Member Translation in the Mapping Parts pane. 3. Click Add. UDS Designer adds a level translation (if one is not already present) and a member translation to the level.

4. Specify the class and object properties for the level translation.

Building Translation Maps

Universal Drill Through Guide

69

5. Select the Source Member Unique Name component of the member translation.

6. Type the member name in the Member Unique Name box in the Properties area. The source member is updated in the Map Model pane.

7. Select the Target Unique Value component of the member translation in the

Creating a translation map

70

Universal Drill Through Guide

Map Model pane.

8. Type the member name in the Member Unique Name box in the Properties area. The source member is updated in the Map Model pane.

Building Translation Maps

Universal Drill Through Guide

71

Deleting member translations To delete a member translation: 1. Select the member translation in the Map Model pane. 2. Click Delete. The member translation is removed from the translation map. Adding parent translations You might need to qualify a member with at least one parent member in order to make translation to the target universe possible. For example, the source cube might contain the member ’Q4’ in the Time dimension. You would need to qualify the name of this member with the name of the parent member (for example ‘2000’) in order to create a unique member name. In this case, the context passed by the Drill Through Service would be ‘2000Q4’. To do this you need to add a Parent Translation object to the level. You can add a Parent Translation Object only after you have added a level translation. To add a Parent Translation Object: 1. Select the level translation in the Map Model pane. 2. Select Parent Translation in the Mapping Parts pane.

Creating a translation map

72

Universal Drill Through Guide

3. Click Add. The Parent Translation object is added to the level. By default it points to the immediate parent level.

4. Specify the level to which the Parent Translation Object points by typing its name into the Unique Name box in the Properties area. Qualifying a translation with multiple parent levels You can qualify a level with more than one parent level by adding a Parent Translation object that points to a level that itself has a parent translation object. The Drill Through Service will move up through the hierarchy of Parent Translation objects and qualify the level name with all the parent levels in the hierarchy. Deleting parent translations You delete a Parent Translation Object directly or by deleting the level or member translation to which it is associated.

Building Translation Maps

Universal Drill Through Guide

73

Specifying target reports
After you have added the translations to the map, you need to specify the WebIntelligence target reports to which the map applies. To do this: 1. Click Define Target Reports on the toolbar. The Document Information dialog box appears.

2. 3. 4. 5.

Type the name of the report in the Document Name box. Type the document caption in the Document Caption box. Type a comment in the Comment box. Click Add. The report appears in the Assigned Documents list. 6. Click OK.
NOTE

The caption and comment are optional.

Creating a translation map

74

Universal Drill Through Guide

Editing a target report To edit a target report: 1. Select the report in the Assigned Documents list. The Add button becomes a Set button.

2. Modify the document name, caption or comment as necessary. 3. Click Set. Deleting a target report To remove a report from the target reports list: 1. Select the report in the Assigned Documents list. 2. Click Remove. The report is removed from the list.

Building Translation Maps

Universal Drill Through Guide

75

Working with existing translation maps
You can use UDS Designer to open and modify an existing translation map. Because there is no file association between UDS Designer and UDM files, you cannot open translation maps by double-clicking them in Windows Explorer. To open a translation map: 1. Select Open on the File menu. The Open Translation Map dialog box opens.

2. Select a translation map and click OK. The translation map is loaded into UDS Designer.

Working with existing translation maps

76

Universal Drill Through Guide

Changing the originating and target data sources
After you have built a translation map, you can change its source and/or target data sources. To change the originating data source 1. Click Change Originating Data Source on the Data Sources menu. The OLAP Source Information dialog box appears.

2. Enter the name of the OLAP server in the OLAP Server box. 3. Select the OLAP server type from the Server Type dropdown list. 4. Enter your OLAP server username and password in the User Name and Password boxes. (This step does not apply to MS OLAP.) 5. Click Connect. UDS Designer attempts to connect to the server using the information you have given. If connection is successful, the DataBases dropdown list box is populated with names of the OLAP databases available on the server. 6. Select the database containing the cube you want to access from the Databases dropdown list box. 7. The Cubes dropdown list box is populated with the names of all the cubes available in the database you selected. 8. Select the cube that you want to connect to from the Cubes dropdown list box. 9. Click Load Cube.

Building Translation Maps

Universal Drill Through Guide

77

The OLAP Source Information pane is populated with the dimensions, levels and hierarchies in the source cube. In addition, the translation map is populated with all the dimensions, hierarchies and levels in the cube.
NOTE

When you change the originating data source, the current map information is lost. To change the target data source 1. Click Change Target Data Source on the Data Sources menu. The OLAP Source Information dialog box appears if your are working with an OLAP to OLAP map.

The Universe Target Information dialog box appears if you are working with an OLAP to relational map.

2. Follow the procedure outlined in To change the originating data source on page 76 to select a different OLAP cube, or select the universe and click Change Originating Data Source to select a different universe.

Working with existing translation maps

78

Universal Drill Through Guide

Making translation maps available to WebIntelligence
After you have built your translation maps, you need to make them available to WebIntelligence so that the Drill Through Service can translate the user’s context when they click on a drillable cell. To do this, place your maps (*.UDM files) in the Data folder in your WebIntelligence installation, for example C:\Program Files\Business Objects\Business Objects Enterprise 6\OLAPData\UDSMaps. You then need to stop and restart the WebIntelligence DTS Service to load the translation map. To do this: 1. Click Update UDS on the toolbar. The Universal Drill Through Service Update dialog box appears.

2. Type the name of the server and the port number, then click Update.

Building Translation Maps

WebIntelligence in Drill Through

chapter

80

Universal Drill Through Service Guide

Overview
This chapter concentrates on the WebIntelligence side of drill through. It looks at creating WebIntelligence target reports as well as the workflow that the user follows when drilling through to a target report.

WebIntelligence in Drill Through

Universal Drill Through Service Guide

81

Creating WebIntelligence target reports
Filters, conditions and prompts
The Universal Drill Through Service applies drill contexts to target reports through the use of filters. For example, if you drill on the Fashion member of the Product dimension, the Drill Through Service applies a condition that restricts the Product dimension to Fashion. The Drill Through Service deletes any existing filters on a report before applying drill filters. This is to avoid conflicting filters. For example, a report already contains a filter restricting Country to ‘US’, then the Drill Through Service adds a filter restricting Country to ‘France’. The resulting filter - Country = ‘US’ and ‘France’ - returns no data. As a result, you should create new reports to use with drill through, rather than use existing reports that might contains filters that you want to retain. Prompts Prompts work by applying filters to a report. Your target reports should not contain prompts on dimensions that are enabled for translation in the translation map. The prompt filter might combine with the drill filter in the way described above to filter all data from the report.

Sample target report
The best way to understand drill through target reports and their relationship to source documents is to refer to the samples provided with WebIntelligence. The sample source reports are based on the Retail2002 OLAP cube, and provide data at a more detailed level than the data in the cube. The Universal Drill Through Service applies filters to the reports depending on where the user chooses to drill in the source cube.

Making target reports available for drill through
You make target reports available by uploading them to the ’Corporate Documents’ area of WebIntelligence, then refreshing the list of corporate documents. The reports can then be accessed by users who need to drill through from OLAP cubes.

Creating WebIntelligence target reports

82

Universal Drill Through Service Guide

Drill through workflow
This section describes what happens in WebIntelligence when a user drills through from an OLAP cube to a universe.

Where can the user drill in a report?
UDS supports single or multiple-cell drill through from both measure and member cells. For example, the user might choose to drill down into sportswear revenues in California in Q1 2000 (measure cell) or drill down into fashion products (member cell).

Member cell

Measure cell

WebIntelligence in Drill Through

Universal Drill Through Service Guide

83

Starting drill through
To start drill through: 1. Select the cell in the report. The cell is highlighted.

Cell selected for drill through

Drill through workflow

84

Universal Drill Through Service Guide

2. Click the Drill Through button on the toolbar. The Drill Through dialog box appears.

3. Select a target report from the list and click OK.

WebIntelligence in Drill Through

Universal Drill Through Service Guide

85

The target report opens at the context where you started drill through.

The target report
In the example above you drilled on the cell showing sales revenues for sportswear products California for Q1 of 2000. The Drill Through Service therefore applied filters to restrict the target report to 2000Q1, sportswear, and California. As a result, the target report displays sales revenue by product department by month by sales person within these restrictions.

Drilling on multiple cells
Drilling on multiple cells works on the same principle. The Drill Through Service builds a filter based on the cells you selected. These cells can be values, members, or a combination of the two. They do not have to be contiguous in the report. The following examples show various multiple-selection scenarios and the the filters generated by the Drill Through Service.

Drill through workflow

86

Universal Drill Through Service Guide

EXAMPLE Selecting multiple measure cells

In this situation the filter generated by the Drill Through Service is (2000 and Fashion) or (2000 and Work)

EXAMPLE Selecting member labels from different dimensions

In this situation the filter generated by the Drill Through Service is 100 and West

WebIntelligence in Drill Through

Universal Drill Through Service Guide

87

EXAMPLE Selecting member labels at the same level

In this situation the filter generated by the Drill Through Service is West or Central

EXAMPLE Selecting member labels from the same and different dimensions

In this situation the filter generated by the Drill Through Service is
2001 and (Sportswear or Work)

EXAMPLE Selecting member labels and values

In this situation the filter generated by the Drill Through Service is ((2000 or 2001) and Fashion) or (2001 and Sportswear)

Drill through workflow

88

Universal Drill Through Service Guide

WebIntelligence in Drill Through

Managing and Maintaining a Drill Through Environment

chapter

90

Universal Drill Through Service Guide

Overview
This chapter describes the ongoing maintenance tasks that you will need to carry out to keep a drill through environment up-to-date and functioning correctly.

Managing and Maintaining a Drill Through Environment

Universal Drill Through Service Guide

91

Why maintenance is necessary
You design your translation maps to work with the current structures of your source cubes and target cubes/universes, but it is rare for the structure of databases to remain the same for long. If the structure of your source cube or target cube/universe changes after you have installed your translation maps, you will need to modify the maps to take account of the changes. If you do not, it is likely that drill through will no longer work correctly. You need to be aware of changes to both cube levels and individual cube members that might affect drill through.
NOTE

Remember that after you have modified a translation map, you need to stop and then restart the drill through service (see Making translation maps available to WebIntelligence on page 78).

Why maintenance is necessary

92

Universal Drill Through Service Guide

Changes that require updates
Changes to either levels or specific members require that translation maps be updated.

Level changes
The following changes will require you to update your translation map: • A cube dimension is added, removed or renamed • A cube hierarchy is added, removed or renamed • A cube level is added, removed or renamed • Any universe class or object referenced by the translation map is removed or renamed

Member changes
Any of the above changes affect member translations also. You must also account for new members that require additional member-specific translation rules. If such members are added to the source cube, you will need to add corresponding member translations to the translation map.

Managing and Maintaining a Drill Through Environment

Universal Drill Through Service Guide

93

Problems caused by outdated translation maps
The problems caused by failing to update a translation map depend on the changes made to the source cube or target universe. If a source cube dimension, hierarchy or level or a target universe class or object referenced by a translation map is removed or renamed, drill through will fail. If additional levels, hierarchies, levels, members are added in the source cube, or additional classes and objects are added in the target universe, the Drill Through Service will simply ignore them because it will not be aware of their existence.

Problems caused by outdated translation maps

94

Universal Drill Through Service Guide

Source cube and target cube/universe locations
Translation maps are based on cube and universe metadata, not on the cubes and universes themselves. This means that any cube can be a drill through source as long as its metadata is compatible with the metadata in the translation map. The same applies to target universes and cubes. You will not necessarily ’break’ a translation map by using different cubes and universes from the ones you used to build the map in the first place. The source and target datasources must have the same names as the ones specified in the map (the Drill Through Service passes these names during drill through), but their physical locations are irrelevant.

Managing and Maintaining a Drill Through Environment

Universal Drill Through Service Guide

95

Index
B
Business Objects consulting services 11, 13 documentation 10 Documentation Supply Store 9 support services 11 training services 11, 13

F
feedback on documentation 10

K
Knowledge Base 12

C
consultants Business Objects 11 customer support 11

M
multimedia quick tours 10

O
OLAP source cube design requirements 39 Online Customer Support 11

D
demo materials 9 Developer Suite 10, 12 documentation CD 9 feedback on 10 on the web 9 printed, ordering 9 roadmap 9 search 9 Documentation Supply Store 9 drill through and Business Objects 25 architecture 22-24 components 21-22 defined 20-21 previous difficulty of 24 drill through samples described 27

R
relational database normalized 31 snowflake schema 32 star schema 32

S
search documentation 9 support customer 11

T
target database design requirements 35 designing 43 Essbase Accounts dimension 44 Essbase member-naming restrictions 44

E
education see training

Index

96

Universal Drill Through Service Guide

target reports defined 18 target universe creating from the target database 46 design requirements 37 Tips & Tricks 10 training on Business Objects products 11 translation maps defined 17

U
UDS 16, 21 UDS Designer 48-75 Universal Drill Through Service see UDS 16 universes 25, 34 relation to cubes 35

W
web customer support 11 getting documentation via 9 useful addresses 12 WebIntelligence administrator required knowledge 19 tasks 17-18

Index

Sign up to vote on this title
UsefulNot useful