Commande DUPLICATES
Information de concept
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.
|
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.
|
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 :
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. |
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 :
|
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 :
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.