Sunteți pe pagina 1din 43

Schmidt Ink, Inc.

Creating Universes with BusinessObjects XI


Designer XI

Published by
Schmidt Ink, Inc.
San Diego, CA 92122

Printed in USA

Copyright © 2006 by Robert D. Schmidt. All rights reserved. No part of this manual may be reproduced or
transmitted in any form, by any means without the prior written permission of the publisher.

For authorization to reproduce this manual for corporate internal use only, not for resale, but for training in a
classroom environment, contact:

Schmidt Ink, Inc.


Phone: (858) 405-9317
www.schmidtink.com

Other Schmidt Ink, Inc. Publications:


Creating Documents with BusinessObjects
Creating Documents with BusinessObjects: Report Writing Course
Creating Documents with BusinessObjects: Web Intelligence Course
Creating Documents with BusinessObjects: Desktop Intelligence Course
Creating Documents with BusinessObjects XI: Web Intelligence XI Course

Limits of Liability and Disclaimer of Warranty

The author and publisher of this book have used their best efforts in preparing the book and the examples
contained in it. These efforts include the development, research and testing of the theories and examples to
determine their effectiveness.

The Author and Publisher make no warranty of any kind, expressed or implied, with regards to the examples and
documentation in this book. The Author and Publisher shall not be liable in any event for incidental or
consequential damages in connection with, or arising out of, the furnishing, performance or use of the examples
contained in this book.

Trademarks:
BusinessObjects, Designer, and Universe Repository are trademarks of Business Objects, SA.
Microsoft and Excel are trademarks of Microsoft Corporation.
All other product and company names mentioned are trademarks of their respective companies.

0-9722636-5-9 (978-0-9722636-5-8)
I dedicate this book to my family. I also dedicate it to all the readers that trust my books to help further
their knowledge and careers. I appreciate your trust and thank you for the motavation that you give me.
Introduction
Thank you for purchasing Creating Universes with Designer XI. I hope that this book provides you with the
reference and training that will help you to become a Business Objects professional. In this book we will
examine many topics on creating universes. Most of these topics will reference a database called SI Data.

The SI Data database is delivered on the accompanying CD in a Microsoft Access database. You may use this
database directly, or import it into SQL Server. Importing it to SQL Server is recommended, because some of the
functions in this book are SL Server specific. The database contains data from an investment company that had a
one-year portfolio fund. In this fund there were six portfolios that traded stocks from their respective industries.
The data also includes calls to clients and the daily prices of included staocks.

It is also better if you can export your universe into a Business Objects repository, as we will create a linked
universe in this course. Link universes require a repository for security (CMS). If you do not have a repository
set up, you will still be able to do most of the examples in the book.

The CD does not contain a demo version of Business Objects software. It is assumed that you have the product
and that it is set up and running.

The CD does contain a PDF presentation file. This presentation can be used to present the material to your fellow
employees. You may not print this PDF and distribute it to anybody other than yourself, as this is a copyright
violation. However, you may purchase the books directly from the distributor at a discounted price so that
everybody viewing the presentation has a book. You may call 1-800-247-6553 for more information.

The PDF presentation contains hyperlinks on most of the slides. These hyperlinks allow you to launch videos of
the examples. These videos will help you to complete the exercises, if you become confused. They may also be
presented to fellow employees during training. Again, it is required that each student has a legal copy of the
book.

If your company has many people to train in Business Objects Designer, Web Intelligence, and Desktop
Intelligence, then you may be interested in the Corporate Training Package. This package gives a company
limited rights to reproduce the manuals in order to train their employees. Please contact us at
RSchmidt@SchmidtInk.com for more information. You may also contact me at this address, if you have any
questions on any of the exercises in the book. Please also send any comments and suggestions that you may have.

Sincerely,

Robert D. Schmidt
www.SchmidtInk.com
Creating Universes with Business Objects Designer XI Copyright © 2006 Robert D. Schmidt

Chapter 1: Build a Basic Universe 1 Using a Subquery Condition 67


