Commande DUPLICATES

Information de concept

Recherche de doublons

Détecte si des valeurs dupliquées ou des enregistrements entièrement dupliqués existent dans une table Analytics.

Syntaxe

DUPLICATES {<ON> champ_clé <D> <...n>|<ON> ALL <EXCLUDE nom_champ <...n>>} <OTHER champ <...n>|OTHER ALL <EXCLUDE nom_champ <...n>>> <UNFORMATTED> <ADDGROUP> <PRESORT> <IF test> <WHILE test> <FIRST plage|NEXT plage> <APPEND> <OPEN> <TO {SCREEN|nom_table|nom_fichier|PRINT}> <LOCAL> <HEADER texte_en-tête> <FOOTER texte_pied_page> <ISOLOCALE code_paramètres_régionaux>

Paramètres

Nom Description
ON champ_clé D <...n> | ON ALL

Le ou les champs clés ou bien l'expression à tester pour la recherche de doublons.

  • ON champ_clé utilisez le(s) champ(s) spécifié(s)

    Si vous effectuez le test en fonction de plusieurs champs, les enregistrements identifiés comme doublons nécessitent des valeurs identiques dans chaque champ spécifié.

    Les champs sont inclus dans les résultats de sortie dans l'ordre dans lequel vous les indiquez.

    Incluez D pour trier un champ clé dans l'ordre décroissant. L'ordre de tri par défaut est croissant.

  • ON ALL utilisez tous les champs de la table

    Si vous effectuez le test en fonction de tous les champs d'une table, les enregistrements identifiés comme doublons doivent être entièrement identiques.

    Les champs sont inclus dans les résultats de sortie dans l'ordre de leur apparition dans le format de la table.

    Un ordre de tri croissant est la seule option pour ON ALL.

    Remarque

    Les portions indéfinies des enregistrements ne sont pas testées.

EXCLUDE nom_champ

optionnel

Uniquement valide lors de la recherche de doublons à l'aide d'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
OTHER champ <...n> | OTHER ALL

optionnel

Un ou plusieurs champs supplémentaires à inclure dans la sortie.

  • OTHER champ <...n> inclut le(s) champ(s) spécifié(s)
  • OTHER ALL incluez tous les champs de la table qui ne sont pas spécifiés comme champs clés
EXCLUDE nom_champ

optionnel

Valide uniquement lors de l'utilisation de OTHER ALL.

Le ou les champs à exclure de la commande. EXCLUDE vous permet de personnaliser OTHER ALL, en excluant les champs spécifiés.

EXCLUDE doit suivre immédiatement OTHER ALL. Par exemple :

OTHER ALL EXCLUDE champ_1 champ_2

UNFORMATTED

optionnel

Supprime les en-têtes et les sauts de page lorsque les résultats sont renvoyés dans un fichier.

ADDGROUP

optionnel

Incluez le champ Numéro de groupe ( GROUP_NUM ) dans la table de sortie.

Le champ Numéro de groupe attribue un numéro incrémenté séquentiellement à chaque groupe unique de doublons.

Astuce

La possibilité de référencer des groupes de doublons par numéro peut s'avérer utile lorsque vous analysez des données dans la table de sortie.

PRESORT

optionnel

Trie la table par le champ clé avant d'exécuter la commande.

Remarque

Vous ne pouvez pas utiliser PRESORT dans la commande GROUP.

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

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.

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.

TO SCREEN | nom_table | nom_fichier | PRINT

optionnel

Emplacement vers lequel envoyer les résultats de la commande :

  • SCREEN affiche les résultats dans la zone d'affichage d'Analytics.

    Astuce

    Vous pouvez cliquer sur n'importe quelle valeur de résultat liée dans la zone d'affichage pour explorer jusqu'à l'enregistrement ou aux enregistrements associés dans la table source.

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

  • nom_fichier enregistre les résultats dans un fichier

    Indiquez nom_fichier sous forme de chaîne entre guillemets avec l'extension de fichier appropriée. Par exemple : TO "Sortie.TXT"

    Par défaut, le fichier est enregistré dans le dossier contenant le projet Analytics.

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

    • TO "C:\Sortie.TXT"
    • TO "Résultats\Sortie.TXT"
  • PRINT envoie les résultats vers l'imprimante par défaut

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.

HEADER texte_en-tête

optionnel

Texte à insérer en haut de chaque page d'un rapport.

