0% found this document useful (0 votes)
103 views16 pages

MAN2 Designer

The document provides an overview of key concepts for using BusinessObjects Designer including: 1. The typical universe design process involves data analysis, user analysis, design, implementation, testing, deployment, and maintenance. 2. Designer modules include the Table Browser, Structure Window, and Universe Window. The designer maps user needs to available database data. 3. Connection parameters define how the universe connects to the underlying data source. Universes can connect to different database types. 4. Objects are organized into classes and subclasses. Dimensions are used for drill analysis while details provide information. Joins relate objects and can be inner, outer, or theta. 5. Measures contain numeric data

Uploaded by

lpm40
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
103 views16 pages

MAN2 Designer

The document provides an overview of key concepts for using BusinessObjects Designer including: 1. The typical universe design process involves data analysis, user analysis, design, implementation, testing, deployment, and maintenance. 2. Designer modules include the Table Browser, Structure Window, and Universe Window. The designer maps user needs to available database data. 3. Connection parameters define how the universe connects to the underlying data source. Universes can connect to different database types. 4. Objects are organized into classes and subclasses. Dimensions are used for drill analysis while details provide information. Joins relate objects and can be inner, outer, or theta. 5. Measures contain numeric data

Uploaded by

lpm40
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 16

TechEd FastTrack Designer

Designer

TERMINOLOGY

Designer, database, universe


Semantic Layer
Universe, metadata layer
Map data, derivation of data, objects
Objects
What BusinessObjects does.

SQL GENERATION

Very basic BusObj select statement generated using the universe meta data:
Select OBJECTs From TABLEs Where JOINs

UNIVERSE DESIGN PROCESS

The typical universe design process consists of the following steps:


1. Data analysis (understanding the db structure and contents),
2. User analysis (understanding the business information requirements, what
data and required by whom, what is users’ technical and business knowledge),
3. Design (planning the universe, or universes!),
4. Implementation (building the universe),
5. Testing (using the universe to build queries),
6. Deplo yment (exporting to repository and applying security), and
7. Maintenance (updating as changes are necessary). most of a universe
designer’s time/effort is spent on data/user analysis and design.

DESIGNER MODULE WINDOWS


There are three main designer wi ndows: the Table Browser (the administrator’s
technical view of the database), the Structure Window (the designer’s semi-
technical view of their portion of the database used for queries), and the Universe
Window (the end business user’s non-technical view of the database). the
designer’s job is essentially to map the end user’s needs to available data in the
database.

Multiple Universes: might be a good idea sometimes

Confidential and Proprietary D 1


TechEd FastTrack Designer

CONNECTION PARAMETERS

The Definition tab under Parameters ( ) is where the universe’s connection


to the underlying data source is defined. A universe (which is stored as a .unv
file) has only one connection, and one connection points to one RDBMS only!

Unless a connection to the desired data source has been created, click the New
button to create a new connection. Select the appropriate middleware layer
(must be setup on the client machine), and create a name for the new
connection. If the database requires a username/password, either enter the
designer’s information for all users, or be sure to check the
option so that each individual’s information is
inserted into the connection string when they run queries. This may be useful if
the organization wants to leverage existing database security or audit specific
user activity. Connection information may be customized per user/group using
Supervisor.

CONNECTION TYPES

There are three connection types: personal (connection information is stored on


the local client machine in the pdac.lsi file),
shared (connection information is stored on a shared file server in the sdac.lsi
file), and
secured (connection information is stored in the repository). In order to export a
universe to the repository, the connection type must be secured.

INSERTING TABLES

Use the Table Browser ( ) to insert any necessary tables into the Structure
Window (depending on data/user analysis and design)

CLASSES (SUB-CLASSES)

Classes are used to organize objects by subject. Some classes may contain
subclasses. Every object must be in at least one class. (Objects may be in more
than one class, but this may entail additional maintenance.)

Confidential and Proprietary D 2


TechEd FastTrack Designer

