Let’s say I have more than have record in source table and I
have 3 destination table A,B,C. I have to insert first 1 to
10 records in A then 11 to 20 in B and 21 to 30 in C.
Then again from 31 to 40 in A, 41 to 50 in B and 51 to 60 in
C……So on up to last record.
Answers were Sorted based on User's Feedback
Answer / balachandar
step1).create a sequence generator set the properties
values as increment by=1,end value=30,check cycle and reset
properties.
step2).take the next val of seq generator into expression
transformation and rename it to some meaningfull name say
temp_id
step3).take a router transformation create 3 groups in say
first10,second10 and third10.
and conditions for the groups is as follows...
Tmp_Id >=1 and Tmp_Id<=10,
Tmp_Id >=11 and Tmp_Id<=20
Tmp_Id >=21 and Tmp_Id<=30
step4).connect the router transformation groups to the
respective targets.
| Is This Answer Correct ? | 20 Yes | 1 No |
Answer / ankit kansal
The above answer is work perfectly fine however if interviewer asks to do it with sequence then you can opt this approach.
1)Create a mapping variable of integer type and assign a default value of 30.
2)Mapping Design
SRC->SQ->EXP->ROUTER->TGT
3)EXPRESSION
in_rec i|o in_rec
count v IIF(count<=mapping_variable,count+1,0)
out_count o count
And then using the router route the records to different targets.
http://deepinopensource.blogspot.com/
| Is This Answer Correct ? | 2 Yes | 0 No |
Answer / varsha
Source->SQ_>Expression->Router-> Tgt 1,Tgt 2,Tgt 3
in router add three groups
group1:mod(SEQ_NUM,30) >=1 and mod(SEQ_NUM,30) <=10
group2:mod(SEQ_NUM,30) >=11 and mod(SEQ_NUM,30) <=20
group3:mod(SEQ_NUM,30) >=21 and mod(SEQ_NUM,30) <=29 or mod(SEQ_NUM,30)=0
and connect to the respective target
| Is This Answer Correct ? | 2 Yes | 0 No |
Answer / kumar
U can do it using Expression and RTR check the below link for more info.. and its has some other very good scenarios
https://etltechsolutions.wordpress.com/2014/10/15/informatica-scenario-split-source-records-and-loading-into-3-targets-based-on-some-logic/
| Is This Answer Correct ? | 0 Yes | 0 No |
Answer / nitin
Source->SQ_>Expression->Router-> Tgt 1,Tgt 2,Tgt 3
In the mapping define a variable Run_count of Aggregation type as count
in router add three groups.
Run_count = 1--> then connect the data to tgt 1
Run_Count = 2-->Tgt2
Run_Count = 3-->Tgt3
In the expression transformation add a condition IIF(Run_Count > 3,1,Run_count)
| Is This Answer Correct ? | 0 Yes | 1 No |
what is target load plan
What are active transformations.
what is degenerated dimension
Diff B/W MAP Parameter, SESSION Paramater, DataBase connection session parameters.? Its possible to Create 3parameters at a time? If Possible which one will fire FIRST?
write sql query following table amount year quarter 1000 2003 first 2000 2003 second 3000 2003 third 4000 2003 fourth 5000 2004 first 6000 2004 second 7000 2004 third 8000 2004 fourth i want the output year q1_amount q2_amount q3_amount q4_amount 2003 1000 2000 3000 4000 2004 5000 6000 7000 8000 can anybady help me to achieve the aboue result by using informatica. thanks in advance.
What is Index Caches size?
What are the mapings that we use for slowly changing dimension table?
what are presession,postsession success and postsession failure commands ?
How many numbers of sessions can one group in batches?
Is it any possible to using more than one port in Unconnected Lookup Transformation( :LKP.LKP_Prod(Prod_GRP ,Prod_DT,Prod_TM) ) Like this? Pls explain...
In my sourse i have like ename,gender vasu,male geetha,female ram,male suma.female kesav,male in my output i need male,female vasu,geetha ram,suma kesav
I have source like this 1:2;3. so i want to load the target as 123