clearMDM - QuickStart Guide 3 - Matching€¦ · Invoice__c Existing Parent Relationship...
Transcript of clearMDM - QuickStart Guide 3 - Matching€¦ · Invoice__c Existing Parent Relationship...
![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](https://reader036.fdocuments.us/reader036/viewer/2022062604/5fc03c09e5db9c00a5288f3f/html5/thumbnails/1.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022062604/5fc03c09e5db9c00a5288f3f/html5/thumbnails/2.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022062604/5fc03c09e5db9c00a5288f3f/html5/thumbnails/3.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022062604/5fc03c09e5db9c00a5288f3f/html5/thumbnails/4.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022062604/5fc03c09e5db9c00a5288f3f/html5/thumbnails/5.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022062604/5fc03c09e5db9c00a5288f3f/html5/thumbnails/6.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022062604/5fc03c09e5db9c00a5288f3f/html5/thumbnails/7.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022062604/5fc03c09e5db9c00a5288f3f/html5/thumbnails/8.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022062604/5fc03c09e5db9c00a5288f3f/html5/thumbnails/9.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022062604/5fc03c09e5db9c00a5288f3f/html5/thumbnails/10.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022062604/5fc03c09e5db9c00a5288f3f/html5/thumbnails/11.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022062604/5fc03c09e5db9c00a5288f3f/html5/thumbnails/12.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022062604/5fc03c09e5db9c00a5288f3f/html5/thumbnails/13.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022062604/5fc03c09e5db9c00a5288f3f/html5/thumbnails/14.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022062604/5fc03c09e5db9c00a5288f3f/html5/thumbnails/15.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022062604/5fc03c09e5db9c00a5288f3f/html5/thumbnails/16.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022062604/5fc03c09e5db9c00a5288f3f/html5/thumbnails/17.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022062604/5fc03c09e5db9c00a5288f3f/html5/thumbnails/18.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022062604/5fc03c09e5db9c00a5288f3f/html5/thumbnails/19.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022062604/5fc03c09e5db9c00a5288f3f/html5/thumbnails/20.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022062604/5fc03c09e5db9c00a5288f3f/html5/thumbnails/21.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022062604/5fc03c09e5db9c00a5288f3f/html5/thumbnails/22.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022062604/5fc03c09e5db9c00a5288f3f/html5/thumbnails/23.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022062604/5fc03c09e5db9c00a5288f3f/html5/thumbnails/24.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022062604/5fc03c09e5db9c00a5288f3f/html5/thumbnails/25.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022062604/5fc03c09e5db9c00a5288f3f/html5/thumbnails/26.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022062604/5fc03c09e5db9c00a5288f3f/html5/thumbnails/27.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022062604/5fc03c09e5db9c00a5288f3f/html5/thumbnails/28.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022062604/5fc03c09e5db9c00a5288f3f/html5/thumbnails/29.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022062604/5fc03c09e5db9c00a5288f3f/html5/thumbnails/30.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022062604/5fc03c09e5db9c00a5288f3f/html5/thumbnails/31.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022062604/5fc03c09e5db9c00a5288f3f/html5/thumbnails/32.jpg)
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.