Vous êtes sur la page 1sur 42

Welcome to the finest collection of SAP BusinessObjects (BO a.k.a BOBJ) Interview Questions with standard Answers.

Based on our years of experience in


BusinessObjects reporting tool, we have hand-picked these questions and provided to-the-point answers to each one of them so as to help you prepare
better for BusinessObjects job interviews.

1. What are the differences between Personal, Shared and Secured


connections?
1.

A Personal connection is created by one user and cannot be used by other users. The connection details are stored in PDAC.LSI file.

2.

A shared connection can be used by other users through a shared server. The connection details are stored in SDAC.LSI file in the Business
Objects installation folder. However one cannot set rights and securities on objects in a shared connection. Neither can a Universe to exported to
repository using a shared connection

3.

A secured connection overcomes these limitations. Through it rights can be set on objects and documents. Universes can be exported to the
central repository only through a secured connection. The connection parameters in this case are saved in the CMS

2. What are custom hierarchies? How can they be created?


Custom Hierarchies are defined in a universe in order to facilitate custom drill down between objects from same or different classes according to user
requirement. They can be created from Tools -> Hierarchies in the BO Designer.

3. What is a context in universe? How are they created?


In an universe, a context defines a particular join path between tables or a specific group of joins
for a particular query. Any objects created on a table column which belong to specific contexts is
naturally compatible with all other objects from same contexts. When objects from two or more
contexts are used, separate SQL is generated and results are then merged in a micro cube. This

makes sure that no incorrect result is generated due to loop or any other join path issue.

Contexts may be created using detect contexts feature or manually. They are generally created based on logical calculation and business requirements,
hence the detect context method is not very effective. To manually create a context Go to Insert Context, give the context name and select the joins
that should be present in the context. For a universe contexts should be created in a way that all joins(except shortcut joins) fall in at least one context

4. What is a chasm trap? How can it be solved?


In a dimensional schema based universe, we may have one dimension table joined with two fact tables such that both of them are one-to-many joins(F >D -<F ). In such a scenario, if we drag a measure each from both the fact tables along with dimensions from dimension table, the value of the measures
in the fact tables are inflated. This condition is known as chasm trap.
A chasm trap can be solved using 2 methods:

In the universe SQL parameters, the option, generate multiple queries for each measure needs to be selected. This will generate separate SQL
statement for each measure and give the correct results. However, this method would not work, if a dimension (for example date) occurs multiple times
in the result set due to chasm trap

A better approach is to put the two joins in two different contexts. This will generate two synchronized queries, thus solving the problem.

5. What is a fan trap? How can it be solved?


In a universe structure, we may have 3 tables joined in such a way that, the 1st table has a one to many join with the 2nd table, which in turn has a one
to many join with the 3rd table(A -< B -< C). In such a scenario, if a measure is present in the 2nd table and it is dragged along with any dimension from
the 3rd table, the value of the measure will be inflated. Such a condition is known as a fan trap.

A fan trap is solved by creating an alias of the 2nd table and defining contexts such that, the normal table is joined only with the first table, while the alias
is joined with both the 1st and the 3rd table. We would take 2nd tables measure only from the normal table and other dimensions of the 2nd table from
the alias table

6. Should we encounter fan traps in a data warehouse scenario? If so, then


how?
If a data warehouse is based on the Kimball model, it is a dimensional schema. In a universe built on that DW, for a fan trap to occur in such a schema,
we require direct join between two fact tables, which is against the principles of dimensional modeling.
On the other hand in a data warehouse based on Inmon model, it is a normalized schema. Though in such a case, universes are generally designed on
Data Marts, which are dimensional schemas (where fan traps should not occur). However, if a universe is built on the DW (for the purpose of operational
reporting), then a fan trap can occur in that universe

7. What is aggregate awareness? What is its advantage?


Aggregate awareness function is used in scenarios where we have same fact tables in different grains. Using this function we can define only one object
for the measures in the fact tables as
@aggregate_aware(highest_level,lower level)
We also need to define dimensions for associated granularities and define their incompatibilities with the corresponding facts through the aggregate
navigation. This is accesses through Tools -> Aggregate Navigation

The advantage is that in a Webi or Deski report when one drags the measure object with the dimension object of a particular granularity, the measure
column from the Fact table of the corresponding granularity is selected in the BO default Query. If we did not use aggregate awareness, we would need to
define separate objects for each of the fact tables which would be difficult to understand from a users point of view.

8. What are the 2 different approaches of implementing aggregate


awareness? Which one is better in terms of performance?

