Advent of Code is back! Unwrap daily challenges to sharpen your Alteryx skills and earn badges along the way! Learn more now.

Alteryx Designer Desktop Discussions

Find answers, ask questions, and share expertise about Alteryx Designer Desktop and Intelligence Suite.

Customer Duplicates Rules / Matching

Masond3
8 - Asteroid

Team, 

I have been provided some rules that the business would like to run on our Customer data set. 

 

The rules are as follows ; 

 

FirstName EXACT MatchBlank = FALSE
AND  LastName EXACT MatchBlank = FALSE
AND  MiddleName EXACT MatchBlank = TRUE
AND  Suffix EXACT MatchBlank = TRUE
AND  Email EXACT MatchBlank = FALSE

Matching Method Definition The exact matching method looks for strings that exactly match a pattern. 
MatchBlank Definition = If you select this option for any field, and that field is blank in both of the records being compared, the fields are considered matches.


I am struggling how to implement such rules. So far i am using the "Fuzzy Match" tool and have the following matching Criteria . But i don't believe i have set the matching rules correctly 

 

Field NameMatch StyleEdit Match Options
FirstNameCustom

Generate Keys for each word = False

Ignore if empty = False

LastNameCustom

Generate Keys for each word = False

Ignore if empty = False

MiddleNameExact 

Generate Keys for each word = False

Ignore if empty = True

SuffixExact 

Generate Keys for each word = False

Ignore if empty = True

EmailCustom

Generate Keys for each word = False

Ignore if empty = False


Have attached example test data along with outcomes

Any sight's / screen shots / working scenarios be much appreciated 

 

Regards

Masond3

6 REPLIES 6
peterr_h
8 - Asteroid

Hi @Masond3,

 

If someone else can help with just this (which I hope they can!) then that's great; if not, could you please provide a dataset/dummy dataset to go by?

 

Just as there's lots of conditions to consider, so creating a dataset will take some time.

 

Cheers

Raj
16 - Nebula

@Masond3 

please add some sample input and expected output 
will be in better position to help.

ChrisTX
16 - Nebula
16 - Nebula

Please provide sample input and expected output.  Like @peterr_h mentioned, we cannot decipher your goal.

 

The rules you listed seem to be only ONE rule, because each clause is joined by "AND".

 

Based solely on the word "exact" throughout your rule, it seems like your business users are focused solely on various combinations of exact matches.  Fuzzy match will definitely not give you perfect results if the business expects exact matches on specific fields.

 

Suggestion:

1) Create a "primary data source" dataset with at least 10 or 20 rows.  Searches will execute against your primary data source.

2) Create 10 or 20 "search for this" examples. 

3) For each "search for this" example, provide the expected output when a search is run against your "primary data source" dataset.

 

Also, show your business users sample results using the Fuzzy Match tool.  Select the option for Output Match Score.  See if they are interested in results that will never be "perfect". 

Then decide if you should be using the Fuzzy Match tool, or if you'll be forced to develop a process with multiple Joins.

 

Check out:

 

1) an example of a "waterfall" matching method: try one type of match, then for the records not matched, try a different type of match

         Inside Alteryx Designer under Help >  Sample Workflows > Use scripting and automation tools > Build a Macro > Merge to a master file with fuzzy matching. 

         This workflow uses the macros listed under "Fuzzy Match Supporting Macros"

 

Screenshot 2024-07-11 054915.png

 

2) video: Fuzzy match example

Fuzzy Matching for Beginners
https://community.alteryx.com/t5/Videos/Fuzzy-Matching-for-Beginners/td-p/330575

 

3) video: Fuzzy match example

Summer Camp: Consolidating your CRM System with Alteryx
https://community.alteryx.com/t5/Videos/Summer-Camp-Consolidating-your-CRM-System-with-Alteryx/td-p/...

 

 

Chris

 

 

Masond3
8 - Asteroid

@ChrisTX @Raj @peterr_h  All - apologises for the delay. I have attached scenarios along with expected outcomes. Let me know if your require anything else 

 

many thanks 

peterr_h
8 - Asteroid

Hi @Masond3,

 

I'm not sure if I've misunderstood, but it appears that 'matches' only count if all fields are identical across the two records?

 

If that's the case, then a simple Join (on all fields), followed by a Filter (to remove a customer joining to themself) should suffice.

 

From the example given, it only appears that joins are valid when all fields are identical, which a Join on all fields will provide.

 

I've added a couple of screenshots for your reference.

 

Please let me know if this is incorrect and I'll do some further work.

 

Cheers

Masond3
8 - Asteroid

@peterr_h @This sir is why I love these forums. As I been overthinking this for a while, whilst your solution (need to test when I’m back in the office) seems like it fulfils my requirements 

Labels