i have 1000 records in my dource table, the same i have in
target ,but a new column added in target as "batchno", and
this column adds no 10 for 1st 100 records and 20 for next
100 records and 30 next 100 records and vice versa. how to
acheive this?
Answers were Sorted based on User's Feedback
Answer / srini
SQ>>EXP>>>TAR
Generate seq in exp and check for condition like
iif(seq<100,10,iif(seq>100 and seq<=200,20,iif(seq>200 and seq<=300,30,40)))
| Is This Answer Correct ? | 12 Yes | 3 No |
Answer / rocky!!
Here is another answer.
--> SEQ1
SD --> SQ --> EXP --> EXP --> TGT
--> SEQ2
1) Add SEQ1. Keep Starting value as 1 with cycle attribute set in after end value 100.
2) Add Another SEQ2. This is to keep a tab on the record count on the incoming data flow.
3) Get NEXTVAL & NEXTVAL1 from SEQ1 and SEQ2 and dump it in EXP.
4) in EXP, add Varibale port "V_OUTPUT_DECISION" and write code "CEIL(NEXTVAL1/100)"
5) in EXP, add variable "V_BATCH_NO" and initialise value as 10.
6) in EXP, add output port "OUTPUT_DECISION_BATCH_NO" and write code as "V_OUTPUT_DECISION*V_BATCH_NO"
7) connect fields viz, YEAR, DESC, MONTH, SALARY and BATCHNO to Target.
I guess this is the generic code. Bring any number records, should work.
Cheers!!
| Is This Answer Correct ? | 3 Yes | 0 No |
Please follow the below step.
1.Create sequence geneteor which will start with 1.
2.Connect the nextval port to expression t/p.
3.connect port from sq transformation to expression t/p.
4.Create below port in the expression transformation.
a. NEXTVAL_OUT(Variable port)= NEXTVAL-1
b.rec_con(Variable port)= IIF(NEXTVAL_OUT % 100 = 0, REC_CON+10,REC_CON)
c. REC_CON_OUT(Out put port)= rec_con
5. If you have primary key on the target table then use update startegy t/r to update the targer.
6. If you don't have primary key on the target table then use update voerride in the properties tab of the target.
7. U can use the below query to update the target by update override.
UPDATE EMP_UPDATE SET REC_COUNT = :TU.REC_COUNT WHERE EMPID = :TU.EMPID
Please correct me if anything wrong.
Thanks and Regards
Santosh Kumar Sarangi
| Is This Answer Correct ? | 1 Yes | 1 No |
Answer / nitin
Source->SQ->Sequence->Exp->Target
In Sequence Generator:
Give Start Value = 1
End value = 100
Check the Properties as CYCLE.
Give the following condition In Expression Transformation:\
O_SEQUENCE= NEXT_VAL
COUNT = IIF(O_SEQUENCE > 1 AND O_SEQUENCE <= 100, COUNT+10)
Make the default value of COUNT as 0
| Is This Answer Correct ? | 1 Yes | 6 No |
What is the difference between IN and Exists in Oracle?
How to do Half of the table ex: if 1000 records are there means 500 in one table and 500 in second table like this if N number of tables means how to do Half of the table ??????????
in staging we are merging the data and remove the inconsistants data that type of situation what u will done and type of functions u can use
How to jion 2 tables, without using any condition?
What is power center repository?
What are the challenges you have faced in your Project (DWH- ETL)? Explain with example?
explain any diffcult scenario that u have faced in your experience... or explain any complex maping u have developed?
How can i send first half of the records to one target and Remaining to other target?
how to duplicates from expression transformation without using sorter before that
Three date formats are there . How to change these three into One format without using expression transformation ?
how to declare array in plsql?
What are the different options available for update strategy?