Top Banner
clearMDM® is a registered trademark of Audit9 Ltd a company registered in the United Kingdom with company number 08088394. 1 QuickStart Guide 3 - Matching Document Version: v1.2 Product Version: v2.9 Date: 9 th September 2017 This document provides an overview and Step-by-Step implementation instructions for the clearMDM Matching MDM operation. The document Appendices also provide additional reference materials. For practitioner guidance in respect to the implementation of clearMDM please refer to the Implementation Model documentation provided on the website, or upon request. Table of Contents QuickStart Guide 3 - Matching ........................................................................................... 1 MDM Process Overview ............................................................................................................. 2 Matching Introduction ............................................................................................................... 3 Definition ....................................................................................................................................... 3 Key Concepts ................................................................................................................................. 3 Matching Rule Types ..................................................................................................................... 7 Matching Methods ........................................................................................................................ 8 Step 1 – Configure Application Settings .................................................................................... 11 Step 2 – Activate the Target Object for Matching ..................................................................... 12 Step 3 – Configure Matching Rules ........................................................................................... 13 Step 4 – Activate the Data Source for Matching ........................................................................ 14 Step 5 – Run the Matching Job ................................................................................................. 16 Step 6 – View Matching Results ................................................................................................ 17 Step 7 – Manual Matching – Find Matches ............................................................................... 19 Step 8 – Manual Matching – Match Analysis............................................................................. 23 Step 9 – Manual Matching – Matching Test .............................................................................. 24 Appendix A - Matching Settings Reference ............................................................................... 27 Appendix B – Troubleshooting.................................................................................................. 31 Matching Log Types ..................................................................................................................... 31
32

clearMDM - QuickStart Guide 3 - Matching€¦ · Invoice__c Existing Parent Relationship Identifiers Data Source. A compa)ble object (or par))on) that provides Source Records to

Aug 18, 2020

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: clearMDM - QuickStart Guide 3 - Matching€¦ · Invoice__c Existing Parent Relationship Identifiers Data Source. A compa)ble object (or par))on) that provides Source Records to

clearMDM®isaregisteredtrademarkofAudit9LtdacompanyregisteredintheUnitedKingdomwithcompanynumber08088394. 1

QuickStartGuide3-MatchingDocumentVersion:v1.2ProductVersion:v2.9Date:9thSeptember2017ThisdocumentprovidesanoverviewandStep-by-StepimplementationinstructionsfortheclearMDMMatchingMDMoperation.ThedocumentAppendicesalsoprovideadditionalreferencematerials.ForpractitionerguidanceinrespecttotheimplementationofclearMDMpleaserefertotheImplementationModeldocumentationprovidedonthewebsite,oruponrequest.

TableofContents

QuickStartGuide3-Matching...........................................................................................1MDMProcessOverview.............................................................................................................2MatchingIntroduction...............................................................................................................3

Definition.......................................................................................................................................3KeyConcepts.................................................................................................................................3MatchingRuleTypes.....................................................................................................................7MatchingMethods........................................................................................................................8

Step1–ConfigureApplicationSettings....................................................................................11Step2–ActivatetheTargetObjectforMatching.....................................................................12Step3–ConfigureMatchingRules...........................................................................................13Step4–ActivatetheDataSourceforMatching........................................................................14Step5–RuntheMatchingJob.................................................................................................16Step6–ViewMatchingResults................................................................................................17Step7–ManualMatching–FindMatches...............................................................................19Step8–ManualMatching–MatchAnalysis.............................................................................23Step9–ManualMatching–MatchingTest..............................................................................24AppendixA-MatchingSettingsReference...............................................................................27AppendixB–Troubleshooting..................................................................................................31

MatchingLogTypes.....................................................................................................................31

Page 2: clearMDM - QuickStart Guide 3 - Matching€¦ · Invoice__c Existing Parent Relationship Identifiers Data Source. A compa)ble object (or par))on) that provides Source Records to

clearMDM®isaregisteredtrademarkofAudit9LtdacompanyregisteredintheUnitedKingdomwithcompanynumber08088394. 2

MDMProcessOverviewThediagrambelowprovidesanoverviewofthecoreMDMoperationsinsequence.ThisdocumentrelatestoSTEP2–RECORDMATCHING.

STEP 1 - RECORD NORMALISATION

Target ObjectERP_Company__c

STEP 2 - RECORD MATCHING

Target ObjectAccount

Source ObjectERP_Company__c

External Data Source: ERP CompaniesTarget Object = AccountSource Object = ERP_Company__c

Matched Record Pair

ObjectMatching

RECORD MATCHING

Matched Record Pair

ObjectMerge

Target ObjectAccount

Source ObjectERP_Company__c

RECORD MATCHING

Reparenting

Target ObjectAccount

Source ObjectERP_Company__c

Child ObjectInvoice__c Existing Parent

Relationship

Identifiers

DataSource.Acompa)bleobject(orpar))on)thatprovidesSourceRecordstoMDMopera)ons.

SourceRecord.SourceRecordsaretheinputtoMDMopera)onsandmayberelatedtoaMasterRecord.

STEP 3 - RECORD MERGESTEP 4 - DATA CONSOLIDATION

Normalisation

Target ObjectAccount

Normalisation

Inputs >ERP Company Name = Barista Coffee LimitedCountry__c = UK

Outputs >ISOCountryCode__c = GBStandardisedName__c = BARISTA COFFEEBlockingKey__c = GBBARISTA

Inputs >Name = Barista Coffee LtdBillingCountry = Great Britain

Outputs >ISOCountryCode__c = GBStandardisedName__c = BARISTA COFFEEBlockingKey__c = GBBARISTA

TargetObject.Acompa)bleobjectthatisdefinedasthetargetforNormalisa)onopera)onsandwhereMasterRecordswillbecreatedorupdated.AllMDMenabledobjectsmustbenormalised.

Internal Data Source: AccountsTarget Object = AccountSource Object = Account

Matching Engine Pass 1:Gather records where the Blocking Key starts with “GBBARI”. Assuming a Blocking Key Match Length setting value of 6.

Pass 2:Compare each unique record pairing within the “GBBARI” group using the Matching Rules defined for the Target Object. Store matches in the Matched Record Pair Object. Matched Record Groups relate Matched Record Pairs within a transitive group.

Master Record Relationship

Matched Record Pair :Record1Id = ‘001….’Record2Id = ‘00X….’RecordGroupId = ‘001….’Target Object = AccountRecord1DataSource = ‘Accounts’Record2DataSource = ‘ERP Companies’Match Score% = 72%Match Status = Candidate

Each Matched Record Group is processed into a single Master Record Create or Update operation.Trust rules control the flow of field values to the Master Record.

Identifiers can be copied from the Source Records to the Master Record and/or Source Records can be related to the Master Record via relationship field.

Source Records can be deleted or retained.

Output >Name = Barista Coffee LtdMDM Status = Merge Master

Output >Name = Barista Coffee LimitedMDM Status = Merge SourceMaster Record = [Account: Barista Coffee Ltd]

