I have one source table and three target tables.
When the session runs for the first time involving the
mapping,i want that the loading should take place in 1st
Target table only.
The 2nd time the same session runs the loading should take
place in 2nd Target only only
and similarly when the session runs for the 3rd time loading
should take place in Third only.
And again when the session runs for the 4th time loading
should take place in 1st Target table.
Answers were Sorted based on User's Feedback
Answer / harish konda
We can achieve this by using Mapping Variable and Mod function.
Create a mapping var. and using the SetVariable() fun increment its value by 1 every time when the session runs succesfully.
And in the Router create 3 groups and give the conditions, Mod($$var,3)=0,Mod($$var,3)=1,Mod($$var,3)=2.
And map each group of Router to 3 different Targets.
Is This Answer Correct ? | 18 Yes | 2 No |
Answer / vineet katyal
take mapping variable $$count-to count the number of session runs(initial value as 1 and default value as 1)
from source take the input to expression transformation and add two variable ports
V_flag=DECODE(MOD($$COUNT,3,1'FIRST',2,'SECOND',0'THIRD')
V_count=SET VARIABLE($$COUNT,$$COUNT+1)
now router transformation
three user defined groups
v_flag=first
v_flag=second
v_flag=third
now add three groups to three targets.
after every successful session run the mapping variable value gets updated by 1 in the repository.
first time the variable value will be 1 as SET VARIABLE WILL BE PROCESSED AFTER FLAG VARIABLE PORT
Is This Answer Correct ? | 1 Yes | 0 No |
Create a mapping variable $$INCR=1
Take Expression Transformation after SQ
In Expression Transformation create a variable port:
v_count_session=IIF($$INCR=4,setVariable($$INCR,1),setVarialbe($$INCR,$$INCR+1))
After Exp take a ROUTER Transformation and create three groups with conditions :
GROUP1
$$INCR=1
GROUP2
$$INCR=2
GROUP3
$$INCR=3
Finally connect groups to group1--tgt1, group2--tgt2, group3=tgt3
Is This Answer Correct ? | 0 Yes | 1 No |
Answer / bhupal
Hi all,
Use sequence generator to generate the sequence.
properties should be
start value=1
end value=3
check the cycle option.
connect this nextvalue port to router and make there groups.
group_1----> nextvalue=1
group_2----> nextvalue=2
group_3----> nextvalue=3
connect first group to first target and second group to second target and then third to third.
flow will be like this
sequence generator
|
source---->source qualifier---->router--------Target 1
|-----------Target 2
|-----------Target 3
please let me know if you have any new questions.
mail id: bhupalreddy200@gmail.com
Is This Answer Correct ? | 1 Yes | 20 No |
i have different sources in different databases ,that sources may be 100 tables i want to load these tables in to single target how to pearform the task
ename,deptcount vamshi,3 kumar,5 krish,8 in o/p i want vamshi record 3 times kumar record 5 times like wise what is the logic.? give the entire logic plz
What is the grain level in DWH? If i have year to day. what is the grain level of DWH from year to day.
What are some examples of informatica etl programs?
In a sequential batch can u run the session if previous session fails?
If a table contains 100 records we have to fetch 50-100 records from source to target?how
Differences between version 7.x and 8.x.
0 Answers Accenture, Cognizant,
Diffrence between 7.1,8.1 and 8.6
How to recover sessions in concurrent batches?
What is the internal processes of integration server in Informatica? How data will be extract and load to the target?
Can any body tell about the (UTC) unit test cases with the examples in informatica.
Hi, In Router transformation I created two groups . One is Passthrough=> True Second one is CorrectId’s => Invest>50000 Here I have one doubt. Can’t I treat default group as Passthrough group (fist group) . Is there any difference between default group and Passthrough group in this scenario? Let me know if you want more information about this scenario. Advance thanks.