Fusion de sources de

Comment :

Référence :

L'Assistant MATCH vous permet de fusionner une ou plusieurs sources de données et de spécifier les enregistrements à fusionner ainsi que ceux à exclure grâce à la commande MATCH. La commande Assistant crée une nouvelle source de données 'un fi hier HOLD), dans lequel les champs sont fusionnés à partir d' enregistrements sélectionnés. Vous pouvez créer un rapport à partir de la nouvelle source de données et l'utiliser comme vous le faites avec n'importe quel autre fichier HOLD. Cependant, vous ne pouvez pas spécifier de format pour le fichier HOLD. Il sera créé comme fichier BINARY ou ALPHA HOLD en fonction de la valeur du paramètre HOLDFORMAT. Le processus de fusion n'altère pas les sources de données originales.

Pour sélectionner les enregistrements à fusionner aux nouvelles données, vous devez spécifier des champs de tri via l'Assistant MATCH. Vous spécifiez un ensemble de champs de tri, à l'aide de la phrase BY, pour la première source de données, et un deuxième ensemble de champs de tri pour la deuxième source de données. La commande MATCH compare alors tous les champs de tri communs aux deux sources de données, puis elle fusionne tous les enregistrements de la première source de données dont les valeurs de tri correspondent à celles de la deuxième source de données avec le nouveau fichier HOLD. Vous pouvez spécifier jusqu'à 32 ensembles de tri. Ce qui comprend le nombre de champs de tri communs.

En plus de fusionner des enregistrements de source de données qui partagent des valeurs, vous pouvez fusionner des enregistrements selon d'autres rapports. Par exemple, vous pouvez fusionner tous les enregistrements dans chaque source de données dont les valeurs de tri ne correspondent pas à celles dans l'autre source de données. Un autre type de fusion permet de combiner tous les enregistrements de la première source de données avec tout enregistrement correspondant de la deuxième source de données.

Vous pouvez fusionner jusqu'à 16 jeux de données par requête de MATCH. Par exemple, vous pouvez fusionner différentes sources de données, ou bien des données de la même source de données.

Remarque : cette limite de 16 jeux de données s'applique à la requête la plus complexe. Plus la requête est simple plus elle est susceptible de fusionner de nombreuses sources de données.


Haut de page

x
Syntaxe : fusionn de sources de données

La syntaxe de commande MATCH ressemble à celle de la commande TABLE

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

où :

file1

est la première source de données à partir de laquelle MATCH récupère des enregistrements.

merge_phrase

spécifie la façon dont les enregistrements récupérés des fichiers sont comparés. Pour plus de détails, consultez Phrases de fusion.

file2/file3

Sont des sources de données additionnelles depuis lesquelles MATCH récupère des enregistrements demandés.

Notez qu'une commande RUN doit suivre chaque commande AFTER MATCH (sauf la dernière). La commande END doit suivre la dernière commande AFTER MATCH.

MATCH génère un fichier HOLD à segment unique. Vous pouvez imprimer le contenu du fichier HOLD en utilisant la commande PRINT avec le caractère de remplacement (*). Pour plus d'informations, consultez Fusion de sources de données.


Haut de page

x
Référence : notes sur les requêtes MATCH


Exemple : Fusion de sources de données
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 phrase de fusion utilisée dans cet exemple était OLD-OR-NEW. Cela veut dire que des enregistrements de la première (ancienne) et de la deuxième (nouvelle) source de données s'affichent dans le fichier HOLD.

Notez que si vous travaillez en ligne de commande dans Developer Studio, après que vous saisissez la commande RUN, un message s'affiche indiquant combien d'enregistrements ont été récupérés. Si vous saisissez la commande MATCH en ligne de commande, vous êtes invité à saisir le nom de la prochaine source de données à fusionner.

La sortie est :

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