AttributeValueMapper
Compare les valeurs des attributs à une table de correspondance et attribue de nouvelles valeurs lorsque des correspondances sont trouvées. Les valeurs mappées peuvent être stockées dans un nouvel attribut, ou écraser un attribut existant, y compris la source originale .
Utilisations typiques
- Ajouter ou altérer des valeurs d'attribut selon une table de correspondance définie par l'utilisateur
- Nettoyer des valeurs d'attribut
- Créer des valeurs alternatives, codées, pour les attributs
Comment fonctionne-t-il ?
AttributeValueMapper est piloté par une table de consultation définie par l'utilisateur - la Table de correspondance. Un attribut d'entrée est sélectionné, et ses valeurs seront comparées à la table de consultation pour mettre en correspondance les nouvelles valeurs. Les nouvelles valeurs peuvent être stockées dans un nouvel attribut (comportement par défaut) ou écraser un attribut existant (y compris l'attribut d'entrée).
La correspondance des valeurs peut être créée manuellement ou en important tout jeu de données pris en charge par FME. L'importation est particulièrement utile pour utiliser une carte prédéfinie qui contient déjà les valeurs en entrée et en sortie (comme une feuille de calcul), et pour analyser un jeu de données afin de trouver toutes les valeurs existantes pour un attribut donné.
Si une valeur d'attribut n'est pas trouvée dans la carte des valeurs, le nouvel attribut se verra attribuer la Valeur en sortie par défaut, qui peut être laissée vide.
Paramétrage de valeurs supplémentaires
La valeur en sortie, la valeur en entrée et la valeur en sortie par défaut peuvent être définies sur une valeur fixe ou utiliser une valeur prédéfinie par FME. Dans le cas des valeurs d'entrée et de sortie, celles-ci peuvent être définies par ligne dans la table de correspondance des valeurs, de sorte que des valeurs d'attribut différentes peuvent entraîner des actions différentes.
Les valeurs disponibles sont :
Null |
Valeur en entrée : Les valeurs nulles d'entrée seront mises en correspondance avec une valeur en sortie. Valeur en sortie : La valeur source sera mise en correspondance avec une valeur en sortie nulle. L'inverse est vrai si Sens de la correspondance est défini sur Inverse (sortie vers entrée). |
Ne rien faire |
Aucune action ne sera entreprise. Lors d'une correspondance in situ (c'est-à-dire, si la nouvelle valeur écrase la valeur en entrée), la valeur de l'attribut en entrée sera préservée. Autrement, aucun attribut en sortie ne sera créé pour la valeur en entrée spécifiée. |
Arrêter le traitement | Si la valeur en entrée spécifiée est rencontrée, arrête la traduction avec le message spécifié. Utile lorsque vous souhaitez arrêter la traduction sur des valeurs d'attribut inattendues, telles que des valeurs nulles. |
Support de valeur nulle, manquante et des chaînes vides.
Lors du mappage de l'entrée vers la sortie, il existe trois valeurs d'attribut qui ne sont pas prises en charge par le paramètre Valeur en sortie par défaut ou par la table de Correspondance des valeurs. Il s'agit des valeurs manquantes, nulles et des chaînes vides. Les exceptions sont indiquées ci-dessous.
Il est possible de mapper ou spécifier une valeur par défaut nulle en utilisant la constante null, disponible dans la liste déroulante.
De plus, il est possible de "mapper" une chaîne vide comme valeur source vers une valeur destination, ou de spécifier une chaîne vide comme valeur par défaut.
Notez que si une valeur nulle ou manquante est spécifiée comme destination ou valeur par défaut via un attribut, elle sera convertie en chaîne vide.
Exemples
Dans cet exemple, nous voulons mettre en correspondance un attribut de notre jeu de données de pistes cyclables. Les données originales ont un attribut appelé PathType, avec les valeurs S, M, et L.
Les entités sont dirigées vers AttributeValueMapper.
Dans les paramètres, nous sélectionnons PathType comme attribut d'entrée, conservons le nom par défaut de l'attribut de sortie _looked_up, et attribuons une valeur en sortie par défaut de Inconnu (qui sera utilisée pour toute entité dont le PathType n'est pas trouvé dans notre table de recherche).
Pour chacune des valeurs possibles de l'attribut d'entrée, nous créons une paire de valeurs dans le Correspondance des valeurs.
Les entités en sortie ont maintenant un nouvel attribut, _looked_up, contenant les valeurs mappées.
Dans cet exemple, nous disposons d'un jeu de données sur les vendeurs de produits alimentaires, dans lequel les valeurs de l'attribut DESCRIPTION comportent un certain nombre d'erreurs et de différences de style, comme la capitalisation. Il y a également certaines valeurs que nous voulons combiner dans des catégories plus larges.
Les entités sont acheminées dans un AttributeValueMapper. Afin de trouver toutes les valeurs possibles dans le jeu de données, nous utiliserons l'assistant d'importation dans la boîte de dialogue des paramètres.
La première étape est de sélectionner le jeu de données à importer - choisissez le même jeu de données que nous voulons nettoyer.
Notez que dans la seconde boîte de dialogue, Préciser mode d'importation, nous devons changer le Mode d'importation en Valeurs d'attributs.
Ensuite, dans la boîte de dialogue Sélectionner des attributs, nous spécifions la Valeur en entrée comme DESCRIPTION. Nous n'importons pas de Valeurs en sortie (comme nous le ferions si nous chargions une carte de valeurs prédéfinie), c'est pourquoi nous laissons ce champ vide. Cliquez sur Importer pour terminer.
Le jeu de données est analysé pour trouver toutes les valeurs existantes, et elles sont chargées dans la table de Correspondance des valeurs. Ensuite, nous complétons le côté Valeur en sortie du tableau. Notez les choix suivants :
- Toutes les variations de Hot Dogs (hot dogs, HotDogs, HOT DOGS, et ainsi de suite) sont mappées à Hot Dogs.
- Plusieurs valeurs qui sont déjà dans la forme souhaitée (Indian Cuisine, Italian Cuisine) ont <Aucune action> attribué, et ne seront donc pas modifiées.
- Quelques types relatifs sont assignés à un nom commun et seront donc combinés (Korean Cuisine, Mexican Cuisine).
Notez que l'attribut de sortie est le même que l'attribut d'entrée. Les nouvelles valeurs remplaceront donc les valeurs originales (sauf pour celles qui sont indiquées par <Aucune action>).
Le nettoyage des entités en sortie reflète les changements désirés.
Notes
- Si vous avez besoin de mapper de ou vers des valeurs de chaînes absentes, manquantes ou nulles, considérez l'utilisation de NullAttributeMapper.
Configuration
Ports d'entrée
Les entités avec attributs à faire correspondre.
Ports de sortie
Entités avec les attributs mappés stockés dans un attribut nouveau ou existant.
Paramètres
Attribut en entrée | Attribut dont la valeur doit être utilisée. |
Attribut en sortie | L'attribut qui stockera la valeur recherchée. Vous pouvez utiliser le nom par défaut ou spécifier un nouveau nom d'attribut. Vous pouvez également saisir le nom d'un attribut existant, y compris l'attribut d'entrée. Si un attribut existant ou l'attribut d'entrée est spécifié, la valeur existante de l'attribut est écrasée. |
Valeur en sortie par défaut |
La valeur à donner à l'attribut de sortie si la valeur de l'attribut d'entrée n'est pas trouvée dans la table de correspondance des valeurs. L'inverse est vrai lorsque le paramètre Sens de la correspondance est défini sur Inversion (sortie vers entrée). La valeur par défaut peut être une constante ou une valeur calculée (comme une valeur d'attribut), la valeur d'un paramètre utilisateur, la valeur d'un paramètre système ou une expression contenant l'ensemble de ces valeurs. Vous pouvez également saisir une valeur par défaut contenant le mot KEY (en majuscules), où KEY sera remplacé par la valeur de l'attribut d'entrée. Si, par exemple, vous avez entré une valeur par défaut de KEY-0 et que l'attribut d'entrée a une valeur d qui n'est pas dans la table de correspondance, la valeur de l'attribut de destination sera définie sur d-0 parce que KEY est remplacé par la valeur originale d. Si vous laissez le champ vide et que des valeurs correspondantes ne sont pas trouvées, une chaîne vide est attribuée. |
||||||
Sens de la correspondance | Détermine si les valeurs seront mises en correspondance de l'attribut d'entrée vers l'attribut de sortie, ou l'inverse. Cela peut être utile lors du changement de direction, sans avoir à recréer toute la table de consultation inversée. | ||||||
Valeur en entrée et Valeur en sortie |
Cette table de valeurs spécifie les informations de correspondance. Lorsque le Sens de la correspondance est définie sur Vers l'avant (entrée vers sortie), si la valeur de l'attribut d'entrée est spécifiée dans la colonne Valeur en entrée, l'attribut de sortie sera créé avec la valeur spécifiée dans la colonne Valeur en sortie correspondant à cette valeur en entrée. Ce processus est inversé si le Sens de la correspondance est définie sur Inversion (sortie vers entrée). La valeur en entrée et la valeur en sortie peuvent être une valeur constante ou une valeur calculée telle qu'une valeur d'attribut, la valeur d'un paramètre publié, la valeur d'un paramètre FME ou une expression contenant les éléments ci-dessus. |
||||||
Importer |
Vous pouvez importer des valeurs d'attributs (valeur en entrée, valeur en sortie ou les deux) à partir de n'importe quel jeu de données source pris en charge par FME. Cette fonction est généralement utilisée pour importer toutes les valeurs existantes du jeu de données qui est mappé, ou pour importer une table de consultation prédéfinie (souvent stockée dans une feuille de calcul ou un fichier texte). Cliquez sur le bouton Importer pour lancer l'assistant d'importation, et suivez les instructions.
|
É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 du 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 d'espace de travail. 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 projet 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.
Références
Comportement |
|
Stockage des entités |
Non |
Dépendances | Aucun |
Alias | ValueMapper |
Historique | Anciennement nommé ValueMapper |
FME Community
FME Community iest 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.
Rechercher tous les résultats sur ce Transformer sur FME Community.
Les exemples peuvent contenir des informations sous licence Open Government - Vancouver et/ou Open Government - Canada.