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 |
Slowly changing dimensions, types and where will you use them
how do u move the code from development to production?
i have a wf i want to run this very day 3 time every 3 hours how can you scheduled that?
a soure table has 100 records how to load into 3 target tables in a cumulative order source target1 target2 target3 --------- ------------------------------------- 1-100 1 2 3 4 5 6 - - - 98 99 100
How to convert IBM Cognos generated XML to a readable XML format for ETL tools
What is a difference between complete, stop and abort?
What do you mean by Parameter file? Why do we use it and what all things we can define in a parameter file?
What is DR strategy for Informatica project?
Suppose we have a source qualifier transformation that populates two target tables. How do you ensure tgt2 is loaded after tgt1?
What does reusable transformation mean?
can anyone explain me about sales project in informatica?
What is joiner transformation in informatica?