1
2
3
*
4
5
6
*
7
8
9
how to load records between two stars(*),
Answers were Sorted based on User's Feedback
Answer / sunny
select substr(
(select substr('123*456*789', 1 ,
instr('123*456*789','*',1,2)-1) from dual)
,instr(
(select substr('123*456*789', 1 ,
instr('123*456*789','*',1,2)-1) from dual)
,'*',1)+1) from dual;
| Is This Answer Correct ? | 6 Yes | 1 No |
Answer / ankur
small change in the above post..
add an exp after source qualifier...with two more ports
v_out as variable =iif((is_number(inputport),v_out,v_out+1)
output=v_out
so output from this exp will be
1 0
2 0
3 0
* 1
4 1
5 1
6 1
* 2
7 2
8 2
8 2
now add a filter where output=1 and in_number(input)
Thanks
| Is This Answer Correct ? | 4 Yes | 3 No |
Answer / krishna
Mapping
source - SQ -> Exp T/r -> Filter -> target
Exp t/r:
create 4 variable and 3 output ports.
v_curr,v_flag,o_filter,o_flag,v_count,v_prev,0_count
v_flag = iif(v_currnt = '*' OR v_prev = '*' or flag_v=1,
1,0)
v_count = iif(v_prev='*',count+1,count)
o_filter = iif(No!= '*',1,0)
o_flag = v_flag
0_count = v_count
filter t/r:
condition: o_flag=1 AND o_filter=1 AND 0_count!=2
| Is This Answer Correct ? | 1 Yes | 1 No |
Answer / lakshmi
Use Replacechr() in Expression T/r after Source Qualifier
and replace '*' with Space
Then In Filter T/r Use Filter condition as below
iif(isspaces(field,0,1))
| Is This Answer Correct ? | 2 Yes | 2 No |
Answer / siva riddle
first of all , understand the requirement
it's.
records in between * 456 * ,
how to get this 3 records.
| Is This Answer Correct ? | 0 Yes | 0 No |
Answer / guest
u can use mapping variable in exp transformation.
and do
decode(v_curr='*' or v_prev='*',setvariable($$,$$+1),$$)
and last port in exp setvariable($$,0) and accrdingly filter the non required...
| Is This Answer Correct ? | 1 Yes | 2 No |
Answer / ankur
small change in the above post..
add an exp after source qualifier...with two more ports
v_out as variable =iif((is_number(inputport),v_out,v_out+1)
output=v_out
so output from this exp will be
1 0
2 0
3 0
* 1
4 1
5 1
6 1
* 2
7 2
8 2
8 2
now add a filter where output=1
Thanks
| Is This Answer Correct ? | 2 Yes | 3 No |
Answer / ankur saini
hey guys c if this works...
add an exp after source qualifier...with two more ports
v_out as variable =iif((is_number(inputport),0,v_out+1)
output=v_out
so output from this exp will be
1 0
2 0
3 0
* 1
....
* 2
...
now add a filter where output>0
Thanks
| Is This Answer Correct ? | 0 Yes | 4 No |
Answer / anas furquan
Use Filter transformation with below condition:
IIF(FIELD!='*',1,0)
Mapping:
Source-->SQ-->Filter-->Target
This works. :)
| Is This Answer Correct ? | 1 Yes | 8 No |
What is data merging, data cleansing and sampling?
can anyone explain me about sales project in informatica?
Explain in detail scd type 2 through mapping.
What are the types of metadata that stores in repository?
What is informatica etl tool?
Explain sessions. Explain how batches are used to combine executions?
Hi, I want to change date type char value integer value? I tried alter table tab_name modify (newcolumn newdatetype). But The columns have 10 million values(char type) so I want to load now numeric data. How it is possible? Old Values New Value(I want to load numeric data but the old value should be there in the column) Y 1 N 0 ERROR at line 1: ORA-01439: column to be modified must be empty to change datatype Please help on this. Thanks, GM
how to through logic of informatica using the push down optimization into oracle.
can every transfomation reusable?how?
version controlling in informatica?
What are two types of processes that informatica runs the session?
How to recover the standalone session?