texte_en-tête doit être indiqué sous forme de chaîne entre guillemets. La valeur remplace la variable système Analytics HEADER.

FOOTER texte_pied_page

optionnel

Texte à insérer en bas de chaque page d'un rapport.

texte_pied_page doit être indiqué sous forme de chaîne entre guillemets. La valeur remplace la variable système Analytics FOOTER.

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.

Variables de sortie Analytics

Nom Contient
GAPDUPn

Nombre total d'omissions, de doublons ou de groupes de doublons approximatifs identifiés par la commande.

Exemples

Test de recherche de valeurs en doublons dans un champ

L'exemple suivant :

  • recherche par des tests des valeurs en doublons dans le champ No_Facture
  • sort des enregistrements contenant des numéros de facture en doublons dans une nouvelle table Analytics
DUPLICATES ON No_Facture OTHER Numéro_fournisseur Date_facture Montant_Facture PRESORT TO "Factures_Doublons.FIL"

Test de recherche de valeurs en doublons dans au moins deux champs associés

L'exemple suivant :

  • recherche par des tests des combinaisons de valeurs en doublons dans les champs No_Facture et Numéro_fournisseur
  • sort des enregistrements contenant le même numéro de facture et le même numéro fournisseur dans une nouvelle table Analytics

La différence entre ce test et le précédent, c'est qu'un numéro de facture identique provenant de deux fournisseurs différents n'est pas signalé comme faux positif.

DUPLICATES ON No_Facture Numéro_fournisseur OTHER Date_facture Montant_Facture PRESORT TO "Factures_Doublons.FIL"

Test de recherche d'enregistrements en doublons

Les exemples suivants :

  • recherchent, par des tests, des valeurs en doublons dans chaque champ d'une table Inventaire
  • sortent tous les champs exactement identiques dans une nouvelle table Analytics
DUPLICATES ON ProdNum ProdClass Emplacement ProdDesc ProdStatus UnitCost CostDate SalePrice PriceDate PRESORT TO "Éléments_inventaire_doublons.FIL"

Vous pouvez simplifier la syntaxe en utilisant ALL :

DUPLICATES ON ALL PRESORT TO "Éléments_inventaire_doublons.FIL"

Le filtre duplique la table de sortie par numéro de groupe.

Vous utilisez plusieurs champs clés combinés pour lancer un test de recherche des enregistrements en double sur une table des comptes fournisseurs.

  • numéro fournisseur
  • numéro de facture
  • date de facture
  • montant de la facture

Vous souhaitez filtrer la table de sortie des doublons apparaissant afin que seuls certains groupes de doublons fassent l'objet d'un traitement supplémentaire.

Créer un filtre en utilisant la combinaison de champs clés serait laborieux. Par exemple :

SET FILTER TO ((No_Fournisseur = "11475") AND (No_Facture = "8752512") AND (Date_Facture = `20191021`) AND (Montant_Facture = 7125.80)) OR ((No_Fournisseur = "12130") AND (No_Facture = "589134") AND (Date_Facture = `20191117`) AND (Montant_Facture = 10531.71)) OR ((No_Fournisseur = "13440") AND (No_Facture = "5518912") AND (Date_Facture = `20191015`) AND (Montant_Facture = 11068.20))

Au lieu de cela, vous obtenez le même résultat en créant un filtre basé sur le numéro de groupe :

SET FILTER TO MATCH(GROUP_NUM; 3 ; 8; 11)

Remarques

Pour plus d'informations sur le fonctionnement de cette commande, consultez Recherche de doublons.

Tri et doublons

En règle générale, vous ne devez exécuter la commande Doublons que sur un ou plusieurs champs clés triés. Les valeurs dupliquées dans un champ clé ne sont trouvées que si elles sont immédiatement adjacentes.

Si vous exécutez la commande Doublons sur un champ clé non trié, les valeurs dupliquées non adjacentes ne sont pas identifiées comme doublons. S'il existe au moins deux clusters de la même valeur en doublon, ils sont signalés comme doublons, mais dans des groupes distincts.

En fonction de l'objectif de votre analyse, il peut être utile d'exécuter la commande Doublons sur un champ clé non trié. Par exemple, vous pouvez ne rechercher que les valeurs en double qui sont immédiatement adjacentes dans la table source et ignorer les valeurs en double qui ne sont pas adjacentes.