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.
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:
Es el primer origen de datos desde el que MATCH recupera registros solicitados.
Especifica cómo se deben comparar los registros recuperados de los archivos. Para más detalles, consulte Frases de fusión.
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.
Para obtener información detallada, consulte Cómo mostrar datos de informes.
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 |