MasterRecord.TheMasterRecordistheoutputoftheConversionandMergeMDMopera)onsandisop)onallyrelatedtotheunderlyingSourceRecordsviarela)onshipfieldorsimplythroughconcatena)onofiden)fiersintoafieldontheMasterRecord.

New Parent Relationship

Input >Name = Barista Coffee LtdMDM Status = Merge Master

Input >Name = Barista Coffee LimitedMDM Status = Merge SourceMaster Record = [Account: Barista Coffee Ltd]

Apply Normalisation Rules to Standardise Field Values.

Construct the Blocking Key used to group records by the first pass of the Matching Engine.

A relationship is established between the Master Record and Source Record Related Data. Filters can be applied to ensure only relevant objects and records are reparented.

Once Related Data is re-parented Custom Rollups can aggregate KPI to the Master Record across the consolidated dataset.

RelatedData.ChildrecordsrelatedtoaSourceRecordwherearela)onshiptotheMasterRecordisrequiredtoestablishaconsolidatedview.

Master Record Relationship

Page 3: clearMDM - QuickStart Guide 3 - Matching€¦ · Invoice__c Existing Parent Relationship Identifiers Data Source. A compa)ble object (or par))on) that provides Source Records to

clearMDM®isaregisteredtrademarkofAudit9LtdacompanyregisteredintheUnitedKingdomwithcompanynumber08088394. 3

MatchingIntroductionDefinitionRecord Matching is the process of identifying potential duplicate records within the Salesforcedataset.Insummary,theMatchingMDMoperationappliesMatchingRules(Fuzzy,Exact,Keyetc.)toidentifygroupingswhereeachrecordhasacommonBlockingKeyMatchValue.Withinagivenrecordgroupingeveryrecordismatchedagainsteveryotherrecord(i.e.theCartesianproduct)byMatchingRulesandamatchingscoreiscalculatedforeachrecordpair.Ifthematchingscoreforagivenpairofrecordsisabovethematchingthresholdsettingvalue(fortheTargetObject),thenaMatchedRecordPair record (MatchedRecordPair__c) is created with the Match Status set to “Candidate”. If thematchingscoreforagivenpairofrecordsisabovetheauto-acceptthresholdsettingvalue(fortheTargetObject),thenaMatchedRecordPairrecordiscreatedwiththeMatchStatussetto“Accepted”.MatchingRecordGroupsarecreatedwheremultiplerecordsforthesameBlockingKeyMatchValuematch in a transitivemanner, i.e. record Amatches to B and record Bmatches to record C; theresultantMatchedRecordGroupwill containbothMatchedRecordPairs. TheRecordGroupId__cfieldonMatchedRecordPair__cobjectispopulatedwiththeMatchedRecordGroupId.TheMergeMDMoperationprocesseseachindividualMatchedRecordGroupintoeitheraMasterRecordcreateorupdateoperation;MatchedRecordGroupsthatcontain“Candidate”statusMatchedRecordPairsareskipped;suchgroupsrequirestewardingbeforemergeprocessing.For further information in relation to the Blocking Key and related concepts please refer to thedocumentclearMDM–QuickStartGuide2–Normalisation.KeyConceptsConcept DefinitionTargetObjects AcompatibleobjectthatisdefinedasthetargetforMatchingoperations

andwhereMasterRecordswillbecreatedorupdated.Account,Contact,LeadStandardObjectsaretypicallyconfiguredasTargetObjects,whereduplicaterecordsmayexistdirectlyintheobjectorindirectlyinaseparateobject.AbroadrangeofStandardObjects(includingPersonAccounts)aresupportedasbothTargetObjectsandDataSources.CustomObjectsarealsosupported.

DataSources AcompatibleobjectthatprovidesdatatoMDMoperations.EachDataSourcehasaSourceObjectandaTargetObjectsetting.InternalDataSourcesexposedataheldintheTargetObject.DataSource(Account)>TargetObject(Account)ExternalDataSourcesexposedataheldinadifferentobject.DataSource(ERPCompanies)>TargetObject(Account)Partition Data Sources enable a single object to support multiple DataSourceswith distinct settings. Partition Data Sources are typically used togrouprecordsrelatingtoanexternalsystem(e.g.SAP,SageX3)ortoisolaterecordsatdifferentqualitygrades(e.g.High,MediumandLow).

Page 4: clearMDM - QuickStart Guide 3 - Matching€¦ · Invoice__c Existing Parent Relationship Identifiers Data Source. A compa)ble object (or par))on) that provides Source Records to

clearMDM®isaregisteredtrademarkofAudit9LtdacompanyregisteredintheUnitedKingdomwithcompanynumber08088394. 4

MasterRecordDataSourcesallowMasterRecordstobeexposedtoMDMoperations via a distinct Data Source with appropriate settings such aselevated merge field priorities. A Master Record Partition data source isimplemented as a partition data source that references the record MDMstatusvalue.Check-onlyDataSources support cross-objectmatchingbetween standardobjects. The primary use case for Check Only Data Sources is duplicatecheckingacrossLeads,Contactsand/orPersonAccounts.Forexample,Leadcreation (file import, UI data entry etc.) can be blocked where the LeadmatchestoanexistingContact.

MasterRecords TheMasterRecordistheoutputofMDMprocessingandisoptionallyrelatedtotheunderlyingSourceRecords(orduplicates)viarelationshipfieldorsimplythroughtheconcatenationofrecordidentifiersintoafieldontheMasterRecord.MosttypicallyaMasterRecordisade-duplicatedAccount,PersonAccount,ContactorLeadrecordenrichedwithdatafromitsrelatedSourceRecords.WhereSourceRecords(orduplicates)arenotremoved,itistypicaltousetheSalesforcesharingmodeltorestrictSalesforceend-userrecordaccesstoMasterRecordsexclusively.

SourceRecords SourceRecordsaretheinputtoMDMoperationsandmayberelatedtoaMasterRecord.SourceRecordscanberetained(persistentmodel)ordeleted(transientmodel).SourceRecordscanbeconsideredastheunderlyingduplicatesthatareoftenhiddenfromviewforSalesforceend-usersordeletedentirelyonceprocessed.

MatchingSettings MatchingisconfiguredperTargetObjectontheTargetObjectSettingspageandalsoattheDataSourcelevelontheDataSourcesettingspage.AsettingbysettingdefinitionfortheMatchingSettingsisprovidedinAppendixA.

MatchedState AgivenSourceRecordiseitherexposedtotheMatchingEngineornot.The[IsActiveforMatching?]field(record-levelflag)istypicallyconfiguredtoexpressthiskeyactivationstatevalue.TheMatchingMDMoperationwillsettheflagtoFalseoncompletion,unlessAutoMatchingisapplied(wheretherecord-levelflagisignored).WhereAutoMatchingisnotusedtherecord-levelflagisusedtoisolaterecordsthatrequirematching,i.e.onlyrecordswheretheflagistrueareprocessed.clearMDMcanbeconfigured(“CheckMatchingStateonSave?”)tomanagetheflagvalue;recordmodificationsareevaluatedtodeterminewhetheraMatchingsignificantchangehasoccurred,i.e.anyfieldreferencedinthe

