Thanks to visit codestin.com
Credit goes to www.scribd.com

0% found this document useful (0 votes)
127 views11 pages

Informatica ETL Naming Guide

The document provides naming conventions for objects in Informatica ETL processes. Key points include: 1. Repository objects like mappings and sessions should begin with "m_" and "s_" respectively followed by a meaningful name. Folder names may be based on department, username, project or subject area. 2. Workflow objects like tasks and events should begin with prefixes like "wft_" and "evt_" followed by a meaningful name. 3. Transformation objects used in mappings should begin with prefixes indicating the type of transformation followed by a meaningful name describing the processing. 4. Ports and variables should be prefixed with "in", "out" or "_v" respectively and be arranged in a specific

Uploaded by

kalyanbrp
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
127 views11 pages

Informatica ETL Naming Guide

The document provides naming conventions for objects in Informatica ETL processes. Key points include: 1. Repository objects like mappings and sessions should begin with "m_" and "s_" respectively followed by a meaningful name. Folder names may be based on department, username, project or subject area. 2. Workflow objects like tasks and events should begin with prefixes like "wft_" and "evt_" followed by a meaningful name. 3. Transformation objects used in mappings should begin with prefixes indicating the type of transformation followed by a meaningful name describing the processing. 4. Ports and variables should be prefixed with "in", "out" or "_v" respectively and be arranged in a specific

Uploaded by

kalyanbrp
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
You are on page 1/ 11

INFORMATICA ETL NAMING CONVENTIONS:

REPOSITORY OBJECTS:
Mapping name:
When we are creating a mapping in the mapping designer, the mapping name should be
defined as m_<meaningful name>.
Example: m_PER!"
Session name:
When the session tas# created in the wor#flow designer$tas# de%eloper, we should define
session as s_m_<meaningful name>
Example: s_m_PER!"
Folde name:

&older names for new users will be on their department followed b' their username.
Existing users( folder names are t'picall' in their group followed b' their user name.
&older "ames ma' also be based on pro)ect, sub)ect area, and promotion group.
Log !ile: <session_name>.log !R <wor#flow_name>.log
Bad !ile: <session_name>.bad
"o#!lo$ Name
When the wor#flow created in the wor#flow designer, the wor#flow name should be
defined as wf_<meaningful name>
Example: wf_m_PER!"
So%&e'name ( Tage)'name
*o not ma#e an' distinction here + ,nformatica color+codes the sources and targets, so it-s
eas' to tell. We do tr' to prefix these with a folder name, so that when shortcuts or global
ob)ects are created we can tell where the' originall' reside.
"OR*FLO" OBJECTS:
When we define the tas#s in the wor#flow designer, the designers should follow
the below mentioned rules:
Wor#let "ames w#lt_<meaningful name>
.ommand /ine "ames cmd_<meaningful name>
E%ent "ames e%tw_<meaningful name> for a wait e%ent
e%tr_<meaningful name> for a raise e%ent
*ecision "ames dcsn_<meaningful name>
.ontrol "ames cntrl_<meaningful_name>
Email "ames email_<meaningful_name>
0ssignment "ames asgmnt_<meaningful_name>
1imer "ames tmr_<meaningful_name>
TRANSFORMATION OBJECTS:
When we de%elop a mapping$ mapplet in the informatica designer, the designers should
follow some rules when defining transformations 2either reusable$non reusable3 or
de%eloped in the transformation de%eloper.
0d%anced External Procedure 1ransformation aep_<procedure name>
0ggregator 1ransformation agg_<meaningful name> that le%erages the
expression or a name that describes the
processing being done.
Expression 1ransformation exp_< meaningful name > that le%erages the
expression or a name that describes the
processing being done.
&ilter 1ransformation fil_< meaningful name > that describes the
processing being done.
4oiner 1ransformation )nr_<ource1able$&ile"ame5_ource1able$&ile"
ame6>
/oo#up 1ransformation l#p_</oo#up 1able "ame>
7applet mplt_< meaningful name >
"ormali8er 1ransformation nrm_< source name >
Ran# 1ransformation rn#_< meaningful name > that describes the
processing being done.
ource 9ualifier 1ransformation s:_<meaningful name>
;pdate trateg' 1ransformation upd_<meaningful name>
tored Procedure 1ransformation sp_<procedure name> 2Ex_Procedure"ame +
External Procedure 1ransform can also be used3
e:uence <enerator 1ransformation se:_<meaningful name>
Router 1ransformation rtr_<meaningful name>
orter 1ransformation srt_<meaningful name>
.ustom 1ransformation cust_<meaningful name> that le%erages the
expression or name that describes the processing
being done.
1ransaction .ontrol 1ransformation trctrl_<meaningful name> that le%erages the
expression or name that describes the processing
being done.
=7/ ource 9ualifier 1ransformation =7/s:_<meaningful name>
0pplication ource 9ualifier 1ransformation 0pps:_<meaningful name>
7idtream =7/ Parser 1ransformation =7/prse_<meaningful name> that le%erages the
expression or name that describes the processing
being done.
7idtream =7/ <enerator 1ransformation =7/gen_<meaningful name> that le%erages the
expression or name that describes the processing
being done.
;nion 1ransformation un_<meaningful name> that le%erages the
expression or name that describes the processing
being done.
PORTS AN+ VARIABLES:
When we create the transformations in the mapping$ mapplet designer or transformation
de%eloper, the designer should follow some rules.
,nput Ports Prefixed with: in fieldname
!utput Ports Prefixed with out fieldname
>ariable Ports Prefixed with %_function
53 *rag the import ports from the source definition or pre%ious transformation
arrange at the top le%el of the current transformation.
63 .reate the output ports at the bottom of the transformation.
?3 .reate the %ariables if re:uired, between input ports and output ports.
BEST PRACTICE "IT, TRANSFORMATIONS
-. So%&e /%ali!ie Tans!oma)ion:
ource 9ualifier is the first 1ransformation after the ource *efinition in the mapping
designer. 1his is generated automaticall' when we drag the ource definition from
repositor' na%igator into the wor#space. When sources are coming from the
homogeneous !/1P s'stems i.e. from the relational database, the following features are
a%ailable.
a3 0se de!ined 1oin &ondi)ion: 1his )oin condition is executed before extracting the
data from the database.
We can define all t'pes of )oins in the user defined )oiner condition@ columns that are
participated in )oined condition should be prefixed with table names. 1he following
)oins are a%ailable,
i3 left outer )oin
ii3 right outer )oin
iii3 full outer )oin
i%3 inner e:ui )oin
%3 non e:ui )oin
b3 S2l 2%e3:
-. *efault :uer': ,t is generated when ports of the source :ualifier transformation
connected to the next transformation or target.
4. .ustom :uer': elect statement is generated in the s:l editor, with respect to
re:uired columns properl'. We can define $5ee &la%se and ode 63 &la%se in
the s:l editor.
7. :l o%erride: ;ser can o%erride the :l :uer' in the s:l editor to define aggregate
functions using go%p 63 &la%se8
c3 Fil)e &ondi)ion:
;sing this filter condition, informatica ser%er extracts the data which meets the filter
condition and discards the Remaining data.

d. So)ed po)s:
*efine the port le%el 'ou want to sort the ports generated in the s:l :uer'.

e. Sele&) dis)in&):

With respect to this propert' informatica se%er eliminates the duplicate records.
!. Pe s2l:
:l statements are executed before pipeline runs. 1his is useful for dropping the
indexes created on the source database.
g. Pos) s2l:
:l statements are executed after pipeline runs. 1his is useful for recreating the
indexes.
"ote: we can delete the transformation ports which are not re:uired.
4. E9pession Tans!oma)ion:
Expression transformation is used to define the arithmetic calculations at same detail
le%el 2row b' row basis3.
*rag the re:uired columns from the pre%ious transformation and put them at the top
le%el. 1he columns which are not re:uired to pass to the next transformation$target, those
ports should be treated as input ports 2we can disable the o$p option from the properties3.
Remaining ports are treated as ,$! ports.
.reate the output ports at the bottom of the transformation for arithmetic calculations. ,f
an' %ariables that are re:uired for transformation itself, create them between input ports
and output ports.