In the Beginning, There was Nothing... 3 Date Conditions 69
Windows NT using the Network Login ID 5 Chapter Summary 71
Start and Login to Designer 7
The Quick Design Wizard - Quick Universe Design? 8 Chapter 3: Inserting Tables and Joins 73
Quick Design Wizard 9 Table Types - Fact and Dimesion 75
Universe Parameters - Definition 11 Simple Joins 77
Define a New Connection 12 Table Field Types 79
Define a New Connection 13 Create Classes and Objects 81
Define a New Connection (Continued) 15 Organize and Create New Objects 83
Defining Controls and SQL 17 Detail Objects 85
Universe Parameters - Links and Parameters 19 Join Cardinalities 87
The Designer Workspace 21 Dealing with Property Tables 89
Let’s Get Some Tables 23 Using Detail Objects with Where Statements to Solve Property
Viewing Table and Column Values 25 Table Chasm Trap 91
Default Classes and Objects 27 Aliasing Tables 93
Dimension Properties 29 More on Join Types 97
Editing List of Values 31 Using the Case Statement to Decode Property Flags 99
Exporting a Universe 33 Our Universe, So Far 101
Default Object Behavior 35
Measure Object Definition 37
Creating a Measure 39
Chapter 4: Working with Multiple Fact Tables 103
Automatic Time Hierarchy 43 Add a Second Fact Table 105
Using SQL Date Functions 45 New Fact Table Chasm Trap 107
Defining Object Report Format 47 Universe Context 109
Checking the Universe Integrity 49 Automatically Defining a Universe Context 111
What We Have Learned So Far 51 Deleting and Manually Inserting Contexts 115
Testing the Universe 53 Arranging the Universe Section 117
Working with Common Fields 119
Using SIDate Objects 121
Chapter 2: Conditions in Our Universe 55 Completed Universe 123
Conditions - Bring Back the Data that You Want 57 Create a Separate Company Universe 125
Creating Conditions 59 Linking the Universe 127
Prompted Queries in Desktop and WEB Intelligence 63 Loops in a Universe 129
Create All or Selected Conditions 65 Dimension Table Loops 131
Creating Universes with Business Objects Designer XI Copyright © 2006 Robert D. Schmidt

Chapter Summary 133

Chapter 5: More Design Considerations 135


Add a Third Fact Table 137
Fan Traps 139
Multiple SQL Statements for Each Measure 141
Unsolvable Fan Traps 143
Invoice Type Fan Traps 145
Aggregate Awareness 147
Universe Hierarchies 149
Derived Tables 151
Joins on Different Data Types 153
Chapter Summary 155

Chapter 6: Additional Topics 157


Hierarchical Display 161
Cascading Lists of Values 163
Index Awareness 165
Using a Hierarchical LOV to Provide Index Awareness 167
Hiding Items 169
Between Joins 171
Advanced Join Properties 173
Refreshing the Structure 175
Arranging the Tables in the Structure 177
Printing the Universe Definitions 179
Chapter Summary 181

Course Summary 183


Course Summary 184
Creating Universes with Business Objects XI Copyright © 2006 Robert D. Schmidt

Chapter 1: Build a Basic Universe

In this chapter, we are going to build a one table universe with no


condition objects. We will define our connection, insert a table, and
then create objects from the fields in the table. We will be able to
create queries with this universe in any application that uses
Business Objects’ Universes. In fact, this is how we test the universe
to make sure that it is working. If all of our universes were to use
only one table, then this chapter, and the next chapter, would be all
we need to create professional universes.

One Table Universe


Create a ODBC Data Source

1 Name the data source and select server 2 Assign the Login type and values

3 Assign the Login type and values 4 New DSN in System Data Sources
In the Beginning, There was Nothing...
Well, not exactly nothing. There was a database. In this database, there was data that we needed to supply our department with information. There
were many discussions on how to get this data into our reports to form useful information and BusinessObjects was finally decided on. That brings us
to this page and the purpose of this book - How to get data from our database into well designed reports that supply our company with much needed
information.

To get the data from the database and make it accessible to BusinessObjects, we can make a universe. We could retrieve the data using other methods,
such as stored procedures, freehand SQL, MS Excel files, and so forth. However, this book is not about those topics, so we won't discuss them.
Therefore, we are going to create a universe to retrieve the data. Most of the course, we will build a universe on the SI Equity database. But, sometimes
we will build universes on other data sources to demonstrate certain techniques.

To start our universe, or any universe, we need to know where the data is stored and what database server it is stored in. In this course, our data is
stored in SQL Server. It could be in Oracle or even MS Access, but it is not. Many of the techniques used for MS SQL Server will work in Oracle and
many other databases, but since the functions are different in most databases, some of the examples may not work. I will try to give equivalent
formulas to use in Oracle, when I believe that they differ from SQL Server.

To get started, we must have a data source created on the Server. In this course, we will use an ODBC connection to connect to our database server.
We will create a System DSN that points to our SQL Server. The name of the DSN is SIData and the server is SI MOTHER. You can name your data
source anything that you want and your server will probably (definitely) be named differently. Most companies will already the have the DSN's
configured or will use different configurations. That being said, here is how I created mine:
1. Click on Start located on the Taskbar at the bottom of the screen. 10. Enter the name of the Data Source, in my case it is SIData.
2. Click on the Control Panel to start it. 11. Select the Server from the drop list.
3. Select Classic view, if it is not the current view. 12. Click Next >.
4. Open Administrative Tools. 13. Select the type of authenticity for your login. I will use SQL Server.
5. Open Data Sources (ODBC). 14. Change the default database to your default, in my case it is SIData.
6. Click on the System DSN tab to activate the tab. 15. Click Next >.
7. Click the Add... button to start the New Data Source Wizard. 16. Click Finish.
8. Scroll down and Select SQL Server. 17. Test the Data Source. If it is successful, then we are ready to create a
9. Click the Finish button universe.
Notes