The 2 approaches are as follows:


1.

Aggregate tables are built in the database, which contains the dimension fields(not foreign keys) along with the aggregated measures. In the
universe they are present as standalone tables, i.e they are not joined with any dimensions. Aggregate aware function is used to define both the
dimensions and measures of such tables

2.

No aggregate tables are built in the database level. They contain the normal fact table at different granularities. In the universe, aggregate aware
is used only to define the measures and aggregate incompatibility is set accordingly

The first approach is better in terms of performance, since for the higher levels of aggregation, all the information is obtained for a single table. However,
a large scale implementation of this approach in a dimensional schema is difficult. In most BI projects, the second approach is preferred

9. What is a derived table? What is its utility?


A derived table is a table created in the universe using an SQL Query from database level. The columns selected in the query become the columns of the
derived table. A derived table can be used for complex calculations, which are difficult to achieve in report level. Such calculations are done in query level
itself.
Another use of derived table can be to access tables from a different schema through a dblink.

10. How is a derived table different from a view? Which one is a preferred
solution?
A derived table is present only in the universe level, while a view is created in data base level. Generally views are preferred since, in its case the onus of
calculation remains on the database and it does not load the BO server. However, in cases where developers do not have access to database, derived
table is the only solution.

11. How can we access one derived table from another?


We can access one derived table from another using the function @derived_table. The syntax is
@derived_table(Derived Table Name)

12. What is Index Awareness? How is it implemented?


Index awareness is a property of the universe, by means of which values in the filter conditions of the queries/data providers built from the universe, are
substituted by their corresponding indexes or surrogate keys. Generally the values in the filter condition come from a dimension table (like country etc)
and we require a join with the fact table to get this value.
However, if index awareness is implemented, this join is eliminated and the query filter takes the equivalent index value from the fact table itself.
To implement index awareness, one needs to identify the dimension fields which are to be used in query filter. In the Edit Properties of the object, we get
a Keys tab. In this tab, the source primary key of the table from which the object is derived needs to be defined as primary key, and the database
columns for all foreign key relationships with the other tables also need to be defined here. Once this is done for all required dimensions, the universe will
become index aware

13. How can we use index awareness in universe prompt?


An extended prompt syntax is available since BO 3.1. It is as follows
@Prompt(message,'type,[lov],
mono/multi,
free/constrained/primary_key,
persistent/not_persistent,
{'default value':'default key'})
If the indexes for the dimension object is defined in the universe and we define the prompt condition on the object with the clause primary key in place
of free or constrained, then the filter condition will convert the prompt values entered to their corresponding indexes and eliminate the join with the
dimension table

14. What is a condition object? How is it different from query filter?


A condition object is a filter condition created in the universe level. When this object is dragged in the Query Panel, the filter condition appears in the
query SQL.
However a query filter exists in the report only. It is added during building a query. This also appears in the query SQL

15. How can we create a mandatory filter condition for every query
generated from the universe?

For this to happen, one prerequisite is that the table which contains the object on which the filter condition is applied should be present in each and every
context defined in the universe. It can be done in 2 ways:

Row level Security:


From Tools -> Manage Security Click on Mange Access Restrcitions. Create a new restriction. In the rows tab of the restriction select the table and add the
where clause on the desired column. Apply this restriction to all user groups. The limitation of this method is that this filter condition would not be
imposed unless we drag an object from the table in the query panel

Condition Object Property:

Create a condition object with the where clause on the desired column of the desired table. In the condition object definition; check on the boxes Use
Filter As Mandatory in Query and Apply On Universe and Apply On List of Values. The advantage of this method is that even if no object from the table is
dragged in the Query Panel, the filter condition will still appear in the query

16. What is a linked universe? How are they created?


Linked universe are universes which share common component such as objects, classes and joins. When two universes are linked, the source universe is
called core universe while the destination is called derived universe.
A link can be created by going to Universe Parameters -> Links and using Add Link button. The tables from core appear as faded structures in the derived
universes. Their joins are intact, but the contexts need to be defined afresh.

17. What happens when we click the Include button after linking two
universes?
After creating a link if the Include button is clicked then the tables from core universe are permanently copied into the derived universe and the link is
severed

18. What is an Input control? How is it different from a report filter?


Input Control is a feature in Webi report(starting from XI 3.1 SP2), which allows filtering of data based on a dimension in the report.
The Report Filter also does a similar thing. However an input control allows multiselection of values(via Multiselect Input control) which a report filter does
not support. Input Control appears in the left panel of the report, whereas Report Filter appears in the top filter pane