7. Aggega)o Tans!oma)ion:
0ggregator transformation is used to do the arithmetic calculations at summari8ed le%el
2<roup b' basis3.
ome of the aggregate functions are:
um 23,
0%g 23,
7ax 23,
7in 23,
.ount 23.
*rag the re:uired columns from the pre%ious transformation and put them at the top le%el
to the next transformation. 1he columns which are not re:uired to pass next
transformation$target, those should be treated as input ports. Remaining ports are treated
as ,$! ports.
.reate the output ports at bottom of the following transformation for arithmetic
calculations with respect to group b' ports.
Without using expression transformation, informatica ser%er calculates the
arithmetic calculations and aggregates them, ex: sum 2salAcomm.3. But it will
be burden to informatica se%er, to generates the aggregate functions. 0s much
as possible we should do the arithmetic calculations at detail le%el b' using
expression transformation.
We can use sorter transformation before aggregator transformation to impro%e
the performance of the session.
"ote: ,f we select the sorted input on properties tab, then compulsor' we ha%e to use the
sorter transformation before the aggregator transformation, otherwise session fails.
Because informatica se%er blindl' assumes all the incoming records are sorted records.
:. So)e Tans!oma)ion:
orter transformation is used to sort the incoming data into either ascending or
descending order.
elect the direction 2ascending$descending3 on the #e' column form the properties
of the transformation, informatica ser%er sorts the incoming data with respect to
direction2asc or desc3..
orter transformation not onl' sorts the incoming data but also eliminates duplicate
records b' setting select distinct option.

"ote: ,f the source is coming from the flat file it will be better to use sorter
transformation, because it is not possible to sort the input data in the source :ualifier and
also unable to eliminate the duplicate records.

;. Fil)e Tans!oma)ion:
&ilter transformation is used to pass the incoming data through transformation which
meets the filter condition. !therwise re)ect them in the transformation itself. ,t contains
onl' ,$! ports.
"ote 5: 1he re)ected data will be deleted from the buffer memor' itself, but not loaded
into the an' bad$re)ect files.
"ote 6: filter transformation is onl' used for one filter condition@ if we want to chec# for
more than one condition at a time then we can opt for router transformation.
<. Ro%)e Tans!oma)ion:
Router transformation is used to allow the user to meet the multiple conditions. *rag the
input ports to the router transformation, within the router transformation input group and
default output group will be automaticall' created.
*ouble clic# on the router transformation, select the groups tab create how man' groups
'ou want. With respect to groups we define conditions, and connect them to the different
targets.

