-
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