Cómo fusionar orígenes de datos

Cómo:

Referencia:

Puede fusionar dos o más origenes de datos y especificar los datos que se van a fusionar o clasificar utilizando el comando MATCH. El comando crea un nuevo origen de datos (un archivo HOLD), en el que fusiona campos de los registros seleccionados. Puede generar informes desde el nuevo origen de datos y usarlo como cualquier otro archivo HOLD. Sin embargo, no se puede especificar un formato para el archivo HOLD. Se crea como archivo BINARY o ALPHA HOLD, dependiendo del valor del parámetro HOLDFORMAT. El proceso de fusión no cambia los orígenes de datos originales.

Para seleccionar los registros que se van a fusionar en el nuevo origen de datos, especifique los campos de clasificación en el comando MATCH. Debe especificar un conjunto de campos de clasificación (mediante la frase BY) para el primer origen de datos y otro conjunto para el segundo. El comando MATCH compara todos los campos de clasificación especificados en común para ambos orígenes de datos y luego fusiona todos los registros del primer origen de datos, cuyos valores de clasificación coincidan con los del segundo origen de datos, dentro del nuevo archivo HOLD. Puede especificar hasta 32 conjuntos de clasificación; esto incluye el número de campos de clasificación comunes.

Además de fusionar registros de orígenes de datos que comparten valores, puede fusionar registros basados en otras relaciones. Por ejemplo, puede fusionar todos los registros en cada origen de datos cuyos valores no coinciden en el otro origen de datos. Aún otro tipo de fusión combina todos los registros desde el primer origen de datos con cualquier registros coincidentes desde el segundo origen de datos.

Puede fusionar hasta dieciséis conjuntos de datos en una petición Coincidir. Por ejemplo, puede fusionar distintos origenes de datos o datos desde el mismo origen de datos.

Nota: El límite de dieciséis aplica a la solicitud más compleja. Solicitudes más simples quizás podrán fusionar más origenes de datos.


Principio de página

x
Sintaxis: Cómo Fusionar orígenes de datos

La sintaxis del comando MATCH es similar a la del comando TABLE:

MATCH FILE file1 
.
.
.
RUN 
FILE file2 
.
.
.
[AFTER MATCH merge_phrase]
RUN 
FILE file3 
.
.
.
[AFTER MATCH merge_phrase]
END

donde:

file1

Es el primer origen de datos desde el que MATCH recupera registros solicitados.

merge_phrase

Especifica cómo se deben comparar los registros recuperados de los archivos. Para más detalles, consulte Frases de fusión.

file2/file3

Son orígenes de datos adicionales desde los cuales MATCH recupera registros solicitados.

Fíjese que un comando RUN debe seguir a cada comando AFTER MATCH (excepto el último). El comando END debe seguir al último comando AFTER MATCH.

MATCH genera un archivo HOLD de un solo segmento. Puede imprimir el contenido del archivo HOLD mediante el comando PRINT con el carácter comodín (*). Para obtener información relacionada, consulte Cómo fusionar orígenes de datos.


Principio de página

x
Referencia: Notas sobre el uso para solicitudes de coincidencia


Ejemplo: Cómo fusionar orígenes de datos
MATCH FILE EDUCFILE
SUM COURSE_CODE
BY EMP_ID
RUN
FILE EMPLOYEE
SUM LAST_NAME AND FIRST_NAME
BY EMP_ID BY CURR_SAL
AFTER MATCH HOLD OLD-OR-NEW
END
-******************************
-*  PRINT CONTENTS OF HOLD FILE
-******************************
TABLE FILE HOLD
PRINT *
END

La frase de fusión utilizada en este ejemplo fue OLD-OR-NEW. Esto significa que los registros del primer origen de datos (el antiguo) y del segundo origen de datos (el nuevo) aparecen en el archivo HOLD.

Tenga en cuenta que, si está trabajando en la línea de comandos de Developer Studio, después de introducir el comando RUN, aparece un mensaje indicando cuántos registros se han recuperado y, si introduce el comando MATCH en la línea de comandos, le pedirá que introduzca el nombre del próximo origen de datos que se va a fusionar.

La salida es:

EMP_ID     COURSE_CODE         CURR_SAL  LAST_NAME        FIRST_NAME
------     -----------         --------  ---------        ----------
071382660  101               $11,000.00  STEVENS          ALFRED    
112847612  103               $13,200.00  SMITH            MARY      
117593129  203               $18,480.00  JONES            DIANE     
119265415  108                $9,500.00  SMITH            RICHARD   
119329144                    $29,700.00  BANNING          JOHN      
123764317                    $26,862.00  IRVING           JOAN      
126724188                    $21,120.00  ROMANS           ANTHONY   
212289111  103                     $.00                             
219984371                    $18,480.00  MCCOY            JOHN      
315548712  108                     $.00                             
326179357  301               $21,780.00  BLACKWOOD        ROSEMARIE 
451123478  101               $16,100.00  MCKNIGHT         ROGER     
543729165                     $9,000.00  GREENSPAN        MARY      
818692173  302               $27,062.00  CROSS            BARBARA   

WebFOCUS