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 the difference between unicode & ascii mode data movement in informatica?
Differentiate between sessions and batches?
Differentiate between a repository server and a powerhouse?
How will you check the bottle necks in informatica? From where do you start checking?
What is event and what are the tasks related to it?
a flat file having 1 laks records. if i want convert excel file what happen. (bcz a exccel sheet having 65536 colums but flat files one lak columns). how to get one laks colums in excel sheet .
what are presession,postsession success and postsession failure commands ?
source table A having 100000 records. and target B table having 100000 records. now iam updating B records using update query. i don't know which record is update in target. write a sql query get all updated records from target table B.
What is the difference between SOURCE and TARGET BASED COMMITS? What are the deliverables?in your project?
I have table name in that I have Rajesh Reshika Priya I want the result Like only Starting with R Rajesh Reshika Can someone help me to get these results and How?
what is curr val use for in sequence generator?
Source table ------------- ID NAME --- ------ 101 PANKAJ NULL KUMAR NULL MATHUR 102 JYOTI NULL SAXENA 103 SACHIN NULL TENDULKAR TARGET TABLE ------------- ID NAME --- ------- 101 PANKAJ KUMAR MATHUR 102 JYOTI SAXENA 103 SACHIN TENDULKAR IN ORACLE & INFORMATICA LEVEL HOW TO ACHIVE