0% found this document useful (0 votes)
136 views

OBIEE Life Cycle

The OBIEE life cycle involves gathering requirements, identifying data sources, designing ETL processes, building a repository, developing dashboards and reports, defining security, testing performance and aggregations, and conducting testing and QA. The three layers of the RPD are the physical layer for data access, the BMM layer for business logic and mappings, and the presentation layer for arranging data display.

Uploaded by

VHP tube
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
136 views

OBIEE Life Cycle

The OBIEE life cycle involves gathering requirements, identifying data sources, designing ETL processes, building a repository, developing dashboards and reports, defining security, testing performance and aggregations, and conducting testing and QA. The three layers of the RPD are the physical layer for data access, the BMM layer for business logic and mappings, and the presentation layer for arranging data display.

Uploaded by

VHP tube
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 6

OBIEE life cycle

What is the end to end life cycle of OBIEE?


OBIEE life cycle:
1. Gather Business Requirements
2. Identify source systems
3. Design ETL to load to a DW if source data doesn’t exist.
4. Build a repository
5. Build dashboard or use answers for reporting.
6. Define security (LDAP or External table…)
7. Based on performance, decide on aggregations and/or caching mechanism.
8. Testing and QA.

Three layers of RPD


What are the three layers of RPD?
RPD(Repository) is divided into 3 layers
1. Physical Layer: This layer is used for
Importing data
Creating Aliases
Building physical joins
Setting up connection pool and its properties
Enabling/ Disabling cache for individual table
2. BMM(Business Model & Mapping) Layer: This layer is used for
Writing the business logic
Creating Logical columns and tables
Creating hierarchy
Creating LBM (level based measures)
Creating shares
Creating Time series functions
Creating Fragmentation on tables
Creating filters on repository
3. Presentation Layer: This layer is used for
Arranging the data for users view (Folder Structure)
Creating Presentation hierarchy
Creating Implicit Fact column
Implementing Column level security
You might also like:
Variables in RPD
OBIEE Components
OBIEE 10g vs OBIEE 11g?
OBIEE Architecture
Cache Management

How to handle snowflake schema?


We handle snowflake by using Multiple LTS in the BMM layer

How do we create multiple LTS?


Multiple LTS is created in the BMM layer.
Create a new logical table in the BMM layer
Drag and Drop the required tables into logical table source from the physical layer
Specify the joining column in the tables
Level Based Measures
What are level based measures (metrics)?
Level-based metrics means, having a measure pinned at a certain level of the dimension. For
Example, if you have a measure called “Dollars”, you can create a “Level Based Measure” called
“Yearly Dollars” which is Dollars for a Year. This measure will always return the value for the year
even if you drill down to a lower level like quarter, month… etc. To create a level based measure,
create a new logical column based on the original measure (like Dollars in the example above). Drag
and drop the new logical column to the appropriate level in the Dimension hierarchy (in the above
example you will drag and drop it to Year in Time Dim)
· A LBM is a metric that is defined for a specific level or intersection of levels.
· Monthly Total Sales or Quarterly Sales are the examples.
· You can compare monthly sales with quarterly sales. You can compare customer orders this quarter
to orders this year

Variables in RPD
Explain about the variables in RPD
The variables in RPD are divided into two classes
1. Repository variables
a. Static variable
b. Dynamic variable
2. Session variable
a. System variable
b. Non-System variable
1. Repository Variables:
A Repository variable has a single value at a point of time. They are divided into two types
a. Static: This value persists and does not change until we change it manually
b. Dynamic: The values are refreshed by data returned from queries. When creating a dynamic
repository variable, you will create an initialization block or use preexisting one that contains a
SQL query. You will set up a schedule that the BI server will follow to execute the query and
periodically refresh the value of the variable
2. Session variables:
Session variables are created and assigned a value when each user logs in. They are divided into
two types
a. System: these are session variables having reserved names. Ex: User, group, proxy,etc
b. Non-System: these are session variables having the names other than system session variables

Initialization Block
What is an Initialization block? Give me an example where you can use them
Initialization block is used for instantiating a session when user logs in.
They are used to write SQL statements for creating a dynamic variable

When does each these variables get initialized?