Page 5: clearMDM - QuickStart Guide 3 - Matching€¦ · Invoice__c Existing Parent Relationship Identifiers Data Source. A compa)ble object (or par))on) that provides Source Records to

clearMDM®isaregisteredtrademarkofAudit9LtdacompanyregisteredintheUnitedKingdomwithcompanynumber08088394. 5

settingsorruledefinitionshaschanged.IfsuchachangeoccurstheflagissettoTrue,i.e.therecordhaschangedmateriallyandrequireseitherre-MatchingorSynchronisation.

BlockingKeyMatchValue

TheBlockingKeyisconstructedfromcharacterstakenfromupto3inputfields–theselectedfieldsmusthaveahighpopulationpercentage,bestaticdatai.e.notsubjecttofrequentchange(non-volatile)andincombinationcovernomorethanapproximately250recordsacrossthedataset.TheBlockingKeyispopulatedbytheNormalisationMDMoperation.TheBlockingKeyMatchValueisadefinedsubsetofthefullBlockingKeypopulatedbytheNormalisationMDMoperation.Thenumberofcharactersusedcontrolstheselectivityofthematchingbehaviour.TheBlockingKeyMatchValue(orMatchingKey)providestheinitialgroupingofrecordstowhichMatchingRulesareapplied.Forexample;BlockingKey=GBFEDEXSWBlockingKeyMatchValueLength=5BlockingKeyMatchValue=GBFEDIntheabovecase,recordsonlyrequirethefirst5characterstobecommon,enablingmatchingbetweenrecordsthathaveGBFEDEXSWandGBFEDCONEblockingkeys–forexample.WheretheGBFEDgroupsizeexceedstheconfiguredprocessinglimit,additionalcharacterswillbeaddedtocreatesub-groupingsi.e.GBFEDEandGBFEDC.Auto-adjustmentofthistypecanbeappliedautomaticallybytheMatchingengineandrequiresthefullBlockingLengthtobegreaterthentheBlockingKeyMatchValueLength.RecordswithoutacompleteBlockingKeyarenotmatchedatall,recordsmustshareacommonBlockingKeyMatchValuetobematchedtogether;theBlockingKeystructureisthereforeacriticaldecisionpointwhenconfiguringclearMDMthatrequiresunderstandingofthepopulationcharacteristicsofthetargetdataset.

MatchingAlgorithm Phase1:BlockingKeyMatchValue

• GroupSourceRecordsbyBlockingKeyMatchValue(BKMV)–wheretheDataSourcesetting[AutoMatchRecords?]=True,ortherecord-levelflag[IsActiveforMatching?]=True.

• ForeachBKMVaddMasterRecordswheretheDataSourcesetting[MasterRecordActiveforMatching?]=True.

Phase2:MatchingRules• ForeachBKMVgroupattempttomatchtogethereachdistinct

pairingofrecords(Cartesianproduct).• WheretheMatchScoreisabovetheconfiguredMatchScore%

createaMatchedRecordPair__crecordat“Candidate”or“Accepted”status.

• StructuretheMatchedRecordPair__crecordsintoMatchedRecordGroupsviatheRecordGroupId__cfield,wherea

Page 6: clearMDM - QuickStart Guide 3 - Matching€¦ · Invoice__c Existing Parent Relationship Identifiers Data Source. A compa)ble object (or par))on) that provides Source Records to

clearMDM®isaregisteredtrademarkofAudit9LtdacompanyregisteredintheUnitedKingdomwithcompanynumber08088394. 6

transitiverelationshipexists.Note,asingleSourceRecordcanexistinoneMatchedRecordGrouponly.

• Resetthe[IsActiveforMatching?]flagtoFalse,iftheDataSourcesetting[AutoMatchRecords?]=False.

• SettherecordlevelMDMStatusfieldto“Matched”or“NoMatch”dependingonwhethermatcheshavebeenidentifiedfortherecord–finallyupdatetheLastMatchingDatefield.

Note,SourceRecordswithacompletelyuniqueBlockingKeyMatchValueareskippedbytheMatchingEngineandwillretainablankMDMStatus.

MatchingRules MatchingRulestakeaninputfield,applyaruleandcalculateadirectoutcome(KeyMatchorDeterministicFail)orfield-levelfuzzyscore.Field-levelfuzzyscoresareaggregatedtotherecordleveltodeterminetherecordlevelmatchingscoreagainstwhichtheconfiguredscorethresholdiscomparedtodeterminethematchoutcome(Match=Candidate,Match=AutoAccepted,NoMatch).ThesupportedMatchingRuletypesaredefinedinthefollowingsubsection.

MatchingResults EachmatchedrecordpairisrecordedintheMatchedRecordPair__cobject.Foreachrecordthefollowingattributesarestored:

• Record1Id+Name+DataSource• Record2Id+Name+DataSource• TargetObject• ThresholdMatchScore%• ActualMatchScore%• MatchStatus(Candidate,Rejected,Accepted)• BlockingKeyMatchValue• MatchData(FieldbyFieldScoreCalculations)• RecordGroupId(MatchedRecordGroup)

TheMergeMDMoperationprocesseseachMatchedRecordGroupintoeitheraMasterRecordcreateorupdateoperation.However,MatchedRecordGroupsthatcontain“Candidate”statuspairingswillbeskipped.ItisthereforeakeyDataStewardingrequirementthatCandidatematchesarereviewedandeitherAcceptedorRejectedinorderforthegrouptobeprocessed.Auto-acceptancesettingsprovidecontroloverthelevelofmanualinterventionrequired.

AutoAcceptance ToprovidecontroloverthelevelofeffortrequiredformanualDataStewarding,auto-acceptancecanbeimplemented.Asecond(higher)thresholdscore%isdefined,MatchedRecordPairsthatscoreabovethislevelwillbesettoAccepted(ratherthanCandidate).Intheexamplebelow,matchesabove65%andbelow75%willrequiremanualdatastewarding.FuzzyMatchThreshold%=65%

Page 7: clearMDM - QuickStart Guide 3 - Matching€¦ · Invoice__c Existing Parent Relationship Identifiers Data Source. A compa)ble object (or par))on) that provides Source Records to

clearMDM®isaregisteredtrademarkofAudit9LtdacompanyregisteredintheUnitedKingdomwithcompanynumber08088394. 7

AutoAcceptMatchThreshold%=75%

MatchRejection TherecordIdpairingwithinMatchedRecordPairsthatareexplicitlysettothestatus“Rejected“arerecordedintheRejectedRecordPair__cobject.ThisobjectisreferencedbytheMatchingEnginetoensurethepairingisnotmatchedagain.

MatchingRuleTypesMatchingRulesaredefinedper-fieldontheTargetObjectandappliedone-at-a-timetoeachrecordpaircomparisonforagivenBlockingKeyMatchValue.MatchingRulesareevaluatedindividuallyandreturnoneofthefollowingoutcomes;

