Commande MERGE
Information de concept
Combine les enregistrements provenant de deux tables Analytics triées avec une structure identique dans une nouvelle Analytics utilisant le même ordre de tri que les tables d'origine.
Syntaxe
MERGE {{ON champs_clés|ON ALL <EXCLUDE nom_champ <...n>>}|{PKEY champs_clés_principaux|PKEY ALL <EXCLUDE nom_champ <...n>>} {SKEY champs_clés_secondaires|SKEY ALL <EXCLUDE nom_champ <...n>>}} <IF test> TO nom_table <LOCAL> <OPEN> <WHILE test> <FIRST plage|NEXT plage> <APPEND> <PRESORT> <ISOLOCALE code_paramètres_régionaux>
Remarque
Seuls les champs caractère ou les champs calculés caractère peuvent être utilisés comme champs clés dans MERGE.
Les champs clés dans les tables primaire et secondaire doivent être triés dans l'ordre croissant. Si les champs clés de l'une ou des deux tables ne sont pas triés, ou s'ils sont triés dans l'ordre décroissant, la commande MERGE échoue.
Vous pouvez utiliser PRESORT pour trier les champs clés de la table primaire. Si les champs clés de la table secondaire ne sont pas triés, vous devez d'abord les trier lors d'une opération de tri distincte avant d'effectuer la fusion.
Les tables principale et secondaire peuvent être indexées plutôt que triées. Avec les grandes tables, indexer plutôt que trier peut permettre de diminuer la durée requise pour fusionner les tables.
Paramètres
| Nom | Description |
|---|---|
| ON champs_clés | ON ALL |
Remarque Vous ne pouvez utiliser ON que si les champs clés correspondants dans les tables primaire et secondaire portent le même nom. Si les champs correspondants ont des noms différents ou s'il s'agit d'expressions plutôt que de champs physiques réels, vous devez utiliser PKEY et SKEY. Le ou les champs clés dans les tables primaire et secondaire.
|
| EXCLUDE nom_champ optionnel |
Valide uniquement dans le cas d'une fusion à l'aide de ON ALL. Le ou les champs à exclure de la commande. EXCLUDE vous permet de personnaliser ON ALL, en excluant les champs spécifiés. EXCLUDE doit suivre immédiatement ON ALL. Par exemple : ON ALL EXCLUDE champ_1 champ_2 |
| PKEY champs_clés_principaux | PKEY ALL |
Le ou les champs clés, ou expression clé, dans la table principale.
|
| EXCLUDE nom_champ optionnel |
Valide uniquement en cas de fusion à l'aide de PKEY ALL. Le ou les champs à exclure de la commande. EXCLUDE vous permet de personnaliser PKEY ALL, en excluant les champs spécifiés. EXCLUDE doit suivre immédiatement PKEY ALL. Par exemple : PKEY ALL EXCLUDE champ_1 champ_2 |
| SKEY champs_clés_secondaires | SKEY ALL |
Le ou les champs clés, ou l'expression clé, dans la table secondaire.
|
| EXCLUDE nom_champ optionnel |
Valide uniquement en cas de fusion à l'aide de SKEY ALL. Le ou les champs à exclure de la commande. EXCLUDE vous permet de personnaliser SKEY ALL, en excluant les champs spécifiés. EXCLUDE doit suivre immédiatement SKEY ALL. Par exemple : SKEY ALL EXCLUDE champ_1 champ_2 |
|
IF test optionnel |
Expression conditionnelle qui doit être vraie afin de traiter chaque enregistrement. La commande est exécutée uniquement sur les enregistrements remplissant la condition. Remarque La condition IF est évaluée uniquement par rapport aux enregistrements restant dans une table après application des options relevant du champ d'application (WHILE, FIRST, NEXT). |
| TO nom_table |
Emplacement vers lequel envoyer les résultats de la commande :
|
|
LOCAL optionnel |
Enregistre le fichier de sortie au même emplacement que le projet Analytics. Remarque Applicable uniquement lorsque vous exécutez la commande sur une table de serveur avec un fichier de sortie qui est une table Analytics. Le paramètre LOCAL doit suivre immédiatement le paramètre TO. |
|
OPEN optionnel |
Ouvre la table créée par la commande après l'exécution de la commande. Valide uniquement lorsque la commande crée une table de sortie. |
|
WHILE test optionnel |
Expression conditionnelle qui doit être vraie afin de traiter chaque enregistrement. La commande est exécutée jusqu'à ce que la condition soit évaluée comme fausse ou lorsque la fin de la table est atteinte. Remarque Si vous utilisez WHILE conjointement avec FIRST ou NEXT, le traitement des enregistrements s'arrête dès qu'une limite est atteinte. |
|
FIRST plage | NEXT plage optionnel |
Le nombre d'enregistrements à traiter :
Utilisez plage pour indiquer le nombre d'enregistrements à traiter. Si vous ignorez FIRST et NEXT, tous les enregistrements sont traités par défaut. |
|
APPEND optionnel |
Ajoute la sortie de commande à la fin d'un fichier existant au lieu de remplacer ce fichier. Remarque Vous devez vous assurer que la structure de la sortie de la commande et du fichier existant est identique :
Analytics ajoute la sortie à un fichier existant sans tenir compte de sa structure, ce qui peut désordonner les données si la structure de la sortie et du fichier existant ne correspond pas. |
|
PRESORT optionnel |
Trie la table principale par le champ clé primaire avant d'exécuter la commande. Remarque Vous ne pouvez pas utiliser PRESORT dans la commande GROUP. Omettez PRESORT :
|
|
ISOLOCALE code_paramètres_régionaux optionnel |
Remarque Applicable dans l'édition Unicode d'Analytics uniquement. Paramètre système local au format langue_pays. Par exemple, pour utiliser le français canadien, saisissez fr_ca. Utilisez les codes suivants :
Si vous n'utilisez pas ISOLOCALE, ce sont les paramètres système régionaux par défaut qui sont utilisés. |
Exemples
Fusion de tables ayant des noms de champs clés identiques
L'exemple suivant fusionne deux tables ayant des noms de champs clés identiques :
OPEN Position_Employés_1 PRIMARY
OPEN Position_Employés_2 SECONDARY
MERGE ON Nom TO "TousEmployés" PRESORT
Fusion de tables ayant des noms de champs clés différents
L'exemple suivant fusionne deux tables ayant des noms de champs clés différents :
OPEN Position_Employés_1 PRIMARY
OPEN Position_Employés_2 SECONDARY
MERGE PKEY Nom SKEY Nom TO "TousEmployés" PRESORT
Remarques
Pour plus d'informations sur le fonctionnement de cette commande, consultez Fusion de tables.
Alternatives à la fusion
L'exécution correcte d'une fusion peut s'avérer délicate. Vous pouvez obtenir le même résultat en procédant à une concaténation, à une extraction et à un ajout, puis à un tri des données.
Pour plus d'informations, consultez les rubriques Commande APPEND et Commande EXTRACT.
Si les deux tables sources sont déjà triées, la fusion est plus efficace et peut s'opérer plus rapidement.