informatica q & a and transformations1

Upload: bhaskar-reddy

Post on 02-Jun-2018

217 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/10/2019 Informatica Q & a and Transformations1

    1/42

    Informatica Scenario Based Interview Questions with Answers - Part 1

    1. How to generate sequence numbers using expression transformation?Solution:In the expression transformation, create a variable port and increment it by 1. Then assign

    the variable port to an output port. In the expression transformation, the ports are!"count#!"count$1%"count#!"count

    2. &esign a mapping to load the first ' rows from a flat file into a target?Solution:(ou have to assign row numbers to each record. )enerate the row numbers either usingthe expression transformation as mentioned above or use sequence generatortransformation.Then pass the output to filter transformation and specify the filter condition as %"count*#'

    3. &esign a mapping to load the last ' rows from a flat file into a target?Solution:+onsider the source has the following data.cola

    bcdeStep1: (ou have to assign row numbers to each record. )enerate the row numbers using

    the expression transformation as mentioned above and call the row number generated port as %"count. +reate a & --( output port in the same expression transformationand assign 1 to that port. o that, the & --( output port always return 1 for each row.

    In the expression transformation, the ports are!"count#!"count$1%"count#!"count%"dummy#1

    The output of expression transformation will becol, o"count, o"dummy

    a, 1, 1 b, /, 1c, ', 1d, 0, 1e, , 1

    Step2: 2ass the output of expression transformation to aggregator and do not specify anygroup by condition. +reate an output port %"total"records in the aggregator and assign

  • 8/10/2019 Informatica Q & a and Transformations1

    2/42

    %"count port to it. The aggregator will return the last row by default. The output ofaggregator contains the & --( port which has value 1 and %"total"records port whichhas the value of total number of records in the source.In the aggregator transformation, the ports are%"dummy

    %"count%"total"records#%"count

    The output of aggregator transformation will be%"total"records, %"dummy

    , 1

    Step3: 2ass the output of expression transformation, aggregator transformation to 3oinertransformation and 3oin on the & --( port. In the 3oiner transformation chec4 the

    property sorted input, then only you can connect both expression and aggregator to 3oiner transformation.

    In the 3oiner transformation, the 3oin condition will be%"dummy 5port from aggregator transformation6 # %"dummy 5port from expressiontransformation6

    The output of 3oiner transformation will becol, o"count, o"total"recordsa, 1,

    b, /, c, ', d, 0, e, ,

    Step : 7ow pass the ouput of 3oiner transformation to filter transformation and specifythe filter condition as %"total"records 5port from aggregator68%"count5port fromexpression6 *#/

    In the filter transformation, the filter condition will be%"total"records 8 %"count *#/

    The output of filter transformation will becol o"count, o"total"recordsc, ', d, 0, e, ,

    . &esign a mapping to load the first record from a flat file into one table 9, the lastrecord from a flat file into table : and the remaining records into table +?

    Solution:This is similar to the above problem; the first ' steps are same. In the last step instead of

  • 8/10/2019 Informatica Q & a and Transformations1

    3/42

    using the filter transformation, you have to use router transformation. In the routertransformation create two output groups.

    In the first group, the condition should be %"count#1 and connect the correspondingoutput group to table 9. In the second group, the condition should be

    %"count#%"total"records and connect the corresponding output group to table :. Theoutput of default group should be connected to table +.

    !. +onsider the following products data which contain duplicate rows.9:++:&:

    Q1. &esign a mapping to load all unique products in one table and the duplicate rows inanother table.The first table should contain the following output9&The second target should contain the following output:::++Solution:

    se sorter transformation and sort the products data. 2ass the output to an expressiontransformation and create a dummy port %"dummy and assign 1 to that port. o that, the& --( output port always return 1 for each row.

    The output of expression transformation will be2roduct, %"dummy9, 1:, 1:, 1:, 1+, 1+, 1&, 1

    2ass the output of expression transformation to an aggregator transformation. +hec4 thegroup by on product port. In the aggreagtor, create an output port%"count"of"each"product and write an expression count5product6.

  • 8/10/2019 Informatica Q & a and Transformations1

    4/42

    The output of aggregator will be2roduct, %"count"of"each"product9, 1:, '

    +, /&, 1

    7ow pass the output of expression transformation, aggregator transformation to 3oinertransformation and 3oin on the products port. In the 3oiner transformation chec4 the

    property sorted input, then only you can connect both expression and aggregator to 3oiner transformation.

    The output of 3oiner will be product, %"dummy, %"count"of"each"product9, 1, 1

    :, 1, ':, 1, ':, 1, '+, 1, /+, 1, /&, 1, 1

    7ow pass the output of 3oiner to a router transformation, create one group and specify thegroup condition as %"dummy#%"count"of"each"product. Then connect this group toone table. +onnect the output of default group to another table.

    Q2 . &esign a mapping to load each product once into one table and the remaining products which are duplicated into another table.The first table should contain the following output9:+&The second table should contain the following output::+Solution:

    se sorter transformation and sort the products data. 2ass the output to an expressiontransformation and create a variable port,!"curr"product, and assign product port to it.Then create a !"count port and in the expression editor writeII

  • 8/10/2019 Informatica Q & a and Transformations1

    5/42

    In the expression transformation, the ports are2roduct!"curr"product#product!"count#II===0=, ===, 11===

    Solution:

    +onnect the source ualifier to expression transformation. In the expressiontransformation, create a variable port !"cum"sal and in the expression editor write!"cum"sal$salary. +reate an output port %"cum"sal and assign !"cum"sal to it.

  • 8/10/2019 Informatica Q & a and Transformations1

    6/42

    Q2. &esign 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 displayedas null.The output should loo4 li4e as

    employee"id, salary, pre"row"salary1=, 1===, 7ull/=, /===, 1==='=, '===, /===0=, ===, '===

    Solution:

    +onnect the source ualifier to expression transformation. In the expressiontransformation, create a variable port !"count and increment it by one for each row

    entering the expression transformation. 9lso create !"salary variable port and assignthe expression II

  • 8/10/2019 Informatica Q & a and Transformations1

    7/42

    !"count$1. 7ow create an output port %"count in each expression transformation. In thefirst expression transformation, assign !"count to %"count. In the second expressiontransformation assign !"count81 to %"count.

    In the first expression transformation, the ports will be

    employee"idsalary!"count#!"count$1%"count#!"count

    In the second expression transformation, the ports will be

    employee"idsalary!"count#!"count$1

    %"count#!"count81Step2: +onnect both the expression transformations to 3oiner transformation and 3ointhem on the port %"count. +onsider the first expression transformation as -aster andsecond one as detail. In the 3oiner specify the 3oin type as &etail %uter Aoin. In the 3oinertransformation chec4 the property sorted input, then only you can connect bothexpression transformations to 3oiner transformation.

    Step3: 2ass the output of 3oiner transformation to a target table.

  • 8/10/2019 Informatica Q & a and Transformations1

    8/42

    In the expression transformation, the ports will be

    employee"idsalary%"dummy#1

    Step2: 2ass the output of expression transformation to aggregator. +reate a new port%"sum"salary and in the expression editor write -5salary6. &o not specify group byon any port.

    In the aggregator transformation, the ports will be

    salary%"dummy%"sum"salary# -5salary6

    Step3: 2ass the output of expression transformation, aggregator transformation to 3oinertransformation and 3oin on the & --( port. In the 3oiner transformation chec4 the property sorted input, then only you can connect both expression and aggregator to 3oiner transformation.

    Step : 2ass the output of 3oiner to the target table.

    2. +onsider the following employees table as source

    department"no, employee"name/=, B 1=, 91=, &/=, 21=, :1=, +/=, /=,

    Q1. &esign a mapping to load a target table with the following values from the abovesource?

    department"no, employee"list1=, 91=, 9,:1=, 9,:,+1=, 9,:,+,&/=, 9,:,+,&,2

  • 8/10/2019 Informatica Q & a and Transformations1

    9/42

    /=, 9,:,+,&,2,/=, 9,:,+,&,2, ,B /=, 9,:,+,&,2, ,B,

    Solution:

    Step1: se a sorter transformation and sort the data using the sort 4ey as department"noand then pass the output to the expression transformation. In the expressiontransformation, the ports will be

    department"noemployee"name!"employee"list # II

  • 8/10/2019 Informatica Q & a and Transformations1

    10/42

    Step2: 7ow connect the expression transformation to a target table.

    Q3. &esign a mapping to load a target table with the following values from the abovesource?

    department"no, employee"names1=, 9,:,+,&/=, 2, ,B,

    Solution:

    The first step is same as the above problem. 2ass the output of expression to anaggregator transformation and specify the group by as department"no. 7ow connect theaggregator transformation to a target table.

    1. +onsider the following product types data as the source.

    2roduct"id, product"type1=, video1=, 9udio/=, 9udio'=, 9udio0=, 9udio

    =, 9udio1=, -ovie/=, -ovie'=, -ovie0=, -ovie

    =, -ovie>=, -ovie

    9ssume that there are only ' product types are available in the source. The sourcecontains 1/ records and you dont 4now how many products are available in each

    product type.

    Q1. &esign a mapping to select F products in such a way that ' products should be selected from video, ' products should be selected from 9udio and theremaining ' products should be selected from -ovie.

    Solution:

    Step1: se sorter transformation and sort the data using the 4ey as product"type.

  • 8/10/2019 Informatica Q & a and Transformations1

    11/42

    Step2: +onnect the sorter transformation to an expression transformation. In theexpression transformation, the ports will be

    product"id product"type

    !"curr"prod"type#product"type!"count # II

  • 8/10/2019 Informatica Q & a and Transformations1

    12/42

    2. &esign a mapping to convert column data into row data without using thenormaliGer transformation.The source data loo4s li4e

    col1, col/, col'a, b, cd, e, f

    The target table data should loo4 li4e

    +ola

    bcd

    ef

    Solution:

    +reate three expression transformations with one port each. +onnect col1 fromource ualifier to port in first expression transformation. +onnect col/ fromource ualifier to port in second expression transformation. +onnect col' from

    source qualifier to port in third expression transformation. +reate a uniontransformation with three input groups and each input group should have one port.

    7ow connect the expression transformations to the input groups and connect theunion transformation to the target table.

    3. &esign a mapping to convert row data into column data.The source data loo4s li4e

    id, value1=, a1=, b1=, c/=, d/=, e/=, f

    The target table data should loo4 li4e

    id, col1, col/, col'1=, a, b, c/=, d, e, f

  • 8/10/2019 Informatica Q & a and Transformations1

    13/42

    Solution:

    Step1: se sorter transformation and sort the data using id port as the 4ey. Thenconnect the sorter transformation to the expression transformation.

    Step2: In the expression transformation, create the ports and assign theexpressions as mentioned below.

    idvalue!"curr"id#id!"count# II

  • 8/10/2019 Informatica Q & a and Transformations1

    14/42

    The above tree structure data is represented in a table as shown below.

    c1, c/, c', c09, :, &, H9, :, &, I9, :, , 7 @@9, +,

  • 8/10/2019 Informatica Q & a and Transformations1

    15/42

    c/ and c' has null for all the rows. Then c1 becomes the parent of c0. &esign amapping to accommodate these type of null conditions.

    Q1. The source data contains only column DidD. It will have sequence numbers from 1 to1===. The source data loo4s li4e as

    Id1/'0

    >KL....1===

    +reate a wor4flow to load only the

  • 8/10/2019 Informatica Q & a and Transformations1

    16/42

    o"flag # II

  • 8/10/2019 Informatica Q & a and Transformations1

    17/42

  • 8/10/2019 Informatica Q & a and Transformations1

    18/42

    '. Phat is a passive transformation?9 passive transformation is the one which does not change the number of rows that

    pass through it.xample xpression transformation

    0. Phat is a connected transformation?9 connected transformation is connected to the data flow or connected to the othertransformations in the mapping pipeline.

    xample sorter transformation

    . Phat is an unconnected transformation?9n unconnected transformation is not connected to other transformations in themapping. 9n unconnected transformation is called within another transformation andreturns a value to that transformation.

    xample nconnected loo4up transformation, unconnected stored procedure

    transformation>. Phat are multi8group transformations?Transformations having multiple input and output groups are called multi8grouptransformations.

    xamples +ustom, HTT2, Aoiner, Bouter, nion, nstructured &ata, -@ sourcequalifier, -@ Target definition, -@ parser, -@ generator

    K. @ist out all the transformations which use cache?9ggregator, Aoiner, @oo4up, Ban4, orter

    L. Phat is bloc4ing transformation?Transformation which bloc4s the input rows are called bloc4ing transformation.

    xample +ustom transformation, unsorted 3oiner

    F. Phat is a reusable transformation?9 reusable transformation is the one which can be used in multiple mappings.Beusable transformation is created in transformation developer.

    1=. How do you promote a non8reusable transformation to reusable transformation?dit the transformation and chec4 the -a4e Beusable option

    11. How to create a non8reusable instance of reusable transformations?In the navigator, select an existing transformation and drag the transformation into themapping wor4space. Hold down the +trl 4ey before you release the transformation.

    1/. Phich transformation can be created only as reusable transformation but not asnon8reusable transformation?

    xternal procedure transformation.

  • 8/10/2019 Informatica Q & a and Transformations1

    19/42

    1. Phat is a union transformation?

    9 union transformation is used merge data from multiple sources similar to the 7I%79@@ @ statement to combine the results from two or more @ statements.

    /. 9s union transformation gives 7I%7 9@@ output, how you will get the 7I%7output?2ass the output of union transformation to a sorter transformation. In the properties ofsorter transformation chec4 the option select distinct. 9lternatively you can pass theoutput of union transformation to aggregator transformation and in the aggregatortransformation specify all ports as group by ports.

    '. Phat are the guidelines to be followed while using union transformation?The following rules and guidelines need to be ta4en care while wor4ing with uniontransformation

    (ou can create multiple input groups, but only one output group. 9ll input groups and the output group must have matching ports. The precision,

    datatype, and scale must be identical across all groups. The nion transformation does not remove duplicate rows. To remove duplicate

    rows, you must add another transformation such as a Bouter or

  • 8/10/2019 Informatica Q & a and Transformations1

    20/42

    T+"+%7TI7 "TB97 9+TI%7 The Integration ervice does not performany transaction change for this row. This is the default value of the expression.

    T+"+%--IT":

  • 8/10/2019 Informatica Q & a and Transformations1

    21/42

    Q1. &esign a mapping to load the cumulative sum of salaries ofemployees into target table?The target table data should loo4 li4e as

    employee"id, salary, cumulative"sum1=, 1===, 1===/=, /===, '==='=, '===, >===0=, ===, 11===

    Q2. &esign 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 perviousrow salary should be displayed as null.The output should loo4 li4e as

    employee"id, salary, pre"row"salary1=, 1===, 7ull/=, /===, 1==='=, '===, /===0=, ===, '===

    . +onsider the following employees table as source

    department"no, employee"name/=, B 1=, 91=, &/=, 21=, :1=, +/=, /=,

    Q1. &esign a mapping to load a target table with the following valuesfrom the above source?

    department"no, employee"list1=, 91=, 9,:1=, 9,:,+1=, 9,:,+,&/=, 9,:,+,&,2/=, 9,:,+,&,2,/=, 9,:,+,&,2, ,B

  • 8/10/2019 Informatica Q & a and Transformations1

    22/42

    /=, 9,:,+,&,2, ,B,

    Q2. &esign a mapping to load a target table with the following valuesfrom the above source?

    department"no, employee"list1=, 91=, 9,:1=, 9,:,+1=, 9,:,+,&/=, 2/=, 2,/=, 2, ,B /=, 2, ,B,

    1. +onsider the following employees data as source

    employee"id, salary1=, 1===/=, /==='=, '===0=, ===

    Q1. &esign a mapping to load the cumulative sum of salaries ofemployees into target table?The target table data should loo4 li4e as

    employee"id, salary, cumulative"sum1=, 1===, 1===/=, /===, '==='=, '===, >===0=, ===, 11===

    Solution:

    +onnect the source ualifier to expression transformation. In theexpression transformation, create a variable port !"cum"sal and in theexpression editor write !"cum"sal$salary. +reate an output port%"cum"sal and assign !"cum"sal to it.

    Q2. &esign 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 perviousrow salary should be displayed as null.The output should loo4 li4e as

  • 8/10/2019 Informatica Q & a and Transformations1

    23/42

  • 8/10/2019 Informatica Q & a and Transformations1

    24/42

    In the first expression transformation, the ports will be

    employee"idsalary

    !"count#!"count$1%"count#!"count

    In the second expression transformation, the ports will be

    employee"idsalary!"count#!"count$1%"count#!"count81

    Step2: +onnect both the expression transformations to 3oiner

    transformation and 3oin them on the port %"count. +onsider the firstexpression transformation as -aster and second one as detail. In the 3oiner specify the 3oin type as &etail %uter Aoin. In the 3oiner transformationchec4 the property sorted input, then only you can connect both expressiontransformations to 3oiner transformation.

    Step3: 2ass the output of 3oiner transformation to a target table.

  • 8/10/2019 Informatica Q & a and Transformations1

    25/42

    employee"idsalary%"dummy#1

    Step2: 2ass the output of expression transformation to aggregator. +reatea new port %"sum"salary and in the expression editor write -5salary6.&o not specify group by on any port.

    In the aggregator transformation, the ports will be

    salary%"dummy%"sum"salary# -5salary6

    Step3: 2ass the output of expression transformation, aggregator

    transformation to 3oiner transformation and 3oin on the & --( port. Inthe 3oiner transformation chec4 the property sorted input, then only youcan connect both expression and aggregator to 3oiner transformation.

    Step : 2ass the output of 3oiner to the target table.

    2. +onsider the following employees table as source

    department"no, employee"name/=, B 1=, 91=, &/=, 21=, :1=, +/=, /=,

    Q1. &esign a mapping to load a target table with the following valuesfrom the above source?

    department"no, employee"list1=, 91=, 9,:1=, 9,:,+1=, 9,:,+,&/=, 9,:,+,&,2/=, 9,:,+,&,2,

  • 8/10/2019 Informatica Q & a and Transformations1

    26/42

  • 8/10/2019 Informatica Q & a and Transformations1

    27/42

    Step2: 7ow connect the expression transformation to a target table.

    Q3. &esign a mapping to load a target table with the following valuesfrom the above source?

    department"no, employee"names1=, 9,:,+,&/=, 2, ,B,

    Solution:

    The first step is same as the above problem. 2ass the output of expressionto an aggregator transformation and specify the group by asdepartment"no. 7ow connect the aggregator transformation to a targettable.

    ###################################################################################################################################################################################################################################################################################

    1. Phat is @ transformation?@ transformation process @ queries midstream in a pipeline and you can insert,

    update, delete and retrieve rows from a database.

    /. How do you configure a @ transformation?The following options are required to configure @ transformation

    -ode pecifies the mode in which @ transformation runs. @ transformationsupports two modes. They are script mode and query mode.

    &atabase type The type of database that @ transformation connects to. +onnection type 2ass database connection to the @ transformation at run time

    or specify a connection ob3ect.

    '. Phat are the different modes in which a @ transformation runs?

    @ transformation runs in two modes. They are cript mode The @ transformation runs scripts that are externally located. (ou

    can pass a script name to the transformation with each input row. The @transformation outputs one row for each input row.

  • 8/10/2019 Informatica Q & a and Transformations1

    28/42

    uery mode The @ transformation executes a query that you define in a queryeditor. (ou can pass parameters to the query to define dynamic queries. (ou canoutput multiple rows when the query has a @ +T statement.

    0. In which cases the @ transformation becomes a passive transformation and activetransformation?If you run the @ transformation in script mode, then it becomes passivetransformation. If you run the @ transformation in the query mode and the query has a

    @ +T statement, then it becomes an active transformation.

    . Phen you configure an @ transformation to run in script mode, what are the ports

    that the designer adds to the @ transformation?The designer adds the following ports to the @ transformation in script mode

    cript7ame This is an input port. cript7ame receives the name of the script toexecute the current row.

    criptBesult This is an output port. criptBesult returns 29 & if the scriptexecution succeeds for the row. %therwise it returns . Phat are the types of @ queries you can specify in the @ transformation whenyou use it in query mode.

    tatic @ query The query statement does not change, but you can use query parameters to change the data. The integration service prepares the query onceand runs the query for all input rows.

    &ynamic @ query The query statement can be changed. The integrationservice prepares a query for each input row.

    K. Phat are the types of connections to connect the @ transformation to the databaseavailable?

    tatic connection +onfigure the connection ob3ect tin the session. (ou must firstcreate the connection ob3ect in wor4flow manager.

    @ogical connection 2ass a connection name to the @ transformation as inputdata at run time. (ou must first create the connection ob3ect in wor4flow manager.

  • 8/10/2019 Informatica Q & a and Transformations1

    29/42

    L. How do you find the number of rows inserted, updated or deleted in a table?(ou can enable the 7umBows9ffected output port to return the number of rows affected

    by the I7 BT, 2&9T or & @ T query statements in each input row. This

    7umBows9ffected option wor4s in query mode. F. Phat will be the output of 7umBows9ffected port for a @ +T statement?The 7umBows9ffected outout is Gero for the @ +T statement.

    1=. Phen you enable the 7umBows9ffected output port in script mode, what will be theoutput?In script mode, the 7umBows9ffected port always returns 7 @@.

    11. How do you limit the number of rows returned by the select statement?(ou can limit the number of rows by configuring the -ax %utput Bow +ount

    property. To configure unlimited output rows, set -ax %utput Bow +ount toGero.

    ###################################################################################################################################################################################################################################################################################

    1. Phat is a loo4up transformation?9 loo4up transformation is used to loo4 up data in a flat file, relational table, view, andsynonym.

    /. Phat are the tas4s of a loo4up transformation?The loo4up transformation is used to perform the following tas4s?

    )et a related value Betrieve a value from the loo4up table based on a value in thesource.

    2erform a calculation Betrieve a value from a loo4up table and use it in acalculation.

    pdate slowly changing dimension tables &etermine whether rows exist in atarget.

    '. How do you configure a loo4up transformation?+onfigure the loo4up transformation to perform the following types of loo4ups

    Belational or flat file loo4up

  • 8/10/2019 Informatica Q & a and Transformations1

    30/42

    2ipeline loo4up +onnected or unconnected loo4up +ached or uncached loo4up

    0. Phat is a pipeline loo4up transformation?9 pipeline loo4up transformation is used to perform loo4up on application sources suchas A- , - - or 92. 9 pipeline loo4up transformation has a source qualifier as theloo4ups source.

    . Phat is connected and unconnected loo4up transformation? 9 connected loo4up transformation is connected the transformations in the

    mapping pipeline. It receives source data, performs a loo4up and returns data tothe pipeline.

    9n unconnected loo4up transformation is not connected to the othertransformations in the mapping pipeline. 9 transformation in the pipeline calls the

    unconnected loo4up with a @Q2 expression.

    >. Phat are the differences between connected and unconnected loo4up transformation? +onnected loo4up transformation receives input values directly from the pipeline.

    nconnected loo4up transformation receives input values from the result of a@Q2 expression in another transformation.

    +onnected loo4up transformation can be configured as dynamic or static cache.nconnected loo4up transformation can be configured only as static cache.

    +onnected loo4up transformation can return multiple columns from the same rowor insert into the dynamic loo4up cache. nconnected loo4up transformation can

    return one column from each row. If there is no match for the loo4up condition, connected loo4up transformationreturns default value for all output ports. If you configure dynamic caching, theIntegration ervice inserts rows into the cache or leaves it unchanged. If there isno match for the loo4up condition, the unconnected loo4up transformation returnsnull.

    In a connected loo4up transformation, the cache includes the loo4up sourcecolumns in the loo4up condition and the loo4up source columns that are output

    ports. In an unconnected loo4up transformation, the cache includes allloo4upOoutput ports in the loo4up condition and the loo4upOreturn port.

    +onnected loo4up transformation passes multiple output values to another

    transformation. nconnected loo4up transformation passes one output value toanother transformation. +onnected loo4up transformation supports user8defined values. nconnected

    loo4up transformation does not support user8defined default values.

    K. How do you handle multiple matches in loo4up transformation? or what is J@oo4up2olicy on -ultiple -atchJ?

  • 8/10/2019 Informatica Q & a and Transformations1

    31/42

    J@oo4up 2olicy on -ultiple -atchJ option is used to determine which rows that theloo4up transformation returns when it finds multiple rows that match the loo4upcondition. (ou can select loo4up to return first or last row or any matching row or toreport an error.

    L. Phat is J%utput %ld !alue on pdateJ?This option is used when dynamic cache is enabled. Phen this option is enabled, theintegration service outputs old values out of the loo4upOoutput ports. Phen theIntegration ervice updates a row in the cache, it outputs the value that existed in theloo4up cache before it updated the row based on the input data. Phen the Integration

    ervice inserts a new row in the cache, it outputs null values. Phen you disable this property, the Integration ervice outputs the same values out of the loo4upOoutput andinputOoutput ports.

    F. Phat is JInsert lse pdateJ and J pdate lse InsertJ?These options are used when dynamic cache is enabled.

    Insert lse pdate option applies to rows entering the loo4up transformation withthe row type of insert. Phen this option is enabled the integration service insertsnew rows in the cache and updates existing rows when disabled, the Integration

    ervice does not update existing rows. pdate lse Insert option applies to rows entering the loo4up transformation with

    the row type of update. Phen this option is enabled, the Integration erviceupdates existing rows, and inserts a new row if it is new. Phen disabled, theIntegration ervice does not insert new rows.

    1=. Phat are the options available to configure a loo4up cache?The following options can be used to configure a loo4up cache

    2ersistent cache Becache from loo4up source tatic cache &ynamic cache hared +ache 2re8build loo4up cache

    11. Phat is a cached loo4up transformation and uncached loo4up transformation? +ached loo4up transformation The Integration ervice builds a cache in memory

    when it processes the first row of data in a cached @oo4up transformation. TheIntegration ervice stores condition values in the index cache and output values inthe data cache. The Integration ervice queries the cache for each row that entersthe transformation.

    ncached loo4up transformation

  • 8/10/2019 Informatica Q & a and Transformations1

    32/42

    1/. How the integration service builds the caches for connected loo4up transformation?The Integration ervice builds the loo4up caches for connected loo4up transformation inthe following ways

    equential cache The Integration ervice builds loo4up caches sequentially. The

    Integration ervice builds the cache in memory when it processes the first row ofthe data in a cached loo4up transformation. +oncurrent caches The Integration ervice builds loo4up caches concurrently. It

    does not need to wait for data to reach the @oo4up transformation.

    1'. How the integration service builds the caches for unconnected loo4up transformation?The Integration ervice builds caches for unconnected @oo4up transformations assequentially.

    10. Phat is a dynamic cache?

    The dynamic cache represents the data in the target. The Integration ervice builds thecache when it processes the first loo4up request. It queries the cache based on the loo4upcondition for each row that passes into the transformation. The Integration erviceupdates the loo4up cache as it passes rows to the target. The integration service eitherinserts the row in the cache or updates the row in the cache or ma4es no change to thecache.

    1 . Phen you use a dynamic cache, do you need to associate each loo4up port with theinput port?(es. (ou need to associate each loo4upOoutput port with the inputOoutput port or asequence I&. The Integration ervice uses the data in the associated port to insert orupdate rows in the loo4up cache.

    1>. Phat are the different values returned by 7ew@oo4upBow port?The different values are

    = 8 Integration ervice does not update or insert the row in the cache. 1 8 Integration ervice inserts the row into the cache. / 8 Integration ervice updates the row in the cache.

    1K. Phat is a persistent cache?If the loo4up source does not change between session runs, then you can improve the

    performance by creating a persistent cache for the source. Phen a session runs for thefirst time, the integration service creates the cache files and saves them to dis4 instead ofdeleting them. The next time when the session runs, the integration service builds thememory from the cache file.

    1L. Phat is a shared cache?(ou can configure multiple @oo4up transformations in a mapping to share a singleloo4up cache. The Integration ervice builds the cache when it processes the first @oo4up

  • 8/10/2019 Informatica Q & a and Transformations1

    33/42

  • 8/10/2019 Informatica Q & a and Transformations1

    34/42

    can specify whether all the source rows need to be inserted, updated or deleted.>. If you have an update strategy transformation in the mapping, what should be the valueselected for DTreat ource Bows 9sD option in session properties?The value selected for the option is D&ata &rivenD. The integration service follows theinstructions coded in the update strategy transformation.

    K. If you have an update strategy transformation in the mapping and you did not selectedthe value D&ata &rivenD for DTreat ource Bows 9sD option in session, then how the sessionwill behave?If you do not choose &ata &riven when a mapping contains an pdate trategy or+ustom transformation, the Por4flow -anager displays a warning. Phen you run thesession, the Integration ervice does not follow instructions in the pdate trategytransformation in the mapping to determine how to flag rows.L. In which files the data re3ected by update strategy transformation will be written?If the update strategy transformation is configured to

  • 8/10/2019 Informatica Q & a and Transformations1

    35/42

    Bun nested stored procedures. +all multiple times within a mapping.

    K. Phat are the options available to specify when the stored procedure transformationneeds to be run?

    The following options describe when the stored procedure transformation runs 7ormal The stored procedure runs where the transformation exists in the

    mapping on a row8by8row basis. This is useful for calling the stored procedure for each row of data that passes through the mapping, such as running a calculationagainst an input port. +onnected stored procedures run only in normal mode.

    2re8load of the ource :efore the session retrieves data from the source, thestored procedure runs. This is useful for verifying the existence of tables or

    performing 3oins of data in a temporary table. 2ost8load of the ource 9fter the session retrieves data from the source, the

    stored procedure runs. This is useful for removing temporary tables. 2re8load of the Target :efore the session sends data to the target, the stored

    procedure runs. This is useful for verifying target tables or dis4 space on the targetsystem. 2ost8load of the Target 9fter the session sends data to the target, the stored

    procedure runs. This is useful for re8creating indexes on the database.

    9 connected stored procedure transformation runs only in 7ormal mode. 9 unconnectedstored procedure transformation runs in all the above modes.

    L. Phat is execution order in stored procedure transformation?The order in which the Integration ervice calls the stored procedure used in thetransformation, relative to any other stored procedures in the same mapping. %nly used

    when the tored 2rocedure Type is set to anything except 7ormal and more than onestored procedure exists.F. Phat is 2B%+"B @T in stored procedure transformation?2B%+"B @T is a system variable, where the output of an unconnected stored

    procedure transformation is assigned by default.1=. Phat are the parameter types in a stored procedure?There are three types of parameters exist in a stored procedure

    I7 Input passed to the stored procedure % T %utput returned from the stored procedure I7% T &efines the parameter as both input and output. %nly %racle supports

    this parameter type.

    1. Phat is a source qualifier transformation?9 source qualifier represents the rows that the integration service reads when it runs asession. ource qualifier is an active transformation./. Phy you need a source qualifier transformation?The source qualifier transformation converts the source data types into informatica nativedata types.'. Phat are the different tas4s a source qualifier can do?

  • 8/10/2019 Informatica Q & a and Transformations1

    36/42

    Aoin two or more tables originating from the same source 5homogeneous sources6database.

    . How to 3oin heterogeneous sources and flat files?

    se 3oiner transformation to 3oin heterogeneous sources and flat filesK. How do you configure a source qualifier transformation? @ uery ser8&efined Aoin ource ,L 0,KK ,L=K

    . Phen you connect both the 7 T!9@ and + BB!9@ ports to a target, what will bethe output values of these ports?

    The output values are 7 T!9@ + BB!9@1 // '' 00

    >>. Phat will be the output value, if you connect only + BB!9@ to the target without

  • 8/10/2019 Informatica Q & a and Transformations1

    37/42

    connecting 7 T!9@?The integration service passes a constant value for each row.K. Phat will be the value of + BB!9@ in a sequence generator transformation?+ BB!9@ is the sum of J7 T!9@J and JIncrement :yJ !alue.L. Phat is the number of cached values set to default for a sequence generator

    transformation?

  • 8/10/2019 Informatica Q & a and Transformations1

    38/42

  • 8/10/2019 Informatica Q & a and Transformations1

    39/42

    . Phat is ! 9- normaliGer transformation?The ! 9- normaliGer transformation is the source qualifier transformation for a+%:%@ source definition. 9 +%:%@ source is flat file that can contain multiple8occurring data and multiple types of records in the same file.>. Phat is pipeline normaliGer transformation?

    2ipeline normaliGer transformation processes multiple8occurring data from relationaltables or flat files.K. Phat is occurs clause and redefines clause in normaliGer transformation?

    %ccurs clause is specified when the source row has a multiple8occurring columns. 9 redefines clause is specified when the source has rows of multiple columns.

    1. Phat is a 3oiner transformation?9 3oiner transformation 3oins two heterogeneous sources. (ou can also 3oin the data fromthe same source. The 3oiner transformation 3oins sources with at least one matchingcolumn. The 3oiner uses a condition that matches one or more 3oins of columns betweenthe two sources.

    /. How many 3oiner transformations are required to 3oin n sources?To 3oin n sources n81 3oiner transformations are required.'. Phat are the limitations of 3oiner transformation?

    (ou cannot use a 3oiner transformation when input pipeline contains an updatestrategy transformation.

    (ou cannot use a 3oiner if you connect a sequence generator transformationdirectly before the 3oiner.

    0. Phat are the different types of 3oins? 7ormal 3oin In a normal 3oin, the integration service discards all the rows from

    the master and detail source that do not match the 3oin condition.

    -aster outer 3oin 9 master outer 3oin 4eeps all the rows of data from the detailsource and the matching rows from the master source. It discards the unmatchedrows from the master source.

    &etail outer 3oin 9 detail outer 3oin 4eeps all the rows of data from the mastersource and the matching rows from the detail source. It discards the unmatchedrows from the detail source.

    . How to improve the performance of 3oiner transformation?

    Aoin sorted data whenever possible.

  • 8/10/2019 Informatica Q & a and Transformations1

    40/42

  • 8/10/2019 Informatica Q & a and Transformations1

    41/42

    se sorted input ort the data before passing into aggregator. The integrationservice uses memory to process the aggregator transformation and it does not usecache memory.

  • 8/10/2019 Informatica Q & a and Transformations1

    42/42