1) The Record Pairing is confirmed as aMatch (due to a commonality of field values for aparticularlydiscriminatingfieldsuchasSocialSecurityNumberorMobilePhoneNumber).

2) TheRecord Pairing is confirmed as aNoMatch (due to the absence of commonality of arequiredfieldvalueacrossbothrecords,forexampleGender).

3) AFieldLevelScoreisreturnedandaddedtotheRecordLevelMatchScore.Thesupportedruletypesareoutlinedinthetablebelow.RuleType Order DefinitionKey 1 Ifthetwofieldvalues(ontherecordpair)areequalthentherecord

pairingisdeemedtobeKeymatchat100%.KeyrulescanbeusedonsinglefieldsorformulafieldsthatconcatenateanumberofinputstoreturnaKeyMatchingValueuponwhichaKeyruleisapplied.KeyrulesrunbeforeDeterministicandFuzzyrules.Note,wherefieldvaluescontainsapipe(|)delimitedlistthenmatchingwillbeappliedtoeachindividualvalue.

Deterministic 2 Ifthetwofieldvalues(ontherecordpair)arenotequalthentherecordpairingisdeemedtobeaNon-match.Deterministicrulesprovideameanstorule-outmatchesbeforetheapplicationofFuzzyrules.GenderisoftenagoodexamplefortheDeterministicruletype.

Fuzzy 3 Thetwofieldvalues(ontherecordpair)areevaluatedthroughtheEditdistancealgorithmtodetermineafield-levelmatchingscorewhichisa%oftheMaxFieldScoresettingbasedonthenumberofeditoperationsrequiredtoalignthevaluesfromthetotalpossibleoperations.WhereoneorbothvaluesareblanktheNullFieldScoresettingvalueisreturned.

Page 8: clearMDM - QuickStart Guide 3 - Matching€¦ · Invoice__c Existing Parent Relationship Identifiers Data Source. A compa)ble object (or par))on) that provides Source Records to

clearMDM®isaregisteredtrademarkofAudit9LtdacompanyregisteredintheUnitedKingdomwithcompanynumber08088394. 8

Thefield-levelfuzzy(andexact)matchingscoresareaggregatedtotherecord-leveltoreturnanoverallrecordmatchingscorefortherecordpair.

Exact 3 Thetwofieldvalues(ontherecordpair)areevaluatedforanexactmatch,wherethisisthecasetheMaxFieldScoresettingisreturned.WhereoneorbothvaluesareblanktheNullFieldScoresettingvalueisreturned.

Ignore 0 FieldsthatarerelevanttoMergebuthavenoMatchingsignificanceshouldbesetwiththeIgnoretype.ConverselyfieldsthatareMatchingsignificantbutmustnotbemergedareshouldbesetwiththe“MatchingOnly?]flagequaltoTrue.

MatchingMethodsThe tablebelowoutlines the supportedmethods for invocationof theMatchingMDMOperation.SettingreferencesrefertotheTargetObjectMatchingsettings.Method DefinitionBatchJob TheclearMDMJobspagecanbeusedtoscheduletheMatchingMDM

operationtorunforagivenTargetObjectimmediatelyoronascheduledbasis.The[AutoMatchRecords?]DataSourcesettingcontrolswhetherallrecordsarematched,irrespectiveofMatchedState,orwhetherjustrecordsthatrequirematchingareprocessed.WhereadailybatchprocessingmodelisimplementedforMDMprocessing,theMatchingMDMoperationwilltypicallybethethirdjobandwillinvokethenextjobinthesequenceusingthejobchainingTargetObjectsettingse.g.MergeSettingssection,[IsInvokedbyMatchingJob?]flag.InadditiontothestandardMatchingjob,asecondmatchingjobnamed“InternalMatching”canbeenabled.Thisjobisintendedforprocessinglargedatavolumes(multiplemillionrecords)duringinitialmigrationandislimitedtoprocessingrecordsinasingleobjectonly.ThisjobappliestheinternalDataSourcesettingsforthespecificTargetObjectonly,partitionDataSourcesareignored.

OnRecordCreate RecordscanbeMatchedoncreationtopreventcreationofduplicaterecords.Thismethodrequiresthe[CheckforMatchesonRecordCreation?]TargetObjectsettingtobesettoTrueandtheApplicationSettings–[IsTriggersActive?]settingtobesettoTruealso.Thisbehaviourcanbebypassedforspecificfieldconditionsoruserprofiles.

OnRecordSave RecordscanbeMatchedonsavetopreventcreationofaduplicateviarecordmodification.

Page 9: clearMDM - QuickStart Guide 3 - Matching€¦ · Invoice__c Existing Parent Relationship Identifiers Data Source. A compa)ble object (or par))on) that provides Source Records to

clearMDM®isaregisteredtrademarkofAudit9LtdacompanyregisteredintheUnitedKingdomwithcompanynumber08088394. 9

Thismethodrequiresthefieldspecifiedbythe[MatchingCheckonSaveFieldName]TargetObjectsettingtobesettoTrueoneachrecordandtheApplicationSettings–[IsTriggersActive?]settingtobesettoTrue.Thisbehaviourcanbebypassedforspecificfieldconditionsoruserprofiles.

Action RecordscanbeMatchedbyProcessBuilderaspartofacustomprocessautomation.ToconfigureaProcessBuilderActionforthispurpose,addanActionwithpropertiessetasbelow.

1. ActionType=Apex2. ApexClass="MatchRecordsAction”3. RecordIDparameter=Reference[ObjectIdfield].

TheActioncanalsobeimplementedwithinaVisualWorkflow(orFlow).

API RecordscanbeMatchedbyacustomactionexposedviathestandardForce.comRESTAPI;endpointbelow./services/data/vXX.0/actions/custom/apex/clearmdm__ RecordMatchingAction TheAPIoperationtakesasinglerecordIdparameter.FurtherdetailscanbefoundintheclearMDMAPIGuide.AsecondAPIoperation“QuickMatching”extendspoint-of-entrycheckingouttoexternalsystemsinadistributedMDMmodel./services/apexrest/clearmdm/1.0/QuickMatching TheAPIoperationtakesrecordattributessuchasNameandAddresstoenablematchingplusthelistoffieldstoreturnonmatchedresults.FurtherdetailscanbefoundintheclearMDMAPIGuide.

UI RecordMatchingcanbeappliedmanuallyviathe2pagesbelow.FindMatchesThe“FindMatches”pageisinvokedviaUrlwiththeformatbelow.TheclearMDMpackagedlayoutsforAccount,ContactandLeadcontainCustomButtonsforconvenientaccess./apex/FindMatches?id=[recordId] TheFindMatchespagesupports2real-timesearchscenarios:

1. “Find”:Findmatchesthatareadirectmatchtothegivenrecord.2. “FindAll”:Findallmatchesforthegivenrecord’sBlockingKeyMatch

Value.

Page 10: clearMDM - QuickStart Guide 3 - Matching€¦ · Invoice__c Existing Parent Relationship Identifiers Data Source. A compa)ble object (or par))on) that provides Source Records to