Chapter 1: Build a Basic Universe - 3


Using Windows NT Network Login ID

Hard-coded User Name and Password Windows NT using the Network Login ID

Users seen in Database Users seen in Database


bo_service rschmidt
bo_service ctimmons
bo_service lrichards
... ...
Windows NT using the Network Login ID
The previous method I used to create the Login ID and Password uses hard-coded values. This causes everybody that is using our Universe to connect
to the database using the same user name. This may make database administration easier, because all BusinessObjects users will have the same
database security. While this works well, it is difficult to track down users that my be using the database inappropriately. It may also violate company
security guidelines.

Windows NT using the Network Login ID allows the network login that the user used to login to his/her machine to be pass through to the database.
This method assures that every person using BusinessObjects is uniquely identified in the database. This also assures that every person can be assigned
unique rights to data stored in the database.

While this is definitely more secure, it requires more management on the database server to ensure that all users have rights to the data that is needed
for them to refresh and create documents.

Notes

Chapter 1: Build a Basic Universe - 5


Start and Login to Designer
Desktop Icon

User Identification Dialog


Start and Login to Designer
Since BusinessObjects can be installed many different ways, you may need to start Designer differently. I start it by clicking on the Start menu and
navigating to the Designer icon in the BusinessObjects Enterprise folder. I also start it by double-clicking on an icon on my desktop.

Once the application is started, the User Identification dialog will usually be displayed. Depending on how the security environment has been set-up,
you will have to enter various values. I work at one place where all I have to do is click OK. In my home office, I identify the system as boweb:6400 -
where boweb is the name of my web server.

There are various types of authentication, in my home office I use Enterprise. Since this is not a class on BusinessObjects security, I am not going to
elaborate on the different security themes.

Notes

Chapter 1: Build a Basic Universe - 7


The Quick Design Wizard - Quick Universe Design?

Quick Design Wizard


Quick Design Wizard
Wizards are called wizards, because they perform some kind of magic. If we could use magic in our jobs, then wizards and other types of magical
people would be in high demand and, practice and education would help us little. Luckily, (not magically), practice and education does matter and
many of us have little magic to help us with such matters. Therefore, I would like to suggest that we avoid this wizard, because you may spend more
time trying to figure out why it did what it did, then actually doing what you think it did, which is designing your universe.

This is not to say that the Quick Design Wizard is of no value, and we may visit it later in this book. If anything, to show you how much you don’t need
it. Most universes take relatively little time to build. I know many people disagree with this and it is my experience that the closer you get to the data
source, the more people like to argue. One of the most popular arguments is how many tables should be in a universe. I have heard some popular
writers and consultants say there should be no more than 50 or so. I am not going to add to this argument, except to say that a universe should have has
many tables as needed and no more. This may seem obvious, because if we don’t include the needed tables, then we can’t build our needed reports.

The most basic of universes should be able to be built within a day. In my experience, this is usually the case for me. I think that in recent years this is
truer, since most data has been moved to data warehouses, where the data is organized for easy retrieval. Once in a while, I get a gig where the
database is a complete mess and it takes me a couple of days just to figure out what is going on in there. So, I would say that the time it takes to build
a universe is largely dependent on the data that it is to be built on. Clean organized data ensures a speedy development, where unorganized, confusing
data almost ensures a lengthy development time (and many tricks).

Therefore, the word Quick in Quick Design Wizard is misleading. It may be quick - it may not. Much of the speediness depends on the database and
not the method chosen to create the universe.

Notes

Chapter 1: Build a Basic Universe - 9


Universe Parameters - Definition

Universe Parameters Dialog


Universe Parameters - Definition
After closing the Quick Design Wizard, you are left with nothing, but an open application. This may seem scary and you may want to go and get the
wizard back. However, I assure you that we can go at it alone. To get something again, we just need to select | File | New... | from the menu. This will
open the Universe Parameters dialog.

All universes need at least two things to exist - a Name and a Connection. The name helps us to use it in our reports and the connection allows us to use
a database connection. The name is the easy part - just type it in. Remember that this is the name that users will see when they create a new document,
so try to make it descriptive. However, don’t make it too long, as it is only the name. You can enter a long description into the description field.

If you have just installed BusinessObjects, then you may have no connections. Connections use the connection strings that we have defined to connect
to our universe. In the case of SQL Server, it is probably an ODBC data source, similar to the one that we created earlier in this course. The next slide
discusses how to create a universe connection.

Notes

