Cómo fusionar orígenes de datos concatenados

En esta sección:

Cómo:

Puede usar la frase MORE en una solicitud MATCH para fusionar hasta dieciséis conjuntos de orígenes de datos concatenados.

Debe reunir todos los requisitos MATCH en la solicitud principal. Todos los orígenes de datos a fusionarse deben estar organizados por al menos un campo con un formato en común.

La solicitud MATCH resulta en un archivo HOLD que contiene los datos fusionados. Puede especificar cómo desea fusionar cada archivo sucesivo utilizando un comando AFTER MATCH. Por ejemplo, puede retener:


Principio de página

x
Sintaxis: Cómo Fusionar orígenes de datos concatenados
1. MATCH FILE file1main request 
   MORE 
2. FILE file2subrequest 
   MORE 
3. FILE file3subrequest 
   RUN 
4. FILE file4main request 
5. [AFTER MATCH merge_phrase] 
   MORE 
6. FILE file5subrequest 
   MORE 
7. FILE file6subrequest 
   RUN 
8. FILE file7main request 
9. [AFTER MATCH merge_phrase]
   MORE 
10.FILE file8subrequest 
   MORE 
11.FILE file9subrequest 
   END
  1. Inicia el primer conjunto de respuestas en el MATCH. File1 es el primer origen de datos en el primer conjunto de respuestas.
  2. Concatena file2 para file1 en el primer conjunto de respuestas MATCH.
  3. Concatena file3 para file1 y file2 en el primer conjunto de respuestas MATCH.
  4. Inicia el segundo conjunto de respuestas en el MATCH. File4 es el primer origen de datos en el segundo conjunto de respuestas.
  5. Todos los datos concatenados en el primer conjunto de respuestas se fusionan con los datos concatenados en el segundo conjunto de respuestas utilizando la AFTER MATCH merge_phrase en el segundo conjunto de respuestas.
  6. Concatena file5 a file4 en el segundo conjunto de respuestas MATCH.
  7. Concatena file6 a file4 y file5 en el segundo conjunto de respuestas MATCH.
  8. Inicia el tercer conjunto de respuestas en el MATCH. File7 es el primer origen de datos en el tercer conjunto de respuestas.
  9. Todos los datos concatenados en el primer y segundo conjunto de respuestas, ahora un archivo HOLD, se fusionan con los datos concatenados en el tercer conjunto de respuestas utilizando la AFTER MATCH merge_phrase en el tercero conjunto de respuestas. Este conjunto final de datos fusionados se almacena en un archivo HOLD.
  10. Concatena file8 a file7 en el tercer conjunto de respuestas MATCH.
  11. Concatena file9 a file7 y file8 en el tercer conjunto de respuestas MATCH.

Principio de página

x
Cómo utilizar los campos de clasificación en solicitudes MATCH

Si los orígenes de datos en MATCH comparten los campos comunes de clasificación de orden elevado y los formatos, el proceso MATCH fusiona registros con valores de campo de clasificación coincidente desde cada uno de los archivos. Si los dos orígenes de datos en el MATCH tienen el mismo campo de clasificación con nombres diferentes, puede cambiar uno de los nombres con una frase AS.

Si los archivos en el MATCH no comparten un campo de clasificación de orden elevado, los campos no se comparan. En cambio, los campos dEl primero registro en cada uno de los orígenes de campos se fusionan para crear el primer registro en el archivo HOLD y así seguidamente para todos los registros restantes.



Ejemplo: Cómo fusionar orígenes de datos concatenados con campos comunes de clasificación de orden elevado

El procedimiento de ejemplo almacenado comentado a continuación ilustra MATCH con MORE, utilizando un campo común de clasificación:

1. DEFINE FILE EMPDATA
   CURR_SAL/D12.2M = CSAL;
   FIRST_NAME/A10 = FN;
   EID/A9 = PIN;
   END
 
   -*Start MATCH.
  
2. MATCH FILE EMPLOYEE
      SUM CURR_SAL AS 'CURRENT'
          FIRST_NAME AS 'FIRST'
      BY EID AS 'SSN'
   -*Concatenate file EMPDATA to EMPLOYEE to form first MATCH answer set. 
3.    MORE
      FILE EMPDATA
      RUN
   -*Second MATCH answer set:
  
4. FILE TRAINING
      PRINT EXPENSES 
5.    BY PIN AS 'SSN' 
6.    AFTER MATCH HOLD OLD-OR-NEW
   END
 
   -*Print merged file:
  