clearMDM®isaregisteredtrademarkofAudit9LtdacompanyregisteredintheUnitedKingdomwithcompanynumber08088394. 10

MatchingresultscanbemanuallysavedasMatchedRecordPairswithinMatchedRecordGroups.SuchgroupswillbeprocessedbythenextMergeMDMoperationjoborcanbemanuallymergedviatheMergepage.MatchingTestThe“MatchingTest”pageisaccessedviaatabintheMDMapp.Arecordsearchcanbeperformed(acrossdatasources)usingacompoundfieldfilter.TworecordsfromthesearchresultscanbeselectedandcomparedusingthecurrentmatchingsettingsfortheTargetObject.TheMatchingTestpageallowsthesettingstoexperimentedwithusingexemplarrecords;refinedsettingscanbeapplieddirectlytotheTargetObjectsettings.ThetwoselectedrecordscanalsobemanuallymergedirrespectiveoftheBlockingKeycommonalityormatchingscore.

Page 11: clearMDM - QuickStart Guide 3 - Matching€¦ · Invoice__c Existing Parent Relationship Identifiers Data Source. A compa)ble object (or par))on) that provides Source Records to

clearMDM®isaregisteredtrademarkofAudit9LtdacompanyregisteredintheUnitedKingdomwithcompanynumber08088394. 11

Step1–ConfigureApplicationSettingsPre-requisite:clearMDMmustbesettoActiveviatheApplicationSettingspage.Pre-requisite:clearMDMmustbesetwithTriggersActiveviatheApplicationSettingspage.Tocompletethisstep,firstnavigatetotheMDMApp,opentheSettingstab,tickthetwofieldshighlightedbelowandclicktheSavebutton.

Page 12: clearMDM - QuickStart Guide 3 - Matching€¦ · Invoice__c Existing Parent Relationship Identifiers Data Source. A compa)ble object (or par))on) that provides Source Records to

clearMDM®isaregisteredtrademarkofAudit9LtdacompanyregisteredintheUnitedKingdomwithcompanynumber08088394. 12

Step2–ActivatetheTargetObjectforMatchingTocompletethisstep,firstnavigatetotheMDMApp,opentheSettingstab,selecttheTargetObjectstabandclicktheEditlinknexttotherequiredTargetObject.Note,forLightningExperiencetheEditmenuisaccessibleviatheDropdownmenuintherightmosttablecolumn.Next,setthe[IsActive?]flagequaltotrueintheMatchingSettingssection(orMatchingSettingstabin Lightning Experience) and ensure the relevant settings are configured correctly. Appendix AprovidesaSettingsreference.

Page 13: clearMDM - QuickStart Guide 3 - Matching€¦ · Invoice__c Existing Parent Relationship Identifiers Data Source. A compa)ble object (or par))on) that provides Source Records to

clearMDM®isaregisteredtrademarkofAudit9LtdacompanyregisteredintheUnitedKingdomwithcompanynumber08088394. 13

Step3–ConfigureMatchingRulesTocompletethisstep,firstnavigatetotheMDMApp,opentheSettingstab,selecttheTargetObjectstabandclicktheEditlinknexttotherequiredTargetObject.Note,forLightningExperiencetheEditmenu is accessible via the Dropdownmenu in the rightmost table column. On the Target ObjectsettingspageclicktheFieldstab.Next,setthe[IsActive?]flagequaltotruenexttotherelevantfieldandselecttherequiredMatchingRuletype(e.g.Key).FortheFuzzyandExactruletypesaMaxScoreandNullScorevaluemustbeentered.FinallyclicktheSavebutton.

Page 14: clearMDM - QuickStart Guide 3 - Matching€¦ · Invoice__c Existing Parent Relationship Identifiers Data Source. A compa)ble object (or par))on) that provides Source Records to

clearMDM®isaregisteredtrademarkofAudit9LtdacompanyregisteredintheUnitedKingdomwithcompanynumber08088394. 14

Step4–ActivatetheDataSourceforMatchingTocompletethisstep,firstnavigatetotheMDMApp,opentheSettingstab,selecttheDataSourcestabandclicktheEditlinknexttotherequiredDataSource.Note,forLightningExperiencetheEditmenuisaccessibleviatheDropdownmenuintherightmosttablecolumn.Next,setthe[IsActive?]flagsequaltotrueintheDataSourceSettingsandMatchingSettingssections(ortabsinLightningExperience)andensuretherelevantsettingsareconfiguredcorrectly.AppendixAprovidesaSettingsreference.

Page 15: clearMDM - QuickStart Guide 3 - Matching€¦ · Invoice__c Existing Parent Relationship Identifiers Data Source. A compa)ble object (or par))on) that provides Source Records to

clearMDM®isaregisteredtrademarkofAudit9LtdacompanyregisteredintheUnitedKingdomwithcompanynumber08088394. 15

Page 16: clearMDM - QuickStart Guide 3 - Matching€¦ · Invoice__c Existing Parent Relationship Identifiers Data Source. A compa)ble object (or par))on) that provides Source Records to

clearMDM®isaregisteredtrademarkofAudit9LtdacompanyregisteredintheUnitedKingdomwithcompanynumber08088394. 16

Step5–RuntheMatchingJobTocompletethisstep,firstnavigatetotheMDMApp,opentheJobstab,selecttheMatchingJobtypeandtherequiredTargetObject.FinallyselecttherequiredJobScheduleandclickthe“ScheduleJob”button.

Page 17: clearMDM - QuickStart Guide 3 - Matching€¦ · Invoice__c Existing Parent Relationship Identifiers Data Source. A compa)ble object (or par))on) that provides Source Records to

clearMDM®isaregisteredtrademarkofAudit9LtdacompanyregisteredintheUnitedKingdomwithcompanynumber08088394. 17

Step6–ViewMatchingResultsTocompletethisstep,firstnavigatetotheMDMApp,opentheMatchedRecordPairstabandthenopenaMatchedRecordPairrecordbyclickingonthehyperlinkintheMatchedRecordPairNumbercolumn.OntheMatchedRecordPairdetailpagenavigatetotheMatchedRecordGroupviathe“ViewMatchedRecordGroup”button(ordropdownmenuoptioninLightningExperience).ThescreenshotsbelowshowaMatchedRecordGroupcreatedbytheMatchingMDMoperation.

Page 18: clearMDM - QuickStart Guide 3 - Matching€¦ · Invoice__c Existing Parent Relationship Identifiers Data Source. A compa)ble object (or par))on) that provides Source Records to

clearMDM®isaregisteredtrademarkofAudit9LtdacompanyregisteredintheUnitedKingdomwithcompanynumber08088394. 18

ThescreenshotbelowshowstheMatchingMDMfieldsdisplayedonanexamplerecord.PlacementofMDM fields on layouts for administrators, data stewards and end-users is a key implementationdecision.

Page 19: clearMDM - QuickStart Guide 3 - Matching€¦ · Invoice__c Existing Parent Relationship Identifiers Data Source. A compa)ble object (or par))on) that provides Source Records to