Chapter 1: Build a Basic Universe - 11


Define a New Connection

1 Displayed After Clicking New... 2 Select Middleware

3 Login Parameters
Define a New Connection
When a system is brand new, there may not be any connections to a database from within BusinessObjects. There may be many ODBC or other types
of connections that exist on a machine, but BusinessObjects can not use these connections until a BusinessObjects connection is defined. To create a
new connection from within Designer, click the New... button on the Definition tab, in the Universe Parameters dialog. This will display the Define a
New Connection dialog.

To start the creation process click the Next > button. The first step is to select your middleware, as this will affect the rest of the steps. The middleware
defines how BusinessObjects will communicate with the connection to your data source. As you can see, there are many different types of middleware
available. These different types allow us to use BusinessObjects with many different types of data sources. In this class, we are going to select the
ODBC Drivers for MS SQL Server 2000. Then, click the Next > button.

The next step is to define the login parameters. The first selection is the Type of connection - Shared, Personal, or Secured. All exported universes are
secured, so we will make ours secured. This also allows us to distribute the universe through the CMS. Then, we name our connection. It is probably a
good idea to include the name of the database and its purpose. For example, it could be ‘DWSales - Production.’

The two options have to do with sign on strategies.

• Use Single Sign On when refreshing reports at view time


This will pass the BusinessObjects login user name and password to connect to the database when a report is refreshed from a viewer. To use this
option the users must have identical user names and passwords for both Business Objects and the database.
• Use database credentials associated with Business Objects user account
We can set database credentials in the User Properties of the CMC. This option will use the stored credentials to access the database.

If you did not use one of the two options, then you will have to enter a user name and password, as I have done. This is the case in many companies,
but as I have mention, many companies implement logins the manner that they feel is best.

Lastly, we select the data source name. In this case, it is the ODBC connection that connects to the SI Data database. There are several other steps that
we will cover on the next slide. However, in most cases this is enough to get you going.

Notes

Chapter 1: Build a Basic Universe - 13


Define a New Connection (Continued)

4 Test the connection 5 Advanced Parameters

6 Custom Parameters
Define a New Connection (Continued)
After entering the login information, the next step is to test the connection. This is where you will find any errors in the connection. If it fails, then it is
typically the user name or password. A successful test means that we are ready to proceed to the next step.

On this step we assign the advanced parameters. The first three options are exclusive, meaning we can only choose one. They define what the
connection will do after it has finished retrieving data.

• Disconnect after each transaction


This means that the connection will terminate after a refresh. This will keep the minimum amount of users attached to the database. However, if
the user makes many transactions, the connection will have to keep re-connecting. In some systems, this have unwanted effects.
• Keep the connection active for x minutes
This option will keep the connection active for the defined amount of time. This may be a good option for someone who refreshes all of there
reports in the morning.
• Keep the connection active during the whole session
This is probably not good for those who never log out of their applications. Only works for local mode.

Array fetch sizes define how many rows a single fetch will retrieve. The bigger the number, the faster the retrieval time. However, the users machine
must have enough resources to accommodate the larger number of rows. An array fetch size of one will result in one row per fetch.

The login timeout parameter defines the amount of time before a failed login is declared unsuccessful. The number is in seconds. Usually, I just keep
the defaults for all of these options. I leave the fine tuning up to the administrators and system experts.

The last step is to define any custom parameters that may be associated with the connection type. Again, I usually just keep the defaults.

Finally, we can click finish and use our new connection in our Universe Parameters definition.

Notes

Chapter 1: Build a Basic Universe - 15


Universe Parameters (Continued)

Summary Strategies

Controls SQL
Defining Controls and SQL
After defining a connection and assigning the universe a name, there are several other tabs of the Universe Parameters dialog that we should look at.

The Summary tab can be interesting, but not now, because we have no universe objects. However, as we build our universe, it may be interesting to
have a look at the summary. Now that I have been building universes for many years, I rarely look at this tab, because it is of little matter. The universe
is what it is, because it works - not because of the number of objects that are in it.

The Strategy is another tab that is rarely used, at least by me. It is for automatic creation of objects, which probably should never happen. It’s kind of
like building a surfboard - you can have a machine build it or you can have a human shaper build it. The human shaper is better, because he/she is able
to pay more attention to the creation.

The Controls tab is very important to visit, because it defaults to numbers that may be too limiting to your business. This tab allows you to set limits on
the query to try and protect the user and the system. It’s been my experience that these limits, at least the first two (Limit Rows and Limit Time), cause
more problems then they help. For example, suppose that you kept the 5000 row limit. Then, later someone creates a report and expects more than
5000 rows, but the report only returns the limit. Not only will he.she have to figure out why it only returned 5000 rows, he/she will also have to
research to find the person that can raise this limit for him. This could take some time and in the frustration, he/she may begins to complain about
Business Objects. This complaining makes everybody’s job more difficult. Therefore, I suggest to not set it, or make it larger rather than smaller. Most
data comes from well design warehouses, and this has made the controls relatively obsolete.

