Jointure multi-tables
Description
Section intitulée « Description »L’étape Jointure multi-tables joint de nombreuses tables (jusqu’à 32) en une seule opération à l’aide d’un concepteur de graphe de jointure visuel, ce qui remplace le schéma consistant à enchaîner plusieurs étapes de jointure à deux tables. Vous ajoutez des tables, tracez des jointures entre leurs colonnes, choisissez un type de jointure et des conditions pour chacune, puis mappez les colonnes de sortie. L’éditeur comporte trois onglets : Tables & Joins, Colonnes de sortie et Post-Join Filter.
Pour une présentation complète, consultez le guide de l’étape Jointure multi-tables.
Concepteur
Section intitulée « Concepteur »- Ajouter une table : place une table source sur le canevas sous forme de carte de colonnes. Chaque table a un alias (utilisé sous la forme
alias.column) qui doit commencer par une lettre ou un trait de soulignement et ne peut pas être un mot-clé SQL. - Table cible : la table dans laquelle le résultat de la jointure est écrit ; elle est créée si elle n’existe pas.
- Dynamique : indiquez une source ou la cible sous forme de référence au lieu de la choisir : un nom de table, un chemin de projet (
/03 Results/FACT_GL), ou l’un ou l’autre contenant des jetons{variable}résolus à l’exécution. Les colonnes d’une source dynamique ne peuvent pas être lues au moment de la conception ; elles sont donc saisies à la main dans le panneau latéral. - Tracer des jointures : faites glisser un point de colonne d’une table vers une colonne d’une autre pour créer une jointure ; un Libellé facultatif nomme l’arête.
- Filtre entrant : un filtre propre à chaque table, appliqué avant la jointure.
- Réextraire depuis le serveur : actualise les colonnes d’une carte de table à partir du dernier catalogue.
- Réorganiser la disposition / Ajuster à la vue : réorganise automatiquement le graphe ou zoome pour l’ajuster ; le déplacement et le zoom restent aussi possibles manuellement.
- Défaire / Rétablir / Historique : parcourez, consultez et restaurez les modifications.
- Filtrer les colonnes… : réduit les colonnes affichées sur une carte de table.
- Exporter : télécharge le diagramme de jointure au format SVG.
Types de jointure
Section intitulée « Types de jointure »| Type | Conserve |
|---|---|
INNER |
Les lignes qui correspondent entre les tables jointes. |
LEFT |
Toutes les lignes de la table de gauche, les lignes correspondantes de la table de droite. |
FULL |
Toutes les lignes des deux tables. |
CROSS |
Toutes les combinaisons de lignes (aucune condition autorisée). |
Conditions
Section intitulée « Conditions »Chaque jointure autre que croisée comporte une ou plusieurs conditions combinées avec AND / OR, à l’aide des opérateurs =, <>, <, <=, >, >=, BETWEEN, IS NULL, IS NOT NULL, IN, NOT IN, LIKE, NOT LIKE.
Une condition peut désigner une colonne dont le nom contient des espaces ou de la ponctuation, comme Build Plant ou Cust (Id) ; la colonne doit exister dans cette entrée. Les noms contenant un guillemet double, une apostrophe inversée, une barre oblique inverse ou un caractère de contrôle sont refusés.
Pour BETWEEN, une borne écrite sous la forme de l’alias d’une entrée, d’un point et d’une colonne (cust.Max Id) est lue comme une colonne de cette entrée. Toute autre borne est du texte littéral, y compris un nom d’alias seul sans point. Une borne de texte qui commence par un alias et un point, comme cust.2024 lorsqu’une entrée porte l’alias cust, est donc lue comme une colonne et signalée comme manquante.
Dans l’onglet Colonnes de sortie, mappez les colonnes du résultat ; renommez-les, définissez le type de données et agrégez selon les besoins. Les colonnes de même nom reçoivent automatiquement en préfixe leur alias source pour éviter les collisions.
Chaque ligne tire sa valeur d’un seul des trois champs : en définir plus d’un, ou aucun, est refusé.
| Nature | Champs |
|---|---|
| Colonne source | Alias de la source (l’alias du canevas auquel elle appartient) plus Source (alias.column). Les deux sont obligatoires. |
| Constante | Constante : la même valeur fixe sur chaque ligne. |
| Expression | Expression : une expression SQLAlchemy pouvant référencer n’importe quel alias du canevas sous la forme alias.column. |
- Choisir dans le canevas… : cochez des colonnes de toutes les sources du canevas.
- Ajouter toutes les colonnes source : ajoute toutes les colonnes de toutes les sources.
- Ajouter une colonne d’expression : ajoute une ligne d’expression et ouvre l’éditeur d’expressions.
L’onglet Post-Join Filter applique un filtre facultatif au résultat joint (l’équivalent d’un HAVING SQL) avant son écriture, modifié dans le même éditeur d’expressions. Il référence les colonnes de sortie sous la forme result.column_name ; les alias source n’y sont pas accessibles.
Colonnes nommées à l’exécution
Section intitulée « Colonnes nommées à l’exécution »Sélectionnez Reporter aussi les colonnes nommées à l’exécution pour transmettre telles quelles toutes les colonnes source que l’étape ne répertorie pas, dans l’état où la table les contient à l’exécution de l’étape. Utilisez cette option lorsqu’une étape précédente crée des colonnes dont les noms dépendent des données, comme un pivot, et que vous ne pouvez donc pas les répertorier en créant l’étape. Laissez-la désactivée pour n’écrire que les colonnes que vous répertoriez.
Comportement
Section intitulée « Comportement »- Le graphe de jointure est un arbre : chaque table se joint au résultat par exactement une arête (aucun cycle), et une table ne peut pas se joindre à elle-même.
- La configuration est validée à la fois lorsque vous enregistrez l’étape et lorsqu’elle s’exécute ; les erreurs marquent la table ou la jointure en cause d’un symbole ⚠, un enregistrement en échec bascule vers l’onglet contenant le premier problème, et Aller au problème y mène à la demande. Les expressions des colonnes de sortie et le Post-Join Filter sont contrôlés à l’enregistrement ; une jointure qui reporte des colonnes nommées à l’exécution ignore le contrôle des expressions à l’enregistrement et est contrôlée à l’exécution de l’étape.