Only match groups in transactional projects

At page 300 of the “BusinessObjects Data Quality XI Release 2 User’s Guide” we can see that is possible to filter only match records to the target in transactional projects, but the documentation doesn’t tell how!
Does anyone know how to set up the Filter transform to drop the unique records and pass the collection containing the match groups to the Writer transform in transactional projects?

Tks!


Claydson :brazil: (BOB member since 2009-05-06)

I think you can check this logic in sample buleprint under /projects/blueprints/data_quality_france/trans_phonetic_match_candidate_select_france project . open the user defined transform before write transform.

Below is the python expression used to split the unique records.

if DATA_SOURCE_ID_IN.strip() == ‘Transaction’:
if len(GROUP_NUMBER_NAME_IN.strip())==0 and len(GROUP_NUMBER_FIRM_IN.strip())==0 and len(GROUP_NUMBER_EMAIL_IN.strip())==0 and len(GROUP_NUMBER_PHONE_IN.strip())==0 and len(GROUP_NUMBER_ADDRESS_IN.strip())==0:
MATCH_DESCRIPTION_TEMP1 = ‘Transaction does not match any record in database’
record.SendToPipe(PASSTHROUGH_)
elif len(GROUP_NUMBER_NAME_IN.strip())>0 or len(GROUP_NUMBER_FIRM_IN.strip())>0 or len(GROUP_NUMBER_EMAIL_IN.strip())>0 or len(GROUP_NUMBER_PHONE_IN.strip())>0 or len(GROUP_NUMBER_ADDRESS_IN.strip())>0:
MATCH_DESCRIPTION_TEMP1 = 'Transaction matches this row in the database: ’
if len(GROUP_NUMBER_NAME_IN.strip())>0:
MATCH_DESCRIPTION_TEMP2 = 'Contact matches ’ + MATCH_SCORE_NAME_IN.strip() + ‘%’
if len(GROUP_NUMBER_FIRM_IN.strip())>0:
if len(GROUP_NUMBER_NAME_IN.strip())>0:
MATCH_DESCRIPTION_TEMP3 = ', Company matches ’ + MATCH_SCORE_FIRM_IN.strip() + ‘%’
else:
MATCH_DESCRIPTION_TEMP3 = 'Company matches ’ + MATCH_SCORE_FIRM_IN.strip() + ‘%’
if len(GROUP_NUMBER_EMAIL_IN.strip())>0:
if len(GROUP_NUMBER_NAME_IN.strip())>0 or len(GROUP_NUMBER_FIRM_IN.strip())>0:
MATCH_DESCRIPTION_TEMP4 = ', Email matches ’ + MATCH_SCORE_EMAIL_IN.strip() + ‘%’
else:
MATCH_DESCRIPTION_TEMP4 = 'Email matches ’ + MATCH_SCORE_EMAIL_IN.strip() + ‘%’
if len(GROUP_NUMBER_PHONE_IN.strip())>0:
if len(GROUP_NUMBER_NAME_IN.strip())>0 or len(GROUP_NUMBER_FIRM_IN.strip())>0 or len(GROUP_NUMBER_EMAIL_IN.strip())>0:
MATCH_DESCRIPTION_TEMP5 = ', Phone matches ’ + MATCH_SCORE_PHONE_IN.strip() + ‘%’
else:
MATCH_DESCRIPTION_TEMP5 = 'Phone matches ’ + MATCH_SCORE_PHONE_IN.strip() + ‘%’
if len(GROUP_NUMBER_ADDRESS_IN.strip())>0:
if len(GROUP_NUMBER_NAME_IN.strip())>0 or len(GROUP_NUMBER_FIRM_IN.strip())>0 or len(GROUP_NUMBER_EMAIL_IN.strip())>0 or len(GROUP_NUMBER_PHONE_IN.strip())>0:
MATCH_DESCRIPTION_TEMP6 = ', Address matches ’ + MATCH_SCORE_ADDRESS_IN.strip() + ‘%’
else:
MATCH_DESCRIPTION_TEMP6 = 'Address matches ’ + MATCH_SCORE_ADDRESS_IN.strip() + ‘%’
record.SendToPipe(PASSTHROUGH_)
else:
record.SendToPipe(PASSTHROUGH_)

Concatenate partial descriptions to form the complete match description

MATCH_DESCRIPTION_OUT = MATCH_DESCRIPTION_TEMP1 + MATCH_DESCRIPTION_TEMP2 + MATCH_DESCRIPTION_TEMP3 + MATCH_DESCRIPTION_TEMP4 + MATCH_DESCRIPTION_TEMP5 + MATCH_DESCRIPTION_TEMP6

Delete temporary variables

del MATCH_DESCRIPTION_TEMP1
del MATCH_DESCRIPTION_TEMP2
del MATCH_DESCRIPTION_TEMP3
del MATCH_DESCRIPTION_TEMP4
del MATCH_DESCRIPTION_TEMP5
del MATCH_DESCRIPTION_TEMP6

Copyright © 2007 Business Objects. All rights reserved.


civilreddy (BOB member since 2007-05-04)