The SQL tab is very important, because it defines the behavior of the SQL generation in the report. SQL is the language that Business Objects uses to
create instructions to retrieve data from a data source. Most of the time the defaults will suffice, as Business Objects has been optimized to use them.
In some cases, due to data organization and limitations, the defaults will have to be changed. I will try to mention this tab throughout the book as we
talk about SQL generation. The Cartesian section may not even be necessary in a well designed universe, because we should never have one. I know
a lot of database theorists will argue that they are necessary, but in the Business Objects world they are difficult to work with.

Notes

Chapter 1: Build a Basic Universe - 17


Universe Parameters - Links and Parameters

Links Parameter

Parameters in Dialog DISTINCT_VALUES


ANSI92 END_SQL
AUTO_UPDATE_QUERY EVAL_WITHOUT_PARENTHESIS
BLOB_COMPARISON FILTER_IN_FROM
BOUNDARY_WEIGHT_TABLE FIRST_LOCAL_CLASS_PRIORITY
COLUMNS_SORT FORCE_SORTED_LOV
COMBINED_WITH_SYNCHRO MAX_INLIST_VALUES
CORE_ORDER_PRIORITY REPLACE_COMMA_BY_CONCAT
CORRECT_AGGREGATED_CONDITIONS_IF_DRILL SHORTCUT_BEHAVIOR
CUMULATIVE_OBJECT_WHERE THOROUGH_PARSE
DECIMAL_COMMA UNICODE_STRINGS
Universe Parameters - Links and Parameters
The Links and Parameters are tabs are used to make your universe design more efficient and to set SQL definitions.

The Links tab is used to link or include other universes into the current universe. This can make universe creation more efficient, because core universe
components do not have to be redefined. We will cover this in more detail later in the course, so I will just touch on the topic here. Suppose that you
have a Product table. There may or may not be other tables that associated with this table. From this table and the associated tables we will create
objects and conditions.

Now, suppose that we have Inventory, Sales, and Marketing universes. Each of these universes will most absurdly need the Products table and related
objects. We can create the product structure in each of the other universes and this will work fine. However, as time goes by, we will begin to make
alterations on the product structure in each of the universes. This will cause them to diverge and some of them may even become out dated. To avoid
this situation, we can create a single Product universe, with all of the objects and conditions that make it perfect. Then, we can just link it into the other
universes. Now, whenever a change is made to the Products universe, it will propagate throughout the other universes.

The Parameters tab allows you to set parameters for your middleware. For example the first one is ANSI92. If this is set to yes, then the SQL generated
will be in ANSI92 format. Universes that expect to use outer joins may want to set this option to yes, since outer joins are less problematic for
ANSI92. The parameters displayed on this tab are the ones that are most common for most middleware. There is a *.prm file in the middleware
directory of BusinessObjects that allows you to set more specific middleware parameters. In this course, I am going to set this option to ‘Yes’, because
most of the people in this course will know this SQL standard.

After we have visited the Parameters tab of the Universe Parameters dialog, we are ready to click the OK button to begin the creation of our universe.
We can always return to the dialog by clicking the Universe Parameters toolbar button or by selecting | File | Parameters...| from the menu.

Notes

Chapter 1: Build a Basic Universe - 19


The Designer Workspace

Tool Bars

The Classes and Objects


(Universe)pane. This is
where we create the
objects that people will
use to create queries Structure pane where we
from our universes will define our universe
structure. This is where
we add tables and views,
and define their
relationships

Status Bar

The Designer Application


The Designer Workspace
After we set our new universe’s parameters, we enter the Designer workspace. At first, it may be a little intimidating, because it is so empty. In time,
you will see that this workspace is very convenient and friendly. It allows us to create the heart of most of our reports - the universe.

I am not going to describe each button and area here, as I will introduce them as we use them. I will tell you that we are going to create a universe by
placing tables in the Structure pane, creating joins to define their relationships, and then creating objects and classes in the Universe section.

Notes

Chapter 1: Build a Basic Universe - 21


Table Browser

Table Browser Button

Our First Table


Let’s Get Some Tables
We add tables and views to our workspace through the table browser. To open the browser, click the Table Browser button. You can also double-click
on the white-space of the Structure pane. You can also right-click in the Structure pane to get a pop-up menu or select | Insert | Tables | from the menu.

In the Browser, the tables are organized by the databases on the server. (This is true for SQL Server, for Oracle and other databases, they may be
arranged differently.) SQL Server is very convenient, because you can use tables and views from any of the databases on a server. To insert a table or
view into the Structure pane, we can drag them from the Table Browser or we can double-click on them in the browser.

