Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
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
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
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.
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
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.
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
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.
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:
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
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
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
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
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)
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
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
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.
User Module, Designer, Supervisor, Auditor, Set Analyzer, Info View (Web Intelligence), Business Objects Software Development Kit (SDK), Broadcast Agent etc.
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
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.
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.
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.
NO
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.
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.
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.
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 universe is a set of classes and objects intended for a specific application or group of users.
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.
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.
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.
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
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.
Yes. Typically a universe can have more than 1 fact table and numerous aggregated tables.
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
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
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.
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.
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.
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.
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?
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.
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.
38.How will you know the version of BO designer you are using
Go to Help-> About