HOW CAN I SEND HALF OF THE RECORDS TO ONE TARGET AND
REMAINING TO OTHER TARGET?
Answers were Sorted based on User's Feedback
Answer / satya
I dont agree with Ojesh, how do get the value from unix and
store it in variable.
Use a seq.gen t/m and write from SQ and SQE.GEN to Aggr
T/M. find the count and in the router use expressions
1. <= total_count/2
2. > total_count/2
for more details get in touch with me at satya.ylv@gmail.com
-Satya
| Is This Answer Correct ? | 4 Yes | 2 No |
Answer / ojesh
First do a count of the records in the file using a wc -l unix command, store that number in a variable.
create a counter in an expression and increment it with every icoming record.
create a router after that and route if the counter is less than half to target 1 else target 2.
| Is This Answer Correct ? | 1 Yes | 1 No |
Answer / vino
you can give the next val of the seq generator to the
expression which produces a sequence for all the incoming
records.then create an output port in the expression with
the calculation (incoming_seq mod 2) which will produce
either 0 or 1..then after that use a router creating groups
1 and 0...then load into the 2 targets.
| Is This Answer Correct ? | 5 Yes | 6 No |
Answer / satish potdar
Use a seq generator to tag row number to each row(use reset
option so that it will be reset to 1 after the session is
complete). OR use rownum in Source qualifier query.
Once the rows are tagged,pass constant 1 to aggregator to
get the count, join the aggregator output with source
pipeline USING JOINER(since you cannot join heterogeneous
rows using any other transformation). Use router to route
the rows to different targets using appropriate group
expression.
| Is This Answer Correct ? | 2 Yes | 3 No |
Answer / narender.vankuri
Take an example:Dept table
Source->source Qualifier->After this we take one Aggregator and one Expression -> and both of this connected to Joiner -> this connect to Router->Here we take one Sequence generator and connect to Router-> this router connect to Targets
Here we see conditions:
1) In Aggregator create Cnt Port and(No input ,only output) There expression Condition(COUNT(DeptNo)
In this create One extra port Decimal express:1(no input,only output)
Disable Groupby
2) In Expression create one extra port decimal expression:1
this 2 transformations(Aggregator,Expression) are connected to Joiner
3)In Joiner Enable SorterInput,Condition And connect to Router Input.
4)Take one Sequence Generator and connect to Router Nextval
5)In Router Group1:Nextval<=(Cnt/2)
6)In Router Group2:Nextval>(Cnt/2)
7)Now connected to Traget1,Target2.
| Is This Answer Correct ? | 2 Yes | 3 No |
without update strategy how to insert &update?
Hi Experts, I have a source table like this. Name Number Raj 2 Ram 1 Sam 2 John 1 In the target I need the ouptput like the below Raj Raj Ram Sam Sam John We dont know the number value . It will be changing as n.. Please help me regarding this. Thanks, Nataraj V
How many joins in Informatica
how to import multiple flat files in to single target where there is no common column in the flat files
On which transformations you created partitions in your project?
what is difference between COM & DCOM?
In real time scenario where can we use mapping parameters and variables?
How can one know that a table has indexes and is partitioned? How data will be pulled from Partitions in Oracle for Informatica?
How to compare Source and Target table, without using dynamic lookup?
How to join a Flat and Relational Source without using (Joiner, Update and Lookup ) transformations... is it possible? if yes i would like to know how?
i have two coloumn emp_no sal 1 3000 2 3000 3 3000 4 4000 5 5000 6 2700 7 4500 i just need output by removing duplicate.my answer should be emp_no sal 1 3000 2 4000 3 5000 and so on.please tel me the transformation to use and if variable is used in expression then how can i give variable expression
Define error Threshold?