Puede afinar el procesamiento MATCH utilizando los comandos PRINT y SUM. Para entender su diferencia, deben tener entendimiento de la relación de uno a varios: SUM genera un registro desde varios, mientras que PRINT muestra cada registro individual. A través de decisiones apropiadas de campos BY, es posible usar sólo el comando SUM y obtener el mismo resultado que PRINT produciría.
Para ilustrar los efectos de PRINT y SUM en el procesamiento MATCH, considere los orígenes de datos A y B, y la serie de solicitudes a continuación:
A B F1 F2 F3 F1 F4 F5 1 x 100 1 a 10 2 y 200 1 b 20 2 c 30 2 d 40
Solicitud 1: Esta solicitud suma los campos F2 y F3 del archivo A, suma los campos F4 y F5 del archivo B y utiliza F1 como el campo común de clasificación de orden elevado.
MATCH FILE A SUM F2 AND F3 BY F1 RUN FILE B SUM F4 AND F5 BY F1 AFTER MATCH HOLD OLD-OR-NEW END
El archivo HOLD contiene los datos a continuación:
F1 F2 F3 F4 F5 1 x 100 b 30 2 y 200 d 70
Fíjese que el archivo que resulta sólo contiene un registro para cada campo común de clasificación de orden elevado.
Solicitud 2: Esta solicitud suma los campos F2 y F3 del archivo A, suma los campos F4 y F5 del archivo B y utiliza F1 como el campo común de clasificación de orden elevado.
MATCH FILE A SUM F2 AND F3 BY F1 RUN FILE B PRINT F4 AND F5 BY F1 AFTER MATCH HOLD OLD-OR-NEW END
El archivo HOLD contiene:
F1 F2 F3 F4 F5 1 x 100 a 10 1 x 100 b 20 2 y 200 c 30 2 y 200 d 40
Fíjese que se duplican los registros del archivo A para cada registro del archivo B.
Solicitud 3: Esta solicitud suma los campos F2 y F3 del archivo A, suma los campos F4 y F5 del archivo B y utiliza F1 como el campo común de clasificación de orden elevado.
MATCH FILE A PRINT F2 AND F3 BY F1 RUN FILE B SUM F4 AND F5 BY F1 AFTER MATCH HOLD OLD-OR-NEW END
El archivo HOLD contiene:
F1 F2 F3 F4 F5 1 x 100 b 30 2 y 200 d 70
Fíjese que se incluye cada registro del archivo A, pero sólo se incluye el último registro del archivo B de cada campo común de clasificación de orden elevado.
Solicitud 4: Esta solicitud suma los campos F2 y F3 del archivo A, suma los campos F4 y F5 del archivo B y utiliza F1 como el campo común de clasificación de orden elevado.
MATCH FILE A PRINT F2 AND F3 BY F1 RUN FILE B PRINT F4 AND F5 BY F1 AFTER MATCH HOLD OLD-OR-NEW END
El archivo HOLD contiene:
F1 F2 F3 F4 F5 1 x 100 a 10 1 0 b 20 2 y 200 c 30 2 0 d 40
Fíjese en el valor en blanco de F2 y el 0 de F3.
Solicitud 5: Esta solicitud suma los campos F2 y F3 del archivo A, suma los campos F4 y F5 del archivo B y utiliza F1 como el campo común de clasificación de orden elevado.
MATCH FILE A SUM F2 AND F3 BY F1 RUN FILE B SUM F5 BY F1 BY F4 AFTER MATCH HOLD OLD-OR-NEW END
El archivo HOLD contiene:
F1 F2 F3 F4 F5 1 x 100 a 10 1 x 100 b 20 2 y 200 c 30 2 y 200 d 40
Fíjese que los registros para el campo A se muestran para cada ocurrencia del registro en el archivo B.
WebFOCUS |