DIMENSION VS. DETAIL OBJECTS (AUTOMATIC/MANUAL) (i.e. qualification)

Dimensions ( ): used for both information purposes, and to move up/down


hierarchies in drill analysis.
Details ( ): attributes of dimensions, used for informational purposes but NOT
for drill analysis.

Simple objects may be created automatically by dragging a column from a table


in the Structure Window into a class. More complex objects may be created by
clicking Insert Object ( ).

OBJECT FORMATTING (Object Properties) and TESTING

Although formatting can always be modified by end users, the designer can set
default formatting on each object by right-clicking on the object and selecting
Object Format.

JOIN CREATION (AUTOMATIC/MANUAL)

There are essentially three ways to create joins:


1) by clicking and dragging from one field to another

2) by using the dialogue boxes under Insert Join ( ), or


3) by using Detect Joins ( ), which is based on a particular detection
strategy depending on the database. Any join may be edited by double-clicking
on it.

INNER, OUTER, THETA JOINS

An inner join is defined as one in which a row of data is returned when ids are
matched in both of the joined tables – this is the join created by default.
An outer join is defined as one in which a row of data is returned whether or not
there is matching data in one of the tables – this may be defined by editing the
join and checking the option on either the left or right side, depending
on which table may not have matching data (a full outer join will be supported in
6.5 Designer).
A theta join is defined as one in which one column in one table is joined with
more than one column in another table, such as for ranges.

Confidential and Proprietary D 3


TechEd FastTrack Designer

MEASURE OBJECTS

Measures ( ): numeric data which can be aggregated used for informational


purposes and typically the subject of drill analysis. Measure objects are created
in the same way as dimension/detail objects, but when creating a measure object
it is recommended to include a database aggregate function (sum, ave, min,
max, etc.) in the SELECT. A GROUP BY clause will then be invoked for each
dimension in the query, and the server will perform the appropriate aggregation
and return summary rows to the user, instead of the transaction details.

SERVER VS. CLIENT AGGREGATION

In addition to server aggregation, the user may also perform local aggregation
after data has been returned, specifically during multidimensional analysis
(adding/removing dimensions).
For this reason, when creating a measure object it is recommended to also
define a local aggregate function (sum, ave, min, max, etc.) on the Properties tab
of the object.

DEFAULT/CUSTOM HIERARCHIES

The universe designer defines hierarchies of dimension objects which the end
user sees under Scope of Analysis and uses during drill analysis to move up,
down and across hierarchies and dimensions.
Default hierarchies are automatically created based on the order of dimension
objects in each class, but custom hierarchies consisting of any dimension objects

in any order can be created under Hierarchies ( ).

AUTOMATIC TIME HIERARCHIES

Whenever there is a ‘Date’ type object, there is a special Automatic Time


Hierarchy button on the Properties tab of the object, in which Year, Quarter, and
Month objects can be automatically created. Alternatively, as many universe
designers do not like the resulting format of these objects, database formulas can
be used to extrapolate multiple date objects from a single date field, and format
the date in special way. This may be particularly useful during drilling, or if the
field will be used to link multiple data providers in a document.

However, date objects created using the automatic time hierarchy are not
editable.

Confidential and Proprietary D 4


TechEd FastTrack Designer

WHERE CLAUSE RESTRICTIONS (OBJECT CONDITIONS)

When creating objects it is possible to include restrictions directly in the WHERE


clause. However, since users can query ad hoc, ensure that restrictions do not
conflict when certain objects are combined in the Query Panel.
E.g. Customer Name WHERE country=’US’ and country=’France’

CONDITIOIN OBJECTS

Use Insert Condition ( ) to create predefined query restrictions for


quick/easy use in the Query panel. This provides users the ability to select their
own query restrictions, and reduces potential WHERE conflicts.
To view, select the ‘Predefined Conditions’ pane ( ) at the bottom of the
Universe Window.
BusObj users do have the possibility to change the where clause from AND to
OR.

PROMPTS