In the screen shot above, we’ve inserted PORTFIOLIOTRANSACTIONS into the workspace.

Exercise: Insert a Table into the Workspace

1. Click the Table Browser button to display the Table Browser.


2. Locate the PORTFOLIOTRANSACTIONS table in the SIData database.
3. Drag the PORTFOLIOTRANSACTIONS table from the browser and drop it onto the
Structure pane.
4. Close the Browser by clicking the X in the upper-right corner.

Adding a table to the structure pane should have cause no other objects to be created. If a class
and objects were created in the Classes and Objects pane, then you have some automatic
strategies defined. In this class we won’t use this strategy, so let’s turn it off. Select | Tools |
Options | from the menu to display the Options dialog. Click on the Database tab and clear all
checks in the option controls.

Delete any classes that may have been created - click on the class to select it, and then press the
[Delete] key.

Notes

Chapter 1: Build a Basic Universe - 23


Viewing Table and Column Values

Table Values

Number of Rows Displayed


Viewing Table and Column Values
Many times, especially in a new environment, you may need to check the values in a table. We may do this to make sure that the column values are in
the form that we think they should be. For example, is the Customer number in a new format or an old one - D230067 vs 000067. We also view the
data to find out what kind of values are stored or if a column has been populated.

To see a table’s values, right-click on the table and select Table Values... from the pop-up menu. To view a single column, right-click on the column in
the table and select Column Values... from the pop-up menu.

Sometimes, we only need to see a few rows and other times, we may need to see hundreds of values. Sure, we could go to Query Analyzer and see the
entire table, but sometimes, we don’t have access to such database tools. To set the number of rows in Designer, we use the Database tab in the Options
dialog.

Exercise: View the Values in a Table

1. Select | Tools | Options | from the menu.


2. Click on the Database tab to activate the tab.
3. Enter 200 in the Maximum Number of Rows Fetched control.
4. Click OK to accept the change and dismiss the Options dialog.
5. Right-click on the table in the Structure pane and select Table Values... from the pop-up menu.
6. After viewing the values, click the X in the upper-right corner to dismiss the dialog.
7. Right-click on a field in the table (Ticker, for example) and select Column Values... from the pop-up menu.
8. After viewing the values, click the X in the upper-right corner to dismiss the dialog.

Notes

Chapter 1: Build a Basic Universe - 25


Default Classes and Objects

Classes and Objects Made From Table

Class Folder Dimension Object


Organizes objects in the Universe Defines contexts in a report
Helps to organize Contexts in the Universe Allows queries to be linked (merged) in a report
No two Classes can share the same name Not compatible with unlinked dimensions from other queries
Can be used to define filters in reports
Can be used to create Master-Detail (Section) reports
Can be used to define breaks in a table
Automatically aggregate to unique values in a table
Usually the proper nouns in the company
Examples: Employee ID, State, Product, Department,...
Default Classes and Objects
The class in the above screenshot, was created by simply dragging the table from the Structure pane and dropping it into the Classes and Objects
(Universe) pane. This created a class with the same name as the table, which is usually not the best name for a class. It also created dimension objects
from each of the fields that are in the table.

Class folders are used to organize the objects in a universe. They usually contain objects that represent certain aspects of a business. For example,
Products, Employees, Regions, Dates, Orders, Invoices, and so forth. A single folder can, and usually does, contain objects created from multiple
tables. Class folders can even contain subclass folders to better organize folders that have many objects. For example, an Invoice class may have the
following subclasses: Invoice Date, Ship to Address, Mail to Address, and so forth. I have heard many rules of thumb about creating classes, but I have
found that you need what you need. Whatever makes it easiest for people to find the objects that they need to create reports. One important note is that
no two Class folders can share the same name.

Dimension objects define the data framework of a report. These frameworks are called Report Contexts. They are called contexts, because all
calculations and groupings take place in some context. For example, in the context of year, our company made $600,000 in 2006, and $800,000 in
2005. In the context of region, the West made $900,000 and the East made $500,000. Therefore, the first three columns in this table should be

Region Department Year Sales


West Hardware 2005 $500,000
West Hardware 2006 $400,000
East Software 2005 $300,000
East Software 2006 $200,000

Dimensions, because they define the context for the calculations. One other important note about dimensions is that they aggregate to unique values.
For example, the document that contains the above report may have thousands of rows. However, it can be said for sure, that there are only four unique
combinations of values for the three dimensions, as shown in the table.

Exercise: Drag the Table to the Classes and Objects Pane

Notes

Chapter 1: Build a Basic Universe - 27


Creating Universes with Business Objects XI Copyright © 2006 Robert D. Schmidt

Course Summary

