71
12/23/2015 Informatica Question Answer http://shaninformatica.blogspot.com/ 1/71 2nd June 2012 Q1. Suppose we have Duplicate records in Source System and we want to load only the unique records in the Target System eliminating the duplicate rows. What will be the approach? Ans. [http://3.bp.blogspot.com/eupPD2VLBU/T8nOyWjmZjI/AAAAAAAADIg/t5 LcnEgyc/s1600/t1.PNG] [http://3.bp.blogspot.com/ BFYOJdTagiM/T8nPFWTZfaI/AAAAAAAADIo/Yg4ByC2Ld5w/s1600/t2.PNG] Let us assume that the source system is a Relational Database . The source table is having duplicate rows. Now to eliminate duplicate records, we can check the Distinct option of the Source Qualifier of the source table and load the target accordingly. Source Qualifier Transformation DISTINCT clause Now suppose the source system is a Flat File. Here in the Source Qualifier you will not be able to select the distinct clause as it is disabled due to flat file source table. Hence the next approach may be we use a Sorter Transformation and check the Distinct option. When we select the distinct option all the columns will the selected as keys, in ascending order by default. Sorter Transformation DISTINCT clause Other ways to handle duplicate records in source batch run is to use an Aggregator Transformation and using the Group By checkbox on the ports having duplicate occurring data. Here you can have the flexibility to select the last or the first of the duplicate column value records. Apart from that using Dynamic Lookup Cache of the target table and associating the input ports with the lookup port and checking the Insert Else Update option will help to eliminate the duplicate records in source and hence loading unique records in the target. Informatica Question Answer Deleting duplicate row using Informatica Deleting duplicate row for FLAT FILE sources Deleting Duplicate Record Using Informatica Aggregator Loading Multiple Target Tables Based on Conditions

Informatica Question Answer

  • Upload
    asadasd

  • View
    78

  • Download
    3

Embed Size (px)

DESCRIPTION

Informatica Question Answer

Citation preview

  • 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