,nformatica se%er executes the first condition, if the incoming record meet the first
condition, otherwise it should passed to next condition. ,f the incoming record does not
meet all conditions, it goes to default group.
=. Ran# Tans!oma)ion:
Ran# transformation is used to assign the ran# on a particular port 2either top or
bottom le%el3 with respect to group b' port. *ouble clic# on the ran# transformation
select the ran# port on particular port, then ran# index generated. elect the properties tab
and set how man' ran#s 'ou wanted. Ran# port is also includes in target table for eas'
identification.
,t is an acti%e transformation and passes records with respect to how man' ran#s to be
selected and re)ects remaining records within transformation itself.
>. Tansa&)ion Con)ol Tans!oma)ion:
1ransaction control transformation is used to control the flow of data before loading into
target table. B' default, informatica se%er tries to load total data coming from the input
source. *ue to o%erflow of data, informatica ser%er sometimes fails the session.
,f the input sources contain millions of records, then use the transaction control
transformation, to di%ide the data into group of transactions i.e., order date, hire date, and
load the data into the target in proper wa', according to choosing the control action.
1._.!77,1_BE&!RE:,nformatica ser%er commits the transaction, and then new
transaction will be started. When the current row passes to the target, along with that
informatica ser%er commits the new transaction.
1._.!77,1_0&1ER: ,nformatica se%er writes the current row to the target table, then
new transaction started along with current row passes to the target. 1he current row is in
the committed transaction.
1._R!//B0.C_BE&!RE: ,nformatica se%er rolls bac# the transaction, start the new
transaction and write the current row to the target and roll bac# that transaction and start
the new transaction.
1._R!//B0.C_0&1ER: ,nformatica ser%er writes the current row to the target and
rolls bac# the transaction, and begins new transaction. 1he current row is in the rolled
bac# transaction.
"ote: .hoose onl' one option in one application. 0nd set the commit on end file option
at session side.
"ote: ,f we implement the incremental extraction in the mapping, it is not better to use
the transactional control transformation.
?. 0pda)e S)a)eg3 Tans!oma)ion:
;pdate strateg' transformation is used to plan whether the logic is updated, inserted,
re)ected or deleted.
With the update strateg' expression, informatica ser%er understands whether the
incoming record is newl' inserted or updated etc.
We can define the update strateg' transformation before the target definition.
**_;P*01E: ,nformatica ser%er chec#s to see whether the primar' #e' of the incoming
record alread' exists in the target or not. ,f it is existed, informatica ser%er understands
that the incoming record is updated record, and reflects the updated %alues in place of
alread' existing %alues.

**_,"ER1: ,nformatica ser%er chec#s the target definition@ if the incoming record
primar' #e' is not existed in the target, if it is not existed insert that record in the target as
a new record.
**_RE4E.1: ,nformatica ser%er chec#s to see whether the primar' #e' of the incoming
record alread' exists in the target. ,f it is existed, informatica ser%er re)ects that record
from the transformation itself.
**_*E/E1E: ,nformatica ser%er chec#s to see whether the primar' #e' of the incoming
record alread' exists in the target. ,f it is existed, informatica ser%er deletes that record
from the target.
"ote: Ceep the forward re)ected rows option in the properties tab, mention bad file name
with respect to session name in the local director' of the informatica ser%er, and passes
the re)ected rows to that bad file.
-@. Se2%en&e Genea)o Tans!oma)ion:
e:uence generator transformation is used to generate the uni:ue %alues for primar' #e's
used in the target definitions. ,t generates the uni:ue %alues for two or more target tables
in a single mapping. But it does not generate the same %alues in all target tables. ,n that
situation we can pass ne9)Aal port to the some other transformation, and then informatica
ser%er generates uni:ue %alues used in all targets a%ailable in the same mapping with
respect to what are %alues should be set in the properties tab of the transformation.
,t has two predefined output columns: next%al, curr%al.
S)a) Aal%e: when the informatica ser%er generates uni:ue %alues to reach the maximum
%alues then starts again with start %alue option.
C%en) Aal%e and in&emen) 63 Aal%e: With respect to these %alues informatica ser%er
generates the uni:ue %alues.
C3&le: With this option informatica ser%er going to start %alue and generates the uni:ue
%alues.
Rese): B' using this option, informatica ser%er generates uni:ue %alues, what are the
%alues that are generated in the pre%ious session, while run the same session again.
!therwise, informatica ser%er generates the uni:ue %alues with respect to current %alue
a%ailable in the repositor'.
N%m6e o! &a&5ed o$s: 1his propert' is used when the transformation is used as
reusable transformation. et this propert', how man' records promoted in each session.
"ote: *isable the reset option when the se:uence generator transformation as a reusable
transformation.
"ote: curr %al port is used onl' when the next %al is connected to the next transformation
or target generate uni:ue %alues. !therwise it generates onl' constant %alues.
--. Joine Tans!oma)ion:
4oiner transformation is used to )oin the two source definitions, that are coming from the
same relational database or hetero genius source definitions. But the )oin condition is
executed after data has to be extracted. ,t is more feasibilit' to use compare to source
:ualifier, because all the features are a%ailable in the )oiner transformation.
"ote: 4oiner transformation is not onl' used to )oin the source definitions, but also used at
an'where in the mapping to combine the logic.
&irst drag the ports from the detailed le%el source definition@ it should contain more
number of records. 1hen drag the ports from the master le%el source definition, it should
contain less number of records. .omparison can be done from master to source.
1herefore informatica ser%er easil' and speedil' retrie%es the data, what data should
coming from the detail le%el source to meet the )oin condition, nothing but %ertical
collection of columns.
*rawbac#s: don(t use se:uence generator transformation and update strateg'
transformation before )oiner transformation.
-4. Loo# %p Tans!oma)ion:
/oo# up table is a reference table will be created on either source table or target table.
1ransformation that is defined on a loo#up table in the mapping$ mapplet designer #nown
as loo#up transformation.
1here are fi%e t'pes of loo#up caches are a%ailable.
53 static loo#up cache
63 d'namic loo#up cache
?3 shared loo#up cache
D3 re cache from the source
E3 persistence cache
When we define the loo#up on the flat files, we use onl' static loo#up
transformation. tatic loo#up transformation is also useful to define on
relational databases also. ;sing static loo#up, we define multiple
conditions with respect to multiple relational operators. But here
informatica ser%er does not insert or update the loo#up %alues during the
session.
*'namic loo#up is used to define onl' on relational databases. Fere we
can define onl' single condition b' using the e:ual operator onl'. Fere
informatica ser%er will insert or update the loo#up %alues during the
session with respect to associate ports.
,f multiple loo#up transformations are created in a single mapping, then
we should define shared loo#up cache. ,n this case informatica ser%er uses
the same t'pe of cache memor' for multiple loo#up transformations.
,f the cache files %alues are not s'nchroni8ed with input %alues then we
should go with re cache from the source.
,f the data a%ailable in the source does not changes fre:uentl', in such
situation we will go for persistent loo#up cache.
-7. 0nion Tans!oma)ion:
;nion transformation is used to combine the records that are coming from the same t'pe
source definitions that are nothing but hori8ontal collection of rows. Fere we should
maintain same data t'pes, and width.
+a)a oAeloading: 1his problem will be occurred when the incoming data precision is
greater than the specified precision %alue in the transformation.