Prompt in B usinessObjects (e.g. Which resort?) WHERE Resort.resort =


@variable('Which resort?')

Also in Designer using the @PROMPT function.


WHERE City.city=@Prompt(1,2,3,4,5)

1. Text, e.g. ‘Pick a city’ (must be in ‘quotes’)


2. A/N/D (Alpha, numeric, date), e.g. ‘A’ (must be in ‘quotes’)
3. List of Values (take it from Class and Objects), or hard-code type it in
between curly {} brackets. (must be in ‘quotes’)
4. Mono/Multi although SQL requires IN operator if multi (no quotes!),
5. Free or constrained (free to choose, or to be constrained to type from list)
(no quotes!).

Multiple prompts may be used in conjunction, for example if restricting


‘transaction date between Start Date and End Date’, but note that multiple
prompts will appear in alphanumeric order when the query is run.

EXE RC ISE: NH TP De signer e xer cis e (Pa rt A)

Confidential and Proprietary D 5


TechEd FastTrack Designer

LOOP RESOLUTION

A loop occurs when there is a continuous path of joins in the universe structure.
This poses a problem for SQL generation engine (‘Error during SQL generation:
Incompatible combination of objects.’), as there exists some ambiguity
surrounding how exactly to generate the proper sequence of joins in order to
retrieve query results.
Depending on the nature of the loop, there are typically two different types of
resolutions: aliases and contexts – both are used to avoid or remove the
inherent ambiguity during SQL generation.

ALIASES: SHARED LOOKUP TABLES

An alias is a logical copy of a database table, used in the universe structure to


fool the SLQ generation engine into thinking that there are two different physical
tables, thereby effectively breaking the loop. An example of when an alias may
be needed to resolve a loop is when two different tables share/lookup (join) to a
common dimension table – this often occurs in normalized database schemas.

Select the problem table to alias, use Insert Alias ( ) to create a copy of the
orginal table, name the alias slightly differently from the original, redefine the
joins to break the loop, and create unique objects from each table. These two
tables will now be treated as separate for SQL generation purposes only,
although technically they both refer back to the same physical table in the
database.

ALIASES: FLEXIBLE DOMAIN SHARED LOOKED TABLES

Another example of when an alias may be needed to resolve a loop, also when
two different tables share/lookup (join) to a common dimension table, is when the
database contains a flexible/shared lookup table with several different types of
codes/descriptions – this may occur in highly normalized database schemas. like
The example above, select the problem table to alias, use Insert Alias ( ) to
create a copy of the original table, name the alias table slightly differently from
the original, redefine the joins to break the loop, and create unique objects from
each table. these two tables will now be treated as separate for SQL generation
purposes only, although technically they both refer back to the same physical
table in the database.
However, since this particular table contains several different types of
codes/descriptions, a restriction on each table is necessary so that each provides
only relevant rows when used as a lookup.

Confidential and Proprietary D 6


TechEd FastTrack Designer

Use Insert Join ( ) and edit the join Expression to attach the necessary
restriction (“self join”) to each table (ex: WHERE type = ‘<value>’), which will then
be invoked every time a particular table is used in the query.

ALIASES: RECURSIVE TABLES

Another example of when an alias may be needed to resolve a loop is with


recursive table structures, or when the table must join back to itself in order to
retrieve requested information – this may occur in normalized database schemas,
typically with dimension tables containing employee/manager, component parts,
or financial account information.

Like the example above, select the problem table to alias, use Insert Alias ( )
to create a copy of the original table, name the alias table slightly differently from
the original, redefine the joins to break the loop, and create unique objects from
each table. These two tables will now be treated as separate for SQL generation
purposes only, although technically they both refer back to the same physical
table in the database.

CONTEXTS: INFERRED, AMBIGIOUS, MULTIPLE-PATH QUERIES

