I have source like this
year account month amount
----- --------- ------ --------
1999 salaries jan 9600
1999 salaries feb 2000
1999 salaries mar 2500
2001 benfits jan 3000
2001 benfits feb 3500
2001 benfits mar 4000
-->i need target like this
year account month1 month2 month3
----- --------- -------- -------- --------
1999 salaries 9600 2000 2500
2001 benfits 3000 3500 4000

Answers were Sorted based on User's Feedback



I have source like this year account month amount ----- --------- ------ -------- 1999 salaries j..

Answer / soumen

Use following method --

sq_source --> exp_tans --> agg_trans --> target

exp_trans --> add 3 variable --
v_month1 == iif(month='jan', amount, 0)
v_month2 == iif(month='feb', amount, 0)
v_month3 == iif(month='mar', amount, 0)

agg_trans --> add 5 cols from exp_trans --
year(check group by), account(check group by), v_month1,
v_month2, v_month2

Is This Answer Correct ?    3 Yes 0 No

I have source like this year account month amount ----- --------- ------ -------- 1999 salaries j..

Answer / soumen

Little corrections ---->
Use following method --

sq_source --> exp_tans --> agg_trans --> target

exp_trans --> add 3 variable --
v_month1 == iif(month='jan', amount, 0)
v_month2 == iif(month='feb', amount, 0)
v_month3 == iif(month='mar', amount, 0)

agg_trans --> add 5 cols from exp_trans --
year(check group by), account(check group by), sum(v_month1),
sum(v_month2), sum(v_month2)

Now forward these 5 cols to Target.

Is This Answer Correct ?    3 Yes 1 No

I have source like this year account month amount ----- --------- ------ -------- 1999 salaries j..

Answer / sai karthik

We can achieve this with Aggregator transformation.

SQ-->AGG-->TGT

IN AGGREGATOR TRANSFORMATION GROUP BY YEAR AND ACCOUNT PORTS
AND TAKE THREE OUTPUT PORTS 1. MONTH1, 2. MONTH2, 3. MONTH3 AND WRITE THESE FUNCTIONS.

1. MAX(DECODE(MONTH,'JAN',AMOUNT))
2. MAX(DECODE(MONTH,'FEB',AMOUNT))
3. MAX(DECODE(MONTH,'MAR',AMOUNT))

CONNECT THE PORTS TO THE TARGET AND RUN THE SESSION AND SEE THE RESULT.

CHEERS
SAI KARTHIK

Is This Answer Correct ?    1 Yes 0 No

I have source like this year account month amount ----- --------- ------ -------- 1999 salaries j..

Answer / a

select yr,acc, max(decode (mon,'jan',am)) mon1,max(decode
(mon,'feb',am)) mon1,max(decode (mon,'mar',am)) mon1 from
intr
group by yr,acc

Is This Answer Correct ?    1 Yes 2 No

Post New Answer

More Informatica Interview Questions

What is the benefit of session partitioning?

1 Answers  


how will u get 1 and 3rd and 5th records in table what is the query in oracle please help me

16 Answers   Cap Gemini, IBM,


Give some information on report bursting and how to do it in bca as I have to split the report and send different reports to different people?

1 Answers  


Explain sql transformation in script mode examples in informatica

1 Answers   Informatica,


Debugger what are the modules, what are the options you can specify when using debugger, can you change the expression condition dynamically when the debugger is running.

1 Answers  


write a query row to column follwing source? quarter sales q1 5000 q1 9000 q1 7000 q1 6000 q2 5000 q2 4000 q2 3000 q2 1000 q3 4000 q3 3000 q3 1000 q3 2000 q4 5000 q4 400 i want the output? q1 q2 q3 q4 sales

3 Answers   Cognizant, Flextronics,


What is Micro Strategy? Why is it used for?

5 Answers   Infosys,


What are the different types of Type2 dimension maping?

2 Answers   CTS,


What do you understand by a term domain?

1 Answers  


Does an informatica transformation support only aggregate expressions?

1 Answers  


How to join three sources using joiner?

1 Answers  


write sql query following table amount year quarter 1000 2003 first 2000 2003 second 3000 2003 third 4000 2003 fourth 5000 2004 first 6000 2004 second 7000 2004 third 8000 2004 fourth i want the output year q1_amount q2_amount q3_amount q4_amount 2003 1000 2000 3000 4000 2004 5000 6000 7000 8000 can anybady help me to achieve the aboue result by using informatica. thanks in advance.

5 Answers  


Categories