,f the width of the second source is greater than the first source, if it is a number column,
then informatica ser%er s#ips that %alues and if it is string column informatica ser%er
truncate that %alues. 1herefore ma#e sure all the data t'pes and precision are correct.
*rag the ports from the first source definition to the union transformation, then output
group is automaticall' created. .reate the second group and connect the second source
definition ports to that group. ,nformatica ser%er combined these to sources and passes to
the target.
,t is an acti%e transformation and combines the input records and passes to the next
transformation$ target.
-:. S)oed Po&ed%e Tans!oma)ion:
tored procedure transformation maintains precompiled s:l statements in the database.
,t is reusable database ob)ect used an'where an' selected user in an' mapping.
We can generate what are the expressions we want to define in the expression and
aggregator transformation in the mapping designer, li#e total, sum, a%erage, count, max,
min in the procedure creation time. 1herefore mapping complexit' should be reduced.
*ouble clic# on the stored procedure, select the properties tab and select stored procedure
t'pe shown below.
So%&e Pe ead: tored procedure is executed before read the data from the source.
1his is useful for %erif'ing the existence of tables or performing )oins of data in a
temporar' table.
So%&e Pos) ead: tored procedure is executed after read the data from the source. 1his
is useful for remo%ing the temporar' tables.
Tage) Pe load: Procedure is executed before load the data into the target. 1his is useful
for %erif'ing the target tables and disc space on the target s'stem.
Tage) Pos) load: tored procedure executed after sends the data to the target. 1his is
useful for recreating the indexes on the database.

You might also like