Source table
-------------
ID NAME
--- ------
101 PANKAJ
NULL KUMAR
NULL MATHUR
102 JYOTI
NULL SAXENA
103 SACHIN
NULL TENDULKAR
TARGET TABLE
-------------
ID NAME
--- -------
101 PANKAJ KUMAR MATHUR
102 JYOTI SAXENA
103 SACHIN TENDULKAR
How to do the above scenario in Informatica.
Answers were Sorted based on User's Feedback
Answer / babu
Hi Sbvprasad,
Your answer has small correction,
V1=iif(not isnull (id),id,v1)
for the 1st record.
V1= iif( not isnull (101), then pass 101).
now the V1 variable having the value = 101.
2nd record
V1= iif( not isnull ( null), then pass else condition V1 (
having 101 ))
now the V1 variable having the value = 101.
3rd record
V1= iif( not isnull ( null), then pass else condition V1 (
having 101 ))
now the V1 variable having the value = 101.
After applied the above logic we will get the output as
mentioned below.
-------------
ID NAME
--- ------
101 PANKAJ
101 KUMAR
101 MATHUR
102 JYOTI
102 SAXENA
103 SACHIN
102 TENDULKAR
2.Take an EXP t/r,in this t/r declare two variable ports
for ID and Name columns.those are PRV_ID and VAR_NAME
VAR_NAME=IIF(PRV_ID=ID,VAR_NAME||' '||NAME,NAME)
PRV_ID=ID
OP_NAME=VAR_NAME (OUTPUT PORT)
3.In the next step take the aggregator transformation and
group by on the ID COLUMN. Then you will get the result.
TARGET TABLE
-------------
ID NAME
--- -------
101 PANKAJ KUMAR MATHUR
102 JYOTI SAXENA
103 SACHIN TENDULKAR
MAPPING ::
---------
SRC-->SQ-->EXP-->EXP-->AGGR-->TRG
IF ANY THING WRONG, PLEASE CORRECT WITH PROPER SOLUTION.
| Is This Answer Correct ? | 2 Yes | 0 No |
Answer / nagraj
From SQ pass to Expression Transformation
- Take Variable for ID i.e.
V_ID =iif(not isnull(ID),ID ,V_ID )
- Take Variable for Name i.e.
iif( isnull(ID) ,CONCAT(CONCAT(LTRIM(RTRIM
(V_old_Name)),' ') ,Name),Name)
At this stage you will see the Data like this
ID Name
101 PANKAJ
101 PANKAL KUMAR
101 PANKAJ KUMAR MATHUR
Now pass the ID and NAME output port through an Aggregator
Transformation
-Take new variable for Name i.e.
New_Name=concat(concat(New_Name,' '),Name)
-Take new output port for Name and put expression for the
Name output port as follows
Out_Name=GREATEST(Name,New_Name)
- Check Group By on ID
Pass the ID and Name outpurt port to the Target.
option (truncate and load)
Where Group by on ID port
| Is This Answer Correct ? | 1 Yes | 0 No |
Answer / sbvprasad
V1=iif(not isnull (id),id,v1)
for the 1st record.
V1= iif( not isnull (101), then pass 101).
now the V1 variable having the value = 101.
2nd record
V1= iif( not isnull ( null), then pass else condition V1 (
having 101 ))
now the V1 variable having the value = 101.
3rd record
V1= iif( not isnull ( null), then pass else condition V1 (
having 101 ))
now the V1 variable having the value = 101.
After applied the above logic we will get the output as
mentioned below.
-------------
ID NAME
--- ------
101 PANKAJ
101 KUMAR
101 MATHUR
102 JYOTI
102 SAXENA
103 SACHIN
102 TENDULKAR
2.In the next step take the aggregator transformation and
group by on the id. Then you will get the result.
TARGET TABLE
-------------
ID NAME
--- -------
101 PANKAJ KUMAR MATHUR
102 JYOTI SAXENA
103 SACHIN TENDULKAR
| Is This Answer Correct ? | 3 Yes | 8 No |
Explain sessions. Explain how batches are used to combine executions?
While importing the relational source defintion from database,what are the meta data of source U import?
hi all hi have flat file like below my requirement is empid,ename,sal,loc 101,vamshi,5000,hyd 101,vamshi,5020,hyd 201,raju,5000,hyd 202,ram,4000,hyd 203,kumar,3500,pune 203,kumar,3500,pune 203,kumar,5000,hyd 203,kumar,6000,hyd i want the o/p like this in one target 201,raju,5000,hyd 202,ram,4000,hyd and in second target 101,vamshi,5000,hyd 101,vamshi,5020,hyd 203,kumar,3500,pune 203,kumar,3500,pune 203,kumar,5000,hyd 203,kumar,6000,hyd
I have name like INDIA in a column. I want display 1st line A, 2nd line N, 3rd line D, 4th line I, 5th line A in oracle data base?
What is a standalone command task?
What is confirmed fact in dataware housing?
Hi all , I am planning for informatica S - PowerCenter 8 Mapping Design certification. I have rewuired the dumps for the same. if anyone of you having the same pl. share it with me. This will be of great help. My contact is : sagardev7@gmail.com TIA , Sagar
i have source like this ID 1 2 3 4 sal 1000 2000 3000 4000 and how to load target like this o_sal 1000 3000 6000 10000 can you plz give a sol using informatica
Tell me can we override a native sql query within informatica? Where do we do it? How do we do it?
two tables from two different databases r there . both having same structure but different data . how to compare these two tables ?
Why update strategy and union transformations are active?
Explain about Informatica server process that how it works relates to mapping variables?