19. What are the added features of Interactive mode in Web Intelligence
over the normal Java report panel? What are its uses?
When Web Intelligence is in Interactive mode, one can create variables, input controls, add report filters, tables and charts in the view mode itself. This is
not possible in the normal Java report panel.
The advantage of interactive mode is for power users, who want to do further manipulations on an existing report. Since, it does not allow user to modify
queries or existing variables in the report, but allows doing the above mentioned activities on top of the report, it provides a very good means for analysis
by the power users without changing the core report in any way.

20. What is the use of the scope of analysis pane in the Query tab of Webi
report?
It has 2 uses:

The Scope of Analysis pane sets the limit of drill down in the report. Suppose we have a hierarchy defined in 3 levels, but if we set the scope of
analysis is set to 2 levels, the report will not be able to drill down to the 3rd level. We can also remove objects showing in the scope of analysis pane and

limit the drill down


If the analysis level is set to custom, the objects from existing hierarchies can be dragged in the scope of analysis panel to set the scope for
drilldown in the report. This has an advantage that we can drill down to more than 3 levels, which is not possible in the normal level setting, since it is up
to 3 only

21. There is a requirement that in a numeric column of a webi report we


need to display the sum of the above rows. Which function should we use?
In this case we should use the RunningSum() function. The syntax is:
RunningSum([measure];[Row|Col];[(reset_dimensions)])

22. When should we use a query filter and when a report filter?

The choice of query or report filter has to take in consideration the performance of the report.
Suppose we have report where are multiple tabs having different objects requiring same or different filter conditions, it is advisable to use a Query Filter.
In case where there are multiple tabs having same objects, but with slightly differing filter conditions, it is advisable to fetch the whole data in the query
and then apply report filters to the various tabs to get the desired data instead of using separate queries for each tab

23. What is the use of merge Dimensions functionality? How does automerge work?
The merge dimensions is used to combine objects having similar properties from multiple data providers which enables using dimensions and measures
from both data providers in the same table. It works like a full outer join. Without this we cannot drag dimensions from different data providers in the
same table and though the measures can be dragged, their calculation levels may not be uniform.
When the Auto Merge Dimensions checkbox in the document properties is checked, the report automatically merges multiple dimensions with same
name coming from different data providers

24. What is the difference between Input and Output calculation contexts
in a Webi report?
Input context consists of any dimension objects that need to be included directly in the calculation itself.
Output context consists of one or more dimension objects that determine the aggregation level at which the calculation is displayed

25. In oracle, we use Instr function to display the position of a character in


a string. What is the corresponding BO Web Intelligence report function,
that does the same?

The corresponding function is Pos(). The syntax is:


Pos(string input_string; string pattern)

26. Suppose in a report, we have a filter on a block. In the table, we need to


display an aggregate of a measure for all data in report. But if we use only
the aggregate function, it will be limited by the block filter. How can we
achieve that?
We have to use the NoFilter() function. When we put the expression within NoFilter(), it overrides any report filter as well as ranking applied in report
level. The syntax is :
NoFilter(expression)

27. Suppose we want to display the total sum of a measure in row level of
the report block. What will be the solution?
We have to use context Operator In along with keyword report. This will give the total sum of the measure in row level(and anywhere in the report). The
expression will be like:
Sum(Measure In Report)

28. Which selector gives the option of multiple selection in Xcelcius


Dashboard? How do we make the multiple selection?

Only List Builder gives the option of multiple selection in Xcelcius. We select multiple rows from the input list and add them to the output list using Add
button. The output list gives the selection parameter

29. Which Xcelcius components can we use for linking multiple dashboard
flash outputs(swf files)? Can the same components be used for a complete
presentation?
We can use Swf Loader as well as Slideshow components for linking multiple dashboards. Swf Loader can open swf files only, while Slideshow can
open both swf files and image files.
For presentation purposes, we often need text and images. Hence these are embedded in image files are added to a Slideshow along with dashboard
outputs. Moreover Swf Loader can only open swf through Push Button or selector components, whereas Slideshow has a feature of automatic slide
transition, which loads the image and swf files in the specified sequence. Hence, Slideshow is the only feasible option for a complete presentation.

30. What are the different ways in which an Xcelcius dashboard can access
data from a BO universe?
There are 3 ways in which Xcelcius can access data from the universe:

Query as a Web Service: Using Query as a Web Service tool, we can create a queries from the universe along with filter condition. The QAAWS
qury panel is similar to the WebIntelligence query panel. In Xcelcius dashboard, we can create a QAAWS connection that would point to a particular Query

