obiee interview questions

23
SAMPLE INTERVIEWS Sample Interview 1:' 1. In your previous project, what were your sources? 1. we can tell 1. oracle apps 2. siebel 3. Peoplesoft 4. Jdedwards 5. Mainframes ..etc 2. Have you ever worked with MySequel or Essbase sources? 1. you can tell yes or no 3. If you have 1 fact and 4 dimension, which table would you import first? 1. Anything we can import 2. If we are loading data using ETL then first we need to load dimension tables then fact tables 4. If you have two fact, can you join fact to fact. 1. No .if we join fact to fact we wont get star schemas hence we can not define content logical level 5. In the logical layer, the logical join, what is the cardinality? 1. It tells how the tables are related ,based on this obiee understands fact and dimension tables 6. How do you use the chronological key 1. In case time based hierarchies it will do calculations based on this key 2. example : month level 12 +1 =1 and day level 31+1=1 7. Cache management? 1. Please refer class room notes 2. 8. Have you used IBot? 1. IBOTS and AGENTS are same ,please refer class room notes 9. Have you ever installed and what environment? 1. you can tell yes or no .but if you say YES you need to aware of LINUX /windows server installation process 2. http://rritec.blogspot.in/2014/09/obia-111181- installation.html

Upload: pr

Post on 12-Sep-2015

34 views

Category:

Documents


0 download

DESCRIPTION

obiee

TRANSCRIPT

SAMPLE INTERVIEWSSample Interview 1:' 1. In your previous project, what were your sources?1. we can tell1. oracle apps2. siebel3. Peoplesoft4. Jdedwards5. Mainframes ..etc2. Have you ever worked with MySequel or Essbase sources?1. you can tell yes or no3. If you have 1 fact and 4 dimension, which table would you import first?1. Anything we can import2. If we are loading data using ETL then first we need to load dimension tables then fact tables4. If you have two fact, can you join fact to fact.1. No .if we join fact to fact we wont get star schemas hence we can not define content logical level5. In the logical layer, the logical join, what is the cardinality?1. It tells how the tables are related ,based on this obiee understands fact and dimension tables6. How do you use the chronological key1. In case time based hierarchies it will do calculations based on this key 2. example : month level 12 +1 =1 and day level 31+1=17. Cache management?1. Please refer class room notes2. 8. Have you used IBot?1. IBOTS and AGENTS are same ,please refer class room notes9. Have you ever installed and what environment?1. you can tell yes or no .but if you say YES you need to aware of LINUX /windows server installation process 2. http://rritec.blogspot.in/2014/09/obia-111181-installation.html10. Have you ever did configurations on a linux environment?1. Yes or NO .if you say YES then need to answer steps of configuration11. Say that you have a report that is running for long hour, let's say 20 minutes, how do you debug it?1. we will take SQL query of the report and as for the query we will apply aggregat tables /cache/hints/partition/log level/index creation..etc12. What kind of security do you use?1. LDAP2. External table13. where you involved in code migration from one environment to another?1. Yes .refer classroom notes deployment chapter 14. Say you developed a code, how do you migrate the code changes to production?1. using Catalog manger for more info refer deployment chapter15. Can you give me a brief background of your obiee experience.1. Refer project video of mine16. Can you explain to me about your previous project?1. Refer project video of mine

