TestFilter
Filtre les entités par des conditions de test. Chaque condition de test correspond à un port de sortie.
Une condition de test se compose d'un ou plusieurs tests en utilisant une méthode de comparaison spécifique (ET, OU ou composée).
Notes
- Ce Transformer est équivalent à une chaîne connectée de Testers, et peut être utilisé pour réduire la taille et l'encombrement un traitement qui est rempli de Testers.
- Notez que les opérations de test sont des comparaisons lexicales et ne prennent pas en compte la lecture des données.
Configuration
Ports de sortie
Les noms des ports de sortie sont spécifiés dans la boîte de dialogue des paramètres, Définitions des ports.
L'entité ressort par le port <Unfiltered> si l'entité ne satisfait à aucune des conditions de test. Le nom de ce port peut être modifié en éditant les paramètres.
Paramètres
- Faire un double clic dans la colonne Port de sortie (ou sélectionner la colonne et cliquer sur Editer les Conditions...).
- Spécifiez les conditions de test. Celles-ci sont décrites en détail dans le Transformer Tester.
- Cliquer sur OK pour fermer la fenêtre et ajouter les conditions à TestFilter.
- Initialement, la condition de test apparaît dans les colonnes Conditions de test et Port de sortie. Vous pouvez modifier le champ Port de sortie pour spécifier votre propre nom de port de sortie. Plusieurs conditions de test peuvent être émises vers le même port de sortie si le nom du port est le même.
Répétez ces étapes pour chaque condition de test que vous souhaitez ajouter au TestFilter. Les boutons situés sur le côté de la boîte de dialogue vous permettent d'ajouter et de supprimer des lignes du tableau, et de définir l'ordre dans lequel les tests doivent être effectués :
Nom du port 'Unfiltered'
L'entité ressort via ce port si l'entité ne satisfait à aucune des conditions de test. Par défaut, le port est nommé ' <Unfiltered> '.
Sortie des tests
Ce paramètre contrôle les ports à partir desquels les entités seront produites lorsque les tests sont réussis.
Lorsqu'il est réglé sur Premier port où les conditions sont remplies, les entités ne seront sorties du port que pour le premier test qu'elles réussissent, même si cette entité aurait réussi d'autres tests.
Lorsqu'il est défini à Tous les ports où les conditions sont remplies, les entités seront produites à partir des ports pour tous les tests qu'ils passent.
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
Ce sont les opérateurs disponibles pour construire des clauses de test. Ils peuvent être utilisés pour tester les valeurs d'attributs, les expressions construites, les constantes et les paramètres publiés.
Notez que (sauf indication contraire) la plupart des opérateurs peuvent être utilisés à la fois avec des valeurs numériques et des chaînes de caractères. Les chaînes de caractères peuvent être comparées avec les opérateurs =, !=, <, >, <=, et >=, et sont évaluées par leurs codes de caractères, ainsi A < B.
Opérateur |
Description |
Configuration de la valeur à droite |
||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
= | Egale à | Entrez une valeur pour comparaison. | ||||||||||||||||
!= | N'est pas égal à | Entrez une valeur pour comparaison. | ||||||||||||||||
< | Inférieur à | Entrez une valeur pour comparaison. | ||||||||||||||||
> | Supérieur à | Entrez une valeur pour comparaison. | ||||||||||||||||
<= | Inférieur ou égal à | Entrez une valeur pour comparaison. | ||||||||||||||||
>= | Plus grand ou égal à | Entrez une valeur pour comparaison. | ||||||||||||||||
Dans la plage |
Teste si la valeur tombe dans une plage numérique spécifiée. Les plages semi-bornées peuvent être définies en laissant la limite soit basse soit haute vierge. |
Les valeurs de plage sont séparées par une virgule et incluses entre accolades. Les accolades - [ ] - indiquent des limites inclusives (supérieur ou égal à, inférieur ou égal à). Les parenthèses - ( ) - indiquent des limites exclusives (supérieur ou inférieur à). Exemples de plages valides : (1,9) Supérieur à 1 et inférieur à 9 [1,9] Supérieur ou égal à 1 et inférieur ou égal à 9 (1,9] Supérieur à 1 et inférieur ou égal à 9 (1,) Supérieur à 1 [,9] Inférieur ou égal à 9 Cet opérateur n'est pas disponible quand le Mode est défini sur Sensible à la casse ou Insensible à la casse, et ces modes ne sont pas disponibles quand l'opérateur est Dans la plage. |
||||||||||||||||
In (dans) | Teste si la valeur peut être trouvée dans la liste de plages et valeurs possibles fournie. |
Entrer une combinaison de chaînes séparées par des virgules, valeurs numériques et/ou plages (sous la forme de x-y). Exemple de configuration valide : 1,10,100 1-99 cat cat,dog,cats and dogs dogs,1-9,7 Il est également possible de spécifier des plages de chaînes (par exemple, a-d). Pour tester les valeurs qui contiennent un trait d'union, mettre la valeur entre guillemets : "LL-27", "LL-83". Pour tester des valeurs qui contiennent soit des guillemets simples (') soit doubles ("), balisez-ces valeurs avec les guillemets opposés : "Hôtel de l'Étoile" or 'Dire "Bonjour !"'. |
||||||||||||||||
Comme | Teste si la valeur correspond à un motif de chaîne spécifié. |
Saisissez un modèle de chaîne de caractères. Les caractères génériques sont pris en charge par le symbole du pourcentage (%), plutôt que par l'astérisque (*). En mode Automatique, cet opérateur est insensible à la casse. Cet opérateur n'est pas disponible en mode Numérique. Exemple : Si la Valeur à droite est %bc%. abcd : Réussi bc : Echoué |
||||||||||||||||
Contient | Teste si la Valeur à droite intervient dans la Valeur à gauche. |
Entrez une valeur à tester. En mode Automatique, cet opérateur est insensible à la casse. Cet opérateur n'est pas disponible en mode Numérique. Exemple : Si la Valeur à droite est bc. abcd : Réussi abde: Echoué |
||||||||||||||||
Commence par | Teste si la chaîne de caractères de la Valeur à gauche débute par la chaîne de la Valeur à droite. |
Entrez une chaîne de caractères à tester. En mode Automatique, cet opérateur est insensible à la casse. Cet opérateur n'est pas disponible en mode Numérique. Exemple : Si la Valeur à droite est Chi. Chiens: Réussi Chats : Echoué |
||||||||||||||||
Finit par | Teste si la chaîne de caractères de la Valeur à gauche finit par la chaîne de la Valeur à droite. |
Entrez une chaîne de caractères à tester. En mode Automatique, cet opérateur est insensible à la casse. Cet opérateur n'est pas disponible en mode Numérique. Exemple : Si la Valeur à droite est ens. Chiens: Réussi Chats : Echoué |
||||||||||||||||
Contient une expression régulière | Teste si la valeur contient une chaîne de caractères qui correspond au motif décrit par l'expression régulière. |
Entrer une expression régulière. L'Editeur Expression régulière est disponible via le bouton (...) et peut être utilisé pour construire et tester des expressions. La regex à tester peut représenter une chaîne de caractères à trouver n'importe où dans la valeur, ou peut représenter la valeur entière (en créant une regex assez longue pour représenter la portée de la valeur souhaitée). Exemple : Si l'expression régulière est \d (n'importe quel chiffre) chats: Echoué 9 : Réussi chats82 : Réussi |
||||||||||||||||
Le type est |
Teste si la valeur est compatible avec le Type choisi. Vous pouvez tester plusieurs types en ajoutant des Clauses de test additionnels. |
Sélection du type à tester.
|
||||||||||||||||
Encodé en | Teste si la valeur est encodable dans l'encodage spécifié sans perte de données. |
Sélectionner dans une liste d'encodages standard. Exemples d'encodages :
|
||||||||||||||||
L'attribut a une valeur | Teste que l'attribut a une valeur et n'est ni nul, ni absent, ni vide. | <Inutilisé> | ||||||||||||||||
L'attribut est Null (nul) | Teste si l'attribut à une valeur null. |
<Inutilisé> |
||||||||||||||||
L'attribut est une chaîne vide | Teste si la valeur est une chaîne vide. | <Inutilisé> | ||||||||||||||||
L'attribut est manquant | Teste si l'attribut est absent de l'entité. | <Inutilisé> |
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.
Conserver l'ordre des entités
|
Ce paramètre contrôle l'ordre dans lequel les entités quittent un Transformer. Lorsqu'un Transformer a plus d'un port de sortie, les entités sortent généralement d'un port à la fois. Parfois, il peut être utile de garder l'ordre dans lequel les entités sont arrivées, en passant d'un port à l'autre si nécessaire. Cela permet de préserver l'ordre des entités, mais au prix d'une perte potentielle d'efficacité du traitement. Sélectionner une méthode pour l'ordre des entités :
|
É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.
Utilisation de l'éditeur de texte
L'éditeur de texte fournit un moyen efficace de construire des chaînes de textes (dont les expressions régulières) à partir de données source diverses, telles que des attributs, des paramètres et des constantes, et le résultat est directement utilisé dans le paramètre.
Utilisation de l'éditeur arithmétique
L'éditeur arithmétique fournit un moyen simple de construire des expressions mathématiques à partir de plusieurs données source, telles que des attributs et des fonctions, et le résultat est directement utilisé dans un paramètre.
Valeur conditionnelle
Définit des valeurs selon un ou plusieurs tests.
Fenêtre de définition de conditions
Contenu
Les expressions et chaînes de caractères peuvent inclure des fonctions, caractères, paramètres et plus.
Lors du paramétrage des valeurs - qu'elles soient entrées directement dans un paramètre ou construites en utilisant l'un des éditeurs - les chaînes de caractères et les expressions contenant des fonctions Chaîne de caractères, Math, Date et heure ou Entité FME auront ces fonctions évaluées. Par conséquent, les noms de ces fonctions (sous la forme @<nom_de_fonction>) ne doivent pas être utilisés comme valeurs littérales de chaîne de caractères.
Ces fonctions manipulent les chaînes de caractères. | |
Caractères spéciaux |
Un ensemble de caractères de contrôle est disponible dans l'éditeur de texte. |
Plusieurs fonctions sont disponibles dans les deux éditeurs. | |
Fonctions Date/heure | Les fonctions de dates et heures sont disponibles dans l'Editeur texte. |
Ces opérateur sont disponibles dans l'éditeur arithmétique. | |
Elles retournent des valeurs spécifiques aux entités. | |
Les paramètres FME et spécifiques au traitement peuvent être utilisés. | |
Créer et modifier un paramètre publié | Créer ses propres paramètres éditables. |
Options - Tables
Les Transformers avec des paramètres de style table possèdent des outils additionnels pour remplir et manipuler des valeurs.
Réordonner
|
Activé une fois que vous avez cliqué sur un élément de ligne. Les choix comprennent :
|
Couper, Copier et Coller
|
Activé une fois que vous avez cliqué sur un élément de ligne. Les choix comprennent :
Copier, copier et coller peuvent être utilisés au sein d'un Transformer ou entre Transfromers. |
Filtre
|
Commencez à taper une chaîne de caractères, et la matrice n'affichera que les lignes correspondant à ces caractères. Recherche dans toutes les colonnes. Cela n'affecte que l'affichage des attributs dans le Transformer - cela ne change pas les attributs qui sont sortis. |
Importer
|
Le bouton d'import remplit la table avec un jeu de nouveaux attributs lus depuis un jeu de données. L'application spécifique varie selon les Transformers. |
Réinitialiser/Rafraîchir
|
Réinitialise la table à son état initial, et peut fournir des options additionnelles pour supprimer des entrées invalides. Le comportement varie d'un Transformer à l'autre. |
Note : Tous les outils ne sont pas disponibles dans tous les Transformers.
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.
Mots clefs : Tester AttributeTester GenericTester Operateur