OBIEE Life Cycle
OBIEE Life Cycle
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
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
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
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
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.
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 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?