OBIEE INTERVIEW QUESTIONSHandson01: Physical Layer1. What is connection pool1. Connection pool is a physical layer object ,is useful to store data base credentials like database name, username, password..etc.2. OBIEE oracle BI Server contacts data base using connection pool2. How to import views/materialized views?1. While importing we need to enable views option3. What is the isolation level in a connection pool1. It applies only For ODBC and DB2 gateways only. The value sets the transaction isolation level on each connection to the back-end database. The isolation level setting controls the default transaction locking behavior for all statements issued by a connection. Only one option can be set at a time. It remains set for that connection until it is explicitly changed.2. The following options are available:1. Dirty read.Implements dirty read (isolation level 0 locking). This is the least restrictive isolation level. When this option is set, it is possible to read uncommitted or dirty data, change values in the data, and have rows appear or disappear in the data set before the end of the transaction.Dirty datais data that needs to be cleaned before being queried to obtain correct results (for example, duplicate records, records with inconsistent naming conventions, or records with incompatible data types).2. Committed read.Specifies that shared locks are held while the data is read to avoid dirty reads. However, the data can be changed before the end of the transaction, resulting in non repeatable reads or phantom data.3. Repeatable read.Places locks on all data that is used in a query, preventing other users from updating the data. However, new phantom rows can be inserted into the data set by another user and are included in later reads in the current transaction.4. Serializable.Places a range lock on the data set, preventing other users from updating or inserting rows into the data set until the transaction is complete. This is the most restrictive of the four isolation levels. Because concurrency is lower, use this option only if necessary.4. How many connection Pools you used in your project1. It is a general question ,there is no fixed answer, however in each project we will have minimum three connection pools1. One for importing tables and execute reports2. One for execute session initialization block sql queries3. One for usage tracking purpose2. Recommended number is between 2 to 10.but justification is important.5. To get data of another schema ,then what we need to enable in connection pool1. Required fully qualified names2. DB permissions

6. Can we create multiple connection pools under one database object1. Yes, we can

7. What is the difference between Duplicate and Alias in physical layer1. We will use Alias in physical layer to resolve below problems1. Self Join2. To maintain naming Standards in physical layer3. Resolve loops or closed paths2. Duplicate normally used in Physical layer to create a duplicate copy of existing Select table (Opaque View) /stored Procedure object8. How many types of Joins are there in Physical layer?1. Two types1. Foreign Key join1. Equivalent to Equi join2. Accepts only = operator3. Most used join in physical layer2. Complex Join1. Equivalent to Non Equi join2. Accepts all operators like (=,,=>,,=.etc)3. Less used join in Physical layer9. Can we create self join1. By using Alias table , we can create self join.10. Can we create outer join in physical layer.1. In Physical Layer Outer join not possible ,however we can create outer join in BMM layer .11. How to remove unused objects from physical layer1. It will remove objects, which we did not use in BMM layer2. Toolsmenu|Utilities|Remove unused objects from physical layer12. How to synchronize physical layer objects1. It is useful to synchronize RPD metadata with DB metadata2. Tools|Utilities|Update Physical Layer13. What is complex join, in which scenario we use it.1. If foreign key is not possible then we will go for complex join. For example between emp and salgrade we will use complex join2. In place of non equi join ,complex join is used14. In foreign key join can we use other than equal to operator1. No15. What is Opaque view1. A SQL query or select statement is called as opaque view.2. If we need a new table then go for physical table (or) materialized view. In worst situation go for opaque view.3. Opaque views are not supported by non relational db.(example MS Excel ,XML ,ESSBASE etc)4. If we need to call data base function then we have to go for Opaque View .16. Is deploying opaque is mandatory?1. No. but it is recommended due to below reason2. Without deploying view into database, if we use opaque view in reports then oracle BI server needs to createcomplex queries. To avoid complex queries oracle recommended to deploy each and every opaque view into database.17. When automatic joins will be created in physical layer.1. If we have primary key andforeignKey relation ship in database level and while importing if weenableforeign keyoptions then automatic joins will be created .18. What is Alias1. A virtual physical table (or) reference of physical table is called as alias.2. On one physical table we can create n no. of aliases.3. Whatever changes occurred in physical table that will immediately reflect in alias (exceptKey definitions)4. It is mainly useful to resolve loops19. Can we create or delete a column from Alias.1. No20. How to eliminate Circular Join or loop or closed path.1. By Using Alias