7. TABLE FILE HOLD
      PRINT *
   END
  1. Define los campos EMPDATA necesarios para concatenarlo a EMPLOYEE.
  2. Inicia el MATCH y la solicitud principal en la concatenación. La solicitud principal define toda la visualización y la clasificación para los archivos concatenados. El campo de clasificación se titula SSN en el archivo resultante.
  3. Concatena el archivo EMPDATA a EMPLOYEE. Este archivo concatenado convierte el archivo OLD en el MATCH.
  4. Genera el archivo NEW en el MATCH.
  5. Utiliza una frase AS para cambiar el nombre del campo de clasificación en el archivo NEW al mismo nombre como el campo de clasificación en el archivo OLD.
  6. Define el procedimiento de fusión. Todos los registros desde el archivo NEW, el archivo OLD y ambos archivos se incluyen en el archivo HOLD final.
  7. Muestra los valores desde el archivo fusionado.

La primera página de salida es:

SSN                CURRENT  FIRST        EXPENSES
---                -------  -----        --------
000000010       $55,500.00  DANIEL       2,300.00
000000020       $62,500.00  MICHAEL             .
000000030       $70,000.00  LOIS         2,600.00
000000030       $70,000.00  LOIS         2,300.00
000000040       $62,500.00  RUTH         3,400.00
000000050       $54,100.00  PETER        3,300.00
000000060       $55,500.00  DORINA              .
000000070       $83,000.00  EVELYN              .
000000080       $43,400.00  PAMELA       3,200.00
000000080       $43,400.00  PAMELA       3,350.00
000000090       $33,000.00  MARIANNE            .
000000100       $32,400.00  TIM          3,100.00
000000110       $19,300.00  ANTHONY      1,800.00
000000110       $19,300.00  ANTHONY      2,500.00
000000110       $19,300.00  ANTHONY      2,400.00
000000120       $49,500.00  KATE         2,200.00
000000130       $62,500.00  MARCUS              .


Ejemplo: Cómo fusionar orígenes de datos concatenados sin campos comunes de clasificación de orden elevado

En este ejemplo, los orígenes de datos fusionados no comparten un campo de clasificación:

DEFINE FILE EMPDATA
CURR_SAL/D12.2M = CSAL;
FIRST_NAME/A10 = FN;
EID/A9 = PIN;
END
 
-*Start MATCH
 
MATCH FILE EMPLOYEE
SUM CURR_SAL AS 'CURRENT'
    FIRST_NAME AS 'FIRST'
BY EID AS 'SSN'
 
-*Concatenate EMPDATA to EMPLOYEE to form the first MATCH answer set
 
MORE
FILE EMPDATA
RUN 
 
-*Second MATCH answer set:
 
FILE TRAINING
PRINT EXPENSES
BY PIN AS 'EID'
AFTER MATCH HOLD OLD-OR-NEW
END
 
-*Print merged file:
 
TABLE FILE HOLD
PRINT *
END

La frase AS cambia el conjunto de respuestas. Dado que los campos de clasificación ya no tienen los mismos nombres, los campos se fusionan sin consideración a los registros coincidentes.

La primera página de salida es:

SSN                CURRENT  FIRST       EID         EXPENSES
---                -------  -----       ---         --------
000000010       $55,500.00  DANIEL      000000010   2,300.00
000000020       $62,500.00  MICHAEL     000000030   2,600.00
000000030       $70,000.00  LOIS        000000030   2,300.00
000000040       $62,500.00  RUTH        000000040   3,400.00
000000050       $54,100.00  PETER       000000050   3,300.00
000000060       $55,500.00  DORINA      000000080   3,200.00
000000070       $83,000.00  EVELYN      000000080   3,350.00
000000080       $43,400.00  PAMELA      000000100   3,100.00
000000090       $33,000.00  MARIANNE    000000110   1,800.00
000000100       $32,400.00  TIM         000000110   2,500.00
000000110       $19,300.00  ANTHONY     000000110   2,400.00
000000120       $49,500.00  KATE        000000120   2,200.00
000000130       $62,500.00  MARCUS      000000140   3,600.00
000000140       $62,500.00  VERONICA    000000150   3,400.00
000000150       $40,900.00  KARL        000000160   1,000.00
000000160       $62,500.00  ROSE        000000180   1,250.00
000000170       $30,800.00  WILLIAM     000000190   3,150.00

WebFOCUS