Cómo afinar el procesamiento MATCH

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.


Principio de página

Ejemplo: Cómo usar comandos de visualización en procesamiento MATCH

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