Business Objects Interview Questions
1. What is ‘business objects’?
BUSINESS OBJECTS 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 BUSINESS OBJECTS document.
It is an OLAP tool that high-level management can use as a part of a Decision Support Systems (DSS).
BUSINESS OBJECTS 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.
2. What are the various Business Objects products?
User Module, Designer, Supervisor, Auditor, Set Analyzer, Info View
(Web Intelligence), Business Objects Software Development Kit (SDK),
Broadcast Agent etc.
3. 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.
4. How many modes are there in BO & Designer
There are 2 types: Enterprise Mode, Workgroup
5. What are Enterprise and Work group 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. Work group 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.
6. How do you save a Business Objects document which can be accessed by all users in work group mode?
If we want to make a universe accessible to another designer working
without a repository, then click the “Save For All Users” check box in
the Save as universe dialog box.
7. What is online and offline mode?
If you want a universe to be accessible in offline mode, you must firstly ensure that the
universe has been opened at least once in online mode, and that it
has been saved with the Save for All Users check box selected in the
Save Universe As box. To make Offline mode available:
Mode Description
Online Default mode of operation for Designer when you are working in an
environment with a repository.
Offline Mode of operation for Designer when you are not connected to a repository.
• Only available if you have previously connected in online mode.
• In offline mode you can open universes that are stored on your
local computer only if those universes have been opened previously in
online mode.
• You can access databases where the connection and security
information are stored on your local machine (personnel and shared
connections.)
• You can use offline mode when you do not have access to the
repository, for example when working with a laptop off site, or when the
network is not available.
8. What is a universe?
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.
9. Can a Universe connect to multiple databases?
NO
10. 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.
11. 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.
12. What are the types of connections we use when connecting to the database?
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.
13. What are different types of joins available in Universe design? Explain each
Equi or Inner or Natural or Simple join: is 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.
Self-Join: join a table to itself i.e create a self-join to find
rows in a table that have values in common with other rows in the same
table.
Theta or Non-Equi join: links tables based on a relationship other
than equality between two columns. 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.
Outer join: links two tables, one of which has rows that do not match those in the common column of the other table.
Left Outer Join: All records from first table with matching rows from second.
Right Outer Join: All records from second-named table with matching rows from left.
Full outer join: All rows in all joined tables are included, whether they are matched or not.
Shortcut join: can be used in schemas containing redundant join paths
leading to the same result, regardless of direction. Improves SQL
performance.
14. 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.
15. 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.
16. 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.
17. 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.
18. 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.
19. 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
20. What us 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
21. How to create hierarchies in BO?
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.
22. Can a Universe have more than 1 fact Table?
Yes. Typically a universe can have more than 1 fact table and numerous aggregated tables.
23. What are Contexts?
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.
24. What are aggregated tables and how would you use it in BO Universe
Aggregate table
Aggregate tables are table which contains summarized data at
different level depending on the need of reports. Imagine a fact table
which contains granular data up to minute’s transaction. Now if you are
developing a reports which has hour, day, week, month, quarter, year
level summaries. Queries to get these summary values will scan millions
of records which would in turn result in poor performance of reports.
One can address this issue by creating aggregate summary table.
Possible problems of using Aggregate table
Aggregate table are good to achieve performance for high level
summery queries. However if there are multiple aggregate tables which
contains summary values then using aggregate table might be an issue.
Consider following example
e.g. you have two aggregate table
Table 1
AggregateID Year Quarter Month Sales Revenue
Table 2
AggregateID Year Quarter Month ServiceType Sales Revenue
Now if you have a requirement wherein one of your report is displays
year wise sales revenue whereas other report is displays Year wise
ServiceType “sales revenue”. How would you tell report to use table1 for
“year wise” “sales revenue” and use table 2 for another report.
Using Aggregate Table in Business Objects
Business Objects provides a wonderful function to use aggregated tables.
Aggregate_aware(). This function determines which aggregate table to use based on the attributes used in the query.
Syntax:
Aggregate_aware(<expression1>,
<expression2>,
—-
—-)
Expression = field or valid SQL expression or calculation
e.g. so formula for sales revenue might be.
Aggregate_aware (table1.salesrevenue,
table2.salesrevenue,
sum(sometable.column)
)
Notice the arrangement of column used in function. It is highest summarized to least summarized.
Now if while creating report if you use only year attribute and sales
revenue. Aggregate_aware will use table1 to get the sales revenue, if
used service type in report It will use table2, in all other cases it
will use sum(sometable.column) which could be a fact table.
Rules to use aggregate_aware
1.If the object is at the same level of aggregation or higher, it is OMPATIBLE with the summary table.
e.g. In above example none of the table contains aggregated value for “Article” so article object will be incompatible.
You can not use aggregate_aware with “Article object”
2.If the object is at a lower level of aggregation, it is INCOMPATIBLE.
3.If the object has nothing to do with the summary table, it is INCOMPATIBLE.
25. 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.
26. 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.
27. 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?
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.
28. What are strategies?
A strategy is a script that automatically extracts structural information from a database or flat file.
29. What are the different types of Strategies?
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 cardinality, 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.
30. 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.
31. 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. Grid lines, 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.
32. What is Join Path Problem?
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.
33. How to add aggregate table in universe in real life scenario?
Decide the reports which are using high aggregates
Create Aggregate table in DB
Insert them in Universe
Join them with dimension table
34. If we have a user group and we want to give the access to the report from 1990 to 2000. and from that group we want one user to restrict to see the report from 1990 to 1995. Then what to do in BO designer, so that this can be possible( Not in report level).
This can be done using row level security in universe parameter.
35. What is shortcut join. What is its use explain with an example
A shortcut join is a join which links two table by bypassing
intervening tables that exists in the universe. This is used when it is
possible in certain circumstances to make SQL more efficient.
e.g. in Above example if you want get the client list and there
countries you can simple join country ID from client table to country id
from country table. However this would introduce a loop. So instead of
using normal join you make it as shortcut join. So if query contains
object from client table and country table it would you shortcut join.
This would result in efficient query avoiding extra join of region.
36. What is isolated join, explain with an example.
Isolated joins means the joins which are not included in
any context. suppose you have 15 joins in ur universe. in
context A you included 7 joins and in context B 7 joins.
The rest means one join is ur isolated join.
37. What is cardinality and its significance in BO universe
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:
• Detect Cardinalities command
• 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.




