Traitement MATCH avec des champs de tri d'ordre supérieur communs

Lorsque vous créez votre MATCH de afin que le premier critère de tri (BY) (appelé le critère de tri d'ordre supérieur commun) utilisé par les deux sources de données soit le même, le match compare les valeurs des critères de tri d'ordre supérieur communs. Si la série de critères de tri entière est commune aux deux fichiers, on compare tous les champs.

Au moins une paire de critères de tri est exigée. Les formats de champ doivent être les mêmes. Dans certains cas, vous pouvez redéfinir le format d'un champ en utilisant la commande DEFINE. Si les noms de champs diffèrent, utilisez la phrase AS pour renommer le deuxième critère de tri pour qu'il corresponde au premier critère de tri. Lorsque la phrase AS est utilisée dans une requête MATCH, le champ spécifié est renommé automatiquement dans le fichier HOLD résultant.

Lorsque vous fusionnez des fichiers comportant des critères de tri communs, les suppositions suivantes sont faites :


Haut de page

Exemple : Traitement MATCH avec des champs de tri d'ordre supérieur communs

Pour mieux comprendre les critères de tri d'ordre supérieur, examinez quelques données des sources de données suivantes

Source de données EMPLOYEE

Source de données EDUCFILE

EMP_ID

LAST_NAME

EMP_ID

COURSE_CODE

071382660

STEVENS

071382660

101

119329144

BANNING

212289111

103

112847612

SMITH

112847612

103

et de cette requête MATCH :

MATCH FILE EMPLOYEE
SUM LAST_NAME BY EMP_ID
RUN 
FILE EDUCFILE
SUM COURSE_CODE BY EMP_ID
AFTER MATCH HOLD OLD-OR-NEW
END

Le traitement MATCH s'effectue comme ce qui suit :

Le code suivant produit un rapport contenant les enregistrements du fichier HOLD :

TABLE FILE HOLD
PRINT *
END

La sortie est :

EMP_ID
LAST_NAME
COURSE_CODE
071382660
STEVENS
101
112847612
SMITH
103
117593129
JONES
203
119265415
SMITH
108
119329144
BANNING
 
123764317
IRVING
 
126724188
ROMANS
 
212289111
 
103
219984371
MCCOY
 
315548712
 
108
326179357
BLACKWOOD
301
451123478
MCKNIGHT
101
543729165
GREENSPAN
 
818692173
CROSS
302


Exemple : Traitement MATCH avec des critères de tri d'ordre supérieur communs

Cette requête combine des données des sources de données EMPLOYEE et EMPDATA. Les critères de tri sont EID et PIN.

MATCH FILE EMPLOYEE
PRINT LN FN DPT
BY EID
RUN
FILE EMPDATA
PRINT LN FN DEPT
BY PIN
AFTER MATCH HOLD OLD-OR-NEW
END
 
TABLE FILE HOLD
PRINT *
END

Haut de page

Exemple : Fusion sans critère de tri d'ordre supérieur commun

S'il n'y a aucuns critères de tri d'ordre supérieur, une correspondance s'effectue sur la base d'enregistrements individuels. La requête suivante fait correspondre les données et produit le fichier HOLD :

MATCH FILE EMPLOYEE
PRINT LAST_NAME AND FIRST_NAME
BY EMP_ID
RUN
FILE EMPDATA
PRINT PIN
BY LAST_NAME
BY FIRST_NAME
AFTER MATCH HOLD OLD-OR-NEW
END
 
TABLE FILE HOLD
PRINT *
END

Les enregistrements récupérés des deux sources de données sont inscrits dans le fichier HOLD ; aucune valeur n'est comparée. La sortie est :

EMP_ID
LAST_NAME
FIRST_NAME
LASTNAME
FIRSTNAME
PIN
071382660
STEVENS
ALFRED
  ADAMS
RUTH
000000040
112847612
SMITH
MARY
  ADDAMS
PETER
000000050
117593129
JONES
DIANE
  ANDERSON
TIM
000000100
119265415
SMITH
RICHARD
  BELLA
MICHAEL
000000020
119329144
BANNING
JOHN
  CASSANOVA
LOIS
000000030
123764317
IRVING
JOAN
  CASTALANETTA
MARIE
000000270
126724188
ROMANS
ANTHONY
  CHISOLM
HENRY
000000360
219984371
MCCOY
JOHN
  CONRAD
ADAM
000000250
326179357
BLACKWOOD
ROSEMARIE
  CONTI
MARSHALL
000000410
451123478
MCKNIGHT
ROGER
  CVEK
MARCUS
000000130
543729165
GREENSPAN
MARY
  DONATELLO
ERICA
000000320
818692173
CROSS
BARBARA
  DUBOIS
ERIC
000000210
 
 
 
  ELLNER
DAVID
000000380
 
 
 
  FERNSTEIN
ERWIN
000000350
 
 
 
  GORDON
LAURA
000000180
 
 
 
  GOTLIEB
CHRIS
000000340
 
 
 
  GRAFF
ELAINE
000000390
 
 
 
  HIRSCHMAN
ROSE
000000160
 
 
 
  KASHMAN
YOLANDA
000000240
 
 
 
  LASTRA
KAREN
000000200
 
 
 
  LEWIS
CASSANDRA
000000220
.
.
.

WebFOCUS