clearMDM®isaregisteredtrademarkofAudit9LtdacompanyregisteredintheUnitedKingdomwithcompanynumber08088394. 19

Step7–ManualMatching–FindMatchesThescreenshotsbelowshowthestepsofthe“FindMatches”featurethatallowsrealtimematchingtobeinvokedfromabuttonorlinkdisplayedontherecorddetailpage.OpenaSourceRecordandclickthe“FindMatches”buttonorlink.The“FindMatches”CustomButtonforAccountprovidesatemplatethatcanbecopiedforotherobjects.

Page 20: clearMDM - QuickStart Guide 3 - Matching€¦ · Invoice__c Existing Parent Relationship Identifiers Data Source. A compa)ble object (or par))on) that provides Source Records to

clearMDM®isaregisteredtrademarkofAudit9LtdacompanyregisteredintheUnitedKingdomwithcompanynumber08088394. 20

NextclicktheFindbutton(directmatchestotherecord)orFindMatchesbutton(allmatchesfortheblockingkeymatchvalue)toperformareal-timematchingoperation.

Page 21: clearMDM - QuickStart Guide 3 - Matching€¦ · Invoice__c Existing Parent Relationship Identifiers Data Source. A compa)ble object (or par))on) that provides Source Records to

clearMDM®isaregisteredtrademarkofAudit9LtdacompanyregisteredintheUnitedKingdomwithcompanynumber08088394. 21

NextclicktheSavebuttontocreateaMatchedRecordGroupforpairingsthathavethe[IsMatch?]columnticked.Note,thisvaluecanbeoverriddenmanually.

Page 22: clearMDM - QuickStart Guide 3 - Matching€¦ · Invoice__c Existing Parent Relationship Identifiers Data Source. A compa)ble object (or par))on) that provides Source Records to

clearMDM®isaregisteredtrademarkofAudit9LtdacompanyregisteredintheUnitedKingdomwithcompanynumber08088394. 22

NextopentheMatchedRecordGroupviathehyperlinkshownabove.

Finally theMatchedRecordGroup enablesMatchAnalysis of individual pairing and the option tomanuallymergethegroup.

Page 23: clearMDM - QuickStart Guide 3 - Matching€¦ · Invoice__c Existing Parent Relationship Identifiers Data Source. A compa)ble object (or par))on) that provides Source Records to

clearMDM®isaregisteredtrademarkofAudit9LtdacompanyregisteredintheUnitedKingdomwithcompanynumber08088394. 23

Step8–ManualMatching–MatchAnalysisThescreenshotsbelowshowthe“MatchedRecordGroup”and“MatchAnalysis”features.Note,thefeatures are applicable to all Matched Record Groups irrespective of whether the grouping wascreatedbymanual,batchjoborAPImatching.

Page 24: clearMDM - QuickStart Guide 3 - Matching€¦ · Invoice__c Existing Parent Relationship Identifiers Data Source. A compa)ble object (or par))on) that provides Source Records to

clearMDM®isaregisteredtrademarkofAudit9LtdacompanyregisteredintheUnitedKingdomwithcompanynumber08088394. 24

Step9–ManualMatching–MatchingTestThescreenshotsbelowshowthe“MatchingTest”featurethatallowstwoarbitraryrecordstofound,comparedandpotentiallymerged.ThefeatureisintendedtoenableanexploratoryapproachtothedefinitionoftheoptimalsetofMatchingRules.

AcompoundfiltercanbedefinedusingStartsWithorContainspredicates.TheSearchbuttonsrunsthedefinedquerytoreturnanymatchingrecordsacrossallactiveDataSourcesfortheselectedTargetObject.

Page 25: clearMDM - QuickStart Guide 3 - Matching€¦ · Invoice__c Existing Parent Relationship Identifiers Data Source. A compa)ble object (or par))on) that provides Source Records to

clearMDM®isaregisteredtrademarkofAudit9LtdacompanyregisteredintheUnitedKingdomwithcompanynumber08088394. 25

FromthereturnedSearchResults,2recordscanbeselectedandtheNextbuttonclickedtoproceedtotheComparepage.

Page 26: clearMDM - QuickStart Guide 3 - Matching€¦ · Invoice__c Existing Parent Relationship Identifiers Data Source. A compa)ble object (or par))on) that provides Source Records to

clearMDM®isaregisteredtrademarkofAudit9LtdacompanyregisteredintheUnitedKingdomwithcompanynumber08088394. 26

The compare page allows Matching Rule changes to be applied and the Matching Score to berecalculated.

Page 27: clearMDM - QuickStart Guide 3 - Matching€¦ · Invoice__c Existing Parent Relationship Identifiers Data Source. A compa)ble object (or par))on) that provides Source Records to

clearMDM®isaregisteredtrademarkofAudit9LtdacompanyregisteredintheUnitedKingdomwithcompanynumber08088394. 27

AppendixA-MatchingSettingsReferenceTargetObjectMatchingSettingsareconfiguredontheTargetObjectsettingspage.Setting DefinitionIsActive? IfsettoFalsetheTargetObjectwillbeexcludedfromall

NormalisationMDMoperation.IsInternalMatchingActive? IfsettoTruetheInternalMatchingjobisavailableforselectionon

theJobspage.CheckforMatchesonRecordCreation? IfsettoTruethenMatchingwillrunfornewrecordsatthetimeof

creation–wherematchesarefoundtherecordcreationwillbeblocked.

AutoAdjustBlockingKeyMatchValue? IfsettoTruethenMatchingenginewillincreasethelengthoftheBlockingKeyMatchValuetoallowprocessingofgroupsthatexceedthecurrentsettings.Auto-adjustmentisonlypossiblewheretheoverallsizeoftheBlockingKey(Inputlengths1,2and3combined)exceedsthecurrentBlockingKeyMatchLength.

MatchingCheckonSaveFieldName IfsettoTruethenMatchingwillrunformodifiedrecordsatthetimeofsave–wherematchesarefoundtherecordmodificationwillbeblocked.Thisbehaviourcanprovetoorestrictiveincertaincircumstances(Adminprofilesetc.)–assuchtheMatchingCheckcanbebypassedusingtheMatchingCheckOverrideFieldNamesetting.

MatchingCheckOverrideFieldName AcheckboxformulafieldontheTargetObjectthatreturnstrueforagivenrecordwheretheMatchingCheckonSavebehaviourshouldbebypassed.Theformulaexpressioncanencapsulatelogicalconditions(suchasparticularrecordtypesetc.)andaccessscenarios(Userprofileetc.).

BlockingKeyMatchLength ThelengthoftheBlockingKeyValueusedfortheinitialgroupingofrecordsbeforeMatchingRulesareapplied.ItisbestpracticetodefineaBlockingKeylengthinthe8-10rangeandusethefirst6or7charactersforgrouping.WherelargegroupingsareencounteredtheMatchingenginecanaddthe8th,9thor10thcharactertodecomposethegroupintosmallsubgroupings.

