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.