Handson02:Business Model and Mapping Layer1. What is the business model1. Is the highest-level object in the BMM layer2. Contains the business model definitions and the mappings from logical to physical tables3. Simplifies the physical schema4. Captures how users think about their businesses using their own vocabulary2. Can we create business model with single logical table, if no please let me know work around.1. Approach 1:Creating duplicate table in BMM layer2. Approach 1:Creating alias and creating join betweenoriginaltable and alias3. Can we create business model from multiple databases, did you created then tell me one scenario1. Yes2. Scenario: when we want to compare the Actual data with target data and these data coming from sources like oracle database and MS-Excel respectively4. What is the Logical Table Source and when we will go for multiple logical tables1. Logical table sourcesdefinethe mappingsfrom single logical table to one or more physical tables.2. Alogical tablecontains one or more logical table source.3. The mapping between physical columns and logical columns can manage using LTS4. Byintegrating multiple physical tables to LTSorBy integrating multiple LTS to LT we can convert snow flake schema into star schema5. When we need to integrate multiple physical tables in LTS.1. If we have snowflake schema then want to convert that into star schema then we will go for multiple logical tables.6. Did you get chance to map a logical column with multiple physical columns1. Yes, If we want to configure aggregate tables then we need to do it .7. What is logical join and why it is useful?1. A: The join defined in the BMM Layer is called logical join1. Logical join is used to defined driving table2. Logical Join is used to define Inner, Right, Left and Full outer joins3. Used to defined the cardinality4. Logical join is useful to identify dimension and fact table5. Logical join allows Oracle BI Server to make the best decision about the exact physical SQL to generate based on the logical query path.8. 7.Can we have a table without logical join?1. No9. Can we have a dimension table without primary key?1. No10. Can we copy RPD objects within the RPD and from one RPD to another RPD?1. Yes, we can copy RPD objects with in the RPD.2. We can copy one RPD to another RPD but we need to copycorrespondinglayers only i.e. (physical to physical, BMM to BMM and presentation to presentation)11. What is Renaming wizard and which layers can be modified.1. Renaming wizard is used to rename all objects ( example : tables and columns) of BMM and Presentation layer2. Handson03:Presentation Layer1. Can we create a subject area from multiple business models1. No2. In which version of OBIEE , presentation layer supporting hierarchy object1. OBIEE 11G3. What is Aliases

1. Keep track of any changes to Presentation layer objects2. 4. What are nested tables1. Prefix the name of the presentation folder to be nested with a hyphen and a space.ortype " - > "in description of the column2. Place it after the folder in which it nests5. Can we map a presentation column with multiple logical columns1. we can not6. A report as shown is using by business

Handson04:Testing / Validating Repository1. What is global consistency check1. Consistency check is one of the processes to check whether a repository is yielding proper results in Answer reports. It checks whether;1. All logical columns are mapped correctly to physical columns.2. All logical dimension tables have a logical key.3. Are there at least two logical tables in the business model (one is a logical fact table and the other is logical dimension table with join condition).4. There are no circular logical join relationships.5. A presentation catalog exists for the business model.2. How many messages are there in consistency check manager?1. Upto OBIEE 11.1.1.5 version There are 3 messages in consistency check manager such as1. Errors2. Warnings3. Best Practices2. In OBIEE 11.1.1.6 version onwards There are 3 messages in consistency check manager such as1. Errors2. Warnings3. In OBIEE how many servers are there1. In OBIEE 11G we have 6 servers1. Oracle BI Server2. Oracle BI Presentation server3. OracleBI Java host server4. OracleOracleBI Scheduler server5. OracleBI Cluster controller server6. Web logic Server (newly added in OBIEE11G)4. What is OPMNCTL and how many servers are integrated in it.1. The Oracle Process Manager and Notification Server Control1. Oracle BI Server2. Oracle BI Presentation server3. OracleBI Java host server4. OracleOracleBI Scheduler server5. OracleBI Cluster controller server5. NQSCONFIG.INI and NQSERVER.log files are corresponding to which server.1. OBI server6. Can we load multiple RPDs in Oracle BI server1. No, we cant7. Can we upload RPD without using EM?1. We cant8. How many log levels are available1. Totally 8 levels (0 to 7)9. What are the log levels in development , test and production, you used in your project.1. InDevelopment and Test we will use log level as 22. In production we will use log level 010. All query logs will be stored in which file and what is that file physical path

1. NQQUERY.log file2. C:\OBIEE_OBIEE\instances\instance1\diagnostics\logs\OracleBIServerComponent\coreapplication_obis111. In log level 1 can we see physical SQL query.1. No, we can not see the physical SQL query it shows logical SQL query.2. If you set logging level as 2 then it gives all log information of level 1 along with physical SQL query12. Global consistency check is not throwing any errors, then can we assume RPD is correct1. Syntax wise it is correct .Business rules wise we may have some mistake1.Handson05:.Adding Multiple Physical Table Sources

