MATCH-Verarbeitung mit übereinstimmenden Sortierfeldern der höheren Ebene

Wenn Sie MATCH so einrichten, dass das erste Sortierfeld (BY) (übereinstimmendes Sortierfeld der höheren Ebene genannt) beider Datenquellen dasselbe ist, werden die Werte der übereinstimmenden Sortierfelder der höheren Ebene verglichen. Wenn die gesamte Sortierfeldreihe für beide Dateien gleich ist, werden alle verglichen.

Es wird mindestens ein Sortierfeldpaar benötig. Die Feldformate müssen gleich sein. In manchen Fällen können Sie ein Feldformat neu definieren, indem Sie den Befehl DEFINE verwenden. Verwenden Sie, wenn sich die Namen der Felder unterscheiden, die AS-Phrase, um das zweite Sortierfeld wie das erste zu benennen. Wenn die AS-Phrase in einer MATCH-Anfrage verwendet wird, wird das angegebene Feld in der resultierenden HOLD-Datei automatisch neu benannt.

Wenn Sie Dateien mit übereinstimmenden Sortierfeldern kombinieren, wird Folgendes angenommen:


Nach oben

Beispiel: MATCH-Verarbeitung mit übereinstimmenden Sortierfeldern der höheren Ebene

Beachten Sie, um übereinstimmende Sortierfelder der höheren Ebene besser zu verstehen, manche der Daten aus den folgenden Datenquellen:

EMPLOYEE-Datenquelle

EDUCFILE-Datenquelle

EMP_ID

LAST_NAME

EMP_ID

COURSE_CODE

071382660

STEVENS

071382660

101

119329144

BANNING

212289111

103

112847612

SMITH

112847612

103

und diese MATCH-Anfrage:

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

MATCH-Verarbeitung verläuft folgendermaßen:

Der folgende Code erstellt einen Report aus den Datensätzen in der HOLD-Datei:

TABLE FILE HOLD
PRINT *
END

Die Ausgabe ist:

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


Beispiel: Mit einem übereinstimmenden Sortierfelder der höheren Ebene kombinieren

Diese Anfrage kombiniert Daten der Datenquellen EMPLOYEE und EMPDATA. Die Sortierfelder sind EID und 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

Nach oben

Beispiel: Ohne ein übereinstimmendes Sortierfeld der höheren Ebene kombinieren

Falls keine übereinstimmende Sortierfelder der höheren Ebene vorhanden sind, werden Übereinstimmungen von Datensatz zu Datensatz gesucht. Die folgende Anfrage stellt die Daten gegenüber und erstellt die HOLD-Datei:

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

Die aus den beiden Datenquellen abgerufenen Datensätze werden in die HOLD-Datei geschrieben. Es werden keine Werte verglichen. Die Ausgabe ist:

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