A context is a distinct path of joins within a universe structure, used to fool the
SLQ generation engine into thinking that some of the joined tables in the
structure do not exist, thereby effectively breaking the loop. An example of when
a context may be needed to resolve a loop is when multiple fact/transaction
tables are linked to common dimension tables – they may also be necessary in
other denormalized database schemas.
Use Insert Context ( ) to create a new context, give the context a
name/description (for help text), and select all the joins which should be part of
the query context of the particular fact/transaction table. Repeat as many times
as necessary to define all of the different q uery contexts in the structure.
Note that this process does not actually break the loop (like aliases), however the
SQL generation engine now has enough additional information about the
different query contexts and distinct join paths in the structure.
If the user query includes an object along any one of the contexts, the SQL
generation engine can now infer the conte xt of the query. if the user query
includes objects which are shared between contexts, the SLQ generation engine
will prompt with a list of applicable contexts and ask which join path to use to
generate the SQL. If the user query includes objects along multiple contexts,
the SQL generation engine will generate multiple SQL statements. Such queries
would not have been possible prior to creating contexts.

Confidential and Proprietary D 7


TechEd FastTrack Designer

CONTEXTS: CHASM/FAN TRAP

In order to generate correct SQL in certain situations, it may still be necessary to


use contexts even when there is not a loop in the universe structure. For
example, chasm traps (a MANY to ONE to MANY relationship between three
consecutive tables) and fan traps (a ONE to MANY to MANY relationship
between three consecutive tables) are both common SQL issues which can
generate incorrect query results.
Contexts can help prevent such situations if separate join paths are defined in
the universe structure, thereby forcing the SQL generation engine to generate
separate SQL statements instead of one which incorrectly combines all tables.

AGGREGATE AWARENESS

Aggregate awareness allows the universe designer to leverage aggregate tables


which the database administrator may have created. The use of small, compact,
pre-aggregated tables can considerably speed up high-level queries.
There are essentially four steps to building aggregate awareness into a
universe:

1. insert the aggregate table and any necessary joins to the rest of the structure

2. as this may create a loop, define conte xts as necessary

