1. Define Business objects?
Business object can be considered as integrated analysis, reporting and query for the purpose of finding solution to some business professionals that can be helpful for them to retrieve data from the corporate databases in a direct manner from the desktop. This retrieved information can be presented and analyzed within a document that of business objects. Business objects can be helpful as an OLAP tool by the high level management as a major part of Decision Support Systems.
2. Explain the pros of using business objects?
There are many advantages in making use of business objects and they are
– User friendliness
– Business terms that are familiar
– Graphical interface
– Deployment of documents on an enterprise basis by making use of WebI
– Dragging and dropping
– Powerful reports for a lesser amount of time.
3. List out the different products related with Business Objects?
There are various kinds of products related with business objects and they are
– User module
– Set Analyzer
– Info View
– Business Objects – Software Development – Kit
– Broadcast Agent
4. Define Designer?
Designer is a module related with Business Objects IS used by the designers for creating and maintaining universes. Universes can be considered as semantic layer that can isolate the end users from the various issues that are technical and related with the structure of database. Universe designers has the possibility for distributing the universes to the end users after moving these as file through the system of files or can be done by exporting the files to the repository.
5. What are the kinds of modes associated with designer and business objects?
There are especially two different kinds of modes associated with these platforms, they are
– Enterprise mode
– Workgroup mode
6. List out the various kinds of methods related with multidimensional analysis that is inside business objects?
There are two different methods related with multidimensional analysis available inside BO and these methods are
– Slice & Dice
– Drill down
7. List out the kinds of users associated with business objects?
There are various different kinds of users associated with business object, they are
– General supervisor
– Graphical Interface
– Supervisor Designer
– End User
– Versatile User
8. What are the various data sources available?
Business objects help you in accessing the data from variety of sources. You have the possibility of accessing data from RDBMS like oracle, MS SQL server and IBM DB2.
9. Define the kinds of data providers?
There are various kinds of data providers available for the business objects and they are
– Stored procedures
– Queries over universe
– Free hand – SQL
– VBA procedures
– OLAP servers
– Personal data files
10. Define drill mode?
This is a kind of analysis mode associated with business objects and helps in breaking down data as well as in viewing data from all the possible angles and the levels of detail for discovering the factor that has caused good – bad result?
11. What are the differences between Personal, Shared and Secured connections?
- A Personal connection is created by one user and cannot be used by other users. The connection details are stored in PDAC.LSI file.
- 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.
- 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.
12. 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.
13. 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
14. 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.
15. 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 table’s measure only from the normal table and other dimensions of the 2nd table from the alias table
16. 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
17. 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
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 user’s point of view.
18. What are the 2 different approaches of implementing aggregate awareness? Which one is better in terms of performance?
The 2 approaches are as follows:
- 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.
- 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
19. 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.
20. 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.
21. 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
22. How can we use index awareness in universe prompt?
An extended prompt syntax is available since BO 3.1. It is as follows
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
23. Define User Objects?
User objects is a universe of classes and objects which is created by the universe designer. Once the objects consisted in the universe does not matches your necessities, then the user can create his own objects called User objects.
24. List out the @functions?
The @functions are:
25. Describe the uses of @functions?
The @prompt function asks the end user to enter any specific values. The Visual Basics for applications macro’s results will be recovered by using @Script function. An existing statements SELECT statement can be re-used by using @Select function. For a name or variable, the value assigned to it will be referenced using @Variable. An existing object’s where clause can be re-used by @Where functions.
26. How many Domains are there in Business Objects? What are they?
There are three Domains in Business Objects and they are:
27. How to access one derived table from another?
Using @Derived_table function, we can access one derived table from another. The syntax is as ,
@derived_table(the derived table name)
28. Define Slice in Business Objects?
Slice works with the master or detail reports and it is used to rename, reset and delete the blocks.
29. Differentiate Dice and Slice?
– Slice: It renames, reset and delete the blocks. It works with the master/detail report.
– Dice: It displays the data and removes the data. It turns the crosstabs and tables into c harts and vice versa.
30. How many approaches are there for linking universes?
There are three approaches available for linking the universes and they are:
– The Kernal approach.
– The Master approach.
– The Component approach.
31. Define data mining?
Data mining is the process through which you can extract the required details from the database, which can be made used for making conclusions.
32. List out the available Drill modes?
Drill modes helps to analyze data from different angles and different state of details. The available Drill modes are;
– Drill up.
– Drill down.
– Drill by.
– Drill through.
33. Define aggregate_awarness?
when we have a same fact tables in different grains,we use aggregate_awarness function to define one object for measures in fact tables.the syntax is as,
34. Define Channel?
Channel is a website with ‘push’ technology. It is to make the users know up-to-date information. Each and every Business Objects channel will be associated with a broadcast agent, who can have several channels.
35. What are the restrictions over user objects?
User objects are not shared with other end users. It is stored in a specific user object definition file. So if any end-user tries to refresh or edit the query contains another user’s user object, it will be automatically cleaned and removed.
36. List out the tasks of universe designer?
The tasks consists of,
– Designing the universe.
– Creating the universe.
– Maintaining the universe.
– Distributing the universe
37. List out the main components of designer interface?
The main components it consists of are:
– The table browser.
– The structure pane.
– The universe pane.
38. What you meant by report bursting?
To maintain the version documents according to the user profiles, we use report bursting.
39. Define WEBI?
Web intelligence is a solution that is specialized in supporting the decisions related with queries, reports and analysis.
40. Abbreviation of DSS is?
Decision Support Systems.
41. Define strategies?
To automatically extract structural information from database or from a flat file we use a script known as strategy.
42. Give a definition for universe?
It is a set of objects and classes.these objects and clss es will be intended for an application or a group of users.
43. Define secured mode?
Secured mode restrict the access of specific users over specific commands.
44. What is Drill by?
Using drill by we can move to other hierarchy and analyze the other data, which belongs to another hierarchy.
45. What is a list of values?
It is file which contains the data values associated with an object.