DateMatchingTolerance Thenumberofdaysdifferencebetween2comparedDateorDatetimefieldvaluesthatconstitutesamatch.WherethisvalueisZerodatesmustbethesameday,wherethetoleranceis1thenthedatescanbeonedayapartandstillbeconsideredamatch.

FuzzyMatchThreshold% Thematchscore%thatconstitutesaCandidatematch.Comparedrecordpairsthatscorebeneaththisthresholdarenon-matchesandarenotrecordedintheMatchedRecordPairobject.

MatchingManagerApexClassName ThenameofApexClasstowhichthematchingenginedelegatesthematchingalgorithm.TheStandardMatchingManagerdefaultimplementstheEditDistanceorLevenshteinalgorithm.CustomalgorithmscanbeimplementedusingtheApexlanguage.

AutoAcceptMatches? IfsettoTruethencomparedrecordpairsmaybesettoAcceptedstatusautomaticallyifthescorevalueissufficientlyhigh.

AutoAcceptMatchThreshold Thematchscore%thatconstitutesanAcceptedmatch.Comparedrecordpairsthatscoreonorabovethisthresholdareauto-accepted.

Page 28: clearMDM - QuickStart Guide 3 - Matching€¦ · Invoice__c Existing Parent Relationship Identifiers Data Source. A compa)ble object (or par))on) that provides Source Records to

clearMDM®isaregisteredtrademarkofAudit9LtdacompanyregisteredintheUnitedKingdomwithcompanynumber08088394. 28

IsInvokedbyNormalisationJob? IfsettoTruethenNormalisationjobswillinvokeaMatchingjobforthesameTargetObjectuponcompletion.

IsInvokedbySynchronisationJob? IfsettoTruethenSynchronisationjobswillinvokeaMatchingjobforthesameTargetObjectuponcompletion.

DataSourceSettingsareconfiguredontheDataSourcesettingspage.Setting DefinitionDataSourceSettingsIsActive? IfsettoFalsetheDataSourcewillbeexcludedfromallMatching

MDMoperations.IsExternal? IfsettoTruethentheDataSourceisoftheexternaltypeanda

SourceObjectmustbespecified.IfsettoFalsethentheDataSourceisoftheinternaltypeandonlytheTargetObjectmustbespecifiedastheSourceObjectwillbethesamevalue.

Name AuniquenamefortheDataSource.Examplesbelow.AccountsMasterAccountsExcludedContactsHighQualityLeadsSAPCompaniesEcommerceCustomers

SourceSObjectType ExternalDataSourcesOnly.ThenameoftheobjectthisDataSourceexposesrecordsfrom.

TargetSObjectType ThenameoftheTargetObjecttowhichthisDataSourcerelates.TheMatchingMDMoperationrunsforagivenTargetObject;recordsaregatheredfromallDataSources(internalandexternal)fortheTargetObject.

MDMStatusFieldName AtextfieldontheSourceObjectintowhichtheMDMstatusisset,e.g.Matched,NoMatch,MergeSource.

IsActiveforSynchronisation? IfsettoTruethentheDataSourcewillexposeSourceRecordstotheSynchronisationMDMoperation.SynchronisationallowsfieldvaluechangestoefficientlyflowacrossanexistinglinkagebetweenaSourceRecordandaMasterRecordwithouttherequirementtore-matchandmergethemodifiedSourceRecord.TheSynchronisationMDMoperationprocessesSourceRecordsthathavethe[IsActiveforMatchingflag]settotrue.

IsActiveforReparentingFieldName AcheckboxfieldontheSourceObjectthatreturnsTruewhereaSourceRecordhasbeenmergedandchildrecordsshouldbere-parented.TheflagissettoTruebytheMergeoperationandsubsequentlysettoFalsebytheReparentingMDMoperation.WherechildrecordsretainarelationshiptotheSourceRecord(CustomObjects)andaresubjecttoongoingchange–theparentSourceRecordflagmustbesettoTruetoallowsarelationshiptotheMasterRecordtobeestablished.ProcessBuilderprovidesanefficientmeanstoaddressthisrequirement.TheReparentingMDMoperationconsolidateschildrecordsparentedbymergedSourceRecordstotherelatedMasterRecord.Thisoperationiskeyinprovidingaconsolidated(360º)view.

Page 29: clearMDM - QuickStart Guide 3 - Matching€¦ · Invoice__c Existing Parent Relationship Identifiers Data Source. A compa)ble object (or par))on) that provides Source Records to

clearMDM®isaregisteredtrademarkofAudit9LtdacompanyregisteredintheUnitedKingdomwithcompanynumber08088394. 29

ResetReparentingFlag? IfsettoTruethentheMatchingMDMoperationwillsetthe[IsActiveforReparenting?]recordlevelflagequaltofalseforallmatchedrecordsinanticipationoftheMergeMDMoperationsettingthesameflagtotrueformergedrecords.

IsPartition? IfsettoTruethentheDataSourceexposesthesubsetoftheSourceObjectrecordsasdefinedbythepartitionfilter.

PartitionFieldName IsPartition=Trueonly.AcustomtextfieldontheSourceObjectuponwhichreturnsthepartitionfiltervalue.BestPractice:Atextformulafieldcanbeimplementedtoreturntherequiredpartitionvaluebasedonlogicencapsulatedintheexpression.AlternativelytheDataQualityMDMoperationcanpopulatethedefinedfieldwiththepartitionvalue.

PartitionFieldValue IsPartition=Trueonly.Atextvaluethatdefinesthefilterlogicappliedtothepartition;externalsystemnameorregionorqualitygradeetc.

DataSourceMatchingSettingsIsActive? IfsettoFalsetheDataSourcewillbeexcludedfromallMatching

MDMoperations.AutoMatchRecords? IfsettoTruethenallSourceRecordsfortheSourceObject(subjectto

partitionfiltering)areexposedtotheMatchingMDMoperationirrespectiveofthesettingoftherecord-level[IsActiveforMatching?]flag.Automatchingistypicallyusedonlywhenanexistingdatasetismatchedforthefirsttime–orduringexploratorytesting.

MasterRecordsActiveforMatching? AutoMatchRecords=FalseOnly.IfsettoTruethenallMasterRecordsfortheSourceObject(subjecttopartitionfiltering)areexposedtotheMatchingMDMoperationirrespectiveofthesettingoftherecord-level[IsActiveforMatching?]flag.ThisflagenablesnewormodifiedSourceRecordstobematchedagainstthefullsetofexistingMasterRecordsforthesameBlockingKeyMatchValue.IfsettoFalsethenSourceRecordsarematchedagainstrecordsthathavetherecord-level[IsActiveforMatching?]flagequaltotrueonly.

CheckMatchingStateonSave? AutoMatchRecords=FalseOnly.IfsettoTruethenrecordmodificationswillbeevaluatedtodeterminewhetheramatchingsignificantfieldhaschanged,ifthisisthecasethenthe[IsActiveforMatching?]flagissettotruetoexposetherecordtothenextSynchronisationorMatchingMDMoperation.

