Processeur Joindre des jeux de données

Anthony Pépin Mis à jour le par Anthony Pépin

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.

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 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.

Êtes-vous satisfait ?

Processeur Tableau JSON vers multivalué

Processeur Méta-expression

Contactez-nous

Powered by HelpDocs (opens in a new tab)