1. Table 1 and Table 2 have no direct join in physical layer. Can we map both in single LTS

No .2. Detail table and aggregate tables will be added as two LTS to LT. Is it right?Yes, It is right .3. Using this concept we can convert Normalized/snow flake schema into denormalized / Star schema, is it right ?Yes we can do using below methods1. By integrating multiplephysicaltables into LTS 2. By integrating Multiple physical tables as multiple LTS to LT .

Handson06:Calculations

1. How many types of calculations available in BMM layer.

We can create three types of calculations

1.Creating calculation based on logical columns2.Creating calculation based on physical columns3.Creating calculation using Calculation Wizard2. What scenarios automatically handled using calculation wizard.

Below two scenarioshandledby usingcalculationwizard

1.To handleNULL values2.To handle Divide by Zero values3. A calculation which is taking longer time then ,where we need to calculate

Request ETL team to calculate .4. A calculation which is taking lesser time and reusable then ,where we need to calculate

If a calculation is reusable , simple and takes less run time then calculate in RPD .5. A calculation which is taking lesser time and not reusable then ,where we need to calculateIf a calculation is taking less time and not reusable then do the calculations in the report only.6. What is CAST() function?

This function changes the data type of an expression or a null literal to another data type.For example, you can cast a customer_name (a data type of Char or Varchar) or birthdate (a datetime literal). The following are the supported data types to which the value can be changed:

CHARACTER, VARCHAR, INTEGER, FLOAT, SMALLINT, DOUBLE PRECISION, DATE, TIME, TIMESTAMP, BIT, BIT VARYING

Use CAST to change to a DATE data type. Do not use TO_DATE.

ExampleCAST(hiredate AS CHAR(40))

Please refer help document for all four below evaluate functions

7. I have two columns in two tables, one column data type is varchar and another one is number. Then can we create foreign key join in physical layer.

Yes By using CAST() function ,we can achieve it8. What is evaluate function

EVALUATE

This function passes the specified database function with optional referenced columns as parameters to the back-end data source for evaluation. This function is intended for scalar calculations, and is useful when you want to use a specialized database function that is not supported by the Oracle BI Server, but that is understood by the underlying data source.

The embedded database function may require one or more columns. These columns are referenced by %1 ... %N within the function. The actual columns must be listed after the function.

The ability to use EVALUATE is disabled by default. To enable support for this function, change the EVALUATE_SUPPORT_LEVEL parameter in NQSConfig.INI. See Oracle Fusion Middleware System Administrator's Guide for Oracle Business Intelligence Enterprise Edition for more information.

Syntax

EVALUATE('db_function(%1...%N)' [AS data_type] [, column1, columnN])Where:

db_function is any valid database function understood by the underlying data source.

data_type is an optional parameter that specifies the data type of the return result. Use this parameter whenever the return data type cannot be reliably predicted from the input arguments. However, do not use this parameter for type casting; if the function needs to return a particular data type, add an explicit cast. You can typically omit this parameter when the database-specific function has a return type not supported by the Oracle BI Server, but is used to generate an intermediate result that does not need to be returned to the Oracle BI Server.

column1 through columnN is an optional, comma-delimited list of columns.

Examples

This example shows an embedded database function.

SELECT EVALUATE('instr(%1, %2)', address, 'Foster City') FROM employeesExamples Using EVALUATE_AGGREGATE and EVALUATE to Leverage Unique Essbase Functions

The following examples use the EVALUATE_AGGREGATE and EVALUATE functions. Note that expressions are applied to columns in the logical table source that refers to the physical cube.Use EVALUATE_AGGREGATE to implement custom aggregations. For example, you may want to compare overall regional profit to profits for the top three products in the region. You can define a new measure to represent the profits for top three products resulting in the Logical SQL statement:

SELECT Region, Profit, EVALUATE_AGGREGATE('SUM(TopCount(%1.members, 3, %2), %3)',Products, Profit, Profit) Top_3_prod_Profit FROM SampleBasicThe Oracle BI Server generates the following expression for the custom aggregation:

