Suppose we have a (assume relational) source table
Product_Id Month Sales
1 Jan x
1 Feb x
. . .
. . .
1 Dec x
2 Jan x
2 Feb x
. . .
. . .
2 Dec x
3 Jan x
3 Feb x
. . .
. . .
3 Dec x
. . .
. . .
and so on. Assume that there could be any number
of product keys and for each product key the sales
figures (denoted by 'x' are stored for each of the
12 months from Jan to Dec). So we want the result
in the target table in the following form.
Product_id Jan Feb March.. Dec
1 x x x x
2 x x x x
3 x x x x
.
.
So how will you design the ETL mapping for this case ,
explain in temrs of transformations.
Answer Posted / mukesh
Use an aggregator. Pass the ports (Product_id, Month,
Sales) to aggregator, group by Product_ID, manually create
12 ports for month like Jan, Feb, Mar, etc. Include an
expression for 12 ports,
Jan -> MAX(IIF(Month
= Jan,Sales)), Feb -> MAX(IIF(Month = Feb, Sales)), etc.
Without max, it will take last row..
Move these ports to the next transformation or to the
target. This should give the required output.
| Is This Answer Correct ? | 1 Yes | 1 No |
Post New Answer View All Answers
How do you load only null records into target?
What is a repository manager?
What is a code page?
What is a predefined event?
Can informatica load heterogeneous targets from heterogeneous sources?
What are the prerequisite tasks to achieve the session partition?
What is the need of an ETL tool?
What are the types of caches in lookup? Explain them.
Explain the scenario which compels informatica server to reject files?
Why can't we connect source qualifier and aggrigator transformation to an expression ? Why they resticted to conncet 2 active trasformations to an passive transformation ?
What are Dimensional table?
Does an informatica transformation support only aggregate expressions?
rank() over (partition by opt2.dim_plat_site_id, opt2.dim_site_opt_sid order by case when opt2.dm_market_flg in ('Y', 'U') then 1 else 2 end, lkp.contact_rank) as rank1, case opt2.contact_type when 'Buyer' then row_number() over (partition by opt2.dim_plat_site_id, opt2.dim_site_opt_sid, lkp.contact_rank order by has_name_flg desc, ship_to_flg desc , last_order_dt desc) when 'Decision Maker' then row_number() over (partition by opt2.dim_plat_site_id, opt2.dim_site_opt_sid, lkp.contact_rank order by has_name_flg desc , last_quote_dt desc , mailability_score desc , source_ranking desc) when 'Influencer' then row_number() over (partition by opt2.dim_plat_site_id, opt2.dim_site_opt_sid, lkp.contact_rank order by has_name_flg desc, mailability_score desc, source_ranking desc) when 'Payer' then row_number() over (partition by opt2.dim_plat_site_id, opt2.dim_site_opt_sid, lkp.contact_rank order by has_name_flg desc, mailability_score desc, source_ranking desc) --elu 05/28/2013 else row_number() over (partition by opt2.dim_plat_site_id, opt2.dim_site_opt_sid, lkp.contact_rank order by has_name_flg desc, mailability_score desc, source_ranking desc) end rank2 row_number() over (partition by opt3.dim_plat_site_id, opt3.dim_site_opt_sid order by rank1,rank2) as "rank", case when "rank"<= opt3.maximum_value then 'Y' else 'N' end as include_flg
What are the types of presistent cache in look up tr.
What is the different lookup cache(s)?