Processeur Joindre des jeux de données

Ce processeur vous permet de joindre 2 jeux de données. Toutefois, ces 2 jeux de données doivent avoir un champ commun à joindre.

Par exemple : un jeu de données A peut être enrichi avec d'autres données qui se trouvent dans un jeu de données B. Si les jeux de données A et B ont un champ en commun, il est possible de joindre ces jeux de données, afin de récupérer un champ du jeu de données B et de l'ajouter au jeu de données A.

Important

Par défaut, le processeur Joindre deux jeux de données ne peut être utilisé qu'avec des jeux de données distants de moins de 100 000 enregistrements. En outre, lors de l'application d'un processeur Joindre deux jeux de données à un jeu de données planifié, la jointure n'est réappliquée que lorsque la ressource a été modifiée. Cela signifie que, étant donné un ensemble de données planifiées A, ayant un processeur de jeu de données joint qui tire des valeurs du jeu de données B, s'il y a de nouvelles valeurs dans le jeu de données B mais que les ressources du jeu de données A n'ont pas changé, le traitement planifié ne récupèrera pas les nouvelles valeurs de B.

Configurer le processeur

Pour définir les paramètres du processeur Joindre des jeux de données, suivez les indications du tableau ci-dessous.

Label Description

Obligatoire

Jeu de données

Le jeu de données utilisé pour la jointure. Il peut être sélectionné depuis les jeux de données du portail ou du réseau Opendatasoft.

oui

Clé locale

Le champ local qui sera utilisé pour identifier les enregistrements correspondants dans le jeu de données distant. Il est possible de spécifier plus d'une clé.

oui

Clé distante

Le champ distant correspondant à la clé locale. Il est possible d'en avoir plusieurs.

oui

Champs de sortie

La liste des champs à récupérer à partir du jeu de données distant

oui

Récupérer tous les champs

Activer pour récupérer l'intégralité des champs du jeu de données distant

non

Sensible à la casse

Activer pour récupérer le nom du champ sans accents et en minuscules

non

Résultats sur une ligne

Dans certains cas, le jeu de données distant peut contenir plus d'une seule ligne correspondant à la clé locale. Dans ce scénario, vous pouvez souhaiter fusionner les doublons (c'est-à-dire, générer une seule ligne qui contiendra des champs multivalués) ou non.

non

Séparateur

À renseigner si l'option Résultats sur une ligne est définie. Spécifie le caractère à utiliser pour séparer les valeurs dans le champ généré.

non

Republier tous les enregistrements lors de la mise à jour

Active la planification du jeu de données, si elle n'a pas déjà été activée (voir la documentation Maintenir les données à jour). Une fois que la planification est configurée, cette option permet de republier automatiquement le jeu de données lorsque jeu de données distant est mis à jour.

Remarque

Cette option est particulièrement utile lorsque le jeu de données distant est planifié.

non

Exemples

Jointure simple

Jeu de données A : liste des stations de taxi à Paris (nom du jeu de données : paris_taxis_stations).

station_id station_name station_address
1 Tour Eiffel 69 quai Branly, 75007 Paris
2 Rennes - Montparnasse 1 place du dix huit Juin 1940, 75006 Paris

Jeu de données B : nombre de taxis en attente à chaque station dans Paris.

station_id

nombre

1 10
2 15

Le jeu de données A après avoir été enrichi avec un champ du jeu de données B, à l'aide du processeur Joindre des Jeux de Données :

station_id

nombre

station_name station_address
1 10 Tour Eiffel 69 quai Branly, 75007 Paris
2 15 Rennes - Montparnasse 1 place du dix huit Juin 1940, 75006 Paris

Joindre avec le paramètre "Résultats sur une ligne" activé

Remarque

Les exemples de jeux de données utilisés ci-après sont identiques aux précédents.

Le jeu de données A comprend deux lignes pour la première station :

station_id station_name station_address
1 Tour Eiffel 69 quai Branly, 75007 Paris
1 Quai Branly 69 quai Branly, 75007 Paris
2 Rennes - Montparnasse 1 place du dix huit Juin 1940, 75006 Paris

Si l'option Résultats sur une ligne est activée (avec | en tant que séparateur), la jointure donnera :

station_id

nombre

station_name station_address
1 10 Tour Eiffel|Quai Branly 69 quai Branly, 75007 Paris|69 quai Branly, 75007 Paris
2 15 Rennes - Montparnasse 1 place du dix huit Juin 1940, 75006 Paris

Toutefois, si l'option Résultats sur une ligne n'est pas activée, la jointure donnera :

station_id

nombre

station_name station_address
1 10 Tour Eiffel 69 quai Branly, 75007 Paris
1 10 Quai Branly 69 quai Branly, 75007 Paris
2 15 Rennes - Montparnasse 1 place du dix huit Juin 1940, 75006 Paris

Joindre avec différents types de champ

Les champs texte, décimal et entier comprenant des valeurs numériques peuvent être joints.

Jeu de données A : avec des champs décimal et texte comprenant des valeurs numériques.

insee_code (texte)

bloom_competition_result (décimal)

01262 2.0
90010 4.0
57355 2.0

Jeu de données B : avec des champs entier.

bloom_ranks (entier)

2

Jeu de données A après avoir utilisé le processeur Joindre des Jeux de Données : la mise en correspondance entre les valeurs 2 et 2.0 a réussi malgré la différence de format.

insee_code (texte)

bloom_competition_result (décimal)

01262 2
57355 2

Il est possible d'ajouter un deuxième processeur Joindre des Jeux de Données, comme pour ce jeu de données C :

city (texte)

insee_code (entier)

postal_code (texte)

Montluel 1262 01120
Belfort 90010 90000
Kalhausen 57355 57412

Le jeu de données A après avoir été joint aux jeux de données B et C :

insee_code (texte)

bloom_competition_result (décimal)

city (texte)

postal_code (texte)

01262 2 Montluel 01120
57355 2 Kalhausen 57412

Bien que insee_code ne soit pas au même format, la mise en correspondance a réussi. La mise en correspondance a réussi y compris pour la valeur 1262 dans le premier jeu de données (notez l'absence d'un 0 non significatif, car il s'agit d'une valeur entière), qui a été mise en correspondance avec la valeur 01262 dans le deuxième jeu de données. Si la plupart des types de colonne peuvent être récupérés au moyen du processeur Joindre des jeux de données, les colonnes de type de fichier ne renvoient pas la ressource réelle via le processeur, mais génèrent à la place l'identifiant de la ressource sous-jacente.