OBIEE Interview Questions and Answers FAQ
These questions are related to what previously known as Siebel Analytics is now known as
OBIEE i.e Oracle Business Intelligence Enterprise Edition.
” Define repository in terms of Siebel Analytics
o Repository stores the Meta data information. Siebel repository is a file system ,extension of the
repository file. rpd.
o META DATA REPOSITORY
o With Siebel Analytics Server, all the rules needed for security, data modeling, aggregate
navigation, caching, and connectivity is stored in metadata repositories.
o Each metadata repository can store multiple business models. Siebel Analytics Server can
access multiple repositories
” What is the end to end life cycle of Siebel Analytics?
o Siebel Analytics 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.
” What were you schemas? How does Siebel Architecture works? Explain the three layers.
How do you import sources?
o There are five parts of Siebel Architecture.
1. Clients
2. Siebel analytics Web Server
3. Siebel analytics server
4. Siebel analytics scheduler
5. data sorces
o Metadata that represents the analytical Model Is created using the siebel Analytics
Administration tool.
o Repository divided into three layer
1. Physical – Represents the data Sources
2. Business – models the Data sources into Facts And Dimension
3. Presentation – Specifies the users view of the model;rendered in Siebel answer
” If you have 3 facts and 4 dimension and you need to join would you recommend joining
fact with fact? If no than what is the option? Why you won’t join fact to fact?
o In the BMM layer, create one logical table (fact) and add the 3 fact table as logical table source
” What is connection pool and how many connection pools did you have in your last
project?
o connection pool is needed for every physical database.
o It contains information about the connection to the database, not the database itself.
o Can use either shared user accounts or can use pass-through accounts -Use: USER and
PASSWORD for pass through .
o We can have multiple connection pools for each group to avoid waitin
” Purpose of Alias Tables
o An Alias table (Alias) is a physical table with the type of Alias. It is a reference to a logical
table source, and inherits all its column definitions and some properties from the logical table
source. A logical table source shows how the logical objects are mapped to the physical layer and
can be mapped to physical tables, stored procedures, and select statements. An alias table can be
a reference to any of these logical table source types.
o Alias Tables can be an important part of designing a physical layer. The following is a list of
the main reasons to create an alias table:
” To reuse an existing table more than once in your physical layer (without having to import it
several times)
” To set up multiple alias tables, each with different keys, names, or joins
o To help you design sophisticated star or snowflake structures in the business model layer. Alias
tables are critical in the process of converting ER Schemas to Dimensional Schemas.
” How do you define the relationship between facts and dimensions in BMM layer?
o Using complex join ,we can define relationship between facts and dimentions in BMM layer.
” What is time series wizard? When and how do you use it?
o We can do comparison for certain measures ( revenue.,sales etc.. ) for current year vs previous
year, we can do for month or week and day also
o Identify the time periods need to be compared and then period table keys to the previous time
period.
o The period table needs to contain a column that will contain “Year Ago” information.
o The fact tables needs to have year ago totals.
o To use the “Time series wizard”. After creating your business model right click the business
model and click on “Time Series Wizard”.
o The Time Series Wizard prompts you to create names for the comparison measures that it adds
to the business model.
o The Time Series Wizard prompts you to select the period table used for the comparison
measures
o Select the column in the period table that provides the key to the comparison period. This
column would be the column containing “Year Ago” information in the period table.
o Select the measures you want to compare and then Select the calculations you want to
generate. For ex: Measure: Total Dollars and calculations are Change and Percent change.
o Once the Time series wizard is run the output will be:
a) Aliases for the fact tables (in the physical layer)
b) Joins between period table and alias fact tables
c) Comparison measures
d) Logical table sources
o In the General tab of the Logical table source etc you can find “Generated by Time Series
Wizard” in the description section
o Then you can add these comparision measures to the presentation layer for your reports.
o Ex: Total sales of current qtr vs previous qtr vs same qtr year ago
” Did you create any new logical column in BMM layer, how?
o Yes. We can create new logical column in BMM layer.
o Example: Right click on fact table -new lgical column-give name for new logical column like
Total cost.
o Now in fact table source,we have one option column mapping, in that we can do all calculation
for that new column.
” Can you use physical join in BMM layer?
o yes we can use physical join in BMM layer.when there is SCD type 2 we need complex join in
BMM layer.
” Can you use outer join in BMM layer?
o yes we can.When we are doing complex join in BMM layer ,there is one option type,outer join
is there.
” What are other ways of improving summary query reports other than Aggregate
Navigation and Cache Management
” Indexes
” Join algorithm
” Mat/view query rewrite
” Web proper report design its optimal by making sure that it is not getting any addition column
or rows
” What is level-base matrics?
o Leval-base matrics 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 (you guessed it) 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
o A LBM is a metric that is defined for a specific level or intersection of levels.
o Monthly Total Sales or Quarterly Sales are the examples.
o You can compare monthly sales with quarterly sales. You can compare customer orders this
quarter to orders this year
” What is logging level?Where can you set logging levels?
o You can enable logging level for individual users; you cannot configure a logging level for a
group.
o 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
o level of 1 or 2. These two levels are designed for use by Siebel Analytics Server administrators.
o 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
” What is variable in sieble?
o You can use variables in a repository to streamline administrative tasks and modify metadata
content dynamically to adjust to a chainging data environment.The Administration Tool includes
a Variable Manager for defining variables
” What is system variable and non system variable?
o System variables
o System variables are session variables that the Siebel Analytics Server and Siebel Analytics
Web use for specific purposes. System variables have reserved names, which cannot be used for
other kinds of variables (such as static or dynamic repository variables, or for nonsystem session
variables).
o When using these variables in the Web,preface their names with NQ_SESSION. For example,
to filter a column on the value of the variable LOGLEVEL set the filter to the Variable
NQ_SESSION.LOGLEVEL.
o Nonsystem variables.
o A common use for nonsystem session variables is setting user filters. For example, you could
define a nonsystem variable called SalesRegion that would be initialized to the name of the user.s
sales region. You could then set a security filter for all members of a group that would allow
them to see only data pertinent to their region.
o When using these variables in the Web, preface their names with NQ_SESSION. For example,
to filter a column on the value of the variable SalesRegion set the filter to the Variable
NQ_SESSION.SalesRegion.
” What are different types of variables? Explain each.
o There are two classes of variables:
1. Repository variables
2. Session variables.
Repository variables.
A repository variable has a single value at any point in time. There are two types of repository
variables:
static : This value persists, and does not change until a Siebel Analytics Server administrator
decides to change it.
dynamic:The values are refreshed by data returned from queries. When defining a dynamic
repository variable, you will create an initialization block or use a preexisting one that contains a
SQL query. You will also set up a schedule that the Siebel Analytics Server will follow to execute
the query and periodically refresh the value of the variable.
Session Variables
Session variables are created and assigned a value when each user logs on. There are two types
of session variables:
1.system
2.nonsystem.
” What are the cache management? Name all of them and their uses. For Event polling
table do u need the table in your physical layer?
o Monitoring and managing the cashe is cache management.There are three ways to do that.
o Disable caching for the system.(INI NQ config file), Cashe persistence time for specified
physical tables and Setting event polling table.
o Disable caching for the system.(INI NQ config file :
You can disable caching for the whole system by setting the ENABLE parameter to NO in the
NQSConfig.INI file and restarting the Siebel Analytics Server. Disabling caching stops all new
cache entries and stops any new queries from using the existing cache. Disabling caching allows
you to enable it at a later time without losing any entries already stored in the cache.
o Cashe persistence time for specified physical tables :
You can specify a cachable attribute for each physical table; that is, if queries involving the
specified table can be added to the cache to answer future queries. To enable caching for a
particular physical table, select the table in the Physical layer of the Administration Tool and
select the option Make table cachable in the General tab of the Physical Table properties dialog
box. You can also use the Cache Persistence Time settings to specify how long the entries for this
table should persist in the query cache. This is useful for OLTP data sources and other data
sources that are updated frequently, potentially down to every few seconds.
o Setting event polling table :
Siebel Analytics Server event polling tables store information about updates in the underlying
databases. An application (such as an application that loads data into a data mart) could be
configured to add rows to an event polling table each time a database table is updated. The
Analytics server polls this table at set intervals and invalidates any cache entries corresponding
to the updated tables.
o For event polling table ,It is a standalone table and doesn’t require to be joined with other
tables in the physical layer
” What is Authentication? How many types of authentication.
o Authentication is the process by which a system verifies, through the use of a user ID and
password, that a user has the necessary permissions and authorizations to log in and access data.
The Siebel Analytics Server authenticates each connection request it receives.
” Operaing system autentication
” External table authentication
” Database authentication
” LDAP authentication
” What is object level security?
o There are two types of object level security: Repository level and Web level
o Repository level : In presention layar we can set Repository level security by giving permission
or deny permission to users/groups to see particular table or column.
o web level:thisprovides security for objects stored in the siebel anlytics web catlog,such as
dashboards,dashboards pages,folder,and reportsyou can only view the objects for which you are
authorized. For example,a mid level manager may not be granted access to a dashboard
containing summary information for an entire department.
” What is data level security?
o This controls the type an amount of data that you can see in a report.When multiple users run
the same report the results that are returned to each depend on their access rights and roles in the
organization.For example a sales vice president sees results for alll regions, while a sales
representative for a particular region sees onlu datafor that region.
” What is the difference between Data Level Security and Object Level Security?
o Data level security controls the type and amount of data that you can see in a
reports.Objectlevel security provides security for objects stored in the siebel analytics web
catlog, like dashboards,dashboards pages,folder,and reports.
” How do you implement security using External Tables and LDAP?
o Instead of storing user IDs and passwords in a Siebel Analytics Server repository, you can
maintain lists of users and their passwords in an external database table and use this table for
authentication purposes. The external database table contains user IDs and passwords, and could
contain other information, including group membership and display names used for Siebel
Analytics Web users. The table could also contain the names of specific database catalogs or
schemas to use for each user when querying data
o Instead of storing user IDs and passwords in a Siebel Analytics Server repository, you can have
the Siebel Analytics Server pass the user ID and password entered by the user to an
LDAP(Lightweight Directory Access Protocol ) server for authentication. The server uses clear
text passwords in LDAP authentication. Make sure your LDAP servers are set up to allow this.