Congratulations. You have finished the course. In this chapter I just offer some advice and thank you for trusting this manual to teach
you how to create universes with Business Objects.
Course Summary
This has been a very comprehensive and sometimes very creative course. We have learned how to create universes for our companies, which is a
tremendous responsibility. Even though it is a large responsibility, I hope that you feel confident to take on this effort. I have seen too many smart
people yield to others, because they feel that others could do a better job.

I have tried to put almost everything that can happen when creating universes into this course. So, if you feel confident with this course, then you
should be able to handle almost any job. Just remember that there is almost always a fact table and supporting dimension tables. Just find and identify
them and start joining. Create some objects and conditions and then make some reports. If the reports are correct, then you are doing a good job.

Always try to think like the people that will be using the universe. How will they like the objects organized? What conditions do they need? Do they
want custom lists of values? I have worked at a few places where the universe designers absolutely refuse to create a report. If they do not create a
report, then how can they know that their universes work? They did not know and many times the universes did not work. What a strain this was on
everybody and how foolish were those IT managers that insisted that is not their job to test the universes.

My suggestion is to test all of your universes by creating documents and comparing the results to expected results. They should match exactly, unless
the data or rules have changed from the older systems. I have seen many rookie designers explain every discrepancy with some kind of weird business
rule that nobody knows about or understands. It has been my experience that not many older systems are inaccurate. Therefore, we should strive to get
the same results out of our new systems.

One more piece of advice - Keep a good relationship with both the database people and the business people. Many times we work right in between
these two groups and it is very important that we can freely communicate with them. Try to address all issues and keep reassuring your business
people. Also, try to thank the database people as much as possible. They are often forgotten and you as the designer are often given the credit for the
system. Remember that the database people make it possible for you to create great universes. I have never made a great universe on a bad database. It
just doesn’t work.

I hope that if you get stuck, you don’t quit. There are too many quitters in this world and we will not add to this population. If you get stuck, please
email me. You can get the address from my web site: www.schmidtink.com. There is also a great WEB site that has helped me many times. People call
it BOB, I call it the best thing that ever happened to Business Objects. I guess calling it BOB is just more compact. Anyway, it is at this URL:
http://www.forumtopics.com/busobj/index.php.
Thanks for Listening and Learning

Thanks for staying with this course and giving it your best. I appreciate your effort and hope that you are rewarded with a great career. I write these
books for people just like you, and knowing that you will be able to enhance your career, thus improving your life is such motivation for me. As long
as you all continue to read, I will continue to write. Thank you so much.

Best Regards,
Robert D. Schmidt
www.SchmidtInk.com

Notes

Chapter 7: Course Summary - 185


Creating Universes with Business Objects XI Copyright © 2006 Robert D. Schmidt

Symbols Insert 137


!Unknown 83 Join Cardinality 115
@Prompt 61, 65, 69 Manual Creation 115
@Select 39, 41, 45, 51 Viewing 113

A D
Aggregate Awareness 147 Data Manager 35
Automated Context Detection 111 DateAdd 69
Decode Property Flags 99
Derived Tables 151
B Detail Objects 85
Between Joins 171 Dimension Table 75
Building-block universes 103 Dimension Table Loops
Universes
C Table Loops 131
Candidate Contexts 111 Dimensions 27
Cardinalities 111 Properties 29
Case Statement 99 Distinct 41, 49
Chasm Trap 91, 95, 107 Duplicate row aggregation 51
Classes duplicate row aggregation 35
Default 27
Unique Names 59 E
Classes and Objects 59 Edit Properties
Create 81 Condition 59
Default 81 Exporting 33
Columns
Viewing Values 25
Conditions F
All or Selected 65 Fact Table 75
Creating 59 Fan Traps 139
Creating Prompted 61 Invoice Type 145
Date 69 Unsolvable 143
Date Table 121
Defined 57 G
Pane 59 Group By 51
Subquery 67
Connection
Define a New Connection 13
H
Disconnect after each transaction 15 Heirarchies 149
Keep the connection active during the whole ses- Hieracrhy
sion 15 Automatic Time 43
Keep the connection active for x minutes 15 Hierarchy
Login 5 Manual Creation 45
ODBC 11
Context Candidates 111 I
Contexts 109 Index Awareness 165, 167
Automatic Definition 111 Index Prompt 167
Deleting 115 Integrity Check 49, 51, 175
Creating Universes with Business Objects XI Copyright © 2006 Robert D. Schmidt

J Using Conditions 91
Join Cardinalities
Joins Cardinality 87 P
Joins 77 Parse 49, 51
Advanced Join Propertie 173 Primary Key 165
Between 171 Printing 179
Chasm Trap 91 Property Tables 89
Different Data Types 153
Fan Traps 139
Inner Join 77, 97
Q
Outer Join 97 Quick Design Wizard 9