and import the data into the excel data sheet of the xlf
Business Intelligence Web Service: In this method, we can use the output of a report directly in the Xcelcius dashboard. Using Webi Rich
Client, we export the report to repository, then select a block from the report, right click and select Publish as Web Service option. However BIWS does
not have a connection of its own. We access this BIWS through a QAAWS connection only.

LiveOffice: LiveOffice is an additional component that needs to be installed. This creates a sort of plugin for all MS Office applications, though
which they can access data from Web Intelligence reports. I MS Excel, we can launch the Live Office Insert Wizard by Insert -> Web Intelligence Content.
We can use this wizard to add selective content from a webi report. In the Xcelcius dashboard, a Live Office connection is created andwe access this Live
Office excel sheet though thi connection

Universe Designer Interview question Part 1


Question : What is a Universe and what is consist of ?
Answer :
A universe is a file that contains the following:
Connection parameters for one or more database middleware.
SQL structures called objects that map to actual SQL structures in the database such as
columns, tables, and database functions. Objects are grouped into classes. Objects and
classes are both visible to BusinessObjects and WebIntelligence users.
A schema of the tables and joins used in the database. Objects are built from the
database structures that you include in your schema. The schema is only available to
Designer users. It is not visible to BusinessObjects and WebIntelligence users.
BusinessObjects and WebIntelligence users connect to a universe, and run queries against
a database. They can do data analysis and create reports using the objects in a universe,
without seeing, or having to know anything about, the underlying data structures in the
database.
Question : what is class and objects ?
Answer :
Classes :A class is a logical grouping of objects within a universe. It represents a category of
objects. The name of a class should indicate the category of the objects that it Contains. A

class can be divided hierarchically into subclasses.


Objects :
An object is a named component that maps to data or a derivation of data in the database.
The name of an object should be drawn from the business vocabulary of the targeted user
group. For example, objects used in a universe used by a product manager could be
Product, Life Cycle, or Release Date. A universe used by a financial analyst could
contain objects such as Profit Margin, and Return on Investment.
Question : Describe Universe design Methodology or Explain different phases of universe?
Answer: The universe design methodology described here consists of one planning
stage, and three implementation phases:
Analysis of business problem and planning the universe solution
Designing a schema
Building the universe
Distributing the universe to users
Each implementation phase is based on an assumption
Development phase Description
Prepare :Identify the target data source and become familiar with its structure.
Know what data is contained within each table of each of the target
databases.
Understand the joins.
Identify the cardinality.
Know what is possible.
Analyze :Identify the user population and how it is structured; for example is the
user group structured by department or by task.
Identify what information the users need.
Identify what standard reports they require.
Familiarize yourself with their business terminology so that you can name
objects sensibly.
Plan: Identify a project strategy. For example, how many universes should be
created and which ones should have the capacity to be linked and to what
level.
Implement: Build the universe using Designer. This manual covers this part of the

universe development cycle, the actual use of the design tool.


Test frequently during the build process for validity and reliability of
inferred SQL.
Test :Form a small group of users, preferably BusinessObjects or
WebIntelligence power users who have some knowledge of what
information they expect to get from the universe. Ask the users to perform
thorough tests simulating live usage of the universe(s).
Deploy: Distribute the universe by exporting universe to the repository, where it
can be accessed by end users.
Evolve Update and maintain the universe as the data sources and user
requirements change and grow.
Evolve : Update and maintain the universe as the data sources and user
requirements change and grow.

Question : Describe the environment in which business objects can be used?


Answer: Designer can be used in two types of Business Objects environments
Enterprise:
Designer is used with a Business Objects repository. Universes are saved in the Universe
domain of the repository. Universe access, version control, and security are controlled by
Business Objects Supervisor. A universe is imported from and exported to the repository
by the universe designer. This is the most common environment in which Designer is
used.
Workgroup:
Designer is used alone with no repository connection. Access to universes, version
control, and security are controlled by the universe designer.

Question : What are the different type of connections are available in universe ?
Answer: there are three types of connection as available in universePersonal connections
Restricts access to data to the universe creator and the computer on which it was created.

Connection parameters are stored in the PDAC.LSI file located in the LSI folder in the
Business Objects folder under your user profile in Documents
Personal connections are unsecured in terms of Business Objects products security. You
do not use personal connections to distribute universes. You could use personal
connections in the following situations:
To access personal data on a local machine
To access specific database accounts to test an SQL sample through the Free-hand SQL
option in BusinessObjects.
Shared connections
Allows access to data for all BusinessObjects and WebIntelligence users. These
connections are unsecured in terms of Business Objects products security.
Shared connections can be useful in a universe testing environment.