member [Measures].[MS1] AS 'SUM(Topcount([Product].Generations(6).members,3,[Measures].[Profit]),[Measures].[Profit])'Use the EVALUATE function on projected dimensions to implement scalar functions that are computed post-aggregation. EVALUATE may change the grain of the query, if its definition makes explicit references to dimensions (or attributes) that are not in the query.

For example, if you would like to see the Profits for the top five products ranked by Sales sold in a Region, after creating the applicable measure, the resulting Logical SQL statement is as follows

SELECT Region, EVALUATE('TopCount(%1.members, 5, %2)' as VARCHAR(20), Products, Sales), Profits FROM SampleBasicThe Oracle BI Server generates the following expression to retrieve the top five products:

set [Evaluate0] as '{Topcount([Product].Generations(6).members,5,[Measures].[Sales]) }'

9. Please explain how to add or subtract date columns.

We cannot perform an arithmetic operation(plus ,minus ....etc) on a DATE or TIMESTAMP. These are considered Non-numeric types. To calculate difference between two dates, OBIEE provides a TIMESTAMPDIFF function. The syntax for using the function is:TIMESTAMPDIFF(interval, first_date, second_date)

First_date and second_datehave to bevalid values in the TIMESTAMP type.

Interval is a specified value. Valid values for INTERVAL are:

SQL_TSI_SECOND SQL_TSI_MINUTE SQL_TSI_HOUR SQL_TSI_DAY SQL_TSI_WEEK SQL_TSI_MONTH SQL_TSI_QUARTER SQL_TSI_YEARIf the dates are not in a valid TIMESTAMP format, use CAST function to convert values into TIMESTAMP type. See example below:

TIMESTAMPDIFF(SQL_TSI_DAY,CAST(VALUEOF("MY_DATE_COLUMN")as TIMESTAMP), CURRENT_DATE)

We can also use TIMESTAMPADD function to add an interval to a date.

Example: TIMESTAMPADD(SQL_TSI_DAY, 7, TIMESTAMP '2011-11-01 12:00:00')

10.Please explain Filter function.

Insert Filter dialog

Use this dialog to add a SQL FILTER function to a column formula in the "Edit Column Formula dialog: Column Formula tab".

For more information, see:

"Editing the Formula for a Column"

Components

Filter Function Area

Displays the SQL function in the form:

FILTER(expr USING filter_expressions)

Where:

expr is an expression that contains at least one measure column. For example, the expression "sales + 1" is allowed if "sales" is a measure column. The expression "productid" is not allowed if "productid" is a scalar attribute.

filter_expressions is a Boolean expression (evaluates to TRUE or FALSE) and does not contain any measure columns. Also, this expression cannot contain any nested queries.

Note:

If you selected some text in the Formula area before clicking Filter, then it is incorporated in the inserted SQL function, replacing the expression token (expr). For example, if you had selected "Sales Measures".Dollars before clicking Filter, then the SQL function would look like this: FILTER("Sales Measures"."Dollars" USING filter_expressions).

A complex filter statement might replace the filter_expressions token as follows:

FILTER("Sales Measures".Dollars USING ((Periods."Year" = '1999') AND ((Markets.District = 'CINCINNATI DISTRICT") OR (Markets.District = 'DENVER DISTRICT'))))

Even we can use in RPD too :)

11.Please explain Lookup function.

Lookup Functions

Multilingual schemas typically store translated fields in separate tables called lookup tables. Lookup tables contain translations for descriptor columns in several languages, while the base tables contain the data in the base language. Lookup is when a query joins the base table and lookup table to obtain the translated values for each row in the base table. A LOOKUP function is typically used in the Business Model and Mapping layer as an expression in a translated logical table column.

See the following sections in Oracle Fusion Middleware System Administrator's Guide for Oracle Business Intelligence Enterprise Edition for full information:

"Supporting Multilingual Data"

"About the LOOKUP Function Syntax"

Syntax

Handson07:Hierarchies1. What is hierarchy2. Types Of hierarchies3. What is level basedhierarchy4. What is parent childhierarchy5. What isunbalancedorragged and skippedhierarchy