Outil Attendre des flux égaux
Utilisez l'outil Attendre des flux égaux pour tester si deux flux de données sont identiques et signaler des erreurs s'ils ne le sont pas.
L'outil signale uniquement les quatre premières erreurs qu'il trouve et indique le nombre d'erreurs supplémentaires.
L'outil Attendre des flux égaux peut indiquer les informations suivantes :
Si les noms de champ sont différents ou s'ils présentent un ordre incorrect.
Si les types de champ sont différents.
Si les valeurs numériques, de chaîne ou de date/heure ne correspondent pas.
Si les valeurs Blob ou spatiales ne correspondent pas.
Si le nombre de lignes est différent (plus ou moins élevé que prévu).
Composants de l'outil
L'outil Attendre des flux égaux propose deux ancrages :
Ancrage attendu : connectez les données attendues à cet ancrage.
Ancrage réel : connectez les données que vous souhaitez valider à cet ancrage.
La pertinence des deux ancrages est liée uniquement aux messages affichés par l'outil. L'outil peut signaler les informations ci-dessous :
Erreur : Attendre des flux égaux (1) : enregistrement 1 champ Field1 : attendu « a », réel « A »
La valeur attendue est simplement celle qui est connectée à l'ancrage attendu.
Configuration de l'outil
Cet outil ne possède pas d'options de configuration.
Exemples d'outil
Les exemples peuvent tous être illustrés avec le workflow suivant :
1. Exemple : les champs diffèrent
Si les champs disponibles dans les entrées attendue et réelle sont différents, des messages s'affichent.
Erreur : Attendre des flux égaux (1) : le champ attendu était manquant : F1
Erreur : Attendre des flux égaux (1) : le champ réel n'était pas attendu : Field1
En examinant les deux messages, vous pouvez déterminer si vous vous attendiez à un nom de champ incorrect ou si les données ont produit un nom de champ incorrect.
Notez que les comparaisons de noms de champs, comme toujours dans les outils Alteryx, ne sont pas sensibles à la casse. « F1 » correspond donc à « f1 ».
2. Exemple : les champs sont dans un ordre différent
Si les deux flux ont les mêmes noms de champs, mais qu'ils sont dans un ordre différent, l'outil affiche un sous-ensemble de tous les champs pour montrer la différence :
Erreur : Attendre des flux égaux (1) : ordre des champs différent. Attendu : …, b, c ; réel : …, c, b
Si les champs sont dans un ordre différent, les données sont comparées par nom de champ et non par position. Ainsi, si le champ B a la valeur 2 dans les deux flux, l'outil ne signale pas d'erreur supplémentaire. Cependant, si le champ B attendu a une valeur 2 et que le champ B réel a la valeur 3, l'outil signale une erreur supplémentaire.
3. Exemple : les champs sont de types différents
La correspondance de type est étendue. Tous les types d'entiers correspondent à tous les autres types d'entiers, les flottants correspondent aux doubles et tous les types de chaîne correspondent à tous les autres types de chaîne. Une décimale fixe correspond uniquement à une décimale fixe afin de préserver la précision de la comparaison des valeurs. Les tailles des types ne sont pas prises en compte dans la correspondance de type.
Si un type Float est attendu, mais qu'un type Int est obtenu, une erreur de vérification de type est signalée et les valeurs ne sont pas comparées.
Lorsque les types diffèrent, le message d'erreur est
Erreur : Attendre des flux égaux (1) : champ « a » est attendu en tant que Double, mais il est réellement de type V_String 2147483647
Notez que les descriptions de type incluent le nom exact du type et certaines informations sur la taille, mais que la taille ne provoque pas de discordance.
4. Exemple : les valeurs des données diffèrent
Les valeurs entières sont comparées sans perte de précision. L'outil peut détecter la différence entre 9,223,372,036,854,775, 807 (l'entier de 64 bits le plus grand possible) et 9,223,372,036,854,775, 806 .
Erreur : Attendre des flux égaux (1) : enregistrement 1 champ F1 : attendu 9223372036854775807, réel 9223372036854775806
Les valeurs flottantes et les valeurs doubles sont comparées pour vérifier si elles sont exactement égales, sans option pour « presque égal ».
Par exemple, la valeur 5124095575370702.5 correspond à 5124095575370701.6. Étant donné que la représentation des doubles n'a pas assez de précision pour distinguer ces valeurs, elles sont stockées de manière identique sur l'ordinateur. Lorsque les nombres ne correspondent pas, ils sont imprimés avec 17 chiffres fixes.
Erreur : Attendre des flux égaux (1) : enregistrement 1 champ D : attendu 5124095575370702.00000000000000000, réel 5124095575370701.00000000000000000
Les types de chaîne sont comparés en fonction de la casse. Les valeurs sont affichées si elles ne correspondent pas à la valeur attendue. Les chaînes réelles peuvent être raccourcies pour montrer un peu de contexte avant et après la première différence :
Erreur : Attendre des flux égaux (1) : enregistrement 1 champ « a » : attendu «…ar like the present peri…», réel «…ar like the Present Peri…»
Les valeurs de date/heure sont comparées à la précision totale de la plus précise des deux et les valeurs sont affichées si elles diffèrent :
Erreur : Attendre des flux égaux (1) : enregistrement 1 champ « c » : attendu : 2024-03-14 11:07:00, réel : 2024-03-14 11:07:00.001
Erreur : Attendre des flux égaux (1) : enregistrement 1 champ « c » : attendu : 11:07:00.002, réel : 11:07:00.001
Si les champs Blob diffèrent, l'outil signale simplement qu'ils sont différents :
Erreur : Attendre des flux égaux (1) : enregistrement 1 champ « a » : Blob attendu ne correspond pas au Blob réel
Les objets spatiaux sont convertis en GeoJSON et comparés comme des chaînes :
Erreur : Attendre des flux égaux (1) : enregistrement 1 champ « d » : attendu : "…inates":[1,2] }", réel : "…inates":[1,2.000001]}"
5. Exemple : nombre différent de lignes
L'outil peut signaler les informations suivantes :
Erreur : Attendre des flux égaux (1) : réel a moins d’enregistrements qu'attendu : 2
Erreur : Attendre des flux égaux (1) : réel a plus d’enregistrements qu'attendu : 3
Le nombre indiqué (2 ou 3 ici) est le nombre différent du nombre attendu.
6. Exemple : messages trop nombreux
L'outil signale uniquement les quatre premiers messages. S'ils sont plus nombreux, il conclut :
Erreur : Attendre des flux égaux (1) : nombre total d'erreurs : 6 (messages supprimés au-delà de la limite de 4)