Professional Documents
Culture Documents
BUSINESS OBJECTS
Frequently Asked Questions
Prepared by Raj
Date: July 12th, 2011
Version: BO XI 3.x
Note: This material is prepared by referring to many websites, blog sites of many BO gurus
and material from various sources. I would like to thank all for their contribution. I just
gathered and kept here for the sole purpose of helping BO newbies and whoever attending
interviews to have a quick glance of the subject.
1|Page
BO FAQ
2|Page
BO FAQ
Subject-Oriented: A data warehouse can be used to analyze a particular subject area. For
example, "sales" can be a particular subject.
Integrated: A data warehouse integrates data from multiple data sources (transactional
systems - OLTP). For example, source A and source B may have different ways of identifying
a product, but in a data warehouse, there will be only a single way of identifying a product.
Time-Variant: Historical data is kept in a data warehouse. For example, one can retrieve
data from 3 months, 6 months, 12 months, or even older data from a data warehouse.
Non-volatile: Once data is in the data warehouse, it will not change. Only inserts are done
to data warehouse and No updates.
So, historical data in a data warehouse should never be altered.
What is Data mart?
Ans. Data mart is a subset of a Data warehouse.
2)
OLAP stands for On Line Analytical Processing stores the historical data based on OLTP
source and the database is De-normalized as frequent updates will not happen and deals
with bulk amount of data to support trend analysis and future predictions.
What are the types of Dimensions?
Ans. The types of dimensions are:
Confirmed Dimension
Junk Dimension
De-generate Dimension
Role-playing Dimension
5)
3|Page
BO FAQ
Example: The date dimension table connected to the sales facts is identical to the date
dimension connected to the inventory facts.
What is Junk Dimension?
Ans. It is a dimension table consisting of attributes that does not belong to the fact table
7)
or any of the existing dimension tables. These attributes are usually text or flags with
yes/no or true/false indicators.
casual dimension.
Example: Gender - Male, Female.
Type 2: A new record is added into the customer dimension table for maintaining history
whenever the attributes of a dimension is changed.
Type 3: The original record is modified to reflect the change of dimension attribute. Partial
history is maintained.
4|Page
BO FAQ
What is HOLAP?
Ans. It is the combination of MOLAP and ROLAP. For summary type information, it uses the
cube technology for fast performance and when detail information is needed, it can drill
through from the cube into underlying relational data.
16)
5|Page
BO FAQ
6|Page
BO FAQ
7|Page
BO FAQ
BO FAQ
a) Central management Server - It is a primary server which provide services for all other
servers in the BI platform including management of
Security
Objects
Servers
Auditing
b) Event Servers - It is a responsible for monitoring file based events, and notifying the
CMS of any events occurred.
c) Input/Output File Repository Server - It is a responsible for the creation of file system
objects, such as exported reports, and imported files in non-native formats.
d) Cache Server - It is used to store previous run activities of report view requests and
avoids accessing the database each time a report is requested, thus accelerates viewing
performance and reduces network traffic.
Processing tier: It is the only tier that directly interacts with the reporting database and
accesses the data tier and generates reports for clients. The main servers include:
Job servers
Processing servers
Report Application server
Multi-Dimensional Analysis server
Dashboard and Analytics servers
Data tier: It is made up of the data sources that contain the information used in the reports
and documents managed by BO enterprise system, and supports wide range of corporate
databases.
The Connection server is responsible for handling connection and interaction with the
various data sources. It supports relational databases (Oracle, MySQL, Microsoft SQL Server,
DB2, Sybase) as well as OLAP (SAP BW, Microsoft Analysis Services, Hyperion Essbase).
What are the different authentication modes you know?
Ans. Version 3.0 supports below authentication:
Enterprise
Windows NT
Windows AD
LDAP (Light weight Data Access Protocol) which will be mapped in CMC.
30)
9|Page
BO FAQ
As many business rules will be applied on database, these rules generate the SQL and
if two users ask for the same information, these users will get same result.
It gives the users independence on the technology as just by dragging objects the
query will be modified.
It is an extra layer and is not free. It has to be created, maintained and managed. It
must be kept in sync with any database changes that occur.
It could connect to only 1 database at a time.
What is meant by ZABO?
Ans. ZABO stands for Zero Administration Business Objects which uses the hardware
resources of the client machine for application level processing and communicates through
the protocol defined for the browser to use the server resources for processing External
requests (like running a database Query, creating a data provider to access data.)
32)
10 | P a g e
BO FAQ
11 | P a g e
BO FAQ
Chapter 2: Designer
What are the difference between BO XI R2 and 3.0?
Ans. BO XI 3.0 supports the following features which are not supported in XI R2. These are:
Smart measure: A measure can be called as a smart measure in the universe when its
data aggregated in a way not supported by WEBI. A smart measure has projection function
set to Database delegated on the properties tab of object properties.
1)
Optional prompts: In WEBI you can ignore optional prompts by not specifying any value
and prompts does not apply a filter on the data.
ForceMerge function: With this WEBI function you can calculate measures for merged
dimensions and is similar to Multicube function in DESKI.
Data tracking: WEBI has the feature to track data changes by highlighting the changed
data and displays the previous value of a dimension or measure along with its current value.
12 | P a g e
BO FAQ
It highlights the changed data according to parameters you set. In the option Auto-update,
the current data becomes the reference data after each data refresh and the other option is
use the current data as referenced data the report always show the difference between
the most recent data and this fixed reference data.
Multilingual support: From the same report, you can decide in which available language
you want to view the reports metadata and prompts. Using Translation manager you can
add translations to the universe on which the report is created or translate the report itself.
Once the document is translated, it is published and available to users in their preferred
viewing language.
Note: Data is dependent on database source cannot be translated.
Document linking: Using WEBI you can create links to other WEBI documents, to web
sites, or to any resource accessible from a WEBI report using a simple user interface. From
WEBI you can even pass data to linked resource.
Stored Procedures: In Designer, you can create a universe based on one or more
existing stored procedures.
How can you optimize a Universe?
Ans. Query time can be shortened by optimizing a universe. There are several ways to
optimize a universe.
Optimizing the Array fetch parameter in the Universe parameters
Allocating weight to each table
Using shortcut joins
Creating and using aggregate tables in database
2)
BO FAQ
If you are using Oracle database, you can optimize the SQL by reversing the order that
BO sorts the table. To do this we need to modify the oracle .PRM file by changing parameter
REVERSE_TABLE_WEIGHT from Y to N (Default Y ). By doing this BO forces to sort the tables
from those with most rows to those with least rows.
Path of oracle.PRM file =>
<INSTDIR>\dataAccess\RDBMS\connectionServer\oracle\oracle.prm
Restart Designer to apply the changes to the file.
In Designer we can manually change the number of rows for any table.
To view, select View menu => Number of rows in tables. To modify
Open a universe in designer, Right click the relevant table.
Select number of rows in table from contextual menu. A dialog box appears.
Select the Modify manually tables row count radio button. A text box appears.
Type a number in the text box. This is the number of rows that you want to use for the
table.
Click ok and save the universe.
Using short cut joins
A short cut is an alternate path between two tables. Short cut join used to reduce
number of tables that are used in a query.
Using Aggregate Awareness
The ability of a universe to make use of Aggregate tables to optimize SQL query is
called Aggregate Awareness. These are the tables which contain pre-calculated data.
You can use @Aggregare_Aware function in the select statement for an object which
directs SQL query to run against Aggregate tables rather than on base tables.
Using Aggregate tables speeds up the execution of query and thus improves the
performance.
Setting up aggregate awareness
Build the Objects
1. Identify all the possible definitions (table/column combinations) of the objects.
2. Arrange the objects by level of aggregation.
3. Build the objects using the @Aggregate_Awareness function.
Specify the incompatible objects ( Tools- Aggregate Navigation )
1. Build an objects/aggregate tables matrix.
2. For the first aggregate table, decide whether each object is either:
- at the same level of aggregation or higher (compatible)
- at a lower level of aggregation (incompatible)
3. Check only the boxes of objects that are incompatible for that table.
4. Repeat the steps for the remaining aggregate tables.
Define any necessary contexts
1. Define one context per level of aggregation.
14 | P a g e
BO FAQ
15 | P a g e
BO FAQ
Advantages:
Maintenance will be easy because when you modify a component in the core
universe, designer will automatically reflect the changes in all the derived universes.
No need to re-create common components each time you create a new universe as
often used components can be kept in a core universe.
16 | P a g e
BO FAQ
Requirements:
Core universe and derived universe use the same data account or database. Using the
same connection for both universes makes managing the universes easier, but this can
be changed at any time.
Core universe was exported and re-imported at least once. Derived universe does not
need to have been exported before creating a link.
Exported derived universes are located in the same universe domain as the core
universe
You can use only one level of linking. You cannot create derived universe from a
universe which is itself derived.
All classes and objects are unique in both the universes else conflict will occur.
Only the table schema, classes and objects of the core universe are available in the
derived universe. Context must be re-detected in the derived universe.
The two universe structures must allow joins to be created between a table in one
universe to a table in the other universe else Cartesian product will occur.
List of values associated with a core universe are not saved when you export a derived
universe with the core universe structure.
To save LOVs associated with core universe:
Create new objects using the same definition
Assign the new objects the same LOVs as the core objects
Hide these new objects.
The hidden objects serve the function of holding the LOVs so that they can be exported
and imported with the derived universe.
You can log into designer as a different user without quitting your work session.
Tools => Login As. Give user name and password.
(If there are any open universes, designer closes them automatically)
Tools => Change password ( to change password).
7)
BO FAQ
Ans. Cardinality means a relationship between two tables based on a join. Means how many
rows of one table will match with rows in other tables when these tables are joined.
9)
What is Alias?
Ans. Alias used for solving loops and traps by using same table with different name in the
query.
10)
18 | P a g e
BO FAQ
If loops are not resolved and report is run following error might come.
Error: Incompatible combination of objects
When there are dimension objects in one or both fact tables, use context.
When there are measure objects defined for both fact tables, use the universe
parameter option SQL Multiple SQL statements for each measure.
Create an alias for the table that is producing the multiplied aggregation.
Create a join between the original table and Alias table
Create the context
OR
When there are only measure objects defined for both the tables , use the universe
parameter option SQL Multiple SQL statements for each measure.
15)
BO FAQ
Ans. The major difference between query conditions and document filters is that a
condition is applied to the query and limits the data retrieved from the database, whereas
the filter is applied to the data in the document to hide information and display only the
information that you want to appear.
What is a Join? What are different types of Join?
Ans. As we retrieve data from more than 1 table, we apply join between the tables.
Different types of Joins are:
Inner join
Left outer join
Right outer join Full outer join
Theta join
Equi join
Self join
16)
What is Class?
Ans. Class is a logical grouping of objects within a universe and can be divided hierarchically
into subclasses and represents as folders on a tree hierarchy in the universe pane.
19)
20 | P a g e
BO FAQ
What is category?
Ans. Category is logical way of structuring or organizing the content (BO document).
22)
What are the different data providers can be used to create report?
Ans. Universe, Personal data files such as Text files(.asc, .prn,.txt,.csv),Excel spreadsheet
(.xls),Database files(.dbf), xml files(.xml), Free-hand SQL, Stored Procedures, VB, etc.
23)
26)
21 | P a g e
BO FAQ
Explain in Detail about Measure Objects? What is the use of it? How
to create it?
Ans. Measure Object conveys numeric information which is used to quantify a dimension
object. A measure object returns numeric information. You can create a measure object by
using aggregate functions such as: Sum Count Average Minimum and Maximum.
35)
I have 2 universes, U1 and U2. From U1, I created one report that is
R1. Now i want to give the connection R1 to U2 and at the same time
delete the connection from U1 to R1? How is it possible?
Ans. We can change the connection for the report R1. For webI reports in query panel on
left side we have Query properties there we can change the connection of the universe to
U2. Then it will map to the U2.
39)
22 | P a g e
BO FAQ
Click values and this is where the fun begins. You will be then prompted for a Resort
23 | P a g e
BO FAQ
What is hierarchy?
Ans. Hierarchy is an ordered tree structure of relevant dimension objects. Hierarchies are
used for drilling information across various levels.
42)
43)
24 | P a g e
BO FAQ
Ans. Default hierarchies are created as per the default classes and dimension structure in
the Universe while Custom hierarchies are those explicitly defined by in Universe by using
dimension objects.
What is difference between local filter and global filter?
Ans. Applying filter to a specific table (block) is called as local filter while applying filter to a
report is called as global filter and it is applicable for all the blocks in a report.
44)
What is Drill down, Drill up, Drill Through, and Drill across?
Ans. Drill Down: When you drill down, you display the next level of detail in a hierarchy.
Drill Up: When you drill up, you display the next highest level of detail in a hierarchy.
Drill Across: When you drill down and up, you move through the levels of the same
Hierarchy. However, if you cannot find the answer to a question by analyzing data in its
current hierarchy, you can move to another hierarchy to analyze other data.
Drill Through: If the lowest level of detail you need is not currently available in the report,
you can drill through to the database directly from drill mode and get the data you need.
You do not have to edit the query in the Query Panel.
45)
25 | P a g e
BO FAQ
Not persistent
- when refreshing a document, no last values will be displayed in prompt.
'default value':'defaultkey' - The default values parameter is used to define default values
presented to the user.
You can define multiple default values. The syntax for each default value
is: value:key.
The colon (:) is the separator between the value and the key.
When refreshing a document these values are displayed by default but if
the persistent option is set, then the last values used in the prompt are
used instead of the default values.
If you specify the primary key parameter, then you must provide the key
value(s).
What is Index Awareness in Universe?
Index awareness is the ability to take advantage of the indexes on key column to retrieve
the data fast.
The objects that we create in the universe are based on database columns that are
meaningful to an end user. When you set up index awareness in designer, you tell designer
which database columns are primary and foreign keys which will increase query
performance.
To setup Index Awareness, open the properties of objects, open Keys tab. Click Insert and
Add respective primary key and foreign key.
47)
BO FAQ
Now with the help of Index awareness, instead of searching a ClientName, the SQL will
search the ClientID which is a indexed column.
The Key values are then stored in the LOV for the object. When a user selects a value from
the LOV, the SQL will switch the value to the indexed column. Of course, if the user does not
select from the LOV, but types in the value instead, Index Awareness is not used. So you will
need to train your users to select from the LOV.
50)
BO FAQ
Ans. It stands for Business Intelligence Archive Resource which is similar to a zip file which is
used to collect objects together to facilitate easier backup, restore or transporting objects
from one system to another.
You can create, export, import and promote a BIAR file with Life Cycle Manager (LCM).
How to make Back-up of a universe?
Ans. Using Business Objects Designer import the universe. Then making no changes, close
the universe. This will create a fresh, unaltered copy of the universe on your local computer.
Locate the universe file (*.unv) and the folder (has the same name as the universe file) in
the following folder path on the computer on which you are running Designer:
C:\Documents and Settings\Application Data\Business Objects\Business Objects
12.0\Universes@DevelopmentWorking Area
Select both the universe file and the folder (hold CTRL and use mouse). Then right-click
either the selected file and chose WinZip -> Add to Zip File Note: Any compression tool
will do.
Enter a name that is meaningful to you; it may indicate the version of the universe, the
date/time, or editor. Click OK and notice the new Zip file you created. This is your backup.
51)
Prompt reads, A newer version of this universe exists in the repository. If you continue with the
export you may overwrite existing changes. Do you want to continue?
28 | P a g e
BO FAQ
WARNING: if you receive any messages asking you to Move, Copy, or Overwrite a universe
then you may not be restoring to the exact location that the universe previously resided.
Prompts asking to overwrite the universe will be received if the universe you are attempting to
restore does not have the same CUID as the backup universe. In this case, double-check your
directories and analyze everything in Query Builder.
1. At the end of the export close the universe and import the universe you just exported.
2. Verify that this is the correct universe.
3. You have successfully restored the universe
29 | P a g e
BO FAQ
Then your choices are flexible: horizontal, right and left, and vertical, top and bottom.
Each option allows the space to be defined in pixels (px).
What is User Object?
Ans. It is not available to other end users and if an end user tries to refresh or edit a query
that contains another user's user object, BO removes the objects from the query and
report.
4)
30 | P a g e
BO FAQ
How can you do load testing for WEBI reports? Concurrent users
refreshing report at one time?
Ans. Load testing can be done using Load runner tool. The results which you get are:
Maximum running virtual users
Hits per second
Average response time for login, logout, click on particular link, etc
10)
31 | P a g e
BO FAQ
For DB2 use CURRENT_DATE and for SQL Server use GetDate()
How to overcome overflow of data in a report?
Ans. When you have huge number of rows in report then u will get partial results in that
report. for that u have to increase the (Limit Size of the Result set) check box button in
Universe Parameters under Controls. The number of rows that are returned in a query are
limited to the number that you specify.
13)
32 | P a g e
BO FAQ
What character do I use for a "wildcard" and how should I use it?
Ans. Wildcards are used with the "Matches Pattern" operator which has the keyword LIKE
% is used for multiple value and _ is used for single value.
18)
How can I break on multiple columns at once (e.g., Name and Penn
ID together)?
Ans. Create a variable that concatenates these columns, and then put break on that
column.
19)
BO FAQ
Insert menu => Table => Access new data in different way => Others(Visual basic for
Applications) => Choose the previously created subroutine and click Run. The query result is
inserted into report.
We can query the System Database using an abstraction layer, made up of 3 virtual tables:
How can I see the order of the report breaks or sorts, and how can I
change them?
Ans. The most efficient way to do this is with InfoView Interactive View mode.
Right-click in a column that you think has a break.
Notice that the Sort and Insert break... buttons change and look 'indented' when a column
that has sorts or breaks is clicked.
22)
34 | P a g e
BO FAQ
Select Break from the drop-down menu that appears when you right-click.
Select Properties and click on it and the Break Properties box will appear.
Existing breaks are listed in order here.
Up and down arrows allow you to change the order of multiple breaks.
Existing Display Properties are shown and you can change them.
Existing Page Layout items are shown and you can change them.
You can also remove a break.
In custom sort, you can add and remove temporary values in the sort as well as change the
order of the sort.
If the time duration given in seconds, then you can display in
hh:mm:ss format in report?
Ans. In WEBI
23)
35 | P a g e
BO FAQ
24)
The Left Panel offers 9 function icons at its base (as opposed to the
tabs available in Webi report viewing)?
Document summary- lists information such as author name, date created, and when it
was last refreshed as well as prompt values used, if any exist in the report.
Data Summary- lists information concerning the query that was used to retrieve the
data in the document. It shows the name of the universe and the objects that make up the
query definition, as well as the number of rows that were returned by the query.
Chart and table types- allows you to view all the templates available to you for
modifying the way the data in the document is currently presented. All the templates
available for designing reports in the Java Report panel are also available to you in
Interactive View mode. Using either drag and drop, or by clicking the Insert button available
in the Chart and Table Types panel, you can very quickly and easily transform a table or
chart in the document to another format, or insert a new block.
Available objects- lists all the objects that have been used in the document's query to
retrieve the data available in the document. You can use drag and drop to move objects in
and out of the blocks of data, or even to create new blocks of data. You can also make your
own variables.
Document structure and filters-allows you to view all the elements that make up this
document, such as the sections, report blocks, headers and footers, as so on. In this pane,
you can click a document element and move it to another position in the document, just by
moving it up or down in the pane. Also allows you to format elements.
Navigation map-allows you to jump to different sections of the report by clicking on the
elements in the map.
User prompt input- allows you to add or modify prompts and then run the query again.
Input controls- allows you to modify the reports input controls if it has any
Find- allows you to find data on the report tab displayed on the right hand side of the
screen.
36 | P a g e
BO FAQ
BOTH of these methods will require you to cope with timeout issues in InfoView/Webi.
While you are actively working in one Webi document, the open InfoView window with the
other report can timeout if it remains inactive too long, causing your whole session to
timeout. The only remedy for this timeout issue is to
Regularly go back to the original InfoView window and click around to keep it active, AND
In Webi SAVE OFTEN (this is always a good idea, by the way).
Is there a feature in InfoView/Webi to delete trailing blanks?
No, but if you need it for formatting purposes, or to download it to Excel and you want to
remove the trailing blanks, create a variable in your report using the RightTrim.
26)
37 | P a g e
BO FAQ
Once you have the filters indented the way that you want them, double-click on the AND to
turn it to an OR (and visa versa).
What are Alerter, Breaks, Filters and Conditions?
Alters are used for conditional formatting like highlighting the data .
Breaks are nothing but grouping the data without any change in the format.
Condition or Filters are used to get necessary data.
We can apply a maximum of 10 alerters on a single dimension/column and a max of 30
alerters on a report.
28)
Ans.
38 | P a g e
BO FAQ
Edit the report, select the text box, and on the Properties tab Display - Read cell content
as "Text" instead of Hyperlink or HTML.
I'm using the user response to a date prompt in a variable, but want
to see it just as the date, without the time. How can I do this?
Ans. FormatDate(ToDate(UserResponse([Query 1];"Enter Start Date:");"");"MM/dd/yyyy")
31)
39 | P a g e
BO FAQ
To add a logo:
Go to the section, at the bottom, called <!-- Settings Default Skins background per report element
type -->
Add a new KEY entry for the new file as per the example below.
Note that the sequence numbers can be different for each type (4 and 5 in the example below).
<KEY VALUE="cell_skin5,report_skin4,section_skin5,bloc_skin5">
<SKIN NAME="InfoSol Logo" TYPE="stretch">
boimg://LogoCorp.jpg
</SKIN>
</KEY>
When getting 'No data to fetch' message, how can you make the
report to display at least one record?
Ans. Add a second SQL UNION query with the same number of objects and object types in
the Result Objects and make it always return one value. Then you may need to filter this
value out of your reports by adding a simple report level filter. OR
35)
40 | P a g e
BO FAQ
You can have two blocks, one hidden behind the other, where one block is displayed when
there is data, and the other block (with a hard-coded text message) displayed only when
there is no data.
Variable NumRows=NumberOfRows(DataProvider(< Order Date >))
How can you import a single-tab report into another multi-table
report so the single- tab report will keep its formatting?
Ans. Use a template to move the formatting, but have to use VBA or manually move the
data provider as there is no feature within the product to do this.
36)
We use ForEach for detail purpose and ForAll for summary purpose.
In
Input context
Output context
Reset context
In Report
In Block
In Body
41 | P a g e
BO FAQ
Analysis in BO?
Ans. Slice & Dice and Drill analysis.
43)
47)
Ans.
The program requires a Logon As account and Program Job server configured for your
environment.
Process: In CMC go to Objects New object Program
Browse the test script to run
Choose the program type (Executable / Java / Script)
Select the target folder and Submit
What is meant by object store?
Ans. It is the container of object which is created after .rpt file ran once.
50)
42 | P a g e
BO FAQ
51) How to refresh the database changes
Ans. Refresh the Universe then refresh the report.
in the report?
53)
Type is same, 2 tables values are same. How do you find out both
values are same?
In Designer, File tab-->parameter-->Strategy, we have lot options to join. Options are:
Match by column names, Match by values etc..
56)
43 | P a g e
BO FAQ
What is offline mode? How can you log on to BO in off line mode?
Can we refresh a document while working in offline mode using a
Client/Server Connection?
Ans. Using BO in offline mode means that you are not connected to a repository which in
turn means that, whatever your connection type, you will not be able to retrieve and send
documents using BCA
Client Server Connection: If you are using a BO client/server connection offline and not
connected to a repository, you can still work with documents and universes stored locally
on your computer and even create and refresh documents if you have a connection to the
database.
62)
BO FAQ
3000
2975
1 <--- !
2
In a report i need vertical table and below that a chart. How do you
make sure that data overlap does not happen?
Ans. By relative positioning under Appearances
65)
How can you schedule the report to run only when there is data in it?
Ans. You could schedule a report to run and generate output to a file. If the data is not
refreshed, then the logic in the report's SQL should cause the report to fail, therefore
generating no output. If the data is refreshed, then the output file is generated. Next, set up
a File-based Event to watch for that file.
67)
@echo off
dir %1
echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
echo Deleting file: %1\%2.old
del %1\%2.old
echo Renaming %1\%2 to %1\%2.old
45 | P a g e
BO FAQ
What is repository?
(BOE source)
Ans. All universe objects and connections are stored and secured in the central repository.
71)
What is CCM?
Ans. Central Configuration Manager is used to start, stop, enable and disable servers.
72)
What is CMC?
Ans. Central Management Console is a web-based environment used for managing:
User and group creation
Security authentication services
Object rights
Scheduling
Business calendars
License keys
Universe and data connections
73)
What is CMS?
Ans. Central Management Server performs four main tasks:
Maintaining Security
Managing Objects
Managing Servers
Managing Auditing
75)
46 | P a g e
BO FAQ
How you can add ALL in the selection list of LOV in report?
Ans. The process to include All is
Double click on the object in the universe
Under Properties tab, enable Associate a list of values and click Edit
Modify the query as
SELECT ALL FROM DUAL UNION
SELECT DISTINCT Kind.kind FROM Kind
Enable Do not generate SQL before running and click ok
Create a new condition Kind Prompt
Click browse (>>) button next to where clause box and develop the below expression
@Select(Kind\Kind) IN @Prompt(Enter kind code:,A,KIND\KIND,Multi,Free,notpersistent) OR
ALL IN @Prompt(Enter kind code:,A,KIND\KIND,Multi,Free,not-persistent)
And then parse it.
81)
47 | P a g e
BO FAQ
iDocID It is used to specify how to access a particular document in CMS or determine how
to display the document to the user. It is used in conjunction with sIDType
sIDType specifies the type of object identifier.
Values: CUID / ParentID / InfoObjectID
="<ahref="+Char(34)+"/OpenDocument/opendoc/openDocument.jsp?iDocID=Aa6GrrM79c
RAmaOSMGoadKI&sIDType=CUID
sDocName specifies the name of the viewable document. Used in conjunction with sPath
and sType
sPath specifies the name of the folder and subfolder containing the target document.
Values: [folder],[subfolder]
sType specifies the file type of target document.
Values: wid / rpt / car
="<ahref="+Char(34)+"/OpenDocument/opendoc/openDocument.jsp?sDocName=Sales+in+2
011&sPath=[Sales+Reports]&sType=rwid
48 | P a g e
BO FAQ
sInstance specifies the scheduled instance of the target document to open. Used in
conjunction with sDocName or iDocID
Values: User (Latest instance owned by current user)
Last (Latest instance of document)
Param (Latest instance of document with matching parameter values)
="<ahref="+Char(34)+"/OpenDocument/opendoc/openDocument.jsp?sDocName=Sales+in+2
011&sPath=[Sales+Reports]&sType=rwid&sInstance=User
49 | P a g e
BO FAQ
88)
90)
Ans.
50 | P a g e
BO FAQ
Max ([Sales Revenue] In ([Year];[Quarter])) In ([Year])
Max ([Sales Revenue] ForEach ([Quarter])) In ([Year])
OR
OR
#SYNTAX
#ERROR
#DATASYNC
#CONTEXT
#SECURITY
#EXTERNAL
What is #MULTIVALUE?
Ans. #MULTIVALUE occurs when you place a formula that returns more than one value in a
cell that supports one value only.
Example: Multivalue in a cell
92)
You have a report showing Country, Resort and Revenue and you add a cell to the report
containing the formula [Revenue] ForEach ([Country]).
This cell returns #MULTIVALUE because Country has many values in the report and one cell
cannot display the revenues for all the countries.
What is #SYNTAX?
Ans. #SYNTAX occurs when a formula references an object that no longer exists in the
report.
Example: Referencing a non-existent object
93)
You have a report that originally showed Year, Quarter and Sales revenue, with an
additional column showing difference between the revenue and the average yearly
51 | P a g e
BO FAQ
revenue. This figure is given by the variable Difference If this variable is deleted from the
report, the column containing it returns #SYNTAX.
What is #ERROR?
Ans. #ERROR is the default error message that covers all errors not covered by other error
messages.
94)
What is #DATASYNC?
Ans. #DATASYNC occurs when you place a dimension from a different data provider in a
block containing dimensions from another data provider, and the two data providers are
not synchronized through a merged dimension.
#DATASYNC appears in all Dimensions in the block and #CONTEXT in the Measures.
95)
What is #SECURITY?
Ans. #SECURITY occurs when you attempt to use a function for which you do not have
security rights.
Example: Using the DataProviderSQL() function
If a user who does not have the right to view data provider SQL places the
DataProviderSQL() function in a cell, the #SECURITY message appears in the cell.
96)
What is #EXTERNAL?
Ans. #EXTERNAL occurs when a formula references an external function that is not available
to Web Intelligence.
Example: Using the Multicube() in WEBI
97)
52 | P a g e
BO FAQ
Chapter 4: Oracle
What is a Primary Key?
Ans. A primary key is used to uniquely identify each row in a table. It can either be part of
the actual record itself , or it can be an artificial field (one that has nothing to do with the
actual record). A primary key can consist of one or more fields on a table. When multiple
fields are used as a primary key, they are called a composite key.
Primary keys can be specified either when the table is created (using CREATE TABLE) or by
changing the existing table structure (using ALTER TABLE).
1)
3)
BO FAQ
Ans. Both Primary key and Unique Key enforce uniqueness of the column on which they are
defined. But by default primary key creates a clustered index on the column, where are
unique creates a non-clustered index by default. Another major difference is that, primary
key doesnt allow NULL value, but unique key allows NULL values.
What is the difference between WHERE clause and HAVING clause?
Ans. The WHERE clause selects rows before grouping and cannot contain aggregate
functions. The HAVING clause selects rows after grouping and can contain aggregate
functions.
Individual records must to be selected by a query in Where clause. It can be used without
the group by clause. The Having clause cannot be used without the group by clause and is
used in conjuction with GROUP BY clause.
4)
What is Normalization?
Ans. Normalization is the process of efficiently organizing data in a database (that suits
frequent inserts and updates of records in database). There are two goals of the
normalization process: eliminating redundant data (for example, storing the same data in
more than one table) and ensuring data dependencies make sense (only storing related
data in a table). Both of these are worthy goals as they reduce the amount of space a
database consumes and ensure that data is logically stored.
5)
54 | P a g e
BO FAQ
So to avoid such situation, its always better to use Surrogate Keys as Primary Key in
dimension table along with Business Key.
Surrogate Keys are integers that are assigned sequentially in the dimension table which can
be used as PK.
SK_Prouduct Product_ID
Product Name
Cost
Acive
1
336
Baby Powder
444
345
Cream
34
336
talkem Powder
44
Now with above table you can use same code for another Product, mark the product as
Active and Inactive and maintain all the product in Data Warehouse
Advantages of Surrogate Key:
Data need that arises from the Business or operational changes and recycling.
It allows the data warehouse to integrate data from all sources if they lack natural
Business keys.
These are very helpful for ETL transformations
What is Materialized view?
Ans. A materialized view is a database object that contains the results of a query.
CREATE MATERIALZED VIEW MV_NAME AS SELECT stmt;
8)
What is Package?
Ans. Package is a database object which holds other objects in it such as procedures,
functions, cursors, variables, constants and exceptions.
10)
12)
55 | P a g e
BO FAQ
Ans. Triggers do not accept any parameters and is executed internally by the database
engine itself upon data modification to an associated table while procedures accept
parameters and to execute a procedure, it has to be explicitly called by a user.
What is Stored Procedure?
Ans. A Stored procedure is a set of SQL statements with a name assigned to it and stores in
the database in the compiled form. SP are helpful in controlling access to data, preserving
data integrity and improving productivity.
13)
BO FAQ
BEGIN
OPEN cat_cv FOR SELECT * FROM all_objects WHERE owner=owner_name;
END;
14)
Ans.
Select Data---New Data Provider--Stored Procedure
Selector define the db connection
Choose the stored procedure
Specify stored procedure as the data source
Define parameters
What is the difference between Co-related sub query and nested sub
query?
Ans. Correlated subquery runs once for each row selected by the outer query. It contains a
reference to a value from the row selected by the outer query.
Nested subquery runs only once for the entire nesting (outer) query. It does not contain any
reference to the outer query row.
15)
Correlated Subquery:
Select e1.empname, e1.Sal, e1.deptno
From emp e1 where e1.Sal = ( Select max(Sal)
From emp e2
Where e2.deptno = e1.deptno) ;
Nested Subquery:
Select empname, Sal, deptno
From emp where (deptno, Sal) in (
Select deptno, max(Sal)
From emp group by deptno) ;
What is the difference between Truncate, Delete, and Drop?
Ans. DELETE command is used to delete rows from a table and the operation can be
rollback.
TRUNCATE removes all rows from a table. The operation cannot be rolled back and no
triggers will be fired. As such, TRUCATE is faster and doesn't use as much undo space as a
DELETE.
DROP command removes a table from the database. All the tables' rows, indexes and
privileges will also be removed. No DML triggers will be fired. The operation cannot be
rolled back.
16)
57 | P a g e
BO FAQ
SELECT names
, salary
,row_number () OVER (ORDER BY salary DESC) as ROW_NUMBER
,rank () OVER (ORDER BY salary DESC) as RANK
,dense_rank () OVER (ORDER BY salary DESC) as DENSE_RANK
FROM salaries
58 | P a g e
BO FAQ
>>Output
NAMES SALARY ROW_NUMBER RANK DENSE_RANK
F
10000
6000
5000
5000
4000
3000
6
5
Note: rank () OVER (Partition by deptno ORDER BY salary DESC NULLS LAST) as RANK (try
this)
Write SQL query to list top 5 employee salary?
Ans. SELECT A.SAL FROM (
SELECT
ROWNUM, E.*
FROM
EMP E
ORDER BY E.SAL DESC ) A
WHERE A.ROWNUM <= 5
24)
25)
Ans.
Even:
Odd:
26)
Ans.
SELECT *
FROM ( SELECT rownum rn, empno, ename
FROM emp
) temp
WHERE MOD(temp.ROWNUM,4) = 0;
27)
BO FAQ
Ans.
SELECT DISTINCT A.SAL FROM EMP A
WHERE N = ( SELECT COUNT(DISTINCT(B.SAL)) FROM EMP B
WHERE A.SAL >= B.SAL);
28)
Ans.
SELECT ename, sal
FROM ( SELECT ename, sal, RANK() OVER (ORDER BY sal DESC) sal_rank
FROM emp )
WHERE sal_rank <= 10;
29)
Ans.
SELECT ename, sal
FROM ( SELECT ename, sal, DENSE_RANK() OVER (ORDER BY sal DESC) sal_dense_rank
FROM emp )
WHERE sal_dense_rank <= 10;
30)
Ans.
SELECT ename, sal
FROM ( SELECT ename, sal, RANK() OVER (ORDER BY sal ASC) sal_rank
FROM emp )
WHERE sal_rank <= 10;
31)
Ans.
SELECT ename, sal
FROM ( SELECT ename, sal, DENSE_RANK() OVER (ORDER BY sal ASC) sal_dense_rank
FROM emp )
WHERE sal_dense_rank <= 10;
32)
Ans.
60 | P a g e
BO FAQ
SELECT *
FROM (
FROM emp
Where rownum < 101
) temp
WHERE rn BETWEEN 50 AND 60;
34)
Ans.
SELECT * FROM emp
SAMPLE(10);
It randomly returns 10% of the rows in the table.
35)
Ans.
select sysdate, sysdate+1/24, sysdate +1/1440, sysdate + 1/86400 from dual;
SYSDATE
SYSDATE+1/24
SYSDATE+1/1440
SYSDATE+1/86400
-------------------- -------------------- -------------------- -------------------03-Jul-2002 08:32:12 03-Jul-2002 09:32:12 03-Jul-2002 08:33:12 03-Jul-2002 08:32:13
Date Expression
Now
SYSDATE
SYSDATE + 1
SYSDATE + 7
SYSDATE + 1/24
SYSDATE + 3/24
SYSDATE + 1/48
SYSDATE + 10/1440
SYSDATE + 30/86400
Tomorrow at 12 midnight
TRUNC(SYSDATE + 1)
Tomorrow at 8 AM
TRUNC(SYSDATE + 1) + 8/24
TRUNC(LAST_DAY(SYSDATE ) + 1)
61 | P a g e
BO FAQ
midnight
The next Monday, Wednesday or
Friday at 9 a.m
62 | P a g e