L R
List Mode 113 Refreshing the Structure 175
List of Values 31
Cascading 163 S
Export with Universe 161, 167 SQL 53
Hierarchical Display 161, 167 SQL Function
Refresh Before Display 163 Cast 69
Login 7 DateAdd 69
Look-up Table 75 Year 69
LOV 167 Structure
LOV’s Arranging the Tables 177
161 Refreshing 175
Cascading 163
Export with Universe 161 T
Sortings 159
Table Browser 23
LOV’sRefresh Before Display 163
Tables
!Unknown 83
M Alias Tables 93
Measures 37 Aliasing 131
Counting 41 Date 119
Creating 39 Derived 151
Multiple SQL Statements for Each Measure 141 Dimesion 75
Fact 75
O Field Types 79
Objects Insert 23
!Unknown 83 Locate 113
Behavior 35 Look-up Table 75
Default 27 Multiple Fact 105
Detail 85 Show Format 79
Dimension 27 Show Row Count 79
Formatting 47 Transactions table 75
Hiding 169 Underline Keys 79
List of Values 31, 159 Viewing Values 25
Measure 37
Qualification 29
Creating Universes with Business Objects XI Copyright © 2006 Robert D. Schmidt

U
Universe
Arranging 117
Exporting 33
Universe Parameters
Controls 17
Definition 11
Links 19
Parameters 19
SQL 17
Universes
Export 123
Heirarchies 149
Insert Context 137
Integrity 49
Linking
Linking Universes 127
Logical Groups 125
Loops 129
Multiple Fact Tables 137
Save 123
Summary 133
Using Conditions 91

V
Views 151

W
Workspace 21

Y
Year 69
Creating Universes with Business Objects XI Copyright © 2006 Robert D. Schmidt
Creating Universes with Business Objects Designer XI Copyright © 2006 Robert D. Schmidt

Exercise Table of Contents


Exercise: Insert a Table into the Workspace 23
Exercise: View the Values in a Table 25
Exercise: Drag the Table to the Classes and Objects Pane 27
Exercise: Modify Some Dimensions 31
Exercise: Export the universe 33
Exercise: Create a Default Report 35
Exercise: Create the Number of Shares Measure 37
Exercise: Create the Revenue Object 39
Exercise: Create the Num Transactions and the Number of Companies Measure Objects 41
Exercise: Automatic Time Hierarchy 43
Exercise: Create the five date objects listed on the graphic page. 45
Exercise: Override the Default Formats 47
Exercise: Check Universe Integrity 49
Exercise: Create a Simple Condition Object 59
Exercise: Create a Prompted Condition 61
Exercise: Create All or Selected Condition 65
Exercise: Create a Subquery Condition 67
Exercise: Create the Three Date Conditions Shown in the Graphic 69
Exercise: Insert all of the tables shown in the graphic 75
Exercise: Join the tables shown in the graphic 77
Exercise: Show Field Types and Row Counts 79
Exercise: Create Classes and Objects from the Dimension tables 81
Exercise: Organize the Objects 83
Exercise: Create a Detail Object 85
Exercise: Set the Cardinalities in Our Universe 87
Exercise: Create the Property Dimension and Detail Objects 91
Exercise: Alias the SIProperties Table 93
Exercise: Join the Tables and Create the Dimension Objects 95
Exercise: Use the Case Statement to Decode Risk and Buy Sell Recommendation 99
Exercise: Place EQUITY PRICES in the SIEquity Universe 105
Exercise: Join the EquityPrices table to Company 107
Exercise: Automatically Detect Contexts in Our Universe 111
Exercise: View the Universe in List Mode 113
Exercise: Delete Portfolio Transaction Context and Manually Redefine It 115
Creating Universes with Business Objects Designer XI Copyright © 2006 Robert D. Schmidt

Exercise: Create Easy to Use Universe Structure 117


Exercise: Remove all Date Objects and Replace with Common SIDate Objects 121
Exercise: Save and Export Universe 123
Exercise: Create Separate Company Universe 125
Exercise: Link the Company Universe to the SI Equity Universe 127
Exercise: Add the SICALLS Table 137
Exercise: Add the CallCompanyContacts table to the Universe Structure 139
Exercise: If you have a Reporting Tool Create the Query With and Without the Option 141
Exercise: Create a Universe with XBCustomer, XBINVOICE, and XBINVOICEITEM 145
Exercise: Create Aggregate Awareness in Paintball Invoice Universe 147
Exercise: Create a Custom Heirarchy 149
Exercise: Create a Derived Table 151
Exercise: Sort the LOV for Portfolio Name 159
Exercise: Create a Hierarchical List of Values 161
Exercise: Create a Cascading List of Values 163
Exercise: Define Index Awareness for Mgr Name 165
Exercise: Create an Index Prompt 167
Exercise: Print Preview SI Equity - Designer Course 179

S-ar putea să vă placă și