Processeur Joindre des jeux de données
Ce processeur vous permet de joindre deux jeux de données. Toutefois, ces deux jeux de données doivent avoir un champ commun à joindre.
Par exemple, imaginons que vous souhaitiez enrichir le jeu de données A avec les données du 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 ensemble, et ainsi pouvoir utiliser les données du jeu de données B avec celles du jeu de données A.
Lors de l'application du processeur Joindre des jeux données de jointure à un jeu de données planifié, la jointure n'est réappliquée que lorsque la ressource d'origine a été mise à jour. Si un jeu de données planifié A est joint au jeu de données B et que le jeu de données B a été mis à jour, mais pas le jeu de données A, le traitement planifié ne récupèrera pas les nouvelles valeurs de B.
Par défaut, le processeur Joindre des jeux de données ne peut être utilisé qu'avec des jeux de données distants contenant moins de 100 000 enregistrements.Notez également que si vous utilisez ce processeur pour joindre votre jeu de données à un autre qui contient des formes géographiques, cela peut augmenter considérablement la quantité de mémoire utilisée par votre jeu de données. Si vous avez besoin de formes géométriques pour produire une carte, une alternative consiste à créer votre carte dans Studio, où Opendatasoft peut vous fournir les données géographiques nécessaires.
Configurer le processeur
Pour paramétrer le processeur Joindre des jeux de données, suivez les indications du tableau ci-dessous.
Label | Description | Obligatoire |
Jeu de données | Jeu de données utilisé pour la jointure. Il peut être sélectionné parmi les jeux de données du portail ou depuis le réseau d'Opendatasoft. | Oui |
Clé locale | Champ local qui sera utilisé pour identifier les enregistrements correspondants dans le jeu de données distant. Plusieurs clés peuvent être spécifiées. | Oui |
Clé distante | Champ distant correspondant à la clé locale. Cela peut être une liste. | Oui |
Champs de sortie | Liste des champs à récupérer 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 spécifiques, le jeu de données distant peut contenir plusieurs lignes 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.
| Non |
Exemples
Jointure simple
Jeu de données A: liste des stations de taxis à 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 |
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é
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 entiers, les décimales et les champs de texte contenant des valeurs numériques peuvent être joints.
Jeu de données A : avec des champs décimals 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.