Вы находитесь на странице: 1из 71

12/23/2015

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
************************************************************************************************************************

Dimensional Data Model :


Dimensional data model is most often used in data warehousing systems. This is different from the 3rd normal form, commonly
used for transactional (OLTP) type systems. As you can imagine, the same data would then be stored differently in a
dimensional model than in a 3rd normal form model.
To understand dimensional data modeling, let's define some of the terms commonly used in this type of modeling:
Dimension: A category of information. For example, the time dimension.
Attribute: A unique level within a dimension. For example, Month is an attribute in the Time Dimension.
Hierarchy: The specification of levels that represents relationship between different attributes within a dimension. For
example, one possible hierarchy in the Time dimension is Year > Quarter > Month > Day.
FactTable[http://www.1keydata.com/datawarehousing/facttablegranularity.html]: A fact table is a table that contains the
measures of interest. For example, sales amount would be such a measure. This measure is stored in the fact table with the
appropriate granularity. For example, it can be sales amount by store by day. In this case, the fact table would contain three
columns: A date column, a store column, and a sales amount column.
Lookup Table: The lookup table provides the detailed information about the attributes. For example, the lookup table for the
Quarter attribute would include a list of all of the quarters available in the data warehouse. Each row (each quarter) may
have several fields, one for the unique ID that identifies the quarter, and one or more additional fields that specifies how that
particular quarter is represented on a report (for example, first quarter of 2001 may be represented as "Q1 2001" or "2001 Q1").
A dimensional model includes fact tables and lookup tables. Fact tables connect to one or more lookup tables, but fact tables
do not have direct relationships to one another. Dimensions and hierarchies are represented by lookup tables. Attributes are
the nonkey columns in the lookup tables.
In designing data models for data warehouses / data marts, the most commonly used schema types are Star Schema and
Snowflake Schema.
Star Schema: In the star schema design, a single object (the fact table) sits in the middle and is radially connected to other
surrounding objects (dimension lookup tables) like a star. A star schema can be simple or complex. A simple star consists of
one fact table; a complex star can have more than one fact table.
Snowflake Schema: The snowflake schema is an extension of the star schema, where each point of the star explodes into
more points. The main advantage of the snowflake schema is the improvement in query performance due to minimized disk
storage requirements and joining smaller lookup tables. The main disadvantage of the snowflake schema is the additional
maintenance efforts needed due to the increase number of lookup tables.
Whether one uses a star or a snowflake largely depends on personal preference and business needs. Personally, I am partial to
snowflakes, when there is a business case to analyze the information at that particular level.
Slowly Changing Dimensions:
The "Slowly Changing Dimension" problem is a common one particular to data warehousing. In a nutshell, this applies to cases
where the attribute for a record varies over time. We give an example below:
Christina is a customer with ABC Inc. She first lived in Chicago, Illinois. So, the original entry in the customer lookup table has
the following record:
Customer Key

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.

Conceptual, Logical, And Physical Data Models:


There are three levels of data modeling. They are conceptual, logical, and physical. This section will explain the difference
among the three, the order with which each one is created, and how to go from one level to the other.
Conceptual Data Model
Features of conceptual data model include:
Includes the important entities and the relationships among them.
No attribute is specified.
No primary key is specified.
At this level, the data modeler attempts to identify the highestlevel relationships among the different entities.
Logical Data Model
Features of logical data model include:
Includes all entities and relationships among them.
All attributes for each entity are specified.
The primary key for each entity specified.
Foreign keys (keys identifying the relationship between different entities) are specified.
Normalization occurs at this level.
At this level, the data modeler attempts to describe the data in as much detail as possible, without regard to how they will be
physically implemented in the database.
In data warehousing, it is common for the conceptual data model and the logical data model to be combined into a single step
(deliverable).
The steps for designing the logical data model are as follows:

1. Identify all entities.


2. Specify primary keys for all entities.
3. Find the relationships between different entities.
4. Find all attributes for each entity.
5. Resolve manytomany relationships.
6. Normalization.
Physical Data Model
Features of physical data model include:
Specification all tables and columns.
Foreign keys are used to identify relationships between tables.
Denormalization may occur based on user requirements.
Physical considerations may cause the physical data model to be quite different from the logical data model.
At this level, the data modeler will specify how the logical data model will be realized in the database schema.
The steps for physical data model design are as follows:

1. Convert entities into tables.


2. Convert relationships into foreign keys.
3. Convert attributes into columns.
4. Modify the physical data model based on physical constraints / requirements.
What Is OLAP :
OLAP stands for OnLine Analytical Processing. The first attempt to provide a definition to OLAP was by Dr. Codd, who
proposed 12 rules for OLAP. Later, it was discovered that this particular white paper was sponsored by one of the OLAP tool
vendors, thus causing it to lose objectivity. The OLAP Report has proposed the FASMI test, Fast Analysis of Shared
Multidimensional Information. For a more detailed description of both Dr. Codd's rules and the FASMI test, please visit The
OLAPReport[http://www.olapreport.com/fasmi.htm].
For people on the business side, the key feature out of the above list is "Multidimensional." In other words, the ability to
analyze metrics in different dimensions such as time, geography, gender, product, etc. For example, sales for the company is
up. What region is most responsible for this increase? Which store in this region is most responsible for the increase? What
particular product category or categories contributed the most to the increase? Answering these types of questions in order
means that you are performing an OLAP analysis.
Depending on the underlying technology used, OLAP can be braodly divided into two different camps: MOLAP and ROLAP. A
discussion of the different OLAP types can be found in the MOLAP,ROLAP,andHOLAP
[http://www.1keydata.com/datawarehousing/molaprolap.html]section.
In the OLAP world, there are mainly two different types: Multidimensional OLAP (MOLAP) and Relational OLAP (ROLAP).
Hybrid OLAP (HOLAP) refers to technologies that combine MOLAP and ROLAP.
MOLAP
This is the more traditional way of OLAP analysis. In MOLAP, data is stored in a multidimensional cube. The storage is not in
the relational database, but in proprietary formats.
Advantages:
Excellent performance: MOLAP cubes are built for fast data retrieval, and is optimal for slicing and dicing operations.
Can perform complex calculations: All calculations have been pregenerated when the cube is created. Hence, complex
calculations are not only doable, but they return quickly.
Disadvantages:
Limited in the amount of data it can handle: Because all calculations are performed when the cube is built, it is not
possible to include a large amount of data in the cube itself. This is not to say that the data in the cube cannot be derived
from a large amount of data. Indeed, this is possible. But in this case, only summarylevel information will be included in
the cube itself.

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

Classic Flipcard Magazine Mosaic Sidebar Snapshot Timeslide


Canreturnmultiplecolumnsfromthesameroworinsertintothedynamiclookupcache.

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

Вам также может понравиться