Commande MERGE

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|PKEY champs_clés_principaux SKEY champs_clés_secondaires} <IF test> TO nom_table <LOCAL> <OPEN> <WHILE test> <FIRST plage|NEXT plage> <APPEND> <PRESORT> <ISOLOCALE code_paramètres_régionaux>

Paramètres

Nom Description
ON champs_clés | PKEY champs_clés_principaux SKEY champs_clés_secondaires

Remarque

Seuls les champs caractère ou les champs calculés caractère peuvent être utilisés comme champs clés dans MERGE.

  • ON champs_clés le(s) champ(s) clé(s) à fusionner si les champs clés correspondants dans les tables principale 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.

  • PKEY champs_clés_principaux le ou les champs clés, ou expression clé, dans la table principale
  • SKEY champs_clés_principaux le ou les champs clés, ou l'expression clé, dans la table secondaire

Conditions préalables au tri

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.

Indexation au lieu du tri

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.

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 :

  • nom_table enregistre les résultats dans une table Analytics

    Indiquez nom_table sous forme de chaîne entre guillemets avec une extension de fichier .FIL. Par exemple : TO "Sortie.FIL"

    Par défaut, le fichier de données de table (.FIL) est enregistré dans le dossier contenant le projet Analytics.

    Utilisez un chemin de fichier absolu ou relatif pour enregistrer le fichier de données dans un autre dossier existant :

    • TO "C:\Sortie.FIL"
    • TO "Résultats\Sortie.FIL"

    Remarque

    La longueur des noms des tables est limitée à 64 caractères alphanumériques, sans l'extension .FIL. Le nom peut inclure le caractère de soulignement ( _ ), mais aucun autre caractère spécial ni espace. Le nom ne peut pas commencer par un chiffre.

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.

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 :

  • FIRST pour commencer le traitement à partir du premier enregistrement jusqu'à ce que le nombre d'enregistrements spécifié soit atteint
  • NEXT pour commencer le traitement à partir de l'enregistrement actuellement sélectionné jusqu'à ce que le nombre d'enregistrements spécifié soit atteint

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 :

  • les mêmes champs
  • le même ordre des champs
  • les champs correspondants ont la même longueur
  • les champs correspondants ont le même type de données

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 :

  • Si le champ clé primaire est déjà trié
  • Si vous fusionnez deux tables à l'aide d'un champ clé commun indexé

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 :

  • langue code linguistique de la norme ISO 639
  • pays code pays de la norme ISO 3166

    Si vous n'indiquez pas de code pays, c'est le pays par défaut pour la langue qui est utilisé.

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

Remarque

Pour plus d'informations sur le fonctionnement de cette commande, consultez le Aide d'Analytics.

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 sections 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.

Guide de création de scripts ACL 14.1