Академический Документы
Профессиональный Документы
Культура Документы
InformaticaQuestionAnswer
2ndJune2012
InformaticaQuestionAnswer
DeletingduplicaterowusingInformatica
Q1.SupposewehaveDuplicaterecordsinSourceSystemandwewanttoloadonlytheuniquerecordsinthe
TargetSystemeliminatingtheduplicaterows.Whatwillbetheapproach?
Ans.
[http://3.bp.blogspot.com/eupPD2VLBU/T8nOyWjmZjI/AAAAAAAADIg/t5
LcnEgyc/s1600/t1.PNG]
[http://3.bp.blogspot.com/
BFYOJdTagiM/T8nPFWTZfaI/AAAAAAAADIo/Yg4ByC2Ld5w/s1600/t2.PNG]
LetusassumethatthesourcesystemisaRelationalDatabase.Thesourcetableishavingduplicaterows.Nowto
eliminateduplicaterecords,wecanchecktheDistinctoptionoftheSourceQualifierofthesourcetableandloadthe
targetaccordingly.
SourceQualifierTransformationDISTINCTclause
DeletingduplicaterowforFLATFILEsources
NowsupposethesourcesystemisaFlatFile.HereintheSourceQualifieryouwillnotbeabletoselectthedistinct
clauseasitisdisabledduetoflatfilesourcetable.HencethenextapproachmaybeweuseaSorterTransformation
andchecktheDistinctoption.Whenweselectthedistinctoptionallthecolumnswilltheselectedaskeys,in
ascendingorderbydefault.
SorterTransformationDISTINCTclause
DeletingDuplicateRecordUsingInformaticaAggregator
OtherwaystohandleduplicaterecordsinsourcebatchrunistouseanAggregatorTransformationandusingthe
GroupBycheckboxontheportshavingduplicateoccurringdata.Hereyoucanhavetheflexibilitytoselectthelastor
thefirstoftheduplicatecolumnvaluerecords.ApartfromthatusingDynamicLookupCacheofthetargettableand
associatingtheinputportswiththelookupportandcheckingtheInsertElseUpdateoptionwillhelptoeliminatethe
duplicaterecordsinsourceandhenceloadinguniquerecordsinthetarget.
LoadingMultipleTargetTablesBasedonConditions
http://shaninformatica.blogspot.com/
1/71
12/23/2015
InformaticaQuestionAnswer
Q2.Supposewehavesomeserialnumbersinaflatfilesource.Wewanttoloadtheserialnumbersintwotargetfiles
onecontainingtheEVENserialnumbersandtheotherfilehavingtheODDones.
Ans.
AftertheSourceQualifierplaceaRouterTransformation.CreatetwoGroupsnamelyEVENandODD,withfilter
conditionsasMOD(SERIAL_NO,2)=0andMOD(SERIAL_NO,2)=1respectively.Thenoutputthetwogroupsintotwo
flatfiletargets.
RouterTransformationGroupsTab
NormalizerRelatedQuestions
Q3.SupposeinourSourceTablewehavedataasgivenbelow:
StudentName
Maths
LifeScience
PhysicalScience
Sam
100
70
80
John
75
100
85
Tom
80
100
85
WewanttoloadourTargetTableas:
StudentName
SubjectName
Marks
Sam
Maths
100
Sam
LifeScience
70
Sam
PhysicalScience
80
John
Maths
75
John
LifeScience
100
John
PhysicalScience
85
Tom
Maths
80
Tom
LifeScience
100
Tom
PhysicalScience
85
Describeyourapproach.
Ans.
HeretoconverttheRowstoColumnswehavetousetheNormalizerTransformationfollowedbyanExpression
TransformationtoDecodethecolumntakenintoconsideration.Formoredetailsonhowthemappingisperformed
pleasevisitWorkingwithNormalizer[http://www.dwbiconcepts.com/basicconcept/3etl/23usinginformaticanormalizer
transformation.html]
Q4.Namethetransformationswhichconvertsonetomanyrowsi.eincreasesthei/p:o/prowcount.Alsowhatisthe
nameofitsreversetransformation.
Ans.
NormalizeraswellasRouterTransformationsaretheActivetransformationwhichcanincreasethenumberofinput
rowstooutputrows.
AggregatorTransformationistheactivetransformationthatperformsthereverseaction.
Q5.Supposewehaveasourcetableandwewanttoloadthreetargettablesbasedonsourcerowssuchthatfirstrow
movestofirsttargettable,secordrowinsecondtargettable,thirdrowinthirdtargettable,fourthrowagaininfirst
targettablesoonandsoforth.Describeyourapproach.
Ans.
WecanclearlyunderstandthatweneedaRoutertransformationtorouteorfiltersourcedatatothethreetarget
tables.Nowthequestioniswhatwillbethefilterconditions.FirstofallweneedanExpressionTransformation
wherewehaveallthesourcetablecolumnsandalongwiththatwehaveanotheri/oportsayseq_num,whichisgets
sequencenumbersforeachsourcerowfromtheportNextValofaSequenceGeneratorstartvalue0and
incrementby1.Nowthefilterconditionforthethreeroutergroupswillbe:
MOD(SEQ_NUM,3)=1connectedto1sttargettable,MOD(SEQ_NUM,3)=2connectedto2ndtargettable,
MOD(SEQ_NUM,3)=0connectedto3rdtargettable.
http://shaninformatica.blogspot.com/
2/71
12/23/2015
InformaticaQuestionAnswer
RouterTransformationGroupsTab
LoadingMultipleFlatFilesusingonemapping
Q6.Supposewehavetensourceflatfilesofsamestructure.Howcanweloadallthefilesintargetdatabaseina
singlebatchrunusingasinglemapping.
Ans.
Afterwecreateamappingtoloaddataintargetdatabasefromflatfiles,nextwemoveontothesessionpropertyof
theSourceQualifier.Toloadasetofsourcefilesweneedtocreateafilesayfinal.txtcontainingthesourcefaltfile
names,tenfilesinourcaseandsettheSourcefiletypeoptionasIndirect.Nextpointthisflatfilefinal.txtfully
qualifiedthroughSourcefiledirectoryandSourcefilename.
Image:SessionPropertyFlatFile[file:///E:/Tutorial/fundooo%20informatica%20(1).doc]
Q7.HowcanweimplementAggregationoperationwithoutusinganAggregatorTransformationinInformatica.
Ans.
WewillusetheverybasicconceptoftheExpressionTransformationthatatatimewecanaccessthepreviousrow
dataaswellasthecurrentlyprocesseddatainanexpressiontransformation.WhatweneedissimpleSorter,
ExpressionandFiltertransformationtoachieveaggregationatInformaticalevel.
FordetailedunderstandingvisitAggregationwithoutAggregator[http://www.dwbiconcepts.com/basicconcept/3etl/10
aggregationwithoutinformaticaaggregator.html]
Q8.SupposeinourSourceTablewehavedataasgivenbelow:
StudentName
SubjectName
Marks
Sam
Maths
100
Tom
Maths
80
Sam
PhysicalScience
80
John
Maths
75
Sam
LifeScience
70
John
LifeScience
100
John
PhysicalScience
85
Tom
LifeScience
100
Tom
PhysicalScience
85
http://shaninformatica.blogspot.com/
3/71
12/23/2015
InformaticaQuestionAnswer
WewanttoloadourTargetTableas:
StudentName
Maths
LifeScience
PhysicalScience
Sam
100
70
80
John
75
100
85
Tom
80
100
85
Describeyourapproach.
Ans.
Hereourscenarioistoconvertmanyrowstoonerows,andthetransformationwhichwillhelpustoachievethisis
Aggregator.OurMappingwilllooklikethis:
MappingusingsorterandAggregator
WewillsortthesourcedatabasedonSTUDENT_NAMEascendingfollowedbySUBJECTascending.
http://shaninformatica.blogspot.com/
4/71
12/23/2015
InformaticaQuestionAnswer
SorterTransformation
NowbasedonSTUDENT_NAMEinGROUPBYclausethefollowingoutputsubjectcolumnsarepopulatedas
MATHS:MAX(MARKS,SUBJECT='Maths')
LIFE_SC:MAX(MARKS,SUBJECT='LifeScience')
PHY_SC:MAX(MARKS,SUBJECT='PhysicalScience')
AggregatorTransformation
RevisitingSourceQualifierTransformation
Q9.WhatisaSourceQualifier?WhatarethetaskswecanperformusingaSQandwhyitisanACTIVE
transformation?
Ans.
ASourceQualifierisanActiveandConnectedInformaticatransformationthatreadstherowsfromarelational
databaseorflatfilesource.
WecanconfiguretheSQtojoin[BothINNERaswellasOUTERJOIN]dataoriginatingfromthesamesource
database.
WecanuseasourcefiltertoreducethenumberofrowstheIntegrationServicequeries.
WecanspecifyanumberforsortedportsandtheIntegrationServiceaddsanORDERBYclausetothedefaultSQL
query.
WecanchooseSelectDistinctoptionforrelationaldatabasesandtheIntegrationServiceaddsaSELECTDISTINCT
clausetothedefaultSQLquery.
AlsowecanwriteCustom/UsedDefinedSQLquerywhichwilloverridethedefaultqueryintheSQbychangingthe
defaultsettingsofthetransformationproperties.
AslowehavetheoptiontowritePreaswellasPostSQLstatementstobeexecutedbeforeandaftertheSQqueryin
thesourcedatabase.
SincethetransformationprovidesuswiththepropertySelectDistinct,whentheIntegrationServiceaddsaSELECT
DISTINCTclausetothedefaultSQLquery,whichinturnaffectsthenumberofrowsreturnedbytheDatabasetothe
IntegrationServiceandhenceitisanActivetransformation.
Q10.WhathappenstoamappingifwealterthedatatypesbetweenSourceanditscorrespondingSourceQualifier?
Ans.
TheSourceQualifiertransformationdisplaysthetransformationdatatypes.Thetransformationdatatypesdetermine
howthesourcedatabasebindsdatawhentheIntegrationServicereadsit.
NowifwealterthedatatypesintheSourceQualifiertransformationorthedatatypesinthesourcedefinitionand
SourceQualifiertransformationdonotmatch,theDesignermarksthemappingasinvalidwhenwesaveit.
Q11.SupposewehaveusedtheSelectDistinctandtheNumberOfSortedPortspropertyintheSQandthenweadd
CustomSQLQuery.Explainwhatwillhappen.
Ans.
WheneverweaddCustomSQLorSQLoverridequeryitoverridestheUserDefinedJoin,SourceFilter,Numberof
http://shaninformatica.blogspot.com/
5/71
12/23/2015
InformaticaQuestionAnswer
SortedPorts,andSelectDistinctsettingsintheSourceQualifiertransformation.HenceonlytheuserdefinedSQL
Querywillbefiredinthedatabaseandalltheotheroptionswillbeignored.
Q12.DescribethesituationswherewewillusetheSourceFilter,SelectDistinctandNumberOfSortedPorts
propertiesofSourceQualifiertransformation.
Ans.
SourceFilteroptionisusedbasicallytoreducethenumberofrowstheIntegrationServicequeriessoastoimprove
performance.
SelectDistinctoptionisusedwhenwewanttheIntegrationServicetoselectuniquevaluesfromasource,filtering
outunnecessarydataearlierinthedataflow,whichmightimproveperformance.
NumberOfSortedPortsoptionisusedwhenwewantthesourcedatatobeinasortedfashionsoastousethe
sameinsomefollowingtransformationslikeAggregatororJoiner,thosewhenconfiguredforsortedinputwillimprove
theperformance.
Q13.WhatwillhappeniftheSELECTlistCOLUMNSintheCustomoverrideSQLQueryandtheOUTPUTPORTS
orderinSQtransformationdonotmatch?
Ans.
MismatchorChangingtheorderofthelistofselectedcolumnstothatoftheconnectedtransformationoutputports
mayresultissessionfailure.
Q14.WhathappensifintheSourceFilterpropertyofSQtransformationweincludekeywordWHEREsay,WHERE
CUSTOMERS.CUSTOMER_ID>1000.
Ans.
Weusesourcefiltertoreducethenumberofsourcerecords.IfweincludethestringWHEREinthesourcefilter,the
IntegrationServicefailsthesession.
Q15.DescribethescenarioswherewegoforJoinertransformationinsteadofSourceQualifiertransformation.
Ans.
WhilejoiningSourceDataofheterogeneoussourcesaswellastojoinflatfileswewillusetheJoiner
transformation.
UsetheJoinertransformationwhenweneedtojointhefollowingtypesofsources:
JoindatafromdifferentRelationalDatabases.
JoindatafromdifferentFlatFiles.
Joinrelationalsourcesandflatfiles.
Q16.WhatisthemaximumnumberwecanuseinNumberOfSortedPortsforSybasesourcesystem.
Ans.
Sybasesupportsamaximumof16columnsinanORDERBYclause.SoifthesourceisSybase,donotsortmorethan
16columns.
Q17.SupposewehavetwoSourceQualifiertransformationsSQ1andSQ2connectedtoTargettablesTGT1and
TGT2respectively.HowdoyouensureTGT2isloadedafterTGT1?
Ans.
IfwehavemultipleSourceQualifiertransformationsconnectedtomultipletargets,wecandesignatetheorderinwhich
theIntegrationServiceloadsdataintothetargets.
IntheMappingDesigner,WeneedtoconfiguretheTargetLoadPlanbasedontheSourceQualifiertransformations
inamappingtospecifytherequiredloadingorder.
Image:TargetLoadPlan[file:///E:/Tutorial/fundooo%20informatica%20(1).doc]
TargetLoadPlanOrdering
Q18.SupposewehaveaSourceQualifiertransformationthatpopulatestwotargettables.HowdoyouensureTGT2
http://shaninformatica.blogspot.com/
6/71
12/23/2015
InformaticaQuestionAnswer
isloadedafterTGT1?
Ans.
IntheWorkflowManager,wecanConfigureConstraintbasedloadorderingforasession.TheIntegrationService
ordersthetargetloadonarowbyrowbasis.Foreveryrowgeneratedbyanactivesource,theIntegrationService
loadsthecorrespondingtransformedrowfirsttotheprimarykeytable,thentotheforeignkeytable.
HenceifwehaveoneSourceQualifiertransformationthatprovidesdataformultipletargettableshavingprimaryand
foreignkeyrelationships,wewillgoforConstraintbasedloadordering.
Image:Constraintbasedloading[file:///E:/Tutorial/fundooo%20informatica%20(1).doc]
RevisitingFilterTransformation
Q19.WhatisaFilterTransformationandwhyitisanActiveone?
Ans.
AFiltertransformationisanActiveandConnectedtransformationthatcanfilterrowsinamapping.
OnlytherowsthatmeettheFilterConditionpassthroughtheFiltertransformationtothenexttransformationinthe
pipeline.TRUEandFALSEaretheimplicitreturnvaluesfromanyfilterconditionweset.Ifthefilterconditionevaluates
toNULL,therowisassumedtobeFALSE.
ThenumericequivalentofFALSEiszero(0)andanynonzerovalueistheequivalentofTRUE.
AsanACTIVEtransformation,theFiltertransformationmaychangethenumberofrowspassedthroughit.Afilter
conditionreturnsTRUEorFALSEforeachrowthatpassesthroughthetransformation,dependingonwhetherarow
meetsthespecifiedcondition.OnlyrowsthatreturnTRUEpassthroughthistransformation.Discardedrowsdonot
appearinthesessionlogorrejectfiles.
Q20.WhatisthedifferencebetweenSourceQualifiertransformationsSourceFiltertoFiltertransformation?
Ans.
SQSourceFilter
FilterTransformation
SourceQualifier
transformationfiltersrows
whenreadfromasource.
Filtertransformationfiltersrowsfromwithina
mapping
SourceQualifier
transformationcanonly
filterrowsfromRelational
Sources.
Filtertransformationfiltersrowscomingfrom
anytypeofsourcesysteminthemappinglevel.
SourceQualifierlimitsthe
rowsetextractedfroma
source.
Filtertransformationlimitstherowsetsenttoa
target.
SourceQualifierreduces
thenumberofrowsused
throughoutthemapping
andhenceitprovidesbetter
performance.
Tomaximizesessionperformance,includethe
Filtertransformationasclosetothesourcesin
themappingaspossibletofilteroutunwanted
dataearlyintheflowofdatafromsourcesto
targets.
Thefilterconditioninthe
SourceQualifier
transformationonlyuses
standardSQLasitrunsin
thedatabase.
FilterTransformationcandefineacondition
usinganystatementortransformationfunction
thatreturnseitheraTRUEorFALSEvalue.
RevisitingJoinerTransformation
Q21.WhatisaJoinerTransformationandwhyitisanActiveone?
Ans.
AJoinerisanActiveandConnectedtransformationusedtojoinsourcedatafromthesamesourcesystemorfrom
tworelatedheterogeneoussourcesresidingindifferentlocationsorfilesystems.
TheJoinertransformationjoinssourceswithatleastonematchingcolumn.TheJoinertransformationusesacondition
thatmatchesoneormorepairsofcolumnsbetweenthetwosources.
Thetwoinputpipelinesincludeamasterpipelineandadetailpipelineoramasterandadetailbranch.Themaster
pipelineendsattheJoinertransformation,whilethedetailpipelinecontinuestothetarget.
IntheJoinertransformation,wemustconfigurethetransformationpropertiesnamelyJoinCondition,JoinTypeand
SortedInputoptiontoimproveIntegrationServiceperformance.
ThejoinconditioncontainsportsfrombothinputsourcesthatmustmatchfortheIntegrationServicetojointworows.
Dependingonthetypeofjoinselected,theIntegrationServiceeitheraddstherowtotheresultsetordiscardsthe
row.
http://shaninformatica.blogspot.com/
7/71
12/23/2015
InformaticaQuestionAnswer
TheJoinertransformationproducesresultsetsbasedonthejointype,condition,andinputdatasources.Henceitis
anActivetransformation.
Q22.StatethelimitationswherewecannotuseJoinerinthemappingpipeline.
Ans.
TheJoinertransformationacceptsinputfrommosttransformations.However,followingarethelimitations:
JoinertransformationcannotbeusedwheneitheroftheinputpipelinecontainsanUpdateStrategytransformation.
JoinertransformationcannotbeusedifweconnectaSequenceGeneratortransformationdirectlybeforetheJoiner
transformation.
Q23.Outofthetwoinputpipelinesofajoiner,whichonewillyousetasthemasterpipeline?
Ans.
Duringasessionrun,theIntegrationServicecompareseachrowofthemastersourceagainstthedetailsource.
Themasteranddetailsourcesneedtobeconfiguredforoptimalperformance.
ToimproveperformanceforanUnsortedJoinertransformation,usethesourcewithfewerrowsasthemaster
source.Thefeweruniquerowsinthemaster,thefeweriterationsofthejoincomparisonoccur,whichspeedsthejoin
process.
WhentheIntegrationServiceprocessesanunsortedJoinertransformation,itreadsallmasterrowsbeforeitreadsthe
detailrows.TheIntegrationServiceblocksthedetailsourcewhileitcachesrowsfromthemastersource.Oncethe
IntegrationServicereadsandcachesallmasterrows,itunblocksthedetailsourceandreadsthedetailrows.
ToimproveperformanceforaSortedJoinertransformation,usethesourcewithfewerduplicatekeyvaluesasthe
mastersource.
WhentheIntegrationServiceprocessesasortedJoinertransformation,itblocksdatabasedonthemapping
configurationanditstoresfewerrowsinthecache,increasingperformance.Blockinglogicispossibleifmasterand
detailinputtotheJoinertransformationoriginatefromdifferentsources.Otherwise,itdoesnotuseblockinglogic.
Instead,itstoresmorerowsinthecache.
Q24.WhatarethedifferenttypesofJoinsavailableinJoinerTransformation?
Ans.
InSQL,ajoinisarelationaloperatorthatcombinesdatafrommultipletablesintoasingleresultset.TheJoiner
transformationissimilartoanSQLjoinexceptthatdatacanoriginatefromdifferenttypesofsources.
TheJoinertransformationsupportsthefollowingtypesofjoins:
Normal
MasterOuter
DetailOuter
FullOuter
JoinTypepropertyofJoinerTransformation
http://shaninformatica.blogspot.com/
8/71
12/23/2015
InformaticaQuestionAnswer
Note:Anormalormasterouterjoinperformsfasterthanafullouterordetailouterjoin.
Q25.DefinethevariousJoinTypesofJoinerTransformation.
Ans.
Inanormaljoin,theIntegrationServicediscardsallrowsofdatafromthemasteranddetailsourcethatdonot
match,basedonthejoincondition.
Amasterouterjoinkeepsallrowsofdatafromthedetailsourceandthematchingrowsfromthemastersource.It
discardstheunmatchedrowsfromthemastersource.
Adetailouterjoinkeepsallrowsofdatafromthemastersourceandthematchingrowsfromthedetailsource.It
discardstheunmatchedrowsfromthedetailsource.
Afullouterjoinkeepsallrowsofdatafromboththemasteranddetailsources.
Q26.DescribetheimpactofnumberofjoinconditionsandjoinorderinaJoinerTransformation.
Ans.
Wecandefineoneormoreconditionsbasedonequalitybetweenthespecifiedmasteranddetailsources.
Bothportsinaconditionmusthavethesamedatatype.Ifweneedtousetwoportsinthejoinconditionwithnon
matchingdatatypeswemustconvertthedatatypessothattheymatch.TheDesignervalidatesdatatypesinajoin
condition.
Additionalportsinthejoinconditionincreasesthetimenecessarytojointwosources.
TheorderoftheportsinthejoinconditioncanimpacttheperformanceoftheJoinertransformation.Ifweusemultiple
portsinthejoincondition,theIntegrationServicecomparestheportsintheorderwespecified.
NOTE:Onlyequalityoperatorisavailableinjoinerjoincondition.
Q27.HowdoesJoinertransformationtreatNULLvaluematching.
Ans.
TheJoinertransformationdoesnotmatchnullvalues.
Forexample,ifbothEMP_ID1andEMP_ID2containarowwithanullvalue,theIntegrationServicedoesnotconsider
themamatchanddoesnotjointhetworows.
Tojoinrowswithnullvalues,replacenullinputwithdefaultvaluesinthePortstabofthejoiner,andthenjoinonthe
defaultvalues.
Note:Ifaresultsetincludesfieldsthatdonotcontaindataineitherofthesources,theJoinertransformation
populatestheemptyfieldswithnullvalues.IfweknowthatafieldwillreturnaNULLandwedonotwanttoinsert
NULLsinthetarget,setadefaultvalueonthePortstabforthecorrespondingport.
Q28.SupposeweconfigureSortertransformationsinthemasteranddetailpipelineswiththefollowingsortedportsin
order:ITEM_NO,ITEM_NAME,PRICE.
Whenweconfigurethejoincondition,whataretheguidelinesweneedtofollowtomaintainthesortorder?
Ans.
IfwehavesortedboththemasteranddetailpipelinesinorderoftheportssayITEM_NO,ITEM_NAMEandPRICEwe
mustensurethat:
UseITEM_NOintheFirstJoinCondition.
IfweaddaSecondJoinCondition,wemustuseITEM_NAME.
IfwewanttousePRICEasaJoinConditionapartfromITEM_NO,wemustalsouseITEM_NAMEintheSecondJoin
Condition.
IfweskipITEM_NAMEandjoinonITEM_NOandPRICE,wewilllosetheinputsortorderandtheIntegration
Servicefailsthesession.
Q29.WhatarethetransformationsthatcannotbeplacedbetweenthesortoriginandtheJoinertransformationsothat
wedonotlosetheinputsortorder.
Ans.
ThebestoptionistoplacetheJoinertransformationdirectlyafterthesortorigintomaintainsorteddata.
HoweverdonotplaceanyofthefollowingtransformationsbetweenthesortoriginandtheJoinertransformation:
Custom
UnsortedAggregator
Normalizer
Rank
Uniontransformation
XMLParsertransformation
XMLGeneratortransformation
Mapplet[ifitcontainsanyoneoftheabovementionedtransformations]
Q30.SupposewehavetheEMPtableasoursource.Inthetargetwewanttoviewthoseemployeeswhosesalaryis
greaterthanorequaltotheaveragesalaryfortheirdepartments.
Describeyourmappingapproach.Ans.
OurMappingwilllooklikethis:
Image:MappingusingJoiner[file:///E:/Tutorial/fundooo%20informatica%20(1).doc]
Tostartwiththemappingweneedthefollowingtransformations:
http://shaninformatica.blogspot.com/
9/71
12/23/2015
InformaticaQuestionAnswer
AftertheSourcequalifieroftheEMPtableplaceaSorterTransformation.SortbasedonDEPTNOport.
SorterPortsTab
NextweplaceaSortedAggregatorTransformation.HerewewillfindouttheAVERAGESALARYforeach
(GROUPBY)DEPTNO.
Whenweperformthisaggregation,welosethedataforindividualemployees.Tomaintainemployeedata,wemust
passabranchofthepipelinetotheAggregatorTransformationandpassabranchwiththesamesortedsourcedata
totheJoinertransformationtomaintaintheoriginaldata.Whenwejoinbothbranchesofthepipeline,wejointhe
aggregateddatawiththeoriginaldata.
AggregatorPortsTab
http://shaninformatica.blogspot.com/
10/71
12/23/2015
InformaticaQuestionAnswer
AggregatorPropertiesTab
SonextweneedSortedJoinerTransformationtojointhesortedaggregateddatawiththeoriginaldata,basedon
DEPTNO.
HerewewillbetakingtheaggregatedpipelineastheMasterandoriginaldataflowasDetailPipeline.
JoinerConditionTab
http://shaninformatica.blogspot.com/
11/71
12/23/2015
InformaticaQuestionAnswer
JoinerPropertiesTab
AfterthatweneedaFilterTransformationtofilterouttheemployeeshavingsalarylessthanaveragesalaryfortheir
department.
FilterCondition:SAL>=AVG_SAL
FilterPropertiesTab
LastlywehavetheTargettableinstance.
RevisitingSequenceGeneratorTransformation
Q31.WhatisaSequenceGeneratorTransformation?
http://shaninformatica.blogspot.com/
12/71
12/23/2015
InformaticaQuestionAnswer
Ans.
ASequenceGeneratortransformationisaPassiveandConnectedtransformationthatgeneratesnumericvalues.
Itisusedtocreateuniqueprimarykeyvalues,replacemissingprimarykeys,orcyclethroughasequentialrangeof
numbers.
ThistransformationbydefaultcontainsONLYTwoOUTPUTportsnamelyCURRVALandNEXTVAL.Wecannot
editordeletetheseportsneitherwecannotaddportstothisuniquetransformation.
Wecancreateapproximatelytwobillionuniquenumericvalueswiththewidestrangefrom1to2147483647.
Q32.DefinethePropertiesavailableinSequenceGeneratortransformationinbrief.
Ans.
Sequence
Generator
Properties
Description
Start
Value
Startvalueofthegeneratedsequencethatwewantthe
IntegrationServicetouseifweusetheCycleoption.Ifweselect
Cycle,theIntegrationServicecyclesbacktothisvaluewhenit
reachestheendvalue.
Defaultis0.
Increment
By
DifferencebetweentwoconsecutivevaluesfromtheNEXTVAL
port.
Defaultis1.
EndValue
MaximumvaluegeneratedbySeqGen.Afterreachingthisvalue
thesessionwillfailifthesequencegeneratorisnotconfiguredto
cycle.
Defaultis2147483647.
Current
Value
Currentvalueofthesequence.Enterthevaluewewantthe
IntegrationServicetouseasthefirstvalueinthesequence.
Defaultis1.
Cycle
Ifselected,whentheIntegrationServicereachestheconfigured
endvalueforthesequence,itwrapsaroundandstartsthecycle
again,beginningwiththeconfiguredStartValue.
Number
ofCached
Values
NumberofsequentialvaluestheIntegrationServicecachesata
time.
DefaultvalueforastandardSequenceGeneratoris0.
DefaultvalueforareusableSequenceGeneratoris1,000.
Reset
Restartsthesequenceatthecurrentvalueeachtimeasession
runs.
ThisoptionisdisabledforreusableSequenceGenerator
transformations.
Q33.Supposewehaveasourcetablepopulatingtwotargettables.WeconnecttheNEXTVALportoftheSequence
Generatortothesurrogatekeysofboththetargettables.
WilltheSurrogatekeysinboththetargettablesbesame?Ifnothowcanweflowthesamesequencevaluesinbothof
them.
Ans.
WhenweconnecttheNEXTVALoutputportoftheSequenceGeneratordirectlytothesurrogatekeycolumnsofthe
targettables,theSequencenumberwillnotbethesame.
Ablockofsequencenumbersissenttoonetargettablessurrogatekeycolumn.Thesecondtargetsreceivesablock
ofsequencenumbersfromtheSequenceGeneratortransformationonlyafterthefirsttargettablereceivestheblock
ofsequencenumbers.
Supposewehave5rowscomingfromthesource,sothetargetswillhavethesequencevaluesasTGT1(1,2,3,4,5)
andTGT2(6,7,8,9,10).[TakenintoconsiderationStartValue0,Currentvalue1andIncrementby1.
Nowsupposetherequirementislikethatweneedtohavethesamesurrogatekeysinboththetargets.
ThentheeasiestwaytohandlethesituationistoputanExpressionTransformationinbetweentheSequence
GeneratorandtheTargettables.TheSeqGenwillpassuniquevaluestotheexpressiontransformation,andthenthe
rowsareroutedfromtheexpressiontransformationtothetargets.
http://shaninformatica.blogspot.com/
13/71
12/23/2015
InformaticaQuestionAnswer
SequenceGenerator
Q34.Supposewehave100recordscomingfromthesource.NowforatargetcolumnpopulationweusedaSequence
generator.
SupposetheCurrentValueis0andEndValueofSequencegeneratorissetto80.Whatwillhappen?
Ans.
EndValueisthemaximumvaluetheSequenceGeneratorwillgenerate.AfteritreachestheEndvaluethesession
failswiththefollowingerrormessage:
TT_11009SequenceGeneratorTransformation:Overflowerror.
FailingofsessioncanbehandlediftheSequenceGeneratorisconfiguredtoCyclethroughthesequence,i.e.
whenevertheIntegrationServicereachestheconfiguredendvalueforthesequence,itwrapsaroundandstartsthe
cycleagain,beginningwiththeconfiguredStartValue.
Q35.WhatarethechangesweobservewhenwepromoteanonresuableSequenceGeneratortoaresuableone?
AndwhathappensifwesettheNumberofCachedValuesto0forareusabletransformation?
Ans.
WhenweconvertanonreusablesequencegeneratortoresuableoneweobservethattheNumberofCached
Valuesissetto1000bydefaultAndtheResetpropertyisdisabled.
WhenwetrytosettheNumberofCachedValuespropertyofaReusableSequenceGeneratorto0inthe
TransformationDeveloperweencounterthefollowingerrormessage:
Thenumberofcachedvaluesmustbegreaterthanzeroforreusablesequencetransformation.
Whichisthefastest?InformaticaorOracle?
Inourpreviousarticle,wetestedtheperformanceofORDERBYoperationinInformaticaandOracle
[http://www.dwbiconcepts.com/advance/7general/36informaticaoraclesortperformancetest.html] andfoundthat,inourtest
condition,Oracleperformssorting14%speedierthanInformatica.ThistimewewilllookintotheJOINoperation,not
onlybecauseJOINisthesinglemostimportantdatasetoperationbutalsobecauseperformanceofJOINcangive
crucialdatatoadeveloperinordertodevelopproperpushdownoptimizationmanually.
Informaticaisoneoftheleadingdataintegrationtoolsintodaysworld.Morethan4,000enterprisesworldwiderelyon
Informaticatoaccess,integrateandtrusttheirinformationassetswithit.Ontheotherhand,Oracledatabaseis
arguablythemostsuccessfulandpowerfulRDBMSsystemthatistrustedfrom1980sinallsortsofbusinessdomain
andacrossallmajorplatforms.Bothofthesesystemsarebestsinthetechnologiesthattheysupport.Butwhenit
comestotheapplicationdevelopment,developersoftenfacechallengetostriketherightbalanceofoperationalload
sharingbetweenthesesystems.Thisarticlewillhelpthemtotaketheinformeddecision.
WhichJOINsdatafaster?OracleorInformatica?
Asanapplicationdeveloper,youhavethechoiceofeitherusingjoiningsyntaxesindatabaseleveltojoinyourdataor
usingJOINERTRANSFORMATIONinInformaticatoachievethesameoutcome.Thequestioniswhichsystem
performsthisfaster?
TestPreparation
Wewillperformthesametestwith4differentdatapoints(datavolumes)andlogtheresults.Wewillstartwith1million
dataindetailtableand0.1millioninmastertable.Subsequentlywewilltestwith2million,4millionand6milliondetail
tabledatavolumesand0.2million,0.4millionand0.6millionmastertabledatavolumes.Herearethedetailsofthe
setupwewilluse,
1.Oracle10gdatabaseasrelationalsourceandtarget
2.InformaticaPowerCentre8.5asETLtool
3.DatabaseandInformaticasetupondifferentphysicalserversusingHPUNIX
4.Sourcedatabasetablehasnoconstraint,noindex,nodatabasestatisticsandnopartition
http://shaninformatica.blogspot.com/
14/71
12/23/2015
InformaticaQuestionAnswer
5.SourcedatabasetableisnotavailableinOraclesharedpoolbeforethesameisread
6.ThereisnosessionlevelpartitioninInformaticaPowerCentre
7.ThereisnoparallelhintprovidedinextractionSQLquery
8.InformaticaJOINERhasenoughcachesize
WehaveusedtwosetsofInformaticaPowerCentremappingscreatedinInformaticaPowerCentredesigner.Thefirst
mappingm_db_side_joinwilluseanINNERJOINclauseinthesourcequalifiertosortdataindatabaselevel.Second
mappingm_Infa_side_joinwilluseanInformaticaJOINERtoJOINdataininformaticalevel.Wehaveexecutedthese
mappingswithdifferentdatapointsandloggedtheresult.
Furthertotheabovetestwewillexecutem_db_side_joinmappingonceagain,thistimewithproperdatabaseside
indexesandstatisticsandlogtheresults.
Result
ThefollowinggraphshowstheperformanceofInformaticaandDatabaseintermsoftimetakenbyeachsystemtosort
data.Theaveragetimeisplottedalongverticalaxisanddatapointsareplottedalonghorizontalaxis.
DataPoints
MasterTableRecordCount
DetailTableRecordCount
0.1M
1M
0.2M
2M
0.4M
4M
0.6M
6M
Verdict
Inourtestenvironment,Oracle10gperformsJOINoperation24%fasterthanInformaticaJoiner
TransformationwhilewithoutIndexand42%fasterwithDatabaseIndex
Assumption
1.Averageserverloadremainssameduringalltheexperiments
2.Averagenetworkspeedremainssameduringalltheexperiments
Note
1.Thisdatacanonlybeusedforperformancecomparisonbutcannotbeusedforperformancebenchmarking.
2.Thisdataisonlyindicativeandmayvaryindifferenttestingconditions.
Whichisthefastest?InformaticaorOracle?
Informaticaisoneoftheleadingdataintegrationtoolsintodaysworld.Morethan4,000enterprisesworldwiderelyon
Informaticatoaccess,integrateandtrusttheirinformationassetswithit.Ontheotherhand,Oracledatabaseis
arguablythemostsuccessfulandpowerfulRDBMSsystemthatistrustedfrom1980sinallsortsofbusinessdomain
andacrossallmajorplatforms.Bothofthesesystemsarebestsinthetechnologiesthattheysupport.Butwhenit
comestotheapplicationdevelopment,developersoftenfacechallengetostriketherightbalanceofoperationalload
sharingbetweenthesesystems.
ThinkaboutatypicalETLoperationoftenusedinenterpriseleveldataintegration.Alotofdataprocessingcanbe
eitherredirectedtothedatabaseortotheETLtool.Ingeneral,boththedatabaseandtheETLtoolarereasonably
capableofdoingsuchoperationswithalmostsameefficiencyandcapability.Butinordertoachievetheoptimized
http://shaninformatica.blogspot.com/
15/71
12/23/2015
InformaticaQuestionAnswer
performance,adevelopermustcarefullyconsideranddecidewhichsystems/heshouldbetrustingwithforeach
individualprocessingtask.
Inthisarticle,wewilltakeabasicdatabaseoperationSorting,andwewillputthesetwosystemstotestinorderto
determinewhichdoesitfasterthantheother,ifatall.
Whichsortsdatafaster?OracleorInformatica?
Asanapplicationdeveloper,youhavethechoiceofeitherusingORDERBYindatabaseleveltosortyourdataor
usingSORTERTRANSFORMATIONinInformaticatoachievethesameoutcome.Thequestioniswhichsystem
performsthisfaster?
TestPreparation
Wewillperformthesametestwithdifferentdatapoints(datavolumes)andlogtheresults.Wewillstartwith1million
recordsandwewillbedoublingthevolumeforeachnextdatapoints.Herearethedetailsofthesetupwewilluse,
1.Oracle10gdatabaseasrelationalsourceandtarget
2.InformaticaPowerCentre8.5asETLtool
3.DatabaseandInformaticasetupondifferentphysicalserversusingHPUNIX
4.Sourcedatabasetablehasnoconstraint,noindex,nodatabasestatisticsandnopartition
5.SourcedatabasetableisnotavailableinOraclesharedpoolbeforethesameisread
6.ThereisnosessionlevelpartitioninInformaticaPowerCentre
7.ThereisnoparallelhintprovidedinextractionSQLquery
8.Thesourcetablehas10columnsandfirst8columnswillbeusedforsorting
9.Informaticasorterhasenoughcachesize
WehaveusedtwosetsofInformaticaPowerCentremappingscreatedinInformaticaPowerCentredesigner.Thefirst
mappingm_db_side_sortwilluseanORDERBYclauseinthesourcequalifiertosortdataindatabaselevel.Second
mappingm_Infa_side_sortwilluseanInformaticasortertosortdataininformaticalevel.Wehaveexecutedthese
mappingswithdifferentdatapointsandloggedtheresult.
Result
ThefollowinggraphshowstheperformanceofInformaticaandDatabaseintermsoftimetakenbyeachsystemtosort
data.Thetimeisplottedalongverticalaxisanddatavolumeisplottedalonghorizontalaxis.
Verdict
TheaboveexperimentdemonstratesthatOracle
databaseisfasterinSORToperationthanInformatica
byanaveragefactorof14%.
Assumption
1.Averageserverloadremainssameduringalltheexperiments
2.Averagenetworkspeedremainssameduringalltheexperiments
Note
Thisdatacanonlybeusedforperformancecomparisonbutcannotbeusedforperformancebenchmarking.
http://shaninformatica.blogspot.com/
16/71
12/23/2015
InformaticaQuestionAnswer
InformaticaRejectFileHowtoIdentifyrejectionreason
[http://www.dwbiconcepts.com/basicconcept/3etl/32informaticarejectorbad
files.html]
SauravMitra
[http://www.dwbiconcepts.com/basicconcept/3etl/32informaticarejectorbadfiles.html?
tmpl=component&print=1&layout=default&page=]
[http://cdn1.dwbiconcepts.com/basicconcept/3etl/32informaticarejectorbad
files.pdf]
inShare[file:///E:/Tutorial/fundooo%20informatica%20(1).doc] 0
0diggsdigg
[http://www.addthis.com/bookmark.php?v=250&username=xa4bc2f37319cd6ca8]
Whenwerunasession,theintegrationservicemaycreatearejectfileforeachtargetinstanceinthemappingtostore
thetargetrejectrecord.WiththehelpoftheSessionLogandRejectFilewecanidentifythecauseofdatarejection
inthesession.Eliminatingthecauseofrejectionwillleadtorejectionfreeloadsinthesubsequentsessionruns.Ifthe
InformaticaWriterortheTargetDatabaserejectsdataduetoanyvalidreasontheintegrationservicelogstherejected
recordsintotherejectfile.Everytimewerunthesessiontheintegrationserviceappendstherejectedrecordstothe
rejectfile.
WorkingwithInformaticaBadFilesorRejectFiles
BydefaulttheIntegrationservicecreatestherejectfilesorbadfilesinthe$PMBadFileDirprocessvariabledirectory.
ItwritestheentirerejectrecordrowinthebadfilealthoughtheproblemmaybeinanyoneoftheColumns.Thereject
fileshaveadefaultnamingconventionlike[target_instance_name].bad.Ifweopentherejectfileinaneditorwewill
seecommaseparatedvalueshavingsometags/indicatorandsomedatavalues.WewillseetwotypesofIndicators
intherejectfile.OneistheRowIndicatorandtheotheristheColumnIndicator.
ForreadingthebadfilethebestmethodistocopythecontentsofthebadfileandsavingthesameasaCSV(Comma
SepataredValue)file.Openingthecsvfilewillgiveanexcelsheettypelookandfeel.Thefirstmostcolumninthereject
fileistheRowIndicator,thatdetermineswhethertherowwasdestinedforinsert,update,deleteorreject.Itis
basicallyaflagthatdeterminestheUpdateStrategyforthedatarow.WhentheCommitTypeofthesessionis
configuredasUserdefinedtherowindicatorindicateswhetherthetransactionwasrolledbackduetoanonfatal
error,orifthecommittedtransactionwasinafailedtargetconnectiongroup.
ListofValuesofRowIndicators:
RowIndicator
IndicatorSignificance
RejectedBy
Insert
Writerortarget
Update
Writerortarget
Delete
Writerortarget
Reject
Writer
Rolledbackinsert
Writer
Rolledbackupdate
Writer
Rolledbackdelete
Writer
Committedinsert
Writer
Committedupdate
Writer
Committeddelete
Writer
NowcomestheColumnDatavaluesfollowedbytheirColumnIndicators,thatdeterminesthedataqualityofthe
correspondingColumn.
http://shaninformatica.blogspot.com/
17/71
12/23/2015
InformaticaQuestionAnswer
ListofValuesofColumnIndicators:
>
Column
Indicator
Typeof
data
WriterTreatsAs
Validdata
orGood
Data.
Writerpassesittothetargetdatabase.Thetarget
acceptsitunlessadatabaseerroroccurs,suchas
findingaduplicatekeywhileinserting.
Overflowed
Numeric
Data.
Numericdataexceededthespecifiedprecisionor
scaleforthecolumn.Baddata,ifyouconfiguredthe
mappingtargettorejectoverflowortruncateddata.
NullValue.
Thecolumncontainsanullvalue.Gooddata.Writer
passesittothetarget,whichrejectsitifthetarget
databasedoesnotacceptnullvalues.
Truncated
String
Data.
Stringdataexceededaspecifiedprecisionforthe
column,sotheIntegrationServicetruncatedit.Bad
data,ifyouconfiguredthemappingtargettoreject
overflowortruncateddata.
Alsotobenotedthatthesecondcolumncontainscolumnindicatorflagvalue'D'whichsignifiesthattheRowIndicator
isvalid.
NowletusseehowDatainaBadFilelookslike:
0,D,7,D,John,D,5000.375,O,,N,BrickLandRoadSingapore,T
ImplementingInformaticaIncrementalAggregation
[http://www.dwbiconcepts.com/advance/4etl/26implementinginformaticas
incrementalaggregation.html]
Usingincrementalaggregation,weapplycapturedchangesinthesourcedata(CDCpart)toaggregatecalculationsin
asession.Ifthesourcechangesincrementallyandwecancapturethechanges,thenwecanconfigurethesessionto
processthosechanges.ThisallowstheIntegrationServicetoupdatethetargetincrementally,ratherthanforcingitto
deletepreviousloadsdata,processtheentiresourcedataandrecalculatethesamedataeachtimeyourunthe
session.
IncrementalAggregation
Whenthesessionrunswithincrementalaggregationenabledforthefirsttimesay1stweekofJan,wewillusethe
entiresource.ThisallowstheIntegrationServicetoreadandstorethenecessaryaggregatedatainformation.On2nd
weekofJan,whenwerunthesessionagain,wewillfilterouttheCDCrecordsfromthesourcei.etherecordsloaded
aftertheinitialload.TheIntegrationServicethenprocessesthesenewdataandupdatesthetargetaccordingly.
Useincrementalaggregationwhenthechangesdonotsignificantlychangethetarget.Ifprocessingthe
incrementallychangedsourcealtersmorethanhalftheexistingtarget,thesessionmaynotbenefitfromusing
incrementalaggregation.Inthiscase,dropthetableandrecreatethetargetwithentiresourcedataandrecalculate
thesameaggregationformula.
INCREMENTALAGGREGATION,maybehelpfulincaseswhenweneedtoloaddatainmonthlyfactsina
weeklybasis.
Letusseeasamplemappingtoimplementincrementalaggregation:
Image:IncrementalAggregationSampleMapping[file:///E:/Tutorial/fundooo%20informatica%20(1).doc]
LookattheSourceQualifierquerytofetchtheCDCpartusingaBATCH_LOAD_CONTROLtablethatsavesthe
lastsuccessfulloaddatefortheparticularmapping.
Image:IncrementalAggregationSourceQualifier[file:///E:/Tutorial/fundooo%20informatica%20(1).doc]
LookattheportstabofExpressiontransformation.
http://shaninformatica.blogspot.com/
18/71
12/23/2015
InformaticaQuestionAnswer
LookattheportstabofAggregatorTransformation.
NowthemostimportantsessionpropertiesconfiguationtoimplementincrementalAggregation
http://shaninformatica.blogspot.com/
19/71
12/23/2015
InformaticaQuestionAnswer
Ifwewanttoreinitializetheaggregatecachesupposeduringfirstweekofeverymonthwewillconfigureanother
sessionsameastheprevioussessiontheonlychangebeingtheReinitializeaggregatecachepropertycheckedin
Nowhavealookatthesourcetabledata:
http://shaninformatica.blogspot.com/
20/71
12/23/2015
InformaticaQuestionAnswer
CUSTOMER_KEY
INVOICE_KEY
AMOUNT
LOAD_DATE
1111
5001
100
01/01/2010
2222
5002
250
01/01/2010
3333
5003
300
01/01/2010
1111
6007
200
07/01/2010
1111
6008
150
07/01/2010
2222
6009
250
07/01/2010
4444
1234
350
07/01/2010
5555
6157
500
07/01/2010
AfterthefirstLoadon1stweekofJan2010,thedatainthetargetisasfollows:
CUSTOMER_KEY
INVOICE_KEY
MON_KEY
AMOUNT
1111
5001
201001
100
2222
5002
201001
250
3333
5003
201001
300
Nowduringthe2ndweekloaditwillprocessonlytheincrementaldatainthesourcei.ethoserecordshavingloaddate
greaterthanthelastsessionrundate.Afterthe2ndweeksloadafterincrementalaggregationoftheincremental
sourcedatawiththeaggregatecachefiledatawillupdatethetargettablewiththefollowingdataset:
CUSTOMER_KEY
INVOICE_KEY
MON_KEY
AMOUNT
Remarks/Operation
1111
6008
201001
450
Thecachefileupdatedafteraggretation
2222
6009
201001
500
Thecachefileupdatedafteraggretation
3333
5003
201001
300
Thecachefileremainsthesameasbefore
4444
1234
201001
350
Newgrouprowinsertedincachefile
5555
6157
201001
500
Newgrouprowinsertedincachefile
Thefirsttimewerunanincrementalaggregationsession,theIntegrationServiceprocessestheentiresource.Atthe
endofthesession,theIntegrationServicestoresaggregatedataforthatsessionrunintwofiles,theindexfileandthe
datafile.TheIntegrationServicecreatesthefilesinthecachedirectoryspecifiedintheAggregatortransformation
properties.Eachsubsequenttimewerunthesessionwithincrementalaggregation,weusetheincrementalsource
changesinthesession.Foreachinputrecord,theIntegrationServicecheckshistoricalinformationintheindexfilefor
acorrespondinggroup.Ifitfindsacorrespondinggroup,theIntegrationServiceperformstheaggregateoperation
incrementally,usingtheaggregatedataforthatgroup,andsavestheincrementalchange.Ifitdoesnotfinda
correspondinggroup,theIntegrationServicecreatesanewgroupandsavestherecorddata.
Whenwritingtothetarget,theIntegrationServiceappliesthechangestotheexistingtarget.Itsavesmodified
aggregatedataintheindexanddatafilestobeusedashistoricaldatathenexttimeyourunthesession.
Eachsubsequenttimewerunasessionwithincrementalaggregation,theIntegrationServicecreatesabackupofthe
incrementalaggregationfiles.ThecachedirectoryfortheAggregatortransformationmustcontainenoughdiskspace
fortwosetsofthefiles.
TheIntegrationServicecreatesnewaggregatedata,insteadofusinghistoricaldata,whenweconfigurethesessionto
reinitializetheaggregatecache,Deletecachefilesetc.
WhentheIntegrationServicerebuildsincrementalaggregationfiles,thedatainthepreviousfilesislost.
Note:Toprotecttheincrementalaggregationfilesfromfilecorruptionordiskfailure,periodicallybackupthe
files.
UsingInformaticaNormalizerTransformation
[http://www.dwbiconcepts.com/basicconcept/3etl/23usinginformatica
normalizertransformation.html]
http://shaninformatica.blogspot.com/
21/71
12/23/2015
InformaticaQuestionAnswer
SauravMitra
[http://www.dwbiconcepts.com/basicconcept/3etl/23usinginformaticanormalizertransformation.html?
tmpl=component&print=1&layout=default&page=]
[http://cdn1.dwbiconcepts.com/basicconcept/3etl/23usinginformatica
normalizertransformation.pdf]
inShare[file:///E:/Tutorial/fundooo%20informatica%20(1).doc] 0
0diggsdigg
.
Normalizer,anativetransformationinInformatica,caneasemanycomplexdatatransformationrequirement.Learn
howtoeffectivelyusenormalizerhere.
UsingNoramalizerTransformation
ANormalizerisanActivetransformationthatreturnsmultiplerowsfromasourcerow,itreturnsduplicatedatafor
singleoccurringsourcecolumns.TheNormalizertransformationparsesmultipleoccurringcolumnsfromCOBOL
sources,relationaltables,orothersources.Normalizercanbeusedtotransposethedataincolumnstorows.
NormalizereffectivelydoestheoppositeofwhatAggregatordoes!
ExampleofDataTransposeusingNormalizer
Thinkofarelationaltablethatstoresfourquartersofsalesbystoreandweneedtocreatearowforeachsales
occurrence.WecanconfigureaNormalizertransformationtoreturnaseparaterowforeachquarterlikebelow..
Thefollowingsourcerowscontainfourquartersofsalesbystore:
SourceTable
Store
Quarter1
Quarter2
Quarter3
Quarter4
Store1
100
300
500
700
Store2
250
450
650
850
TheNormalizerreturnsarowforeachstoreandsalescombination.Italsoreturnsanindex(GCID)thatidentifiesthe
quarternumber:
TargetTable
Store
Sales
Quarter
Store1
100
Store1
300
Store1
500
Store1
700
Store2
250
Store2
450
Store2
650
Store2
850
HowInformaticaNormalizerWorks
Supposewehavethefollowingdatainsource:
Name
Month
Transportation
HouseRent
Food
Sam
Jan
200
1500
500
John
Jan
300
1200
300
Tom
Jan
300
1350
350
Sam
Feb
300
1550
450
John
Feb
350
1200
290
Tom
Feb
350
1400
350
http://shaninformatica.blogspot.com/
22/71
12/23/2015
InformaticaQuestionAnswer
andweneedtotransformthesourcedataandpopulatethisasbelowinthetargettable:
Name
Month
ExpenseType
Expense
Sam
Jan
Transport
200
Sam
Jan
Houserent
1500
Sam
Jan
Food
500
John
Jan
Transport
300
John
Jan
Houserent
1200
John
Jan
Food
300
Tom
Jan
Transport
300
Tom
Jan
Houserent
1350
Tom
Jan
Food
350
..likethis.
NowbelowisthescreenshotofacompletemappingwhichshowshowtoachievethisresultusingInformatica
PowerCenterDesigner.Image:NormalizationMappingExample1
[file:///E:/Tutorial/fundooo%20informatica%20(1).doc]
Iwillexplainthemappingfurtherbelow.
SettingUpNormalizerTransformationProperty
FirstweneedtosetthenumberofoccurencespropertyoftheExpenseheadas3intheNormalizertabofthe
Normalizertransformation,sincewehaveFood,HouserentandTransportation.
Whichinturnwillcreatethecorresponding3inputportsintheportstabalongwiththefieldsIndividualandMonth
InthePortstaboftheNormalizertheportswillbecreatedautomaticallyasconfiguredintheNormalizertab.
Interestinglywewillobservetwonewcolumnsnamely,
GK_EXPENSEHEAD
GCID_EXPENSEHEAD
GKfieldgeneratessequencenumberstartingfromthevalueasdefinedinSequencefieldwhileGCIDholdsthevalue
oftheoccurencefieldi.e.thecolumnnooftheinputExpensehead.
http://shaninformatica.blogspot.com/
23/71
12/23/2015
InformaticaQuestionAnswer
Here1isforFOOD,2isforHOUSERENTand3isforTRANSPORTATION.
NowtheGCIDwillgivewhichexpensecorrespondstowhichfieldwhileconvertingcolumnstorows.
BelowisthescreenshotoftheexpressiontohandlethisGCIDefficiently:
Image:ExpressiontohandleGCID[file:///E:/Tutorial/fundooo%20informatica%20(1).doc]
InformaticaDynamicLookupCache[http://www.dwbiconcepts.com/basic
concept/3etl/22dynamiclookupcache.html]
ALookUpcachedoesnotchangeoncebuilt.Butwhatiftheunderlyinglookuptablechangesthedataafterthelookup
cacheiscreated?Isthereawaysothatthecachealwaysremainuptodateeveniftheunderlyingtablechanges?
DynamicLookupCache
Let'sthinkaboutthisscenario.Youareloadingyourtargettablethroughamapping.Insidethemappingyou
haveaLookupandintheLookup,youareactuallylookingupthesametargettableyouareloading.Youmay
askme,"So?What'sthebigdeal?Wealldoitquiteoften...".Andyesyouareright.Thereisno"bigdeal"
becauseInformatica(generally)cachesthelookuptableintheverybeginningofthemapping,sowhatever
recordgettinginsertedtothetargettablethroughthemapping,willhavenoeffectontheLookupcache.Thelookup
willstillholdthepreviouslycacheddata,eveniftheunderlyingtargettableischanging.
ButwhatifyouwantyourLookupcachetogetupdatedasandwhenthetargettableischanging?Whatifyouwant
yourlookupcachetoalwaysshowtheexactsnapshotofthedatainyourtargettableatthatpointintime?Clearlythis
requirementwillnotbefullfilledincaseyouuseastaticcache.Youwillneedadynamiccachetohandlethis.
Butwhyanyonewillneedadynamiccache?
Tounderstandthis,let'sfirstunderstandastaticcachescenario.
InformaticaDynamicLookupCache[http://www.dwbiconcepts.com/basic
concept/3etl/22dynamiclookupcache.html]
SauravMitra
[http://www.dwbiconcepts.com/basicconcept/3etl/22dynamiclookupcache.html?
tmpl=component&print=1&layout=default&page=]
[http://cdn1.dwbiconcepts.com/basicconcept/3etl/22dynamiclookup
cache.pdf]
ArticleIndex
InformaticaDynamicLookupCache[http://www.dwbiconcepts.com/basicconcept/3etl/22dynamiclookupcache.html]
WhatisStaticCache[http://www.dwbiconcepts.com/basicconcept/3etl/22dynamiclookupcache.html?start=1]
WhatisDynamicCache[http://www.dwbiconcepts.com/basicconcept/3etl/22dynamiclookupcache.html?start=2]
Howdoesdynamiccachework[http://www.dwbiconcepts.com/basicconcept/3etl/22dynamiclookupcache.html?start=3]
DynamicLookupMappingExample[http://www.dwbiconcepts.com/basicconcept/3etl/22dynamiclookupcache.html?start=4]
DynamicLookupSequenceID[http://www.dwbiconcepts.com/basicconcept/3etl/22dynamiclookupcache.html?start=5]
DynamicLookupPorts[http://www.dwbiconcepts.com/basicconcept/3etl/22dynamiclookupcache.html?start=6]
http://shaninformatica.blogspot.com/
24/71
12/23/2015
InformaticaQuestionAnswer
NULLhandlinginLookUp[http://www.dwbiconcepts.com/basicconcept/3etl/22dynamiclookupcache.html?start=7]
OtherDetails[http://www.dwbiconcepts.com/basicconcept/3etl/22dynamiclookupcache.html?start=8]
AllPages[http://www.dwbiconcepts.com/basicconcept/3etl/22dynamiclookupcache.html?showall=1]
Page1of9
inShare[file:///E:/Tutorial/fundooo%20informatica%20(1).doc] 0
0diggsdigg
.
ALookUpcachedoesnotchangeoncebuilt.Butwhatiftheunderlyinglookuptablechangesthedataafterthelookup
cacheiscreated?Isthereawaysothatthecachealwaysremainuptodateeveniftheunderlyingtablechanges?
DynamicLookupCache
Let'sthinkaboutthisscenario.Youareloadingyourtargettablethroughamapping.Insidethemappingyou
haveaLookupandintheLookup,youareactuallylookingupthesametargettableyouareloading.Youmay
askme,"So?What'sthebigdeal?Wealldoitquiteoften...".Andyesyouareright.Thereisno"bigdeal"
becauseInformatica(generally)cachesthelookuptableintheverybeginningofthemapping,sowhatever
recordgettinginsertedtothetargettablethroughthemapping,willhavenoeffectontheLookupcache.Thelookup
willstillholdthepreviouslycacheddata,eveniftheunderlyingtargettableischanging.
ButwhatifyouwantyourLookupcachetogetupdatedasandwhenthetargettableischanging?Whatifyouwant
yourlookupcachetoalwaysshowtheexactsnapshotofthedatainyourtargettableatthatpointintime?Clearlythis
requirementwillnotbefullfilledincaseyouuseastaticcache.Youwillneedadynamiccachetohandlethis.
Butwhyanyonewillneedadynamiccache?
Tounderstandthis,let'sfirstunderstandastaticcachescenario.
StaticCacheScenario
Let'ssupposeyourunaretailbusinessandmaintainallyourcustomerinformationinacustomermastertable
(RDBMStable).Everynight,allthecustomersfromyourcustomermastertableisloadedintoaCustomerDimension
tableinyourdatawarehouse.Yoursourcecustomertableisatransactionsystemtable,probablyin3rdnormalform,
anddoesnotstorehistory.Meaning,ifacustomerchangeshisaddress,theoldaddressisupdatedwiththenew
address.Butyourdatawarehousetablestoresthehistory(maybeintheformofSCDTypeII).Thereisamapthat
loadsyourdatawarehousetablefromthesourcetable.TypicallyyoudoaLookupontarget(staticcache)andcheck
withyoureveryincomingcustomerrecordtodetermineifthecustomerisalreadyexistingintargetornot.Ifthe
customerisnotalreadyexistingintarget,youconcludethecustomerisnewandINSERTtherecordwhereasifthe
customerisalreadyexisting,youmaywanttoupdatethetargetrecordwiththisnewrecord(iftherecordisupdated).
Thisisillustratedbelow,Youdon'tneeddynamicLookupcacheforthis
Image:AstaticLookupCachetodetermineifasourcerecordisneworupdatable
DynamicLookupCacheScenario
NoticeinthepreviousexampleImentionedthatyoursourcetableisanRDBMStable.Thisensuresthatyoursource
tabledoesnothaveanyduplicaterecord.
But,Whatifyouhadaflatfileassourcewithmanyduplicaterecords?
Wouldthescenariobesame?No,seethebelowillustration.
http://shaninformatica.blogspot.com/
25/71
12/23/2015
InformaticaQuestionAnswer
Image:AScenarioillustratingtheuseofdynamiclookupcache
Herearesomemoreexampleswhenyoumayconsiderusingdynamiclookup,
Updatingamastercustomertablewithbothnewandupdatedcustomerinformationcomingtogetherasshown
above
Loadingdataintoaslowlychangingdimensiontableandafacttableatthesametime.Remember,youtypically
lookupthedimensionwhileloadingtofact.Soyouloaddimensiontablebeforeloadingfacttable.Butusing
dynamiclookup,youcanloadbothsimultaneously.
Loadingdatafromafilewithmanyduplicaterecordsandtoeliminateduplicaterecordsintargetbyupdatinga
duplicaterowi.e.keepingthemostrecentrowortheinitialrow
Loadingthesamedatafrommultiplesourcesusingasinglemapping.JustconsiderthepreviousRetailbusiness
example.IfyouhavemorethanoneshopsandLindahasvisitedtwoofyourshopsforthefirsttime,customer
recordLindawillcometwiceduringthesameload.
So,Howdoesdynamiclookupwork?
WhentheIntegrationServicereadsarowfromthesource,itupdatesthelookupcachebyperformingoneofthe
followingactions:
Insertstherowintothecache:Iftheincomingrowisnotinthecache,theIntegrationServiceinsertstherowin
thecachebasedoninputportsorgeneratedSequenceID.TheIntegrationServiceflagstherowasinsert.
Updatestherowinthecache:Iftherowexistsinthecache,theIntegrationServiceupdatestherowinthe
cachebasedontheinputports.TheIntegrationServiceflagstherowasupdate.
Makesnochangetothecache:Thishappenswhentherowexistsinthecacheandthelookupisconfiguredor
specifiedToInsertNewRowsonlyor,therowisnotinthecacheandlookupisconfiguredtoupdateexistingrows
onlyor,therowisinthecache,butbasedonthelookupcondition,nothingchanges.TheIntegrationServiceflags
therowasunchanged.
NoticethatIntegrationServiceactuallyflagstherowsbasedontheabovethreeconditions.
Andthat'sagreatthing,because,ifyouknowtheflagyoucanactuallyreroutetherowtoachievedifferentlogic.This
flagportiscalled
NewLookupRow
Usingthevalueofthisport,therowscanberoutedforinsert,updateortodonothing.YoujustneedtouseaRouter
orFiltertransformationfollowedbyanUpdateStrategy.
Oh,forgottotellyoutheactualvaluesthatyoucanexpectinNewLookupRowportare:
0=IntegrationServicedoesnotupdateorinserttherowinthecache.
1=IntegrationServiceinsertstherowintothecache.
2=IntegrationServiceupdatestherowinthecache.
WhentheIntegrationServicereadsarow,itchangesthelookupcachedependingontheresultsofthelookupquery
andtheLookuptransformationpropertiesyoudefine.Itassignsthevalue0,1,or2totheNewLookupRowportto
indicateifitinsertsorupdatestherowinthecache,ormakesnochange.
http://shaninformatica.blogspot.com/
26/71
12/23/2015
InformaticaQuestionAnswer
Posted2ndJune2012byShankarPrasad
0 Addacomment
2ndJune2012
DatawarehouseandInformaticaInterviewQuestion
DatawarehouseandInformaticaInterviewQuestion
*******************ShankarPrasad*******************************
1.Can2FactTablessharesamedimensionsTables?HowmanyDimensiontablesareassociatedwithoneFact
Tableurproject?
Ans:Yes
2.WhatisROLAP,MOLAP,andDOLAP...?
Ans: ROLAP (RelationalOLAP), MOLAP (Multidimensional OLAP), and DOLAP (Desktop OLAP). In these three
OLAP
architectures,theinterfacetotheanalyticlayeristypicallythesamewhatisquitedifferentishowthe
dataisphysicallystored.
In MOLAP, the premise is that online analytical processing is best implemented by storing the data
multidimensionallythatis,
datamustbestoredmultidimensionallyinordertobeviewedinamultidimensionalmanner.
InROLAP,architectsbelievetostorethedataintherelationalmodelforinstance,OLAPcapabilities
arebestprovided
againsttherelationaldatabase.
DOLAP,isavariationthatexiststoprovideportabilityfortheOLAPuser.Itcreatesmultidimensional
datasetsthatcanbe
transferredfromservertodesktop,requiringonlytheDOLAPsoftwaretoexistonthetargetsystem.
Thisprovidessignificant
advantagestoportablecomputerusers,suchassalespeoplewhoarefrequentlyontheroadanddonot
havedirectaccessto
theirofficeserver.
3.WhatisanMDDB?andWhatisthedifferencebetweenMDDBsandRDBMSs?
Ans: Multidimensional Database There are two primary technologies that are used for storing the data
usedinOLAPapplications.
Thesetwotechnologiesaremultidimensionaldatabases(MDDB)andrelationaldatabases(RDBMS).The
majordifference
between MDDBs and RDBMSs is in how they store data. Relational databases store their data in a
seriesoftablesand
columns. Multidimensional databases, on the other hand, store their data in a large
multidimensionalarrays.
For example, in an MDDB world, you might refer to a sales figure as Sales with Date, Product, and
Locationcoordinatesof
1212001,Car,andsouth,respectively.
AdvantagesofMDDB:
Retrievalisveryfastbecause
ThedatacorrespondingtoanycombinationofdimensionmemberscanberetrievedwithasingleI/O.
Dataisclusteredcompactlyinamultidimensionalarray.
Valuesarecaluculatedaheadoftime.
Theindexissmallandcanthereforeusuallyresidecompletelyinmemory.
Storageisveryefficientbecause
Theblockscontainonlydata.
Asingleindexlocatestheblockcorrespondingtoacombinationofsparsedimensionnumbers.
4.WhatisMDBmodelingandRDBModeling?
Ans:
5.WhatisMappletandhowdoucreateMapplet?
Ans: A mapplet is a reusable object that represents a set of transformations. It allows you to reuse
transformationlogicandcan
containasmanytransformationsasyouneed.
Createamappletwhenyouwanttouseastandardizedsetoftransformationlogicinseveralmappings.
Forexample,ifyou
haveaseveralfacttablesthatrequireaseriesofdimensionkeys,youcancreateamappletcontaining
http://shaninformatica.blogspot.com/
27/71
12/23/2015
InformaticaQuestionAnswer
aseriesofLookup
transformationstofindeachdimensionkey.Youcanthenusethemappletineachfacttablemapping,
ratherthanrecreatethe
samelookuplogicineachmapping.
Tocreateanewmapplet:
1.IntheMappletDesigner,chooseMappletsCreateMapplet.
2.Enteradescriptivemappletname.
TherecommendednamingconventionformappletsismpltMappletName.
3.ClickOK.
TheMappingDesignercreatesanewmappletintheMappletDesigner.
4.ChooseRepositorySave.
6.Whatforisthetransformationsareused?
Ans: Transformations are the manipulation of data from how it appears in the source system(s) into another
forminthedata
warehouse or mart in a way that enhances or simplifies its meaning. In short, u transform data into
information.
ThisincludesDatamerging,Cleansing,Aggregation:
Datamerging:Processofstandardizingdatatypesandfields.Supposeonesourcesystemcallsinteger
typedataassmallint
where as another calls similar data as decimal. The data from the two source systems needs to
rationalizedwhenmovedinto
theoracledataformatcallednumber.
Cleansing:Thisinvolvesidentifyinganychanginginconsistenciesorinaccuracies.
Eliminatinginconsistenciesinthedatafrommultiplesources.
Convertingdatafromdifferentsystemsintosingleconsistentdatasetsuitableforanalysis.
Meetsastandardforestablishingdataelements,codes,domains,formatsandnamingconventions.
Correctdataerrorsandfillsinformissingdatavalues.
Aggregation: The process where by multiple detailed values are combined into a single summary value
typicallysummationnumbersrepresentingdollarsspendorunitssold.
Generatesummarizeddataforuseinaggregatefactanddimensiontables.
Data Transformation is an interesting concept in that some transformation can occur during the
extract,someduringthe
transformation, or even in limited cases during load portion of the ETL process. The type of
transformationfunctionu
need will most often determine where it should be performed. Some transformation functions could
evenbeperformedinmore
thanoneplace.Bzemanyofthetransformationsuwillwanttoperformalreadyexistinsomeformor
anotherinmorethan
oneofthethreeenvironments(sourcedatabaseorapplication,ETLtool,orthetargetdb).
7.WhatisthedifferencebtweenOLTP&OLAP?
Ans: OLTP stand for Online Transaction Processing. This is standard, normalized database structure. OLTP is
designedfor
Transactions, which means that inserts, updates, and deletes must be fast. Imagine a call center that
takesorders.Calltakersarecontinuallytakingcallsandenteringordersthatmaycontainnumerousitems.
Eachorderandeachitemmustbeinsertedintoadatabase.Sincetheperformanceofdatabaseiscritical,
we want to maximize the speed of inserts (and updates and deletes). To maximize performance, we
typicallytrytoholdasfewrecordsinthedatabaseaspossible.
OLAP stands for Online Analytical Processing. OLAP is a term that means many things to many people.
Here,wewillusethetermOLAPandStarSchemaprettymuchinterchangeably.Wewillassumethatstar
schema database is an OLAP system.( This is not the same thing that Microsoft calls OLAP they
extendOLAPtomeanthecubestructuresbuiltusingtheirproduct,OLAPServices).Here,wewillassume
thatanysystemofreadonly,historical,aggregateddataisanOLAPsystem.
Adatawarehouse(ormart)iswayofstoringdataforlaterretrieval.Thisretrievalisalmostalwaysused
to support decisionmaking in the organization. That is why many data warehouses are considered to be
DSS(DecisionSupportSystems).
Bothadatawarehouseandadatamartarestoragemechanismsforreadonly, historical, aggregated
data.
Byreadonly, we mean that the person looking at the data wont be changing it. If a user wants at the
salesyesterdayforacertainproduct,theyshouldnothavetheabilitytochangethatnumber.
Thehistoricalpartmayjustbeafewminutesold,butusuallyitisatleastadayold.Adatawarehouse
usuallyholdsdatathatgoesbackacertainperiodintime,suchasfiveyears.Incontrast,standardOLTP
systemsusuallyonlyholddataaslongasitiscurrentoractive.Anordertable,forexample,maymove
orderstoanarchivetableoncetheyhavebeencompleted,shipped,andreceivedbythecustomer.
Whenwesaythatdatawarehousesanddatamartsholdaggregated data, we need to stress that there
aremanylevelsofaggregationinatypicaldatawarehouse.
8.IfdatasourceisintheformofExcelSpreadsheetthenhowdouse?
http://shaninformatica.blogspot.com/
28/71
12/23/2015
InformaticaQuestionAnswer
Ans:PowerMartandPowerCentertreataMicrosoftExcelsourceasarelationaldatabase,notaflatfile.Like
relationalsources,
theDesignerusesODBCtoimportaMicrosoftExcelsource.Youdonotneeddatabasepermissionsto
importMicrosoft
Excelsources.
ToimportanExcelsourcedefinition,youneedtocompletethefollowingtasks:
InstalltheMicrosoftExcelODBCdriveronyoursystem.
CreateaMicrosoftExcelODBCdatasourceforeachsourcefileintheODBC32bitAdministrator.
PrepareMicrosoftExcelspreadsheetsbydefiningrangesandformattingcolumnsofnumericdata.
ImportthesourcedefinitionsintheDesigner.
Once you define ranges and format cells, you can import the ranges in the Designer. Ranges display as
sourcedefinitions
whenyouimportthesource.
9.WhichdbisRDBMSandwhichisMDDBcanunamethem?
Ans:MDDBex.OracleExpressServer(OES),EssbasebyHyperionSoftware,PowerplaybyCognosand
RDBMSex.Oracle,SQLServeretc.
10.Whatarethemodules/toolsinBusinessObjects?Explaintheierpurposebriefly?
Ans: BO Designer, Business Query for Excel, BO Reporter, Infoview,Explorer,WEBI, BO Publisher, and
BroadcastAgent,BO
ZABO).
InfoView:ITportalentryintoWebIntelligence&BusinessObjects.
Basemodulerequiredforalloptionstoviewandrefreshreports.
Reporter:Upgradetocreate/modifyreportsonLANorWeb.
Explorer:UpgradetoperformOLAPprocessingonLANorWeb.
Designer:Createssemanticlayerbetweenuseranddatabase.
Supervisor:Administerandcontrolaccessforgroupofusers.
WebIntelligence:Integratedquery,reporting,andOLAPanalysisovertheWeb.
Broadcast Agent: Used to schedule, run, publish, push, and broadcast prebuilt reports and
spreadsheets,includingevent
notification and response capabilities, event filtering, and calendar based
notification,overtheLAN,e
mail, pager,Fax, Personal Digital Assistant( PDA), Short Messaging
Service(SMS),etc.
Set Analyzer Applies setbased analysis to perform functions such as execlusion, intersections,
unions,andoverlaps
visually.
DeveloperSuiteBuildpackaged,analytical,orcustomizedapps.
11.WhataretheAdhocquries,CannedQuries/Reports?andHowdoucreatethem?
(PlzcheckthispageC\:BObjects\Quries\DataWarehouseAboutQueries.htm)
Ans:Thedatawarehousewillcontaintwotypesofquery.Therewillbefixedqueriesthatareclearlydefined
and well understood, such as regular reports, canned queries (standard reports) and common
aggregations.Therewillalsobeadhocqueriesthatareunpredictable,bothinquantityandfrequency.
Ad Hoc Query: Ad hoc queries are the starting point for any analysis into a database. Any business
analyst wants to know what is inside the database. He then proceeds by calculating totals, averages,
maximumandminimumvaluesformostattributeswithinthedatabase.Theseareunpredictableelement
of a data warehouse. It is exactly that ability to run any query when desired and expect a reasonable
responsethatmakesthedatawarhouseworthwhile,andmakesthedesignsuchasignificantchallenge.
The enduser access tools are capable of automatically generating the database query that answers any
Questionposedbytheuser.Theuserwilltypicallyposequestionsintermsthattheyarefamilierwith(for
example,salesbystorelastweek)thisisconvertedintothedatabasequerybytheaccesstool,which
isawareofthestructureofinformationwithinthedatawarehouse.
Canned queries: Canned queries are predefined queries. In most instances, canned queries contain
prompts that allow you to customize the query for your specific needs. For example, a prompt may ask
you for a School, department, term, or section ID. In this instance you would enter the name of the
School, department or term, and the query will retrieve the specified data from the Warehouse.You can
measureresourcerequirementsofthesequeries,andtheresultscanbeusedforcapacitypalnningandfor
databasedesign.
Themainreasonforusingacannedqueryorreportratherthancreatingyourownisthatyourchancesof
misinterpreting data or getting the wrong answer are reduced. You are assured of getting the right data
andtherightanswer.
12.HowmanyFacttablesandhowmanydimensiontablesudid?Whichtableprecedeswhat?
Ans:http://www.ciobriefings.com/whitepapers/StarSchema.asp
13.WhatisthedifferencebetweenSTARSCHEMA&SNOWFLAKESCHEMA?
Ans:http://www.ciobriefings.com/whitepapers/StarSchema.asp
14.WhydiduchooseSTARSCHEMAonly?WhatarethebenefitsofSTARSCHEMA?
Ans: Because its denormalized structure , i.e., Dimension Tables are denormalized. Why to denormalize
meansthefirst(andoften
only)answeris:speed.OLTPstructureisdesignedfordatainserts,updates,anddeletes,butnotdata
retrieval.Therefore,
http://shaninformatica.blogspot.com/
29/71
12/23/2015
InformaticaQuestionAnswer
wecanoftensqueezesomespeedoutofitbydenormalizingsomeofthetablesandhavingqueriesgo
againstfewertables.
These queries are faster because they perform fewer joins to retrieve the same recordset. Joins are
alsoconfusingtomany
Endusers.Bydenormalizing,wecanpresenttheuserwithaviewofthedatathatisfareasierforthem
tounderstand.
BenefitsofSTARSCHEMA:
FarfewerTables.
Designedforanalysisacrosstime.
Simplifiesjoins.
Lessdatabasespace.
Supportsdrillinginreports.
Flexibilitytomeetbusinessandtechnicalneeds.
15.HowdouloadthedatausingInformatica?
Ans:Usingsession.
16.(i)WhatisFTP?(ii)Howdouconnecttoremote?(iii)IsthereanotherwaytouseFTPwithoutaspecial
utility?
Ans: (i): The FTP (File Transfer Protocol) utility program is commonly used for copying files to and from
othercomputers.These
computers may be at the same site or at different sites thousands of miles apart. FTP is general
protocolthatworksonUNIX
systemsaswellasothernonUNIXsystems.
(ii):Remoteconnectcommands:
ftpmachinename
ex:ftp129.82.45.181[ftp://ftp%20129.82.45.181/]orftpiesg
If the remote machine has been reached successfully, FTP responds by asking for a loginname and
password.Whenuenter
urownloginnameandpasswordfortheremotemachine,itreturnsthepromptlikebelow
ftp>
and permits u access to ur own home directory on the remote machine. U should be able to move
aroundinurowndirectory
andtocopyfilestoandfromurlocalmachineusingtheFTPinterfacecommands.
Note:UcansetthemodeoffiletransfertoASCII(defaultandtransmitssevenbitspercharacter).
UsetheASCIImodewithanyofthefollowing:
RawData(e.g.*.dator*.txt,codebooks,orotherplaintextdocuments)
SPSSPortablefiles.
HTMLfiles.
IfusetmodeoffiletransfertoBinary(thebinarymodetransmitsalleightbitsperbyteandthus
provideslesschanceof
atransmissionerrorandmustbeusedtotransmitfilesotherthanASCIIfiles).
Forexampleusebinarymodeforthefollowingtypesoffiles:
SPSSSystemfiles
SASDataset
Graphicfiles(eg.,*.gif,*.jpg,*.bmp,etc.)
MicrosoftOfficedocuments(*.doc,*.xls,etc.)
(iii):Yes.IfurusingWindows,ucanaccessatextbasedFTPutilityfromaDOSprompt.
Todothis,performthefollowingsteps:
1.FromtheStartProgramsMSDosPrompt
2.Enterftpftp.geocities.com[ftp://ftp.geocities.com/].Apromptwillappear
(or)
Enterftptogetftppromptftp>openhostnameex.ftp>openftp.geocities.com(Itconnectto
thespecifiedhost).
3.Enteruryahoo!GeoCitiesmembername.
4.enteryouryahoo!GeoCitiespwd.
YoucannowusestandardFTPcommandstomanagethefilesinyourYahoo!GeoCitiesdirectory.
17.WhatcmdisusedtotransfermultiplefilesatatimeusingFTP?
Ans: mget ==> To copy multiple files from the remote machine to the local machine. You will be prompted
foray/nanswerbefore
transferringeachfilemget*(copiesallfilesinthecurrentremotedirectorytourcurrent
localdirectory,
usingthesamefilenames).
mput==>Tocopymultiplefilesfromthelocalmachinetotheremotemachine.
18.WhatisanFilterTransformation?orwhatoptionsuhaveinFilterTransformation?
Ans:TheFiltertransformationprovidesthemeansforfilteringrecordsinamapping.Youpassalltherows
fromasource
transformationthroughtheFiltertransformation,thenenterafilterconditionforthetransformation.All
portsinaFilter
http://shaninformatica.blogspot.com/
30/71
12/23/2015
InformaticaQuestionAnswer
transformationareinput/output,andonlyrecordsthatmeettheconditionpassthroughtheFilter
transformation.
Note:Discardedrowsdonotappearinthesessionlogorrejectfiles
Tomaximizesessionperformance,includetheFiltertransformationasclosetothesourcesinthe
mappingaspossible.
Ratherthanpassingrecordsyouplantodiscardthroughthemapping,youthenfilteroutunwanteddata
earlyinthe
flowofdatafromsourcestotargets.
You cannot concatenate ports from more than one transformation into the Filter transformation the
inputportsforthefilter
mustcomefromasingletransformation.Filtertransformationsexistwithintheflowofthemappingand
cannotbe
unconnected.TheFiltertransformationdoesnotallowsettingoutputdefaultvalues.
19.WhataredefaultsourceswhichwillsupportedbyInformaticaPowermart?
Ans:
Relationaltables,views,andsynonyms.
Fixedwidthanddelimitedflatfilesthatdonotcontainbinarydata.
COBOLfiles.
20.WhendoucreatetheSourceDefinition?CanIusethisSourceDefntoanyTransformation?
Ans: When working with a file that contains fixedwidth binary data, you must create the source
definition.
TheDesignerdisplaysthesourcedefinitionasatable,consistingofnames,datatypes,andconstraints.
Touseasource
definitioninamapping,connectasourcedefinitiontoaSourceQualifierorNormalizer
transformation.TheInformatica
Serverusesthesetransformationstoreadthesourcedata.
21.WhatisActive&PassiveTransformation?
Ans:ActiveandPassiveTransformations
Transformations can be active or passive. An active transformation can change the number of
recordspassedthroughit.A
passive transformation never changes the record count.For example, the Filter transformation
removesrowsthatdonot
meetthefilterconditiondefinedinthetransformation.
Activetransformationsthatmightchangetherecordcountincludethefollowing:
AdvancedExternalProcedure
Aggregator
Filter
Joiner
Normalizer
Rank
SourceQualifier
Note: If you use PowerConnect to access ERP sources, the ERP Source Qualifier is also an active
transformation.
/*
You can connect only one of these active transformations to the same transformation or
target,sincetheInformatica
Servercannotdeterminehowtoconcatenatedatafromdifferentsetsofrecordswithdifferentnumbers
ofrows.
*/
Passivetransformationsthatneverchangetherecordcountincludethefollowing:
Lookup
Expression
ExternalProcedure
SequenceGenerator
StoredProcedure
UpdateStrategy
You can connect any number of these passive transformations, or connect one active
http://shaninformatica.blogspot.com/
31/71
12/23/2015
InformaticaQuestionAnswer
transformationwithanynumberof
passivetransformations,tothesametransformationortarget.
22.WhatisstagingAreaandWorkArea?
Ans:StagingArea:
HoldingTablesonDWServer.
LoadedfromExtractProcess
InputforIntegration/Transformation
MayfunctionasWorkAreas
OutputtoaworkareaorFactTable
WorkArea:
TemporaryTables
Memory
23.WhatisMetadata?(plzreferDATAWHINGINTHEREALWORLDBOOKpage#125)
Ans:Defn:DataAboutData
Metadatacontainsdescriptivedataforendusers.Inadatawarehousethetermmetadataisusedina
numberofdifferent
situations.
Metadataisusedfor:
Datatransformationandload
Datamanagement
Querymanagement
Datatransformationandload:
Metadata may be used during data transformation and load to describe the source data and any changes
that need to be made. The advantage of storing metadata about the data being transformed is that as
source data changes the changes can be captured in the metadata, and transformation programs
automaticallyregenerated.
Foreachsourcedatafieldthefollowinginformationisreqd:
SourceField:
Uniqueidentifier(toavoidanyconfusionoccurringbetn2fieldsofthesameanmefromdifferent
sources).
Name(Localfieldname).
Type(storagetypeofdata,likecharacter,integer,floatingpointandsoon).
Location
system(systemitcomesfromex.Accoutingsystem).
object(objectthatcontainsitex.AccountTable).
Thedestinationfieldneedstobedescribedinasimilarwaytothesource:
Destination:
Uniqueidentifier
Name
Type(databasedatatype,suchasChar,Varchar,Numberandsoon).
Tablename(Nameofthetablethfieldwillbepartof).
Theotherinformationthatneedstobestoredisthetransformationortransformationsthatneedtobe
appliedtoturnthesourcedataintothedestinationdata:
Transformation:
Transformation(s)
Name
Language(nameofthelanjuagethattransformationiswrittenin).
modulename
syntax
TheNameistheuniqueidentifierthatdifferentiatesthisfromanyothersimilartransformations.
TheLanguageattributecontainsthenameofthelnguagethatthetransformationiswrittenin.
The other attributes are module name and syntax. Generally these will be mutually exclusive, with
onlyonebeingdefined.ForsimpletransformationssuchassimpleSQLfunctionsthesyntaxwillbe
stored. For complex transformations the name of the module that contains the code is stored
instead.
Datamanagement:
Metadataisreqdtodescribethedataasitresidesinthedatawarehouse.Thisisneededbythewarhouse
managertoallowittotrackandcontrolalldatamovements.Everyobjectinthedatabaseneedstobe
described.
Metadataisneededforallthefollowing:
Tables
Columns
name
type
Indexes
http://shaninformatica.blogspot.com/
32/71
12/23/2015
InformaticaQuestionAnswer
Columns
name
type
Views
Columns
name
type
Constraints
name
type
table
columns
Aggregations,PartitioninformationalsoneedtobestoredinMetadata(fordetailsreferpage#30)
QueryGeneration:
Metadataisalsorequiredbythequerymangertoenableittogeneratequeries.Thesamemetadatacanbe
usedbytheWhousemanagertodescribethedatainthedatawarehouseisalsoreqdbythequerymanager.
Thequerymangaerwillalsogeneratemetadataaboutthequeriesithasrun.Thismetadatacanbeusedto
build a history of all quries run and generate a query profile for each user, group of users and the data
warehouseasawhole.
Themetadatathatisreqdforeachqueryis:
query
tablesaccessed
columnsaccessed
name
refenceidentifier
restrictionsapplied
columnname
tablename
referenceidentifier
restriction
joinCriteriaapplied
aggregatefunctionsused
group
by
criteria
sort
criteria
syntax
execution
plan
resources
24.WhatkindofUnixflavouresurexperienced?
Ans:Solaris2.5SunOs5.5(OperatingSystem)
Solaris2.6SunOs5.6(OperatingSystem)
Solaris2.8SunOs5.8(OperatingSystem)
AIX4.0.3
5.5.12.5.1May96sun4c,sun4m,sun4d,sun4u,x86,ppc
5.62.6Aug.97sun4c,sun4m,sun4d,sun4u,x86
5.77Oct.98sun4c,sun4m,sun4d,sun4u,x86
5.882000sun4m,sun4d,sun4u,x86
25.WhatarethetasksthataredonebyInformaticaServer?
Ans:TheInformaticaServerperformsthefollowingtasks:
Managestheschedulingandexecutionofsessionsandbatches
Executessessionsandbatches
Verifiespermissionsandprivileges
InteractswiththeServerManagerandpmcmd.
http://shaninformatica.blogspot.com/
33/71
12/23/2015
InformaticaQuestionAnswer
TheInformaticaServermovesdatafromsourcestotargetsbasedonmetadatastoredinarepository.For
instructionsonhowtomoveandtransformdata,theInformaticaServerreadsamapping(atypeof
metadatathatincludestransformationsandsourceandtargetdefinitions).Eachmappingusesasessionto
defineadditionalinformationandtooptionallyoverridemappingleveloptions.Youcangroupmultiple
sessionstorunasasingleunit,knownasabatch.
26.WhatarethetwoprogramsthatcommunicatewiththeInformaticaServer?
Ans: Informatica provides Server Manager and pmcmd programs to communicate with the Informatica
Server:
Server Manager. A client application used to create and manage sessions and batches, and to monitor
and stop the Informatica Server. You can use information provided through the Server Manager to
troubleshootsessionsandimprovesessionperformance.
pmcmd. A commandline program that allows you to start and stop sessions and batches, stop the
InformaticaServer,andverifyiftheInformaticaServerisrunning.
27.WhendoureinitializeAggregateCache?
Ans: Reinitializing the aggregate cache overwrites historical aggregate data with new aggregate data. When
youreinitializethe
aggregatecache,insteadofusingthecapturedchangesinsourcetables,youtypicallyneedtousethe
usetheentiresource
table.
For example, you can reinitialize the aggregate cache if the source for a session changes
incrementallyeverydayand
completelychangesonceamonth.Whenyoureceivethenewmonthlysource,youmightconfigurethe
sessiontoreinitialize
theaggregatecache,truncatetheexistingtarget,andusethenewsourcetableduringthesession.
/?Note:Tobeclarifiedwhenservermangerworksforfollowing?/
Toreinitializetheaggregatecache:
1.IntheServerManager,openthesessionpropertysheet.
2.ClicktheTransformationstab.
3.CheckReinitializeAggregateCache.
4.ClickOKthreetimestosaveyourchanges.
5.Runthesession.
TheInformaticaServercreatesanewaggregatecache,overwritingtheexistingaggregatecache.
/?Tobecheckforstep6&step7aftersuccessfulrunofsession?/
6.Afterrunningthesession,openthepropertysheetagain.
7.ClicktheDatatab.
8.ClearReinitializeAggregateCache.
9.ClickOK.
28.(i)WhatisTargetLoadOrderinDesigner?
Ans:TargetLoadOrder:IntheDesigner,youcansettheorderinwhichtheInformaticaServersends
recordstovarioustarget
definitionsinamapping.Thisfeatureiscrucialifyouwanttomaintainreferentialintegritywhen
inserting,deleting,orupdating
recordsintablesthathavetheprimarykeyandforeignkeyconstraintsappliedtothem.The
InformaticaServerwritesdatato
allthetargetsconnectedtothesameSourceQualifierorNormalizersimultaneously,tomaximize
performance.
28.(ii)WhataretheminimimconditionthatuneedtohavesoastouseTargteLoadOrderOptionin
Designer?
Ans:UneedtohaveMultipleSourceQualifiertransformations.
TospecifytheorderinwhichtheInformaticaServersendsdatatotargets,createoneSourceQualifier
orNormalizer
transformationforeachtargetwithinamapping.Tosetthetargetloadorder,youthendeterminethe
orderinwhicheach
SourceQualifiersendsdatatoconnectedtargetsinthemapping.
WhenamappingincludesaJoinertransformation,theInformaticaServersendsallrecordsto
targetsconnectedtothat
Joineratthesametime,regardlessofthetargetloadorder.
28(iii).HowdousettheTargetloadorder?
Ans:Tosetthetargetloadorder:
1.CreateamappingthatcontainsmultipleSourceQualifiertransformations.
2.Afteryoucompletethemapping,chooseMappingsTargetLoadPlan.
A dialog box lists all Source Qualifier transformations in the mapping, as well as the targets that
receivedatafromeach
SourceQualifier.
3.SelectaSourceQualifierfromthelist.
http://shaninformatica.blogspot.com/
34/71
12/23/2015
InformaticaQuestionAnswer
4.ClicktheUpandDownbuttonstomovetheSourceQualifierwithintheloadorder.
5.Repeatsteps3and4foranyotherSourceQualifiersyouwishtoreorder.
6.ClickOKandChooseRepositorySave.
29.WhatucandowithRepositoryManager?
Ans:WecandofollowingtasksusingRepositoryManager:
Tocreateusernames,youmusthaveoneofthefollowingsetsofprivileges:
AdministerRepositoryprivilege
SuperUserprivilege
Tocreateausergroup,youmusthaveoneofthefollowingprivileges:
AdministerRepositoryprivilege
SuperUserprivilege
Toassignorrevokeprivileges,umusthvoneofthefollowingprivilege..
AdministerRepositoryprivilege
SuperUserprivilege
Note:Youcannotchangetheprivilegesofthedefaultusergroupsorthedefaultrepositoryusers.
30.WhatucandowithDesigner?
Ans:TheDesignerclientapplicationprovidesfivetoolstohelpyoucreatemappings:
SourceAnalyzer.Usetoimportorcreatesourcedefinitionsforflatfile,Cobol,ERP,andrelational
sources.
WarehouseDesigner.Usetoimportorcreatetargetdefinitions.
TransformationDeveloper.Usetocreatereusabletransformations.
MappletDesigner.Usetocreatemapplets.
MappingDesigner.Usetocreatemappings.
Note:The Designer allows you to work with multiple tools at one time. You can also work in multiple
foldersandrepositories
31.WhataredifferenttypesofTracingLevelsuhvinTransformations?
Ans:TracingLevelsinTransformations:
LevelDescription
TerseIndicateswhentheInformaticaServerinitializesthesessionandits
components.Summarizessessionresults,butnotatthelevelofindividualrecords.
NormalIncludesinitializationinformationaswellaserrormessagesandnotificationof
rejecteddata.
Verbose initialization Includes all information provided with the Normal setting plus more extensive
informationaboutinitializingtransformationsinthesession.
VerbosedataIncludesallinformationprovidedwiththeVerboseinitializationsetting.
Note:Bydefault,thetracinglevelforeverytransformationisNormal.
To add a slight performance boost, you can also set the tracing level to Terse, writing the minimum of
detailtothesessionlog
whenrunningasessioncontainingthetransformation.
31(i).Whatthedifferenceisbetweenadatabase,adatawarehouseandadatamart?
Ans:Adatabaseisanorganizedcollectionofinformation.
Adatawarehouseisaverylargedatabasewithspecialsetsoftoolstoextractandcleansedata
fromoperationalsystems
andtoanalyzedata.
Adatamartisafocusedsubsetofadatawarehousethatdealswithasingleareaofdataandis
organizedforquick
analysis.
32.WhatisDataMart,DataWareHouseandDecisionSupportSystemexplainbriefly?
Ans:DataMart:
Adatamartisarepositoryofdatagatheredfromoperationaldataandothersourcesthatisdesignedto
serveaparticular
communityofknowledgeworkers.Inscope,thedatamayderivefromanenterprisewidedatabaseordata
warehouseorbemorespecialized.Theemphasisofadatamartisonmeetingthespecificdemandsof
a particular group of knowledge users in terms of analysis, content, presentation, and easeofuse. Users
ofadatamartcanexpecttohavedatapresentedintermsthatarefamiliar.
Inpractice,thetermsdatamartanddatawarehouseeachtendtoimplythepresenceoftheotherinsome
form. However, most writers using the term seem to agree that the design of a data mart tends to
startfromananalysisofuserneedsandthatadata warehouse tends to start from an analysis
ofwhatdataalreadyexistsandhowitcanbecollectedinsuchawaythatthedatacanlaterbe
used.Adatawarehouseisacentralaggregationofdata(whichcanbedistributedphysically)adatamart
isadatarepositorythatmayderivefromadatawarehouseornotandthatemphasizeseaseofaccessand
usability for a particular designed purpose. In general, a data warehouse tends to be a strategic but
somewhatunfinishedconceptadatamarttendstobetacticalandaimedatmeetinganimmediateneed.
DataWarehouse:
A data warehouse is a central repository for all or significant parts of the data that an enterprise's
http://shaninformatica.blogspot.com/
35/71
12/23/2015
InformaticaQuestionAnswer
variousbusinesssystemscollect.ThetermwascoinedbyW.H.Inmon.IBMsometimesusestheterm
"informationwarehouse."
Typically, a data warehouse is housed on an enterprise mainframe server. Data from various online
transactionprocessing(OLTP)applicationsandothersourcesisselectivelyextractedandorganizedonthe
data warehouse database for use by analytical applications and user queries. Data warehousing
emphasizes the capture of data from diverse sources for useful analysis and access, but does not
generally start from the pointofview of the end user or knowledge worker who may need access to
specialized,sometimeslocaldatabases.Thelatterideaisknownasthedatamart.
datamining,Webmining,andadecisionsupportsystem(DSS)arethreekindsofapplicationsthat
canmakeuseofadatawarehouse.
DecisionSupportSystem:
A decision support system (DSS) is a computer program application that analyzes business data and
presents it so that users can make business decisions more easily. It is an "informational application" (in
distinctiontoan"operationalapplication"thatcollectsthedatainthecourseofnormalbusinessoperation).
Typicalinformationthatadecisionsupportapplicationmightgatherandpresentwouldbe:
Comparativesalesfiguresbetweenoneweekandthenext
Projectedrevenuefiguresbasedonnewproductsalesassumptions
Theconsequencesofdifferentdecisionalternatives,givenpastexperienceinacontextthatisdescribed
A decision support system may present information graphically and may include an expert system or
artificial intelligence (AI). It may be aimed at business executives or some other group of knowledge
workers.
33.WhatrthedifferencesbetweenHeterogeneousandHomogeneous?
Ans:HeterogeneousHomogeneous
StoredindifferentSchemasCommonstructure
StoredindifferentfileordbtypesSamedatabasetype
SpreadacrossinseveralcountriesSamedatacenter
DifferentplatformnH/Wconfig.SameplatformandH/Wareconfiguration.
34.HowdoyouuseDDLcommandsinPL/SQLblockex.Accepttablenamefromuseranddropit,ifavailable
elsedisplaymsg?
Ans: To invoke DDL commands in PL/SQL blocks we have to use Dynamic SQL, the Package used is
DBMS_SQL.
35.WhatrthestepstoworkwithDynamicSQL?
Ans:OpenaDynamiccursor,ParseSQLstmt,Bindi/pvariables(ifany),ExecuteSQLstmtofDynamicCursor
and
ClosetheCursor.
36. Which package, procedure is used to find/check free space available for db objects like
table/procedures/views/synonymsetc?
Ans:ThePackageisDBMS_SPACE
TheProcedureisUNUSED_SPACE
TheTableisDBA_OBJECTS
Note:Seethescripttofindfreespace@c:\informatica\tbl_free_space
37.DoesinformaticaallowifEmpIdisPKeyinTargettblandsourcedatais2rowswithsameEmpID?Ifuuse
lookupforthesame
situationdoesitallowtoload2rowsoronly1?
Ans:=>No,itwillnotitgeneratespkeyconstraintvoilation.(itloads1row)
=>EventhennoifEmpIdisPkey.
38. If Ename varchar2(40) from 1 source(siebel), Ename char(100) from another source (oracle) and the
targetishavingName
varchar2(50) then how does informatica handles this situation? How Informatica handles string and
numbersdatatypes
sources?
39.Howdoudebugmappings?Imeanwheredouattack?
40.HowdouqrytheMetadatatablesforInformatica?
41(i).Whendouuseconnectedlookupnwhendouuseunconnectedlookup?
Ans:
ConnectedLookups:
A connected Lookup transformation is part of the mapping data flow. With connected lookups, you can
havemultiplereturnvalues.Thatis,youcanpassmultiplevaluesfromthesamerowinthelookuptable
outoftheLookuptransformation.
Commonusesforconnectedlookupsinclude:
=>Findinganamebasedonanumberex.FindingaDnamebasedondeptno
=>Findingavaluebasedonarangeofdates
=>Findingavaluebasedonmultipleconditions
http://shaninformatica.blogspot.com/
36/71
12/23/2015
InformaticaQuestionAnswer
UnconnectedLookups:
An unconnected Lookup transformation exists separate from the data flow in the mapping. You write an
expressionusing
the:LKPreferencequalifiertocallthelookupwithinanothertransformation.
Somecommonusesforunconnectedlookupsinclude:
=>Testingtheresultsofalookupinanexpression
=>Filteringrecordsbasedonthelookupresults
=> Marking records for update based on the result of a lookup (for example, updating slowly changing
dimensiontables)
=>Callingthesamelookupmultipletimesinonemapping
41(ii).WhatrthedifferencesbetweenConnectedlookupsandUnconnectedlookups?
Ans: Although both types of lookups perform the same basic task, there are some important
differences:
ConnectedLookupUnconnectedLookup
Partofthemappingdataflow.Separatefromthemappingdataflow.
Canreturnmultiplevaluesfromthesamerow.Returnsonevaluefromeachrow.
Youlinkthelookup/outputportstoanotherYoudesignatethereturnvaluewiththeReturnport
(R).
transformation.
Supportsdefaultvalues.Doesnotsupportdefaultvalues.
Ifthere'snomatchforthelookupcondition,theIfthere'snomatchforthelookupcondition,theserver
serverreturnsthedefaultvalueforalloutputports.returnsNULL.
Morevisible.ShowsthedatapassinginandoutLessvisible.Youwriteanexpressionusing:LKPto
tell
ofthelookup.theserverwhentoperformthelookup.
Cache includes all lookup columns used in the Cache includes lookup/output ports in the Lookup
condition
mapping(thatis,lookuptablecolumnsincludedandlookup/returnport.
inthelookupconditionandlookuptable
columnslinkedasoutputportstoother
transformations).
42.Whatuneedconcentrateaftergettingexplainplan?
Ans:The3mostsignificantcolumnsintheplantablearenamedOPERATION,OPTIONS,andOBJECT_NAME.For
eachstep,
thesetelluwhichoperationisgoingtobeperformedandwhichobjectisthetargetofthatoperation.
Ex:
**************************
TOUSEEXPLAINPLANFORAQRY...
**************************
SQL>EXPLAINPLAN
2SETSTATEMENT_ID='PKAR02'
3FOR
4SELECTJOB,MAX(SAL)
5FROMEMP
6GROUPBYJOB
7HAVINGMAX(SAL)>=5000
Explained.
**************************
TOQUERYTHEPLANTABLE:
**************************
SQL>SELECTRTRIM(ID)||''||
2LPAD('',2*(LEVEL1))||OPERATION
3||''||OPTIONS
4||''||OBJECT_NAMESTEP_DESCRIPTION
5FROMPLAN_TABLE
6STARTWITHID=0ANDSTATEMENT_ID='PKAR02'
7CONNECTBYPRIORID=PARENT_ID
8ANDSTATEMENT_ID='PKAR02'
9ORDERBYID
STEP_DESCRIPTION
http://shaninformatica.blogspot.com/
37/71
12/23/2015
InformaticaQuestionAnswer
0SELECTSTATEMENT
1FILTER
2SORTGROUPBY
3TABLEACCESSFULLEMP
43.HowcomponentsareinterfacedinPsoft?
Ans:
44.HowdoudotheanalysisofanETL?
Ans:
==============================================================
45.WhatisStandard,ReusableTransformationandMapplet?
Ans:Mappingscontaintwotypesoftransformations,standardandreusable.Standardtransformationsexist
withinasingle
mapping. You cannot reuse a standard transformation you created in another mapping, nor can you
createashortcuttothattransformation.However,oftenyouwanttocreatetransformationsthatperform
common tasks, such as calculating the average salary in a department. Since a standard transformation
cannot be used by more than one mapping, you have to set up the same transformation each time you
wanttocalculatetheaveragesalaryinadepartment.
Mapplet: A mapplet is a reusable object that represents a set of transformations. It allows you to
reusetransformationlogic
and can contain as many transformations as you need. A mapplet can contain transformations,
reusabletransformations,and
shortcutstotransformations.
46.HowdoucopyMapping,Repository,Sessions?
Ans: To copy an object (such as a mapping or reusable transformation) from a shared folder, press the Ctrl
keyanddraganddrop
themappingintothedestinationfolder.
Tocopyamappingfromanonsharedfolder,draganddropthemappingintothedestinationfolder.
Inbothcases,thedestinationfoldermustbeopenwiththerelatedtoolactive.
Forexample,tocopyamapping,theMappingDesignermustbeactive.TocopyaSourceDefinition,the
SourceAnalyzermustbeactive.
CopyingMapping:
Tocopythemapping,openaworkbook.
IntheNavigator,clickanddragthemappingslightlytotheright,notdraggingittotheworkbook.
Whenaskedifyouwanttomakeacopy,clickYes,thenenteranewnameandclickOK.
ChooseRepositorySave.
Repository Copying: You can copy a repository from one database to another. You use this feature
beforeupgrading,to
preserve the original repository. Copying repositories provides a quick way to copy all metadata you
wanttouseasabasisfor
anewrepository.
If the database into which you plan to copy the repository contains an existing repository, the Repository
Managerdeletestheexistingrepository.Ifyouwanttopreservetheoldrepository,cancelthecopy.Then
backuptheexistingrepositorybeforecopyingthenewrepository.
Tocopyarepository,youmusthaveoneofthefollowingprivileges:
AdministerRepositoryprivilege
SuperUserprivilege
Tocopyarepository:
1.IntheRepositoryManager,chooseRepositoryCopyRepository.
2.Selectarepositoryyouwishtocopy,thenenterthefollowinginformation:
CopyRepositoryFieldRequired/OptionalDescription
RepositoryRequiredNamefortherepositorycopy.Eachrepository
namemustbeuniquewithin
thedomainandshouldbeeasilydistinguishedfrom
allotherrepositories.
DatabaseUsernameRequiredUsernamerequiredtoconnecttothedatabase.This
loginmusthavethe
appropriatedatabasepermissionstocreatethe
repository.
http://shaninformatica.blogspot.com/
38/71
12/23/2015
InformaticaQuestionAnswer
Database Password Required Password associated with the database
username.MustbeinUSASCII.
ODBCDataSourceRequiredDatasourceusedtoconnecttothedatabase.
Native Connect String Required Connect string identifying the location of the
database.
CodePageRequiredCharactersetassociatedwiththerepository.
Mustbeasupersetofthecode
pageoftherepositoryyouwanttocopy.
Ifyouarenotconnectedtotherepositoryyouwanttocopy,theRepositoryManagerasksyou
tologin.
3.ClickOK.
5. If asked whether you want to delete an existing repository data in the second repository, click OK to
deleteit.ClickCanceltopreservetheexistingrepository.
CopyingSessions:
In the Server Manager, you can copy standalone sessions within a folder, or copy sessions in and out of
batches.
Tocopyasession,youmusthaveoneofthefollowing:
CreateSessionsandBatchesprivilegewithreadandwritepermission
SuperUserprivilege
Tocopyasession:
1.IntheServerManager,selectthesessionyouwishtocopy.
2.ClicktheCopySessionbuttonorchooseOperationsCopySession.
The Server Manager makes a copy of the session. The Informatica Server names the copy after the
originalsession,appendinganumber,suchassession_name1.
47.Whatareshortcuts,andwhatisadvantage?
Ans:Shortcutsallowyoutousemetadataacrossfolderswithoutmakingcopies,ensuringuniformmetadata.A
shortcutinheritsall
propertiesoftheobjecttowhichitpoints.Onceyoucreateashortcut,youcanconfiguretheshortcut
nameanddescription.
When the object the shortcut references changes, the shortcut inherits those changes. By using a
shortcutinsteadofacopy,
youensureeachuseoftheshortcutexactlymatchestheoriginalobject.For example, if you have a
shortcuttoatarget
definition, and you add a column to the definition, the shortcut automatically inherits the additional
column.
Shortcutsallowyoutoreuseanobjectwithoutcreatingmultipleobjectsintherepository.For example,
youuseasource
definition in ten mappings in ten different folders. Instead of creating 10 copies of the same source
definition,oneineach
folder,youcancreate10shortcutstotheoriginalsourcedefinition.
You can create shortcuts to objects in shared folders. If you try to create a shortcut to a nonshared
folder,theDesigner
createsacopyoftheobjectinstead.
Youcancreateshortcutstothefollowingrepositoryobjects:
Sourcedefinitions
Reusabletransformations
Mapplets
Mappings
Targetdefinitions
Businesscomponents
Youcancreatetwotypesofshortcuts:
Localshortcut.Ashortcutcreatedinthesamerepositoryastheoriginalobject.
Globalshortcut.Ashortcutcreatedinalocalrepositorythatreferencesanobjectinaglobal
repository.
Advantages:Oneoftheprimaryadvantagesofusingashortcutismaintenance.Ifyouneedtochange
allinstancesofan
object,youcanedittheoriginalrepositoryobject.Allshortcutsaccessingtheobjectautomaticallyinherit
thechanges.
Shortcutshavethefollowingadvantagesovercopiedrepositoryobjects:
Youcanmaintainacommonrepositoryobjectinasinglelocation.Ifyouneedtoedittheobject,
allshortcutsimmediatelyinheritthechangesyoumake.
Youcanrestrictrepositoryuserstoasetofpredefinedmetadatabyaskinguserstoincorporate
theshortcutsintotheirworkinsteadofdevelopingrepositoryobjectsindependently.
Youcandevelopcomplexmappings,mapplets,orreusabletransformations,thenreusethem
easilyinotherfolders.
Youcansavespaceinyourrepositorybykeepingasinglerepositoryobjectandusingshortcutsto
thatobject,insteadofcreatingcopiesoftheobjectinmultiplefoldersormultiplerepositories.
http://shaninformatica.blogspot.com/
39/71
12/23/2015
InformaticaQuestionAnswer
48.WhatarePresessionandPostsessionOptions?
(PlzzreferHelpUsingShellCommandsnPostSessionCommandsandEmail)
Ans:TheInformaticaServercanperformoneormoreshellcommandsbeforeorafterthesessionruns.Shell
commandsare
operating system commands. You can use pre or post session shell commands, for example, to
deletearejectfileor
sessionlog,ortoarchivetargetfilesbeforethesessionbegins.
Thestatusoftheshellcommand,whetheritcompletedsuccessfullyorfailed,appearsinthe
sessionlogfile.
Tocallapreorpostsessionshellcommandyoumust:
1.UseanyvalidUNIXcommandorshellscriptforUNIXservers,oranyvalidDOSorbatchfilefor
WindowsNTservers.
2.Configurethesessiontoexecutethepreorpostsessionshellcommands.
You can configure a session to stop if the Informatica Server encounters an error while executing pre
sessionshellcommands.
For example, you might use a shell command to copy a file from one directory to another. For a
Windows NT server you would use the following shell command to copy the SALES_ ADJ file from the
targetdirectory,L,tothesource,H:
copyL:\sales\sales_adjH:\marketing\
ForaUNIXserver,youwouldusethefollowingcommandlinetoperformasimilaroperation:
cpsales/sales_adjmarketing/
Tip:Eachshellcommandrunsinthesameenvironment(UNIXorWindowsNT)astheInformaticaServer.
Environment settings in one shell command script do not carry over to other scripts. To run all shell
commandsinthesameenvironment,callasingleshellscriptthatinturninvokesotherscripts.
49.WhatareFolderVersions?
Ans:IntheRepositoryManager,youcancreatedifferentversionswithinafoldertohelpyouarchivework
in development. You can copy versions to other folders as well. When you save a version, you save all
metadataataparticularpointindevelopment.Laterversionscontainnewormodifiedmetadata,reflecting
workthatyouhavecompletedsincethelastversion.
Maintainingdifferentversionsletsyoureverttoearlierworkwhenneeded.Byarchivingthecontentsof
afolderintoaversioneachtimeyoureachadevelopmentlandmark,youcanaccessthoseversionsiflater
editsproveunsuccessful.
Youcreateafolderversionaftercompletingaversionofadifficultmapping,thencontinueworkingon
the mapping. If you are unhappy with the results of subsequent work, you can revert to the previous
version, then create a new version to continue development. Thus you keep the landmark version intact,
butavailableforregression.
Note:Youcanonlyworkwithinoneversionofafolderatatime.
50.Howdoautomate/schedulesessions/batchesndiduuseanytoolforautomatingSessions/batch?
Ans:Wescheduledoursessions/batchesusingServerManager.
Youcaneitherscheduleasessiontorunatagiventimeorinterval,oryoucanmanuallystartthe
session.
UneedtohvcreatesessionsnbatcheswithReadnExecutepermissionsorsuperuserprivilege.
Ifyouconfigureabatchtorunonlyondemand,youcannotscheduleit.
Note:Wedidnotuseanytoolforautomationprocess.
51.Whatarethedifferencesbetween4.7and5.1versions?
Ans:NewTransformationsaddedlikeXMLTransformationandMQSeriesTransformation,andPowerMartand
PowerCenterboth
aresamefrom5.1version.
52.WhatrtheprocedurethatuneedtoundergobeforemovingMappings/sessionsfromTesting/Development
toProduction?
Ans:
53. How many values it (informatica server) returns when it passes thru Connected Lookup n Unconncted
Lookup?
Ans: Connected Lookup can return multiple values where as Unconnected Lookup will return only one values
thatisReturnValue.
54.WhatisthedifferencebetweenPowerMartandPowerCenterin4.7.2?
Ans:IfYouAreUsingPowerCenter
PowerCenterallowsyoutoregisterandrunmultipleInformaticaServersagainstthesamerepository.
Becauseyoucanrun
theseserversatthesametime,youcandistributetherepositorysessionloadacrossavailableserversto
http://shaninformatica.blogspot.com/
40/71
12/23/2015
InformaticaQuestionAnswer
improveoverall
performance.
With PowerCenter, you receive all product functionality, including distributed metadata, the ability to
organizerepositoriesinto
adatamartdomainandsharemetadataacrossrepositories.
APowerCenterlicenseletsyoucreateasinglerepositorythatyoucanconfigureasaglobalrepository,
thecorecomponent
ofadatawarehouse.
IfYouAreUsingPowerMart
ThisversionofPowerMartincludesallfeaturesexceptdistributedmetadataandmultipleregistered
servers.Also,thevarious
optionsavailablewithPowerCenter(suchasPowerCenterIntegrationServerforBW,PowerConnectfor
IBMDB2,
PowerConnectforSAPR/3,andPowerConnectforPeopleSoft)arenotavailablewithPowerMart.
55.Whatkindofmodificationsucando/performwitheachTransformation?
Ans:Usingtransformations,youcanmodifydatainthefollowingways:
TaskTransformation
CalculateavalueExpression
PerformanaggregatecalculationsAggregator
ModifytextExpression
FilterrecordsFilter,SourceQualifier
OrderrecordsqueriedbytheInformaticaServerSourceQualifier
CallastoredprocedureStoredProcedure
CallaprocedureinasharedlibraryorintheExternalProcedure
COMlayerofWindowsNT
GenerateprimarykeysSequenceGenerator
LimitrecordstoatoporbottomrangeRank
Normalizerecords,includingthosereadNormalizer
fromCOBOLsources
LookupvaluesLookup
Determinewhethertoinsert,delete,update,UpdateStrategy
orrejectrecords
JoinrecordsfromdifferentdatabasesJoiner
orflatfilesystems
56.ExpressionsinTransformations,Explainbrieflyhowdouuse?
Ans:ExpressionsinTransformations
Totransformdatapassingthroughatransformation,youcanwriteanexpression.Themostobvious
examplesofthesearethe
ExpressionandAggregatortransformations,whichperformcalculationsoneithersinglevaluesor
anentirerangeofvalues
withinaport.Transformationsthatuseexpressionsincludethefollowing:
TransformationHowItUsesExpressions
ExpressionCalculatestheresultofanexpressionforeachrowpassing
throughthetransformation,usingvaluesfromoneormoreports.
AggregatorCalculatestheresultofanaggregateexpression,suchasasumor
average,basedonalldatapassingthroughaportorongroupswithinthatdata.
FilterFiltersrecordsbasedonaconditionyouenterusingan
expression.
RankFiltersthetoporbottomrangeofrecords,basedonacondition
youenterusinganexpression.
UpdateStrategyAssignsanumericcodetoeachrecordbasedonanexpression,
indicatingwhethertheInformaticaServershouldusetheinformationintherecord
toinsert,delete,orupdatethetarget.
Ineachtransformation,youusetheExpressionEditortoentertheexpression.TheExpressionEditor
supportsthetransformationlanguageforbuildingexpressions.ThetransformationlanguageusesSQLlike
functions,operators,andothercomponentstobuildtheexpression.Forexample,asinSQL,the
transformationlanguageincludesthefunctionsCOUNTandSUM.However,thePowerMart/PowerCenter
transformationlanguageincludesadditionalfunctionsnotfoundinSQL.
Whenyouentertheexpression,youcanusevaluesavailablethroughports.Forexample,ifthe
transformationhastwoinputportsrepresentingapriceandsalestaxrate,youcancalculatethefinalsales
taxusingthesetwovalues.Theportsusedintheexpressioncanappearinthesametransformation,or
youcanuseoutputportsinothertransformations.
57.IncaseofFlatfiles(whichcomesthruFTPassource)hasnotarrivedthenwhathappens?Wheredouset
thisoption?
Ans:Ugetanfatelerrorwhichcauseservertofail/stopthesession.
http://shaninformatica.blogspot.com/
41/71
12/23/2015
InformaticaQuestionAnswer
UcansetEventBasedSchedulingOptioninSessionPropertiesunderGeneraltab>Advancedoptions..
EventBasedRequired/OptionalDescription
IndicatorFiletoWaitForOptionalRequiredtouseeventbasedscheduling.Enter
theindicatorfile
(ordirectoryandfile)whosearrivalschedules
thesession.Ifyoudo
notenteradirectory,theInformaticaServer
assumesthefileappears
intheservervariabledirectory$PMRootDir.
58.WhatistheTestLoadOptionandwhenyouuseinServerManager?
Ans:Whentestingsessionsindevelopment,youmaynotneedtoprocesstheentiresource.Ifthisistrue,
usetheTestLoad
Option(SessionPropertiesGeneralTabTargetOptionsChooseTargetLoadoptionsasNormal
(optionbutton),with
TestLoadcheked(Checkbox)andNo.ofrowstotestex.2000(TextboxwithScrolls)).Youcanalso
clicktheStartbutton.
59.SCDType2andSGTdifference?
60.Differencesbetween4.7and5.1?
61.TuningInformaticaServerforimprovingperformance?PerformanceIssues?
Ans:See/*C:\pkar\Informatica\PerformanceIssues.doc*/
62.WhatisOverrideOption?Whichisbetter?
63.Whatwillhappenifuincreasebuffersize?
64.whatwillhappenifuincreasecommitIntervals?andalsodecreasecommitIntervals?
65.WhatkindofComplexmappingudid?Andwhatsortofproblemsufaced?
66.Ifuhave10mappingsdesignedanduneedtoimplementsomechanges(maybeinexistingmappingor
newmappingneedto
bedesigned)thenhowmuchtimeittakesfromeasiertocomplex?
67.CanurefreshRepositoryin4.7and5.1?andalsocanurefreshpieces(partially)ofrepositoryin4.7and
5.1?
68.WhatisBI?
Ans:http://www.visionnet.com/bi/index.shtml[http://www.visionnet.com/bi/index.shtml]
69.BenefitsofBI?
Ans:http://www.visionnet.com/bi/bibenefits.shtml[http://www.visionnet.com/bi/bibenefits.shtml]
70.BIFaq
Ans:http://www.visionnet.com/bi/bifaq.shtml[http://www.visionnet.com/bi/bifaq.shtml]
71.Whatisdifferencebetweendatascrubbinganddatacleansing?
Ans:Scrubbingdataistheprocessofcleaningupthejunkinlegacydataandmakingitaccurateandusefulfor
thenextgenerations
ofautomatedsystems.Thisisperhapsthemostdifficultofallconversionactivities.Veryoften,thisis
mademoredifficultwhen
thecustomerwantstomakegooddataoutofbaddata.Thisisthedogwork.Itisalsothemost
importantandcannotbedone
withouttheactiveparticipationoftheuser.
DATACLEANINGatwostepprocessincludingDETECTIONandthenCORRECTIONoferrorsina
dataset
72.WhatisMetadataandRepository?
Ans:
Metadata.Dataaboutdata.
Itcontainsdescriptivedataforendusers.
ContainsdatathatcontrolstheETLprocessing.
Containsdataaboutthecurrentstateofthedatawarehouse.
ETLupdatesmetadata,toprovidethemostcurrentstate.
Repository. The place where you store the metadata is called a repository. The more sophisticated your
repository,themore
complexanddetailedmetadatayoucanstoreinit.PowerMartandPowerCenterusearelational
databaseasthe
http://shaninformatica.blogspot.com/
42/71
12/23/2015
InformaticaQuestionAnswer
repository.
73.SQL*LOADER?
Ans:http://downloadwest.oracle.com/otndoc/oracle9i/901_doc/server.901/a90192/ch03.htm#1004678[http://download
west.oracle.com/otndoc/oracle9i/901_doc/server.901/a90192/ch03.htm#1004678]
74.DebuggerinMapping?
75.Parameterspassingin5.1vesionexposure?
76.WhatisthefilenamewhichuneedtoconfigureinUnixwhileInstallingInformatica?
77.HowdouselectduplicaterowsusingInformaticai.e.,howdouuseMax(Rowid)/Min(Rowid)in
Informatica?
**********************************Shankar
Prasad*************************************************
Posted2ndJune2012byShankarPrasad
0 Addacomment
2ndJune2012
DatawarehouseBASICDEFINITIONSInformatica
DatawarehouseBASICDEFINITIONS(byShankarPrasad)
DWH:isarepositoryofintegratedinformation,specificallystructuredforqueriesandanalysis.Dataandinformation
areextractedfromheterogeneoussourcesastheyaregenerated.Thismakesitmucheasierandmoreefficientto
runqueriesoverdatathatoriginallycamefromdifferentsources.
DataMart:isacollectionofsubjectareasorganizedfordecisionsupportbasedontheneedsofagiven
department.Ex:sales,marketingetc.thedatamartisdesignedtosuittheneedsofadepartment.Data
martismuchlessgranularthanthewarehousedata
DataWarehouse:isusedonanenterpriselevel,whiledatamartsisusedonabusinessdivision/department
level.Datawarehousesarearrangedaroundthecorporatesubjectareasfoundinthecorporatedatamodel.Data
warehousescontainmoredetailinformationwhilemostdatamartscontainmoresummarizedoraggregateddata.
OLTP:OnlineTransactionProcessing.Thisisstandard,normalizeddatabasestructure.OLTPis
designedforTransactions,whichmeansthatinserts,updatesanddeletesmustbefast.
OLAP:OnlineAnalyticalProcessing.Readonly,historical,aggregateddata.
FactTable:containthequantitativemeasuresaboutthebusiness
DimensionTable:descriptivedataaboutthefacts(business)
Conformeddimensions:dimensiontablesharedbyfacttables..thesetablesconnectseparatestar
schemasintoanenterprisestarschema.
StarSchema:isasetoftablescomprisedofasingle,centralfacttablesurroundedbydenormalized
dimensions.Starschemaimplementdimensionaldatastructureswithdenormalizeddimensions
SnowFlake:isasetoftablescomprisedofasingle,centralfacttablesurroundedbynormalized
dimensionhierarchies.Snowflakeschemaimplementdimensionaldatastructureswithfullynormailized
dimensions.
StagingArea:itistheworkplacewhererawdataisbroughtin,cleaned,combined,archivedand
exportedtooneormoredatamarts.Thepurposeofdatastagingareaistogetdatareadyforloadinginto
apresentationlayer.
Queries:TheDWHcontains2typesofqueries.Therewillbefixedqueriesthatareclearlydefinedand
wellunderstood,suchasregularreports,cannedqueriesandcommonaggregations.
Therewillalsobeadhocqueriesthatareunpredictable,bothinquantityandfrequency.
AdHocQuery:arethestartingpointforanyanalysisintoadatabase.Theabilitytorunanyquerywhen
desiredandexpectareasonableresponsethatmakesthedatawarehouseworthwhileandmakesthe
designsuchasignificantchallenge.
Theenduseraccesstoolsarecapableofautomaticallygeneratingthedatabasequerythatanswers
http://shaninformatica.blogspot.com/
43/71
12/23/2015
InformaticaQuestionAnswer
anyquestionpostedbytheuser.
CannedQueries:arepredefinedqueries.Cannedqueriescontainpromptsthatallowyoutocustomize
thequeryforyourspecificneeds
Kimball(Bottomup)vsInmon(Topdown)approaches:
Acc.ToRalphKimball,whenyouplantodesignanalyticalsolutionsforanenterprise,trybuildingdata
marts.Whenyouhave3or4suchdatamarts,youwouldbehavinganenterprisewidedatawarehouse
builtupautomaticallywithouttimeandeffortfromexclusivelyspentonbuildingtheEDWH.Becausethe
timerequiredforbuildingadatamartislesserthanforanEDWH.
INMON:trytobuildanEnterprisewideDatawarehousefirstandallthedatamartswillbethesubsetsof
theEDWH.Acc.Tohim,independentdatamartscannotmakeupanenterprisedatawarehouseunder
anycircumstance,buttheywillremainisolatedpiecesofinformationstovepieces
************************************************************************************************************************
Name
State
1001
Christina
Illinois
At a later date, she moved to Los Angeles, California on January, 2003. How should ABC Inc. now modify its customer table to
reflect this change? This is the "Slowly Changing Dimension" problem.
There are in general three ways to solve this type of problem, and they are categorized as follows:
Type1[http://www.1keydata.com/datawarehousing/scdtype1.html]: The new record replaces the original record. No trace of the
old record exists.
Type2[http://www.1keydata.com/datawarehousing/scdtype2.html]: A new record is added into the customer dimension table.
Therefore, the customer is treated essentially as two people.
Type3[http://www.1keydata.com/datawarehousing/scdtype3.html]: The original record is modified to reflect the change.
We next take a look at each of the scenarios and how the data model and the data looks like for each of them. Finally, we
compare and contrast among the three alternatives.
Type 1 Slowly Changing Dimension:
In Type 1 Slowly Changing Dimension, the new information simply overwrites the original information. In other words, no
history is kept.
In our example, recall we originally have the following table:
Customer Key
Name
State
1001
Christina
Illinois
After Christina moved from Illinois to California, the new information replaces the new record, and we have the following
http://shaninformatica.blogspot.com/
44/71
12/23/2015
InformaticaQuestionAnswer
table:
Customer Key
Name
State
1001
Christina
California
Advantages:
This is the easiest way to handle the Slowly Changing Dimension problem, since there is no need to keep track of the old
information.
Disadvantages:
All history is lost. By applying this methodology, it is not possible to trace back in history. For example, in this case, the
company would not be able to know that Christina lived in Illinois before.
Usage:
About 50% of the time.
When to use Type 1:
Type 1 slowly changing dimension should be used when it is not necessary for the data warehouse to keep track of historical
changes.
Type 2 Slowly Changing Dimension:
In Type 2 Slowly Changing Dimension, a new record is added to the table to represent the new information. Therefore, both
the original and the new record will be present. The newe record gets its own primary key.
In our example, recall we originally have the following table:
Customer Key
Name
State
1001
Christina
Illinois
After Christina moved from Illinois to California, we add the new information as a new row into the table:
Customer Key
Name
State
1001
Christina
Illinois
1005
Christina
California
Advantages:
This allows us to accurately keep all historical information.
Disadvantages:
This will cause the size of the table to grow fast. In cases where the number of rows for the table is very high to start with,
storage and performance can become a concern.
This necessarily complicates the ETL process.
Usage:
About 50% of the time.
When to use Type 2:
Type 2 slowly changing dimension should be used when it is necessary for the data warehouse to track historical changes.
Type 3 Slowly Changing Dimension :
In Type 3 Slowly Changing Dimension, there will be two columns to indicate the particular attribute of interest, one indicating
the original value, and one indicating the current value. There will also be a column that indicates when the current value
becomes active.
In our example, recall we originally have the following table:
Customer Key
Name
State
1001
Christina
Illinois
To accomodate Type 3 Slowly Changing Dimension, we will now have the following columns:
Customer Key
Name
Original State
Current State
Effective Date
After Christina moved from Illinois to California, the original information gets updated, and we have the following table
(assuming the effective date of change is January 15, 2003):
Customer Key
Name
Original State
Current State
Effective Date
1001
Christina
Illinois
California
15JAN2003
Advantages:
This does not increase the size of the table, since new information is updated.
This allows us to keep some part of history.
Disadvantages:
Type 3 will not be able to keep all history where an attribute is changed more than once. For example, if Christina later
moves to Texas on December 15, 2003, the California information will be lost.
Usage:
Type 3 is rarely used in actual practice.
When to use Type 3:
Type III slowly changing dimension should only be used when it is necessary for the data warehouse to track historical
changes, and when such changes will only occur for a finite number of time.
Surrogate key :
A surrogate key is frequently a sequential number but doesn't have to be. Having the key independent of all other columns
insulates the database relationships from changes in data values or database design and guarantees uniqueness.
Some database designers use surrogate keys religiously regardless of the suitability of other candidate keys. However, if a
good key already exists, the addition of a surrogate key will merely slow down access, particularly if it is indexed.
The concept of surrogate key is important in data warehouse ,surrogate means deputy or substitute. surrogate key is a small
integer(say 4 bytes)that can uniquely identify the record in the dimension table.however it has no meaning data warehouse
experts suggest that production key used in the databases should not be used in the dimension tables as primary keys instead in
http://shaninformatica.blogspot.com/
45/71
12/23/2015
InformaticaQuestionAnswer
there place the surrogate key have to be used which are generated automatically.
http://shaninformatica.blogspot.com/
46/71
12/23/2015
InformaticaQuestionAnswer
Requires additional investment: Cube technology are often proprietary and do not already exist in the organization.
Therefore, to adopt MOLAP technology, chances are additional investments in human and capital resources are needed.
ROLAP
This methodology relies on manipulating the data stored in the relational database to give the appearance of traditional
OLAP's slicing and dicing functionality. In essence, each action of slicing and dicing is equivalent to adding a "WHERE" clause
in the SQL statement.
Advantages:
Can handle large amounts of data: The data size limitation of ROLAP technology is the limitation on data size of the
underlying relational database. In other words, ROLAP itself places no limitation on data amount.
Can leverage functionalities inherent in the relational database: Often, relational database already comes with a host of
functionalities. ROLAP technologies, since they sit on top of the relational database, can therefore leverage these
functionalities.
Disadvantages:
Performance can be slow: Because each ROLAP report is essentially a SQL query (or multiple SQL queries) in the
relational database, the query time can be long if the underlying data size is large.
Limited by SQL functionalities: Because ROLAP technology mainly relies on generating SQL statements to query the
relational database, and SQL statements do not fit all needs (for example, it is difficult to perform complex calculations
using SQL), ROLAP technologies are therefore traditionally limited by what SQL can do. ROLAP vendors have mitigated
this risk by building into the tool outofthebox complex functions as well as the ability to allow users to define their own
functions.
HOLAP
HOLAP technologies attempt to combine the advantages of MOLAP and ROLAP. For summarytype information, HOLAP
leverages cube technology for faster performance. When detail information is needed, HOLAP can "drill through" from the
cube into the underlying relational data.
Bill Inmon vs. Ralph Kimball:
In the data warehousing field, we often hear about discussions on where a person / organization's philosophy falls into Bill
Inmon's camp or into Ralph Kimball's camp. We describe below the difference between the two.
Bill Inmon's paradigm: Data warehouse is one part of the overall business intelligence system. An enterprise has one data
warehouse, and data marts source their information from the data warehouse. In the data warehouse, information is stored in
3rd normal form.
Ralph Kimball's paradigm: Data warehouse is the conglomerate of all data marts within the enterprise. Information is always
stored in the dimensional model.
There is no right or wrong between these two ideas, as they represent different data warehousing philosophies. In reality, the
data warehouse in most enterprises are closer to Ralph Kimball's idea. This is because most data warehouses started out as a
departmental effort, and hence they originated as a data mart. Only when more data marts are built later do they evolve into
a data warehouse.
********************************************************************************
******************** Shankar Prasad****************************************
********************************************************************************
Posted2ndJune2012byShankarPrasad
0 Addacomment
2ndJune2012
InformaticaInterviewQuestionAnswer
InformaticaInterviewQuestionAnswer:
byShankarPrasad
Q.WhatareTargetTypesontheServer?
A.TargetTypesareFile
[file:///C:/Documents%20and%20Settings/Shankar/My%20Documents/Downloads/Informatica_Interview_Question.doc] ,Relational
andERP.
Q.WhatareTargetTypesontheServer?
A.TargetTypesareFile
http://shaninformatica.blogspot.com/
47/71
12/23/2015
InformaticaQuestionAnswer
[file:///C:/Documents%20and%20Settings/Shankar/My%20Documents/Downloads/Informatica_Interview_Question.doc] ,Relational
andERP.
Q.Howdoyouidentifyexistingrowsofdatainthetargettableusinglookuptransformation?
A.Therearetwowaystolookupthetargettabletoverifyarowexistsornot:
1.UseconnectdynamiccachelookupandthencheckthevaluesofNewLookuprowOutputporttodecidewhether
theincomingrecordalreadyexistsinthetable/cacheornot.
2.UseUnconnectedlookupandcallitfromanexpressiontransformationandchecktheLookupconditionport
value(Null/NotNull)todecidewhethertheincomingrecordalreadyexistsinthetableornot.
Q.WhatareAggregatetransformations?
A.AggregatortransformismuchliketheGroupbyclauseintraditionalSQL.
Thisparticulartransformisaconnected/active
[file:///C:/Documents%20and%20Settings/Shankar/My%20Documents/Downloads/Informatica_Interview_Question.doc
]transformwhichcantaketheincomingdatafromthemappingpipelineandgroupthembasedonthegroupby
portsspecifiedandcancaculatedaggregatefunctionslike(avg,sum,count,stddev....etc)foreachofthosegroups.
FromaperformanceperspectiveifyourmappinghasanAGGREGATORtransformusefiltersandsortersveryearly
inthepipelineifthereisanyneedforthem.
Q.WhatarevarioustypesofAggregation?
A.VarioustypesofaggregationareSUM,AVG,COUNT,MAX,MIN,FIRST,LAST,MEDIAN,PERCENTILE,STDDEV,andVARIANCE.
Q.WhatareDimensionsandvarioustypesofDimension?
A.Dimensionsareclassifiedto3types.
1.SCDTYPE1(SlowlyChangingDimension):thiscontainscurrentdata.
2.SCDTYPE2(SlowlyChangingDimension):thiscontainscurrentdata+completehistoricaldata.
3.SCDTYPE3(SlowlyChangingDimension):thiscontainscurrentdata.+partiallyhistoricaldata
Q.Whatare2modesofdata
[file:///C:/Documents%20and%20Settings/Shankar/My%20Documents/Downloads/Informatica_Interview_Question.doc]
movementinInformaticaServer?
A.ThedatamovementmodedependsonwhetherInformaticaServershouldprocesssinglebyteormultibytecharacterdata.Thismode
selectioncanaffecttheenforcementofcodepagerelationshipsandcodepagevalidationintheInformaticaClientandServer.
a)UnicodeISallows2bytesforeachcharacterandusesadditionalbyteforeachnonasciicharacter(suchasJapanese
characters)
b)ASCIIISholdsalldatainasinglebyte
TheISdatamovementmodecanbechangedintheInformaticaServerconfigurationparameters.Thiscomesintoeffectonce
yourestarttheInformaticaServer.
Q.WhatisCodePageCompatibility?
A.CompatibilitybetweencodepagesisusedforaccuratedatamovementwhentheInformaticaSeverrunsintheUnicodedata
movementmode.Ifthecodepagesareidentical,thentherewillnotbeanydataloss.Onecodepagecanbeasubsetorsupersetof
another.Foraccuratedatamovement,thetargetcodepagemustbeasupersetofthesourcecodepage.
`SupersetAcodepageisasupersetofanothercodepagewhenitcontainsthecharacterencodedintheother
codepage,italsocontainsadditionalcharactersnotcontainedintheothercodepage.
SubsetAcodepageisasubsetofanothercodepagewhenallcharactersinthecodepageareencodedinthe
othercodepage.
WhatisCodePageusedfor?
CodePageisusedtoidentifycharactersthatmightbeindifferentlanguages.IfyouareimportingJapanesedata
[file:///C:/Documents%20and%20Settings/Shankar/My%20Documents/Downloads/Informatica_Interview_Question.doc] intomapping,
umustselecttheJapanesecodepageofsourcedata.
Q.WhatisRoutertransformation?
A.Itisdifferentfromfiltertransformationinthatwecanspecifymultipleconditionsandroutethedatatomultipletargets
dependingonthecondition.
Q.WhatisLoadManager?
A.Whilerunning
[file:///C:/Documents%20and%20Settings/Shankar/My%20Documents/Downloads/Informatica_Interview_Question.doc]
aWorkflow,thePowerCenterServer
[file:///C:/Documents%20and%20Settings/Shankar/My%20Documents/Downloads/Informatica_Interview_Question.doc]
usestheLoadManagerprocessandtheDataTransformationManagerProcess(DTM)toruntheworkflowand
http://shaninformatica.blogspot.com/
48/71
12/23/2015
InformaticaQuestionAnswer
carryoutworkflowtasks.WhenthePowerCenterServerrunsaworkflow,theLoadManagerperformsthefollowing
tasks:
1.Lockstheworkflowandreadsworkflowproperties.
2.Readstheparameterfileandexpandsworkflowvariables.
3.Createstheworkflowlogfile.
4.Runsworkflowtasks.
5.Distributessessionstoworkerservers.
6.StartstheDTMtorunsessions.
7.Runssessionsfrommasterservers.
8.SendspostsessionemailiftheDTMterminatesabnormally.
WhenthePowerCenterServerrunsasession,theDTMperformsthefollowingtasks:
1.Fetchessessionandmappingmetadatafromtherepository.
2.Createsandexpandssessionvariables.
3.Createsthesessionlogfile.
4.Validatessessioncodepagesifdatacodepagevalidationisenabled.Checksquery
conversionsifdatacodepagevalidationisdisabled.
5.Verifiesconnectionobjectpermissions.
6.Runspresessionshellcommands.
7.RunspresessionstoredproceduresandSQL.
8.Createsandrunsmappings,reader,writer,andtransformationthreadstoextract,transform,andloaddata.
9.RunspostsessionstoredproceduresandSQL.
10.Runspostsessionshellcommands.
11.Sendspostsessionemail.
Q.WhatisDataTransformationManager?
A.Aftertheloadmanagerperforms
[file:///C:/Documents%20and%20Settings/Shankar/My%20Documents/Downloads/Informatica_Interview_Question.doc]
validationsforthesession,itcreatestheDTMprocess.TheDTMprocessisthesecondprocessassociatedwiththe
sessionrun.TheprimarypurposeoftheDTMprocessistocreateandmanagethreadsthatcarryoutthesession
tasks.
TheDTMallocatesprocessmemoryforthesessionanddivideitintobuffers.Thisisalsoknownasbuffer
memory.Itcreatesthemainthread,whichiscalledthemasterthread.Themasterthreadcreatesandmanages
allotherthreads.
Ifwepartitionasession,theDTMcreatesasetofthreadsforeachpartitiontoallowconcurrentprocessing..
WhenInformaticaserverwritesmessagestothesessionlogitincludesthreadtypeandthreadID.
FollowingarethetypesofthreadsthatDTMcreates:
MasterThreadMainthreadoftheDTMprocess.Createsandmanagesallotherthreads.
MappingThreadOneThreadtoEachSession.FetchesSessionandMappingInformation.
PreandPostSessionThreadOneThreadeachtoPerformPreandPostSessionOperations.
ReaderThreadOneThreadforEachPartitionforEachSourcePipeline.
WriterThreadOneThreadforEachPartitioniftargetexistinthesourcepipelinewritetothetarget.
TransformationThreadOneorMoreTransformationThreadForEachPartition.
Q.WhatisSessionandBatches?
A.SessionASessionIsAsetofinstructionsthattellstheInformaticaServerHowAndWhenToMoveDataFromSourcesTo
Targets.Aftercreatingthesession,wecanuseeithertheservermanagerorthecommandlineprogrampmcmdtostartor
stopthesession.BatchesItProvidesAWaytoGroupSessionsForEitherSerialOrParallelExecutionByTheInformatica
Server.ThereAreTwoTypesOfBatches:
1. SequentialRunSessionOneaftertheOther.
2. ConcurrentRunSessionAtTheSameTime.
Q.Whatisasourcequalifier?
A.Itrepresentsalldata
http://shaninformatica.blogspot.com/
49/71
12/23/2015
InformaticaQuestionAnswer
[file:///C:/Documents%20and%20Settings/Shankar/My%20Documents/Downloads/Informatica_Interview_Question.doc] queried
fromthesource.
Q.Whyweuselookuptransformations?
A.LookupTransformationscanaccessdata
[file:///C:/Documents%20and%20Settings/Shankar/My%20Documents/Downloads/Informatica_Interview_Question.doc] from
relationaltablesthatarenotsourcesinmapping.WithLookuptransformation,wecanaccomplishthefollowingtasks:
GetarelatedvalueGettheEmployeeNamefromEmployeetablebasedontheEmployeeID
PerformCalculation.
UpdateslowlychangingdimensiontablesWecanuseunconnectedlookuptransformationtodeterminewhether
therecordsalreadyexistinthetargetornot.
Q.Whileimportingtherelationalsourcedefinitionfromdatabase,whatarethemetadataofsourceUimport?
Sourcename
Databaselocation
Columnnames
Datatypes
Keyconstraints
Q.Howmanywaysyoucanupdatearelationalsourcedefinitionandwhatarethey?
A.Twoways
1.Editthedefinition
2.Reimportthedefinition
Q.Whereshouldyouplacetheflatfiletoimporttheflatfiledefinitiontothedesigner?
A.Placeitinlocal
[file:///C:/Documents%20and%20Settings/Shankar/My%20Documents/Downloads/Informatica_Interview_Question.doc] folder
Q.WhichtransformationshoulduneedwhileusingtheCobolsourcesassourcedefinitions?
A.Normalizertransformationwhichisusedtonormalizethedata.SinceCobolsourcesroftenconsistsofdenormalizeddata.
Q.Howcanyoucreateorimportflatfiledefinitionintothewarehousedesigner?
A.Youcancreateflatfiledefinitioninwarehousedesigner.Inthewarehousedesigner,youcancreateanewtarget:selectthe
typeasflatfile.Saveitanducanentervariouscolumnsforthatcreatedtargetbyeditingitsproperties.Oncethetargetis
created,saveit.Youcanimportitfromthemappingdesigner.
Q.Whatisamapplet?
A.Amappletshouldhaveamappletinputtransformationwhichreceivesinputvalues,andanoutput
transformationwhichpassesthefinalmodifieddatatobacktothemapping.Setoftransformationswhere
thelogiccanbereusablewhenthemappletis
displayedwithinthemappingonlyinput&outputportsaredisplayedsothattheinternallogicishiddenfromend
userpointofview.
Q.Whatisatransformation?
A.Itisarepositoryobjectthatgenerates,modifiesorpassesdata.
Q.Whatarethedesignertoolsforcreatingtransformations?
A.Mappingdesigner
Transformationdeveloper
Mappletdesigner
Q.Whatareconnectedandunconnectedtransformations?
A.ConnectTransformation:Atransformationwhichparticipatesinthemappingdataflow.Connectedtransformationcanreceive
[file:///C:/Documents%20and%20Settings/Shankar/My%20Documents/Downloads/Informatica_Interview_Question.doc] multiple
inputsandprovidesmultipleoutputs
Unconnected:Anunconnectedtransformationdoesnotparticipateinthemappingdataflow.Itcanreceive
multipleinputsandprovidessingleoutput
Q.Inhowmanywayscanyoucreateports?
A.Twoways
1.Dragtheportfromanothertransformation
2.Clicktheaddbuttonontheportstab.
http://shaninformatica.blogspot.com/
50/71
12/23/2015
InformaticaQuestionAnswer
Q.Whatarereusabletransformations?
A.Atransformationthatcanbereusediscalledareusabletransformation
Theycanbecreatedusingtwomethods:
1.Usingtransformationdeveloper
2.Createnormaloneandpromoteittoreusable
Q.Whataremappingparametersandmappingvariables?
A.MappingparameterrepresentsaconstantvaluethatUcandefinebeforerunningasession.Amappingparameterretainsthe
samevaluethroughouttheentiresession.
Whenuusethemappingparameter,Udeclareandusetheparameterinamappingormapplet.Thendefinethevalueof
parameterinaparameterfileforthesession.
Unlikeamappingparameter,amappingvariablerepresentsavaluethatcanchangethroughoutthesession.TheInformatica
serversavesthevalueofmappingvariabletotherepositoryattheendofsessionrunandusesthatvaluenexttimeUrunthe
session.
Q.CanUusethemappingparametersorvariablescreatedinonemappingintoanothermapping?
A.NO.
WecanusemappingparametersorvariablesinanytransformationofthesamemappingormappletinwhichUhavecreated
mappingparametersorvariables.
Q.HowcanUimprovesessionperformanceinaggregatortransformation?
A.1.Usesortedinput.Useasorterbeforetheaggregator
2.Donotforgettochecktheoptionontheaggregatorthattellstheaggregatorthattheinputissortedonthe
samekeysasgroupby.Thekeyorderisalsoveryimportant.
Q.Isaggregatecacheinaggregatortransformation?
A.Theaggregatorstoresdataintheaggregatecacheuntilitcompletesaggregatecalculations.Whenurunasessionthatusesan
aggregatortransformation,theInformaticaservercreatesindexanddatacachesinmemorytoprocessthetransformation.Ifthe
Informaticaserverrequiresmorespace,itstoresoverflowvaluesincachefiles.
Q.Whatrthedifferencebetweenjoinertransformationandsourcequalifiertransformation?
A.Youcanjoinheterogeneousdatasourcesinjoinertransformationwhichwecannotachieveinsourcequalifiertransformation.
Youneedmatchingkeystojointworelationalsourcesinsourcequalifiertransformation.Whereasudoesntneedmatchingkeystojoin
twosources.
Tworelationalsourcesshouldcomefromsamedatasourceinsourcequalifier.Youcanjoinrelationalsourceswhichrcomingfromdifferent
sourcesalso.
Q.Inwhichconditionscanwenotusejoinertransformations?
A.YoucannotuseaJoinertransformationinthefollowingsituations(accordingtoInformatica7.1):
EitherinputpipelinecontainsanUpdateStrategytransformation.
YouconnectaSequenceGeneratortransformationdirectlybeforetheJoiner
transformation.
Q.Whatrthesettingsthatuusetoconfigurethejoinertransformation?
A.Masteranddetailsource
Typeofjoin
Conditionofthejoin
Q.Whatarethejointypes
[file:///C:/Documents%20and%20Settings/Shankar/My%20Documents/Downloads/Informatica_Interview_Question.doc] injoiner
transformation?
A.Normal(Default)onlymatchingrowsfrombothmasteranddetail
Masterouteralldetailrowsandonlymatchingrowsfrommaster
Detailouterallmasterrowsandonlymatchingrowsfromdetail
Fullouterallrowsfrombothmasteranddetail(matchingornonmatching)
Q.Whatarethejoinercaches?
A.WhenaJoinertransformationoccursinasession,theInformaticaServerreadsalltherecordsfromthemastersourceandbuildsindex
anddatacachesbasedonthemasterrows.
Afterbuildingthecaches,theJoinertransformationreadsrecordsfromthedetailsourceandperformsjoins.
Q.Whyusethelookuptransformation?
A.Toperformthefollowingtasks.
Getarelatedvalue.Forexample,ifyoursourcetableincludesemployeeID,butyouwanttoincludetheemployeenameinyourtarget
tabletomakeyoursummarydataeasiertoread.
Performacalculation.Manynormalizedtablesincludevaluesusedinacalculation,suchasgrosssalesperinvoiceorsalestax,butnotthe
calculatedvalue(suchasnetsales).
Updateslowlychangingdimensiontables.YoucanuseaLookuptransformationtodeterminewhetherrecordsalreadyexistinthetarget.
http://shaninformatica.blogspot.com/
51/71
12/23/2015
InformaticaQuestionAnswer
DifferencesBetweenConnectedandUnconnectedLookups
ConnectedLookup
UnconnectedLookup
Receivesinputvaluesdirectlyfromthepipeline.
Receivesinputvalues
fromtheresultofa
:LKPexpressionin
another
transformation.
Youcanuseadynamicorstaticcache.
Youcanuseastatic
cache.
Cacheincludesalllookupcolumnsusedinthemapping(thatis,lookupsourcecolumnsincludedinthelookup
conditionandlookupsourcecolumnslinkedasoutputportstoothertransformations).
search
Cacheincludesall
lookup/outputports
inthelookup
conditionandthe
lookup/returnport.
InformaticaQuestion
Designateonereturn
port(R).Returnsone
columnfromeach
row.
Ifthereisnomatch
forthelookup
[file:///C:/Documents%20and%20Settings/Shankar/My%20Documents/Downloads/Informatica_Interview_Question.doc]
condition,the
returnsthedefaultvalueforalloutputports.Ifyouconfiguredynamiccaching,thePowerCenterServerinsertsrows
PowerCenterServer
intothecacheorleavesitunchanged.
returnsNULL.
Ifthereisnomatchforthelookupcondition,thePowerCenterServer
Ifthereisamatchforthelookupcondition,thePowerCenterServerreturnstheresultofthelookupconditionforall
lookup/outputports.Ifyouconfiguredynamiccaching,thePowerCenterServereitherupdatestherowtheinthe
cacheorleavestherowunchanged.
Ifthereisamatchfor
thelookupcondition,
thePowerCenter
Serverreturnsthe
resultofthelookup
conditionintothe
returnport.
Passmultipleoutputvaluestoanothertransformation.Linklookup/outputportstoanothertransformation.
Passoneoutput
valuetoanother
transformation.The
lookup/output/return
portpassesthevalue
tothetransformation
calling:LKP
expression.
Supportsuserdefineddefaultvalues.
Doesnotsupport
userdefineddefault
values.
Q.Whatismeantbylookupcaches?
A.TheInformaticaserverbuildsacacheinmemorywhenitprocessesthefirstrowofadatainacachedlookuptransformation.
Itallocatesmemoryforthecachebasedontheamountuconfigureinthetransformationorsessionproperties.TheInformatica
serverstoresconditionvaluesintheindexcacheandoutputvaluesinthedatacache.
Q.Whatrthetypesoflookupcaches?
A.Persistentcache:UcansavethelookupcachefilesandreusethemthenexttimetheInformaticaserverprocesses
[file:///C:/Documents%20and%20Settings/Shankar/My%20Documents/Downloads/Informatica_Interview_Question.doc]alookup
transformationconfiguredtousethecache.
Recachefromdatabase:Ifthepersistentcacheisnotsynchronizedwiththelookuptable,youcanconfigurethelookup
DynamicViewstemplate.PoweredbyBlogger.
transformationtorebuildthelookupcache.
Staticcache:Ucanconfigureastaticorreadonlycacheforonlylookuptable.BydefaultInformaticaservercreatesastatic
cache.Itcachesthelookuptableandlookupvaluesinthecacheforeachrowthatcomesintothetransformation.Whenthe
lookupconditionistrue,theInformaticaserverdoesnotupdatethecachewhileitprocessesthelookuptransformation.
Dynamiccache:Ifyouwanttocachethetargettableandinsertnewrowsintocacheandthetarget,youcancreatealookup
transformationtousedynamiccache.TheInformaticaserverdynamicallyinsertsdatatothetargettable.
Sharedcache:Ucansharethelookupcachebetweenmultipletransactions.Youcanshareunnamedcachebetween
transformationsinthesamemapping.
http://shaninformatica.blogspot.com/
52/71
12/23/2015
InformaticaQuestionAnswer
Q.Whatrthetypesoflookupcaches?
A.Persistentcache:UcansavethelookupcachefilesandreusethemthenexttimetheInformaticaserverprocesses
[file:///C:/Documents%20and%20Settings/Shankar/My%20Documents/Downloads/Informatica_Interview_Question.doc]alookup
transformationconfiguredtousethecache.
Recachefromdatabase:Ifthepersistentcacheisnotsynchronizedwiththelookuptable,youcanconfigurethelookup
transformationtorebuildthelookupcache.
Staticcache:Ucanconfigureastaticorreadonlycacheforonlylookuptable.BydefaultInformaticaservercreatesastatic
cache.Itcachesthelookuptableandlookupvaluesinthecacheforeachrowthatcomesintothetransformation.Whenthe
lookupconditionistrue,theInformaticaserverdoesnotupdatethecachewhileitprocessesthelookuptransformation.
Dynamiccache:Ifyouwanttocachethetargettableandinsertnewrowsintocacheandthetarget,youcancreatealookup
transformationtousedynamiccache.TheInformaticaserverdynamicallyinsertsdatatothetargettable.
Sharedcache:Ucansharethelookupcachebetweenmultipletransactions.Youcanshareunnamedcachebetween
transformationsinthesamemapping.
Q:WhatdoyouknowaboutInformaticaandETL?
A:InformaticaisaveryusefulGUIbasedETLtool.
Q:FULLandDELTAfiles.HistoricalandOngoingload.
A:FULLfilecontainscompletedataasoftodayincludinghistorydata,DELTAfilecontainsonlythechangessincelastextract.
Q:PowerCenter/PowerMartwhichproductshaveyouworkedwith?
A:PowerCenterwillhaveGlobalandLocalrepository,whereasPowerMartwillhaveonlyLocalrepository.
Q:ExplainwhatarethetoolsyouhaveusedinPowerCenterand/orPowerMart?
A:Designer,ServerManager,andRepositoryManager.
Q:WhatisaMapping?
A:MappingRepresentthedataflowbetweensourceandtarget
Q:WhatarethecomponentsmustcontaininMapping?
A:Sourcedefinition,Transformation,TargetDefinitionandConnectors
Q:WhatisTransformation?
A:Transformationisarepositoryobjectthatgenerates,modifies,orpassesdata.Transformationperformsspecificfunction.They
aretwotypesoftransformations:
1. Active
Rows,whichareaffectedduringthetransformationorcanchangethenoofrowsthatpassthroughit.Eg:
Aggregator,Filter,Joiner,Normalizer,Rank,Router,Sourcequalifier,UpdateStrategy,ERPSourceQualifier,
AdvanceExternalProcedure.
2. Passive
Doesnotchangethenumberofrowsthatpassthroughit.Eg:Expression,ExternalProcedure,Input,Lookup,
StoredProcedure,Output,SequenceGenerator,XMLSourceQualifier.
Q:WhichtransformationcanbeoverriddenattheServer?
A:SourceQualifierandLookupTransformations
Q:WhatisconnectedandunconnectedTransformationandgiveExamples?
Q:WhatareOptions/TypetorunaStoredProcedure?
A:
Normal:Duringasession,thestoredprocedurerunswherethetransformationexistsinthemappingonarowbyrow
basis.Thisisusefulforcallingthestoredprocedureforeachrowofdatathatpassesthroughthemapping,suchasrunning
acalculationagainstaninputport.Connectedstoredproceduresrunonlyinnormalmode.
PreloadoftheSource.Beforethesessionretrievesdatafromthesource,thestoredprocedureruns.Thisisusefulfor
verifyingtheexistenceoftablesorperformingjoinsofdatainatemporarytable.
PostloadoftheSource.Afterthesessionretrievesdatafromthesource,thestoredprocedureruns.Thisisusefulfor
removingtemporarytables.
PreloadoftheTarget.Beforethesessionsendsdatatothetarget,thestoredprocedureruns.Thisisusefulforverifying
targettablesordiskspaceonthetargetsystem.
PostloadoftheTarget.Afterthesessionsendsdatatothetarget,thestoredprocedureruns.Thisisusefulforrecreating
indexesonthedatabase.
http://shaninformatica.blogspot.com/
53/71
12/23/2015
InformaticaQuestionAnswer
ItmustcontainatleastoneInputandoneOutputport.
Q:WhatkindsofsourcesandoftargetscanbeusedinInformatica?
A:
SourcesmaybeFlatfile,relationaldborXML.
Targetmayberelationaltables,XMLorflatfiles.
Q:Transformations:Whatarethedifferenttransformationsyouhaveworkedwith?
A:
SourceQualifier(XML,ERP,MQ)
Joiner
Expression
Lookup
Filter
Router
SequenceGenerator
Aggregator
UpdateStrategy
StoredProc
ExternalProc
AdvancedExternalProc
Rank
Normalizer
Q:Whatareactive/passivetransformations?
A:Passivetransformationsdonotchangethenos.ofrowspassingthroughitwhereasactivetransformationchangesthenos.rows
passingthruit.
Active:Filter,Aggregator,Rank,Joiner,SourceQualifier
Passive:Expression,Lookup,StoredProc,Seq.Generator
Q:Whatareconnected/unconnectedtransformations?
A:
Connectedtransformationsarepartofthemappingpipeline.Theinputandoutputportsareconnectedtoother
transformations.
Unconnectedtransformationsarenotpartofthemappingpipeline.Theyarenotlinkedinthemapwithanyinputoroutput
ports.Eg.InUnconnectedLookupyoucanpassmultiplevaluestounconnectedtransformationbutonlyonecolumnof
datawillbereturnedfromthetransformation.Unconnected:Lookup,StoredProc.
Q:Intargetloadordering,whatdoyouorderTargetsorSourceQualifiers?
A:SourceQualifiers.Iftherearemultipletargetsinthemapping,whicharepopulatedfrommultiplesources,thenwecanuse
TargetLoadordering.
Q:Haveyouusedconstraintbasedloadordering?Wheredoyousetthis?
A:ConstraintbasedloadingcanbeusedwhenyouhavemultipletargetsinthemappingandthetargettableshaveaPKFK
relationshipinthedatabase.Itcanbesetinthesessionproperties.YouhavetosettheSourceTreatRowsas:INSERTandcheck
theboxConstraintbasedloadorderinginAdvancedTab.
Q:IfyouhaveaFULLfilethatyouhavetomatchandloadintoacorrespondingtable,howwillyougoaboutit?Willyouuse
Joinertransformation?
A:UseJoinerandjointhefileandSourceQualifier.
Q:Ifyouhave2filestojoin,whichfilewillyouuseasthemasterfile?
A:Usethefilewithlessernos.ofrecordsasmasterfile.
Q:Ifasequencegenerator(withincrementof1)isconnectedto(say)3targetsandeachtargetusestheNEXTVALport,what
valuewilleachtargetget?
A:Eachtargetwillgetthevalueinmultipleof3.
Q:HaveyouusedtheAbort,Decodefunctions?
A:AbortcanbeusedtoAbort/stopthesessiononanerrorcondition.
IftheprimarykeycolumncontainsNULL,andyouneedtostopthesessionfromcontinuingthenyoumayuseABORTfunctionin
thedefaultvaluefortheport.ItcanbeusedwithIIFandDECODEfunctiontoAbortthesession.
Q:HaveyouusedSQLOverride?
A:ItisusedtooverridethedefaultSQLgeneratedintheSourceQualifier/Lookuptransformation.
Q:Ifyoumakealocaltransformationreusablebymistake,canyouundothereusableaction?
A:No
Q:Whatisthedifferencebetweenfilterandroutertransformations?
A:FiltercanfiltertherecordsbasedonONEconditiononlywhereasRoutercanbeusedtofilterrecordsonmultiplecondition.
Q:Lookuptransformations:Cached/uncached
A:WhentheLookupTransformationiscachedtheInformaticaServercachesthedataandindex.Thisisdoneatthebeginningof
http://shaninformatica.blogspot.com/
54/71
12/23/2015
InformaticaQuestionAnswer
thesessionbeforereadingthefirstrecordfromthesource.IftheLookupisuncachedthentheInformaticareadsthedatafromthe
databaseforeveryrecordcomingfromtheSourceQualifier.
Q:Connected/unconnectedifthereisnomatchforthelookup,whatisreturned?
A:UnconnectedLookupreturnsNULLifthereisnomatchingrecordfoundintheLookuptransformation.
Q:Whatispersistentcache?
A:WhentheLookupisconfiguredtobeapersistentcacheInformaticaserverdoesnotdeletethecachefilesaftercompletionof
thesession.InthenextrunInformaticaserverusesthecachefilefromtheprevioussession.
Q:Whatisdynamiclookupstrategy?
A:TheInformaticaservercomparesthedatainthelookuptableandthecache,ifthereisnomatchingrecordfoundinthecache
filethenitmodifiesthecachefilesbyinsertingtherecord.Youmayuseonly(=)equalityinthelookupcondition.
IfmultiplematchesarefoundinthelookupthenInformaticafailsthesession.BydefaulttheInformaticaservercreatesastatic
cache.
Q:Mapplets:Whatarethe2transformationsusedonlyinmapplets?
A:MappletInput/SourceQualifier,MappletOutput
Q:HaveyouusedShortcuts?
A:Shortcutsmayusedtorefertoanothermapping.Informaticareferstotheoriginalmapping.Ifanychangesaremadetothe
mapping/mapplet,itisimmediatelyreflectedinthemappingwhereitisused.
Q:Ifyouusedadatabasewhenimportingsources/targetsthatwasdroppedlateron,willyourmappingsstillbevalid?
A:No
Q:Inexpressiontransformation,howcanyoustoreavaluefromthepreviousrow?
A:Bycreatingavariableinthetransformation.
Q:HowdoesInformaticadovariableinitialization?Number/String/Date
A:Number0,Stringblank,Date1/1/1753
Q:HaveyouusedtheInformaticadebugger?
A:Debuggerisusedtotestthemappingduringdevelopment.Youcangivebreakpointsinthemappingsandanalyzethedata.
Q:WhatdoyouknowabouttheInformaticaserverarchitecture?LoadManager,DTM,Reader,Writer,Transformer.
A:
LoadManageristhefirstprocessstartedwhenthesessionruns.Itchecksforvalidityofmappings,lockssessionsandother
objects.
DTMprocessisstartedoncetheLoadManagerhascompleteditsjob.Itstartsathreadforeachpipeline.
Readerscansdatafromthespecifiedsources.
Writermanagesthetarget/outputdata.
Transformerperformsthetaskspecifiedinthemapping.
Q:Haveyouusedpartitioninginsessions?(notavailablewithPowermart)
A:ItisavailableinPowerCenter.Itcanbeconfiguredinthesessionproperties.
Q:HaveyouusedExternalloader?Whatisthedifferencebetweennormalandbulkloading?
A:Externalloaderwillperformdirectdataloadtothetable/datafiles,bypasstheSQLlayerandwillnotlogthedata.Duringnormal
dataload,datapassesthroughSQLlayer,dataisloggedintothearchivelogfileandasaresultitisslow.
Q:Doyouenable/disabledecimalarithmeticinsessionproperties?
A:DisablingDecimalArithmeticwillimprovethesessionperformancebutitconvertsnumericvaluestodouble,thusleadingto
reducedaccuracy.
Q:Whenwouldusemultipleupdatestrategyinamapping?
A:WhenyouwouldliketoinsertandupdatetherecordsinaType2Dimensiontable.
Q:Whenwouldyoutruncatethetargetbeforerunningthesession?
A:Whenwewanttoloadentiredatasetincludinghistoryinoneshot.Updatestrategydonothavedd_update,dd_deleteandit
doesonlydd_insert.
Q:Howdoyouusestoredproctransformationinthemapping?
A:Insidemappingwecanusestoredproceduretransformation,passinputparametersandgetbacktheoutputparameters.When
handlingthroughsession,itcanbeinvokedeitherinPresessionorpostsessionscripts.
Q:Whatdidyoudointhestoredprocedure?Whydidyouusestoredprocinsteadofusingexpression?
A:
Q:WhenwouldyouuseSQ,JoinerandLookup?
A:
Ifweareusingmultiplessourcetablesandtheyarerelatedatthedatabase,thenwecanuseasingleSQ.
IfweneedtoLookupvaluesinatableorUpdateSlowlyChangingDimensiontablesthenwecanuseLookuptransformation.
Joinerisusedtojoinheterogeneoussources,e.g.Flatfileandrelationaltables.
Q:Howdoyoucreateabatchload?Whatarethedifferenttypesofbatches?
A:BatchiscreatedintheServerManager.Itcontainsmultiplesessions.Firstcreatesessionsandthencreateabatch.Dragthe
http://shaninformatica.blogspot.com/
55/71
12/23/2015
InformaticaQuestionAnswer
sessionsintothebatchfromthesessionlistwindow.
Batchesmaybesequentialorconcurrent.Sequentialbatchrunsthesessionssequentially.Concurrentsessionsrunparallelthus
optimizingtheserverresources.
Q:Howdidyouhandlerejectdata?WhatfiledoesInformaticacreateforbaddata?
A:Informaticasavestherejecteddataina.badfile.Informaticaaddsarowidentifierforeachrecordrejectedindicatingwhether
therowwasrejectedbecauseofWriterorTarget.Additionallyforeverycolumnthereisanindicatorforeachcolumnspecifying
whetherthedatawasrejectedduetooverflow,null,truncation,etc.
Q:Howdidyouhandleruntimeerrors?Ifthesessionstopsabnormallyhowwereyoumanagingthereloadprocess?
Q:Haveyouusedpmcmdcommand?Whatcanyoudousingthiscommand?
A:pmcmdisacommandlineprogram.Usingthiscommand
Youcanstartsessions
Stopsessions
Recoversession
Q:Whatarethetwodefaultrepositoryusergroups
A:AdministratorsandPublic
Q:WhatarethePrivilegesofDefaultRepositoryandExtendedRepositoryuser?
A:
DefaultRepositoryPrivileges
oUseDesigner
oBrowseRepository
oCreateSessionandBatches
ExtendedRepositoryPrivileges
oSessionOperator
oAdministerRepository
oAdministerServer
oSuperUser
Q:Howmanydifferentlocksareavailableforrepositoryobjects
A:Therearefivekindsoflocksavailableonrepositoryobjects:
Readlock.Createdwhenyouopenarepositoryobjectinafolderforwhichyoudonothavewritepermission.Alsocreated
whenyouopenanobjectwithanexistingwritelock.
Writelock.Createdwhenyoucreateoreditarepositoryobjectinafolderforwhichyouhavewritepermission.
Executelock.Createdwhenyoustartasessionorbatch,orwhentheInformaticaServerstartsascheduledsessionorbatch.
Fetchlock.Createdwhentherepositoryreadsinformationaboutrepositoryobjectsfromthedatabase.
Savelock.Createdwhenyousaveinformationtotherepository.
Q:WhatisSessionProcess?
A:TheLoadManagerprocess.Startsthesession,createstheDTMprocess,andsendspostsessionemailwhenthesession
completes.
Q:WhatisDTMprocess?
A:TheDTMprocesscreatesthreadstoinitializethesession,read,write,transformdata,andhandlepreandpostsession
operations.
Q:WhentheInformaticaServerrunsasession,whatarethetaskshandled?
A:
LoadManager(LM):
oLMlocksthesessionandreadssessionproperties.
oLMreadstheparameterfile.
oLMexpandstheserverandsessionvariablesandparameters.
oLMverifiespermissionsandprivileges.
oLMvalidatessourceandtargetcodepages.
oLMcreatesthesessionlogfile.
oLMcreatestheDTM(DataTransformationManager)process.
DataTransformationManager(DTM):
oDTMprocessallocatesDTMprocessmemory.
oDTMinitializesthesessionandfetchesthemapping.
oDTMexecutespresessioncommandsandprocedures.
oDTMcreatesreader,transformation,andwriterthreadsforeachsourcepipeline.Ifthepipelineispartitioned,it
createsasetofthreadsforeachpartition.
oDTMexecutespostsessioncommandsandprocedures.
oDTMwriteshistoricalincrementalaggregationandlookupdatatodisk,anditwritespersistedsequencevaluesand
mappingvariablestotherepository.
oLoadManagersendspostsessionemail
Q:WhatisCodePage?
A:Acodepagecontainstheencodingtospecifycharactersinasetofoneormorelanguages.
Q:Howtohandletheperformanceintheserverside?
A:Informaticatoolhasnoroletoplayhere.Theserveradministratorwilltakeuptheissue.
http://shaninformatica.blogspot.com/
56/71
12/23/2015
InformaticaQuestionAnswer
Q:WhataretheDTM(DataTransformationManager)Parameters?
A:
DTMMemoryparameterDefaultbufferblocksize/Data&IndexCachesize,
ReaderParameterLineSequentialbufferlengthforflatfiles,
GeneralParameterCommitInterval(sourceandTarget)/OthersEnablingLookupcache,
EventbasedSchedulingIndicatorfiletowaitfor.
1.Explainaboutyourprojects
Architecture
DimensionandFacttables
SourcesandTargets
Transformationsused
Frequencyofpopulatingdata
Databasesize
2.Whatisdimensionmodeling?
UnlikeERmodelthedimensionalmodelisveryasymmetricwithonelargecentraltablecalledasfacttableconnectedto
multipledimensiontables.Itisalsocalledstarschema.
3.Whataremapplets?
Mappletsarereusableobjectsthatrepresentscollectionoftransformations
Transformationsnottobeincludedinmappletsare
Cobolsourcedefinitions
Joinertransformations
NormalizerTransformations
Nonreusablesequencegeneratortransformations
Preorpostsessionprocedures
Targetdefinitions
XMLSourcedefinitions
IBMMQsourcedefinitions
Powermart3.5styleLookupfunctions
4.Whatarethetransformationsthatusecacheforperformance?
Aggregator,Lookups,JoinerandRanker
5.Whattheactiveandpassivetransformations?
Anactivetransformationchangesthenumberofrowsthatpassthroughthemapping.
1.SourceQualifier
2.Filtertransformation
3.Routertransformation
4.Ranker
5.Updatestrategy
6.Aggregator
7.AdvancedExternalprocedure
8.Normalizer
9.Joiner
Passivetransformationsdonotchangethenumberofrowsthatpassthroughthemapping.
1.Expressions
2.Lookup
3.Storedprocedure
4.Externalprocedure
5.Sequencegenerator
6.XMLSourcequalifier
6.Whatisalookuptransformation?
Usedtolookupdatainarelationaltable,views,orsynonym,Theinformaticaserverqueriesthelookuptablebasedonthe
lookupportsinthetransformation.Itcompareslookuptransformationportvaluestolookuptablecolumnvaluesbasedonthe
lookupcondition.Theresultispassedtoothertransformationsandthetarget.
Usedto:
Getrelatedvalue
Performacalculation
Updateslowlychangingdimensiontables.
Diffbetweenconnectedandunconnectedlookups.Whichisbetter?
Connected:
Receivedinputvaluesdirectlyfromthepipeline
CanuseDynamicorstaticcache.
Cacheincludesalllookupcolumnsusedinthemapping
Canreturnmultiplecolumnsfromthesamerow
Ifthereisnomatch,canreturndefaultvalues
Defaultvaluescanbespecified.
Unconnected:
ReceiveinputvaluesfromtheresultofaLKPexpressioninanothertransformation.
Onlystaticcachecanbeused.
http://shaninformatica.blogspot.com/
57/71
12/23/2015
InformaticaQuestionAnswer
Cacheincludesalllookup/outputportsinthelookupconditionandlookuporreturnport.
Canreturnonlyonecolumnfromeachrow.
Ifthereisnomatchitreturnsnull.
Defaultvaluescannotbespecified.
Explainvariouscaches:
Static:
Cachesthelookuptablebeforeexecutingthetransformation.Rowsarenotaddeddynamically.
Dynamic:
Cachestherowsasandwhenitispassed.
Unshared:
Withinthemappingifthelookuptableisusedinmorethanonetransformationthenthecachebuiltforthefirstlookupcanbe
usedfortheothers.Itcannotbeusedacrossmappings.
Shared:
Ifthelookuptableisusedinmorethanonetransformation/mappingthenthecachebuiltforthefirstlookupcanbeusedfor
theothers.Itcanbeusedacrossmappings.
Persistent:
IfthecachegeneratedforaLookupneedstobepreservedforsubsequentusethenpersistentcacheisused.Itwillnotdelete
theindexanddatafiles.Itisusefulonlyifthelookuptableremainsconstant.
Whataretheusesofindexanddatacaches?
Theconditionsarestoredinindexcacheandrecordsfromthelookuparestoredindatacache
7.Explainaggregatetransformation?
Theaggregatetransformationallowsyoutoperformaggregatecalculations,suchasaverages,sum,max,minetc.The
aggregatetransformationisunliketheExpressiontransformation,inthatyoucanusetheaggregatortransformationto
performcalculationsingroups.Theexpressiontransformationpermitsyoutoperformcalculationsonarowbyrowbasisonly.
Performanceissues?
TheInformaticaserverperformscalculationsasitreadsandstoresnecessarydatagroupandrowdatainanaggregatecache.
CreateSortedinputportsandpasstheinputrecordstoaggregatorinsortedformsbygroupsthenbyport
Incrementalaggregation?
IntheSessionpropertytagthereisanoptionforperformingincrementalaggregation.WhentheInformaticaserverperforms
incrementalaggregation,itpassesnewsourcedatathroughthemappinganduseshistoricalcache(indexanddatacache)data
toperformnewaggregationcalculationsincrementally.
Whataretheusesofindexanddatacache?
ThegroupdataisstoredinindexfilesandRowdatastoredindatafiles.
8.Explainupdatestrategy?
Updatestrategydefinesthesourcestobeflaggedforinsert,update,delete,andrejectatthetargets.
Whatareupdatestrategyconstants?
DD_INSERT,0DD_UPDATE,1DD_DELETE,2DD_REJECT,3
IfDD_UPDATEisdefinedinupdatestrategyandTreatsourcerowsasINSERTinSession.Whathappens?
Hints:IfinSessionanythingotherthanDATADRIVENismentionsthenUpdatestrategyinthemappingisignored.
Whatarethethreeareaswheretherowscanbeflaggedforparticulartreatment?
Inmapping,InSessiontreatSourceRowsandInSessionTargetOptions.
WhatistheuseofForward/RejectrowsinMapping?
9.Explaintheexpressiontransformation?
Expressiontransformationisusedtocalculatevaluesinasinglerowbeforewritingtothetarget.
Whatarethedefaultvaluesforvariables?
Hints:Straing=Null,Number=0,Date=1/1/1753
10.DifferencebetweenRouterandfiltertransformation?
Infiltertransformationtherecordsarefilteredbasedontheconditionandrejectedrowsarediscarded.InRouterthemultiple
conditionsareplacedandtherejectedrowscanbeassignedtoaport.
Howmanywaysyoucanfiltertherecords?
1.SourceQualifier
2.Filtertransformation
3.Routertransformation
4.Ranker
5.Updatestrategy
.
11.Howdoyoucallstoredprocedureandexternalproceduretransformation?
ExternalProcedurecanbecalledinthePresessionandpostsessiontagintheSessionpropertysheet.
Storeproceduresaretobecalledinthemappingdesignerbythreemethods
1.SelecttheiconandaddaStoredproceduretransformation
2.SelecttransformationImportStoredProcedure
3.SelectTransformationCreateandthenselectstoredprocedure.
12.ExplainJoinertransformationandwhereitisused?
WhileaSourcequalifiertransformationcanjoindataoriginatingfromacommonsourcedatabase,thejoinertransformation
http://shaninformatica.blogspot.com/
58/71
12/23/2015
InformaticaQuestionAnswer
joinstworelatedheterogeneoussourcesresidingindifferentlocationsorfilesystems.
Tworelationaltablesexistinginseparatedatabases
Twoflatfilesindifferentfilesystems.
TwodifferentODBCsources
Inonetransformationhowmanysourcescanbecoupled?
Twosourcescanbecouples.IfmorethantwoistobecouplesaddanotherJoinerinthehierarchy.
Whatarejoinoptions?
Normal(Default)
MasterOuter
DetailOuter
FullOuter
13.ExplainNormalizertransformation?
ThenormalisertransformationnormalisesrecordsfromCOBOLandrelationalsources,allowingyoutoorganisethedata
accordingtoyourownneeds.ANormalisertransformationcanappearanywhereinadataflowwhenyounormalizea
relationalsource.UseaNormalisertransformationinsteadoftheSourceQualifiertransformationwhenyounormalizeCOBOL
source.WhenyoudragaCOBOLsourceintotheMappingDesignerWorkspace,theNormalisertransformationappears,
creatinginputandoutputportsforeverycolumnsinthesource.
14.WhatisSourcequalifiertransformation?
Whenyouaddrelationalorflatfilesourcedefinitiontoamapping,youneedtoconnecttoasourceQualifiertransformation.
Thesourcequalifierrepresentstherecordsthattheinformaticaserverreadswhenitrunsasession.
JoinDataoriginatingfromthesamesourcedatabase.
FilterrecordswhentheInformaticaserverreadsthesourcedata.
Specifyanouterjoinratherthanthedefaultinnerjoin.
Specifysortedports
Selectonlydistinctvaluesfromthesource
CreateacustomquerytoissueaspecialSELECTstatementfortheInformaticaservertoreadthesourcedata.
15.WhatisRankertransformation?
Filterstherequirednumberofrecordsfromthetoporfromthebottom.
16.Whatistargetloadoption?
Itdefinestheorderinwhichinformaticaserverloadsthedataintothetargets.
Thisistoavoidintegrityconstraintviolations
17.HowdoyouidentifythebottlenecksinMappings?
Bottleneckscanoccurin
1.Targets
Themostcommonperformancebottleneckoccurswhentheinformaticaserverwritestoatarget
database.Youcanidentifytargetbottleneckbyconfiguringthesessiontowritetoaflatfiletarget.
Ifthesessionperformanceincreasessignificantlywhenyouwritetoaflatfile,youhaveatarget
bottleneck.
Solution:
DroporDisableindexorconstraints
Performbulkload(IgnoresDatabaselog)
Increasecommitinterval(Recoveryiscompromised)
TunethedatabaseforRBS,DynamicExtensionetc.,
2.Sources
SetafiltertransformationaftereachSQandseetherecordsarenotthrough.
Ifthetimetakenissamethenthereisaproblem.
YoucanalsoidentifytheSourceproblemby
ReadTestSessionwherewecopythemappingwithsources,SQandremovealltransformations
andconnecttofiletarget.IftheperformanceissamethenthereisaSourcebottleneck.
UsingdatabasequeryCopythereadquerydirectlyfromthelog.Executethequeryagainstthe
sourcedatabasewithaquerytool.Ifthetimeittakestoexecutethequeryandthetimetofetch
thefirstrowaresignificantlydifferent,thenthequerycanbemodifiedusingoptimizerhints.
Solutions:
OptimizeQueriesusinghints.
Useindexeswhereverpossible.
3.Mapping
IfbothSourceandtargetareOKthenproblemcouldbeinmapping.
Addafiltertransformationbeforetargetandifthetimeisthesamethenthereisaproblem.
(OR)LookfortheperformancemonitorintheSessionspropertysheetandviewthecounters.
Solutions:
IfHigherrorrowsandrowsinlookupcacheindicateamappingbottleneck.
OptimizeSinglePassReading:
OptimizeLookuptransformation:
1.Cachingthelookuptable:
Whencachingisenabledtheinformaticaservercachesthelookuptableandqueriesthe
cacheduringthesession.Whenthisoptionisnotenabledtheserverqueriesthelookup
tableonarowbyrowbasis.
http://shaninformatica.blogspot.com/
59/71
12/23/2015
InformaticaQuestionAnswer
Static,Dynamic,Shared,UnsharedandPersistentcache
2.Optimizingthelookupcondition
Whenevermultipleconditionsareplaced,theconditionwithequalitysignshouldtake
precedence.
3.Indexingthelookuptable
Thecachedlookuptableshouldbeindexedonorderbycolumns.Thesessionlogcontains
theORDERBYstatement
TheuncachedlookupsincetheserverissuesaSELECTstatementforeachrowpassing
intolookuptransformation,itisbettertoindexthelookuptableonthecolumnsinthe
condition
OptimizeFiltertransformation:
Youcanimprovetheefficiencybyfilteringearlyinthedataflow.Insteadofusingafilter
transformationhalfwaythroughthemappingtoremoveasizableamountofdata.
Useasourcequalifierfiltertoremovethosesamerowsatthesource,
IfnotpossibletomovethefilterintoSQ,movethefiltertransformationasclosetothe
source
qualifieraspossibletoremoveunnecessarydataearlyinthedataflow.
OptimizeAggregatetransformation:
1.Groupbysimplercolumns.Preferablynumericcolumns.
2.UseSortedinput.Thesortedinputdecreasestheuseofaggregatecaches.Theserver
assumesallinputdataaresortedandasitreadsitperformsaggregatecalculations.
3.Useincrementalaggregationinsessionpropertysheet.
OptimizeSeq.Generatortransformation:
1.TrycreatingareusableSeq.Generatortransformationanduseitinmultiplemappings
2.Thenumberofcachedvaluepropertydeterminesthenumberofvaluestheinformatica
servercachesatonetime.
OptimizeExpressiontransformation:
1.Factoringoutcommonlogic
2.Minimizeaggregatefunctioncalls.
3.Replacecommonsubexpressionswithlocalvariables.
4.Useoperatorsinsteadoffunctions.
4.Sessions
Ifyoudonothaveasource,target,ormappingbottleneck,youmayhaveasessionbottleneck.
Youcanidentifyasessionbottleneckbyusingtheperformancedetails.Theinformaticaserver
createsperformancedetailswhenyouenableCollectPerformanceDataontheGeneralTabof
thesessionproperties.
PerformancedetailsdisplayinformationabouteachSourceQualifier,targetdefinitions,and
individualtransformation.Alltransformationshavesomebasiccountersthatindicatethe
Numberofinputrows,outputrows,anderrorrows.
AnyvalueotherthanzerointhereadfromdiskandwritetodiskcountersforAggregate,Joiner,
orRanktransformationsindicateasessionbottleneck.
LowbufferInput_efficiencyandBufferOutput_efficiencycounteralsoindicateasession
bottleneck.
Smallcachesize,lowbuffermemory,andsmallcommitintervalscancausesessionbottlenecks.
5.System(Networks)
18.HowtoimprovetheSessionperformance?
1Runconcurrentsessions
2Partitionsession(Powercenter)
3.TuneParameterDTMbufferpool,Bufferblocksize,Indexcachesize,datacachesize,CommitInterval,Tracinglevel
(Normal,Terse,VerboseInit,VerboseData)
Thesessionhasmemorytohold83sourcesandtargets.Ifitismore,thenDTMcanbeincreased.
TheinformaticaserverusestheindexanddatacachesforAggregate,Rank,LookupandJoiner
transformation.Theserverstoresthetransformeddatafromtheabovetransformationinthedata
cachebeforereturningittothedataflow.Itstoresgroupinformationforthosetransformationsin
indexcache.
Iftheallocateddataorindexcacheisnotlargeenoughtostorethedate,theserverstoresthedata
inatemporarydiskfileasitprocessesthesessiondata.Eachtimetheserverpagestothediskthe
performanceslows.Thiscanbeseenfromthecounters.
Sincegenerallydatacacheislargerthantheindexcache,ithastobemorethantheindex.
4.RemoveStagingarea
5.TuneoffSessionrecovery
6.Reduceerrortracing
19.Whataretracinglevels?
Normaldefault
Logsinitializationandstatusinformation,errorsencountered,skippedrowsduetotransformationerrors,summarizessession
resultsbutnotattherowlevel.
Terse
Loginitialization,errormessages,notificationofrejecteddata.
VerboseInit.
Inadditiontonormaltracinglevels,italsologsadditionalinitializationinformation,namesofindexanddatafilesusedand
detailedtransformationstatistics.
VerboseData.
InadditiontoVerboseinit,Itrecordsrowlevellogs.
http://shaninformatica.blogspot.com/
60/71
12/23/2015
InformaticaQuestionAnswer
20.WhatisSlowlychangingdimensions?
Slowlychangingdimensionsaredimensiontablesthathaveslowlyincreasingdataaswellasupdatestoexistingdata.
21.Whataremappingparametersandvariables?
Amappingparameterisauserdefinableconstantthattakesupavaluebeforerunningasession.ItcanbeusedinSQ
expressions,Expressiontransformationetc.
Steps:
Definetheparameterinthemappingdesignerparameter&variables.
UsetheparameterintheExpressions.
Definethevaluesfortheparameterintheparameterfile.
Amappingvariableisalsodefinedsimilartotheparameterexceptthatthevalueofthevariableissubjectedtochange.
Itpicksupthevalueinthefollowingorder.
1.FromtheSessionparameterfile
2.Asstoredintherepositoryobjectinthepreviousrun.
3.Asdefinedintheinitialvaluesinthedesigner.
4.Defaultvalues
Q.WhataretheoutputfilesthattheInformaticaservercreatesduringthesessionrunning?
Informaticaserverlog:Informaticaserver(onUNIX)createsalogforallstatusanderrormessages(defaultname:pm.server.log).It
alsocreatesanerrorlogforerrormessages.ThesefileswillbecreatedinInformaticahomedirectory
Sessionlogfile:Informaticaservercreatessessionlogfileforeachsession.Itwritesinformationaboutsessionintologfilessuchas
initializationprocess,creationofsqlcommandsforreaderandwriterthreads,errorsencounteredandloadsummary.Theamount
ofdetailinsessionlogfiledependsonthetracinglevelthatyouset.
Sessiondetailfile:Thisfilecontainsloadstatisticsforeachtargetinmapping.Sessiondetailincludesinformationsuchastable
name,numberofrowswrittenorrejected.Youcanviewthisfilebydoubleclickingonthesessioninmonitorwindow.
Performancedetailfile:Thisfilecontainsinformationknownassessionperformancedetailswhichhelpsyouwhereperformance
canbeimproved.Togeneratethisfileselecttheperformancedetailoptioninthesessionpropertysheet.
Rejectfile:Thisfilecontainstherowsofdatathatthewriterdoesnotwritetotargets.
Controlfile:Informaticaservercreatescontrolfileandatargetfilewhenyourunasessionthatusestheexternalloader.The
controlfilecontainstheinformationaboutthetargetflatfilesuchasdataformatandloadinginstructionsfortheexternalloader.
Postsessionemail:Postsessionemailallowsyoutoautomaticallycommunicateinformationaboutasessionruntodesignated
recipients.Youcancreatetwodifferentmessages.Oneifthesessioncompletedsuccessfullytheotherifthesessionfails.
Indicatorfile:Ifyouusetheflatfileasatarget,youcanconfiguretheInformaticaservertocreateindicatorfile.Foreachtarget
row,theindicatorfilecontainsanumbertoindicatewhethertherowwasmarkedforinsert,update,deleteorreject.
Outputfile:Ifsessionwritestoatargetfile,theInformaticaservercreatesthetargetfilebasedonfilepropertiesenteredinthe
sessionpropertysheet.
Cachefiles:WhentheInformaticaservercreatesmemorycacheitalsocreatescachefiles.
ForthefollowingcircumstancesInformaticaservercreatesindexanddatacachefiles:
Aggregatortransformation
Joinertransformation
Ranktransformation
Lookuptransformation
Q.Whatisthedifferencebetweenjoinertransformationandsourcequalifiertransformation?
A.Youcanjoinheterogeneousdatasourcesinjoinertransformationwhichwecannotdoinsourcequalifiertransformation.
Q.Whatismeantbylookupcaches?
A.TheInformaticaserverbuildsacacheinmemorywhenitprocessesthefirstrowofadatainacachedlookuptransformation.It
allocatesmemoryforthecachebasedontheamountyouconfigureinthetransformationorsessionproperties.TheInformatica
serverstoresconditionvaluesintheindexcacheandoutputvaluesinthedatacache.
Q.WhatismeantbyparametersandvariablesinInformaticaandhowitisused?
A.Parameter:Amappingparameterrepresentsaconstantvaluethatyoucandefinebeforerunningasession.Amapping
parameterretainsthesamevaluethroughouttheentiresession.
Variable:Amappingvariablerepresentsavaluethatcanchangethroughthesession.InformaticaServersavesthevalueofa
mappingvariabletotherepositoryattheendofeachsuccessfulsessionrunandusesthatvaluethenexttimeyourunthesession
Q.Whatistargetloadorder?
Youspecifythetargetloadorderbasedonsourcequalifiersinamapping.Ifyouhavemultiplesourcequalifiersconnectedto
multipletargets,youcandefinetheorderinwhichInformaticaserverloadsdataintothetargets
nformaticaisaleadingdataintegrationsoftware.Theproductsofthecompanysupportvariousenterprisewidedata
integrationanddataqualitysolutionsincludingdatawarehousing,datamigration,dataconsolidation,data
synchronization,datagovernance,masterdatamanagement,andcrossenterprisedataintegration.
TheimportantInformaticaComponentsare:
PowerExchange
PowerCenter
PowerCenterConnect
PowerExchange
PowerChannel
MetadataExchange
PowerAnalyzer
http://shaninformatica.blogspot.com/
61/71
12/23/2015
InformaticaQuestionAnswer
SuperGlue
Thissectionwillcontainsomeusefultipsandtricksforoptimizinginformaticaperformance.Thisincludessomeofthe
realtimeproblemsorerrorsandwaytotroubleshootthem,bestprcaticesetc.
Q1:IntroduceYourself.[]
Re:Whatisincrementalaggregationandhowitisdone?
Answer
#4
[http://www.allinterview.com/viewpost/261896.html]
Whenusingincrementalaggregation,youapplycaptured
changesinthesourcetoaggregatecalculationsina
session.Ifthesourcechangesonlyincrementallyandyou
cancapturechanges,youcanconfigurethesessionto
processonlythosechanges.ThisallowstheInformatica
Servertoupdateyourtargetincrementally,ratherthan
forcingittoprocesstheentiresourceandrecalculatethe
samecalculationseachtimeyourunthesession.
Q2:Whatisdatawarehousing?
acollectionofdata[http://www.webopedia.com/TERM/D/data.html] designedtosupportmanagementdecisionmaking.Data
warehousescontainawidevarietyofdatathatpresentacoherentpictureofbusinessconditionsatasinglepointintime.
Developmentofadatawarehouseincludesdevelopmentofsystemstoextractdatafromoperatingsystemsplus
installationofawarehousedatabasesystem[http://www.webopedia.com/TERM/D/database_management_system_DBMS.html]
thatprovidesmanagersflexibleaccesstothedata.
Thetermdatawarehousinggenerallyreferstothecombinationofmanydifferentdatabasesacrossanentireenterprise.
Contrastwithdatamart[http://www.webopedia.com/TERM/D/data_mart.html] .
Q3:Whatistheneedofdatawarehousing?
Q4:Diffb/wOLTP&OlAP
OLTP
Currentdata
Shortdatabasetransactions
Onlineupdate/insert/delete
Normalizationispromoted
Highvolumetransactions
Transactionrecoveryisnecessary
OLAP
Currentandhistoricaldata
Longdatabasetransactions
Batchupdate/insert/delete
Denormalizationispromoted
Lowvolumetransactions
Transactionrecoveryisnotnecessary
Q5:WhydoweuseOLTP&OLAP
Q6:Howtohandledecimalininformaticawhileusingflatfies?
whileimportingflatfiledefinetionjustspecifythescaleforaneumaricdatatype.inthemapping,theflatfilesourcesupportsonly
numberdatatype(nodecimalandinteger).IntheSQassociatedwiththatsourcewillhaveadatatypeasdecimalforthatnumber
portofthesource.
Q7:Whydoweuseupdatestratgey?
SeessionPropertieslikepreSouurceRows
INSERT,UPDATE,REJECT,DELETE,,
UsingSessionPropertiesWecandosingleflowonly.
SCDaplicableforInsert,Update,,atatimeusingUpdate
Strategytransonly.
http://shaninformatica.blogspot.com/
62/71
12/23/2015
InformaticaQuestionAnswer
UsingUpdateTranswecancreatSCDmappingeasily.
Actuallyitsimportanttouseaupdatestrategy
transofmrationintheSCD'sasSCDsmaintainsomehistorical
dataspeciallytype2dimensions.Inthiscasewemayneed
toflagrowsfromthesametargetfordifferentdatabase
operations.Hencewehavenochoicebuttouseupdate
strategyasatsessionlevelthiswillnotbepossible.
Q8:Canweuseupdatestrategyinflatfiles?
Datainflatfilecannotbeupdated
Q9:Ifyeswhy?Ifnotwhy?
Q10:Whatisjunkdimension?
A junk dimension is a collection of random transactional codes or text attributes that are unrelated to any particular dimension.
The junk dimension is simply a structure that provides a convenient place to store the junk attributes.
Q11Diffbetweeniifanddecode?
YoucanusenestedIIFstatementstotestmultipleconditions.Thefollowingexampletestsforvariousconditions
andreturns0ifsalesiszeroornegative:
IIF(SALES>0IIF(SALES<50SALARY1IIF(SALES<100SALARY2IIF(SALES<200SALARY3BONUS)))0)
YoucanuseDECODE[http://www.geekinterview.com/question_details/20702] insteadofIIFinmanycases.DECODEmayimprove
readability.ThefollowingshowshowyoucanuseDECODEinsteadofIIF:
SALES>0andSALES<50SALARY1
SALES>49ANDSALES<100SALARY2
[] SALES>99ANDSALES<200SALARY3
Q12Diffb/wcorelatedsubqueryandnestedsubquery
Correlatedsubqueryrunsonceforeachrowselectedbytheouterquery.Itcontainsareferencetoavaluefromtherow
selectedbytheouterquery.
Nestedsubqueryrunsonlyoncefortheentirenesting(outer)query.Itdoesnotcontainanyreferencetotheouterqueryrow.
Forexample
CorrelatedSubquery:
selecte1.empnamee1.basicsale1.deptnofromempe1wheree1.basicsal(selectmax(basicsal)fromempe2wheree2.deptno
e1.deptno)
NestedSubquery:
selectempnamebasicsaldeptnofromempwhere(deptnobasicsal)in(selectdeptnomax(basicsal)fromempgroupbydeptno)
Q13:WhatisUnion?
TheUnion transformationisamultipleinputgrouptransformationthatyouusetomergedatafrommultiplepipelinesor
pipelinebranchesintoonepipelinebranch.ItmergesdatafrommultiplesourcessimilartotheUNIONALLSQLstatementto
combinetheresultsfromtwoormoreSQLstatements.SimilartotheUNIONALLstatementthe
Union transformation doesnotremoveduplicaterows.
TheIntegration Serviceprocessesallinputgroupsinparallel.TheIntegrationServiceconcurrentlyreadssourcesconnected
totheUnion transformation andpushesblocksofdataintotheinputgroupsofthetransformation.The
Union transformation processestheblocksofdatabasedontheorderitreceivestheblocksfromtheIntegrationService.
YoucanconnectheterogeneoussourcestoaUnion transformation.TheUnion transformation mergessourceswithmatching
portsandoutputsthedatafromoneoutputgroupwiththesameportsastheinputgroups.
Q14:Howtouseunion?
whatisthedifferencebetweenstarschemaandSnowflakeSchema
StarSchema:StarSchemaisarelationaldatabaseschemaforrepresentingmultimensionaldata.Itisthe
simplestformofdatawarehouseschemathatcontainsoneormoredimensionsandfacttables.Itiscalledastar
schemabecausetheentityrelationshipdiagrambetweendimensionsandfacttablesresemblesastarwhereonefacttableis
connectedtomultipledimensions.Thecenterofthestarschemaconsistsofalargefacttableanditpointstowardsthe
dimensiontables.Theadvantageofstarschemaareslicingdownperformanceincreaseandeasyunderstandingof
data.
SnowflakeSchema:Asnowflakeschemaisatermthatdescribesastarschemastructurenormalizedthroughtheuseof
outriggertables.i.edimensiontablehierachiesarebrokenintosimplertables.
http://shaninformatica.blogspot.com/
63/71
12/23/2015
InformaticaQuestionAnswer
Inastarschemaeverydimensionwillhaveaprimarykey.
In a star schema a dimension table will not have any parent table.
Whereas in a snow flake schema a dimension table will have one or more parent tables.
Hierarchies for the dimensions are stored in the dimensional table itself in star schema.
Whereas hierachies are broken into separate tables in snow flake schema. These hierachies helps todrill downthe datafrom
topmost hierachies to the lowermost hierarchies.
Q15:Howmanydatasourcesareavailable?
Q16:Whatisscd:
scdslowlychangingdimension
Itisthecapturingtheslowlychangingdatawhichchanges
veryslowlywithrespecttothetime.forexample:the
addressofacustumermaychangeinrarecase.theaddress
ofacustumerneverchangesfrequently.
thereare3typesofscd.type1herethemostrecent
changeddataisstored
type2heretherecentdataaswellasallpastdata
(historicaldata)isstored
trpe3herepartiallyhistoricaldataandrecentdataare
stored.itmeanitstoresmostrecentupdateandmostrecent
history.
Asdatawarehouseisahistoricaldata,sotype2ismore
usefullforit.
Q17:Typesofscd
Q18:Howcanweimprovethesessionperformance?
Re:Howtheinformaticaserverincreasesthesessionperformancethroughpartitioningthesource?
Answer
#1
[http://allinterview.com/viewpost/10395.html]
Forarelationalsourcesinformaticaservercreatesmultiple
connectionsforeachparttionofasinglesourceand
extractsseperaterangeofdataforeachconnection.
Informaticaserverreadsmultiplepartitionsofasingle
sourceconcurently.Similarlyforloadingalsoinformatica
servercreatesmultipleconnectionstothetargetandloads
partitionsofdataconcurently.
ForXMLandfilesources,informaticaserverreadsmultiple
filesconcurently.Forloadingthedatainformaticaserver
createsaseperatefileforeachpartition(ofasource
file).Ucanchoosetomergethetargets.
Q19:Whatdoyoumeanbyinformatica?
Q20:Diffb/wdimensionsandfacttable
DimensionTablefeatures
1.Itprovidesthecontext/descriptiveinformationforafacttablemeasurements.
http://shaninformatica.blogspot.com/
64/71
12/23/2015
InformaticaQuestionAnswer
2.Providesentrypointstodata.
3.StructureofDimensionSurrogatekeyoneormoreotherfieldsthatcomposethenaturalkey(nk)andsetofAttributes.
4.SizeofDimensionTableissmallerthanFactTable.
5.InaschemamorenumberofdimensionsarepresentedthanFactTable.
6.SurrogateKeyisusedtopreventtheprimarykey(pk)violation(storehistoricaldata).
7.Valuesoffieldsareinnumericandtextrepresentation.
FactTablefeatures
1.Itprovidesmeasurementofanenterprise.
2.Measurementistheamountdeterminedbyobservation.
3.StructureofFactTableforeignkey(fk)DegeneratedDimensionandMeasurements.
4.SizeofFactTableislargerthanDimensionTable.
5.InaschemalessnumberofFactTablesobservedcomparedtoDimensionTables.
6.ComposeofDegenerateDimensionfieldsactasPrimaryKey.
7.Valuesofthefieldsalwaysinnumericorintegerform.
PerformancetuninginInformatica?
The goal of performance tuning is optimize session performance so sessions run during the available load window for
theInformaticaServer.Increase the session performance by following.
The performance of theInformaticaServer is related to network connections. Data generally moves across a network at less than 1 MB
per second, whereas alocal diskmoves data five to twenty times faster. Thus network connections ofteny affect on session
performance.So aviod netwrok connections.
Flat files: If urflat filesstored on a machine other than the informatca server, move those files to the machine that consists
ofinformaticaserver.
Relational datasources: Minimize the connections to sources ,targets andinformaticaserver to
improve session performance.Moving target database into server system may improve session
performance.
Stagingareas: If u usestagingareas u forceinformaticaserver to perform multiple datapasses.
Removing ofstagingareas may improve session performance.
U can run the multipleinformaticaservers againist the same repository.Distibuting the session load to multipleinformaticaservers may
improve session performance.
Run theinformaticaserver in ASCII datamovement mode improves the session performance.Because ASCII datamovement mode stores a
character value in one byte.Unicode mode takes 2 bytes to store a character.
If a session joins multiple source tables inone SourceQualifier, optimizing the query may improve performance. Also, single table select
statements with an ORDER BY or GROUP BY clause may benefit from optimization such as adding indexes.
We can improve the session performance by configuring the network packet size,which allows
data to cross the network at one time.To do this go to server manger ,choose server configure database connections.
If u r target consists key constraints and indexes u slow the loading of data.To improve the session performance in this case drop
constraints and indexes before u run the session and rebuild them after completion of session.
Running a parallel sessions by using concurrent batches will also reduce the time of loading the
data.So concurent batches may also increase the session performance.
Partittionig the session improves the session performance by creating multiple connections to sources and targets and loads data in
paralel pipe lines.
In some cases if a session contains a aggregator transformation ,u can use incremental aggregation to improve session performance.
Aviod transformation errors to improve the session performance.
If the sessioin containd lookup transformation u can improve the session performance by enabling the look up cache.
If Ur session contains filter transformation ,create that filter transformation nearer to the sources
or u can use filter condition in source qualifier.
Aggreagator,Rank and joiner transformation may oftenly decrease the session performance .Because they must group data before
processing it.To improve session performance in this case use sorted ports option.
Youcanalsoperformthefollowingtaskstooptimizethemapping:
1. Configuresinglepassreading.
2. Optimizedatatypeconversions.
3. Eliminatetransformationerrors.
4. Optimizetransformations.
5. Optimizeexpressions.
RE:WhydidyouusestoredprocedureinyourETLAppli...
ClickHeretoviewcompletedocument
hi
http://shaninformatica.blogspot.com/
65/71
12/23/2015
InformaticaQuestionAnswer
usageofstoredprocedurehasthefollowingadvantages
1checksthestatusofthetargetdatabase
2dropsandrecreatesindexes
3determinesifenoughspaceexistsinthedatabase
4performsaspecilizedcalculation
=======================================
StoredprocedureinInformaticawillbeusefultoimposecomplexbusinessrules.
=======================================staticcache:
1.staticcacheremainssameduringthesessionrun
2.staticcanbeusedtorelationalandfaltfilelookup
types
3.staticcachecanbeusedtobothunconnectedand
connectedlookuptransformation
4.wecanhandlemultiplematchesinstaticcache
5.wecanuseotherthanrelationaloperatorslike<,>,<=,>=
&=
Dynamiccache:
1.dynamiccachechangesdurigsessionrun
2.dynamiccachecanbeusedtoonlyrelationallookuptypes
3.Dynamiccachecanbeusedtoonlyconnetcedlookups
4.wecannotmultiplematchesindynamiccache
5.wecanuseonly=operatorwithdynamiccache.
Q.Whatisthedifferencebetween$&$$inmappingorparameterfile?Inwhichcasestheyaregenerallyused?
A.$prefixesareusedtodenotesessionParameterandvariablesand$$prefixesareusedtodenotemapping
parametersandvariables.
howtoconnecttwoormoretablewithsinglesourcequalifier?
createaOraclesourcewithhowmuchevercolumnyouwant
andwritethejoinqueryinSQLqueryoverride.Butthe
columnorderanddatatypeshouldbesameasintheSQLquery.
Asetofworlflowtasksiscalledworklet
Workflowtasksmeans
1)timer2)decesion3)command4)eventwait5)eventrise6)mailetc......
Butwerusediffrentsituationsbyusingthisonly
=======================================
Workletisasetoftasks.Ifacertainsetoftaskhastobereusedinmanyworkflowsthenweuse
worklets.ToexecuteaWorkletithastobeplacedinsideaworkflow.
Theuseofworkletinaworkflowissimilartotheuseofmappletinamapping.
Workletisreusableworkflows.Itmightcontainmorethanontaskinit.Wecanusetheseworkletsin
otherworkflows
WhichwillbeterperformIIfordecode?
decodeisbetterperformthaniffcondtion,decodecanbe
http://shaninformatica.blogspot.com/
66/71
12/23/2015
InformaticaQuestionAnswer
uesdinstedofusingmultipleiffcases
DECODEFUNCTIONYOUCANFINDINSQLBUTIIFFUNCTIONISNOT
INSQL.DECODEFUNCTIONWILLGIVECLEARREADABILITYTO
UNDERSTANDTHELOGICTOOTHER.
Whatissourcequalifiertransformation?
SQisanactivetramsformation.Itperformsoneofthefollowingtask:tojoindatafromthesamesourcedatabaseto
filtrtherowswhenPowercentrereadssourcedatatoperformanouterjointoselectonlydistinctvaluesfromthe
source
Insourcequalifiertransformatioausercandefinedjoinconditons,filterthedataandeliminatingtheduplicates.The
defaultsourcequalifiercanoverwrittenbytheaboveoptions,thisisknownasSQLOverride.
Thesourcequalifierrepresentstherecordsthattheinformaticaserverreadswhenitrunsasession.
Whenweaddarelationaloraflatfilesourcedefinitiontoamapping,weneedtoconnectittoasourcequalifier
transformation.Thesourcequalifiertransformationrepresentstherecordsthattheinformaticaserverreadswhenit
runsasession.
Howmanydimensiontablesdidyouhadinyourprojectandnamesomedimensions(columns)?
ProductDimension:ProductKey,Productid,ProductType,Productname,BatchNumber.
DistributorDimension:Distributorkey,DistributorId,DistributorLocation,
CustomerDimension:CustomerKey,CustomerId,CName,Age,status,Address,Contact
AccountDimension:AccountKey,Acctid,accttype,Location,Balance,
Whatismeantbyclustering?
Itwilljointwo(ormore)tablesinsinglebuffer,willretrievethedataeasily.
Whataretherankcaches?
theinformaticaserverstoresgroupinformationinanindexcatcheandrowdataindatacatche
whentheserverrunsasessionwithaRanktransformation,itcomparesaninputrowwithrowswithrowsindatacache.Ifthe
inputrowoutranksastoredrow,theInformaticaserverreplacesthestoredrowwiththeinputrow.
Duringthesession,theinformaticaservercomparesaninoutrowwithrowsinthedatacache.Iftheinputrowoutranksastored
row,theinformaticaserverreplacesthestoredrowwiththeinputrow.Theinformaticaserverstoresgroupinformationinan
indexcacheandrowdatainadatacache.
Q.WhattypeofrepositoriescanbecreatedusingInformaticaRepositoryManager?
A.InformaticaPowerCenterincludedsfollowingtypeofrepositories:
StandaloneRepository:Arepositorythatfunctionsindividuallyandthisisunrelatedtoanyotherrepositories.
GlobalRepository:Thisisacentralizedrepositoryinadomain.Thisrepositorycancontainsharedobjectsacrosstherepositoriesin
adomain.Theobjectsaresharedthroughglobalshortcuts.
LocalRepository:Localrepositoryiswithinadomainanditsnotaglobalrepository.Localrepositorycanconnecttoaglobal
repositoryusingglobalshortcutsandcanuseobjectsinitssharedfolders.
VersionedRepository:Thiscaneitherbelocalorglobalrepositorybutitallowsversioncontrolfortherepository.Aversioned
repositorycanstoremultiplecopies,orversionsofanobject.Thisfeaturesallowstoefficientlydevelop,testanddeploymetadatain
theproductionenvironment.
Q.Whatisacodepage?[]
A.Acodepagecontainsencodingtospecifycharactersinasetofoneormorelanguages.Thecodepageisselectedbasedonsourceofthe
data.ForexampleifsourcecontainsJapanesetextthenthecodepageshouldbeselectedtosupportJapanesetext.
Whenacodepageischosen,theprogramorapplicationforwhichthecodepageisset,referstoaspecificsetofdatathatdescribesthe
characterstheapplicationrecognizes.Thisinfluencesthewaythatapplicationstores,receives,andsendscharacterdata.
Q.WhichalldatabasesPowerCenterServeronWindowscanconnectto?[]
A.PowerCenterServeronWindowscanconnecttofollowingdatabases:
IBMDB2
Informix
MicrosoftAccess
MicrosoftExcel
MicrosoftSQLServer
Oracle
Sybase
Teradata
Q.WhichalldatabasesPowerCenterServeronUNIXcanconnectto?[]
A.PowerCenterServeronUNIXcanconnecttofollowingdatabases:
IBMDB2
Informix
Oracle
Sybase
http://shaninformatica.blogspot.com/
67/71
12/23/2015
InformaticaQuestionAnswer
Teradata
InfomraticaMappingDesigner
Q.HowtoexecutePL/SQLscriptfromInformaticamapping?[]
A.StoredProcedure(SP)transformationcanbeusedtoexecutePL/SQLScripts.InSPTransformationPL/SQLprocedurenamecanbe
specified.Wheneverthesessionisexecuted,thesessionwillcallthepl/sqlprocedure.
Q.Howcanyoudefineatransformation?WhataredifferenttypesoftransformationsavailableinInformatica?[]
A.Atransformationisarepositoryobjectthatgenerates,modifies,orpassesdata.TheDesignerprovidesasetoftransformationsthat
performspecificfunctions.Forexample,anAggregatortransformationperformscalculationsongroupsofdata.Belowarethevarious
transformationsavailableinInformatica:
Aggregator
ApplicationSourceQualifier
Custom
Expression
ExternalProcedure
Filter
Input
Joiner
Lookup
Normalizer
Output
Rank
Router
SequenceGenerator
Sorter
SourceQualifier
StoredProcedure
TransactionControl
Union
UpdateStrategy
XMLGenerator
XMLParser
XMLSourceQualifier
Q.Whatisasourcequalifier?WhatismeantbyQueryOverride?[]
A.SourceQualifierrepresentstherowsthatthePowerCenterServerreadsfromarelationalorflatfilesourcewhenitrunsasession.When
arelationaloraflatfilesourcedefinitionisaddedtoamapping,itisconnectedtoaSourceQualifiertransformation.
PowerCenterServergeneratesaqueryforeachSourceQualifierTransformationwheneveritrunsthesession.ThedefaultqueryisSELET
statementcontainingallthesourcecolumns.SourceQualifierhascapabilitytooverridethisdefaultquerybychangingthedefaultsettings
ofthetransformationproperties.Thelistofselectedportsortheordertheyappearinthedefaultqueryshouldnotbechangedinoverridden
query.
Q.Whatisaggregatortransformation?[]
A.TheAggregatortransformationallowsperformingaggregatecalculations,suchasaveragesandsums.UnlikeExpression
Transformation,theAggregatortransformationcanonlybeusedtoperformcalculationsongroups.TheExpressiontransformationpermits
calculationsonarowbyrowbasisonly.
AggregatorTransformationcontainsgroupbyportsthatindicatehowtogroupthedata.Whilegroupingthedata,theaggregator
transformationoutputsthelastrowofeachgroupunlessotherwisespecifiedinthetransformationproperties.
VariousgroupbyfunctionsavailableinInformaticaare:AVG,COUNT,FIRST,LAST,MAX,MEDIAN,MIN,PERCENTILE,STDDEV,
SUM,VARIANCE.
Q.WhatisIncrementalAggregation?[]
A.WheneverasessioniscreatedforamappingAggregateTransformation,thesessionoptionforIncrementalAggregationcanbeenabled.
WhenPowerCenterperformsincrementalaggregation,itpassesnewsourcedatathroughthemappinganduseshistoricalcachedatato
performnewaggregationcalculationsincrementally.
Q.HowUnionTransformationisused?[]
A.Theuniontransformationisamultipleinputgrouptransformationthatcanbeusedtomergedatafromvarioussources(orpipelines).
ThistransformationworksjustlikeUNIONALLstatementinSQL,thatisusedtocombineresultsetoftwoSELECTstatements.
Q.CantwoflatfilesbejoinedwithJoinerTransformation?[]
A.Yes,joinertransformationcanbeusedtojoindatafromtwoflatfilesources.
Q.Whatisalookuptransformation?[]
A.Thistransformationisusedtolookupdatainaflatfileorarelationaltable,vieworsynonym.Itcompareslookuptransformationports
(inputports)tothesourcecolumnvaluesbasedonthelookupcondition.Laterreturnedvaluescanbepassedtoothertransformations.
Q.CanalookupbedoneonFlatFiles?[]
A.Yes.
Q.Whatisthedifferencebetweenaconnectedlookupandunconnectedlookup?[]
A.Connectedlookuptakesinputvaluesdirectlyfromothertransformationsinthepipleline.
Unconnectedlookupdoesnttakeinputsdirectlyfromanyothertransformation,butitcanbeusedinanytransformation(likeexpression)
andcanbeinvokedasafunctionusing:LKPexpression.So,anunconnectedlookupcanbecalledmultipletimesinamapping.
Q.Whatisamapplet?[]
A.Amappletisareusableobjectthatiscreatedusingmappletdesigner.Themappletcontainssetoftransformationsanditallowsusto
reusethattransformationlogicinmultiplemappings.
Q.Whatdoesreusabletransformationmean?[]
A.Reusabletransformationscanbeusedmultipletimesinamapping.Thereusabletransformationisstoredasametadataseparatefrom
anyothermappingthatusesthetransformation.Wheneveranychangestoareusabletransformationaremade,allthemappingswherethe
transformationisusedwillbeinvalidated.
Q.Whatisupdatestrategyandwhataretheoptionsforupdatestrategy?[]
A.Informaticaprocessesthesourcedatarowbyrow.Bydefaulteveryrowismarkedtobeinsertedinthetargettable.Iftherowhastobe
http://shaninformatica.blogspot.com/
68/71
12/23/2015
InformaticaQuestionAnswer
updated/insertedbasedonsomelogicUpdateStrategytransformationisused.TheconditioncanbespecifiedinUpdateStrategytomark
theprocessedrowforupdateorinsert.
Followingoptionsareavailableforupdatestrategy:
DD_INSERT:IfthisisusedtheUpdateStrategyflagstherowforinsertion.EquivalentnumericvalueofDD_INSERTis0.
DD_UPDATE:IfthisisusedtheUpdateStrategyflagstherowforupdate.EquivalentnumericvalueofDD_UPDATEis1.
DD_DELETE:IfthisisusedtheUpdateStrategyflagstherowfordeletion.EquivalentnumericvalueofDD_DELETEis2.
DD_REJECT:IfthisisusedtheUpdateStrategyflagstherowforrejection.EquivalentnumericvalueofDD_REJECTis3.
Re:WhatareAntijoins
Answer
#1
[http://www.allinterview.com/viewpost/310157.html]
Antijoins:
AntijoinsarewrittenusingtheNOTEXISTSorNOTIN
constructs.Anantijoinbetweentwotablesreturnsrows
fromthefirsttableforwhichtherearenocorresponding
rowsinthesecondtable.Inotherwords,itreturnsrows
thatfailtomatchthesubqueryontherightside.
Supposeyouwantalistofdepartmentswithnoemployees.
Youcouldwriteaquerylikethis:
SELECTd.department_name
FROMdepartmentsd
MINUS
SELECTd.department_name
FROMdepartmentsd,employeese
WHEREd.department_id=e.department_id
ORDERBYdepartment_name;
Theabovequerywillgivethedesiredresults,butitmight
beclearertowritethequeryusinganantijoin:
SELECTd.department_name
FROMdepartmentsd
WHERENOTEXISTS(SELECTNULL
FROMemployeese
WHEREe.department_id=d.department_id)
ORDERBYd.department_name;
Re:Withoutusinganytransformationshowucanloadthedataintotarget?
ifiwerethecandidateiwouldsimplysayifthereareno
transformationstobedone,iwillsimplyrunaninsert
scriptifthesourceandtargetcantalktoeachother.or
simplysource>sourcequalifier>target.ifthe
interviewersaysSQisatransformation,thensay"theni
dontknow.ihavealwaysusedinformaticawhenthereis
somekindoftransformationinvolvedbecausethatiswhat
informaticaismainlyusedfor".
Whatisasourcequalifier?
Whatisasurrogatekey?
http://shaninformatica.blogspot.com/
69/71
12/23/2015
InformaticaQuestionAnswer
WhatisdifferencebetweenMappletandreusabletransformation?
WhatisDTMsession?
WhatisaMapplet?
Whatisalookupfunction?Whatisdefaulttransformationforthelookupfunction?
Whatisdifferencebetweenaconnectedlookupandunconnectedlookup?
Whatisupdatestrategyandwhataretheoptionsforupdatestrategy?
Whatissubjectarea?
Whatisthedifferencebetweentruncateanddeletestatements?
WhatkindofUpdatestrategiesarenormallyused(Type1,2&3)&whatarethedifferences?
Whatistheexactsyntaxofanupdatestrategy?
Whatarebitmapindexesandhowandwhyaretheyused?
Whatisbulkbind?Howdoesitimproveperformance?
WhatarethedifferentwaystofilterrowsusingInformaticatransformations?
WhatisreferentialIntegrityerror?Howdoyourectifyit?
WhatisDTMprocess?
Whatistargetloadorder?
Whatexactlyisashortcutandhowdoyouuseit?
Whatisasharedfolder?
WhatarethedifferenttransformationswhereyoucanuseaSQLoverride?
WhatisthedifferencebetweenaBulkandNormalmodeandwhereexactlyisitdefined?
WhatisthedifferencebetweenLocal&Globalrepository?
Whataredatadrivensessions?
WhatarethecommonerrorswhilerunningaInformaticasession?
Whatareworkletsandwhatistheiruse?
Whatischangedatacapture?
Whatexactlyistracinglevel?
Whatisthedifferencebetweenconstraintsbasedloadorderingandtargetloadplan?
Whatisadeploymentgroupandwhatisitsuse?
WhenandhowapartitionisdefinedusingInformatica?
HowdoyouimproveperformanceinanUpdatestrategy?
Howdoyouvalidateallthemappingsintherepositoryatonce?
HowcanyoujointwoormoretableswithoutusingthesourcequalifieroverrideSQLoraJoinertransformation?
Howcanyoudefineatransformation?WhataredifferenttypesoftransformationsinInformatica?
HowmanyrepositoriescanbecreatedinInformatica?
HowmanyminimumgroupscanbedefinedinaRoutertransformation?
HowdoyoudefinepartitionsinInformatica?
HowcanyouimproveperformanceinanAggregatortransformation?
HowdoestheInformaticaknowthattheinputissorted?
Howmanyworkletscanbedefinedwithinaworkflow?
Howdoyoudefineaparameterfile?Giveanexampleofitsuse.
Ifyoujointwoormoretablesandthenpulloutabouttwocolumnsfromeachtableintothesourcequalifierandthenjustpulloutone
columnfromthesourcequalifierintoanExpressiontransformationandthendoagenerateSQLinthesourcequalifierhowmany
columnswillshowupinthegeneratedSQL.
InaType1mappingwithonesourceandonetargettablewhatistheminimumnumberofupdatestrategytransformationstobeused?
Atwhatlevelscanyoudefineparameterfilesandwhatistheorder?
Inasessionlogfilewherecanyoufindthereaderandthewriterdetails?
Forjoiningthreeheterogeneoustableshowmanyjoinertransformationsarerequired?
CanyoulookupaflatfileusingInformatica?
Whilerunningasessionwhatdefaultfilesarecreated?
DescribetheuseofMaterializedviewsandhowaretheydifferentfromanormalview.
ContributedbyMukherjee,Saibal(ETLConsultant)
ManyreadersareaskingWherestheanswer?WellitwilltakesometimebeforeIgettimetowriteitButthereisnoreasontoget
upsetTheinformaticahelpfilesshouldhavealloftheseanswers!
PostedinETLTools[http://etlguru.com/blog/category/etltools/] ,Informatica[http://etlguru.com/blog/category/informatica/] ,InformaticaFAQs
[http://etlguru.com/blog/category/informaticafaqs/] ,InterviewFAQs[http://etlguru.com/blog/category/interviewfaqs/] ,Uncategorized
[http://etlguru.com/blog/category/uncategorized/] |26Comments[http://etlguru.com/blog/2006/11/21/informaticainterviewquestionsfaqs/#comments]
Loading&testingfact/transactional/balances(data),whichisvalidbetweendates!
[http://etlguru.com/blog/2006/07/25/loadingtestingfacttransactionalbalancesdatawhichisvalidbetweendates/]
Tuesday,July25th,2006
ThisisgoingtobeaveryinterestingtopicforETL&Datamodelerswhodesignprocesses/tablestoloadfactortransactionaldatawhich
keepsonchangingbetweendates.ex:pricesofshares,Companyratings,etc.
http://shaninformatica.blogspot.com/
70/71
12/23/2015
InformaticaQuestionAnswer
Thetableaboveshowsanentityinthesourcesystemthatcontainstimevariantvaluesbuttheydontchangedaily.Thevaluesarevalidoveraperiodoftime
thentheychange.
[http://web.archive.org/web/20070523031241/http:/etlguru.com/blog/wpcontent/uploads/2006/08/variable_bond_interest_fct1.JPG]
1.Whatthetablestructureshouldbeusedinthedatawarehouse?
MaybeRalphKimballorBillInmoncancomewithbetterdatamodel!
ButforETLdevelopersorETLleadsthedecisionisalreadymadesoletslookfora
solution.
2.WhatshouldbetheETLdesigntoloadsuchastructure?
DesignA
Thereisonetoonerelationshipbetweenthesourcerowandthetargetrow.
ThereisaCURRENT_FLAGattribute,thatmeanseverytimetheETLprocessgetanewvalueithasaddanewrowwithcurrentflagand
gotothepreviousrowandretireit.NowthisstepisaverycostlyETLstepitwillslowdowntheETLprocess.
From the report writer issue this model is a major challange to use. Because what if the report wants a rate which is not current.
Imaginethecomplexquery.
DesignB
Inthisdesignthesanpshotofthesourcetableistakeneveryday.
The ETL is very easy. But can you imagine the size of fact table when the source which has more than 1 million rows in the source
table.(1millionx365days=?rowsperyear).Andwhatifthechangeinvaluesareinhoursorminutes?
ButyouhaveaveryhappyuserwhocanwriteSQLreportsveryeasily.
DesignC
Cantherebeacomprimise.Howaboutusingfromdate(time)todate(time)!Thereportwritecansimplyprovideadate(time)and
thestraightSQLcanreturnavalue/rowthatwasvalidatthatmoment.
HowevertheETLisindeedcomplexastheAmodel.Becausewhilethecurrentrowwillbefromcurrentdatetoinfinity.Theprevious
rowhastoberetiredtofromdatetotodaysdate1.
ThiskindofETLcodingalsocreateslotsoftestingissuesasyouwanttomakesurethatfornaygivendateandtimeonlyoneinstance
oftherowexists(fortheprimarykey).
Whichdesignisbetter,Ihaveusedalldependingonthesitutation.
3.Whatshouldbetheunittestplan?
TherearevariouscaseswheretheETLcanmissandwhenplanningfortestcasesandyourplanshouldbetopreciselytestthose.Herearesomeexamples
oftestplans
a.Thereshouldbeonlyonevalueforagivendate/datetime
b.Duringtheinitialloadwhenthedataisavailableformultipledaystheprocessshouldgosequentialandcreatesnapshots/rangescorrectly.
c.Atanygiventimethereshouldbeonlyonecurrentrow.
d.etc
Posted2ndJune2012byShankarPrasad
4 Viewcomments
http://shaninformatica.blogspot.com/
71/71