Procesamiento MATCH con campos comunes de clasificación de orden elevado

Cuando construye su MATCH para que el campo de clasificación BY (llamado el campo común de clasificación de orden elevado) usado para ambos orígenes de datos es el mismo, el emparejamiento compara los valores de los campos comunes de clasificación de orden elevado. Si la secuencia completa de campos de orden es común a ambos archivos, se comparan todos.

Se requiere al menos un par de campos de clasificación con el mismo formato. En algunos casos, puede redefinir el formato de un campo usando el comando DEFINE. Si los nombres de campo difieren, use la frase AS para renombrar el segundo campo de clasificación para emparejarlo con el primero. Cuando se utiliza una frase AS en una solicitud MATCH, se renombra automáticamente el campo especificado en el archivo HOLD que resulta.

Cuando integra dos archivos con campos de clasificación común, se asume lo siguiente:


Principio de página

Ejemplo: Procesamiento MATCH con campos comunes de clasificación de orden elevado

Para entender campos comunes de clasificación de orden elevado más claramente, considere algunos de los datos desde los orígenes de datos a continuación

Origen de datos EMPLOYEE

Origen de datos EDUCFILE

EMP_ID

LAST_NAME

EMP_ID

COURSE_CODE

071382660

STEVENS

071382660

101

119329144

BANNING

212289111

103

112847612

SMITH

112847612

103

y esta solicitud 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

El procesamiento MATCH ocurre como a continuación:

El código a continuación produce un informe de los registros en el archivo HOLD:

TABLE FILE HOLD
PRINT *
END

La salida es:

										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


Ejemplo: Cómo integrar con un campo común de clasificación de orden elevado

Esta solicitud combina datos desde los orígenes de datos EMPLOYEE y EMPDATA. Los campos de clasificación son EID y 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

Principio de página

Ejemplo: Cómo integrar sin un campo común de clasificación de orden elevado

Si no hay campos comunes de clasificación de orden elevado, se lleva a cabo un emparejamiento a base de registro por registro. La solicitud a continuación hace coincidir los datos y produce el archivo 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

Los registros recuperados desde los orígenes de datos se escriben al archivo HOLD; no se comparan ningunos valores. La salida es:

										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