In OBIEE 10g, variables get initialized when the session starts
In OBIEE 11g, variables are initialized when they are used

What is execution precedence?


Execution precedence is used to determine the sequence in which the Init blocks are to be
initialized.

Logging Level
What is Logging level?
Set the logging level based on the amount of logging you want to do. In normal operations, logging
is generally disabled (the logging level is set to 0). If you decide to enable logging, choose a logging
level of 1 or 2. These two levels are designed for use by OBIEE Server administrators. You can enable
logging level for individual users; you cannot configure a logging level for a group.
To set Logging Level
1. In the Administration Tool, select Manage > Security.
2. The Security Manager dialog box appears.
3. Double-click the user’s user ID.
4. The User dialog box appears.
5. Set the logging level by clicking the Up or Down arrows next to the Logging Level field
Can we create time series functions at frond end?
No, in OBIEE 10g
Yes, new feature added in 11g

Online and Offline mode


What is Online and Offline mode in OBIEE?
In OBIEE reposirtory can be opened in two modes
1. Online mode
2. Offline mode
1. Online mode: To open a repository in online mode is to make changes to the repository which is
already loaded in the server. In this mode the user can only edit the repository which loaded in the
memory.
Applying the changes at front end after editing in online mode:
Save the changes
check for consistency
In the front end reload the server metadata
2. Offline mode: To open a repository in Offline mode is to make changes to any available
repository irrelevant to the server. The user can edit any repository that is available
Applying the changes at front end after editing in online mode:
Save the changes
check for consistency Restart the services

When does the repository open in 'Read Only' mode?


The repository opens in read only mode when the server is restarted with the Administration
tool(rpd) open.

How to create new users and groups? (Roles and Policies)


In OBIEE 10g, goto
Manage>Security
There you can create groups and users

Calculation wizard
What is Calculation wizard?
Calculated is used to create logical columns which have predefined formulas. Using Caluculation
wizard we can create four columns they are
Change
CurrentX - ComparisonX
Index
1.0 * CurrentX / ComparisonX
Percent Change
100.0 * (CurrentX - ComparisonX) / ComparisonX
Percent
100.0 * (CurrentX / ComparisonX)
CurrentX -> Column using which Calculation wizard was invoked
ComparisonX -> Column chosen in the wizard for comparison

What are aggregate tables and why do we create them?


Aggregate tables store pre-computed results, which are measures that have been aggregated
(typically summed) over a set of dimensional attributes. Using aggregate tables is a very popular
technique for speeding up query response times in decision support systems.
If you are writing SQL queries or using a tool that only understands what physical tables exist (and
not their meaning), taking advantage of aggregate tables and putting them to good use becomes
more difficult as the number of aggregate tables increases. The aggregate navigation capability of the
OBIEE Server, however, allows queries to use the information stored in aggregate tables
automatically, without query authors or query tools having to specify aggregate tables in their
queries. The OBIEE Server allows you to concentrate on asking the right business question; the
server decides which tables provide the fastest answers
How does the BI server have the knowledge of hitting the aggregate tables?
After creating aggregate tables we set it in the content tab of the aggregate table

What is the use of aggregate persistence wizard?


Aggregate persistence wizard is used to create aggregate tables.

Hierarchy
A Hierarchy is set of parent-child relationship between certain attributes of a dimension.
An example gives you a clear idea what an hierarchy is

To know about Ragged and Skipped hierarchies check this


http://prashanthobiee.blogspot.in/2013/01/ragged-and-skipped-hierarchy.html

How do we create shares?


What is time dimension?
What are time series functions? Explain MonthAgo, ToDate and Period Rolling

Ragged and Skipped Hierarchy


OBIEE 11g supports Ragged and Skipped hierarchies. Let see what they actually are
Ragged Hierarchy: A Ragged hierarchy is a hierarchy which has unbalanced child attributes
In the example below C1 doesn't have a child(level D)attribute while C2 has child attributes(level D).
It is unbalanced
Skipped Hierarchy: A Skipped hierarchy is a hierarchy in which some child doesn't have a direct
parent attribute i.e., some attributes missing at some level.
In the example below D3 and D4 has direct parent attribute(level C) while D5 doesn't have a direct
parent attribute(level C). Level C is skipped for the child D5