3. build aggregate awareness into any objects for which may be found in more
than one table (for example, measures in the aggregate table were probably
aggregated from measures in the transaction table, and dimensions may have
been denormalized and redundant in the aggregate table) by using the
@AggAware function, structuring the syntax such that tables are listed from
smallest to largest (for example, @AggAware(highaggregate.measure,
lowaggregate.measure, transactiontable.measure)

4. define object/table incompatibility under Tools | Aggregate Navigation (the


Detect Incompatibility button may work if contexts are properly defined, however
it is always recommended to review settings.)

AUTOMATIC DETECTION

There are several automatic detection mechanisms available when creating a


universe. These include options to Detect Loops ( ), Detect Aliases ( ),

and Detect Contexts ( ). Essentially, when any of these buttons are used, a
special algorithm builds a table tree internally using information about the joins
and join relationships (Cardinalities) to detect shared lookup tables for which it

Confidential and Proprietary D 8


TechEd FastTrack Designer

proposes an Alias solution, and/or multiple fact tables for which it proposes a
Context solution.
Loops can be easily detected whenever there is a continuous path of joins in the
universe structure. However, it is critical to remember that the reliability of these
detections and their suggested resolutions depends on the accuracy of the
cardinalities – these must be defined completely and correctly (see below).

CARDINALITIES (AUTOMATIC/MANUAL)

Although Cardinalities are not needed for SQL generation, they may be useful
to simply clarify the universe structure, particularly for use with other detection
mechanisms (above).
When Detect Cardinalities ( ) is used, three queries run: 1. for the number of
rows in the first table, 2. for the number of rows in the second table, and 3. for the
number of rows in common. For this reason, this detection may be undesirable
to use, for example if there are many rows in each table (will take too long) or if
there are few rows in each table and the data is not a representative sample (will
be unable to detect).
However, cardinalities can always be set manually by double-clicking on the join
and using the appropriate radio buttons.

INTEGRITY CHECK

Check Integrity ( ) periodically and before testing the universe, as the


resulting report will highlight errors/omissions which may affect query generation.

UNIVERSE PARAMETERS (TABS)

Under Parameters ( ), where the universe’s connection to the underlying


data source was originally defined, there are several options on several other
tabs which can be set at a universe level.
These include the Summary tab (keeps a summary of universe content),
the Strategies tab (what strategies to use when automatically defining objects,
joins, and tables),
the Controls tab (to limit the result set and/or execution time), the
SQL tab (to allow advanced SQL generation), and the
Links tab (to dynamically link universes).

EXTERNAL STRATEGIES

Confidential and Proprietary D 9


TechEd FastTrack Designer

A strategy is a script used to extract structural database information. An external


strategy is a text file customized for this purpose. it is called in the STG section
of the PRM file for the appropriate database.

LISTS OF VALUES

Lists of values are used when building custom conditions and when responding
to query prompts. The designer can make different lists of values available, can
set the refresh frequency, and can define what query runs to retrieve the list of
values as well as how to best display the data

TABLES BUTTON

The Tables button (under Object Properties) is used to invoke additional


tables/joins in the query whenever a particular object is used. The table
specifically referenced in the SELECT is already selected i n the list of tables, but
additional tables may be forced into the SQL statement by holding down the
CTRL key.

SHORTCUT JOINS

If the database is somewhat denormalized and if foreign keys exist in multiple


tables, it may be possible to create and use shortcut joins.
Create the join as usual, but be sure to check the option, so that a
loop is not detected. Then depending on the objects used in the Query Panel, the
SQL query generation engine may be able to bypass intermediate tables using a
shortcut join.

TABLE ROW COUNTS

It is possible to influence the order of tables in the FROM if the Query Panel
knows the relative size of the tables in the universe structure. By right-clicking on
tables and selecting the Number of Rows in Table option, row counts can either
be automatically refreshed or manually modified.

LINKED UNIVERSES

Under Parameters ( ) on the Links tab, an existing universe may be used to


facilitate the creation of a new universe. However, both universes must share the
same connection if a dynamic link is desired. Linking universes may be used to
enforce consistency across universe and reduce development and maintenance
time for multiple, similar universes.

Confidential and Proprietary D 10


TechEd FastTrack Designer

@SELECT/WHERE CLAUSES

The SELECT/WHERE clauses on an existing object may be referenced during


the creation of a new object using the @SELECT and/or the @WHERE
functions. to see that actual SQL strings reflected in the SQL Editor, be sure to
check the option.

QUICK DESIGN WIZARD

The Quick Design Wizard assists in the creation o f a universe. it guides in


establishing a connection to the database, allows the creation of simple classes
and objects, and provides built-in strategies for the automatic creation of objects,
joins, and tables. It is frequently used for training/demos, but should not be used
for universe development in production, as it is a poor substitute for thorough
planning/analysis.

RAPID DEPLOYMENT TEMPLATES

For many popular packaged applications, rapid deployment temples (pre-built


universes) may be available. BW Universe Builder is a product that creates a universe from
SAP BW InfoCubes. It is a type of metadata bridge, specialized on SAP BW data design (i.e., It is not
a universal bridge product) We acquired the technology from Alti (a consulting partner) in late 2002
and delivered v1.0 development in Dec 2002. (BW: Business Warehouse)

TOOLS | OPTIONS, DOCUMENTATION

There are some additional designer options under Tools | Options, including
graphics and print options. Although there is not inherent version control of
universes, if universe components and descriptions are periodically
printed/saved, this can serve as a historical record of universe status and
changes.

WORKGROUP/ENTERPRISE DISTRIBUTION

There are essentially two different ways to distribute a universe, either by sharing
the UNV file (appropriate when working with a small workgroup of other
designers in a development/test environment) or by exporting to the repository

Confidential and Proprietary D 11


TechEd FastTrack Designer

(appropriate for enterprise deployment, as universe access to the data is


centralized and secure).

Confidential and Proprietary D 12


TechEd FastTrack Designer

NHTP DESIGNER EXERCISE (PART A)

Your demo universe should contain the following elements:

Connection:
eFashion (personal)

Tables:
Article_lookup, Calendar_year_lookup, Outlet_lookup, Shop_facts

Joins:
Shop_facts.Shop_code=Outlet_lookup.Shop_code
Article_lookup.Article_code=Shop_facts.Article_code
Shop_facts.Week_key=Calendar_year_lookup.Week_key

Classes/Objects:
Time: Year, Quarter, Month
Store: State, City, Store Name, Zip Code, (detail), Address (detail)
Products: Lines (Family_name), Category, Description (Article_label)
Measures: Sales Revenue, Quantity Sold (both from Shop_facts)

Conditions:
Last Year (1999), This Year (2000), Which City? (prompt)

Hierarchies:
Time: Year, Quarter, Month
Store: State, City, Store Name
Products: Lines, Category, Description
Custom: Store Name, Lines, Year, Month

Confidential and Proprietary D 13


TechEd FastTrack Designer

NHTP DESIGNER EXERCISE (PART B)

Your demo universe structure should now look like this:

Please resolve any loops in the most appropriate manner!

Confidential and Proprietary D 14


TechEd FastTrack Designer

NHTP DESIGNER EXERCISE (PART C)

Your demo universe structure should now look like this:

Please add in the AGG1 and AGG4 tables, and implement


aggregate awareness. Run these queries, checking the SQL:

? Year, Revenue – AGG4 table!


? Year, Month, Revenue – AGG1 table!
? Year, Month, Invoice Date, Revenue – INV_LINE table!

? City, Revenue – what table does it use?


? Quarter, Revenue – what table does it use?
? Resort, Revenue – what table does it use?

Confidential and Proprietary D 15


TechEd FastTrack Designer

BOU NHTP HANDS-ON CONNECTIVITY SESSION


The steps below should provide enough info to connect your client machines to both Oracle and MS SQL
Server on BOU-USA -ATL01. It is typical of the info you will routinely need to seek from local DBAs.
(Remember to also take advantage of any available HELP features.)
There are essentially three basic steps to establishing client / server connectivity:

1. Installing the middleware / network layer


2. Configuring the middleware / network layer
3. Testing the connection through the middleware / network layer

ORACLE (through Net8)

Installing the middleware / network layer


ü Map a local drive to \\BOU-USA-ATL01\ NHTP_files\INSTALLS, run Oracle setup.exe
ü Install the CLIENT PRODUCTS as an APPLICATION USER

Configuring the middleware / network layer


ü Run Net8 Easy Config
ü Add a database alias (instance: ORCL)
ü Name it yourself -- remember this name!

Testing the connection


ü Run SQL Plus (login as scott/tiger)
ü Run this query to test: 'select * from emp;'
ü If results are returned, connection has been established!

NOW TEST THROUGH DESIGNER:


ü Create connection in designer
ü Open RESORTS database in table browser. Insert customer table into structure window. Create
class/objects from customer table

MS SQL SERVER (through ODBC)


Installing the middleware / network layer
ü Map a local drive to \\BOU-USA-ATL01\ NHTP_files\INSTALLS, run MS SQL Server autorun.exe
ü Perform a LOCAL install of DESTOP edition COMPONENTS
ü Select CUSTOM setup, check only CLIENT CONNECTIVITY and Query Analyzer (under
Management Tools)

Configuring the middleware / network layer


ü Run ODBC to define a SYSTEM DSN (w/ SQL Server driver, not Access!)
ü Name it yourself -- remember this name!
ü Use SQL Server authentication
ü Client Configuration should be TCP/IP

Testing the connection


ü Run Query Analyzer (login as resorts/pass)
ü Run this query to test: 'select resort from resort;'
ü If results are returned, connection has been established!

NOW TEST THROUGH DESIGNER:


ü Create connection in designer
ü Open RESORTS database in table browser. Insert customer table into structure window. Create
class/objects from customer table

Confidential and Proprietary D 16

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy