You are on page 1of 59

Page 1 of 59

Q. What is ‘business objects’?

BUSINESSOBJECTS is an integrated query, reporting and analysis solution for business professionals that allow
them to access the data in their corporate databases directly from their desktop and present and analyze this
information in a BUSINESSOBJECTS document.
It is an OLAP tool that high-level management can use as a part of a Decision Support Systems (DSS).
BUSINESSOBJECTS makes it easy to access the data, because you work with it in business terms that are familiar
to you, not technical database terms like SQL.

What are the various Business Objects products? (AG technologies)


User Module, Designer, Supervisor, Auditor, Set Analyzer, Info View (Web Intelligence), Business Objects Software
Development Kit (SDK), Broadcast Agent etc.

What are the advantages of Business Objects over other DSS?


 User Friendly.
 Familiar Business Terms.
 Graphical Interface
 Drag and Drop.
 Powerful reports in less time.
 Enterprise wide Deployment of documents using WebI
 Customized dashboards using Application foundation and Business Objects SDK.

How many modes are there in BO & Designer?


(KPIT Infotech, Pune)There are 2 types: Enterprise Mode, Workgroup Mode.

What are Enterprise and Workgroup modes?


Designer lets you save universes in either enterprise or workgroup mode. Enterprise mode means that you are
working in an environment with a repository. Workgroup mode means that you are working without a repository.
The mode in which you save your universe determines whether other designers are able to access them. By default,
a universe is saved in the mode in which you are already working. For example, if you launched a session in
enterprise mode, any universe you save is automatically in that mode.

How do you save a Business Objects document which can be accessed by all users in workgroup mode?
If we want to make a universe accessible to another designer working without a repository, then click the Save as
Workgroup check box in the Save as universe dialog box.

What is online and offline mode?

What is a macro?
A macro is a series of commands and functions that are stored in a Visual Basic for Applications module and can be
run whenever you need to perform the task. If you perform a task repeatedly, you can automate the task with a
macro. You create macros using the Visual Basic Editor.

What is an add-in?
Add-ins are programs that add optional commands and features to BUSINESSOBJECTS. Add-ins are usually created
by those responsible in your company for adding customized features to BUSINESSOBJECTS. All you probably need
to do is install and uninstall add-ins that are sent to you.

DESIGNER

What is a universe? (AG Technologies)


Universe provides a semantic layer between you and the database. It consists of classes and objects named in
business terms. It is basically a mapping of table and the columns in the database to classes and objects
respectively in the query panel.
Alternatively, It is logical mapping of data in business terms.

In the Business Objects User module, universes enable end users to build queries from which they can generate and
perform analysis. Universes isolate end users from the complexities of the database structure as well as the
intricacies of SQL syntax.

February 8, 2011---5:12 a2/p2


Page 2 of 59

Can a Universe connect to multiple databases? (AG Technologies)

How do you define universe parameters?


The first step in creating a universe is to specify its parameters. These parameters include the definition of a universe,
which is comprised of: the universe name, a description of the universe, a connection to an RDBMS. You enter
universe parameters from the Universe Parameters dialog box. This dialog box also lets you set up database options,
external strategies, graphic options, and print settings.

What is a database connection?


A connection is a set of parameters that provides access to an RDBMS. These parameters include system
information such as the data account, user identification, and the path to the database. Designer provides three types
of connections: secured, shared, and personal.

What are the types of connections we use when connecting to the database? (KPIT Infotech, Pune)
There are three types of connections namely: - Secured, Shared and Personal.

A secured connection is used to centralize and control access to sensitive or critical data. It is the safest type of
connection for protecting access to data.

A shared connection is used to access common resources such as universes or documents. Several users can thus
use it.

A personal connection is specific to one user and can be used only from the computer on which it was created.

What is Designer?
Designer is a Business Objects IS module used by universe designers to create and maintain universes. Universes are
the semantic layer that isolates end users from the technical issues of the database structure. Universe designers
can distribute universes to end users by moving them as files through the file system, or by exporting them to the
repository.

How do you design a universe?


The design method consists of two major phases.
During the first phase, you create the underlying database structure of your universe. This structure includes the
tables and columns of a database and the joins by which they are linked. You may need to resolve loops which
occur in the joins using aliases or contexts. You can conclude this phase by testing the integrity of the overall
structure.
During the second phase, you can proceed to enhance the components of your universe. You can also prepare
certain objects for multidimensional analysis. As with the first phase, you should test the integrity of your universe
structure. Finally, you can distribute your universes to users by exporting them to the repository or via your file
system.

What are the components of the Designer interface?


In Designer, you create a universe using three areas: the Universe pane, the Structure pane, the Table Browser.
The Universe pane displays the components of the universe from the point of view of Business Objects; that is the
classes, objects, and conditions. The Structure pane reflects the underlying database structure of the universe
including the tables, columns, and joins. The Table Browser is the component that lets you create the classes and
objects of the universe from the tables and columns of a database.

What are classes/objects?


An object maps to data or a derivation of data in the database. For the purposes of multidimensional analysis, an
object can be qualified as one of three types: a dimension, detail, or measure.
A class is a collection of objects based on business categories.
A universe is a set of classes and objects intended for a specific application or group of users.

What are classes?


A class is a logical grouping of objects within a universe. In general, the name of a class reflects a business concept
that conveys the category or type of objects.
For example, in a universe pertaining to human resources, one class might be Employees. A class can be further
divided into subclasses. In the human resources universe, a subclass of the Employees class could be Personal

February 8, 2011---5:12 a2/p2


Page 3 of 59
Information. As designer, you are free to define hierarchies of classes and subclasses in a model that best reflects
the business concepts of your organization.

What are objects?


An object is the most refined component in a universe. It maps to data or a derivation of data in the database.
Using objects, end users can build queries to generate reports. The name of an object suggests a concept drawn
from the terminology of a business or discipline. For a human resources manager, objects might be Employee
Name, Address, Salary, or Bonus, while for a financial analyst, objects might be Profit Margin, Return on
Investment, etc. For the purposes of multidimensional analysis, objects are qualified as one of three types:
dimension, detail, or measure.

What are Dimension-Measure-Detail Objects?

When creating universes, universe designers define and qualify objects. The qualification of an object reveals how
it can be used in analysis in reports. An object can be qualified as a dimension, a detail, or a measure.

A dimension object is the object being tracked; in other words, it can be considered the focus of the analysis. A
dimension can be an object such as Service, Price, or Customer. Dimension objects retrieve the data that will
provide the basis for analysis in a report. Dimension objects typically retrieve character-type data (customer
names, resort names, etc.), or dates (years, quarters, reservation dates, etc.)
A detail object provides descriptive data about a dimension object (or attribute of a dimension). It is always
associated with a specific dimension object. However, a detail object cannot be used in drill down analysis. E.g.
Address & phone number can be attributes about the customer dimension.
A measure object is derived from one of the following aggregate functions:
Count, Sum, Minimum, Maximum or average or is a numeric data item on which you can apply, at least locally, one
of those functions. This type of object provides statistical information. Examples of measure objects include the
following:
Revenue, unit price etc

What is a hierarchy?
Groups of related dimension objects are referred to as dimension hierarchies. An example of a dimension hierarchy
is Geography, which can consist of City, Region, and Country.(Hierarchy is an ordered series of related dimensions,
which can be used, in multidimensional analysis) Good examples of hierarchy are geography and time
Country
Year

Quarter
Region

City
Month

How to create hierarchies in BO? (KPIT Infotech, Pune)


A hierarchy, which the designer sets up when creating the universe, consists of dimension objects ranked from
“less detailed” to “more detailed”. The objects that belong to hierarchies are the ones you can use to define scope
of analysis.
Creating hierarchies
You can create your own custom hierarchies from any dimensions available in the report. The dimensions you
include in a hierarchy can be local variables, derived variables, or dimensions returned by data providers.
Note: You can also use a date-type user object as the basis for a time hierarchy. For information on user objects
see “Creating User Objects” on page 78.
To create a custom hierarchy
1. Click the Hierarchies command on the Analysis menu.
The Hierarchy Editor opens.
2. In the Hierarchy Editor, click New.
3. Type the name of the new hierarchy, then click outside the name box.
4. In the Available Dimensions box, click the first dimension for the new hierarchy, then click Add.
The dimension you clicked appears in the new hierarchy's folder in the Available Hierarchies box.
5. Add the other dimensions you want to include and lthen click OK.

February 8, 2011---5:12 a2/p2


Page 4 of 59
Can a Universe have more than 1 fact Table?
Yes. Typically a universe can have more than 1 fact table and numerous aggregated tables.

What are Contexts? (MBT)


A context is a rule that determines which of two paths can be chosen when more than one path is possible in the
database from one table to another. It helps in resolving the loops created by various joins in the universe tables.

With certain database structures, you may need to use contexts rather than aliases to resolve loops. A situation
where this commonly occurs is a transactional database with multiple fact tables (“multiple stars”) that share
lookup tables.

What is Aggregate Awareness? (ITC)


Aggregate awareness is a feature of DESIGNER that makes use of aggregate tables in a database. These are tables
that contain pre-calculated data. The purpose of these tables is to enhance the performance of SQL transactions;
they are thus used to speed up the execution of queries.

Of course, the reliability of the technique depends on the accuracy of the aggregate tables. In fact, they must be
refreshed at the same time as all fact tables. A universe that is “aggregate aware” has one or more aggregate
objects with alternative definitions based on these tables. These definitions correspond to levels of aggregation.
For example, a Profit object can be aggregated by month, by
quarter, or by year. Queries built from such a universe return information aggregated to the
appropriate level at optimal speed.

Aggregate awareness is a feature that makes use of predefined aggregate tables to enhance the performance of
SQL transactions. It is used to improve the speed by which aggregates are calculated in the database.
To set up aggregate awareness in a universe, you define one or more objects using the @Aggregate_Aware
function. The syntax for this function is as follows:
@Aggregate_Aware(aggregate_table_1, ... aggregate_table_n)
The arguments of this function are all the names of alternative aggregate tables. When you formulate the syntax,
you should be aware of the order of the arguments. The precedence is from left to right; this means that
BusinessObjects determines the aggregate to use beginning from the leftmost argument. As a general rule, you
should enter the most aggregate table as the first argument, the next most aggregate table as the second
argument, and so on. You must then use the Aggregate Navigation editor to set up a list of incompatible objects
and/or incompatible conditions for each aggregate table in your universe. These are the components that cannot
be used with an aggregate table. You can either set up these lists manually, or cause the list of objects to be
detected by Designer.

What is Incompatibility?
The set of incompatible objects you specify determines which aggregate tables are disregarded during the
generation of SQL. With respect to an aggregate table, an object is either compatible or incompatible. The rules
for compatibility are as follows:

When an object is at the same or higher level of aggregation as the table, it is compatible with the table.
When an object is at a lower level of aggregation than the table (or if it is not at all related to the table), it is
incompatible with the table.

What is the typical strategy employed in developing/maintaining/distributing Universes?


Phase 1: Break down the informational system into functional areas.
Phase 2: Analyze the information needs of users.
Phase 3: Design a conceptual schema
Design the specification of the user.
Phase 4: Create a Universe with designer.
Test the Universe with the Business Objects module.
Distribute the Universe.
Repeat the other steps for other Universes.
Phase 5: Update and maintain the Universe.
Notify end users of changes.

I have Customer dimension table and a fact table with cust_to_ship_key and cust_to_bill_key. How do I get the
corresponding customer names?

February 8, 2011---5:12 a2/p2


Page 5 of 59
Create an Alias table for Customer dimension table. Join the cust_to_ship_key with a customer key of Actual
customer table and join the cust_to_bill_key with customer key of the Alias.

What are strategies?


A strategy is a script that automatically extracts structural information from a database or flat file.

Q. What are the different types of Strategies? (ITC)


In Designer we can specify two types of strategies:
1) Built-in strategies and
2) External strategies

Built-in Strategies: Designer provides a number of default strategies which we can use. These are strategies for
extracting joins, detecting cardinalities, and creating default classes and objects. Options for indicating default
strategies are located in the Database tab of the Options dialog box.

External Strategies: We can also create our own strategies. Such strategies are referred to as external strategies.
With an external strategy, we can specify the exact way that objects and joins are to be extracted from the
database structure. The strategy we use, for example, can be a script generated from a CASE Access tool. An
external strategy is specific to one RDBMS.

How do you specify external strategies?


With an external strategy, you can specify the exact way that objects and joins are to be extracted from the
database structure. All external strategies are contained within the same text file. The name of this text file is
indicated in the .prm file specific to your RDBMS. In the .prm file, the strategy file is declared as follows:
STG=[StrategyFileName] where StrategyFileName is the name of the strategy file.
An external strategy, whether for objects or for joins, is made up of the following sections:
a name and description (These are visible in the Strategies tab of the Universe Parameters dialog box.)
a type parameter: object or join
an SQL parameter or file parameter
an optional parameter that points to a connection other than the universe connection.
An external strategy can be based on SQL or a file.

What are the visualization options available?


Designer contains a variety of features for organizing and viewing the tables and columns in the Structure pane.
Among these features are: List Mode, which adds three panes to the Structure pane. These panes are for viewing
the names of tables, joins, and contexts. When you click a component in a pane, its corresponding graphical
representation in the schema is highlighted.
Graphic options, which let you customize the shape or appearance of the tables, columns, joins, and cardinalities
in the Structure pane.
Arrange tables, a feature that reorganizes the tables in the Structure pane so as to produce an orderly display.
Gridlines, a command that displays a grid, which you can use to align tables in the Structure pane.
Table (Column) Values, commands that display the data values associated with a particular table or column.

What are loops? (MBT, KPIT Infotech, Pune)


Loop is a situation that occurs when more than one path exists from one table to another. Loops result in ambiguity
in the design of a universe

How do you detect loops ?


Designer enables you to identify loops in one of two ways: You can run the Check Integrity function, which
indicates the existence of any loops. You can select the Detect Loops command from the Tools menu. If there are
loops, the Loop Detection viewer appears; it indicates the joins causing a loop.

What are aliases?


An alias is a logical pointer to an alternate table name. The purpose of an alias is to resolve loops in the paths of
joins. In some cases, more than one alias may be necessary for a given table. As you create aliases, Designer may
prompt you to create other aliases. This occurs when the new aliases result in the need for additional aliases; in
other words, creating such aliases entails the propagation of other aliases. In such a situation, two options are
available to you:
 You can cause only the first table proposed to be aliased
 You can alias all the tables listed (i.e. propagate the aliases)

February 8, 2011---5:12 a2/p2


Page 6 of 59
Designer displays an alias in the Structure pane as a table. It links an aliased table to existing tables, re-arranging
joins, as necessary.

How do you resolve the loop? (MBT, KPIT Infotech, Pune)


You can resolve loops in two ways:
• Using aliases
• Using contexts
DESIGNER provides three features, which guide you in the loop resolution process:
• Detect Cardinalities
• Detect Aliases
• Detect Contexts
The first step in resolving loops is to detect the cardinalities of the tables.

How can you resolve loops?


You can run the Check Integrity function, which indicates the existence of any loops.
You can select the Detect Loops command from the Tools menu. If there are loops, the Loop Detection viewer
appears; it indicates the joins causing a loop.
You can then use aliases or contexts to resolve the loops in your universe.

Can Contexts And Aliases Be Used Together?


Yes, you can use contexts and aliases in the same universe. In fact, in many cases you should use them together.

When To Use Contexts Instead Of Aliases


There is no strict rule to follow for resolving loops. However, whenever possible you should use an alias instead of
a context. When you use a context, you expose the BUSINESSOBJECTS end user to the database structure. They are
forced to decide which context they want to use to run their query. The role of the universe is to shield end users
from the database structure, so they do not have to make such decisions.
Contexts can be confusing for end users
A context can be confusing for end users when they are forced to make a decision about the meaning of an object.
For example an object called Country can have several meanings; the customer’s country of residence, the
shipment destination, or the product’s country of manufacture. When you run a query in BUSINESSOBJECTS or
WEBINTELLIGENCE, you are also asked to indicate the correct database path to follow.

Deciding to use an alias or context


You can use the following rules to help you decide whether an alias or context is appropriate for resolving loops:
When you create aliases and you end up with object names that sound very different (Customer’s Country of
Residence, Shipment Destination, and Products Country of Manufacture), aliases are probably the right solution.
If you end up with object names that sound very similar (such as Ordered Products and Loaned Products as well as
Ordered Products’ Country of Manufacture and Loaned Products’ Country of Manufacture), you should consider
using contexts.

Q. When do you use contexts and aliases? (ITC)


Contexts and Aliases are used while resolving loops.

Q. What are the disadvantages of Alias? (PCS)

Q. What is Fan Trap? (PCS)


A one to many join links a table, which is in turn linked by a one to many join. This type of fanning out of one to
many joins can lead to a join path problem called a fan trap.
The fanning out effect of “one to many” joins can cause incorrect results to be returned when a query includes
objects based on both tables.

What is Chasm Trap?


Many to one joins from two fact tables converge on a single lookup table. This type of join convergence can lead to
a join path problem called a chasm trap.

What is LoV?
A list of values contains the data values associated with an object. These data values can originate from a
corporate database, or a flat file such as a text file or Excel file. In Designer you create a list of values by running a

February 8, 2011---5:12 a2/p2


Page 7 of 59
query from the Query Panel. You can then view, edit, purge, refresh, and even export this file. A list of values is
stored as an .lov file in a subfolder of the UserDocs folder.

How many types of join are available? (KPIT Infotech, Pune)


Designer supports the following types of joins: equi-joins, outer joins, theta joins, and shortcut joins.

What is theta join? (KPIT Infotech, Pune)


A join is a relational operation that causes two or more tables with a common domain to be combined into a single
table. The purpose of joins is to restrict the result set of a query run against multiple tables.

A Theta join links tables based on a relationship other than equality between two columns.

Q. What are Equi-joins, Outer joins and Short cut joins?

What functions are supported?


Designer provides four types of functions: Number, Character, Date and @Functions. Functions beginning with the
@ character are BusinessObject functions that render the definition of objects dynamic and database-
independent.

@Function Purpose

@Aggregate_Aware is used to enhance the performance of SQL transactions; i.e. it determines which tables to
use in SQL generation: either aggregate tables or detailed tables.
@Prompt is used to create an interactive object. In the Query Panel, this type of object causes a
message to appear that prompts the end user to enter a specific value.
@Script is used to recover the results of an executed macro created with the Visual Basic Editor in
the Business objects User module.
@Select lets you re-use the Select statement of an existing object
@Variable is used to reference the value assigned to a name or variable.
@Where lets you re-use the Where clause of an existing object.

What is meant by object qualification?


The qualification of an object reveals how it can be used in multidimensional analysis. An object can be qualified
as a dimension, a detail, or a measure. In the Universe pane, the symbol beside each object indicates its
qualification.

What is multidimensional analysis?


multidimensional analysis is a technique for manipulating data in order to view it from different perspectives and
on different levels of detail. In Business Objects, multidimensional analysis involves drill mode and slice-and-dice
mode, and is enabled by the Analyzer and Explorer components of the User module. To set up a universe for
multidimensional analysis, you must define hierarchies and dimensions that determine how users view and analyze
the data. A dimension is simply the object to be tracked. A dimension can be an object such as Country, Region,
and City. A hierarchy is an ordered series of related dimensions. An example of a hierarchy is Geography, which
may group dimensions such as Country, Region, and City.

What are cardinalities? (ITC)


Cardinality expresses the minimum and maximum number of instances of an entity B that can be associated with an
instance of an entity A. The minimum and the maximum number of instances can be equal to 0, 1, or N.

Because a join represents a bi-directional relationship, it must always have two cardinalities.

There are two main methods for detecting or editing cardinalities:


 the Detect Cardinalities command
 the Edit Join dialog box

If you selected the Detect cardinalities in joins options in the Database tab of the Options dialog box, Designer
detects and retrieves the cardinalities of the joins. If you do not use this option, you can still retrieve the
cardinalities for one or all joins in the universe.

How do you test the integrity of a universe?

February 8, 2011---5:12 a2/p2


Page 8 of 59
With the Check Integrity command, you can test the structure of your active universe. This means testing to
determine whether its components are accurate and up-to-date.
Check Integrity serves the following purposes:
It detects any inconsistencies in the objects, joins, conditions, and cardinalities of your universe.
It detects whether there are any loops in the joins.
It determines whether changes were made to the database to which the universe is connected.

How do you distribute universes?


You can distribute a universe to end users or another designer by:
Moving it as a file through the file server
Exporting it to the repository
If you distribute a universe as a file through the file server, any designer or end user can open it unless you have
set a password on it. The repository is a centralized set of relational data structures stored on a database. This
device enables Business Objects users to share resources in a controlled and secured environment. The repository is
made up of three domains: the security domain, the universe domain, and the document domain. The Import and
Export commands of Designer let you move universes to and from the universe domain of the repository.

What are linked universes? (Designer’s Guide, 246) (Mascot, MBT, KPIT InfoTech Pune)
Linked universes are universes that share common components such as parameters, classes, objects, or joins.
Among linked universes, one universe is said to be the kernel or master universe while the others are the derived
universes.
A kernel or master universe represents a re-usable library of components. Derived universes may contain some or
all the components of the kernel or master universe, in addition to any components that have been added to it.
Approaches to linking universes
You can use one of three approaches when linking universes:
• The kernel approach
• The master approach
• The component approach

The Benefits of Linked Universes


You can link the active universe to a kernel universe, only if the following requirements are met:
The kernel universe and active universe were created from the same data account and the same RDBMS.
The kernel universe was exported and re-imported at least once.
Exported derived universes are located in the same universe domain as the kernel universe.
All classes and objects are unique in both the kernel universe and the derived universes. (Otherwise, collisions may
occur.)
You are authorized to link the given universe.
Note: A derived universe does not recover the lists of values containing personal data from the kernel universe.
However, if you need certain lists of values, you can use the following workaround: in the derived universe, create
new objects defined in the same way as those in the kernel, then hide them. You can then assign them to these
objects lists of values, which you can then modify and export.

How many types of Linked universes are there, and what are they? (ITC)
Answered above

SUPERVISOR

What is a repository? What does it contain? (AG Technologies)


It is a relational data account created on a database like Oracle, MS-Access, Informix, DB2 etc when the BO is
installed. It will have all the BO system tables, metadata about designer, Information about universes, the actual
universes, user documents and most importantly security information.

What are repository domains? (AG Technologies)


A Business Objects repository is a set of data structures stored on a database. A repository makes it possible to
share the resources necessary for client/server architecture. To ensure security and manage user resources, a
repository comprises three types of domains:

A security domain, which contain the definition of the other domains as well as the definition of users

February 8, 2011---5:12 a2/p2


Page 9 of 59
Universe domains, which are meta-models of related databases, containing a description of the data to be
accessed
Document domains, which contain the structures for storing shared documents and for executing tasks according to
a time stamped definition.

USER MODULE
What is a Data Provider?
The data source (Query) is called as the data provider.

Can one create a report having two Data Provider each pointing to different Universes?
Yes.

Can I add some html tags in the report?


Yes. In the format/properties one has to set the option ‘read as html’.

Can I drill through from one report to another?


Yes. Using some html coding in the parameters to be passed while drill through one can drill thru from one BO
report to another in the same BO document.

Can I have cascading prompts in Business Objects report?


Yes.

Did you do metadata reporting in BO?


Metadata reporting of BO is possible. BO provides a separate universe which actually contains repository tables,
objects etc. Using this Universe one can do metadata reporting in BO

What is Channel?
It is a Website that uses ‘push’ technology, also known as web casting, to keep subscribers abreast of up-to-date
information.
Each BO channel is associated with a BROADCAST AGENT, itself associated with a user group in the BO repository.
One BROADCAST AGENT can have several channels.
How do Channels work?
General supervisors and supervisors can create, modify and remove channels using SUPERVISOR.
Each channel uses a Channel Definition Format (CDF) file as an index to the Website.
The first time a document is published in the channel, the CDF file is created based on the template. It is then
updated every time a new document is published in the channel.
BO users can schedule a document to be published in one or more channels by a BROADCAST AGENT.
They can only publish in channels associated with the BROADCAST AGENT of groups to which they belong.
When BROADCAST AGENT publishes a BO document in a channel, it converts the document to HTML format and
simultaneously updates the channel’s CDF file so channel subscribers via IE4 can view the document.

SCHEDULING/PUBLISHING RELATED
How do you publish BO report?
There are 2 ways of publishing BO reports on website
User who has publishing rights for a document can publish that document for other users.
Documents can be published via a scheduler for Business Object known as BCA or Broadcast Agent.

What is BCA?
BROADCAST AGENT provides scheduled or batch processing of BUSINESSOBJECTS and WEBINTELLIGENCE documents.
All the end user has to do is send a document to BROADCAST AGENT using BUSINESSOBJECTS or WEBINTELLIGENCE,
and specify scheduling and distribution information. No understanding of the server configuration is required.
BROADCAST AGENT lets users not only automate simple actions such as refreshing and printing documents, but
control processing with conditions which trigger distribution when pre-defined events occur.
Users can choose to publish documents to the repository, on a web server or on the server file system. Users with
access to the repository can view documents that BROADCAST AGENT has processed in BUSINESSOBJECTS or

February 8, 2011---5:12 a2/p2


Page 10 of 59
WEBINTELLIGENCE. BROADCAST AGENT supports HTML publishing on the web, on channels and on your intranet or
extranet.

What is WebI or Web Intelligence?


WebIntelligence is a decision support solution designed to meet critical query, reporting and analysis needs over
the World Wide Web and has features very similar to Business Objects.
Like Business Objects, with WebIntelligence, you can access the data in your corporate databases or data
warehouses from within your office, home, or around the world, using your corporate intranet, extranet, or the
World Wide Web.

How do you share the information?


You can quickly and easily share the documents you have created with other users in your company, either by
sending them directly to selected individuals or groups, or by publishing them as corporate documents. When you
distribute documents in these different ways, you use the BUSINESSOBJECTS repository. The repository stores the
documents you send so that other users can retrieve and view them. It also stores information about the
documents it stores, such as name of sender, date and time, and also which users in the company have the right to
retrieve and view a document.

What about security?


The repository is set up and administered by the BUSINESSOBJECTS supervisor. All of the rights you have as a user
are granted by your BUSINESSOBJECTS supervisor using BUSINESSOBJECTS SUPERVISOR. The supervisor defines:
• The parts of the BUSINESSOBJECTS interface you can access. Your supervisor can restrict the availability of
BUSINESSOBJECTS functionality, such as access to certain menu commands.
• Your database connections
• The universes you can access for creating and editing queries

What are the different tools in Business Objects 5.1? (AG technologies)
What’s new in BusinessObjects 5.1?
Although not a major release over BUSINESSOBJECTS 5.0, BUSINESSOBJECTS 5.1 has some important new features.

 Save as PDF
 Add hyperlinks to reports
 Zero Administration BusinessObjects

BUSINESSOBJECTS 5.1 can be installed in two ways:


• from INFOVIEW via an Internet browser
• from the product CD

Explain the Reporting features in Business Objects reporting tool? (AG Technologies)
What data sources are available?
BUSINESSOBJECTS let you access data from a wide range of sources. You can access data from
• Relational databases (RDBMS), such as ORACLE, Microsoft SQL Server, Informix and IBM DB2.
• Multidimensional (OLAP) databases, such as Microsoft OLAP Services, Hyperion Essbase, and
ORACLE Express.
• Text files and spreadsheets
• Packaged applications such as SAP
• Virtually any data source using Microsoft Visual Basic for Applications (VBA) procedures.
How do you access data sources?
BUSINESSOBJECTS lets you access your data through a graphical user interface. You need no technical knowledge of
the underlying data structures to get the information you want. What you do need, however, is knowledge of your
business.
To access a data source with BUSINESSOBJECTS, you build a data provider. The types of data providers supported in
BUSINESSOBJECTS depends on whether you install BUSINESSOBJECTS from the installation CD or install
BUSINESSOBJECTS via an Internet browser.

Which are the different types of data providers?


Queries on Universes
Stored Procedures
Free-hand SQL
Personal Data files

February 8, 2011---5:12 a2/p2


Page 11 of 59
VBA Procedures
OLAP Servers
SAP

Can all Business Objects users build data providers?


You can build data providers only if you have purchased the REPORTER module of BUSINESSOBJECTS.

Can you combine data from different sources in one report?


Absolutely. With BUSINESSOBJECTS, you can build powerful reports with data from corporate databases which you
can access using queries on universes, freehand SQL, etc., and data from your own spreadsheets, text files etc.
Which data providers can you combine in one report?
You can combine data from any BUSINESSOBJECTS-supported data provider with data from any other
BUSINESSOBJECTS-supported data provider in a single report. For example, in a report that displays data from a
query on a universe, you can build a new query on a different universe. You can also use a different type of data
provider: a stored procedure, a free-hand SQL script, a personal data file, or an OLAP server.
Linking Data Providers
Linking data providers enables data from different sources to be computed in the same table, crosstab, or chart in
a report.

What situations require you to link data providers?


BUSINESSOBJECTS automatically links data providers with a common dimension. Two dimensions in separate data
providers are common when they belong to the same universe and have the same name. BUSINESSOBJECTS prompts
you to link data providers if there is no common dimension between the data providers.
Tip: If you simply want to add columns of data to a report, use the Edit Data Provider command on the Data menu
instead of building a new query. This method lets you add result objects to the initial query; BUSINESSOBJECTS
automatically inserts the new columns of data in the report or creates a new report.
Purging and Deleting Data Providers

What’s the difference between purging and deleting a data provider?


Purging means emptying a data provider of its results, whereas deleting means getting rid of the data provider for
good - an action which cannot be undone. So, why purge or delete a data provider? Purging reduces the size of a
document,
so is useful when you want to send the document to other users, or save it on a diskette, for example. You should
only delete a data provider, however, if you are certain that you and other users no longer need it.
Tip: You can populate a purged data provider by selecting the Refresh Data command on the Data menu. Note that
this command refreshes all the data providers in the active document.
Building a More Powerful Query The procedures described in the following sections enable you to build a more
powerful query by controlling the data that your queries retrieve. You can:
• Define scope of analysis, which means that you retrieve data that you will later use for analysis in the report.
• Limit the query results to data that satisfies conditions.
• Sort data, for example alphabetically.
• Retrieve a specified number of rows of data.
• Eliminate duplicate rows of data from the query result.

What is scope of analysis? (BO User’s guide,65) (Mascot, KPIT Infotech, Pune)
Analysis means looking at data from different viewpoints and on different levels of detail. In reports, you can use
scope of analysis to ensure that the data included in your report can be displayed at the appropriate level of detail
for your analysis. Setting a scope of analysis allows you to work in drill mode, which enables you to display data in
progressively greater detail. “Scope of analysis” means a subset of data, returned by a query, that you will use for
analysis in your report. The data for your scope of analysis does not appear in
the report until you decide that you want to use it in analysis. The scope of analysis you can define depends on
hierarchies in the universe. A hierarchy, which the designer sets up when creating the universe, consists of
dimension objects ranked from “less detailed” to “more detailed”. The objects that belong to hierarchies are the
ones you can use to define scope of analysis.
Applying conditions
A condition is a way of limiting the data that a query returns.
Predefined When universe designers build universes, they can create predefined
conditions conditions for you to use. For example, the Island Resort Marketing
universe contains predefined conditions such as Year 98, which lets
you obtain reservations for 1998 only. You can apply one or more

February 8, 2011---5:12 a2/p2


Page 12 of 59
predefined conditions when you build a query. However, you can
neither delete predefined conditions from a universe, nor can you
edit their definition.
Simple Conditions Enable you to limit data returned by a result object. For example,
you can find out about certain customers by applying a simple
condition on the Customer object, then selecting the customer
names that appear in a dialog box.
Complex Conditions Enable you to limit the query results by any object in the Universe.
Running a Query on a Different Universe
BUSINESSOBJECTS allows you to run a query on one universe and then run the same query on a different universe.
By doing this, you can test your query on a pilot universe before applying it to your real data.
Open the report containing the query.
From the Data menu, choose View Data. The Data Manager dialog box opens.
Choose the query you want to use in the Data Providers list, then click the Definition tab.
Click the button to the right of the current universe name.
In the dialog box that appears, select the universe you want to use, then click OK.
Click the Results tab, then Refresh.
Click OK to close the Data Manager.

What are user objects?


A universe consists primarily of classes and objects, created by the universe designer. If the objects in a universe
do not meet your needs, you can customize the universe by creating your own objects, which are called user
objects.
Why create a user object?
Based on one or more existing objects, user objects enable you to:
• Make calculations at the database level.
• Apply functions to text, for example to capitalize data.
• Group data.

What does a user object consist of?


A user object has a name, a type (character, date or numeric), a qualification (dimension, measure or detail) and a
formula. The formula contains a combination of functions, objects, user objects, operators, and text.
User objects are end-user personal objects that are not shared with other end users.

What are the restrictions on user objects?


You can work only with the user objects that you create yourself, and you cannot move user objects from the User
Objects class. Also, user objects are available only in the universe in which they were created.
User objects are not shared. Reports that include user objects can only be viewed by other end-users. This is
because user objects are stored locally in a specific user object definition file. Other end-users, who do not have
the same user object definition file are not able to access the user object definitions. If an end-user tries to
refresh or edit a query that contains another user’s user objects, the user objects are automatically removed from
the query and report.

Note: Scheduling reports containing user objects is not a supported feature. User objects are removed when
the report is refreshed.
How can an end-user share user objects with other users?
If an end-user wants to share user objects with other users, they should ask the universe designer to include these
user objects in the related universe in order to make them available to all BUSINESSOBJECTS end-users. The
universe designer includes the file UNIVERSE_NAME.UDO in the universes where the user objects are to be used.
Applying Groups of Conditions
You use conditions to limit the data retrieved by queries. A group of conditions consists of two or more conditions
(predefined, simple or complex) applied on the same query. You use groups of conditions when a single condition
does not enable you to obtain the data that you need.

A group of conditions consists of two or more conditions applied on the same query. In the Conditions box in the
Query Panel, conditions are linked by an operator (AND or OR).
Building Combined Queries
BUSINESSOBJECTS lets you combine the data returned by up to eight queries as one set of results. These combined
queries enable you to:
• Obtain a single column of data from multiple objects.

February 8, 2011---5:12 a2/p2


Page 13 of 59
• Obtain data common to two sets of results, such as customers from a given region and a given age group.
• Exclude the results of one query from the results of another.
Note: Building combined queries allows you to combine or exclude data from the query result by using operators to
combine the results of multiple queries. You can contrast this with using the In list and Not in list operators when
you apply a complex condition on a query. The In list and Not in list operators include or exclude data from a query
result based on a list of values that you enter.
Operators used to combine queries are Union, Intersection and Minus.
Setting up hierarchies for drill mode
Drill mode enables you to analyze data on different levels of detail. You perform analysis by navigating up, down
and across hierarchies of data in a report. You drill down on the data to examine the details of more consolidated
data. You drill up on data to examine totals for the underlying data. Your ability to drill on data requires that the
data be organized into hierarchies.

Note: You can only work in drill mode if you have installed the EXPLORER option with BUSINESSOBJECTS.
Exporting Data From BusinessObjects

What external formats are available?


You can export data from BUSINESSOBJECTS to the following formats:
• Text. You can open the text file in many different applications, and on platforms other than Windows
(Macintosh, OS/2 or UNIX, for example).
• Spreadsheet format (Microsoft Excel). When you view the exported data in the spreadsheet application,
each value appears in a separate cell.
• RDBMS format (including .dbf format for dBASE). When you export data from BUSINESSOBJECTS to
RDBMS format, you create a relational table in the database. The table contains the columns of data
returned by the data provider. This feature enables you to extract a subset of data from a very large table,
then export the result to your RDBMS. Once exported, the data can be retrieved by running a data
provider in BUSINESSOBJECTS. The universe designer can build a new universe, or edit an existing
universe, to map to the data in the new table. Alternatively, you can access the data directly by using free-
hand SQL.
Options available to export data from BO
Export to Local File format
Export to RDBMS
Copy to DDE
Using offline mode
Using BUSINESSOBJECTS in offline mode means that you are not connected to a repository which in turn means
that, whatever your connection type, you will not be able to retrieve and send documents using BROADCAST
AGENT. However, what you can do once you have opened BUSINESSOBJECTS in offline mode depends on the type of
connection you chose to use in offline mode.
Client/Server connection
If you are using a BUSINESSOBJECTS client/server connection offline and not connected to a repository, you can
still work with documents and universes stored locally on your computer and even create and refresh documents if
you have a connection to the database, and the database connection and security information is stored on your
computer.
Web connection
If you are using a web connection offline, you will not be able to retrieve documents from, and send documents to,
Personal Document folders on the web server, and will not be able to create queries or refresh documents because
all the database and connection information is stored on the web server.
In offline mode, you can continue to work on documents stored locally; you can work on the formatting of your
reports or analyze data in existing reports, for example, and work with the data contained in the document to
build new reports. If BUSINESSOBJECTS cannot establish the connection you requested with the web server, it may
give you the option of starting BUSINESSOBJECTS in offline mode if your user rights allow you to work offline.
No remote connection
You may also choose to start BUSINESSOBJECTS in offline mode because you know you have no remote connection
at all - for example, on a plane - and want to continue to work on documents you have stored locally. Note: The
right to use BUSINESSOBJECTS offline is given to you by your BUSINESSOBJECTS supervisor or system administrator.
Depending on how BUSINESSOBJECTS has been set up in your company, you may not even have the option of
logging on to BUSINESSOBJECTS in offline mode.
Different ways of refreshing documents
BUSINESSOBJECTS allows you to refresh documents in the following ways:
• Manually

February 8, 2011---5:12 a2/p2


Page 14 of 59
• Automatically at specific times or intervals
• By sending the document to Broadcast Agent, the BUSINESSOBJECTS product that manages the scheduled
processing of documents.
• Every time you open a document.

Saving a document for all users


If you want to make a document accessible to another user working without a repository, then check the Save for
all users option in the Save as dialog box (Save As command, File menu). If you do not do this, users working
without a repository will get an error message saying “You are not authorized to use this document” when they try
to open your document. This is important to bear in mind if you are sending documents to other users via email,
for example.
Saving WebIntelligence documents
If you have opened a WEBINTELLIGENCE document in BUSINESSOBJECTS, you cannot save it as a WEBINTELLIGENCE
document. You can only save it as a BUSINESSOBJECTS document, i.e., a .rep file.
Once you have saved the document, you can send, publish and schedule the document, but only as a
BUSINESSOBJECTS document, not as a WEBINTELLIGENCE document. If you want to send, publish and schedule the
document as a WEBINTELLIGENCE document, you must use INFOVIEW in your Web browser.

Displaying Data in Tables


BUSINESSOBJECTS has three basic ways of displaying the data in a report. You can display data in tables, in charts
or in free-standing cells.
What Types of Tables?
BUSINESSOBJECTS has three types of table. It has two basic table types that display data in a list and crosstabs,
which are a special kind of table that allows you to summarize data.

Tables: BUSINESSOBJECTS tables display data in either rows or in columns and have a header and a footer. Header
and footer rows and columns are special rows and columns. The header displays information about the row or
column e.g. a label or the name of the variable whose values are displayed. The footer displays
calculations on the values displayed in the columns or rows.

Crosstab tables: A crosstab is a particular kind of table where data is displayed in columns and in rows.
Corresponding data appears at the intersection of the columns and rows; this part of the crosstab is called the
body. The body typically displays numerical data. A crosstab can display both row totals and column totals as well
as a grand total. You need at least three variables to display data in a crosstab including one measure. The
measure is placed in the body of the crosstab.

Free-Standing Cells: BUSINESSOBJECTS reports have two types of cell: cells that make up tables and freestanding
cells. A free-standing cell is a single cell that is not attached to any other report component and can be moved and
formatted individually. Free-standing cells have many uses in BUSINESSOBJECTS reports. They are containers for
text, calculations or graphics and are used among other things for report titles, for adding comments and for
displaying page numbers.

What are master/detail reports?


Master/detail reports enable you to split large blocks of data into sections. This type of presentation allows you to
avoid repeating values and also to display subtotals.
Structuring a Master/Detail Report
You set up a master/detail report by setting a variable as a master cell. This section describes the different ways
to do this. You can:
• use a variable in a table or crosstab to create a master cell
• add a variable from the Report Manager to create a master cell

Organizing Data in Reports

Limiting the Data Displayed


You may not want to display all the data returned by a data provider in a report. You may want to focus on a
selection of it only, which is difficult to do if there is a lot of data on the screen. A filter enables you to hide the
data you do not want to view behind the scenes and display only the data you need. There are two types of filter.
A global filter affects the whole report. A block specific filter only filters data for the specified chart, table or
crosstab.

February 8, 2011---5:12 a2/p2


Page 15 of 59
Creating more complex filters
Simple filters enable you to view only the data you need in a report. When you apply a simple filter, all you do is select values for
a variable in the report. Complex filters enable you to display values that satisfy conditions. You define a complex filter by
writing a formula.

Ignoring filters
You can force BUSINESS OBJECTS to ignore any filters you have inserted on a report so that when you make a calculation, the
calculation is made on all the data, not just the filtered values. To do this, you use the
NoFilter function. The syntax is: =NoFilter(formula)

Using Ranking to View the Top and Bottom Values


You may only want to show the extreme ranges of the data. For example, you may want to determine your top ten customers.
Ranking enables you to look at the largest numbers and the smallest numbers in a report. Like filtering, it hides the data you do
not want to display. The hidden data is not deleted from the report - you can view it again whenever you like by removing the
ranking. Ranking also sorts the data in descending order. Thus, the largest value of the ranking is always at the top of the ranked
column and the smallest value at the bottom. You can rank data contained in tables, crosstabs or master cells in master/detail
reports.

Highlighting Data: using Alerter Note: You cannot use alerters on charts.

What is a break?
A break does what its name implies. It breaks up the data in a table or crosstab by grouping the data according to a selected value.
This allows you to display all the data for each value of a dimension variable together, and more importantly, it allows you to
display subtotals.

Note: You cannot insert breaks on data in charts.

Calculations
BUSINESS OBJECTS has standard calculation functions that enable you to make quick calculations on the data in reports. These
calculations are available directly from a menu. The most commonly used calculations are also available on the Report toolbar.

What are calculation contexts? (ITC)


By default, BUSINESS OBJECTS determines the result of a measure based on the dimension or dimensions in the part of the
report in which the measure is inserted. These sets of dimensions are called calculation contexts. Calculation contexts are
dynamic in BUSINESS OBJECTS.

Understanding input and output contexts


BUSINESS OBJECTS defines an input context and an output context to determine the result of an aggregate calculation.
Remember that a context is made up of one or more dimensions. The following table defines which dimensions in a report make
up which context:

Analyzing Data in drill mode


What is drill mode?
Drill mode is a BOs analysis mode that allows you to break down data and view it from different angles and on different levels of
detail to discover what is the driving factor behind a good or bad result.

Hierarchies
Objects are also organized in this way for drilling. When you analyze data in drill mode, you use hierarchies. The Universe
classes are the default hierarchies you use for drilling but the Universe designer can also set up custom hierarchies. You can also
create and edit hierarchies in your reports. Drill hierarchies only contain dimension objects. In drill mode, you drill down on
dimensions, for example from Year to Quarter to Month. At each level, measures, such as Revenue or Profit Margin, are
recalculated.

Qualifying Data For Hierarchies

February 8, 2011---5:12 a2/p2


Page 16 of 59
BUSINESSOBJECTS qualifies data as dimensions, measures or details. Hierarchies only contain dimensions so if you want to
include an object in a hierarchy for analysis in drill mode, you must qualify it as a dimension. Note: You cannot change the
qualification of data returned by a query on a universe.

Q. What is Slice and Dice feature in Business Objects? (AG Technologies)

Working in Slice-and-Dice Mode

Slice-and-dice mode enables you to switch the position of data in a report. You can, for ex, move data from columns
to rows. The result would be a crosstab, where numeric data such as revenue appears at the intersection of rows and
columns. You can also use slice-and-dice mode to:
• Work with master/detail reports • Display and remove data
• Rename, reset and delete blocks • Turn tables and crosstabs into charts, and vice versa
• Apply, edit and delete breaks, filters, sorts, rankings and calculations.
Slice-and-dice mode is enabled by the Slice and Dice Panel, a pop-up window that provides a graphical
representation of the report you are working on. You carry out tasks by dragging and dropping icons that represent
the data you can use.

Formatting Sections

What are sections?


There are two types of section in a BUSINESSOBJECTS report.
Main Section
If you have not created any sections, the main section is the only section in the report and when you apply shading, the whole
report (except margins) will be shaded in the same color.
Sections in a Master/Detail report
If you have set up a report with sections, you can apply a different type of shading to each section in the report. This can allow
you to easily distinguish between the different sections. The sections you have created are contained in the main section and a
main section header is displayed at the beginning of the report and a main section footer at the end of the report. You can hide the
main section header or the main section footer or both of them if you wish.

Formatting Tables
Tables and crosstabs are made up of headers and footers, columns and rows, and cells. All these elements together make up the
block. The cell is the most basic element of a table or crosstab. Rows and columns are made up of groups of cells. When you
format tables and crosstabs, you can work on the formatting cell by cell or on the block formatting.

Using hyperlinks in Business Objects reports


You can easily add hyperlinks such as email addresses and web site addresses to your reports. BUSINESSOBJECTS
automatically recognizes certain keywords or symbols included in the address, adds any extra syntax behind the scenes and
formats the address as a hyperlink. Hyperlinks you add to a BUSINESSOBJECTS report are retained when you save the report in
PDF or in HTML format.

Positioning report components


Relative positioning
Relative positioning means positioning a selected block in relation to markers such as page margins or other blocks. If these
markers change in size or position the block is re-positioned accordingly.

Using Outline View

When you have a report in sections with a lot of information in each section, a convenient way of presenting the report is to use
outline view. Outline view folds up the sections in the report to display only the high level information that you’ve included at the
top of each section. People viewing your reports can then open up the sections they are interested in to get more details. A bar
with arrows is displayed at the left side of the report window. The number of buttons displayed at the bottom of the outline bar
depends on the number of sections you have in the report.

What is a template?

February 8, 2011---5:12 a2/p2


Page 17 of 59
A standard report does not contain information on page setup or include custom elements such as graphics. A
BUSINESSOBJECTS template allows you to do this. A template is a special kind of BUSINESSOBJECTS document that
contains pre-defined styles and structure that you use as a foundation to create reports. BUSINESSOBJECTS comes with
several templates for you to use and you can also create your own.

Structure: The structure of a report defines how the data is presented. Your data can be presented in a crosstab, a column chart, or
it can have a master/detail structure
Styles: The styles contained in a template define the report page background and the style of the headers and footers.

Interview Questions from Mascot Systems:

Can we create filters in Universes using Designer? Yes

What is the difference in creating filters in Designer and BusinessObjects?

How to make a report available to other users?

What are categories? (while publishing the reports (supervisor & BCA))

Explain about prompts in BO?

Interview Questions from KPIT Infotech, Pune.

1. How do you create prompts and conditions?


2. Built in functions
3. How do you create a universe, step-by-step approach.

Designing, Creating and maintaining a universe


The phased in this include:

Planning
Break down the information system into functional
areas

Analysis
Analyze the information needs of users

Design
Design a conceptual schema
Design the specification of a universe

Implementation
Create a universe with DESIGNER
Test the universe with BUSINESSOBJECTS/WEBINTELLIGENCE
Distribute the universe
Repeat the above steps for other universes

Maintenance
Update and maintain the universe
Notify end users of changes

4. How do u create filters, step-by-step approach.

5. What different domain are there in BO


There are 3 domains: Security, Universe and Document domains.

6. What are Model Queries?

February 8, 2011---5:12 a2/p2


Page 18 of 59

Interview questions from MBT

1. To create reports what tools, you have used in BO. Ans) BO


2. Have you created a repository? No
3. Which is the best way to resolve a loop (alias or context)? Why? Alias
4. What are the contents of repository?
5. How do you design universe?
6. How do you pull reports to excel from BusinessObjects?
7. How do you publish your reports in BO, without using Broadcast agent, to a corporate database? (WebIntelligence)
8. Have you worked on WebIntelligence? Yes
9. Can a universe point to multiple databases simultaneously? How? No
10. Can I grant permission to a user to view only a particular report? Yes
11. If I want to grant access to a report to a group of users, how do I do?

Interview Questions from AG-Technologies:

1. Explain about your project? (Mascot)


2. How many tables are there in each universe in your project?
3. What is the BO version you have used?
4. What is the system configuration in which Business Objects are installed?
5. If I want to install BO Enterprise products in Windows 2000 professional server, what should be the system
configuration?
6. What is a repository? What it contains? (Explain the different domains in the repository)
7. who are the users of the repository?
8. Can a repository contain reports?

Interview Questions from ITC:

1. Is Universe MOLAP or OLAP?


MOLAP

MOLAP: Multidimensional OLAP


OLAP: Online Analytical Processing

2. What will be there in the Domains?


A Business Objects repository is a set of data structures stored on a database. A repository makes it possible to share the
resources necessary for client/server architecture. To ensure security and manage user resources, a repository comprises
three types of domains:
• a security domain, which contain the definition of the other domains as well as the definition of users
• universe domains, which are meta-models of related databases, containing a description of the data to be accessed
• document domains, which contain the structures for storing shared documents and for executing tasks according to a
timestamped definition.
These three types of domains make it possible for all users to share resources.

Q. Can we have a report with multiple data sources?


Yes

3. Can we have a report with multiple data providers?


Yes. We can add a new data provider to an existing report, where it asks for the source either it may be a universe or
other(Freehand SQL, Personal Data files, VBA , Stored Procedures)

4. How do u use aggregate tables in Star Schema?


Using multiple Star Schemas.

Interview Questions from PCS:

Business Objects
1. Can we create aliases for every table before hand ? If yes what are the disadvantages?
2. What problems are NOT known while performing Integrity Check?

February 8, 2011---5:12 a2/p2


Page 19 of 59
3. Where do we use GLOBAL FILTERS, explain with example?
4. What sort of Drill Down charts did you prepare, name few.
5. Outer Join Pl/Sql statement
6. How did you give a developed Universe to your client.
7. Using Formula Object in another Formula Object
8. What happens if Cardinalities are not Resolved.

2. Explain the steps to create Universe? (Need to explain all the necessary steps including filters,
joins, objects etc.)
3. How if you will create conditions and where we will create these filters?
4. Can we create conditions at report level? What are disadvantages creating conditions at report
level. Explain?
5. Practical question: I have one department and avg(sal) of each department,
Now I want a report some thing like department name along with Avg(sal) by specifying the
department number as Parameter. Explain how best we can do this report.

* WHAT ARE DIFFERENT USER PROFILES OF BUSINESS OBJECTS?


* EXPLAIN USER HIERARCHY IN BUSINESS OBJECTS?

Interview Questions from Shreesoft


1. How do you generate a dynamic prompt
1.Alias

A logical pointer to an alternate table name. The purpose of an alias is to resolve loops in the paths of joins.

2.Cardinality

Expresses the minimum and the maximum number of instances of an entity B that can be associated with an instance of an entity
A. The minimum and the maximum number of instances can be equal to 0,1, or N.

3.Cartesian product

A situation in which a query includes two or more tables that are not linked by a join. If executed, this type of query retrieves all
possible combinations between each table and may lead to inaccurate results.

4.Class

A logical grouping of objects and conditions within a universe. In general, the name of a class reflects a business concept that
conveys the category or type of objects.

5.Condition

A component that controls the type and the amount of data returned by a specific object in a query. A condition created in the
Designer module is referred to as a predefined condition.

6.Connection

Set of parameters that provides access to an RDBMS. These parameters include system information such as the data account, user
identification, and path to the database. Designer provides three types of connections: secured, shared, and personal.

7.Context

A method by which Designer can decide which path to choose when more than one path is possible from one table to another in
the universe.

February 8, 2011---5:12 a2/p2


Page 20 of 59
8.Detail object

An object qualified as a detail provides descriptive data about a dimension object. A detail object cannot be used in drill down
analysis.

9.Dimension object

An object being tracked in multidimensional analysis; the subject of the analysis. Dimensions are organized into hierarchies.

10.Document domain

The area of the repository that stores documents, templates, scripts, and lists of values.

11.Drill

The action of navigating through levels of data. When you drill up, you obtain more summarized or general information. By
drilling down, you can reach more refined or detailed information.

12.Equi-join

A join based on the equality between the values in the column of one table and the values in the column of another. Because the
same column is present in both tables, the join synchronizes the two tables.

13.Enterprise mode

A work mode whereby a designer creates universes in an environment with a repository. The mode in which a universe is saved
determines whether other designers are able to access it. By default, a universe is saved in the mode in which the designer is
already working.

14.Hierarchy

An ordered series of related dimensions used for multidimensional analysis.

15.Join

A relational operation that causes two tables with a common column to be combined into a single table. Designer supports equi-
joins, theta joins, outer joins, and shortcut joins.

16.List of values

A list of values contains the data values associated with an object. These data values can originate from a corporate database, or a
flat file such as a text file or Excel file. In Designer you create a list of values by running a query from the Query Panel. You can
then view, edit, purge, refresh and even export this file. A list of values is stored as an .lov file in a subfolder of the UserDocs
folder.

17.Loop

A situation that occurs when more than one path exists from one table to another in the universe.

18.Measure object

An object that is derived from an aggregate function. It conveys numeric information by which a dimension object can be
measured.

19.Object

A component that maps to data or a derivation of data in the database. For the purposes of multidimensional analysis, an object
can be qualified as a dimension, detail, or measure. Objects are grouped into classes.

20.Offline mode

February 8, 2011---5:12 a2/p2


Page 21 of 59

The work mode in which the designer works with universes stored locally.

21.Online mode

The work mode appropriate for a networked environment in which the general supervisor has set up a repository.

22.Outer join

A join that links two tables, one of which has rows that do not match those in the common column of the other table.

23.Personal connection

A personal connection is used to access resources such as universes or documents. It can be used only by the user who created it.
Information about a personal connection is stored in both the PDAC.LSI and PDAC.SSI files; its definition is static and cannot be
modified.

24.Qualification

A property of an object that determines how it can be used in multidimensional analysis. An object can be qualified as one of
three types: a dimension, detail or measure.

25.Query

In Designer a query is a technique for creating or modifying a list of values associated with an object. From the Query Panel, a
designer builds a query from the classes, objects, and conditions of a universe.
In the BusinessObjects User module, a query is a type of data provider. An end user builds a query from a universe, and then runs
the query to generate a BusinessObjects report.

26.Quick Design

A wizard in the Designer module that provides guided instructions for creating a basic universe. It lets a designer name a
universe, set up a connection to a database, select strategies, create classes and objects, as well as generate joins with cardinalities.

27.Repository

A centralized set of relational data structures stored in a database. It enables BusinessObjects users to share resources in a
controlled and secured environment. The repository is made up of three domains: the security domain, the universe domain, and
the document domain.

28.Secured connection

A secured connection is used to access universes or documents that may be restricted or confidential.
It can be shared by several authorized users. Stored in the repository, the definition of a secured connection is updated
dynamically.

29.Shared connection

A shared connection is used to access common resources such as universes or documents. It can be used by several users.
Information about a shared connection is stored in a SDAC.LSI or SDAC.SSI file; its definition is updated dynamically.

30.Shortcut join

A join that links two tables by bypassing one or more other tables in the universe.

31.Strategy

Scripts that automatically extract structural information about tables, columns, joins, or cardinalities from a database. Designer
provides default strategies but a designer can also create strategies. These are referred to as external strategies.

February 8, 2011---5:12 a2/p2


Page 22 of 59
32.Structure pane

The graphical component within the main Designer window that shows the schema of the universe. It reflects the underlying
database structure of the universe.

33.Subclass

A component within a class that groups objects. A subclass can itself contain other subclasses or objects.

34.Table Browser

The graphical component within the main Designer window that lets you create the classes and objects of the universe from the
tables and columns of a database.

35.Theta join

A join that links tables based on a relationship other than equality between two columns.

36.Universe

A mapping of the data structure found in databases: tables, columns, joins, etc. A universe, which is made up of classes, objects,
and conditions, can represent any specific application, system, or group of users.

37.Universe domain

The area of the repository that holds exported universes. The universe domain makes it possible to store, distribute, and
administrate universes. There may be multiple universe domains in a repository.

38.Universe pane

The graphical component within the main Designer window that displays a hierarchical view of the classes, objects, and
conditions in a universe.
Two radio buttons on the lower edge of the pane filter the display of the components. One button, the Classes/Objects filter,
provides a view of the classes and objects. The other button, Classes/Conditions, provides a view of the classes and conditions.

39.User object

An object created by the end user from the BusinessObjects User module. A user object can be inserted into a universe by the
designer.

40.Workgroup mode

A work mode whereby a designer creates universes in an environment without a repository. The mode in which a universe is
saved determines whether other designers are able to access it. By default, a universe is saved in the mode in which the designer is
already working.

41.What is Designer?
Designer is a BusinessObjects IS module used by universe designers to create and maintain universes. Universes are the semantic
layer that isolates end users from the technical issues of the database structure.
Universe designers can distribute universes to end users by moving them as files through the file system, or by exporting them to
the repository.

42.How do you design a universe?

The design method consists of two major phases.

During the first phase, you create the underlying database structure of your universe. This structure
includes the tables and columns of a database and the joins by which they are linked. You may need to resolve loops which occur
in the joins using aliases or contexts. You can conclude this phase by testing the integrity of the overall structure.During the
second phase, you can proceed to enhance the components of your universe. You can also prepare certain objects for

February 8, 2011---5:12 a2/p2


Page 23 of 59
multidimensional analysis. As with the first phase, you should test the integrity of your universe structure. You may also wish to
perform tests on the universes you create from the BusinessObjects User module. Finally, you can distribute your universes to
users by exporting them to the repository or via your file system.
For a universe based on a simple relational schema, Designer provides Quick Design, a wizard for creating a basic yet complete
universe. You can use the resulting universe immediately, or you can modify the objects and create complex new ones. In this
way, you can gradually refine the quality and structure of your universe.

43.How do you define universe parameters?

The first step in creating a universe is to specify its parameters. These parameters include the definition of a universe, which is
comprised of:

the universe name


a description of the universe
a connection to an RDBMS

You enter universe parameters from the Universe Parameters dialog box. This dialog box also lets you set up database options,
external strategies, graphic options, and print settings.

44.How do you select tables and columns?

You create the initial classes and objects of your universe by selecting them from the tables and columns listed in the Table
Browser, and inserting them into the Structure pane.Depending on the database connection parameters, the browser presents you
with a list of database tables and columns.

Note
Before selecting tables, you should indicate the strategies you wish to use in creating your universe.

45.How do you test the integrity of a universe?

With the Check Integrity command, you can test the structure of your active universe. This means testing to determine whether its
components are accurate and up-to-date.

Check Integrity serves the following purposes:

It detects any inconsistencies in the objects, joins, conditions, and cardinalities of your universe.
It detects whether there are any loops in the joins.
It determines whether changes were made to the database to which the universe is connected.

46.What is a universe?

A universe is a business-oriented mapping of the data structure found in databases: tables, columns, joins, etc. It can represent any
specific application, system, or group of users. For example, a universe can relate to a department in a company such as marketing
or accounting.In the BusinessObjects User module, universes enable end users to build queries from which they can generate and
perform analysis.Universes isolate end users from the complexities of the database structure as well as the intricacies of SQL
syntax.

47.What is aggregate awareness?

Aggregate awareness is a feature that makes use of predefined aggregate tables to enhance the performance of SQL transactions.
It is used to improve the speed by which aggregates are calculated in the database.
To set up aggregate awareness in a universe, you define or more objects using the @Aggregate_Aware function. The syntax for
this function is as follows:

@Aggregate_Aware(aggregate_table_1, ... aggregate_table_n)


The arguments of this function are all the names of alternative aggregate tables. When you formulate the syntax, you should be
aware of the order of the arguments. The precedence is from left to right; this means that BusinessObjects determines the
aggregate to use beginning from the leftmost argument.

February 8, 2011---5:12 a2/p2


Page 24 of 59
As a general rule, you should enter the most aggregate table as the first argument, the next most aggregate table as the second
argument, and so on.You must then use the Aggregate Navigation editor to set up a list of incompatible objects and/or
incompatible conditions for each aggregate table in your universe. These are the components that cannot be used with an
aggregate table.You can either set up these lists manually, or cause the list of objects to be detected by Designer.

48.What is multidimensional analysis?

Multidimensional analysis is a technique for manipulating data in order to view it from different perspectives and on different
levels of detail. In BusinessObjects, multidimensional analysis involves drill mode and slice-and-dice mode, and is enabled by the
Analyzer and Explorer components of the User module.
To set up a universe for multidimensional analysis, you must define hierarchies and dimensions that determine how users view
and analyze the data.
A dimension is simply the object to be tracked. A dimension can be an object such as Country, Region, and City. A hierarchy is
an ordered series of related dimensions. An example of a hierarchy is Geography, which may group dimensions such as Country,
Region, and City.

49.What are classes?

A class is a logical grouping of objects within a universe. In general, the name of a class reflects a business concept that conveys
the category or type of objects. For example, in a universe pertaining to human resources, one class might be Employees.
A class can be further divided into subclasses. In the human resources universe, a subclass of the Employees class could be
Personal Information.As designer, you are free to define hierarchies of classes and subclasses in a model that best reflects the
business concepts of your organization.

50.What are objects?

An object is the most refined component in a universe. It maps to data or a derivation of data in the database. Using objects, end
users can build queries to generate reports.The name of an object suggests a concept drawn from the terminology of a business or
discipline. For a human resources manager, objects might be Employee Name, Address, Salary, or Bonus, while for a financial
analyst, objects might be Profit Margin, Return on Investment, etc.For the purposes of multidimensional analysis, objects are
qualified as one of three types: dimension, detail, or measure
.
51.What is a list of values?

A list of values contains the data values associated with an object. These data values can originate from a corporate database, or a
flat file such as a text file or Excel file. In Designer you create a list of values by running a query from the Query Panel. You can
then view, edit, purge, refresh, and even export this file. A list of values is stored as an .lov file in a subfolder of the UserDocs
folder.

52.What is the SQL editor?

The SQL editor lets you enter or modify an SQL statement for either the Select statement or Where clause. To invoke this editor,
click the button to the right of either the Select or Where text box. You can type the SQL statement directly in the text box
located in the upper part of the editor window. Or you can formulate your syntax by using any combination of the following
elements: tables, columns, classes, objects, operators, or functions. To select an element (and cause it to appear in the text box)
double-click it in the appropriate pane.The functions listed in the Functions pane include the native SQL functions of your
RDBMS as well as BusinessObjects @ functions. For further information on @ functions, click .
By clicking on a function, you can view its syntax and purpose; this information is displayed in the Description box.

53.Create a universe using the Quick Design wizard

1 Click the button on the Standard toolbar.


2 Follow the wizard through a series of dialog boxes to create a basic universe.

Notes
If you intend to export the universe, you must select Secured as the connection type.
If you click the File/New starts Quick Design wizard check box in the General tab (Tools menu, Options command) the
New command automatically launches the Quick Design

54.What are the components of the Designer interface?

February 8, 2011---5:12 a2/p2


Page 25 of 59

In Designer, you create a universe using three areas:

the Universe pane


the Structure pane
the Table Browser

The Universe pane displays the components of the universe from the point of view of BusinessObjects; that is the classes, objects,
and conditions.
The Structure pane reflects the underlying database structure of the universe including the tables, columns, and joins.
The Table Browser is the component that lets you create the classes and objects of the universe from the tables and columns of a
database.

55.What are the visualization options available?

Designer contains a variety of features for organizing and viewing the tables and columns in the Structure pane. Among these
features are:

List Mode, which adds three panes to the Structure pane. These panes are for viewing the names of tables, joins, and contexts.
When you click a component in a pane, its corresponding graphical representation in the schema is highlighted.
Graphic options, which let you customize the shape or appearance of the tables, columns, joins, and cardinalities in the
Structure pane.
Arrange tables, a feature that reorganizes the tables in the Structure pane so as to produce an orderly display.
Gridlines, a command that displays a grid, which you can use to align tables in the Structure pane.
Table (Column) Values, commands that display the data values associated with a particular table or column.

56.Create a database connection

1 Select the Connections command from the Tools menu.


2 Click the Add button.
3 In the Add a connection dialog box, click the name of the network driver, then click OK.connection dialog box specific
to your RDBMS appears. It is made up of two tabs: Login and Advanced. In each tab, the parameters shown depend on the
network driver you selected. For more information, click .
4 Type or select the connection parameters in the appropriate boxes, and click OK.Connections dialog box appears once
again. It displays the connection you just created.

5 Click OK.

57.Modify a database connection

1 Select the Connections command from the Tools menu.


2 Click the connection.
3 Click the Edit button.
4 In the dialog box, type or select the connection parameters in the appropriate boxes, and click ok.The
Connections dialog box appears once again. It displays the connection you just modified.
5 Click OK.

58.Delete a database connection

1 Select the Connections command from the Tools menu.


2 Click a previously defined connection.
3 Click the Remove button.dialog box prompts you to confirm the action.
4 Click Yes.

59.How do you specify strategies?

A strategy is a script that automatically extracts structural information from a database. Designer provides a number of default
strategies you can use. These are strategies for extracting joins, detecting cardinalities, and creating default classes and objects.
Options for indicating default strategies are located in the Database tab of the Options dialog box.

February 8, 2011---5:12 a2/p2


Page 26 of 59
You can also create your own strategies. Such strategies are referred to as external strategies. With an external strategy, you can
specify the exact way that objects and joins are to be extracted from the database structure. The strategy you use, for example, can
be a script generated from a CASE Access tool. An external strategy is specific to one RDBMS.

60.Specify default strategies

1 Select the Options command from the Tools menu.


2 Click the Database tab.

3 In the Default Creation box, select the default strategies you want.

Option Description
Extract joins with tables. Retrieves tables with the joins that link them according to a join strategy.
Detect cardinalities in joins. Detects the cardinalities inherent in the joins.
Create default classes and objects from tables. Causes classes and objects to be generated in the Universe pane when you
insert tables in the Structure pane.
If you select one or more options, Designer uses the corresponding strategies specified in the Strategies tab of the Universe
Parameters dialog box:

Option Description
Objects The strategy creates classes, and names them based on the tables in the database; it also creates objects, and names them
based on the columns in the database. It replaces all underscore characters (_) with spaces.
Joins From the list box, select a join strategy. A description is displayed below the name of the current strategy.
Tables Reads the table structure from the database system tables.

61.How do you specify external strategies?

With an external strategy, you can specify the exact way that objects and joins are to be extracted from the database structure.All
external strategies are contained within the same text file. The name of this text file is indicated in the .prm file specific to your
RDBMS. In the .prm file, the strategy file is declared as follows:

STG=[StrategyFileName]
where StrategyFileName is the name of the strategy file.
An external strategy, whether for objects or for joins, is made up of the following sections:
a name and description (These are visible in the Strategies tab of the Universe Parameters dialog box.)
a type parameter: object or join
an SQL parameter or file parameter
an optional parameter that points to a connection other than the universe connection.
An external strategy can be based on SQL or a file.
After you have set up external strategies, you can specify them from the Quick Design wizard. Or you can specify them from the
Strategies tab of the Universe Parameters dialog box.

62.Insert tables in the Structure pane

1 Select the Tables command from the Insert menu.


2 In the Table Browser, click the tables you want to add to the universe structure.select several
contiguous tables, hold down the Shift key, then click the first table and the last table. All the tables between the
selected tables will be highlighted. To select several tables that are not contiguous, click each table while holding down
the Ctrl key.
3 Click the Insert button.

63.View the Structure pane in List Mode

Select the List Mode command from the View menu.panes (Tables, Joins, and Contexts) are added above the display of the
schema. When you click a component in one of these panes, Designer highlights its graphical representation in the schema, and
vice-versa.

64.Modify graphic options

February 8, 2011---5:12 a2/p2


Page 27 of 59
1 Select the Options command from the Tools menu.
2 Click the Graphics tab.
3 Select the graphic options you want.
4 Click OK.

64.Arrange tables in the Structure pane

Select the Arrange Tables command from the View menu.

65.Display gridlines in the Structure pane

Select the Gridlines command from the View menu.

66.View the values of tables

1 In the Structure pane, click the table whose values you wish to view.
2 Select the Table Values command from the View menu.displays a window, which lists all the values for each
column in the table. With the check box Distinct Values, you can filter the display so that only unique values are shown.

67.View the values of columns

1 In the Structure pane, place the pointer on the column whose values you wish to view.may
wish to enlarge the view of the columns by applying the Zoom In command one or more times.
This makes it easier to select a column.
2 Click the right mouse button.pop-up menu appears.
3 From the pop-up menu, select the View Column Values command.displays a window, which lists all the values for the
column. With the check box, Distinct Values, you can filter the display so that only unique values are shown.

68.What join types are supported?

Designer supports the following types of joins: equi-joins, outer joins, theta joins, and shortcut joins.
In addition to join strategies, Designer provides several other methods for creating or editing joins:
the Detect Joins command
tracing the joins manually
the Edit Join dialog box
the formula bar

69.Create joins automatically

1 Select the Detect Joins command from the Tools menu.Candidate Joins dialog box appears. It displays the joins that
were detected according to the join strategy set for the universe. By default, all the joins are selected.
2 Insert the joins by doing any of the following:

Select one join by clicking it, and then click the Insert button.
Select several contiguous joins. Hold down the Shift key, then click the first and last join. All the joins between the
selected joins will be highlighed. Click the Insert button.
Select several joins that are not contiguous. Click each join while holding down the Ctrl key. Click the Insert button.
Select all highlighted joins, and then click the Insert.

3 Click the Close button to dismiss the dialog box.joins appear in the Structure pane.

70.Trace a join manually

1 Position the mouse pointer over the column to be the source of the join.pointer is transformed into a hand symbol.
2 Click the column with the left mouse button.column is highlighted.
3 While keeping the left mouse button pressed, drag the join which begins to appear away from the source column toward
the destination column.pointer is transformed into a pencil.
4 Position the pencil over the column to be the destination of the join.
5 When the second column is highlighted, release the mouse button.join between the two tables is created.

February 8, 2011---5:12 a2/p2


Page 28 of 59
71.Create a join with the Edit Join dialog box

1 Select the Join command from the Insert menu.


2 In the list boxes, Table1 and Table2, select the tables.
3 Click the list box and select an operator.
4 In the list boxes below each table, select the column that is to link Table1 to Table2.
5 Check the validity of the join by clicking the Parse button.
6 Click the OK button.

72.Edit a join with the Edit Join dialog box

1 Double-click the join.


2 In the Edit Join dialog box, modify the definition of the join as needed.
3 Check the validity of the join by clicking the Parse button.
4 Click the OK button.

73.Edit a join with the formula bar

1 Click the join that you want to edit.formula for the join appears in the formula bar.
2 Click the entry area of the formula bar, and edit the formula.
3 Press the Enter key to exit from the formula bar.

Note
By default, the formula bar is activated. To deactivate it, select the Formula Bar command from the View menu.

74.Delete a join

1 Click the join.


2 Do one of the following:
Press the backspace key on your keyboard
Press the Delete key on your keyboard
Select the Clear command.
Note
Be careful when deleting a join. Deleting one or more joins may have undesirable consequences on the overall structure of your
universe.

75.What are cardinalities?

Cardinality expresses the minimum and maximum number of instances of an entity B that can be associated with an instance of an
entity A. The minimum and the maximum number of instances can be equal to 0, 1, or N.Because a join represents a bidirectional
relationship, it must always have two cardinalities.
If you selected the Detect cardinalities in joins options in the Database tab of the Options dialog box, Designer detects and
retrieves the cardinalities of the joins. If you do not use this option, you can still retrieve the cardinalities for one or all joins in the
universe.
There are two main methods for detecting or editing cardinalities:
the Detect Cardinalities command
the Edit Join dialog box

76.Detect cardinalities

You can detect the cardinalities for one join or for all the joins in the universe. For a single join, click it, and in the Edit Join
dialog box, click the Detect button. To detect the cardinalities for all joins:

1 Select the Detect Cardinalities command from the Tools menu.


A dialog box prompts you to confirm the action for all the joins of the universe.
2 Click the OK button.

Note
The Graphics tab of the Options dialog box contains a number of options for the display of cardinalities in the Structure pane.

February 8, 2011---5:12 a2/p2


Page 29 of 59
77.What are loops?

A loop is a situation that occurs when more than one path exists from one table to another. Loops result in ambiguity in the design
of a universe. Designer enables you to identify loops in one of two ways:
You can run the Check Integrity function, which indicates the existence of any loops.
You can select the Detect Loops command from the Tools menu. If there are loops, the Loop Detection viewer appears; it
indicates the joins causing a loop.You can then use aliases or contexts to resolve the loops in your universe.

78.What are aliases?

An alias is a logical pointer to an alternate table name. The purpose of an alias is to resolve loops in the paths of joins. In some
cases, more than one alias may be necessary for a given table.
As you create aliases, Designer may prompt you to create other aliases. This occurs when the new aliases result in the need for
additional aliases; in other words, creating such aliases entails the propagation of other aliases.
In such a situation, two options are available to you:
You can cause only the first table proposed to be aliased
You can alias all the tables listed (i.e. propagate the aliases)
Designer displays an alias in the Structure pane as a table. It links an aliased table to existing tables, re-arranging joins, as
necessary.

79.Create an alias automatically

1 Select the Detect Aliases command from the Tools menu.Candidate Alias dialog box appears.
2 In the left pane of the dialog box, click the first table that you wish to alias.right pane displays the alias name(s) Designer
suggests for the table you selected. To give an alias a different name, click the Rename button, and enter the new name.
3 Click the Create button.message box prompts you to confirm the creation of the alias(es). In some cases, a dialog box
may prompt you to propagate additional aliases.

4 Click the OK button.


5 Repeat steps 2 to 4 for the remaining tables (if any).
6 Click Close to dismiss the dialog box.

Notes
Before using Detect Aliases, check to see that all the tables in the universe are already linked by joins.
Before using Detect Aliases, be sure that Designer has already detected all the cardinalities of joins; if this is not the
case, select the Detect Cardinalities command from the Tools menu.

80.Create an alias manually

1 In the Structure pane, click the table for which you want to create an alias.
2 Select the Alias command from the Insert menu.dialog box appears prompting you to enter a name for the aliased table.
3 Enter a new name for the aliased table, or keep the one proposed.
4 Click OK.aliased table appears in the Structure pane.

Note
If you create an alias manually, you must also create the joins necessary to link it to the other tables.

81.What are contexts?

A context is a rule by which Designer can decide which of two paths to choose when more than one path is possible from one
table to another. Contexts can be used to resolve loops in the universe.
You can create contexts manually, or cause them to be detected by Designer. When contexts are useful, Designer suggests a list of
contexts that you can create.

82.Create a context automatically

1 Select the Detect Contexts command from the Tools menu.Candidate Contexts dialog box is displayed.
2 In the left pane of the dialog box, click the name of the first context you wish to create. Click the Add button.context is
displayed in the right pane. You can remove any context from the right pane by selecting it, and then clicking the Remove button.
4 Repeat steps 2 and 3, if applicable, to add the other contexts.

February 8, 2011---5:12 a2/p2


Page 30 of 59
5 If you wish to rename a context, select it from the right pane, and then click the Rename button.Rename Context dialog
box appears from which you can enter a new name.

6 Click the OK button.Structure pane is displayed in List Mode. This lets you view the contexts you created.

83.Create a context manually

1 Select the Context command from the Insert menu.


2 In the New Context dialog box, type a name for the context in the text box.
3 In the Current context join list box, click all the joins defining the context.can click the Detect button for assistance; it
shows the joins making up a context and suggests a name for it.
4 If you wish to see all the joins you selected, click the Show selected only option.view makes it easy to see the joins you
selected. To return to the previous view, click the option again.

5 Click OK.context is created.

84.How do you test the integrity of a universe?

With the Check Integrity command, you can test the structure of your active universe. This means testing to determine whether its
components are accurate and up-to-date.
Check Integrity serves the following purposes:
It detects any inconsistencies in the objects, joins, conditions, and cardinalities of your universe.
It detects whether there are any loops in the joins.
It determines whether changes were made to the database to which the universe is connected.

85.Run check integrity

1 Select the Check Integrity command from the Tools menu.Integrity Check dialog box appears.
2 In the dialog box, click the component(s) to be checked by clicking the corresponding check boxes.Check All causes all
the options to be checked.
3 Click the parse level.parsing checks only the syntax of a component Thorough parsing checks both the syntax and
semantics of a component. Of the two options, the latter may take longer to run.

4 Click OK.

Note
Options for running Check Integrity automatically are available in the Options dialog box (Tools menu).

86.Create a class manually

1 Click the class after which you want the new class to appear in the Universe pane.
2 Select the Class command from the Insert menu.Edit Properties dialog box appears.
3 Enter the name of the class in the Class Name text box.
4 Enter information about the class in the Description text box.
5 Click the OK button.

Notes
A class appears within the Universe pane with a symbol.
If you insert a class in an opened class, it becomes a subclass of this class. Otherwise, it appears
87.Create an object manually

1 In the Universe pane, position the pointer within the class in which you want the object
to appear.
2 Select the Object command from the Insert menu.Edit Properties dialog box appears; by default, the Definition tab is
displayed.
3 In the Name box, type the name of the object.
4 If necessary, change the type of the object in the list box.object can be a character, number, long text, or date.
5 Enter information about the object in the Description text box.

6 Enter the syntax of the Select statement in the text box.

February 8, 2011---5:12 a2/p2


Page 31 of 59
7 Enter the syntax of the Where clause in the text box.
8 Click the OK buttonobject appears in the Universe pane.

Note
You can use the SQL editor to enter the SQL definition of the object; i.e. the Select statement and the Where clause. To invoke
this editor, click the to the right of either the Select or Where text box.

88.What is the SQL editor

The SQL editor lets you enter or modify an SQL statement for either the Select statement or Where clause. To invoke this editor,
click the button to the right of either the Select or Where text box.
You can type the SQL statement directly in the text box located in the upper part of the editor window. Or you can formulate your
syntax by using any combination of the following elements: tables, columns, classes, objects, operators, or functions. To select an
element (and cause it to appear in the text box) double-click it in the appropriate pane.
The functions listed in the Functions pane include the native SQL functions of your RDBMS as well as BusinessObjects @
functions. For further information on @ functions, click .
By clicking on a function, you can view its syntax and purpose; this information is displayed in the Description box.

89.What functions are supported?

Designer provides four types of functions: Number, Character, Date and @Functions. Refer to your database guide for further
details on the first three types of functions. Functions beginning with the @ character are BusinessObject functions that render the
definition of objects dynamic and database-independent.

@Function Purpose
@Aggregate_Aware is used to enhance the performance of SQL transactions; i.e. it determines which tables to use in SQL
generation: either aggregate tables or detailed tables.
@Prompt is used to create an interactive object. In the Query Panel, this type of object causes a message to appear that
prompts the end user to enter a specific value.
@Script is used to recover the results of an executed macro created with the Visual Basic Editor in the BusinessObjects User
module.
@Select lets you re-use the Select statement of an existing object
@Variable is used to reference the value assigned to a name or variable.
@Wherelets you re-use the Where clause of an existing object.

@Aggregate_Aware

Syntax @Aggregate_Aware(aggregate_table_1, ... aggregate_table_n)arguments are the names of alternative aggregate tables.
The precedence of the arguments is from left to right.

Description is used to enhance the performance of SQL transactions; i.e. it determines which tables to use in SQL
generation: either aggregate tables or detailed tables.
Example@Aggregate_Aware(sum(Region_SLine.sales_revenue), sum(Service.price * Invoice_Line.days *
Invoice_Line.nb_guests))

@Prompt

Syntax @Prompt ('message', ['type'], [lov], [MONO|MULTI], [FREE|CONSTRAINED]) message is the text of a message within
single quotes. type can be one of the following: 'A' for alphanumeric, 'N' for number, or 'D' for date. lov can be either a list
of values enclosed in brackets (each value must be within single quotes and separated by commas) or the name of a class and
object separated by a backslash and within single quotes. MONO means that the prompt accepts only one value. MULTI
means that the prompt can accept several values. FREE refers to free input as opposed to CONSTRAINED, which means
that the end user must choose a value suggested by the prompt.

Description Is used to create an interactive object. In the Query Panel, this type of object causes a message to appear. This
message prompts the end user to enter a specific value.
Note The last four arguments are optional; however, if you omit an argument you must still enter the commas as separators.
ExampleIn Where Clause:.city IN @Prompt ('Choose City', 'A', {'Chicago', 'Boston', 'New York'}, MULTI, FREE)the Query
Panel, the object prompts the end user to choose a city.

February 8, 2011---5:12 a2/p2


Page 32 of 59
@Script

Syntax @Script('var_name', 'vartype', 'script_name') 'var_name' is a variable name declared in the VBA macro. This name enables
the results of the executed macro to be recovered in the SQL definition of an object. This name must be identical in both the
macro and in the SQL definition of the object. 'vartype' is the variable type declared in the VBA macro: 'A' for
alphanumeric, 'D' for date, 'N' for numeric. 'script_name' is the name of the VBA macro to be executed. VBA macro files are
located in the Scripts folder.

Description Recovers the results of an executed macro created with the Visual Basic Editor in the BusinessObjects User
module.
Note The second argument is optional; however, if you omit it you must still enter the commas as separators.
ExampleIn Where clause:.cust_id = @Script('Number_of_customers', 'A', 'customers')the results of a macro called customers,
which calculates the number of customers.

@Select

Syntax @Select(Classname\Objectname)
Description Lets you re-use the Select statement of an existing object.

@Variable

Syntax @Variable('myname')'myname' can be one of the following: The text of an interactive object previously created with
the @Prompt function; i.e. the first argument entered in the @Prompt function. A BusinessObjects system variable such as
BOUSER or BOPASS. These variables represent respectively the user name and password forming the user identification.
System variables also exist for the connection to the RDBMS.

Description References the value assigned to a prompt or variable.


ExampleIn Where Clause:.first_name = @Variable('BOUSER')function references the system variable BOUSER. In the Query
Panel, this object retrieves customers having a first name equal to the BOUSER value.

@Where

Syntax @Where(Classname\Objectname)
Description Lets you re-use the Where clause of an existing object.

90.What is meant by object qualification?

The qualification of an object reveals how it can be used in multidimensional analysis. An object can be qualified as a dimension,
a detail, or a measure.In the Universe pane, the symbol beside each object indicates its qualification:

a for a dimension
a for a measure
a for a detail

91.Create a dimension object

1 Double-click the object in the Universe pane.Edit Properties dialog box is displayed.
2 In the Definition tab, change the object's type, if necessary.
3 Click the Properties tab.
4 In the Qualification box, click the Dimension radio button.the object is of type date, click the Automatic Time Hierarchy
button, enter the necessary options, and then click the OK button.
5 Click the OK button.

Notes
By default, all objects you create manually already have a dimension qualification.
A dimension object appears within the Universe pane

92.ate an automatic time hierarchy

February 8, 2011---5:12 a2/p2


Page 33 of 59
1 First create a dimension object of type date.
2 Click the Properties tab of the Edit Properties dialog box.
3 Click the Automatic Time Hierarchy button.Automatic Time Hierarchy dialog box appears.
4 In the dialog box, select and name the dimensions you wish to use, and click OK.
5 Click the OK button.

Note
In the Universe pane, each time dimension appears as an subobject of the date object.

93.Create a measure object

1 Double-click the object in the Universe pane.Edit Properties dialog box is displayed.
2 In the Definition tab, change the object's type to number.
3 Click the Properties tab.
4 In the Qualification box, click the Measure radio button.
5 Indicate how the measure is to be projected when aggregated: Average, Count, Max, Min, Sum, or Unknown.the
appropriate value from the list box.
6 Click the OK button.

Note
A measure object appears within the Universe pane with a symbol.

94.Create a detail object

1 Double-click the object within the Universe pane.Edit Properties dialog box is displayed.
2 In the Definition tab, change the object's type, if necessary.
3 Click the Properties tab.
4 In the Qualification box, click the Detail radio button.
5 Click the Associated Dimension list box, and select the object to which you are assigning the detail object.
6 Click the OK button.

Notes
A detail object is displayed in the Universe pane with a symbol.
A detail object appears in the Universe pane as a subobject of the dimension object it describes.

95.Create a condition

1 Click the class in which you want the condition to appear.


2 Select the Condition command from the Insert menu.
3 In the Name box, type the name of the condition.
4 In the Description box, enter information about the condition.
5 In the Where box, type the SQL definition of the Where clause.
6 Click OK.

Notes
You can use the SQL editor to formulate the Where clause.
A condition appears in the Universe pane with a symbol.

96.Insert a user object

1 Select the User Objects command from the Insert menu.Insert User Objects dialog box is displayed.
2 Click a user object file.user object file has a .udo extension
3 Click the Open button.

Notes
By default, user object files are stored in the Universe folder.
By default, user objects appear in a class called Created from User Objects.

97.What is multidimensional analysis?

February 8, 2011---5:12 a2/p2


Page 34 of 59
Multidimensional analysis is a technique for manipulating data in order to view it from different perspectives and on different
levels of detail. In BusinessObjects, multidimensional analysis involves drill mode and slice-and-dice mode, and is enabled by the
Analyzer and Explorer components of the User module.
To set up a universe for multidimensional analysis, you must define hierarchies and dimensions that determine how users view
and analyze the data.
A dimension is simply the object to be tracked. A dimension can be an object such as Country, Region, and City. A hierarchy is
an ordered series of related dimensions. An example of a hierarchy is Geography, which may group dimensions such as Country,
Region, and City.

98.Create a custom hierarchy for multidimensional analysis

1 Select the Hierarchies command from the Tools menu.


2 Click the New button.
3 Type a name beside the hierarchy folder, and then press the Return key.hierarchy appears in the Custom Hierarchies box.
4 Insert the objects in the new hierarchy, by clicking them in the Default Hierarchies box, and then clicking the Add
buttton.objects appear in the new hierarchy in the Custom Hierarchies box.

99.Add a default hierarchy for multidimensional analysis

1 Select the Hierarchies command from the Tools menu.


2 In the Default Hierarchies (Dimension Objects) box, click a hierarchy.
3 Hold down the Ctrl key, and then click each additional hierarchy you wish to add.
4 Click the Add button.

Notes
When you add a hierarchy, you automatically include all its dimension objects.
You can also drag and drop a hierarchy from the Default Hierarchies box to the Custom Hierarchies box.
You can rearrange the order in which hierarchies are displayed by using the Move Up or Move down button.

100.Add dimension objects to a custom hierarchy

1 Select the Hierarchies command from the Tools menu.


2 In the Default Hierarchies box, click the plus sign (+) of all the default hierarchies in order to view the dimension
objects.
3 In the Custom Hierarchies box, click the hierarchy folder, which is to contain the dimension object.select several
dimension objects, click each dimension while keeping the Ctrl key pressed.
4 Click the Add button.

Note
You can rearrange the order in which dimension objects are displayed in a hierarchy by using the Move Up or Move down button.

101.What is a list of values?

A list of values contains the data values associated with an object. These data values can originate from a corporate database, or a
flat file such as a text file or Excel file. In Designer you create a list of values by running a query from the Query Panel. You can
then view, edit, purge, refresh, and even export this file. A list of values is stored as an .lov file in a subfolder of the UserDocs
folder.

102.Create a list of values

1 In the Universe pane, double-click the object for which you want to create a list of values.Edit Properties dialog box
appears.
2 Click the Properties tab.
3 Enter a name for the .lov file in the List Name text box.can enter up to 8 alphanumeric characters.
4 Click the Display button to obtain the List of Values dialog box.List of Values dialog box displays all the possible data
values associated with the object.
5 Click the OK button to create the .lov file.stores .lov files in a subfolder of the UserDocs folder. The name of the
subfolder is that of the universe in which the object is located.

103.Assign personal data to a list of values

February 8, 2011---5:12 a2/p2


Page 35 of 59

1 Select the Lists of Values command from the Tools menu.List of Values dialog box is displayed.
2 In the dialog box, click the object whose list of values you wish to edit.
3 Click the Personal Data radio button in the Properties group box.message box informs you that you are about to change
the .lov type from corporate to personal.
4 Click the OK button to confirm the action.displays the Access Personal Data dialog box. The options displayed vary
depending on the file type you select.

5 Click the Browse button, and from the browser, specify the file to be used as the .lov.can also type the file name in the
Name text box.
6 Specify the file format by selecting an option from the Format list box.options are Text Files (*.asc;*.prn;*.txt;*.csv),
Microsoft Excel, Lotus 1-2-3, or dBASE.
7 Specify the remaining options, as necessary.a text file, one line is equivalent ot one row. For a text file, indicate the type
of column delimiter: a tabulation, space, or character. If you select character as the type, enter the character in the text box.

8 Click the Run button to confirm the above actions, and to close the dialog box.

104.What is aggregate awareness?

Aggregate awareness is a feature that makes use of predefined aggregate tables to enhance the performance of SQL transactions.
It is used to improve the speed by which aggregates are calculated in the database.
To set up aggregate awareness in a universe, you define or more objects using the @Aggregate_Aware function. The syntax for
this function is as follows:

@Aggregate_Aware(aggregate_table_1, ... aggregate_table_n)

The arguments of this function are all the names of alternative aggregate tables. When you formulate the syntax, you should be
aware of the order of the arguments. The precedence is from left to right; this means that BusinessObjects determines the
aggregate to use beginning from the leftmost argument.

As a general rule, you should enter the most aggregate table as the first argument, the next most aggregate table as the second
argument, and so on.

You must then use the Aggregate Navigation editor to set up a list of incompatible objects and/or incompatible conditions for
each aggregate table in your universe. These are the components that cannot be used with an aggregate table.

You can either set up these lists manually, or cause the list of objects to be detected by Designer.

105.Specify incompatible objects for aggregate tables

1 Select the Aggregate Navigation command from the Tools menu.


2 In the Universe Tables box, click a predefined aggregate table.
3 In the Associated Incompatible Objects box, click the check box beside each incompatible object. Or click the Detect
Incompatibility button to do this automatically.check mark appears beside the incompatible objects.

106.Specify incompatible conditions for aggregate tables

1 Select the Aggregate Navigation command from the Tools menu.


2 In the Universe Tables box, click a predefined aggregate table.
3 Click the radio button.
4 In the Associated Incompatible Objects box, click the check box beside each incompatible condition. Or click the Detect
Incompatibility button to do this automatically.check mark appears beside the incompatible conditions.

107.What are Enterprise and Workgroup modes?

Designer lets you save universes in either enterprise or workgroup mode.Enterprise mode means that you are working in an
environment with a repository. Workgroup mode means that you are working without a repository. The mode in which you save
your universe determines whether other designers are able to access them.By default, a universe is saved in the mode in which
you are already working. For example, if you launched a session in enterprise mode, any universe you save is automatically in

February 8, 2011---5:12 a2/p2


Page 36 of 59
that mode. However, if you want to make a universe accessible to another designer working without a repository, then click the
Save as Workgroup check box in the Save as universe dialog box.

108.How do you distribute universes?

You can distribute a universe to end users or another designer by:


Moving it as a file through the file server
Exporting it to the repository
If you distribute a universe as a file through the file server, any designer or end user can open it unless you have set a password on
it.
The repository is a centralized set of relational data structures stored on a database. This device enable BusinessObjects users to
share resources in a controlled and secured environment. The repository is made up of three domains: the security domain, the
universe domain, and the document domain.
The Import and Export commands of Designer let you move universes to and from the universe domain of the repository.

109.Export a universe to the repository

1 Select the Export command from the File menu.Export Universe dialog box appears.
2 In the Repository list box, click the universe domain to which you want to export the universe.
3 In the Groups box, click the group(s) to which you want to export the universe.
4 If you wish to export other universes at the same time, click the Add button, and then use the browser to specify the
universes.default, all open universes are displayed.

5 Double-click each universe you wish to keep locked in the repository.padlock appears beside a locked universe.
6 In the Universes box, click the universe(s) you wish to export.
7 Click OK.

Notes
You can export a universe only if its connection type is secured.
By default, the Universes box displays a list of all open universes. To remove a universe from this list, select it, and then
click the Remove button.

110.Import a universe from the repository

1 Select the Import command from the File menu.


2 In the Repository list box, click the universe domain
that contains the universe.
3 From the Available Universes list box, click the universes you wish to import.
4 If necessary, double-click all locked universes.locked universe appears with a padlock beside it.
5 Check the name of the import folder to which the universe is to be imported. can specify another folder by clicking the
Browse button.

6 Click OK.

111.What are linked universes?

Linked universes are universes that share common components such as parameters, classes, objects, or joins. Among linked
universes, one universe is said to be the kernel or master while the others are the derived universes.A kernel or master universe
represents a re-useable library of components.
Derived universes may contain some or all of the components of the kernel or master universe, in addition to any components that
have been added to it.

Some of the benefits inherent in the use of linked universes are as follows:
A dynamic link may considerably reduce development and maintenance time. When you modify a component in the kernel
universe, Designer propagates the change to the same component in all the derived universes.Instead of re-creating common
components each time you create a new universe, you can centralize such components in a kernel universe, and then include them
in all new universes.
Linked universes promote workgroup design. Common components can be shared among several designers.
Linked universes facilitate specialization. Development can be split between database administrators who set up a basic kernel
universe, and the more specialized designers who create more functional universes based on their specific field.

February 8, 2011---5:12 a2/p2


Page 37 of 59

112.What are the requirements for linking universes

You can link the active universe to a kernel universe, only if the following requirements are met:
The kernel universe and active universe were created from the same data account and the same RDBMS.
The kernel universe was exported and re-imported at least once.
Exported derived universes are located in the same universe domain as the kernel universe.
All classes and objects are unique in both the kernel universe and the derived universes. (Otherwise, collisions may occur.)You
are authorized to link the given universe.

Note
A derived universe does not recover the lists of values containing personal data from the kernel universe. However, if you need
certain lists of values, you can use the following workaround: in the derived universe, create new objects defined in the same way
as those in the kernel, then hide them. You can then assign them to these objects lists of values, which you can then modify and
export.

113.Create a dynamic link between two universes

1 Open or select the universe to be linked to a kernel universe.


2 Select the Parameters command from the File menu.Universe Parameters dialog box is displayed.
3 Click the Links tab of the dialog box.
4 Click the Add Link button.dialog box appears from which you can select a universe.
5 Click the universe to be linked to your active universe, and then click the Open button.universe that you select is then
displayed in the central pane of the Links tab.

6 Click the OK button.components are displayed within the active window.

Notes
To link an active universe to a kernel universe, you must have exported the kernel universe at least once. Otherwise, Designer
does not allow the link.
Designer displays the components from the kernel universe as dimmed in both the Universe and Structure panes of the
active universe. You cannot modify or delete them; however, you can create a join linking a table originating from the kernel
universe to one in the active universe.

Desktop Intelligence - FAQ: Reporter


Bob - Wed Jul 24, 2002 10:14 am
Post subject: FAQ: Reporter
Reporter FAQ

*New* How to show and hide reports based on user selection

Why can't I filter on a Report Aggregate?

Why is BusinessObjects telling me that my 'variables are not compatible?

Why don't my prompts come out in the order I want them to? Any workarounds?

Explain "You are not authorized to use this document"

What does "Some obsolete objects have been removed..." mean?

Saving / Exporting to MS Excel

Converting Excel Content to Text

How can I link or "attach" report blocks so that they are positioned in relation to the each other?

Why can't I see all of the data returned by the cube in my report?

February 8, 2011---5:12 a2/p2


Page 38 of 59

How can I send a report from Business Objects to another Business Objects User?

Why can't I create user defined objects (UDO's) for a particular universe? I can for other universes...

How can I make a table from two data providers and only show data common to both?

How do I migrate documents between repositories?

Troubleshooting Unhandled Exception Error C00..5

9 Methods of getting BO data into Excel w/pros and cons

How can I import data from Excel and keep the numbers numeric?

My Query Panel or Slice and Dice Panel are not showing

How can I change or rid myself of the 'No data to fetch' message?

How can I make an object that selects the current date?

What is synchronization?

How and when can I point a data provider from one universe to another?

How can I sequentially number the pages of a report across all report tabs?

Why do I get an error when I try to Sum(<Sales>) Where (<Year> > 2000)?

Is it possible to make a copy of a data provider in the same or in a new document?

How can I calculate the number of hours between two dates?

I lost my work because of a power outage. Is there any way to retrieve my 'corrupt' report?

What is the difference between Full-Client Reporter and ZABO (Zero-Admin BusinessObjects)?

How can I include data for all months in a crosstab, even if a particular month has no data?

Why is my report so slow?

Is it Possible to Query the BusinessObjects Repository and Build Reports?

How can I include a Wildcard Character in a wildcard search when I use "Matches Pattern"?
Cindy Clayton - Tue Aug 13, 2002 11:28 am
Post subject: What does 'Variables are not compatible' mean?
Why is BusinessObjects telling me that my 'variables are not compatible?

A "combined block" that contains data from more than one data provider can only have objects that meet one of the following
criteria:
1. A dimension object that is linked
2. A detail object associated with a linked dimension object
3. Any measure object
4. Any additional dimension object (unlinked) from a single (one only) data provider
You may not include:
1. Unlinked dimensions from two (or more) data providers
2. Detail objects that are not associated with a valid dimension object that can be used
Note that measure objects are always allowed, but may or may not provide the proper value based on the linked (or lack of of
linked) dimensions.

February 8, 2011---5:12 a2/p2


Page 39 of 59
Cindy Clayton - Tue Aug 13, 2002 11:30 am
Post subject: Why are my prompts out of order?
Why don't my prompts come out in the order I want them to? Any workarounds?

Report prompts appear alphabetically. Try beginning your prompt text with 1, 2, 3, etc. to force them into logical order. Using
a period to begin a prompt is a good, virtually hidden method of forcing a particular prompt to the top of the list.
Cindy Clayton - Tue Aug 13, 2002 11:33 am
Post subject: What does 'You are not authorized to use this document' mean
Explain "You are not authorized to use this document"

The most common reason for this is that the document was - at one point - exported to the repository. Then it was deleted. At
that point, it is a "secured" document (since it was exported) and yet there is no record of who has access to it (since it's missing
from the repository). Thus you, even as the owner, do not have the authority to access the document. A General Supervisor can
open the document and save it for all users to remove the security information and allow access to anyone.

Another reason why this error can occur is if you totally delete your repository. This will cause this error even if the document
was never exported. If you have a document that was created while you were logged in, and then you send it to someone that does
not have a repository (and therefore cannot log in), they get the same message.

More information on this message is available here.


Cindy Clayton - Sun Aug 18, 2002 7:39 pm
Post subject: What does "Some obsolete objects have been removed...&q
What does "Some obsolete objects have been removed..." mean?

This message means that one or more of the objects used in your report are no longer available in the universe. A Designer
may have deleted them. Deleting objects is generally a bad idea. Hiding them removes them from use in future reports but
preserves them in current ones.

Another possible reason for this error is that a previously linked universe has now been 'included' instead. Objects from the kernel
universe will report this error. Evidently the inclusion process assigns new ids to objects from the kernel universe. One way to
work around this error is to provide both the original linked version and an included version of the universe in the repository
simultaneously. Users can then use the ... button in the Data Manager to point the report to the included universe using class and
object names rather than ids.

There are a couple of ways to determine which objects are being removed from your query. Use the DataProviderSql function to
display the sql BEFORE accessing the query panel. Compare this sql to what is written AFTER the message appears. Another
method is to use the Data Manager to see a list of query objects.
Eileen King - Tue Aug 20, 2002 7:32 am
Post subject: How can I Save/Export to Excel?
Saving / Exporting to MS Excel

There are several ways to get Business Objects data into Excel. Which method works best probably depends on what you want
to do with it once you get it there!

Copy and paste a Table from Business Objects to Excel

This will allow you to take a Business Objects Table into Excel. This keeps the data as displayed (objects, variables, filters, etc.)
and will bring the data as it appears in Business Objects into Excel. It will not preserve formatting or formulas from Business
Objects.

1. From the Business Objects Edit Menu, select Copy All. This will paste your data to the clipboard. Depending on how large
your Business Objects Table is, this can take a while!
2. Open Excel.
3. To maintain text attributes in Excel (such as keeping leading zeros) select the columns that you want to be treated as text. With
the columns selected in Excel choose Format Cells Text.
4. From the Excel Edit Menu, select Paste Special.
5. Choose Text and click OK.

February 8, 2011---5:12 a2/p2


Page 40 of 59
Export a Data Provider from Business Objects to Excel

This process will allow you to take the raw data from a Business Objects data provider and put it into Excel.

1. From the Business Objects Data Menu, select View Data. This will bring up the Data Manager window where you can see the
Data Providers for your report.
2. Click on the Data Provider you want to export.
3. Make sure the Results Tab is highlighted. There will be buttons on the bottom which include Options, Refresh, Purge, and
Export.
4. Click on Export.
5. The Export to External Format screen will appear. Make sure Export to Local File Format is highlighted.
6. Specify the name and path of the file where you want your data to be stored in Name. You can use the Browse button to locate
the path.
7. Specify the format of the file where you want your data to be stored in Format. On the pull down menu, choose Microsoft
Excel Files (*.xls).
8. If you choose the option Delete Spaces it will delete the spaces before and after the delimiters that separate the columns of data.
Eileen King - Tue Aug 20, 2002 7:39 am
Post subject: How can I position report blocks relative to each other?
How can I link or "attach" report blocks so that they are positioned in relation to the each other?

This process will allow you to position the report blocks relative to other report blocks.

1. From the Business Objects Report screen, double-click on the edge of the block you want to position. This will bring up the
block format window where you can set Formats for tables in your report. Click on the Appearances tab. Alternate method: click
on the block, and select Format + Block (Table, Crosstab, or Chart depending on the block type selected).
2. You will see the Position screen. Horizontal or vertical position allows you to set the table's position relative to the margins,
upper section, another table, or center across the page (called markers). The space between the marker and the table is relative to
the upper left corner of the selected table.
3. To move the table to the left and right, use the Horizontal Position Relative to option. To table up and down, use the Vertical
Position Relative to option.
4. You can enter a number (positive or negative) to set the horizontal space between the marker and the table. You can also enter
a number to set the vertical position between the marker and the table.
Eileen King - Tue Aug 20, 2002 10:09 am
Post subject: What could cause my data to be hidden?
Why can't I see all of the data returned by the cube in my report?

Business Objects seems to be hiding data. I get 9 rows in the cube, but only 3 rows show up on the report. What would cause
this?

There are a couple of reasons why you may not be seeing all the data in your cube within your report.

One possibility is that the data is being filtered. You can check to see whether any filters are excluding rows.

1. Click on the block so that it is highlighted.


2. From the Business Objects Format Menu, select Filters.
3. The Filters On dialog box displays the global and block-specific filters applied to the report.
4. If you have no filters applied, nothing will appear in the Folders. The global folder will display any filters that have been
applied to the all blocks. The block-specific folder is named based on the block name and will display any filters that have been
applied to that block.
5. The Values dialog box displays the values available for the variable. The highlighted values are those included in the filter.
Any that are not highlighted will be filtered out.
6. If you want to remove a filter, click on the filter and then click on Remove.

BusinessObjects, by default, shows only unique rows of data. If the values in your block would result in the same row being
displayed more than once it will only show that row once. However, you can force the block to display duplicate rows.

1. Click on the block so that it is highlighted.


2. From the Business Objects Format Menu, select Format Table.
3. The Table Format dialog box will be displayed. Click on the General tab.

February 8, 2011---5:12 a2/p2


Page 41 of 59
4. Under the Display box is the option "Avoid Duplicate Rows Aggregation". If you check this box, all rows will be displayed
without aggregating. (This option is not available for a crosstab).
Eileen King - Tue Sep 03, 2002 8:05 am
Post subject: How can I send a report from one user to another?
How can I send a report from Business Objects to another Business Objects User?

1. Open Business Objects.


2. Open your report in Business Objects.
3. While you are in Business Objects, Click on File...Send To...Users. This will bring up a Send box.
4. Click on the To button under Send To. This will bring up a list of Business Objects users and groups. The groups are presented
first and then the individual users.
5. Click on the list.
6. If you type a "B" that will take you down the list to the first "b" which is the Bob group.
7. Using the scroll bar on the right side, you can move down the list of users. I am Bob.
8. Double click on "Bob" and that will add me to the Document Recipients.
9. Click "OK". This will take you back to the Send box.
10. Click "OK" on the Send box.
11. The computer will think for a second and then a box will pop up saying "Export was successful".
12. Click "OK".
13. You'll be back in Business Objects with your report. You can then close Business Objects.
Bob - Thu Dec 19, 2002 10:18 am
Post subject: Issue creating User Defined Objects for a universe?
I can't create user defined objects for a particular universe. I can create them for other universes, so it's not a permission thing.
Any idea what's happening?

Sure! BusinessObjects keeps all of the user defined objects (UDO's) in a particular file. This file has the same name as the
short name for the universe, with the file type of UDO. For example, the short name (file name) for Island Resorts Marketing is
BEACH.UNV. There will be a file named BEACH.UDO that contains the UDO's for that universe.

However, sometimes - generally when the first UDO is being created - BusinessObjects has a problem accessing that file. If you
check and see if there is a zero-byte file for your UDO's for that universe, you should delete it. Once you've done that, you will
generally be able to go back into BusinessObjects and create User Defined Objects for that universe.

This never seems to be a problem except for the very first object. Once that first object has been created, you'll never have a zero-
byte file from that point forward.
Cindy Clayton - Sat Apr 12, 2003 5:04 pm
Post subject: Two data providers, show only data common to both...
How can I make a table from two data providers and only show data common to both?

Once they are linked, each object of linked data providers contains ALL of the values from BOTH queries. If you want to
isolate the display to show only records that are in both queries, you need to filter for non-null values from some other non-linked
value.

For example, assume you have measure M1 from query 1, and measure M2 from query 2. Measures work the best, but detail
object can be used also. You need to create a custom filter (not a pick list) using the following steps.

1. Click on M1
2. Click on Format + Filters from the menu. Do NOT use the filter toolbar button.
3. Click on Add, and select M1
4. Click Define, and enter the following expression:

= Not (IsNull(<M1>))

Repeat for measure M2. Now you will only see rows that have entries from both queries.
Cindy Clayton - Sat Apr 12, 2003 5:18 pm
Post subject: Troubleshooting Unhandled Exception Errors

February 8, 2011---5:12 a2/p2


Page 42 of 59
The Unhandled Exception Error (C0000000005) is caused by a number of different things. It seems to be a kind of catch all for
those errors that BO doesn't have a more specific error message for. You can upgrade to higher service packs to get this message
less often but it still occurs even within 5.1.5. Here are a number of causes and potential resolutions.

1. Part of the Business Objects NT profile becoming corrupt.


Remove the following registry key:

Go to registry key HKEY_CURRENT_SOFTWARE/Software/Business Objects/BusinessObjects/5.0/USERNAME User Prefs

Something under here becomes corrupt. This can happen in many circumstances, but in particular where a low spec machine (e.g.
64Mb - this should ring alarm bells) is trying to open a 'large' report - sometimes as little as a couple of Mb. When USERNAME
signs on to BO again, the key is recreated with the correct values.

2. Refreshing a report.
In fact, the refreshing completes and you see the message 'Disconnecting...'. This is BO, signing out from the database which it
has been getting data from - normally you wouldn't see this unless BO is going slow. The fact that you see this, then get the bug is
again a PC resource problem. Try it on a faster better specified machine to prove this.

Tidy up the report, remove unused variables, formulas as well as objects from the different queries. Encourage the user to purge
the report, so when they pick it up next time the PC doesn't use much resource opening it. Sound them out on scheduling the
report and getting the final result sent to them.

3. Importing universes
Another reason for C0000005 is a bug specific to the version of BO we have, 5.1.2. This is the problem with importing universes.
Basically, each changed version of the universe has a counter which is incremented each time you save and export. Something
goes wrong with this counter so BO is not happy to get the new universe. Mostly this is solved by deleting the existing universe
from the C:\ drive and then forcing and import. There is a fix (which I have never got to work) which is to import and export
twice. Don't forget about Tools/Universe - you can try and force an import from here. This was supposed to be fixed in 5.1.3.

4. An old or corrupt dll


If you look at the information given when you get the unhandled exception error there is a bit of hex and references to a bunch of
dlls. Occasionally, one of those dlls is a duff version - try tracking that down. Also, could have problems with duplicate version of
dlls, same file, e.g. ociw32.dll in more than one directory.

5. Missing default printer


Sometimes the absence of any default print driver can lead to this error (at least up to ver 5.1.7), when Business Objects is
rendering some graphics. As a remedy install a regular printer as your default printer (even if you do not have any physical
printer).

6. Miscellaneous resolutions
Try a full reinstallation of BO. i.e. deinstall, make sure no trace of files, folders and registry entries before reinstalling. Reduce the
graphics acceleration level via control panel - not a problem on this site, but worth knowing about.

Check out this thread as well.


Cindy Clayton - Sat Apr 12, 2003 5:24 pm
Post subject: 9 ways to get data to Excel...
What are the available methods and their associated advantages/disadvantages to get BO data/tables/graphs into an Excel
sheet ?

1. In BO: Edit-> CopyAll ; in Excel: Paste Special -> text


Advantage: retains sections, filters, groupings, formula/variable results
Disadvantage: Colours are lost, no export of graphs
2. In Bo Data -> View Data -> Results tab: Export -> File Format: MSExcel
Advantage: directly creates an excel file, exports whole datacube
Disadvantage: loses all formatting and calculations
3. In BO: Save As .txt ; In Excel: Open created .txt file;
Advantage: retains formatting (sections, filters, groupings) and formula/variable results.
Disadvantage: loses colours and graphs, two-step procedure, need to re-do for each report in the BO document
4. In BO: Save As HTML; In Excel: Open created HTML file;
Advantage: only mehtod that retains all formatting and calculations incl. graphs, saves all reports in the BO document in one step;

February 8, 2011---5:12 a2/p2


Page 43 of 59

Disadvantage: two-step procedure; creates the HTML files in a sub-folder structure


5. In BO: click exactly on border of a table -> Copy; in Excel: Paste;
Outcome: pastes static image file of that particular table into Excel / Powerpoint etc.
6. In BO: Edit -> CopyAll; In Excel: Paste Special ->Picteue (Enhanced Metafile).
Outcome: Copies the whole report as picture into Excel / Powerpoint etc.
7. In BO: use the available BO_VBA methods DP.ConvertTo() or Report.ExportAs() - for Advanced Users
8. Use the 'Copy to DDE' option (Data-> View Data -> results Tab -> Export; in Excel: Paste Special -> Paste Link)) to
dynamically update the datacube results in Excel
9. Embed a BO report by calling it in Excel via Insert-> Object -> Create from File (Mark Option 'Link to file'); Disadv.: not very
reliable
in your worksheet, highlight the first cell, and run the macro. It will go down the column until it reaches a blank cell replacing
1234 with ="1234". This data will be recognized as character data when the Excel data is imported into BusinessObjects.

This is the method that I use for Excel personal data providers, and at the risk of jinxing myself, it never fails:
Instead of using a "live" Excel file to build the data provider, create a sample file. Same column headings, but use dummy data.

Put alpha characters in the columns you want to be alpha, numerics in numeric, and so forth. Maybe 20 rows, but every row the
same. It's usually columns that have ambiguous data (could be alpha, could be numeric) that confuse BusObj.

After creating the data provider, you can now put "live" data in the Excel file, and the definitions will "stick" from now on.
Is it possible to
make a copy of a data provider in the same or in a new document?

The current versions of BusinessObjects (up to and including version 6.0.0) do not include this functionality. However, we do
have some code on this site which will allow you to achieve this. See here for details.

What about 6.1.x?

In 6.1a (or later) if you already have 1 data provider and want to create a similar second data provider then you can do the
following: Go to Data > New Data Provider in the menu. Then on the options displayed select "Use an existing query to build a
new one". A list showing all the available data providers is displayed. You can select the one which you want and click OK and a
similar new data provider is created.
Cindy Clayton - Tue Jun 17, 2003 8:48 pm
Post subject: Re: FAQ: Reporter
Why do I get a Syntax Error (DMB0007) when I try to Sum(<Sales>) Where (<Year> > 2000)?

The syntax of WHERE Clause is:


measure Where (dimension = (number or character string or date, dimension = ...))

This means that the WHERE Clause in Business Objects Reporter only allows the "=" operator, and the right side of the equation
has to be a constant as well (and not another report variable etc.).

For example:
Code:
Sum(<Sales>) Where (<Year> = 2000)

will work

Work around for original problem:


Create another local report variable "VAR Flag Is Year greater than 2000" defined as:
Code:
= (<Year> > 2000)

This will be a boolean variable returning 1 or 0.

February 8, 2011---5:12 a2/p2


Page 44 of 59
Make sure that the universe object <Year> is of Data Type Number.

Now modify your original formula to use:


Code:
Sum(<Sales>) Where (<VAR Flag Is Year greater than 2000> = 1)
Cindy Clayton - Sun Jul 13, 2003 1:20 pm
Post subject: How can I supress the 'No Data To Fetch' message?
How can I supress the 'No Data To Fetch' message?

There are multiple methods of supressing the 'No Data To Fetch' message.

Programmatically...
If you copy this code into the ThisDocument module, it should work. To implement the code, you will need to have your Report
which gives you the No Data to fetch message open. Click on Alt + F11, and the Visual Basic Editor will open. On the left hand
side you should see a list of all the documents you have open. Under the name of the document which gives you the message you
will see a icon called ThisDocument. Double click on it and on the main window, a blank sheet should appear. It not only
suppresses the "No Data to Fetch..." message, but any prompts and so forth are also suppressed. It even turns off the hourglass
cursor, so it can be confusing to the user.

Code:
Private Sub Document_BeforeRefresh(Cancel As Boolean)
Application.Interactive = False
End Sub

Private Sub Document_AfterRefresh()


Application.Interactive = True
End Sub

Note that this code is executed only when a full refresh is performed. If you run queries individually (from the query panel or
Data Manager) the above events are not triggered.

By creating a union query...


One trick used to get around this problem is to create a class of "report objects" in the universe consisting of blanks and zeroes not
attached to any table. Also create at least one of these objects that references a dummy table such as SYSDUMMY1 in DB2 (v5
and higher) or DUAL in Oracle. The objects that don't reference a table will not parse in Designer, but they work fine as long as at
least one object in the query does reference a table.

You can then take a report where you don't want to see the "No data to fetch" message and create a union query using the blanks,
zeroes and the object referencing the dummy table. This will guarantee that at least one row will be returned by the query. The
zeroes added to numeric columns will not influence the result. Create a report filter to hide the union row. This technique can be
used for long-running reports that contain multiple data providers where processing should not stop if one of the queries does not
return data.

Using a dummy table and contexts...

The way to get the No Data to Fetch message to disappear is to put a dummy table in your database with a single row with a
single column with a value of 1 or use a system table such as Oracle's dual table. In your universe, add your dummy table as a
class with a single object. Put a self-join on the dummy table. In the object definition put in the where clause that the column
equals 1, so that the value will always be found by the sql. Put the self join in a separate context. It should be the only join in the
context. Do not include the join in any of your other contexts.

Include the dummy object in your result set in your dataprovider when you don't want the No Data to Fetch message to appear.
The dummy object in its own context will cause B/O to create two datacubes for the query because two different contexts are
used. Because of the self-join always being true you will always get some result. Just hide or delete the dummy column in your
report.

February 8, 2011---5:12 a2/p2


Page 45 of 59
Displaying a friendly user message if no rows are returned...
If you simply wish to display a friendly message on the report when no rows are retrieved, check here for one method.
Cindy Clayton - Sun Jul 13, 2003 2:00 pm
Post subject: How do I make an object that selects the current date?
How do I make an object that selects the current date?

Create an object in Designer that uses your databases' method of selecting the current date. In Oracle, your object would select
'sysdate'. The object will not be attached to any table and as a result will not parse successfully. Never fear . It will work when
combined with other valid objects attached to tables.
Cindy Clayton - Sun Jul 13, 2003 2:09 pm
Post subject: What is synchronization?
What is synchronization?

Synchronization happens when there are no (or not enough) common dimensions in each query. The desired result, when
running queries across multiple contexts, is a join not a synchronization operation. You can find out the exact operation being
performed by looking at the SQL from the query panel, you will see a number of "folders" on the left side of the SQL window,
and at the top, the operation used to combine them. If you see "synchronization" then your queries don't have enough in common.

When does BO "Synchronize"?


Rule of thumb: When the Data provider spans 2 or more contexts, and some dimensions do not exist in every context used.

Note (by Andreas, Feb 2008):


Consider using the universe parameter JOIN_BY_SQL (available since BusinessObjects XI R2), if a data provider generates
multiple SQL statements, whose microcubes are "joined" to push down the merging of the microcubes from the BOE server to the
database server/DBMS.
Cindy Clayton - Mon Jul 14, 2003 7:36 pm
Post subject: How and when can I point a dataprovider to a new universe?
Is it possible to point a dataprovider from one universe to another?

Yes it is possible. In order to do so, the target universe must have the same class and object name structure as the source
universe. BusinessObjects uses class name and object name when pointing dataproviders from one universe to another.

Instructions submitted by beloved BOB member Andreas...

You can change the universe a data provider is pointing to by going to BO Reporter, menu Data| View Data..., in the window
"Data View" select your data provider from the left pane and switch to tab "Definition". Notice the entry under Universe, click on
the "..." button to display the available universes (universes your BO user ID has been granted access to via BO Supervisor). Note
that the current universe that the data provider is pointing to is not listed in the Window "Change Universe".
Now select the new universe from the list you want the data provider to use, select OK and save the BO document. Repeat the
steps for every single data provider.

Possible problem:
The universe that a data provider is based upon has already been removed (your access to the universe has been denied, or the
universe has been renamed or deleted). In this case if you try to point the data provider to a different universe you might get the
error message "Cannot find the 'UniverseName' universe. DA0011".

Solution:
Ask the BO Supervisor or a BO Designer to re-point the data provider to another universe (they might have a copy of the old
universe or they might still have access to the old universe).

Do NOT try to open the BO document with a text editor and modifying it in the text editor, because this will most likely lead to a
corruption of the BO document.

Advice:
Always re-point all your data providers of all your documents to the new universe BEFORE you remove/re-name any existing
universe used by data providers.
Cindy Clayton - Mon Jul 14, 2003 7:40 pm
Post subject: Can I sequentially number report pages across all tabs.

February 8, 2011---5:12 a2/p2


Page 46 of 59
Can I sequentially number report pages across all tabs?
Yes.
Scott Bowers came up with this programmatic solution...

First, create a variable for each tab that is named exactly the same as the tab name. Then, use this code:
Code:
Sub PageNumberTabs()
PageNum = 0
For i = 1 To ActiveDocument.Reports.Count
If i <> 1 Then
DocumentVariables.Item(ActiveDocument.Reports.Item(i).Name).Formula = "= " & Chr(34) & "Page " &
Chr(34) & " & FormatNumber (Page() + " & PageNum & ", ""#"")"
Else
DocumentVariables.Item(ActiveDocument.Reports.Item(i).Name).Formula = "= " & Chr(34) & "Page " &
Chr(34) & " & FormatNumber (Page() , ""#"")"
End If

ActiveReport.ForceCompute

PageNum = PageNum + ActiveDocument.Reports(i).NumberOfPages

Next i
End Sub
Have this called from the afterrefresh() event. It has been tested it and it numbers all the tabs correctly. Even if you move the tabs
around, there are no code changes that have to occur.

Here is another version of the code...


Cindy Clayton - Mon Jul 14, 2003 7:47 pm
Post subject: How can I calculate the number of hours between two dates?
How can I calculate the number of hours between two dates?

The best way to do it (and the fastest) is to do it in the database. If you simply subtract the two days, you will get a number in
the format D.T, where "D" is the number of days, and "T" is the fraction of days in decimal form. In other words, day 2 and noon
minus day 1 at midnight will yield 1.5 as the result.

Take this number and multiply by 24, that gives you the number of hours. Take the decimal portion of that and divide by 60 and
you get the number of minutes. So if you have 1.5 (earlier example) and multiply by 24 you get 36 hours and 0 minutes.
Cindy Clayton - Mon Jul 14, 2003 7:59 pm
Post subject: How can I open a report that is corrupt?
I had a power outage and now BO is telling me that I cannot open my report because it is corrupt. How can I save my work?

Search your computer for a temp file saved at the time of the outage. The file may not have a name anything like the original
filename. If you can locate this file, it should open and contain the work you had saved prior to the outage. Read this thread for
more detailed info...
Anita Craig - Fri Jun 25, 2004 6:41 pm
Post subject: Difference between Full-Client Reporter and ZABO (Zero-Admin
What is the difference between Full-Client Reporter and ZABO (Zero-Admin BusinessObjects)?

The highlights:

1. Installation is done via InfoView, so no workstation by workstation installation is needed.

2. As far as reporting functionality, ZABO and full-client are identical, with the exception that ZABO cannot use either personal
connections nor FreeHand SQL.

3.) One difference is database connectivity. With ZABO, all database connections are managed by the ZABO/WebI server. With
full-client, database middleware and related configuration is on each workstation.

February 8, 2011---5:12 a2/p2


Page 47 of 59

So, Full-Client Reporter is a "2-tier" tool -- the Reporter module sends the query to the database, and the results are brought right
back to your computer.
Reporter <--> Database

ZABO is a "3-tier" tool -- the ZABO Reporter module formulates the query, and sends it to the ZABO/WebI server, which then
sends the query to the database (using the database middleware and configuration on the server) -- the ZABO/WebI server
receives the data cube back -- and then forwards the data cube to the ZABO client.
ZABO Reporter <--> WebI Server <--> Database

4.) Another difference is the installation.

With Full-Client Reporter, someone has to install/upgrade each individual workstation.

With ZABO Reporter, the initial installation is done by logging in to the WebI server (via Infoview) -- and setting the WebI
options to edit full-client documents with BusinessObjects. Then, the first time you try to build a query, or edit an existing one in
the repositoy -- the WebI/ZABO server launches the installation of a mini version of the Reporter module on the client computer.

Afterwards, for upgrades, only the WebI/ZABO server is updated directly. Users need to log into WebI via Infoview, and
create/edit a full-client document -- and ZABO will detect that an upgrade is needed -- and will launch the upgrade.
Dave Rathbun - Mon Aug 02, 2004 4:03 pm
Post subject: Re: FAQ: Reporter
How can I include data for all months in a crosstab, even if a particular month has no data?

One way to do this is to create a second data provider using only the months. Then link the second data provider with the first
data provider. Use the month column from the second data provider in the cross tab. This should bring in all months even if there
were no data for that month. However this technique does not work if you have sections in your report.
Dave Rathbun - Wed Aug 11, 2004 10:36 pm
Post subject: How do I migrate between repositories?
How do I migrate documents between repositories?

Note (by Andreas, Feb 2008):


For BusinessObjects XI R2 or later use the import wizard, a tool that comes with XI R2 to promote BI content (such as reports,
universes, universe connections, user groups, ACLs, etc.) from DEV --> TEST--> PROD.
If you are dealing with Performance Management you must use the PMDT (Performance Management Deployment Tool) in
addition to the import wizard.

-------------------------------

Steve Krandel describes this process the best (BusObjects version 5.x/6.x):

Moving the universe:

1. Login to Designer using the BOMain key for your QA repository


2. Import the universe you wish to migrate. Change the connection of the universe to a shared connection.
3. Go to File > Save As. Save the universe in this folder: C:\Program Files\Business Objects\BusinessObjects 5.0\Universe (Note:
There may or may not be another folder named 'Universe', it is important to save the universe in the above referenced location as
this will release the security permissions)
4. Go to Tools > Login As. Login using the BOMain key for your Prod repository.
5. Go to File > Open. Open the copy of the universe that you saved in step 3.
6. Go to File > Parameters. Select a secured connection for your data source.
7. Go to File > Save
8. Go to File > Export

Moving the report(s):

1. Login to Reporter using the BOMain key for your QA repository


2. Go to File > Retrieve from > Corporate Documents
3. Select the report you want to move, click retrieve.

February 8, 2011---5:12 a2/p2


Page 48 of 59
4. Go to File > Save As. You can use the default User Docs folder, or any folder of your choice.
5. Make sure that you check the 'Save for all users' option, then save the report.
6. Go to Tools> Login As
7. Login using the BOMain key for your production repository.
8. Go to File > Open and select the report that you saved in step 4 above.
9. Go to Data > View Data (or click on the "Cube" button in your toolbars)
10. Click on the Definition tab.
11. Click on the button with three dots next to the universe name.
12. Select the universe that you moved in the universe migration steps above. (This is also the same process you would do if you
want to change universes for any document).
13. Go to File > Save.
14. Go to File > Publish To > Corporate Documents

Here are some shortcuts to the Moving Reports steps above as suggested by many of the people from the forum:

Open document and do Save As and use Save for all users. Log into the second repository and Publish the document. When you
open the report it will automatically switch itself over to a universe with the same name in the new repository. WebI reports
apparently work the same way if you save them as personal documents first.

The only caveat to this is the original universe from repository "A" needs to be deleted from your local directory. Otherwise,
when you switch BOMain key to point to repo "B" and open the report after doing a "Save for all Users" you will get the error "A
connection required to refresh this document is unavailable". This is because it still recognizes the original universe (or so it
would seem). When you delete all local instances, it is forced to import the universe from Repo "B" and therefor does the
seamless switch. This is of course only if your universe short names match.

Here are some important considerations and issues encountered when you migrate documents (or universes) between repositories
(as posted by our Forum Moderators):

1. Moving repositories (from one database to another) is easy for everything but documents. For some databases (Oracle to SQL
Server) it seems to be pretty straightforward. For Sybase to anything, I think the security and universe domains will be fine. The
document domains likely won't work. Sybase treats BLOBs differently that Oracle. They simply do not convert correctly. I'd
make sure you do a BIG test first.

2. If you cannot change the repository connection from secured to shared/personal or visa versa as this box is disabled, it is
because that is not possible. You must create a new shared connection. You need to make sure that you have rights to do this from
the Supervisor Module.

3. After moving the updated universe to production first (if needed), open each document in production, open each data provider
and click "save and close," before finally saving the document and publishing to corporate documents. The "save and close" is the
only we have found to guarantee that the connection information is updated properly.

4. After you created the new repository and imported the old info -- make sure you go into the new repository and change all of
the connnections to point to the new repository domains.
Chris Pohl - Tue Aug 17, 2004 12:14 pm
Post subject: Re: Converting Excel Content to Text
Why is my report so slow?

Submitted by kmahler, additional comments by Andreas (July 2009).

What makes up the total time a report runs from hitting the Refresh button to being displayed:
1. Query execution time (database side)
2. Transferring results across the network to the client/web browser (network bandwidth & latency)
3. Computing local report variables, formulas, local report filters, alerters, etc. within the report (BOE server/ DesktopIntelligence
workstation)
4. Rendering the page (page layout, page margins, page numbers, etc.)

---------------------------------------------
1. Optimizing Query Performance (tuning universes and databases):

There are a number of things you can do to speed up your query. The first things I will do is to review your universe to minimize

February 8, 2011---5:12 a2/p2


Page 49 of 59
the un-necessary joins, using aggregate awareness, and shortcut joins if you can. Creating appropriate indexes definitely will
speed up the query performance also. Make sure all of your measure objects have aggregrate functions.

Your Oracle database may be using either "Cost based" or "Rule Based" optimization. You need to find out which your system is
using. If your system is using Cost Based, (which is the more recent offering), you must make sure the "Statistics" are up to date.
Oracle under rule based oprimization uses row counts etc to determine the fastest path to resolve queries. Once you are happy that
the stats are up to date you can use "Hints" to alter the approach the db might take.
If your system is using Rule Based optimization (old technology!), the order of the the tables in the "From" clause are important,
altering these by manually assigning row counts in designer is how you do this.

In particular for Oracle:


If you are using a star-schema for your data mart turn on the STAR TRANSFORMATION option in Oracle, prefer bitmap
indexes for your dimension tables. Check also for your block size and if your (fact) tables are fragmented (tablespace).

For large data volumes consider partitioning your fact table for example by time dimension (Year, Month), country dimension,
etc..

If you are able to look at the Plan of execution, this may give you an insight on how you can make improvements. Most of DBMS
(Oracle, IBM UDB, etc.) will have some sort of utility to find out what index the SQL statement are using, what execution path
they go through. You might need to use this kind of tool(s) to find out what's wrong with the SQL first. Investigate your SQL
statement in SQL Plus (Oracle) or a similar tool. In a past job, I was given the task of performance tuning SQL statements. Minor
changes to the SQL can have tremendous impacts on retrieval times. Just because a statement is using an index does not mean that
it is using a good index. Especially investigate selected objects that are also used in table joins. Which table you are pulling the
object from can make a big difference but still yeild the same results.
You must have someone do an Explain Plan on your query. The result will provide a starting point for your performance tuning.
If you have the knowledge to do this yourself, I recommend using TOAD, SQL Station, DBArtisan, etc. These tools will also let
you monitor Server Session statistics to see what your Server is doing while your slow query is running.

Consider playing with the value of the array fetch size on your universe/database connection (see also 2.). The optimum value is
different for everyone.

Consider building summary/aggregate tables (in the database) to speed up queries, for example: Sales transaction precaculated at
the granularity of Month (instead of daily sales transactions). As a rule of thumb your summary table should contain 10% or less
rows than your original fact table to produce measurable performance gains.
To utilize these summary tables use the Query Rewrite Option (Oracle, etc.), which is totally transparent to BusinessObjects or if
needed use @Aggregate_Aware in the universe/Designer.

Universe Design
- Make sure all your universe measures are using a SQL aggregate function (as a rule of thumb) to reduce the size of your result
set by aggregating the data at the database level (instead of projecting the data in your report). Note: SQL aggregation and
projection for measures (set via Designer) are two very different things.
- Evaluate shortcut joins or Index Awareness.
- Consider using the universe parameter JOIN_BY_SQL (available since XI R2) (see B) below) if a data provider generates
multiple SQL statements, whose microcubes are "joined".

2. Network performance
Make sure you are using a fast network connection with appropriate bandwidth (between database/DBMS hosting your source
data/data mart and the BOE server/DesktopIntelligence workstation), check for latency, required hops, and packet loss (if any)
from the database to the BOE server, using the command PING or NETSTAT for example.
Again, adjust the Array Fetch Size Parameter (universe connection via Designer, see also 1.). Rule of thumb: if your network is
reliable (no packet loss) choose a higher Array Fetch Size.

3. Optimizing Computation Time (Reporter):

Suggestions:
- Reduce formulas/local report variables and complex filters (reporter side), etc.
- Use variables instead of formulas
- Remove Auto-sizing (auto-height/width) if possible

- Look at drilling and applying drill filters to your data provider

February 8, 2011---5:12 a2/p2


Page 50 of 59
- Parameterize your documents using Prompts
- Limit the amount of data, if you can limit rows further that will help

- Crosstabs and complex formulas will slow it down


- Complex filters, breaks, everything will slow it down a little
- Charts can slow the report tabs down

Here are some other ideas:

A) Is the result set of data in the report very large? Perhaps you should add more conditions/prompts to your query to reduce the
number of records returned from the database.
Do not expect a report containing 100ks of rows to be fast, as it has to be rendered as well.

B) Is the report very complicated, eg. does it contain several data providers/queries or many calculations? You might try to see if
you can reduce the complexity of the report. Data providsers are executed sequentially, and the merging of the microcubes will
cost performance.
Consider using the universe parameter JOIN_BY_SQL (available since XI R2), if a data provider generates multiple SQL
statements, whose microcubes are "joined".

C) Is the query on the database side taking a long time to execute? Then you should work with your DBA to see what can be done
on the database side to optimize query performance (show the generated SQL to your DBA).

D) Consider optimizing your BOE cluster architecture (XI R2): For example configuring additional Webi Report servers, adding
cache, etc.
Anita Craig - Thu Aug 03, 2006 6:41 pm
Post subject: Is it Possible to Query the Repository & Build Reports?
Is it Possible to Query the BusinessObjects Repository and Build Reports?

Please have a look at these 2 universes from BOB's download section:


- universe 1
- universe 2
Anita Craig - Mon Aug 07, 2006 4:26 pm
Post subject: Wildcard Character in a wildcard search
How can I include a Wildcard Character in a wildcard search when I use "Matches Pattern"?

Member DaveO had asked:


DaveO wrote:
I need to carry out a Matches Pattern (wildcard search) for a percentage sign (%) within a string which is proving to
be a bit harder than I first thought. Amongst other things, I've tried the following:

<Object> Matches Pattern %%% (which retrieves everything)


<Object> Matches Pattern %'%'% (which looks for the single quotes in a string as well as %)
<Object> Matches Pattern _%_ (which again, retrieves everything)

Todd Hamrick suggested this:

Todd Hamrick wrote:


One trick I stumbled across a while back is if you want to search for a % or an _ underscore in the data, you can use
square brackets around those values when you are using matches pattern and wildcards. For example, Customer
Name Matches Pattern %[%]% will return all customers with a % in their name. I hope this helps.
Anita Craig - Thu May 10, 2007 7:30 pm
Post subject: Re: FAQ: Reporter
Why can't I filter on a Report Aggregate?

Answered by Dave Rathbun:

It's done that way to prevent an infinite loop. You can filter on the report level, you just can't filter on an aggregate. That's because

February 8, 2011---5:12 a2/p2


Page 51 of 59
the filters define the aggregate, not the other way around.

Process:
1. Return data to the cube
2. Apply filter
3. Display data
4. Calculate aggregates

If you tried to apply a filter after displaying the aggregates, you would loop back to step 2 and have to recalculate your aggregate.
At which point you would have to loop back to step 2 and apply your filter all over again.

One work-around is to use the "rank as a filter" trick that has been documented many times on the listserv / Bob. Or you can do a
sub-query so that only the values you are actually interested in are returned. Or - as you suggest - BusObj could rewrite their
report engine to be smart enough to avoid the loop and provide this feature. But that will take a while.
BO_Chief - Tue Aug 05, 2008 5:26 pm
Post subject: Sol:How to show and hide reports based on user selection ?
How to show and hide reports based on user selection.
For Example : You have four reports TABULAR, PIE, DETAIL, CROSS TAB and user wants to see only one report in a single
tab on its selection.

Solution:
1. Create a Prompt for the user input in universe.
2. Generate your report query and execute it.
3. Create different tables(blocks) in the report to display different reports. Here in your case you want to display 4 reports, so
you want 4 table blocks.
4. Create one condition based on the User response for Table 1
5. Add the condition to the Table 1.
6. Repeat Steps 4 & 5 for other report Tables.

1. If possible create a prompt for this report in universe like below:

Code:
=@prompt('Select your report',{'TABULAR','PIE','DETAIL','CROSS TAB'},,MONO,FREE)

2. Generate your report in DeskI using the above prompt condition

3. Now, Create your report with 4 different report tables. (As you say: Table 1 displays Tabular, Table 2 displays PIE, Table 3
displays DETAIL, Table 4 displays CROSS tab)