ResetSourceRecordMatchingFlag? AutoMatchRecords=FalseOnly.IfsettoTruethentheMatchingMDMoperationwillsettherecord-level[IsActiveforMatching?]flagequaltofalseoncearecordhasbeenprocessed.Thisflagiskeytoensuringthatrecordsareonlyprocessedonceunlesssubsequentmatchingsignificantfieldchangesareapplied.

IsActiveforMatchingFieldName AutoMatchRecords=FalseOnly.AcheckboxfieldontheSourceObjectthatispopulatedwithatruevaluewhenarecordshouldbeexposedtotheMatchingMDMoperation.

MasterRecordFlagFieldName AutoMatchRecords=False&MasterRecordsActiveforMatching=TrueOnly.AcheckboxfieldontheSourceObjectthatispopulatedwithatruevaluewhenarecordistoconsideredaMasterRecord.Ifnofield

Page 30: clearMDM - QuickStart Guide 3 - Matching€¦ · Invoice__c Existing Parent Relationship Identifiers Data Source. A compa)ble object (or par))on) that provides Source Records to

clearMDM®isaregisteredtrademarkofAudit9LtdacompanyregisteredintheUnitedKingdomwithcompanynumber08088394. 30

referenceissetthenthedefinitionofaMasterRecordistakenfromtheMDMStatusbeingequalto‘MergeMaster’or‘ConversionMaster’.BestPractice:InmanycasesstandalonerecordsthathavenoMDMStatusarealsoconsideredtobeaMasterRecord.Tosupportthisaformulafieldcanbeimplementedthatreturnstruewhenarecord’sMDMStatusisnot‘MergeSource’or‘ConversionSource’.TheformulafieldwillbesettocontroldeterminationofMasterRecordstateinthissetting.

LastMatchingDateFieldName AdatetimefieldontheSourceObjectthatwillbepopulatedwiththeprocessingtimestamp.

SourcetoTargetFieldSettingsTargetField ATargetObjectfieldthatisactiveforMatchingandMerge.SourceField ExternalDataSourcesonly.

ASourceObjectfieldthatismappedtotheTargetField.MDMoperationsprocessdataacrossobjectusingadynamicfieldmapcomprisedofSourcetoTargetfieldmappings.

CrossFieldMatching AdditionalfieldsontheSourceObjectwheretheTargetFieldvaluemayexist.TheMatchingMDMoperationwillevaluatethebestscorefortheTargetFieldacrossboththeprimaryfieldandthesecondaryfieldsspecifiedbythissetting.

Page 31: clearMDM - QuickStart Guide 3 - Matching€¦ · Invoice__c Existing Parent Relationship Identifiers Data Source. A compa)ble object (or par))on) that provides Source Records to

clearMDM®isaregisteredtrademarkofAudit9LtdacompanyregisteredintheUnitedKingdomwithcompanynumber08088394. 31

AppendixB–TroubleshootingAllclearMDMMDMoperationslogactivity(StartandEndtimesetc.)anderrorstotheAuditLogEntryobject.TheMDMapplication includesanAuditLogEntry tabtoprovideconvenientaccess to thisdata.EachAuditLogEntryrecordistime-stampedandrelatedtotheparentBatchJobRunrecord:allMDMoperationsthatrunviatheJobMethodcreatedaBatchJobRunrecordthatrecordsjobstatisticsandstatus.MonitoringoftheAuditLogshouldbeafrequentactivityperformedbytheAdministratororDataStewardresponsiblefortheclearMDMimplementation.BestPractice:SalesforceReportingNotificationsprovideaproactivemeansofreportingonerrorsgeneratedbyclearMDMoperations.InthismodelastandardreportisusedtoreturndatafromtheAuditLogEntryobjectwhererequiredconditionsaremet.OnlywhenrecordsmeetthecriteriaisareportsenttotheAdministratororDataStewardresponsible.MatchingLogTypesRuleType DefinitionGroupSizeLimitReached-SourceRecordsWillBeIgnored[XXXXX]7451:5000.0

ThenumberofSourceRecordsfortheBKMVexceedsthesettingvaluebelow.[SystemSettings]MaxRecordsPerIterableCycleWhereDataSourcesexistthatareconfiguredwith[MasterRecordsActiveforMatching?]=TruethentheactuallimitappliedtotheSourceRecordcountisreducedbythepercentagespecifiedinthesettingbelow.[SystemSettings]MasterRecordPartitionAllowanceTheaboveisnecessarytolimittheworkloadplacedintoeachBatchApexexecutecyclesuchthatCPUtimeouterrorsareavoided.Tomitigatethiserror,theBKMVcanbemademoreselectivebyaddingadditionalcharacters(increasingtheBKMVlengthsetting).Or,theSystemSettingsbelowcanbemodified.MaxRecordsPerGroup:ControlsthemaximumBKMVgroupsizebeforeauto-adjustmenttakesplace.RecommendedSetting:500MaxRecordsPerIterableCycle:ControlsthemaximumnumberofrecordsthatcanbeplacedintotheworkloadforasingleBatchApexexecutecycle.RecommendedSetting:2000

Page 32: clearMDM - QuickStart Guide 3 - Matching€¦ · Invoice__c Existing Parent Relationship Identifiers Data Source. A compa)ble object (or par))on) that provides Source Records to

clearMDM®isaregisteredtrademarkofAudit9LtdacompanyregisteredintheUnitedKingdomwithcompanynumber08088394. 32

MaxGroupsPerIterableCycle:ControlsthemaximumnumberofBKMVgroupsthatcanbeplacedintotheworkloadforasingleBatchApexexecutecycle.RecommendedSetting:5(thiscanbereduceddownto4,3,2or1wherelimitissuesarerecordasbelow)

BlockingKey[XXXXX]GroupSizeLimitReached-SourceRecordsWillBeIgnored

ThenumberofSourceRecordsfortheBKMVexceedsthesettingvaluebelow–andautoadjustmentisnotenabledORautoadjustmenthasbeenappliedandthereferencedBKMVisthefullBlockingKeylengthandnofurtheradjustmentpossible.[SystemSettings]MaxRecordsPerGroup

BlockingKey[XXXXX]AutoAdjustment-SourceRecordsWillBeIgnored

ThereferencedBKMVhasbeenauto-adjustedbutnotallSourceRecordscouldbeassignedtosubgroupingswithinthesizelimitdefinedbythesettingbelow.[SystemSettings]MaxRecordsPerGroup

CycleProcessingStopped-ProcessingLimitExceeded(CpuTime,HeaporDmlRows)bk:JOHNNcputime:59708[59400.000]heap:689258[11880000.000]dml:isPersist=true:222[9999]

TheworkloadplacedintotheBatchApexexecutecyclereachedprocessinglimitsandtoavoidahardplatformexceptionprocessinghasbeenstopped.Tomitigatethiserrorpleaserefertotheprecedingrow.

MissingorInactiveTargetObjectMatchingsettings

ThiserrorcanoccurwheretheTargetObjectMatchingsettingsareinactive,deletedortheSalesforceUserdoesnothavepermissionstotheobjectorfieldsreferenced.