DatabaseJoiner

Joint les attributs d'une table externe à des entités déjà dans un traitement en se basant sur une (ou plusieurs) clé(s) commune(s).

Aller à la configuration

Cas d'utilisations typiques

  • Joindre des attributs depuis une table de base de données externe dans un traitement.

Comment fonctionne-t-il ?

DatabaseJoiner interroge une table externe pour récupérer les attributs associés à une entité. Un ou plusieurs attributs de caractéristiques (clés primaires) sont mis en correspondance avec une ou plusieurs colonnes (clés étrangères) d'une table de la base de données, et les valeurs de la ou des lignes de la table correspondante sont ajoutées à l'entité en tant qu'attributs.

Un certain nombre de méthodes de mise en correspondance (Cardinalité) sont disponibles - Un à plusieurs (1:M), Un à zéro ou plus (1:0..1+), Un à un (1:1), ou Un à zéro ou un (1:0..1). Les entités qui ne remplissent pas les conditions de correspondance sont émises via le port <Rejected>.

L'attribut _matched_records indique le nombre d'enregistrements de la base de données auxquels l'entité correspond. Les correspondances multiples peuvent créer plusieurs entités ou ajouter un attribut de liste à une seule entité.

DatabaseJoiner permet des jointures simples de relations basées sur plusieurs clés d'attributs et ne nécessite pas des connaissances en SQL.

Exemples

Notes

  • Pour une performance optimale, assurez-vous que les clés (attributs à joindre) sont indexées dans la base de données. Si les clés sont indexées, le DatabaseJoiner peut être considérablement plus efficace que les autres Transformers de jonction.
  • Pour joindre deux flux d'entités déjà dans un traitement, considérez utiliser FeatureMerger, qui fournit aussi des options de fusion de géométrie.
  • Si toutes les données résident dans une source compatible avec SQL, envisagez d'utiliser SQLCreator ou SQLExecutor, qui peuvent également exécuter des requêtes de jointure plus complexes qui sont traitées dans la base de données source. Pour une jointure simple, le DatabaseJoiner peut être l'approche la plus efficace.
  • DatabaseJoiner ne requiert aucune connaissance en SQL.
  • Pour effectuer une requête SQL (simple ou complexe) sur des sources non-SQL, considérez utiliser InlineQuerier.

Choisir une méthode de jointure d'entités

De nombreux Transformers peuvent effectuer des jointures de données sur la base d'attributs, d'expressions et/ou de géométries correspondants. Lorsque vous en choisissez un pour une tâche de jointure spécifique, vous devez prendre en compte la complexité de la jointure, le format des données, l'indexation, la gestion des conflits et les résultats souhaités. Certains Transformers utilisent la syntaxe SQL, d'autres accèdent directement aux bases de données externes. Ils peuvent ou non prendre en charge la lecture et la création d'attributs de liste.

En général, le choix de la méthode la plus spécifique à la tâche à accomplir permet d'obtenir des résultats optimaux en termes de performances. S'il existe plus d'une façon de procéder (ce qui est souvent le cas), il peut être utile de consacrer du temps à tester les performances des autres méthodes. Les performances peuvent varier considérablement selon l'existence d'index clés lors de la lecture de tables externes (par opposition aux entités déjà présentes dans le traitement).

Configuration

Ports d'entrée

Ports de sortie

Paramètres

DatabaseJoiner est un Transformer particulièrement puissant avec de nombreux paramètres très performants.

É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 Dépendant d'un format, peut nécessiter des pilotes tiers pour certains formats.
Alias Joiner
Historique  

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.