Tester

Teste si une entité répond à une ou plusieurs conditions et dirige l'entité vers un port différent en fonction du résultat.

Aller à la configuration

Cas d'utilisations typiques

  • Effectuer des tests de qualité sur les données
  • Diviser les entités en deux flux selon un test
  • Isoler un sous-jeu d'entités selon un test

Comment fonctionne-t-il ?

Le Testeur accepte toute entité. Il évalue chaque entité selon un ou plusieurs tests définis par l'utilisateur et fait ressortir les entités remplissant les conditions par le port Passed. Les autres ressortent par le port Failed.

Les tests sont construits comme une série de clauses de test, qui évaluent des valeurs ou des expressions sur la base d'un large éventail d'opérateurs et de types de tests disponibles. Les clauses de test sont reliées par la logique - des combinaisons de AND (et), OR (ou) et NOT (n'est pas), avec des parenthèses pour définir l'ordre d'évaluation.

Créer des clauses de test

Chaque clause est composée d'une valeur à tester, et de la méthode pour la tester. En fonction du type de test, la clause comprendra au minimum une Valeur à gauche et un opérateur. Si l'opérateur choisi a besoin de plus d'informations (par exemple, le test d'un attribut supérieur à une certaine valeur), un champ Valeur à droite est fourni.

Les clauses de test sont créées dans une table et numérotées depuis le haut vers le bas.

Valeur à gauche

Opérateur

Valeur à droite

Mode*

La valeur ou l'expression à tester Le type de test à effectuer La valeur pour comparaison, si requise par l'opérateur Test les valeurs d'une manière spécifique
Exemples
Latitude > 49.000001 Automatique
@Area() Dans la plage (1,100) Numérique
SnackType Comme Kebabs Sensibilité à la casse
Trafic L'attribut est Null (nul) <Inutilisé> Automatique
Count Le type est Entier Automatique

* Notez que le Mode n'est disponible que pour les tests individuels quand Méthode de comparaison vaut Spécifier par test.

Opérateurs de clauses de test

Clauses et Valeurs mises en cache

Si la mise en cache des données est activée, les attributs des entités peuvent être visualisées pour compléter les clauses du test.

Comme illustré ici dans le Tester, si la valeur de gauche a été définie sur une valeur d'attribut et que les entités ont été mises en cache, le menu contextuel donne accès aux valeurs disponibles dans ces entités. S'il n'y a que quelques choix, ils seront présentés dans un sous-menu.

Si un grand nombre de choix est possible, les valeurs sont affichées dans la fenêtre Sélectionner une valeur dans laquelle les valeurs peuvent être triées et filtrées via l'option Filtre.

Connecter des Clauses de test : Logique

Plusieurs clauses de tests sont connectées avec Logique, en utilisant AND, OR et NOT en plus des parenthèses pour spécifier comment les tests sont évalués pour déterminer la réussite ou l'échec.

Les connecteurs logiques peuvent être édités en sélectionnant des options dans la colonne Logique de la table Clauses de test ou peuvent être édités directement en utilisant le bouton Editer du paramètre Expression composite.

Exemples

Notes

  • En raison du traitement par lots, les entités peuvent apparaître en sortie par morceaux. Bien que l'ordre des entités à partir d'un seul port de sortie reste intact, lorsque des blocs d'entités sont sortis par les ports Passed et Failed, des résultats inattendus peuvent se produire dans les traitements qui s'appuient sur l'ordre des entités à partir de ports de sortie joints. Dans ce cas, nous vous recommandons de ne pas mettre à niveau le Tester vers sa version 2019.1 ou ultérieure, ou de réviser vos traitements afin qu'ils ne reposent pas sur l'ordonnancement des entités à partir de ports de sortie joints. L'ordre des entités peut être spécifié avec le paramètre Avancé > Préserver l'ordre des entités.
  • Si vous avez plusieurs Transformers Tester en séquence, pensez à utiliser le TestFilter à la place. Ce Transformer vous permet de créer une série de tests avec des ports de sortie nommés pour chaque résultat.
  • Notez que les opérations de test sont des comparaisons lexicales et ne prennent pas en compte la lecture des données.
  • Lorsque vous filtrez un sous-ensemble d'entités, tenez compte de la logique du ou des tests lorsque vous choisissez un port de sortie. Par exemple, pour supprimer tous les parcs à chiens d'une liste de parcs, vous pouvez soit.. :
    • Définir DogParks=Y et connecter le port Failed, ou
    • Définir DogParks=N et connecter le port Passed

Configuration

Ports d'entrée

Ports de sortie

Paramètres

Éditer les paramètres des Transformers

À l'aide d'un ensemble d'options de menu, les paramètres du Transformer peuvent être attribués en faisant référence à d'autres éléments de traitement. Des fonctions plus avancées, telles qu'un éditeur avancé et un éditeur arithmétique, sont également disponibles dans certains Transformers. Pour accéder à un menu de ces options, cliquez sur à côté du paramètre applicable. Pour plus d'informations, voir Options de menus et paramètres de Transformer.

Définir les valeurs

Il existe plusieurs façons de définir une valeur à utiliser dans un Transformer. La plus simple est de simplement taper une valeur ou une chaîne de caractères, qui peut inclure des fonctions de différents types comme des références d'attributs, des fonctions mathématiques et de chaînes de caractères, et des paramètres de traitement. Il existe un certain nombre d'outils et de raccourcis qui peuvent aider à construire des valeurs, généralement disponibles dans le menu contextuel déroulant adjacent au champ de valeur.

Options - Tables

Les Transformers avec des paramètres de style table possèdent des outils additionnels pour remplir et manipuler des valeurs.

Références

Comportement

Basé sur des entités

Stockage des entités

Non

Dépendances Aucun
Alias
Historique Ce transformer remplace les anciens Transformers AttributeTester et GenericTester.

FME Community

FME Community est l'endroit où trouver des démos, des tutoriaux, des articles, des FAQ et bien plus encore. Obtenez des réponses à vos questions, apprenez des autres utilisateurs et suggérez, votez et commentez de nouvelles entités.

Voir tous les résultats à propos de ce Transformer sur FME Community.

 

Les exemples peuvent contenir des informations sous licence Open Government - Vancouver et/ou Open Government - Canada.