Informatica Question Answer
Post on 14-Feb-2016
96 Views
Preview:
DESCRIPTION
Transcript
12/23/2015 InformaticaQuestionAnswer
http://shaninformatica.blogspot.com/ 1/71
2ndJune2012
Q1.SupposewehaveDuplicaterecordsinSourceSystemandwewanttoloadonlytheuniquerecordsintheTargetSystemeliminatingtheduplicaterows.Whatwillbetheapproach?Ans.
[http://3.bp.blogspot.com/eupPD2VLBU/T8nOyWjmZjI/AAAAAAAADIg/t5LcnEgyc/s1600/t1.PNG]
[http://3.bp.blogspot.com/BFYOJdTagiM/T8nPFWTZfaI/AAAAAAAADIo/Yg4ByC2Ld5w/s1600/t2.PNG]
LetusassumethatthesourcesystemisaRelationalDatabase.Thesourcetableishavingduplicaterows.Nowtoeliminateduplicaterecords,wecanchecktheDistinctoptionoftheSourceQualifierofthesourcetableandloadthetargetaccordingly.
SourceQualifierTransformationDISTINCTclause
NowsupposethesourcesystemisaFlatFile.HereintheSourceQualifieryouwillnotbeabletoselectthedistinctclauseasitisdisabledduetoflatfilesourcetable.HencethenextapproachmaybeweuseaSorterTransformationandchecktheDistinctoption.Whenweselectthedistinctoptionallthecolumnswilltheselectedaskeys,inascendingorderbydefault.
SorterTransformationDISTINCTclause
OtherwaystohandleduplicaterecordsinsourcebatchrunistouseanAggregatorTransformationandusingtheGroupBycheckboxontheportshavingduplicateoccurringdata.Hereyoucanhavetheflexibilitytoselectthelastorthefirstoftheduplicatecolumnvaluerecords.ApartfromthatusingDynamicLookupCacheofthetargettableandassociatingtheinputportswiththelookupportandcheckingtheInsertElseUpdateoptionwillhelptoeliminatetheduplicaterecordsinsourceandhenceloadinguniquerecordsinthetarget.
InformaticaQuestionAnswer
DeletingduplicaterowusingInformatica
DeletingduplicaterowforFLATFILEsources
DeletingDuplicateRecordUsingInformaticaAggregator
LoadingMultipleTargetTablesBasedonConditions
12/23/2015 InformaticaQuestionAnswer
http://shaninformatica.blogspot.com/ 2/71
Q2.Supposewehavesomeserialnumbersinaflatfilesource.WewanttoloadtheserialnumbersintwotargetfilesonecontainingtheEVENserialnumbersandtheotherfilehavingtheODDones.
Ans.AftertheSourceQualifierplaceaRouterTransformation.CreatetwoGroupsnamelyEVENandODD,withfilterconditionsasMOD(SERIAL_NO,2)=0andMOD(SERIAL_NO,2)=1respectively.Thenoutputthetwogroupsintotwoflatfiletargets.
RouterTransformationGroupsTab
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.HeretoconverttheRowstoColumnswehavetousetheNormalizerTransformationfollowedbyanExpressionTransformationtoDecodethecolumntakenintoconsideration.FormoredetailsonhowthemappingisperformedpleasevisitWorkingwithNormalizer[http://www.dwbiconcepts.com/basicconcept/3etl/23usinginformaticanormalizertransformation.html]
Q4.Namethetransformationswhichconvertsonetomanyrowsi.eincreasesthei/p:o/prowcount.Alsowhatisthenameofitsreversetransformation.
Ans.NormalizeraswellasRouterTransformationsaretheActivetransformationwhichcanincreasethenumberofinputrowstooutputrows.
AggregatorTransformationistheactivetransformationthatperformsthereverseaction.
Q5.Supposewehaveasourcetableandwewanttoloadthreetargettablesbasedonsourcerowssuchthatfirstrowmovestofirsttargettable,secordrowinsecondtargettable,thirdrowinthirdtargettable,fourthrowagaininfirsttargettablesoonandsoforth.Describeyourapproach.
Ans.WecanclearlyunderstandthatweneedaRoutertransformationtorouteorfiltersourcedatatothethreetargettables.Nowthequestioniswhatwillbethefilterconditions.FirstofallweneedanExpressionTransformationwherewehaveallthesourcetablecolumnsandalongwiththatwehaveanotheri/oportsayseq_num,whichisgetssequencenumbersforeachsourcerowfromtheportNextValofaSequenceGeneratorstartvalue0andincrementby1.Nowthefilterconditionforthethreeroutergroupswillbe:
MOD(SEQ_NUM,3)=1connectedto1sttargettable,MOD(SEQ_NUM,3)=2connectedto2ndtargettable,MOD(SEQ_NUM,3)=0connectedto3rdtargettable.
NormalizerRelatedQuestions
12/23/2015 InformaticaQuestionAnswer
http://shaninformatica.blogspot.com/ 3/71
RouterTransformationGroupsTab
Q6.Supposewehavetensourceflatfilesofsamestructure.Howcanweloadallthefilesintargetdatabaseinasinglebatchrunusingasinglemapping.
Ans.Afterwecreateamappingtoloaddataintargetdatabasefromflatfiles,nextwemoveontothesessionpropertyoftheSourceQualifier.Toloadasetofsourcefilesweneedtocreateafilesayfinal.txtcontainingthesourcefaltfilenames,tenfilesinourcaseandsettheSourcefiletypeoptionasIndirect.Nextpointthisflatfilefinal.txtfullyqualifiedthroughSourcefiledirectoryandSourcefilename.
Image:SessionPropertyFlatFile[file:///E:/Tutorial/fundooo%20informatica%20(1).doc]
Q7.HowcanweimplementAggregationoperationwithoutusinganAggregatorTransformationinInformatica.
Ans.WewillusetheverybasicconceptoftheExpressionTransformationthatatatimewecanaccessthepreviousrowdataaswellasthecurrentlyprocesseddatainanexpressiontransformation.WhatweneedissimpleSorter,ExpressionandFiltertransformationtoachieveaggregationatInformaticalevel.FordetailedunderstandingvisitAggregationwithoutAggregator[http://www.dwbiconcepts.com/basicconcept/3etl/10aggregationwithoutinformaticaaggregator.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
LoadingMultipleFlatFilesusingonemapping
12/23/2015 InformaticaQuestionAnswer
http://shaninformatica.blogspot.com/ 4/71
WewanttoloadourTargetTableas:
StudentName Maths LifeScience PhysicalScience
Sam 100 70 80
John 75 100 85
Tom 80 100 85
Describeyourapproach.
Ans.Hereourscenarioistoconvertmanyrowstoonerows,andthetransformationwhichwillhelpustoachievethisisAggregator.OurMappingwilllooklikethis:
MappingusingsorterandAggregator
WewillsortthesourcedatabasedonSTUDENT_NAMEascendingfollowedbySUBJECTascending.
12/23/2015 InformaticaQuestionAnswer
http://shaninformatica.blogspot.com/ 5/71
SorterTransformation
NowbasedonSTUDENT_NAMEinGROUPBYclausethefollowingoutputsubjectcolumnsarepopulatedasMATHS:MAX(MARKS,SUBJECT='Maths')LIFE_SC:MAX(MARKS,SUBJECT='LifeScience')PHY_SC:MAX(MARKS,SUBJECT='PhysicalScience')
AggregatorTransformation
Q9.WhatisaSourceQualifier?WhatarethetaskswecanperformusingaSQandwhyitisanACTIVEtransformation?
Ans.ASourceQualifierisanActiveandConnectedInformaticatransformationthatreadstherowsfromarelationaldatabaseorflatfilesource.
WecanconfiguretheSQtojoin[BothINNERaswellasOUTERJOIN]dataoriginatingfromthesamesourcedatabase.WecanuseasourcefiltertoreducethenumberofrowstheIntegrationServicequeries.WecanspecifyanumberforsortedportsandtheIntegrationServiceaddsanORDERBYclausetothedefaultSQLquery.WecanchooseSelectDistinctoptionforrelationaldatabasesandtheIntegrationServiceaddsaSELECTDISTINCTclausetothedefaultSQLquery.AlsowecanwriteCustom/UsedDefinedSQLquerywhichwilloverridethedefaultqueryintheSQbychangingthedefaultsettingsofthetransformationproperties.AslowehavetheoptiontowritePreaswellasPostSQLstatementstobeexecutedbeforeandaftertheSQqueryinthesourcedatabase.
SincethetransformationprovidesuswiththepropertySelectDistinct,whentheIntegrationServiceaddsaSELECTDISTINCTclausetothedefaultSQLquery,whichinturnaffectsthenumberofrowsreturnedbytheDatabasetotheIntegrationServiceandhenceitisanActivetransformation.
Q10.WhathappenstoamappingifwealterthedatatypesbetweenSourceanditscorrespondingSourceQualifier?
Ans.TheSourceQualifiertransformationdisplaysthetransformationdatatypes.ThetransformationdatatypesdeterminehowthesourcedatabasebindsdatawhentheIntegrationServicereadsit.NowifwealterthedatatypesintheSourceQualifiertransformationorthedatatypesinthesourcedefinitionandSourceQualifiertransformationdonotmatch,theDesignermarksthemappingasinvalidwhenwesaveit.
Q11.SupposewehaveusedtheSelectDistinctandtheNumberOfSortedPortspropertyintheSQandthenweaddCustomSQLQuery.Explainwhatwillhappen.
Ans.WheneverweaddCustomSQLorSQLoverridequeryitoverridestheUserDefinedJoin,SourceFilter,Numberof
RevisitingSourceQualifierTransformation
12/23/2015 InformaticaQuestionAnswer
http://shaninformatica.blogspot.com/ 6/71
SortedPorts,andSelectDistinctsettingsintheSourceQualifiertransformation.HenceonlytheuserdefinedSQLQuerywillbefiredinthedatabaseandalltheotheroptionswillbeignored.
Q12.DescribethesituationswherewewillusetheSourceFilter,SelectDistinctandNumberOfSortedPortspropertiesofSourceQualifiertransformation.
Ans.SourceFilteroptionisusedbasicallytoreducethenumberofrowstheIntegrationServicequeriessoastoimproveperformance.SelectDistinctoptionisusedwhenwewanttheIntegrationServicetoselectuniquevaluesfromasource,filteringoutunnecessarydataearlierinthedataflow,whichmightimproveperformance.NumberOfSortedPortsoptionisusedwhenwewantthesourcedatatobeinasortedfashionsoastousethesameinsomefollowingtransformationslikeAggregatororJoiner,thosewhenconfiguredforsortedinputwillimprovetheperformance.
Q13.WhatwillhappeniftheSELECTlistCOLUMNSintheCustomoverrideSQLQueryandtheOUTPUTPORTSorderinSQtransformationdonotmatch?
Ans.MismatchorChangingtheorderofthelistofselectedcolumnstothatoftheconnectedtransformationoutputportsmayresultissessionfailure.
Q14.WhathappensifintheSourceFilterpropertyofSQtransformationweincludekeywordWHEREsay,WHERECUSTOMERS.CUSTOMER_ID>1000.
Ans.Weusesourcefiltertoreducethenumberofsourcerecords.IfweincludethestringWHEREinthesourcefilter,theIntegrationServicefailsthesession.
Q15.DescribethescenarioswherewegoforJoinertransformationinsteadofSourceQualifiertransformation.
Ans.WhilejoiningSourceDataofheterogeneoussourcesaswellastojoinflatfileswewillusetheJoinertransformation.UsetheJoinertransformationwhenweneedtojointhefollowingtypesofsources:JoindatafromdifferentRelationalDatabases.JoindatafromdifferentFlatFiles.Joinrelationalsourcesandflatfiles.
Q16.WhatisthemaximumnumberwecanuseinNumberOfSortedPortsforSybasesourcesystem.
Ans.Sybasesupportsamaximumof16columnsinanORDERBYclause.SoifthesourceisSybase,donotsortmorethan16columns.
Q17.SupposewehavetwoSourceQualifiertransformationsSQ1andSQ2connectedtoTargettablesTGT1andTGT2respectively.HowdoyouensureTGT2isloadedafterTGT1?
Ans.IfwehavemultipleSourceQualifiertransformationsconnectedtomultipletargets,wecandesignatetheorderinwhichtheIntegrationServiceloadsdataintothetargets.IntheMappingDesigner,WeneedtoconfiguretheTargetLoadPlanbasedontheSourceQualifiertransformationsinamappingtospecifytherequiredloadingorder.
Image:TargetLoadPlan[file:///E:/Tutorial/fundooo%20informatica%20(1).doc]
TargetLoadPlanOrdering
Q18.SupposewehaveaSourceQualifiertransformationthatpopulatestwotargettables.HowdoyouensureTGT2
12/23/2015 InformaticaQuestionAnswer
http://shaninformatica.blogspot.com/ 7/71
isloadedafterTGT1?
Ans.IntheWorkflowManager,wecanConfigureConstraintbasedloadorderingforasession.TheIntegrationServiceordersthetargetloadonarowbyrowbasis.Foreveryrowgeneratedbyanactivesource,theIntegrationServiceloadsthecorrespondingtransformedrowfirsttotheprimarykeytable,thentotheforeignkeytable.HenceifwehaveoneSourceQualifiertransformationthatprovidesdataformultipletargettableshavingprimaryandforeignkeyrelationships,wewillgoforConstraintbasedloadordering.
Image:Constraintbasedloading[file:///E:/Tutorial/fundooo%20informatica%20(1).doc]
Q19.WhatisaFilterTransformationandwhyitisanActiveone?
Ans.AFiltertransformationisanActiveandConnectedtransformationthatcanfilterrowsinamapping.OnlytherowsthatmeettheFilterConditionpassthroughtheFiltertransformationtothenexttransformationinthepipeline.TRUEandFALSEaretheimplicitreturnvaluesfromanyfilterconditionweset.IfthefilterconditionevaluatestoNULL,therowisassumedtobeFALSE.ThenumericequivalentofFALSEiszero(0)andanynonzerovalueistheequivalentofTRUE.
AsanACTIVEtransformation,theFiltertransformationmaychangethenumberofrowspassedthroughit.AfilterconditionreturnsTRUEorFALSEforeachrowthatpassesthroughthetransformation,dependingonwhetherarowmeetsthespecifiedcondition.OnlyrowsthatreturnTRUEpassthroughthistransformation.Discardedrowsdonotappearinthesessionlogorrejectfiles.
Q20.WhatisthedifferencebetweenSourceQualifiertransformationsSourceFiltertoFiltertransformation?
Ans.
SQSourceFilter FilterTransformation
SourceQualifiertransformationfiltersrowswhenreadfromasource.
Filtertransformationfiltersrowsfromwithinamapping
SourceQualifiertransformationcanonlyfilterrowsfromRelationalSources.
Filtertransformationfiltersrowscomingfromanytypeofsourcesysteminthemappinglevel.
SourceQualifierlimitstherowsetextractedfromasource.
Filtertransformationlimitstherowsetsenttoatarget.
SourceQualifierreducesthenumberofrowsusedthroughoutthemappingandhenceitprovidesbetterperformance.
Tomaximizesessionperformance,includetheFiltertransformationasclosetothesourcesinthemappingaspossibletofilteroutunwanteddataearlyintheflowofdatafromsourcestotargets.
ThefilterconditionintheSourceQualifiertransformationonlyusesstandardSQLasitrunsinthedatabase.
FilterTransformationcandefineaconditionusinganystatementortransformationfunctionthatreturnseitheraTRUEorFALSEvalue.
Q21.WhatisaJoinerTransformationandwhyitisanActiveone?
Ans.AJoinerisanActiveandConnectedtransformationusedtojoinsourcedatafromthesamesourcesystemorfromtworelatedheterogeneoussourcesresidingindifferentlocationsorfilesystems.TheJoinertransformationjoinssourceswithatleastonematchingcolumn.TheJoinertransformationusesaconditionthatmatchesoneormorepairsofcolumnsbetweenthetwosources.Thetwoinputpipelinesincludeamasterpipelineandadetailpipelineoramasterandadetailbranch.ThemasterpipelineendsattheJoinertransformation,whilethedetailpipelinecontinuestothetarget.
IntheJoinertransformation,wemustconfigurethetransformationpropertiesnamelyJoinCondition,JoinTypeandSortedInputoptiontoimproveIntegrationServiceperformance.ThejoinconditioncontainsportsfrombothinputsourcesthatmustmatchfortheIntegrationServicetojointworows.Dependingonthetypeofjoinselected,theIntegrationServiceeitheraddstherowtotheresultsetordiscardstherow.
RevisitingFilterTransformation
RevisitingJoinerTransformation
12/23/2015 InformaticaQuestionAnswer
http://shaninformatica.blogspot.com/ 8/71
TheJoinertransformationproducesresultsetsbasedonthejointype,condition,andinputdatasources.HenceitisanActivetransformation.
Q22.StatethelimitationswherewecannotuseJoinerinthemappingpipeline.
Ans.TheJoinertransformationacceptsinputfrommosttransformations.However,followingarethelimitations:
JoinertransformationcannotbeusedwheneitheroftheinputpipelinecontainsanUpdateStrategytransformation.JoinertransformationcannotbeusedifweconnectaSequenceGeneratortransformationdirectlybeforetheJoinertransformation.
Q23.Outofthetwoinputpipelinesofajoiner,whichonewillyousetasthemasterpipeline?
Ans.Duringasessionrun,theIntegrationServicecompareseachrowofthemastersourceagainstthedetailsource.Themasteranddetailsourcesneedtobeconfiguredforoptimalperformance.
ToimproveperformanceforanUnsortedJoinertransformation,usethesourcewithfewerrowsasthemastersource.Thefeweruniquerowsinthemaster,thefeweriterationsofthejoincomparisonoccur,whichspeedsthejoinprocess.WhentheIntegrationServiceprocessesanunsortedJoinertransformation,itreadsallmasterrowsbeforeitreadsthedetailrows.TheIntegrationServiceblocksthedetailsourcewhileitcachesrowsfromthemastersource.OncetheIntegrationServicereadsandcachesallmasterrows,itunblocksthedetailsourceandreadsthedetailrows.
ToimproveperformanceforaSortedJoinertransformation,usethesourcewithfewerduplicatekeyvaluesasthemastersource.WhentheIntegrationServiceprocessesasortedJoinertransformation,itblocksdatabasedonthemappingconfigurationanditstoresfewerrowsinthecache,increasingperformance.BlockinglogicispossibleifmasteranddetailinputtotheJoinertransformationoriginatefromdifferentsources.Otherwise,itdoesnotuseblockinglogic.Instead,itstoresmorerowsinthecache.
Q24.WhatarethedifferenttypesofJoinsavailableinJoinerTransformation?
Ans.InSQL,ajoinisarelationaloperatorthatcombinesdatafrommultipletablesintoasingleresultset.TheJoinertransformationissimilartoanSQLjoinexceptthatdatacanoriginatefromdifferenttypesofsources.TheJoinertransformationsupportsthefollowingtypesofjoins:NormalMasterOuterDetailOuterFullOuter
JoinTypepropertyofJoinerTransformation
12/23/2015 InformaticaQuestionAnswer
http://shaninformatica.blogspot.com/ 9/71
Note:Anormalormasterouterjoinperformsfasterthanafullouterordetailouterjoin.
Q25.DefinethevariousJoinTypesofJoinerTransformation.
Ans.Inanormaljoin,theIntegrationServicediscardsallrowsofdatafromthemasteranddetailsourcethatdonotmatch,basedonthejoincondition.Amasterouterjoinkeepsallrowsofdatafromthedetailsourceandthematchingrowsfromthemastersource.Itdiscardstheunmatchedrowsfromthemastersource.Adetailouterjoinkeepsallrowsofdatafromthemastersourceandthematchingrowsfromthedetailsource.Itdiscardstheunmatchedrowsfromthedetailsource.Afullouterjoinkeepsallrowsofdatafromboththemasteranddetailsources.
Q26.DescribetheimpactofnumberofjoinconditionsandjoinorderinaJoinerTransformation.
Ans.Wecandefineoneormoreconditionsbasedonequalitybetweenthespecifiedmasteranddetailsources.Bothportsinaconditionmusthavethesamedatatype.Ifweneedtousetwoportsinthejoinconditionwithnonmatchingdatatypeswemustconvertthedatatypessothattheymatch.TheDesignervalidatesdatatypesinajoincondition.Additionalportsinthejoinconditionincreasesthetimenecessarytojointwosources.
TheorderoftheportsinthejoinconditioncanimpacttheperformanceoftheJoinertransformation.Ifweusemultipleportsinthejoincondition,theIntegrationServicecomparestheportsintheorderwespecified.
NOTE:Onlyequalityoperatorisavailableinjoinerjoincondition.
Q27.HowdoesJoinertransformationtreatNULLvaluematching.
Ans.TheJoinertransformationdoesnotmatchnullvalues.Forexample,ifbothEMP_ID1andEMP_ID2containarowwithanullvalue,theIntegrationServicedoesnotconsiderthemamatchanddoesnotjointhetworows.Tojoinrowswithnullvalues,replacenullinputwithdefaultvaluesinthePortstabofthejoiner,andthenjoinonthedefaultvalues.
Note:Ifaresultsetincludesfieldsthatdonotcontaindataineitherofthesources,theJoinertransformationpopulatestheemptyfieldswithnullvalues.IfweknowthatafieldwillreturnaNULLandwedonotwanttoinsertNULLsinthetarget,setadefaultvalueonthePortstabforthecorrespondingport.
Q28.SupposeweconfigureSortertransformationsinthemasteranddetailpipelineswiththefollowingsortedportsinorder:ITEM_NO,ITEM_NAME,PRICE.Whenweconfigurethejoincondition,whataretheguidelinesweneedtofollowtomaintainthesortorder?
Ans.IfwehavesortedboththemasteranddetailpipelinesinorderoftheportssayITEM_NO,ITEM_NAMEandPRICEwemustensurethat:UseITEM_NOintheFirstJoinCondition.IfweaddaSecondJoinCondition,wemustuseITEM_NAME.IfwewanttousePRICEasaJoinConditionapartfromITEM_NO,wemustalsouseITEM_NAMEintheSecondJoinCondition.IfweskipITEM_NAMEandjoinonITEM_NOandPRICE,wewilllosetheinputsortorderandtheIntegrationServicefailsthesession.
Q29.WhatarethetransformationsthatcannotbeplacedbetweenthesortoriginandtheJoinertransformationsothatwedonotlosetheinputsortorder.
Ans.ThebestoptionistoplacetheJoinertransformationdirectlyafterthesortorigintomaintainsorteddata.HoweverdonotplaceanyofthefollowingtransformationsbetweenthesortoriginandtheJoinertransformation:
CustomUnsortedAggregatorNormalizerRankUniontransformationXMLParsertransformationXMLGeneratortransformationMapplet[ifitcontainsanyoneoftheabovementionedtransformations]
Q30.SupposewehavetheEMPtableasoursource.Inthetargetwewanttoviewthoseemployeeswhosesalaryisgreaterthanorequaltotheaveragesalaryfortheirdepartments.
Describeyourmappingapproach.Ans.OurMappingwilllooklikethis:
Image:MappingusingJoiner[file:///E:/Tutorial/fundooo%20informatica%20(1).doc]
Tostartwiththemappingweneedthefollowingtransformations:
12/23/2015 InformaticaQuestionAnswer
http://shaninformatica.blogspot.com/ 10/71
AftertheSourcequalifieroftheEMPtableplaceaSorterTransformation.SortbasedonDEPTNOport.
SorterPortsTab
NextweplaceaSortedAggregatorTransformation.HerewewillfindouttheAVERAGESALARYforeach(GROUPBY)DEPTNO.Whenweperformthisaggregation,welosethedataforindividualemployees.Tomaintainemployeedata,wemustpassabranchofthepipelinetotheAggregatorTransformationandpassabranchwiththesamesortedsourcedatatotheJoinertransformationtomaintaintheoriginaldata.Whenwejoinbothbranchesofthepipeline,wejointheaggregateddatawiththeoriginaldata.
AggregatorPortsTab
12/23/2015 InformaticaQuestionAnswer
http://shaninformatica.blogspot.com/ 11/71
AggregatorPropertiesTab
SonextweneedSortedJoinerTransformationtojointhesortedaggregateddatawiththeoriginaldata,basedonDEPTNO.HerewewillbetakingtheaggregatedpipelineastheMasterandoriginaldataflowasDetailPipeline.
JoinerConditionTab
12/23/2015 InformaticaQuestionAnswer
http://shaninformatica.blogspot.com/ 12/71
JoinerPropertiesTab
AfterthatweneedaFilterTransformationtofilterouttheemployeeshavingsalarylessthanaveragesalaryfortheirdepartment.FilterCondition:SAL>=AVG_SAL
FilterPropertiesTab
LastlywehavetheTargettableinstance.
Q31.WhatisaSequenceGeneratorTransformation?
RevisitingSequenceGeneratorTransformation
12/23/2015 InformaticaQuestionAnswer
http://shaninformatica.blogspot.com/ 13/71
Ans.ASequenceGeneratortransformationisaPassiveandConnectedtransformationthatgeneratesnumericvalues.Itisusedtocreateuniqueprimarykeyvalues,replacemissingprimarykeys,orcyclethroughasequentialrangeofnumbers.ThistransformationbydefaultcontainsONLYTwoOUTPUTportsnamelyCURRVALandNEXTVAL.Wecannoteditordeletetheseportsneitherwecannotaddportstothisuniquetransformation.Wecancreateapproximatelytwobillionuniquenumericvalueswiththewidestrangefrom1to2147483647.
Q32.DefinethePropertiesavailableinSequenceGeneratortransformationinbrief.Ans.
SequenceGeneratorProperties
Description
StartValue
StartvalueofthegeneratedsequencethatwewanttheIntegrationServicetouseifweusetheCycleoption.IfweselectCycle,theIntegrationServicecyclesbacktothisvaluewhenitreachestheendvalue.Defaultis0.
IncrementBy
DifferencebetweentwoconsecutivevaluesfromtheNEXTVALport.Defaultis1.
EndValue
MaximumvaluegeneratedbySeqGen.Afterreachingthisvaluethesessionwillfailifthesequencegeneratorisnotconfiguredtocycle.Defaultis2147483647.
CurrentValue
Currentvalueofthesequence.EnterthevaluewewanttheIntegrationServicetouseasthefirstvalueinthesequence.Defaultis1.
CycleIfselected,whentheIntegrationServicereachestheconfiguredendvalueforthesequence,itwrapsaroundandstartsthecycleagain,beginningwiththeconfiguredStartValue.
NumberofCachedValues
NumberofsequentialvaluestheIntegrationServicecachesatatime.DefaultvalueforastandardSequenceGeneratoris0.DefaultvalueforareusableSequenceGeneratoris1,000.
Reset
Restartsthesequenceatthecurrentvalueeachtimeasessionruns.ThisoptionisdisabledforreusableSequenceGeneratortransformations.
Q33.Supposewehaveasourcetablepopulatingtwotargettables.WeconnecttheNEXTVALportoftheSequenceGeneratortothesurrogatekeysofboththetargettables.WilltheSurrogatekeysinboththetargettablesbesame?Ifnothowcanweflowthesamesequencevaluesinbothofthem.Ans.WhenweconnecttheNEXTVALoutputportoftheSequenceGeneratordirectlytothesurrogatekeycolumnsofthetargettables,theSequencenumberwillnotbethesame.Ablockofsequencenumbersissenttoonetargettablessurrogatekeycolumn.ThesecondtargetsreceivesablockofsequencenumbersfromtheSequenceGeneratortransformationonlyafterthefirsttargettablereceivestheblockofsequencenumbers.Supposewehave5rowscomingfromthesource,sothetargetswillhavethesequencevaluesasTGT1(1,2,3,4,5)andTGT2(6,7,8,9,10).[TakenintoconsiderationStartValue0,Currentvalue1andIncrementby1.
Nowsupposetherequirementislikethatweneedtohavethesamesurrogatekeysinboththetargets.ThentheeasiestwaytohandlethesituationistoputanExpressionTransformationinbetweentheSequenceGeneratorandtheTargettables.TheSeqGenwillpassuniquevaluestotheexpressiontransformation,andthentherowsareroutedfromtheexpressiontransformationtothetargets.
12/23/2015 InformaticaQuestionAnswer
http://shaninformatica.blogspot.com/ 14/71
SequenceGenerator
Q34.Supposewehave100recordscomingfromthesource.NowforatargetcolumnpopulationweusedaSequencegenerator.SupposetheCurrentValueis0andEndValueofSequencegeneratorissetto80.Whatwillhappen?Ans.EndValueisthemaximumvaluetheSequenceGeneratorwillgenerate.AfteritreachestheEndvaluethesessionfailswiththefollowingerrormessage:TT_11009SequenceGeneratorTransformation:Overflowerror.
FailingofsessioncanbehandlediftheSequenceGeneratorisconfiguredtoCyclethroughthesequence,i.e.whenevertheIntegrationServicereachestheconfiguredendvalueforthesequence,itwrapsaroundandstartsthecycleagain,beginningwiththeconfiguredStartValue.
Q35.WhatarethechangesweobservewhenwepromoteanonresuableSequenceGeneratortoaresuableone?AndwhathappensifwesettheNumberofCachedValuesto0forareusabletransformation?
Ans.WhenweconvertanonreusablesequencegeneratortoresuableoneweobservethattheNumberofCachedValuesissetto1000bydefaultAndtheResetpropertyisdisabled.
WhenwetrytosettheNumberofCachedValuespropertyofaReusableSequenceGeneratorto0intheTransformationDeveloperweencounterthefollowingerrormessage:Thenumberofcachedvaluesmustbegreaterthanzeroforreusablesequencetransformation.
Inourpreviousarticle,wetestedtheperformanceofORDERBYoperationinInformaticaandOracle[http://www.dwbiconcepts.com/advance/7general/36informaticaoraclesortperformancetest.html]andfoundthat,inourtestcondition,Oracleperformssorting14%speedierthanInformatica.ThistimewewilllookintotheJOINoperation,notonlybecauseJOINisthesinglemostimportantdatasetoperationbutalsobecauseperformanceofJOINcangivecrucialdatatoadeveloperinordertodevelopproperpushdownoptimizationmanually.Informaticaisoneoftheleadingdataintegrationtoolsintodaysworld.Morethan4,000enterprisesworldwiderelyonInformaticatoaccess,integrateandtrusttheirinformationassetswithit.Ontheotherhand,OracledatabaseisarguablythemostsuccessfulandpowerfulRDBMSsystemthatistrustedfrom1980sinallsortsofbusinessdomainandacrossallmajorplatforms.Bothofthesesystemsarebestsinthetechnologiesthattheysupport.Butwhenitcomestotheapplicationdevelopment,developersoftenfacechallengetostriketherightbalanceofoperationalloadsharingbetweenthesesystems.Thisarticlewillhelpthemtotaketheinformeddecision.
Asanapplicationdeveloper,youhavethechoiceofeitherusingjoiningsyntaxesindatabaseleveltojoinyourdataorusingJOINERTRANSFORMATIONinInformaticatoachievethesameoutcome.Thequestioniswhichsystemperformsthisfaster?
Wewillperformthesametestwith4differentdatapoints(datavolumes)andlogtheresults.Wewillstartwith1milliondataindetailtableand0.1millioninmastertable.Subsequentlywewilltestwith2million,4millionand6milliondetailtabledatavolumesand0.2million,0.4millionand0.6millionmastertabledatavolumes.Herearethedetailsofthesetupwewilluse,1.Oracle10gdatabaseasrelationalsourceandtarget2.InformaticaPowerCentre8.5asETLtool3.DatabaseandInformaticasetupondifferentphysicalserversusingHPUNIX4.Sourcedatabasetablehasnoconstraint,noindex,nodatabasestatisticsandnopartition
Whichisthefastest?InformaticaorOracle?
WhichJOINsdatafaster?OracleorInformatica?
TestPreparation
12/23/2015 InformaticaQuestionAnswer
http://shaninformatica.blogspot.com/ 15/71
5.SourcedatabasetableisnotavailableinOraclesharedpoolbeforethesameisread6.ThereisnosessionlevelpartitioninInformaticaPowerCentre7.ThereisnoparallelhintprovidedinextractionSQLquery8.InformaticaJOINERhasenoughcachesizeWehaveusedtwosetsofInformaticaPowerCentremappingscreatedinInformaticaPowerCentredesigner.Thefirstmappingm_db_side_joinwilluseanINNERJOINclauseinthesourcequalifiertosortdataindatabaselevel.Secondmappingm_Infa_side_joinwilluseanInformaticaJOINERtoJOINdataininformaticalevel.Wehaveexecutedthesemappingswithdifferentdatapointsandloggedtheresult.Furthertotheabovetestwewillexecutem_db_side_joinmappingonceagain,thistimewithproperdatabasesideindexesandstatisticsandlogtheresults.
ThefollowinggraphshowstheperformanceofInformaticaandDatabaseintermsoftimetakenbyeachsystemtosortdata.Theaveragetimeisplottedalongverticalaxisanddatapointsareplottedalonghorizontalaxis.
DataPoints MasterTableRecordCount DetailTableRecordCount
1 0.1M 1M
2 0.2M 2M
3 0.4M 4M
4 0.6M 6M
1.Averageserverloadremainssameduringalltheexperiments2.Averagenetworkspeedremainssameduringalltheexperiments
1.Thisdatacanonlybeusedforperformancecomparisonbutcannotbeusedforperformancebenchmarking.2.Thisdataisonlyindicativeandmayvaryindifferenttestingconditions.
Informaticaisoneoftheleadingdataintegrationtoolsintodaysworld.Morethan4,000enterprisesworldwiderelyonInformaticatoaccess,integrateandtrusttheirinformationassetswithit.Ontheotherhand,OracledatabaseisarguablythemostsuccessfulandpowerfulRDBMSsystemthatistrustedfrom1980sinallsortsofbusinessdomainandacrossallmajorplatforms.Bothofthesesystemsarebestsinthetechnologiesthattheysupport.Butwhenitcomestotheapplicationdevelopment,developersoftenfacechallengetostriketherightbalanceofoperationalloadsharingbetweenthesesystems.ThinkaboutatypicalETLoperationoftenusedinenterpriseleveldataintegration.AlotofdataprocessingcanbeeitherredirectedtothedatabaseortotheETLtool.Ingeneral,boththedatabaseandtheETLtoolarereasonablycapableofdoingsuchoperationswithalmostsameefficiencyandcapability.Butinordertoachievetheoptimized
Result
Verdict
Inourtestenvironment,Oracle10gperformsJOINoperation24%fasterthanInformaticaJoinerTransformationwhilewithoutIndexand42%fasterwithDatabaseIndex
Assumption
Note
Whichisthefastest?InformaticaorOracle?
12/23/2015 InformaticaQuestionAnswer
http://shaninformatica.blogspot.com/ 16/71
performance,adevelopermustcarefullyconsideranddecidewhichsystems/heshouldbetrustingwithforeachindividualprocessingtask.Inthisarticle,wewilltakeabasicdatabaseoperationSorting,andwewillputthesetwosystemstotestinordertodeterminewhichdoesitfasterthantheother,ifatall.
Asanapplicationdeveloper,youhavethechoiceofeitherusingORDERBYindatabaseleveltosortyourdataorusingSORTERTRANSFORMATIONinInformaticatoachievethesameoutcome.Thequestioniswhichsystemperformsthisfaster?
Wewillperformthesametestwithdifferentdatapoints(datavolumes)andlogtheresults.Wewillstartwith1millionrecordsandwewillbedoublingthevolumeforeachnextdatapoints.Herearethedetailsofthesetupwewilluse,1.Oracle10gdatabaseasrelationalsourceandtarget2.InformaticaPowerCentre8.5asETLtool3.DatabaseandInformaticasetupondifferentphysicalserversusingHPUNIX4.Sourcedatabasetablehasnoconstraint,noindex,nodatabasestatisticsandnopartition5.SourcedatabasetableisnotavailableinOraclesharedpoolbeforethesameisread6.ThereisnosessionlevelpartitioninInformaticaPowerCentre7.ThereisnoparallelhintprovidedinextractionSQLquery8.Thesourcetablehas10columnsandfirst8columnswillbeusedforsorting9.InformaticasorterhasenoughcachesizeWehaveusedtwosetsofInformaticaPowerCentremappingscreatedinInformaticaPowerCentredesigner.Thefirstmappingm_db_side_sortwilluseanORDERBYclauseinthesourcequalifiertosortdataindatabaselevel.Secondmappingm_Infa_side_sortwilluseanInformaticasortertosortdataininformaticalevel.Wehaveexecutedthesemappingswithdifferentdatapointsandloggedtheresult.
ThefollowinggraphshowstheperformanceofInformaticaandDatabaseintermsoftimetakenbyeachsystemtosortdata.Thetimeisplottedalongverticalaxisanddatavolumeisplottedalonghorizontalaxis.
1.Averageserverloadremainssameduringalltheexperiments2.Averagenetworkspeedremainssameduringalltheexperiments
Thisdatacanonlybeusedforperformancecomparisonbutcannotbeusedforperformancebenchmarking.
Whichsortsdatafaster?OracleorInformatica?
TestPreparation
Result
Verdict
TheaboveexperimentdemonstratesthatOracledatabaseisfasterinSORToperationthanInformaticabyanaveragefactorof14%.Assumption
Note
12/23/2015 InformaticaQuestionAnswer
http://shaninformatica.blogspot.com/ 17/71
SauravMitra
[http://www.dwbiconcepts.com/basicconcept/3etl/32informaticarejectorbadfiles.html?
tmpl=component&print=1&layout=default&page=] [http://cdn1.dwbiconcepts.com/basicconcept/3etl/32informaticarejectorbadfiles.pdf]inShare[file:///E:/Tutorial/fundooo%20informatica%20(1).doc]00diggsdigg
.
[http://www.addthis.com/bookmark.php?v=250&username=xa4bc2f37319cd6ca8]Whenwerunasession,theintegrationservicemaycreatearejectfileforeachtargetinstanceinthemappingtostorethetargetrejectrecord.WiththehelpoftheSessionLogandRejectFilewecanidentifythecauseofdatarejectioninthesession.Eliminatingthecauseofrejectionwillleadtorejectionfreeloadsinthesubsequentsessionruns.IftheInformaticaWriterortheTargetDatabaserejectsdataduetoanyvalidreasontheintegrationservicelogstherejectedrecordsintotherejectfile.Everytimewerunthesessiontheintegrationserviceappendstherejectedrecordstotherejectfile.
BydefaulttheIntegrationservicecreatestherejectfilesorbadfilesinthe$PMBadFileDirprocessvariabledirectory.ItwritestheentirerejectrecordrowinthebadfilealthoughtheproblemmaybeinanyoneoftheColumns.Therejectfileshaveadefaultnamingconventionlike[target_instance_name].bad.Ifweopentherejectfileinaneditorwewillseecommaseparatedvalueshavingsometags/indicatorandsomedatavalues.WewillseetwotypesofIndicatorsintherejectfile.OneistheRowIndicatorandtheotheristheColumnIndicator.ForreadingthebadfilethebestmethodistocopythecontentsofthebadfileandsavingthesameasaCSV(CommaSepataredValue)file.Openingthecsvfilewillgiveanexcelsheettypelookandfeel.ThefirstmostcolumnintherejectfileistheRowIndicator,thatdetermineswhethertherowwasdestinedforinsert,update,deleteorreject.ItisbasicallyaflagthatdeterminestheUpdateStrategyforthedatarow.WhentheCommitTypeofthesessionisconfiguredasUserdefinedtherowindicatorindicateswhetherthetransactionwasrolledbackduetoanonfatalerror,orifthecommittedtransactionwasinafailedtargetconnectiongroup.
RowIndicator IndicatorSignificance RejectedBy
0 Insert Writerortarget
1 Update Writerortarget
2 Delete Writerortarget
3 Reject Writer
4 Rolledbackinsert Writer
5 Rolledbackupdate Writer
6 Rolledbackdelete Writer
7 Committedinsert Writer
8 Committedupdate Writer
9 Committeddelete Writer
NowcomestheColumnDatavaluesfollowedbytheirColumnIndicators,thatdeterminesthedataqualityofthecorrespondingColumn.
InformaticaRejectFileHowtoIdentifyrejectionreason[http://www.dwbiconcepts.com/basicconcept/3etl/32informaticarejectorbadfiles.html]
WorkingwithInformaticaBadFilesorRejectFiles
ListofValuesofRowIndicators:
12/23/2015 InformaticaQuestionAnswer
http://shaninformatica.blogspot.com/ 18/71
>
ColumnIndicator
Typeofdata WriterTreatsAs
DValiddataorGoodData.
Writerpassesittothetargetdatabase.Thetargetacceptsitunlessadatabaseerroroccurs,suchasfindingaduplicatekeywhileinserting.
OOverflowedNumericData.
Numericdataexceededthespecifiedprecisionorscaleforthecolumn.Baddata,ifyouconfiguredthemappingtargettorejectoverflowortruncateddata.
N NullValue.Thecolumncontainsanullvalue.Gooddata.Writerpassesittothetarget,whichrejectsitifthetargetdatabasedoesnotacceptnullvalues.
TTruncatedStringData.
Stringdataexceededaspecifiedprecisionforthecolumn,sotheIntegrationServicetruncatedit.Baddata,ifyouconfiguredthemappingtargettorejectoverflowortruncateddata.
Alsotobenotedthatthesecondcolumncontainscolumnindicatorflagvalue'D'whichsignifiesthattheRowIndicatorisvalid.NowletusseehowDatainaBadFilelookslike:
0,D,7,D,John,D,5000.375,O,,N,BrickLandRoadSingapore,T
Usingincrementalaggregation,weapplycapturedchangesinthesourcedata(CDCpart)toaggregatecalculationsinasession.Ifthesourcechangesincrementallyandwecancapturethechanges,thenwecanconfigurethesessiontoprocessthosechanges.ThisallowstheIntegrationServicetoupdatethetargetincrementally,ratherthanforcingittodeletepreviousloadsdata,processtheentiresourcedataandrecalculatethesamedataeachtimeyourunthesession.
Whenthesessionrunswithincrementalaggregationenabledforthefirsttimesay1stweekofJan,wewillusetheentiresource.ThisallowstheIntegrationServicetoreadandstorethenecessaryaggregatedatainformation.On2ndweekofJan,whenwerunthesessionagain,wewillfilterouttheCDCrecordsfromthesourcei.etherecordsloadedaftertheinitialload.TheIntegrationServicethenprocessesthesenewdataandupdatesthetargetaccordingly.
Useincrementalaggregationwhenthechangesdonotsignificantlychangethetarget.Ifprocessingtheincrementallychangedsourcealtersmorethanhalftheexistingtarget,thesessionmaynotbenefitfromusingincrementalaggregation.Inthiscase,dropthetableandrecreatethetargetwithentiresourcedataandrecalculatethesameaggregationformula.INCREMENTALAGGREGATION,maybehelpfulincaseswhenweneedtoloaddatainmonthlyfactsinaweeklybasis.Letusseeasamplemappingtoimplementincrementalaggregation:
Image:IncrementalAggregationSampleMapping[file:///E:/Tutorial/fundooo%20informatica%20(1).doc]LookattheSourceQualifierquerytofetchtheCDCpartusingaBATCH_LOAD_CONTROLtablethatsavesthelastsuccessfulloaddatefortheparticularmapping.Image:IncrementalAggregationSourceQualifier[file:///E:/Tutorial/fundooo%20informatica%20(1).doc]
LookattheportstabofExpressiontransformation.
ListofValuesofColumnIndicators:
ImplementingInformaticaIncrementalAggregation[http://www.dwbiconcepts.com/advance/4etl/26implementinginformaticasincrementalaggregation.html]
IncrementalAggregation
12/23/2015 InformaticaQuestionAnswer
http://shaninformatica.blogspot.com/ 19/71
LookattheportstabofAggregatorTransformation.
NowthemostimportantsessionpropertiesconfiguationtoimplementincrementalAggregation
12/23/2015 InformaticaQuestionAnswer
http://shaninformatica.blogspot.com/ 20/71
IfwewanttoreinitializetheaggregatecachesupposeduringfirstweekofeverymonthwewillconfigureanothersessionsameastheprevioussessiontheonlychangebeingtheReinitializeaggregatecachepropertycheckedin
Nowhavealookatthesourcetabledata:
12/23/2015 InformaticaQuestionAnswer
http://shaninformatica.blogspot.com/ 21/71
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.ethoserecordshavingloaddategreaterthanthelastsessionrundate.Afterthe2ndweeksloadafterincrementalaggregationoftheincrementalsourcedatawiththeaggregatecachefiledatawillupdatethetargettablewiththefollowingdataset:
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.Attheendofthesession,theIntegrationServicestoresaggregatedataforthatsessionrunintwofiles,theindexfileandthedatafile.TheIntegrationServicecreatesthefilesinthecachedirectoryspecifiedintheAggregatortransformationproperties.Eachsubsequenttimewerunthesessionwithincrementalaggregation,weusetheincrementalsourcechangesinthesession.Foreachinputrecord,theIntegrationServicecheckshistoricalinformationintheindexfileforacorrespondinggroup.Ifitfindsacorrespondinggroup,theIntegrationServiceperformstheaggregateoperationincrementally,usingtheaggregatedataforthatgroup,andsavestheincrementalchange.Ifitdoesnotfindacorrespondinggroup,theIntegrationServicecreatesanewgroupandsavestherecorddata.
Whenwritingtothetarget,theIntegrationServiceappliesthechangestotheexistingtarget.Itsavesmodifiedaggregatedataintheindexanddatafilestobeusedashistoricaldatathenexttimeyourunthesession.Eachsubsequenttimewerunasessionwithincrementalaggregation,theIntegrationServicecreatesabackupoftheincrementalaggregationfiles.ThecachedirectoryfortheAggregatortransformationmustcontainenoughdiskspacefortwosetsofthefiles.
TheIntegrationServicecreatesnewaggregatedata,insteadofusinghistoricaldata,whenweconfigurethesessiontoreinitializetheaggregatecache,Deletecachefilesetc.WhentheIntegrationServicerebuildsincrementalaggregationfiles,thedatainthepreviousfilesislost.Note:Toprotecttheincrementalaggregationfilesfromfilecorruptionordiskfailure,periodicallybackupthefiles.
UsingInformaticaNormalizerTransformation[http://www.dwbiconcepts.com/basicconcept/3etl/23usinginformaticanormalizertransformation.html]
12/23/2015 InformaticaQuestionAnswer
http://shaninformatica.blogspot.com/ 22/71
SauravMitra
[http://www.dwbiconcepts.com/basicconcept/3etl/23usinginformaticanormalizertransformation.html?
tmpl=component&print=1&layout=default&page=] [http://cdn1.dwbiconcepts.com/basicconcept/3etl/23usinginformaticanormalizertransformation.pdf]inShare[file:///E:/Tutorial/fundooo%20informatica%20(1).doc]00diggsdigg
.Normalizer,anativetransformationinInformatica,caneasemanycomplexdatatransformationrequirement.Learnhowtoeffectivelyusenormalizerhere.
ANormalizerisanActivetransformationthatreturnsmultiplerowsfromasourcerow,itreturnsduplicatedataforsingleoccurringsourcecolumns.TheNormalizertransformationparsesmultipleoccurringcolumnsfromCOBOLsources,relationaltables,orothersources.Normalizercanbeusedtotransposethedataincolumnstorows.
NormalizereffectivelydoestheoppositeofwhatAggregatordoes!
Thinkofarelationaltablethatstoresfourquartersofsalesbystoreandweneedtocreatearowforeachsalesoccurrence.WecanconfigureaNormalizertransformationtoreturnaseparaterowforeachquarterlikebelow..Thefollowingsourcerowscontainfourquartersofsalesbystore:SourceTable
Store Quarter1 Quarter2 Quarter3 Quarter4
Store1 100 300 500 700
Store2 250 450 650 850
TheNormalizerreturnsarowforeachstoreandsalescombination.Italsoreturnsanindex(GCID)thatidentifiesthequarternumber:
TargetTable
Store Sales Quarter
Store1 100 1
Store1 300 2
Store1 500 3
Store1 700 4
Store2 250 1
Store2 450 2
Store2 650 3
Store2 850 4
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
UsingNoramalizerTransformation
ExampleofDataTransposeusingNormalizer
HowInformaticaNormalizerWorks
12/23/2015 InformaticaQuestionAnswer
http://shaninformatica.blogspot.com/ 23/71
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.
FirstweneedtosetthenumberofoccurencespropertyoftheExpenseheadas3intheNormalizertaboftheNormalizertransformation,sincewehaveFood,HouserentandTransportation.Whichinturnwillcreatethecorresponding3inputportsintheportstabalongwiththefieldsIndividualandMonth
InthePortstaboftheNormalizertheportswillbecreatedautomaticallyasconfiguredintheNormalizertab.Interestinglywewillobservetwonewcolumnsnamely,
GK_EXPENSEHEADGCID_EXPENSEHEAD
GKfieldgeneratessequencenumberstartingfromthevalueasdefinedinSequencefieldwhileGCIDholdsthevalueoftheoccurencefieldi.e.thecolumnnooftheinputExpensehead.
SettingUpNormalizerTransformationProperty
12/23/2015 InformaticaQuestionAnswer
http://shaninformatica.blogspot.com/ 24/71
Here1isforFOOD,2isforHOUSERENTand3isforTRANSPORTATION.
NowtheGCIDwillgivewhichexpensecorrespondstowhichfieldwhileconvertingcolumnstorows.BelowisthescreenshotoftheexpressiontohandlethisGCIDefficiently:
Image:ExpressiontohandleGCID[file:///E:/Tutorial/fundooo%20informatica%20(1).doc]
ALookUpcachedoesnotchangeoncebuilt.Butwhatiftheunderlyinglookuptablechangesthedataafterthelookupcacheiscreated?Isthereawaysothatthecachealwaysremainuptodateeveniftheunderlyingtablechanges?DynamicLookupCache
Let'sthinkaboutthisscenario.Youareloadingyourtargettablethroughamapping.InsidethemappingyouhaveaLookupandintheLookup,youareactuallylookingupthesametargettableyouareloading.Youmayaskme,"So?What'sthebigdeal?Wealldoitquiteoften...".Andyesyouareright.Thereisno"bigdeal"becauseInformatica(generally)cachesthelookuptableintheverybeginningofthemapping,sowhatever
recordgettinginsertedtothetargettablethroughthemapping,willhavenoeffectontheLookupcache.Thelookupwillstillholdthepreviouslycacheddata,eveniftheunderlyingtargettableischanging.ButwhatifyouwantyourLookupcachetogetupdatedasandwhenthetargettableischanging?Whatifyouwantyourlookupcachetoalwaysshowtheexactsnapshotofthedatainyourtargettableatthatpointintime?Clearlythisrequirementwillnotbefullfilledincaseyouuseastaticcache.Youwillneedadynamiccachetohandlethis.
Tounderstandthis,let'sfirstunderstandastaticcachescenario.
SauravMitra
[http://www.dwbiconcepts.com/basicconcept/3etl/22dynamiclookupcache.html?
tmpl=component&print=1&layout=default&page=] [http://cdn1.dwbiconcepts.com/basicconcept/3etl/22dynamiclookupcache.pdf]
ArticleIndexInformaticaDynamicLookupCache[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]
InformaticaDynamicLookupCache[http://www.dwbiconcepts.com/basicconcept/3etl/22dynamiclookupcache.html]
Butwhyanyonewillneedadynamiccache?
InformaticaDynamicLookupCache[http://www.dwbiconcepts.com/basicconcept/3etl/22dynamiclookupcache.html]
12/23/2015 InformaticaQuestionAnswer
http://shaninformatica.blogspot.com/ 25/71
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]Page1of9inShare[file:///E:/Tutorial/fundooo%20informatica%20(1).doc]00diggsdigg
.ALookUpcachedoesnotchangeoncebuilt.Butwhatiftheunderlyinglookuptablechangesthedataafterthelookupcacheiscreated?Isthereawaysothatthecachealwaysremainuptodateeveniftheunderlyingtablechanges?DynamicLookupCache
Let'sthinkaboutthisscenario.Youareloadingyourtargettablethroughamapping.InsidethemappingyouhaveaLookupandintheLookup,youareactuallylookingupthesametargettableyouareloading.Youmayaskme,"So?What'sthebigdeal?Wealldoitquiteoften...".Andyesyouareright.Thereisno"bigdeal"becauseInformatica(generally)cachesthelookuptableintheverybeginningofthemapping,sowhatever
recordgettinginsertedtothetargettablethroughthemapping,willhavenoeffectontheLookupcache.Thelookupwillstillholdthepreviouslycacheddata,eveniftheunderlyingtargettableischanging.ButwhatifyouwantyourLookupcachetogetupdatedasandwhenthetargettableischanging?Whatifyouwantyourlookupcachetoalwaysshowtheexactsnapshotofthedatainyourtargettableatthatpointintime?Clearlythisrequirementwillnotbefullfilledincaseyouuseastaticcache.Youwillneedadynamiccachetohandlethis.
Tounderstandthis,let'sfirstunderstandastaticcachescenario.
Let'ssupposeyourunaretailbusinessandmaintainallyourcustomerinformationinacustomermastertable(RDBMStable).Everynight,allthecustomersfromyourcustomermastertableisloadedintoaCustomerDimensiontableinyourdatawarehouse.Yoursourcecustomertableisatransactionsystemtable,probablyin3rdnormalform,anddoesnotstorehistory.Meaning,ifacustomerchangeshisaddress,theoldaddressisupdatedwiththenewaddress.Butyourdatawarehousetablestoresthehistory(maybeintheformofSCDTypeII).Thereisamapthatloadsyourdatawarehousetablefromthesourcetable.TypicallyyoudoaLookupontarget(staticcache)andcheckwithyoureveryincomingcustomerrecordtodetermineifthecustomerisalreadyexistingintargetornot.Ifthecustomerisnotalreadyexistingintarget,youconcludethecustomerisnewandINSERTtherecordwhereasifthecustomerisalreadyexisting,youmaywanttoupdatethetargetrecordwiththisnewrecord(iftherecordisupdated).Thisisillustratedbelow,Youdon'tneeddynamicLookupcacheforthis
Image:AstaticLookupCachetodetermineifasourcerecordisneworupdatable
NoticeinthepreviousexampleImentionedthatyoursourcetableisanRDBMStable.Thisensuresthatyoursourcetabledoesnothaveanyduplicaterecord.But,Whatifyouhadaflatfileassourcewithmanyduplicaterecords?Wouldthescenariobesame?No,seethebelowillustration.
Butwhyanyonewillneedadynamiccache?
StaticCacheScenario
DynamicLookupCacheScenario
12/23/2015 InformaticaQuestionAnswer
http://shaninformatica.blogspot.com/ 26/71
Image:AScenarioillustratingtheuseofdynamiclookupcacheHerearesomemoreexampleswhenyoumayconsiderusingdynamiclookup,
UpdatingamastercustomertablewithbothnewandupdatedcustomerinformationcomingtogetherasshownaboveLoadingdataintoaslowlychangingdimensiontableandafacttableatthesametime.Remember,youtypicallylookupthedimensionwhileloadingtofact.Soyouloaddimensiontablebeforeloadingfacttable.Butusingdynamiclookup,youcanloadbothsimultaneously.Loadingdatafromafilewithmanyduplicaterecordsandtoeliminateduplicaterecordsintargetbyupdatingaduplicaterowi.e.keepingthemostrecentrowortheinitialrowLoadingthesamedatafrommultiplesourcesusingasinglemapping.JustconsiderthepreviousRetailbusinessexample.IfyouhavemorethanoneshopsandLindahasvisitedtwoofyourshopsforthefirsttime,customerrecordLindawillcometwiceduringthesameload.
WhentheIntegrationServicereadsarowfromthesource,itupdatesthelookupcachebyperformingoneofthefollowingactions:
Insertstherowintothecache:Iftheincomingrowisnotinthecache,theIntegrationServiceinsertstherowinthecachebasedoninputportsorgeneratedSequenceID.TheIntegrationServiceflagstherowasinsert.Updatestherowinthecache:Iftherowexistsinthecache,theIntegrationServiceupdatestherowinthecachebasedontheinputports.TheIntegrationServiceflagstherowasupdate.Makesnochangetothecache:ThishappenswhentherowexistsinthecacheandthelookupisconfiguredorspecifiedToInsertNewRowsonlyor,therowisnotinthecacheandlookupisconfiguredtoupdateexistingrowsonlyor,therowisinthecache,butbasedonthelookupcondition,nothingchanges.TheIntegrationServiceflagstherowasunchanged.
NoticethatIntegrationServiceactuallyflagstherowsbasedontheabovethreeconditions.Andthat'sagreatthing,because,ifyouknowtheflagyoucanactuallyreroutetherowtoachievedifferentlogic.Thisflagportiscalled
NewLookupRow
Usingthevalueofthisport,therowscanberoutedforinsert,updateortodonothing.YoujustneedtouseaRouterorFiltertransformationfollowedbyanUpdateStrategy.Oh,forgottotellyoutheactualvaluesthatyoucanexpectinNewLookupRowportare:
0=IntegrationServicedoesnotupdateorinserttherowinthecache.1=IntegrationServiceinsertstherowintothecache.2=IntegrationServiceupdatestherowinthecache.
WhentheIntegrationServicereadsarow,itchangesthelookupcachedependingontheresultsofthelookupqueryandtheLookuptransformationpropertiesyoudefine.Itassignsthevalue0,1,or2totheNewLookupRowporttoindicateifitinsertsorupdatestherowinthecache,ormakesnochange.
So,Howdoesdynamiclookupwork?
12/23/2015 InformaticaQuestionAnswer
http://shaninformatica.blogspot.com/ 27/71
Posted2ndJune2012byShankarPrasad
0 Addacomment
2ndJune2012
*******************ShankarPrasad*******************************
1.Can2FactTablessharesamedimensionsTables?HowmanyDimensiontablesareassociatedwithoneFactTableurproject?Ans:Yes
2.WhatisROLAP,MOLAP,andDOLAP...?Ans:ROLAP(RelationalOLAP),MOLAP(MultidimensionalOLAP),andDOLAP(DesktopOLAP).InthesethreeOLAParchitectures,theinterfacetotheanalyticlayeristypicallythesamewhatisquitedifferentishowthedataisphysicallystored. InMOLAP, thepremise is thatonlineanalyticalprocessing isbest implementedbystoringthedatamultidimensionallythatis,datamustbestoredmultidimensionallyinordertobeviewedinamultidimensionalmanner.InROLAP,architectsbelievetostorethedataintherelationalmodelforinstance,OLAPcapabilitiesarebestprovidedagainsttherelationaldatabase.DOLAP, isavariationthatexiststoprovideportabilityfortheOLAPuser.Itcreatesmultidimensionaldatasetsthatcanbetransferredfromservertodesktop,requiringonlytheDOLAPsoftwaretoexistonthetargetsystem.Thisprovidessignificantadvantagestoportablecomputerusers,suchassalespeoplewhoarefrequentlyontheroadanddonothavedirectaccesstotheirofficeserver.
3.WhatisanMDDB?andWhatisthedifferencebetweenMDDBsandRDBMSs?Ans: Multidimensional Database There are two primary technologies that are used for storing the datausedinOLAPapplications.Thesetwotechnologiesaremultidimensionaldatabases(MDDB)andrelationaldatabases(RDBMS).Themajordifference betweenMDDBsandRDBMSsis inhowtheystoredata.Relationaldatabasesstore theirdata inaseriesoftablesand columns. Multidimensional databases, on the other hand, store their data in a largemultidimensionalarrays. Forexample, inanMDDBworld,youmightrefertoasalesfigureasSaleswithDate,Product,andLocationcoordinatesof1212001,Car,andsouth,respectively.AdvantagesofMDDB:Retrievalisveryfastbecause
ThedatacorrespondingtoanycombinationofdimensionmemberscanberetrievedwithasingleI/O.Dataisclusteredcompactlyinamultidimensionalarray.Valuesarecaluculatedaheadoftime.Theindexissmallandcanthereforeusuallyresidecompletelyinmemory.
StorageisveryefficientbecauseTheblockscontainonlydata.Asingleindexlocatestheblockcorrespondingtoacombinationofsparsedimensionnumbers.
4.WhatisMDBmodelingandRDBModeling?Ans:
5.WhatisMappletandhowdoucreateMapplet?Ans: A mapplet is a reusable object that represents a set of transformations. It allows you to reusetransformationlogicandcancontainasmanytransformationsasyouneed.Createamappletwhenyouwanttouseastandardizedsetoftransformationlogicinseveralmappings.Forexample,ifyouhaveaseveralfacttablesthatrequireaseriesofdimensionkeys,youcancreateamappletcontaining
DatawarehouseandInformaticaInterviewQuestion
DatawarehouseandInformaticaInterviewQuestion
12/23/2015 InformaticaQuestionAnswer
http://shaninformatica.blogspot.com/ 28/71
aseriesofLookuptransformationstofindeachdimensionkey.Youcanthenusethemappletineachfacttablemapping,ratherthanrecreatethesamelookuplogicineachmapping.Tocreateanewmapplet:1.IntheMappletDesigner,chooseMappletsCreateMapplet.2.Enteradescriptivemappletname.TherecommendednamingconventionformappletsismpltMappletName.3.ClickOK.TheMappingDesignercreatesanewmappletintheMappletDesigner.4.ChooseRepositorySave.
6.Whatforisthetransformationsareused?Ans:Transformationsarethemanipulationofdatafromhowitappearsinthesourcesystem(s)intoanotherforminthedata warehouseormart inawaythatenhancesorsimplifies itsmeaning.Inshort,utransformdata intoinformation.ThisincludesDatamerging,Cleansing,Aggregation:Datamerging:Processofstandardizingdatatypesandfields.Supposeonesourcesystemcallsintegertypedataassmallint where as another calls similar data as decimal. The data from the two source systems needs torationalizedwhenmovedintotheoracledataformatcallednumber.Cleansing:Thisinvolvesidentifyinganychanginginconsistenciesorinaccuracies.
Eliminatinginconsistenciesinthedatafrommultiplesources.Convertingdatafromdifferentsystemsintosingleconsistentdatasetsuitableforanalysis.Meetsastandardforestablishingdataelements,codes,domains,formatsandnamingconventions.Correctdataerrorsandfillsinformissingdatavalues.Aggregation:Theprocesswherebymultipledetailedvaluesarecombined intoasinglesummaryvaluetypicallysummationnumbersrepresentingdollarsspendorunitssold.Generatesummarizeddataforuseinaggregatefactanddimensiontables.
Data Transformation is an interesting concept in that some transformation can occur during theextract,someduringthe transformation,orevenin limitedcasesduringloadportionoftheETLprocess.Thetypeoftransformationfunctionu needwillmostoftendeterminewhere it shouldbeperformed.Some transformation functionscouldevenbeperformedinmorethanoneplace.Bzemanyofthetransformationsuwillwanttoperformalreadyexistinsomeformoranotherinmorethanoneofthethreeenvironments(sourcedatabaseorapplication,ETLtool,orthetargetdb).7.WhatisthedifferencebtweenOLTP&OLAP?Ans:OLTPstandforOnlineTransactionProcessing.This isstandard,normalizeddatabasestructure.OLTPisdesignedfor
Transactions, which means that inserts, updates, and deletes must be fast. Imagine a call center thattakesorders.Calltakersarecontinuallytakingcallsandenteringordersthatmaycontainnumerousitems.Eachorderandeachitemmustbeinsertedintoadatabase.Sincetheperformanceofdatabaseiscritical,wewant tomaximize thespeedof inserts (andupdatesanddeletes).Tomaximizeperformance,wetypicallytrytoholdasfewrecordsinthedatabaseaspossible.
OLAPstands forOnlineAnalytical Processing.OLAP is a term thatmeansmany things tomanypeople.Here,wewillusethetermOLAPandStarSchemaprettymuchinterchangeably.Wewillassumethatstarschemadatabase is anOLAP system.( This is not the same thing thatMicrosoft calls OLAP theyextendOLAPtomeanthecubestructuresbuiltusingtheirproduct,OLAPServices).Here,wewillassumethatanysystemofreadonly,historical,aggregateddataisanOLAPsystem.
Adatawarehouse(ormart)iswayofstoringdataforlaterretrieval.Thisretrievalisalmostalwaysusedtosupportdecisionmaking in theorganization.That iswhymanydatawarehousesareconsidered tobeDSS(DecisionSupportSystems).
Bothadatawarehouseandadatamartarestoragemechanismsforreadonly,historical,aggregateddata.Byreadonly,wemeanthattheperson lookingatthedatawontbechanging it. Ifauserwantsatthesalesyesterdayforacertainproduct,theyshouldnothavetheabilitytochangethatnumber.
Thehistoricalpartmayjustbeafewminutesold,butusuallyitisatleastadayold.Adatawarehouseusuallyholdsdatathatgoesbackacertainperiodintime,suchasfiveyears.Incontrast,standardOLTPsystemsusuallyonlyholddataaslongasitiscurrentoractive.Anordertable,forexample,maymoveorderstoanarchivetableoncetheyhavebeencompleted,shipped,andreceivedbythecustomer.
Whenwesaythatdatawarehousesanddatamartsholdaggregateddata,weneedtostressthattherearemanylevelsofaggregationinatypicaldatawarehouse.
8.IfdatasourceisintheformofExcelSpreadsheetthenhowdouse?
12/23/2015 InformaticaQuestionAnswer
http://shaninformatica.blogspot.com/ 29/71
Ans:PowerMartandPowerCentertreataMicrosoftExcelsourceasarelationaldatabase,notaflatfile.Likerelationalsources,theDesignerusesODBCtoimportaMicrosoftExcelsource.YoudonotneeddatabasepermissionstoimportMicrosoftExcelsources.ToimportanExcelsourcedefinition,youneedtocompletethefollowingtasks:
InstalltheMicrosoftExcelODBCdriveronyoursystem.CreateaMicrosoftExcelODBCdatasourceforeachsourcefileintheODBC32bitAdministrator.PrepareMicrosoftExcelspreadsheetsbydefiningrangesandformattingcolumnsofnumericdata.ImportthesourcedefinitionsintheDesigner.
Onceyoudefinerangesandformatcells,youcanimporttherangesintheDesigner.Rangesdisplayassourcedefinitionswhenyouimportthesource.
9.WhichdbisRDBMSandwhichisMDDBcanunamethem?Ans:MDDBex.OracleExpressServer(OES),EssbasebyHyperionSoftware,PowerplaybyCognosandRDBMSex.Oracle,SQLServeretc.
10.Whatarethemodules/toolsinBusinessObjects?Explaintheierpurposebriefly?Ans: BO Designer, Business Query for Excel,BOReporter, Infoview,Explorer,WEBI, BO Publisher, andBroadcastAgent,BOZABO).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 andspreadsheets,includingevent notificationandresponsecapabilities,eventfiltering,andcalendarbasednotification,overtheLAN,e mail, pager,Fax, Personal Digital Assistant( PDA), ShortMessagingService(SMS),etc. Set Analyzer Applies setbased analysis to perform functions such as execlusion, intersections,unions,andoverlapsvisually.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 commonaggregations.Therewillalsobeadhocqueriesthatareunpredictable,bothinquantityandfrequency.
Ad Hoc Query: Ad hoc queries are the starting point for any analysis into a database. Any businessanalyst wants to know what is inside the database. He then proceeds by calculating totals, averages,maximumandminimumvaluesformostattributeswithinthedatabase.Theseareunpredictableelementof a data warehouse. It is exactly that ability to run any query when desired and expect a reasonableresponsethatmakesthedatawarhouseworthwhile,andmakesthedesignsuchasignificantchallenge.The enduser access tools are capable of automatically generating the databasequery that answers anyQuestionposedbytheuser.Theuserwilltypicallyposequestionsintermsthattheyarefamilierwith(forexample,salesbystorelastweek)thisisconvertedintothedatabasequerybytheaccesstool,whichisawareofthestructureofinformationwithinthedatawarehouse.Canned queries: Canned queries are predefined queries. In most instances, canned queries containpromptsthatallowyoutocustomizethequeryforyourspecificneeds.Forexample,apromptmayaskyou for a School, department, term, or section ID. In this instance you would enter the name of theSchool, department or term, and thequerywill retrieve the specifieddata from theWarehouse.You canmeasureresourcerequirementsofthesequeries,andtheresultscanbeusedforcapacitypalnningandfordatabasedesign.Themainreasonforusingacannedqueryorreportratherthancreatingyourownisthatyourchancesofmisinterpretingdataorgetting thewronganswerare reduced.Youareassuredofgetting the rightdataandtherightanswer.
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 denormalizemeansthefirst(andoftenonly)answeris:speed.OLTPstructureisdesignedfordatainserts,updates,anddeletes,butnotdataretrieval.Therefore,
12/23/2015 InformaticaQuestionAnswer
http://shaninformatica.blogspot.com/ 30/71
wecanoftensqueezesomespeedoutofitbydenormalizingsomeofthetablesandhavingqueriesgoagainstfewertables. Thesequeriesarefasterbecausetheyperformfewerjoinstoretrievethesamerecordset.JoinsarealsoconfusingtomanyEndusers.Bydenormalizing,wecanpresenttheuserwithaviewofthedatathatisfareasierforthemtounderstand.BenefitsofSTARSCHEMA:
FarfewerTables.Designedforanalysisacrosstime.Simplifiesjoins.Lessdatabasespace.Supportsdrillinginreports.Flexibilitytomeetbusinessandtechnicalneeds.
15.HowdouloadthedatausingInformatica?Ans:Usingsession.
16.(i)WhatisFTP?(ii)Howdouconnecttoremote?(iii)IsthereanotherwaytouseFTPwithoutaspecialutility?Ans: (i):TheFTP (File Transfer Protocol) utility program is commonly used for copying files to and fromothercomputers.These computersmay be at the same site or at different sites thousands ofmiles apart. FTP is generalprotocolthatworksonUNIXsystemsaswellasothernonUNIXsystems.
(ii):Remoteconnectcommands:ftpmachinenameex:ftp129.82.45.181[ftp://ftp%20129.82.45.181/]orftpiesg If the remotemachinehasbeen reachedsuccessfully,FTP respondsbyasking fora loginnameandpassword.Whenuenterurownloginnameandpasswordfortheremotemachine,itreturnsthepromptlikebelowftp> andpermitsuaccess tourownhomedirectoryon the remotemachine.Ushouldbeable tomovearoundinurowndirectoryandtocopyfilestoandfromurlocalmachineusingtheFTPinterfacecommands.Note:UcansetthemodeoffiletransfertoASCII(defaultandtransmitssevenbitspercharacter).UsetheASCIImodewithanyofthefollowing:RawData(e.g.*.dator*.txt,codebooks,orotherplaintextdocuments)SPSSPortablefiles.HTMLfiles.IfusetmodeoffiletransfertoBinary(thebinarymodetransmitsalleightbitsperbyteandthusprovideslesschanceofatransmissionerrorandmustbeusedtotransmitfilesotherthanASCIIfiles).Forexampleusebinarymodeforthefollowingtypesoffiles:
SPSSSystemfilesSASDatasetGraphicfiles(eg.,*.gif,*.jpg,*.bmp,etc.)MicrosoftOfficedocuments(*.doc,*.xls,etc.)
(iii):Yes.IfurusingWindows,ucanaccessatextbasedFTPutilityfromaDOSprompt.Todothis,performthefollowingsteps:
1.FromtheStartProgramsMSDosPrompt2.Enterftpftp.geocities.com[ftp://ftp.geocities.com/].Apromptwillappear(or)Enterftptogetftppromptftp>openhostnameex.ftp>openftp.geocities.com(Itconnecttothespecifiedhost).3.Enteruryahoo!GeoCitiesmembername.4.enteryouryahoo!GeoCitiespwd.YoucannowusestandardFTPcommandstomanagethefilesinyourYahoo!GeoCitiesdirectory.
17.WhatcmdisusedtotransfermultiplefilesatatimeusingFTP?Ans:mget==>Tocopymultiplefilesfromtheremotemachinetothelocalmachine.Youwillbepromptedforay/nanswerbeforetransferringeachfilemget*(copiesallfilesinthecurrentremotedirectorytourcurrentlocaldirectory,usingthesamefilenames).mput==>Tocopymultiplefilesfromthelocalmachinetotheremotemachine.18.WhatisanFilterTransformation?orwhatoptionsuhaveinFilterTransformation?Ans:TheFiltertransformationprovidesthemeansforfilteringrecordsinamapping.YoupassalltherowsfromasourcetransformationthroughtheFiltertransformation,thenenterafilterconditionforthetransformation.AllportsinaFilter
12/23/2015 InformaticaQuestionAnswer
http://shaninformatica.blogspot.com/ 31/71
transformationareinput/output,andonlyrecordsthatmeettheconditionpassthroughtheFiltertransformation.
Youcannotconcatenateports frommore thanone transformation into theFilter transformation theinputportsforthefiltermustcomefromasingletransformation.Filtertransformationsexistwithintheflowofthemappingandcannotbeunconnected.TheFiltertransformationdoesnotallowsettingoutputdefaultvalues.
19.WhataredefaultsourceswhichwillsupportedbyInformaticaPowermart?Ans:
Relationaltables,views,andsynonyms.
Fixedwidthanddelimitedflatfilesthatdonotcontainbinarydata.COBOLfiles.
20.WhendoucreatetheSourceDefinition?CanIusethisSourceDefntoanyTransformation?Ans:When workingwith a file that contains fixedwidth binary data, youmust create the sourcedefinition.TheDesignerdisplaysthesourcedefinitionasatable,consistingofnames,datatypes,andconstraints.Touseasourcedefinitioninamapping,connectasourcedefinitiontoaSourceQualifierorNormalizertransformation.TheInformaticaServerusesthesetransformationstoreadthesourcedata.
21.WhatisActive&PassiveTransformation?Ans:ActiveandPassiveTransformations Transformations can be active or passive. Anactive transformation can change the number ofrecordspassedthroughit.A passive transformation never changes the record count.Forexample, the Filter transformationremovesrowsthatdonotmeetthefilterconditiondefinedinthetransformation.Activetransformationsthatmightchangetherecordcountincludethefollowing:
AdvancedExternalProcedureAggregatorFilterJoinerNormalizerRankSourceQualifier
Note: If you use PowerConnect to access ERP sources, the ERP SourceQualifier is also an activetransformation./* Youcan connectonlyoneof theseactive transformations to the same transformationortarget,sincetheInformaticaServercannotdeterminehowtoconcatenatedatafromdifferentsetsofrecordswithdifferentnumbersofrows.*/Passivetransformationsthatneverchangetherecordcountincludethefollowing:
LookupExpressionExternalProcedureSequenceGeneratorStoredProcedureUpdateStrategy
You can connect any number of these passive transformations, or connect one active
Note:Discardedrowsdonotappearinthesessionlogorrejectfiles
Tomaximizesessionperformance,includetheFiltertransformationasclosetothesourcesinthe
mappingaspossible.
Ratherthanpassingrecordsyouplantodiscardthroughthemapping,youthenfilteroutunwanteddata
earlyinthe
flowofdatafromsourcestotargets.
12/23/2015 InformaticaQuestionAnswer
http://shaninformatica.blogspot.com/ 32/71
transformationwithanynumberofpassivetransformations,tothesametransformationortarget.
22.WhatisstagingAreaandWorkArea?Ans:StagingArea:HoldingTablesonDWServer.LoadedfromExtractProcessInputforIntegration/TransformationMayfunctionasWorkAreasOutputtoaworkareaorFactTable
TemporaryTablesMemory
23.WhatisMetadata?(plzreferDATAWHINGINTHEREALWORLDBOOKpage#125)Ans:Defn:DataAboutDataMetadatacontainsdescriptivedataforendusers.Inadatawarehousethetermmetadataisusedinanumberofdifferentsituations.
Metadataisusedfor:DatatransformationandloadDatamanagementQuerymanagement
Datatransformationandload:Metadatamaybeusedduringdata transformationand loadtodescribe thesourcedataandanychangesthat need to bemade. The advantage of storingmetadata about the data being transformed is that assource data changes the changes can be captured in the metadata, and transformation programsautomaticallyregenerated.Foreachsourcedatafieldthefollowinginformationisreqd:SourceField:
Uniqueidentifier(toavoidanyconfusionoccurringbetn2fieldsofthesameanmefromdifferentsources).
Name(Localfieldname).Type(storagetypeofdata,likecharacter,integer,floatingpointandsoon).Location
system(systemitcomesfromex.Accoutingsystem).object(objectthatcontainsitex.AccountTable).
Thedestinationfieldneedstobedescribedinasimilarwaytothesource:Destination:
UniqueidentifierNameType(databasedatatype,suchasChar,Varchar,Numberandsoon).Tablename(Nameofthetablethfieldwillbepartof).
Theotherinformationthatneedstobestoredisthetransformationortransformationsthatneedtobeappliedtoturnthesourcedataintothedestinationdata:Transformation:
Transformation(s)Name
Language(nameofthelanjuagethattransformationiswrittenin).modulename
syntaxTheNameistheuniqueidentifierthatdifferentiatesthisfromanyothersimilartransformations.
TheLanguageattributecontainsthenameofthelnguagethatthetransformationiswrittenin.Theother attributes aremodulenameandsyntax. Generally thesewill bemutually exclusive,withonlyonebeingdefined.ForsimpletransformationssuchassimpleSQLfunctionsthesyntaxwillbestored. For complex transformations the name of the module that contains the code is storedinstead.Datamanagement:
Metadataisreqdtodescribethedataasitresidesinthedatawarehouse.Thisisneededbythewarhousemanagertoallowittotrackandcontrolalldatamovements.Everyobjectinthedatabaseneedstobedescribed.
Metadataisneededforallthefollowing:Tables
Columnsname
typeIndexes
WorkArea:
12/23/2015 InformaticaQuestionAnswer
http://shaninformatica.blogspot.com/ 33/71
Columnsname
typeViews
Columnsname
typeConstraints
nametypetable
columnsAggregations,PartitioninformationalsoneedtobestoredinMetadata(fordetailsreferpage#30)
QueryGeneration:Metadataisalsorequiredbythequerymangertoenableittogeneratequeries.ThesamemetadatacanbeusedbytheWhousemanagertodescribethedatainthedatawarehouseisalsoreqdbythequerymanager.
Thequerymangaerwillalsogeneratemetadataaboutthequeriesithasrun.Thismetadatacanbeusedtobuildahistoryofallquries runandgenerateaqueryprofile foreachuser,groupofusersand thedatawarehouseasawhole.
Themetadatathatisreqdforeachqueryis:querytablesaccessedcolumnsaccessedname
refenceidentifierrestrictionsappliedcolumnnametablenamereferenceidentifierrestrictionjoinCriteriaappliedaggregatefunctionsused group bycriteria sortcriteria
syntaxexecutionplan
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:
ManagestheschedulingandexecutionofsessionsandbatchesExecutessessionsandbatchesVerifiespermissionsandprivilegesInteractswiththeServerManagerandpmcmd.
12/23/2015 InformaticaQuestionAnswer
http://shaninformatica.blogspot.com/ 34/71
TheInformaticaServermovesdatafromsourcestotargetsbasedonmetadatastoredinarepository.Forinstructionsonhowtomoveandtransformdata,theInformaticaServerreadsamapping(atypeofmetadatathatincludestransformationsandsourceandtargetdefinitions).Eachmappingusesasessiontodefineadditionalinformationandtooptionallyoverridemappingleveloptions.Youcangroupmultiplesessionstorunasasingleunit,knownasabatch.
26.WhatarethetwoprogramsthatcommunicatewiththeInformaticaServer?Ans: Informatica provides Server Manager and pmcmd programs to communicate with the InformaticaServer:
ServerManager. A client applicationused to create andmanage sessions andbatches, and tomonitorand stop the Informatica Server. You can use information provided through the Server Manager totroubleshootsessionsandimprovesessionperformance.pmcmd. A commandline program that allows you to start and stop sessions and batches, stop theInformaticaServer,andverifyiftheInformaticaServerisrunning.
27.WhendoureinitializeAggregateCache?Ans:Reinitializing theaggregate cacheoverwriteshistorical aggregatedatawithnewaggregatedata.Whenyoureinitializetheaggregatecache,insteadofusingthecapturedchangesinsourcetables,youtypicallyneedtousetheusetheentiresourcetable. For example, you can reinitialize the aggregate cache if the source for a session changesincrementallyeverydayandcompletelychangesonceamonth.Whenyoureceivethenewmonthlysource,youmightconfigurethesessiontoreinitializetheaggregatecache,truncatetheexistingtarget,andusethenewsourcetableduringthesession.
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,youcansettheorderinwhichtheInformaticaServersendsrecordstovarioustargetdefinitionsinamapping.Thisfeatureiscrucialifyouwanttomaintainreferentialintegritywheninserting,deleting,orupdatingrecordsintablesthathavetheprimarykeyandforeignkeyconstraintsappliedtothem.TheInformaticaServerwritesdatatoallthetargetsconnectedtothesameSourceQualifierorNormalizersimultaneously,tomaximizeperformance.
28.(ii)WhataretheminimimconditionthatuneedtohavesoastouseTargteLoadOrderOptioninDesigner?Ans:UneedtohaveMultipleSourceQualifiertransformations.TospecifytheorderinwhichtheInformaticaServersendsdatatotargets,createoneSourceQualifierorNormalizertransformationforeachtargetwithinamapping.Tosetthetargetloadorder,youthendeterminetheorderinwhicheachSourceQualifiersendsdatatoconnectedtargetsinthemapping.WhenamappingincludesaJoinertransformation,theInformaticaServersendsallrecordstotargetsconnectedtothatJoineratthesametime,regardlessofthetargetloadorder.
28(iii).HowdousettheTargetloadorder?Ans:Tosetthetargetloadorder:1.CreateamappingthatcontainsmultipleSourceQualifiertransformations.2.Afteryoucompletethemapping,chooseMappingsTargetLoadPlan. Adialogbox listsallSourceQualifiertransformations inthemapping,aswellasthetargetsthatreceivedatafromeachSourceQualifier.3.SelectaSourceQualifierfromthelist.
/?Note:Tobeclarifiedwhenservermangerworksforfollowing?/
12/23/2015 InformaticaQuestionAnswer
http://shaninformatica.blogspot.com/ 35/71
4.ClicktheUpandDownbuttonstomovetheSourceQualifierwithintheloadorder.5.Repeatsteps3and4foranyotherSourceQualifiersyouwishtoreorder.6.ClickOKandChooseRepositorySave.
29.WhatucandowithRepositoryManager?Ans:WecandofollowingtasksusingRepositoryManager:Tocreateusernames,youmusthaveoneofthefollowingsetsofprivileges:AdministerRepositoryprivilege
SuperUserprivilegeTocreateausergroup,youmusthaveoneofthefollowingprivileges:AdministerRepositoryprivilege
SuperUserprivilegeToassignorrevokeprivileges,umusthvoneofthefollowingprivilege..
AdministerRepositoryprivilegeSuperUserprivilege
Note:Youcannotchangetheprivilegesofthedefaultusergroupsorthedefaultrepositoryusers.
30.WhatucandowithDesigner?
Ans:TheDesignerclientapplicationprovidesfivetoolstohelpyoucreatemappings:SourceAnalyzer.Usetoimportorcreatesourcedefinitionsforflatfile,Cobol,ERP,andrelational
sources.WarehouseDesigner.Usetoimportorcreatetargetdefinitions.TransformationDeveloper.Usetocreatereusabletransformations.MappletDesigner.Usetocreatemapplets.MappingDesigner.Usetocreatemappings. Note:TheDesignerallowsyou toworkwithmultiple toolsatone time.Youcanalsowork inmultiplefoldersandrepositories
31.WhataredifferenttypesofTracingLevelsuhvinTransformations?Ans:TracingLevelsinTransformations:LevelDescriptionTerseIndicateswhentheInformaticaServerinitializesthesessionandits
components.Summarizessessionresults,butnotatthelevelofindividualrecords.NormalIncludesinitializationinformationaswellaserrormessagesandnotificationof
rejecteddata. Verbose initialization Includes all information provided with the Normal setting plusmore extensive
informationaboutinitializingtransformationsinthesession.VerbosedataIncludesallinformationprovidedwiththeVerboseinitializationsetting.
Toaddaslightperformanceboost,youcanalsosetthetracing leveltoTerse,writingtheminimumofdetailtothesessionlogwhenrunningasessioncontainingthetransformation.
31(i).Whatthedifferenceisbetweenadatabase,adatawarehouseandadatamart?Ans:Adatabaseisanorganizedcollectionofinformation.Adatawarehouseisaverylargedatabasewithspecialsetsoftoolstoextractandcleansedatafromoperationalsystemsandtoanalyzedata.Adatamartisafocusedsubsetofadatawarehousethatdealswithasingleareaofdataandisorganizedforquickanalysis.
32.WhatisDataMart,DataWareHouseandDecisionSupportSystemexplainbriefly?Ans:DataMart:
Adatamartisarepositoryofdatagatheredfromoperationaldataandothersourcesthatisdesignedtoserveaparticular
communityofknowledgeworkers.Inscope,thedatamayderivefromanenterprisewidedatabaseordatawarehouseorbemorespecialized.Theemphasisofadatamartisonmeetingthespecificdemandsofaparticulargroupofknowledgeusersintermsofanalysis,content,presentation,andeaseofuse.Usersofadatamartcanexpecttohavedatapresentedintermsthatarefamiliar.Inpractice,thetermsdatamartanddatawarehouseeachtendtoimplythepresenceoftheotherinsomeform.However,mostwriters using the term seem to agree that thedesign of a datamart tends tostartfromananalysisofuserneedsandthatadatawarehousetendstostartfromananalysisofwhatdataalreadyexistsandhowitcanbecollectedinsuchawaythatthedatacanlaterbeused.Adatawarehouseisacentralaggregationofdata(whichcanbedistributedphysically)adatamartisadatarepositorythatmayderivefromadatawarehouseornotandthatemphasizeseaseofaccessandusability for a particular designed purpose. In general, a data warehouse tends to be a strategic butsomewhatunfinishedconceptadatamarttendstobetacticalandaimedatmeetinganimmediateneed.
DataWarehouse:Adatawarehouse is a central repository for all or significant parts of the data that an enterprise's
Note:Bydefault,thetracinglevelforeverytransformationisNormal.
12/23/2015 InformaticaQuestionAnswer
http://shaninformatica.blogspot.com/ 36/71
variousbusinesssystemscollect.ThetermwascoinedbyW.H.Inmon.IBMsometimesusestheterm"informationwarehouse."Typically, a datawarehouse is housed on an enterprise mainframe server. Data from various onlinetransactionprocessing(OLTP)applicationsandothersourcesisselectivelyextractedandorganizedonthedata warehouse database for use by analytical applications and user queries. Data warehousingemphasizes the capture of data from diverse sources for useful analysis and access, but does notgenerally start from the pointofview of the end user or knowledge worker who may need access tospecialized,sometimeslocaldatabases.Thelatterideaisknownasthedatamart.datamining,Webmining,andadecisionsupportsystem(DSS)arethreekindsofapplicationsthatcanmakeuseofadatawarehouse.
DecisionSupportSystem:A decision support system (DSS) is a computer program application that analyzes business data andpresentsitsothatuserscanmakebusinessdecisionsmoreeasily.It isan"informationalapplication"(indistinctiontoan"operationalapplication"thatcollectsthedatainthecourseofnormalbusinessoperation).
Typicalinformationthatadecisionsupportapplicationmightgatherandpresentwouldbe:ComparativesalesfiguresbetweenoneweekandthenextProjectedrevenuefiguresbasedonnewproductsalesassumptionsTheconsequencesofdifferentdecisionalternatives,givenpastexperienceinacontextthatisdescribedA decision support system may present information graphically and may include an expert system orartificial intelligence (AI). It may be aimed at business executives or some other group of knowledgeworkers.
33.WhatrthedifferencesbetweenHeterogeneousandHomogeneous?Ans:HeterogeneousHomogeneousStoredindifferentSchemasCommonstructure
StoredindifferentfileordbtypesSamedatabasetypeSpreadacrossinseveralcountriesSamedatacenterDifferentplatformnH/Wconfig.SameplatformandH/Wareconfiguration.
34.HowdoyouuseDDLcommandsinPL/SQLblockex.Accepttablenamefromuseranddropit,ifavailableelsedisplaymsg? Ans: To invoke DDL commands in PL/SQL blocks we have to use Dynamic SQL, the Package used isDBMS_SQL.
35.WhatrthestepstoworkwithDynamicSQL?Ans:OpenaDynamiccursor,ParseSQLstmt,Bindi/pvariables(ifany),ExecuteSQLstmtofDynamicCursorand
ClosetheCursor.
36. Which package, procedure is used to find/check free space available for db objects liketable/procedures/views/synonymsetc?Ans:ThePackageisDBMS_SPACETheProcedureisUNUSED_SPACETheTableisDBA_OBJECTSNote:Seethescripttofindfreespace@c:\informatica\tbl_free_space
37.DoesinformaticaallowifEmpIdisPKeyinTargettblandsourcedatais2rowswithsameEmpID?Ifuuselookupforthesamesituationdoesitallowtoload2rowsoronly1?Ans:=>No,itwillnotitgeneratespkeyconstraintvoilation.(itloads1row)=>EventhennoifEmpIdisPkey.
38. If Ename varchar2(40) from 1 source(siebel), Ename char(100) from another source (oracle) and thetargetishavingNamevarchar2(50)thenhowdoesinformaticahandlesthissituation?HowInformaticahandlesstringandnumbersdatatypessources?
39.Howdoudebugmappings?Imeanwheredouattack?
40.HowdouqrytheMetadatatablesforInformatica?
41(i).Whendouuseconnectedlookupnwhendouuseunconnectedlookup?Ans:
ConnectedLookups:Aconnected Lookup transformation is part of themappingdata flow.With connected lookups, you canhavemultiplereturnvalues.Thatis,youcanpassmultiplevaluesfromthesamerowinthelookuptableoutoftheLookuptransformation.Commonusesforconnectedlookupsinclude:=>Findinganamebasedonanumberex.FindingaDnamebasedondeptno=>Findingavaluebasedonarangeofdates=>Findingavaluebasedonmultipleconditions
12/23/2015 InformaticaQuestionAnswer
http://shaninformatica.blogspot.com/ 37/71
UnconnectedLookups:AnunconnectedLookuptransformationexistsseparatefromthedataflowinthemapping.Youwriteanexpressionusingthe:LKPreferencequalifiertocallthelookupwithinanothertransformation.Somecommonusesforunconnectedlookupsinclude:=>Testingtheresultsofalookupinanexpression=>Filteringrecordsbasedonthelookupresults=>Markingrecordsforupdatebasedontheresultofa lookup(forexample,updatingslowlychanging
dimensiontables)=>Callingthesamelookupmultipletimesinonemapping
41(ii).WhatrthedifferencesbetweenConnectedlookupsandUnconnectedlookups?Ans: Although both types of lookups perform the same basic task, there are some importantdifferences:
Partofthemappingdataflow.Separatefromthemappingdataflow.Canreturnmultiplevaluesfromthesamerow.Returnsonevaluefromeachrow.Youlinkthelookup/outputportstoanotherYoudesignatethereturnvaluewiththeReturnport(R).transformation.Supportsdefaultvalues.Doesnotsupportdefaultvalues.Ifthere'snomatchforthelookupcondition,theIfthere'snomatchforthelookupcondition,theserverserverreturnsthedefaultvalueforalloutputports.returnsNULL.Morevisible.ShowsthedatapassinginandoutLessvisible.Youwriteanexpressionusing:LKPtotellofthelookup.theserverwhentoperformthelookup. Cache includesall lookupcolumnsused in the Cache includes lookup/outputports in theLookupconditionmapping(thatis,lookuptablecolumnsincludedandlookup/returnport.inthelookupconditionandlookuptablecolumnslinkedasoutputportstoothertransformations).42.Whatuneedconcentrateaftergettingexplainplan?Ans:The3mostsignificantcolumnsintheplantablearenamedOPERATION,OPTIONS,andOBJECT_NAME.Foreachstep,thesetelluwhichoperationisgoingtobeperformedandwhichobjectisthetargetofthatoperation.Ex:**************************TOUSEEXPLAINPLANFORAQRY...**************************SQL>EXPLAINPLAN2SETSTATEMENT_ID='PKAR02'3FOR4SELECTJOB,MAX(SAL)5FROMEMP6GROUPBYJOB7HAVINGMAX(SAL)>=5000
Explained.
**************************TOQUERYTHEPLANTABLE:**************************SQL>SELECTRTRIM(ID)||''||2LPAD('',2*(LEVEL1))||OPERATION3||''||OPTIONS4||''||OBJECT_NAMESTEP_DESCRIPTION5FROMPLAN_TABLE6STARTWITHID=0ANDSTATEMENT_ID='PKAR02'7CONNECTBYPRIORID=PARENT_ID8ANDSTATEMENT_ID='PKAR02'9ORDERBYID
STEP_DESCRIPTION
ConnectedLookupUnconnectedLookup
12/23/2015 InformaticaQuestionAnswer
http://shaninformatica.blogspot.com/ 38/71
0SELECTSTATEMENT1FILTER2SORTGROUPBY3TABLEACCESSFULLEMP
43.HowcomponentsareinterfacedinPsoft?Ans:
44.HowdoudotheanalysisofanETL?Ans:
==============================================================
45.WhatisStandard,ReusableTransformationandMapplet?Ans:Mappingscontaintwotypesoftransformations,standardandreusable.Standardtransformationsexist
withinasingle mapping.Youcannot reuseastandard transformationyoucreated inanothermapping,norcanyou
createashortcuttothattransformation.However,oftenyouwanttocreatetransformationsthatperformcommon tasks, suchas calculating theaverage salary inadepartment.Sincea standard transformationcannot beusedbymore thanonemapping, youhave to set up the same transformation each timeyouwanttocalculatetheaveragesalaryinadepartment.
Mapplet:Amapplet isa reusableobject that representsa setof transformations. It allowsyou toreusetransformationlogic and can contain as many transformations as you need. A mapplet can contain transformations,reusabletransformations,andshortcutstotransformations.
46.HowdoucopyMapping,Repository,Sessions?Ans:Tocopyanobject(suchasamappingorreusabletransformation)fromasharedfolder,presstheCtrlkeyanddraganddropthemappingintothedestinationfolder.
Tocopyamappingfromanonsharedfolder
top related