4. Lets say user selects option 'TABULAR', For this you need a condition to show Table 1 and hide other tables. So lets create a
condition to show Table 1 and hide others. The syntax would be:
Code:
=UserResponse("Data Provider Name", "Prompt Text") = "PIE" or UserResponse("Data Provider Name", "Prompt
Text") = "DETAIL" or UserResponse("Data Provider Name", "Prompt Text") = "CROSS TAB"

5. To add the above condition on Table 1, Click Format Table --> Appearnace --> Hide Block --> Click Edit Formula and the
paste the above formula.

Like wise repeat the same for the other tables.

Hope that helps.

February 8, 2011---5:12 a2/p2


Page 52 of 59

Semantic Layer / Universe Designer - FAQ: Designer


Bob - Wed Jul 24, 2002 10:15 am
Post subject: FAQ: Designer
Designer FAQ

How should I impose a WHERE clause in my object(s) in the universe?

Is there any way to set up a prompt that will allow a user to select one value, many values, or type 'ALL' for all values in a list?

Now that my LOV lets me use ALL for all values, how do I get the ALL in the list?

I've deleted a universe and I'm in a mess! What do I do now?

How do I migrate universes between repositories?

How do I create cascading or nested prompts?

What is an isolated join and how do I fix it?

How do I increase the number of items I can pick from a list of values?

What is synchronization?

How can I calculate the number of hours between two dates?

Why do all my date lists of values include time and can I get rid of the time portion?

What are stored procedures and how do I use them?

Is there some automated way to populate descriptions for my universe objects?

How do I link universes? Why would I link universes? What are the restrictions? What are the advantages and disadvantages?

I'm confused about connections! What's the difference between secured, personal, shared, full-client, and ZABO connections?

What is a fan trap, why is it a problem, and how do I resolve it?

What is a chasm trap, why is it a problem, and how do I resolve it?

How can I implement row level security?

What functions are included in the Functions list, and can I add more if I want to?

How can I select a table based on the response to a prompt?

Should I use Contexts or Aliases to resolve my loops?

How can I use the system date in a prompt or an object? Why won't they parse?

How can I provide a default value for a prompt? How can I make the prompt default to another object, or a formula like today's
date?

I have a universe and it tells me it's from a different CMS. How can I open it?
Cindy Clayton - Sun Aug 18, 2002 8:21 pm
Post subject: How can I prompt for select one, many, or all values?

February 8, 2011---5:12 a2/p2


Page 53 of 59
Is there any way to set up a prompt that will allow a user to select one value, many values, or type 'ALL' for all values in a list?

Yes. Below is a sample of the syntax required to allow a user to select one, many, or all values from a prompt.

Code:
(@Select(Sales Geography\Country Group) IN @Prompt('Select Country Group or
enter * for all groups','a','Sales Geography\Country Group',multi,free) ) OR
('*' in @Prompt('Select Country Group or enter * for all groups','a','Sales
Geography\Country Group',multi,free))

In the sample, the asterisk is used as the wildcard. The first part of the formula...

Code:
(@Select(Sales Geography\Country) IN @Prompt('Select Country or
enter * for all countries','a','Sales Geography\Country',multi,free) )

works when a user picks one or more values from the list. The second part...

Code:
OR
('*' in @Prompt('Select Country or enter * for all countries','a','Sales
Geography\Country',multi,free))

works when the user selects the asterisk.

If a user selects 'USA', the following statement results...

COUNTRY IN 'USA' OR 'USA' IN '*'

If the user selects the asterisk, the following statement results...

COUNTRY IN '*' OR '*' IN '*'

The IN, combined with 'multi' are the keys to allowing the selection of multiple values from the list.

Here is another example which demonstrates how a prompt of this type can accept multiple wildcards and handle case
sensitivity...

Code:
(PER_JOBS.ATTRIBUTE3 IN @Prompt('Enter Employee Survey Code(s) ("ALL" for
all)','A','Job Information\Add. Job Details Survey Code',multi,free) OR
'ALL' IN @Prompt('Enter Employee Survey Code(s) ("ALL" for all)','A','Job
Information\Add. Job Details Survey Code',multi,free) OR
'All' IN @Prompt('Enter Employee Survey Code(s) ("ALL" for all)','A','Job
Information\Add. Job Details Survey Code',multi,free) OR
'all' IN @Prompt('Enter Employee Survey Code(s) ("ALL" for all)','A','Job
Information\Add. Job Details Survey Code',multi,free) OR
'*' IN @Prompt('Enter Employee Survey Code(s) ("ALL" for all)','A','Job
Information\Add. Job Details Survey Code',multi,free) OR
'%' IN @Prompt('Enter Employee Survey Code(s) ("ALL" for all)','A','Job
Information\Add. Job Details Survey Code',multi,free))
Nick Daniels - Thu Jul 10, 2003 12:27 pm
Post subject: What is an isolated join and how do I fix it?

February 8, 2011---5:12 a2/p2


Page 54 of 59
What is an isolated join and how do I fix it?

An isolated join is one that has not been included in any context in your universe. Once you start using contexts in a universe,
every single join must belong to at least one context. A join can belong to more than one context, but if it doesn't belong to any it
is considered by BusinessObjects to be isolated from the rest of the universe structure.

To understand this add a new table to an existing universe that uses contexts. Create a join between that table and an appropriate
existing table. Now create a new object based upon your new table. Now create a simple query with one object from your new
table and one object from the table you joined to. The result is two bits of synchronised SQL. Why? Because we left our join
isolated, as we forgot to add it into an appropriate context. Go back to the universe and add the join to a suitable context. Now try
your report again
Cindy Clayton - Mon Jul 14, 2003 8:16 pm
Post subject: How do I increase the number of items I can pick from a list
What is the limit on the number of objects I can pick from a list of values and can I increase the limit?

BusinessObjects restricts the number of objects that can be picked from a list of values to '99'. It is possible to increase this
limit by adding a MAX_INLIST_VALUES value to your database prm file. This parameter is not in any driveren.prm file by
default. To use it, you must enter it in the [RDBMS] section under the (GENERAL) subsection. If you do not enter this
parameter, the default value is 99.

Your database has a constraint on the number of values that can be present in an inlist condition. Oracle for example, allows
thousands of values.

Picking values from a list is different than pasting or typing values into a prompt box. If values are pasted or typed in, the
constraint does not apply.

One of our listserv users did some testing with regard to inlist values and had the following to report...

Quote:
I have thoroughly tested this ("this" being max values when using the "in list" operator in a condition) and here is
what I've found out:

1. If you select the values from an LOV, BusObj checks to see if you have set the MAX_INLIST_VALUES
parameter value in your .prm file. If you have, it uses this number to limit how many values you can select. This
number CAN be greater than 256 if your database supports it. Oracle 8 supports up to 1000 values, so I would
assume you could set this value up to 1000 if you use Oracle. (I tried 280 and it worked!).

2. If you select values from an LOV, and you have NOT set the MAX_INLIST_VALUES parameter, BusObj will
limit the number of values to 99.

3. ...and this is what I didn't see documented anywhere!... If you type or cut and paste the values instead of selecting
them from an LOV, the limit is whatever your database allows. It doesn't matter if you have the parameter set or not.
Cindy Clayton - Mon Jul 14, 2003 8:28 pm
Post subject: How can I calculate the number of hours between two dates?
How can I calculate the number of hours between two dates?

The best way to do it (and the fastest) is to do it in the database. If you simply subtract the two days, you will get a number in
the format D.T, where "D" is the number of days, and "T" is the fraction of days in decimal form. In other words, day 2 and noon
minus day 1 at midnight will yield 1.5 as the result.

Take this number and multiply by 24, that gives you the number of hours. Take the decimal portion of that and divide by 60 and
you get the number of minutes. So if you have 1.5 (earlier example) and multiply by 24 you get 36 hours and 0 minutes.
Cindy Clayton - Mon Jul 14, 2003 8:32 pm
Post subject: How can I get rid of the time portion of my dates?
How can I eliminate the time portion from my dates and my date lists of values?

Read this till I have time to summarize for the FAQ's ...

February 8, 2011---5:12 a2/p2


Page 55 of 59
Cindy Clayton - Mon Jul 14, 2003 8:38 pm
Post subject: How can I give my objects descriptions programmatically?
Is there some automated way to populate descriptions for my universe objects?

See here...
MichaelWelter - Tue Jul 15, 2003 11:21 pm
Post subject: How do I create cascading or nested prompts?
How do I create cascading or nested prompts?

Author: Robert Metzker

Let's create a Series of Cascading Prompts for the Island Resort Marketing Universe. We'll simply work our way through the
Resort class for a quick example. All of the prompts will be fairly similar, and I am going under the assumption that everyone has
some Designer Experience.

Let's start at the Highest Level that we'd need a prompt for. That would be the Resort itself, since we need to know what Resorts
we're interested in.
* Edit the List of Values for the Resort object.
* Check the Automatic Refresh Before Use option.
* Click Edit.
* Bring Country into the Conditions and set it to: in list Prompt('What Country are you interested in?')
* Click Save and Close
* Click Apply and edit the next LOV object.

Edit the Service Line and set up the same Prompt on Resort as: in list Prompt('What Resorts are you interested in?')
Again... Save and Close, ensuring that the Automatic Refresh Before Use checkbox is selected then Edit the next.

Service will have: Service Line in Prompt('What Service Lines are you interested in?') with the Automatic Refresh...

--------
Save this Universe and let's generate a report.
--------

Generate a report that pulls in the Country, Service Line and Revenue. Set a prompt on Service Line and apply a prompt as a
condition asking: 'What Service Lines are we tracking?'

Refresh this report.

For the Service Line, click on Values.... A new Prompt should appear, asking about the Services. Again... click the Values button,
and so on... and so forth.

Once you've answered the questions, you only need to hit the Values button when you need to backtrack to another level.
Cindy Clayton - Sat Sep 27, 2003 6:50 pm
Post subject: How can I see 'ALL' in my list of values?
Now that my LOV lets me use ALL for all values, how do I get the ALL in the list?

Author: Dwayne Hoffpauir

There are two approaches - overriding the LOV SQL, and creating a universe object.

Overriding the LOV SQL


1. Press the SQL button in the query panel of the LOV
2. Add the phrase UNION SELECT 'ALL' FROM DUAL or similar dummy table for your particular database. For SQL Server (if
you don't care if the object parses or not) add SELECT xx From xx UNION SELECT 'ALL' (You don't need a FROM table)
3. Click the "Do not generate SQL before running" checkbox.

Universe Object
1. Create a universe object defined as a constant 'ALL'

February 8, 2011---5:12 a2/p2


Page 56 of 59
2. Associate it with the SYS.DUAL or equivalent table so it will parse (optional)
3. Press the combined query button in the query panel of the LOV (defaults to UNION)
4. Include the new universe object.
Cindy Clayton - Tue Jun 01, 2004 8:44 pm
Post subject: Re: How can I prompt for select one, many, or all values?
I've deleted a universe and I'm in a mess! What do I do now?

Keep away from sharp objects . Take a deep cleansing breath and don't panic

First, ask yourself some questions:

Can you get a copy of the universe from the web server?
Can you get a copy from another user or Designer's PC?
Do you have a backup copy in a source control system?
Do you have a repository backup that your DBA could restore to a temporary location? If so you could do the stuff in this post
and import the universe.

Reports will complain if they are unable to find the universe you've deleted. A thorough explanation by digpen is located here.
Cindy Clayton - Tue Jun 01, 2004 9:08 pm
Post subject: Re: FAQ: Designer
What is synchronization?

Synchronization happens when BO creates two queries for you but doesn't really understand how to merge the result sets. Say
you have a product table, an inventory table, and a sales table. You join products to inventory on product_code and place that join
in the inventory context. You join products to sales and place that join in the sales context. Create the product code object from
the product table, the inventory measure from the inventory table, and the sales measure from the sales table. When you create a
report in the query panel, you'll get two JOINED queries. BO understands that it can write a query with inventory and product and
another with sales and product and put them back together by product_code.

If you're getting synchronized queries, you've got messed up contexts, joins not in the proper contexts or objects in the query that
aren't from dimension tables joined to both facts. It is very rarely ever acceptable to have synchronized queries.
MichaelWelter - Wed Jun 23, 2004 11:21 pm
Post subject: How do I migrate universes between repositories?
How do I migrate universes between repositories?

Although it is not advisable to have multiple repositories, sometimes it is necessary. Migrating universes from one repository to
another is not difficult, at least the first time.

Log into Designer, using the Key of the repository that currently contains the universe.
Import the universe.
Click on File - Save As, and, in the Save As dialogue box, check "Save for all users".
Click Save, and then Yes, to overwrite the existing universe.
Log back into Designer, using the Key for the destination repository.
Open the universe, and give it a new connection.
Export the universe.

In subsequent migrations, you will be prompted, during export, if you want to overwrite the existing universe. Click yes.
Dwayne Hoffpauir - Fri Jul 23, 2004 8:10 pm
Post subject: Connection confusion! Secure? Non-Secure? Full-Client? ZABO?
I'm confused about connections! What's the difference between secured, personal, shared, full-client, and ZABO
connections?

Glad you asked.

There are three types of connections:

February 8, 2011---5:12 a2/p2


Page 57 of 59
Secured (Sec): stored in the repository
Personal (Per): stored on the workstation, and usable only by the BusObj user that created it
Shared (Shr): stored on the workstation, but usable by any BusObj user
Next to consider is your method of connecting to the repository:
Full-client (FC) means you are using middleware that is on your workstation
ZABO means the middleware is on the ZABO server
Now lets see how these two sets of distinctions work together (Y=Yes, N=No):
Code:
----Type---
Method Sec Per Shr
FC Y Y Y
ZABO Y N N

Remember that Designer, Supervisor, and Business Query only use the full-client method of connecting. Reporter can use full-
client or ZABO methods. Since the ZABO method cannot use personal or shared connections, it explains why ZABO users can't
use Free-Hand SQL.
Bob - Tue Aug 10, 2004 10:11 am
Post subject: What is a fan trap why is it a problem how can I resolve it?
What is a fan trap, why is it a problem, and how do I resolve it?

Dave Rathbun describes it well in his presentation, ZEN and the ART of Universe Design. Which is located here:
http://www.dagira.com/conference-presentations/
Here is a quick synopsis of Fan Trap from his presentation:

A Fan Trap is a one - many - many relationship. This would happen if you are using a Summary and a Detail table in one query.
Fan Traps can cause numbers to multiply. Business Objects resolves this transparently by using 2 queries. It is resolved
automatically as long as the measure objects have aggregrate functions (query will split in 2). You just need to make sure the
Multiple SQL Statements for Each Measure box is checked in Designer. It is a default setting, so before you turn it off consider
what it is doing.

Another way to solve a Fan Trap comes from the Business Objects web site: [obsolete link removed]

Create an alias for the table containing the initial aggregation, then create a context for the alias table and a context for the
original table. You can then apply the aggregate awareness function to optimize the query. This is the most effective way to solve
the Fan trap problem.

1. Create an alias for the table that is producing the multiplied aggregation.

2. Create a one to one join between the original table and the alias table.

3. Build the object that is causing the aggregation on the alias tables.

4. Define a context for the original table and a context for the alias.

5. Select File>Parameters and click the SQL tab to display the SQL page.

6. Select the Multiple SQL Statements for Each Measure checkbox.

7. Modify the select statement for the columns that are summed so that the columns in the alias table are summed and not the
columns in the original table.

[Edit - updated link to new presentations page at Dagira.com]


Bob - Tue Aug 10, 2004 10:13 am
Post subject: What is a Chasm trap?
What is a chasm trap, why is it a problem, and how do I resolve it?

Business Objects describes it best at this web site: http://tips.businessobjects.com/tips/unvdes/tip/ut001/ut001.htm

February 8, 2011---5:12 a2/p2


Page 58 of 59
The Chasm trap occurs when two "many to one" joins converge on a single table. It is a one - many - one relationship. You will
get incorrect results when the following circumstances exist:

A "many to one to many relationship" exists among three tables in the universe structure. The query includes objects based on two
tables both at the "many" end of their respective joins. There are multiple rows returned for a single dimension.

1. One way to resolve a Chasm Trap use Designer to define a context for each table at the "many" end of the joins. This creates
two SQL statements and two separate tables in Business Objects.

2. Another way to resolve a Chasm Trap is in Designer select the option Multiple SQL Statements for Each Measure from the
Universe Parameters dialog box. (This is a default setting). Only applies to measures. You force the SQL generation engine in
Reporter to generate SQL queries for each measure that appears in the Query panel. You cannot use this solution to generate
multiple SQL statements for dimensions.
Dave Rathbun - Wed Aug 11, 2004 10:28 pm
Post subject: How can I implement row level security?
How can I implement row level security?

How to Implement Row-Level Security

First -- what is Row-Level Security? When you want to specify which rows of data each userid is permitted to retrieve from the
database, based on some column of data, or combination of columns of data -- that is row-level security.

Row-level security can be implemented in BusinessObjects in several possible ways. If you have a tech support login, you can
look at some of the techniques and the pros and cons in Steve Krandel's 2002 International User Conference presentation Using
Designer to Implement Row-Level Security.

Here are some of the ways possible:

1.) By letting the database do it. This is usually the most secure, although for logistic reasons, many sites do not find it feasible.
To make this work, individual logins have to be set up in the database for each user, and those logins need to correlate to the
BusinessObjects login and password. A possible way is to have a security table that is joined to the fact table(s) -- via a view --
and use the view in BusinessObjects. For this to work, the universe connection will need to specify "Use BusinessObjects
username and password". (This has sometimes been called "Advanced Login Strategy" in the past.)

2.) In BusinessObjects Supervisor -- for a given group or user, select the universe. Go to the Rows tab of Universe Properties.
Click the Add button, and select the table to be protected. Enter the appropriate WHERE clause to be imposed. However, only
256 characters of a WHERE clause can be entered in this panel, which many folks find very restrictive.

3.) A workaround to this is to define the WHERE clause in a special object in Designer, and impose that object in Supervisor,
using @WHERE(special_object) for the WHERE clause.

4.) You can impose the security restrictions in Designer, by using self-joins and a maintained lookup table. You might end up
with self-joins along the lines of:
Code:
DataTable.Region in ( Select Region From SecurityLookup Where User = @BOUSER)

Using Designer to Implement Row-Level Security in BOB's Downloads has more information.
Dave Rathbun - Fri Aug 31, 2007 10:00 am
Post subject: Re: FAQ: Designer
How can I use the current system date in an object?

You use a different function for each database. For example, Oracle users would typically use sysdate while Sybase or SQL
Server users would use getdate(). Teradata uses DATE, and DB2 uses CURRENT_DATE. Ask your DBA if you are unsure
which method is appropriate for you.

Ok, so I have done that, but my object does not parse. How can I fix it?

February 8, 2011---5:12 a2/p2


Page 59 of 59

These functions or pseudo-columns do not need to reference a table. Yet when Designer parses these and other objects it will
create a full SQL statement as:
Code:
SELECT object FROM table

When you don't reference a table in your object definition, the SQL is not valid:
Code:
SELECT object FROM

Don't worry about it, the object will still work in a query as long as you include at least one "real" object with it. Do not be
tempted to include the DUAL table (Oracle specific tip) as you will add more problems to the universe than you solve.

What about other databases?

See the Designer Database Specific FAQ entry here.


Anita Craig - Fri May 23, 2008 5:46 pm
Post subject: Re: FAQ: Designer
How should I impose a WHERE clause on my object(s) in the Universe?

This question comes up very often, and the answer is that you usually don't want to do this if there's any chance that more than
one object will have a WHERE clause on the same database column -- because the conflicting WHERE clauses will be ANDed
together, causing you to get No Results.

From a recent post by Dwayne Hoffpauir, where a person wanted 10 objects on the same database column each with different
WHERE clauses:

Dwayne Hoffpauir wrote:


Use a CASE syntax on the Select portion instead. Something like this:
Code:
CASE Table1.Column2 = 'String1' THEN Table1.Column1 END

Note that NULL will be returned if the condition is not met. You can specify an ELSE if you like. Assuming
Table1.Column1 is numeric:
Code:
CASE Table1.Column2 = 'String1' THEN Table1.Column1 ELSE 0 END

Of course, this specific syntax only works if your particular database's SQL supports the CASE syntax. If it doesn't, then you
should work with your DBA or co-workers to identify which alternate syntax to use instead.
Dave Rathbun - Tue Jul 15, 2008 9:23 pm
Post subject: Re: What is an isolated join and how do I fix it?
How can I provide a default value for a prompt?

Using standard code that is portable for all products you cannot do this as of XI 3.0. The standard prompt syntax via the
@Prompt() function does not provide for a default value option. If your universe will only be used in a web environment then you
can opt to make use of the extended syntax which will allow you to specify a prompt order, whether the prompt is persistent or
not, and even include a default value. Note that these objects will probably not parse successfully as Designer is not aware of the
extended syntax.

Okay, so if I use the extended syntax, how can I make the prompt default to another object? or a formula, like today's date?

You can't. The extended syntax only supports having a constant value as a default. You cannot use a formula or a reference
to another object.

February 8, 2011---5:12 a2/p2

You might also like