Processeur Joindre des jeux de données

Modifié

Ce processeur vous permet de joindre deux jeux de données en fonction d'un ou plusieurs champs communs aux deux jeux de données.

Notez que ce processeur n'est plus limité par le nombre d'enregistrements dans le jeu de données distant ! Vous pouvez désormais facilement croiser vos propres jeux de données avec de grands jeux de données distants, tels que le SIREN (un annuaire de codes d'identification pour chaque entreprise en France).

Par exemple, imaginez que vous souhaitiez enrichir le jeu de données A avec des données du jeu de données B. Si les deux jeux de données ont un champ en commun, il est possible de les joindre, et ainsi de pouvoir combiner d'autres données du jeu de données B avec celles du jeu de données A.

Notez que si vous utilisez ce processeur pour joindre votre jeu de données avec un autre contenant des géoformes, cela peut considérablement augmenter la mémoire utilisée par votre jeu de données. Si vous avez besoin de géoformes pour produire une carte mais souhaitez éviter ce problème, rappelez-vous que vous pouvez créer votre carte dans Studio, où Opendatasoft vous propose des options pour les données géographiques.

Configuration du processeur

Définissez les paramètres du processeur de jointure de votre jeu de données, selon les informations dans le tableau ci-dessous.

Étiquette

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 du réseau Opendatasoft.

Oui

Clés locales

Champ local pour les enregistrements que vous souhaitez utiliser pour joindre l'autre jeu de données. Plus d'une clé peut être spécifiée.

Oui

Clés distantes

Champ distant utilisé pour identifier les enregistrements correspondants dans le jeu de données distant. Plus d'une clé peut être spécifiée.

Oui

Récupérer tous les champs lors de la publication

Cochez cette case pour récupérer tous les champs du jeu de données distant

Non

Champs de sortie

Liste des champs à récupérer du jeu de données distant

Oui

Préfixe des champs de sortie

Vous pouvez ajouter un préfixe à ajouter aux champs de sortie. Cela vous permet de faire plusieurs jointures avec le même jeu de données distant et de récupérer les mêmes champs distants. Voir ci-dessous un exemple.

Non

Sensible à la casse

Détermine la manière dont les clés de jointure sont comparées. Coché par défaut.

Décochez ce paramètre pour comparer les clés de jointure en minuscules. Nous recommandons de ne désactiver les comparaisons sensibles à la casse que lorsque les clés de jointure sont des champs de texte susceptibles de contenir des données en minuscules et en majuscules (par exemple, des noms, des descriptions). Le mode insensible à la casse est plus lent et plus gourmand en ressources, et n'est pas nécessaire pour les valeurs numériques ou les codes standardisés.

Non

Multivalué et Séparateur

Dans certains cas, le jeu de données distant peut contenir plus d'une ligne correspondant à la clé locale. Dans ce cas, vous pouvez décider de les lister sur une seule ligne, séparés par le symbole que vous choisissez. Par défaut, c'est "/".

Non

Retraiter tous les enregistrements lors des mises à jour planifiés

Déclenche un re-traitement complet de tous les enregistrements lors de la publication si le jeu de données distant a changé (si non sélectionné, le mode incrémental est utilisé par défaut).
Cette option garantit que tous les enregistrements sont joints avec la version la plus récente du jeu de données distant, ce qui est pratique lorsque le jeu de données distant est régulièrement mis à jour.

Cette option n'est disponible que si un planificateur a été défini pour le jeu de données.

Non

Exemple d'une 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 par station à Paris.

station_id

number

1

10

2

15

Jeu de données A après avoir été enrichi avec un champ du jeu de données B, en utilisant le processeur de jointure de jeu de données :

station_id

number

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

Exemple d'une jointure avec le paramètre "Multivalué" défini

Le jeu de données A contient 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 "Multivalué" est défini (avec "|" comme séparateur), la jointure donnera :

station_id

number

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

Cependant, si "Multivalué" n'est pas défini, la jointure donnera :

station_id

number

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

Un exemple d'utilisation de l'option de préfixe de champs de sortie

Vous souhaiterez peut-être effectuer plusieurs jointures dans un seul jeu de données basé sur le même champ. Dans l'exemple ci-dessous, nous avons un jeu de données listant les stations terminus (départ et arrivée) pour chaque ligne de métro parisien.

line_id

station_name_start

station_name_end

4

Bagneux

Porte de Clignancourt

Imaginons que pour chaque ligne de métro, je souhaite enrichir mon jeu de données avec l'adresse de chaque station terminus. J'ai accès à un second jeu de données avec les adresses de chaque station dans l'ensemble du réseau.

station_id

station_name

station_address

3

Bagneux

1 rue du Verdun, 92220 Bagneux

5

Porte de Clignancourt

83 Bd Ornano, 75018 Paris

Pour récupérer l'adresse de la station de départ, nous créons une jointure avec le second jeu de données en utilisant "station_name" et "station_name_start" comme clés de jointure, avec "station_address" comme champ de sortie.

Mais lorsque je crée une seconde jointure pour récupérer l'adresse de la station d'arrivée, j'obtiendrai le même champ de sortie "station_address"—et cela écrasera le précédent. Au lieu de cela, je peux utiliser l'option "Préfixe des champs de sortie" pour distinguer les deux champs de sortie consécutifs.

Dans la première jointure, j'ajoute le préfixe "START_", et dans la seconde, j'ajoute "END_". De cette manière, je peux effectuer deux jointures autrement identiques et les distinguer dans mon jeu de données final.

line_id

station_name_start

station_name_end

START_station_address

END_station_address

4

Bagneux

Porte de Clignancourt

69 quai Branly, 75007 Paris

1 place du dix-huit Juin 1940, 75006 Paris

Puis-je joindre des champs de types différents ?

Oui. Idéalement, vous devriez faire correspondre les types de champs pour éviter tout comportement inattendu. Cependant, les entiers, les décimales et les champs de texte contenant des valeurs numériques peuvent être joints ensemble.

Notez qu'auparavant, les champs de texte ne prenaient pas en compte les zéros au début d'une valeur, de sorte que la valeur textuelle "01262" correspondait à la valeur entière "1262". Ce n'est plus le cas.

Lorsqu'une valeur de champ de texte commence par un zéro, le zéro est pris en compte dans une jointure avec une valeur numérique.