You are on page 1of 5

Mock Assessment 1 (Practitioner Level):

A company ABC will move its legacy application to RDBMS (Relational Database
Management System). The client will provide data in a delimited flat file. This file
contains Contact records which need to be loaded into the EIM_CONTACT table by
maintaining the following rules. The source file has the columns: FIRST_NAME,
LAST_NAME, ZIP_CODE, and TELEPHONE_NUMBER (XXX-YYY-ZZZZ format).

Requirement 1: A contact can be uniquely identified by


concatenating the First name with the last name and Zip code.
Duplicate handling needs to be done while loading in the target table
because it may rise due to alphabet case issues in source. (So the
suggestion is to convert FIRST_NAME and LAST_NAME to uppercase
before comparing)

Requirement 2: If there is any duplicate issue for any particular set of


records, we can take the values of the first record to the target table

Requirement 3: The telephone number which is currently stored as a


string (XXX-YYY-ZZZZ format). We need to convert this into (XXX)
YYYZZZZ format where XX X is the area code in brackets followed by a
space and the 7 digit telephone number. Any extensions should be
dropped.

Mock Assessment 2 (Practitioner Level):


The source Employee table has the following data. The target table needs to be
loaded based on the following requirements.
Source Table Record Structure:
employee_id, salary
10, 1000
20, 2000
30, 3000
40, 5000

Requirement 1: Design a mapping to load the cumulative sum of salaries of


employees into target table. The target table data should look like as
employee_id, salary, cumulative_sum
10, 1000, 1000
20, 2000, 3000
30, 3000, 6000
40, 5000, 11000

Requirement 2: Design a mapping to get the pervious row salary for the current
row. If there is no pervious row exists for the current row, then the pervious row
salary should be displayed as null. The output should look like as
employee_id, salary, pre_row_salary
10, 1000, Null
20, 2000, 1000
30, 3000, 2000
40, 5000, 3000

Requirement 3: Design a mapping to get the next row salary for the current row. If
there is no next row for the current row, then the next row salary should be
displayed as null. The output should look like as
employee_id, salary, next_row_salary
10, 1000, 2000
20, 2000, 3000
30, 3000, 5000
40, 5000, Null

Requirement 4: Design a mapping to find the sum of salaries of all employees


and this sum should repeat for all the rows. The output should look like as
employee_id, salary, salary_sum
10, 1000, 11000
20, 2000, 11000
30, 3000, 11000
40, 5000, 11000

Mock Assessment 1 (Specialist Level):


Suppose a company is maintaining a table with the employee location
details. An example of the data is given below. Create a mapping to
implement Slowly Changing Dimension (Type-2) when source data has
multiple occurrence of the same dimension key.
Note: SCD Type 2 tracks historical data by creating multiple records for a given
natural key in the dimensional tables with separate surrogate keys.

EMPLOYEE TABLE (Source Sample Data)


E_ID

E_NAME

E_DOB

E_LOCATION

START_DATE

100

Chandler Bing 26/06/1978 Texas

01/01/2000

100

Chandler Bing 26/06/1978 Las Vegas

01/01/2006

100

Chandler Bing 26/06/1978 New York

01/01/2009

Sample Target Data


SEQ E_ID
101 100

102 100

103 100

E_NAME

E_DOB

Chandler

26/06/197

Bing

Chandler

26/06/197

Bing

Chandler

26/06/197

Bing

E_LOCATION

E_START_DATE END_DATE FLAG

Texas

01/01/2000

12/31/2005 N

Las Vegas

01/01/2006

12/31/2008 N

New York

01/01/2009

12/31/9999 Y

Mock Assessment 2 (Specialist Level):


Requirement 1: We have flat file as a source which contains N number of records. The requirement
is to load half of the source data into the target table in the first session run and the remaining half of
the records in the second session run. Create Informatica mapping to implement this logic. Assume
that the source data does not change between session runs.
Requirement 2: We have a flat file as source which contains N number of records. We want to load
the source data into two targets such that first five records should loaded into the first target, next five
records into the second target table. Again the next source five records into the first target table and
so on. How to implement a Informatica mapping logic for this?

You might also like