What is an event polling table and how do we create it?


Explain about data level security and object level security
What is a physical join and a complex join?

MUDE
Explain about MUDE
MUDE (Multi-user development environment) is used for multi-user development of the
repository.
Create a shared directory on the network for Multi-user Development (MUD). Open the RPD to use in MUD. From
Tools->Options, setup the MUD directory to point to the above
directory. Define projects within the RPD to allow multiple users to develop within their subject area or Facts.
Save and move the RPD to the shared directory setup in point 1. When users work in the MUD mode, they open the
admin tool and start with
MUD ->Checkout to check out the project they need to work on (not use the File open as you would
usually do).
After completely the development, user checking the changes back to the network and merge the
changes.

What is an opaque view?


OPAQUE VIEWS are the tables that are created with join or other query data that contain SELECT
query o/p. The opaque views make logical understanding simple for implementation but they are
heavy performance constraints. They are only used when there is no other way to get the final
solution.

Surrogate key
What is Surrogate key ? Where we use it explain with examples???
Surrogate key is a substitution for the natural primary key.
It is just a unique identifier or number for each row that can be used for the primary key to the
table. The only requirement for a surrogate primary key is that it is unique for each row in the table.
Data warehouses typically use a surrogate, (also known as artificial or identity key), key for the
dimension tables primary keys. They can use Infa sequence generator, or Oracle sequence, or SQL
Server Identity values for the surrogate key.
It is useful because the natural primary key (i.e. Customer Number in Customer table) can change
and this makes updates more difficult.
Some tables have columns such as AIRPORT_NAME or CITY_NAME which are stated as the
primary keys (according to the business users) but ,not only can these change, indexing on a
numerical value is probably better and you could consider creating a surrogate key called, say,
AIRPORT_ID. This would be internal to the system and as far as the client is concerned you may
display only the AIRPORT_NAME.
Another benefit you can get from surrogate keys (SID) is :
Tracking the SCD - Slowly Changing Dimension.
Example:
On the 1st of January 2002, Employee 'E1' belongs to Business Unit 'BU1' (that's what would be in
your Employee Dimension). This employee has a turnover allocated to him on the Business Unit
'BU1' But on the 2nd of June the Employee 'E1' is muted from Business Unit 'BU1' to Business Unit
'BU2.' All the new turnover have to belong to the new Business Unit 'BU2' but the old one should
Belong to the Business Unit 'BU1.'
If you used the natural business key 'E1' for your employee within your datawarehouse everything
would be allocated to Business Unit 'BU2' even what actually belongs to 'BU1.'
If you use surrogate keys, you could create on the 2nd of June a new record for the Employee 'E1' in
your Employee Dimension with a new surrogate key.
This way, in your fact table, you have your old data (before 2nd of June) with the SID of the
Employee 'E1' + 'BU1.' All new data (after 2nd of June) would take the SID of the employee 'E1' +
'BU2.'
You could consider Slowly Changing Dimension as an enlargement of your natural key: natural key
of the Employee was Employee Code 'E1' but for you it becomes
Employee Code + Business Unit - 'E1' + 'BU1' or 'E1' + 'BU2.' But the difference with the natural key
enlargement process, is that you might not have all part of your new key within your fact table, so
you might not be able to do the join on the new enlarge key -> so you need another id..

What are the different ways of managing cache?


Consider a Dimension column 'A' is non-cached and Fact column 'B' is cached. A
request is made which includes all the rows of A and B. first time when the request is made it hits the database and

how about the second time?


It hits the database again. The request will not be cached

What is alternative drill path? How do you set alternative drill path in OBIEE?
I want to store the value of the last time the repository was updated and show it in the
dashboard? What type of variable can be used for this purpose?
Is there any way to see a list of all the repository variables defined in your repository
using Answers tool?

What is Fragmentation and where is it used?


In hierarchy what is a 'grand total level' and what does number of elements mean?
What is shared as a child level in hierarchy?
How to set query limits?
What is presentation level hierarchy? (OBIEE 11g)?
What is a presentation variable? Give an example where it is used

What is a request variable?


A request variable is used to override a session variable

How can we use the variables in column formulas in front end?


Explain all the places where the variables can be used…..

You might also like