Secured connections
Centralizes and controls access to data. It is the safest type of connection, and should
used be to protect access to sensitive data.
You can create secured connections with Designer or Supervisor.
Connections are stored in the security domain of the repository. These can be shared
with designers and supervisors with the appropriate privileges.
You must use secured connections if you want to distribute universes through the
Business Objects repository.
Secured connections can be used and updated at any time. To define a secured
connection you must be using Business Objects products in Enterprise mode. You must
be connected to a repository and using the Business Objects repository key file. The
default name for this file is BOMain, but it can be modified at any time in Supervisor.
Question : Explain what are the Theta Join, Shortcut joins, Full outer joins,Outer joins?
Answer :
Theta joins
A theta join is a join that links tables based on a relationship other than equality between
two columns. A theta join could use any operator other than the "equal" operator. The

following example and procedure show you how to create a theta join that uses the
"Between" operator.
Outer joins
An outer join is a join that links two tables, one of which has rows that do not match
those in the common column of the other table. You define an outer join by specifying
which table is the outer table in the original equi-join. The outer table contains the
column for which you want to return all values, even if they are unmatched. You specify
the outer table from the Edit Join dialog box for the selected join.
Full outer joins
By default you can create either a left outer, or a right outer join depending on which side
of the join the outer table is designated. You can also create a full outer join by activating
ANSI 92 support for joins in the universe. This is achieved by setting a universe SQL
parameter ANSI 92 to YES (File>Parameters>Parameter). This allows the universe to
support ANSI 92 syntax for joins, and you can select the tables on either side of a join to
be outer tables. Refer to the section defining a full outer join on page 169 for information
on creating full outer joins.
Shortcut joins
A shortcut join is a join that provides an alternative path between two tables. shortcut
joins improve the performance of a query by not taking into account intermediate tables,
and so shortening a normally longer join path. A common use of shortcut joins is to link a
shared lookup table to another table further along a join path. The join path comprises
several different tables in the same context. In such a case, the shortcut join is only
effective when the value being looked up has been denormalized to lower levels in a
hierarchy of tables, so the same value exists at all the levels being joined.
Question : What is aliases and what is its use?
Answer:
Alias Another possible use of aliases is to create an alias for each table as it is inserted into the
schema. You then build the schema using the alias tables, not the original base tables.
You place the base tables together away from the main universe structure. This allows

you to give meaningful names to tables, and prevents the need to rebuild major sections
of a universe structure should a base table need to be aliased at a later stage.
Using aliases to solve loops
The most common use of aliases in universe development is to solve potential loops in
the use of common tables. A loop is a set of joins that defines a closed path through a set
of tables in a schema. Loops occur when joins form multiple paths between lookup tables
You use an alias to break a loop by providing alternative table for an original lookup
table that is being used for multiple query paths.
Using aliases to solve fan traps
Aliases are also used to solve potential fan traps. These can occur in a serial oneto- many
join path that can return inflated results when aggregates are summed at the "many" end
of the joins. This use of aliases is discussed in the section
Question : Explain how keys can help in setting Index Awareness ?
Answer:
The Keys tab allows you to define index awareness for an object. Index awareness is the
ability to take advantage of the indexes on key columns to speed data retrieval. The
objects that you create in Designer are based on database columns that are meaningful to
an end user. For example, a Customer object retrieves the field that contains the customer
name. In this situation the customer table typically has a primary key (for example an
integer) that is not meaningful to the end user, but which is very important for database
performance. When you set up index awareness in Designer you tell Designer which
database columns are primary and foreign keys. This can have a dramatic effect on query
performance in the
following ways:
Designer can take advantage of the indexes on key columns to speed data
retrieval.
Designer can generate SQL that filters in the most efficient way. This is particularly
important in a star schema database. If you build a query that involves filtering on a value
in a dimension table, Designer can apply the filter directly on the fact table by using the
dimension table foreign key. This eliminates unnecessary and costly joins to dimension

tables. Designer does not ignore duplicates with index awareness. If two customers have
the same name, Designer will retrieve one

1.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.

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 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.

6.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 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 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.

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 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.

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
minutes 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

Year

Quarter

Month

ServiceType

Table 2
AggregateID

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 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.

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. 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.
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.

38.How will you know the version of BO designer you are using

Go to Help-> About

Vous aimerez peut-être aussi