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.
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ù :
est la première source de données à partir de laquelle MATCH récupère des enregistrements.
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.
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.
Pour plus de détails, consultez Affichage de données de rapport.
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 |